/*

author Dr W Teck.
(c) 2006

3lance.co.uk

==========================
modified - 2007 
(c) 2007
==========================

==========================
modified - Aug 2007 
(c) 2007
==========================

*/

function getSmartXmlObj(){
	if(typeof(XMLHttpRequest)!='undefined')
		return new XMLHttpRequest();
	var axO=['Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.4.0',
		'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP', 'Microsoft.XMLHTTP'], i;
	for(i=0;i<axO.length;i++)
		try{
			return new ActiveXObject(axO[i]);
		}catch(e){}
	return null;
}

var xmlSend;
var xmlGet;
var xsltObject;
var xslDetails_2;
var xmlMessages;
var	theyear;
var	themonth;
var	theday;
var	thecid;
var	thedate;

function sendSmartRequest(uri, Handler,how) {
//	alert('sendSmartRequest '+how);
	postData='id='+how;

	xmlSend = getSmartXmlObj();
	if (xmlSend){
		xmlSend.onreadystatechange=Handler;
		xmlSend.open('POST', uri + '?' + postData, true);
		xmlSend.send(postData);
	}
}

function getSmartRequest(uri, Handler,method,postData) {
	if(method!='POST')
		method	=	'GET';
	xmlGet = getSmartXmlObj();
	if (xmlGet){
		xmlGet.onreadystatechange=Handler;
		xmlGet.open(method, uri, true);
		if (method=='POST'){
			xmlGet.send(postData);
		}else{
			xmlGet.send(null);
		}
	}
}

function xmlGetSmartHandler(){
	if (xmlGet.readyState==4){
		if (xmlGet.status==200) {
			alert('xmlGetSmartHandler');
			xmlMessages = xmlGet.responseXML;
			doTransform("", xmlMessages, xsltObject);
		}
	}
}


function xmlSendSmartHandler(){
	if (xmlSend.readyState==4){
		if (xmlSend.status==200) {			
			eval(xmlSend.responseText);
		}
	}
}

function xmlGetSmartXSLT(){
	if (xmlGet.readyState==4){
		if (xmlGet.status==200) {
			xsltObject = xmlGet.responseXML;
		}
	}
}
function doTransform(docElement, xmlDoc, xslDoc) {
	if (xmlDoc == null || xslDoc == null) return;
	if (window.ActiveXObject){
		document.getElementById(docElement).innerHTML=xmlDoc.transformNode(xslDoc);
	}else{
		var xsltProcessor = new XSLTProcessor();
		xsltProcessor.importStylesheet(xslDoc);
		var fragment =xsltProcessor.transformToFragment(xmlDoc,document);
		document.getElementById(docElement).innerHTML = "";
		document.getElementById(docElement).appendChild(fragment);
	}
}





var	theyear;
var	themonth;
var	theday;
var	thecid;
var	thedate;
var curSelect=Array();

//	sendSmartRequest('yearplannerajax4.php',xmlSendSmartHandler);
function toggleDate(y,m,d,cust){
	theyear=y;
	themonth=m;
	theday=d;
	thecid=cust;
	how=	document.getElementById(m+d).className;

	sendSmartRequest('yearplannerajax.php',xmlSendSmartHandler,how);
}

function checkOut(how){
//	alert('checkOut '+how);
	sendSmartRequest('checkout.php',xmlSendSmartHandler,how);
		
return false;
}
var curObj='';
function autoFill(elID){
	curObj=document.getElementById(elID);
	how='d';
	if (curObj){	
		sendSmartRequest('autofill.php',xmlSendSmartHandler,how);
	}
//	sendSmartRequest('getMessage.php',xmlSendSmartHandler,how);	
}

function autoCallback(){
	alert('autoCallback');
}

var dates=new Array();
function tagDate(y,m,d,cust){
	theyear=y;
	themonth=m;
	theday=d;
	thecid=cust;
	n=dates.length;
//	alert(dates);
	how=	document.getElementById(y+m+d).className;
	if (how=='nomark'){
		document.getElementById(y+m+d).className='tagmark';
		curSelect[y+m+d]=1;		
		dates[n]=y+m+d;	
	}else{
		document.getElementById(y+m+d).className='nomark';
		for(i=0; i<n;i++){
			if (dates[i]==y+m+d){
				dates.splice(i,1);
			}
		}
	}
	setCookieDay();
//	getTaggedDays();
}
function setCookieDay(){
//	alert('set');
//	dates	=	Array(20070602,20070606,20070607);
	ajoin	=	dates.join();
	SetCookie ('dates', ajoin, expdate);	
}
function getCookieDay(){
	var acookie='';
	var datestmp=Array();
	acookie	=	GetCookie('dates');
	if (acookie)
		datestmp	=	acookie.split(',');
	var d = new Date();
	var cmm = d.getMonth();
	var cdd = d.getDate();
	var cyy = d.getYear();
	if (cdd.length==1) cdd = '0'+cdd;
	if (cmm.length==1) cmm = '0'+cmm;
	var today	=	cyy+cmm+cdd;
	for (i=0;i<datestmp.length;i++){
		if (datestmp[i]>=today){
			dates[i]=datestmp[i];	
			obj	=	document.getElementById(dates[i]);
			if (obj ){
				if (obj.className=='nomark')
					obj.className='tagmark';
			}
		}
	}
}
function clearDates(){
	SetCookie ('dates', '', expdate);	
}




/* ===================================================================== */



function DeleteCookie (name,path,domain) {
	if (GetCookie(name)) {
		document.cookie = name + "=" +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		"; expires=Thu, 01-Jan-70 00:00:01 GMT";
	}
}
function getCookieVal (offset) {
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1)
		endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen) {
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg)
			return getCookieVal (j);
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) break;
	}
	return null;
}

function FixCookieDate (date) {
	var base = new Date(0);
	var skew = base.getTime(); // dawn of (Unix) time - should be 0
	if (skew > 0) // Except on the Mac - ahead of its time
		date.setTime (date.getTime() - skew);
}

function SetCookie (name,value,expires,path,domain,secure) {
	document.cookie = name + "=" + escape (value) +
	((expires) ? "; expires=" + expires.toGMTString() : "") +
	((path) ? "; path=" + path : "") +
	((domain) ? "; domain=" + domain : "") +
	((secure) ? "; secure" : "");
}
		var expdate = new Date ();FixCookieDate (expdate);
		
expdate.setTime (expdate.getTime() + (24 * 60 * 60 * 1000)); // 24 hrs from now
		

var ids= new Array(Array());
var uniqueid='2007_08_14_46c26f0d487af';

function doSelections(){
	for (var i=0;i<ids.length - 1 ;i++){
		sdf=document.getElementById(ids[i][0]).options;
		if (sdf){
			for(var j=0;j<sdf.length;j++){
				if (sdf.options[j].value == ids[i][1])
					sdf.selectedIndex=j;
			}
		}
	}
}
userquoteid=GetCookie('userquoteid');

function checkemail(str){
var testresults;
var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
if (filter.test(str))
	testresults=true
else{
	testresults=false
}
return (testresults)
}
