function trim(trimString) {
	return trimString.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function xmlHTTPGet_xml(url, strResultFunc) {
	var xmlHttpReq = false;

	if (window.XMLHttpRequest) xmlHttpReq = new XMLHttpRequest(); // Everything that's not IE
	else if (window.ActiveXObject) xmlHttpReq = new ActiveXObject("Msxml2.XMLHTTP"); // IE

	domain = 'http://www.remindercall.net/';
	xmlHttpReq.onreadystatechange = function() {
		if(xmlHttpReq.readyState == 4) {
			eval(strResultFunc + '(xmlHttpReq.responseXML);');
		}
	}
	xmlHttpReq.open('GET', domain+url, true);
	xmlHttpReq.send(null);
}

function xmlHTTPGet_text(url, callbackFunction, async) {
	if(window.XMLHttpRequest) request = new XMLHttpRequest(); // Everything that's not IE
	else if(window.ActiveXObject) request = new ActiveXObject("Msxml2.XMLHTTP"); // IE

	if(async == undefined) async = true;

	domain = 'http://www.remindercall.net/';

	request.open("GET", domain+url, async);

	if(async) {
		request.onreadystatechange = function() {
			if(request.readyState == 4 && request.status == 200) {
				if(request.responseText) {
					eval(callbackFunction+'(request.responseText);');
				}
			}
		};
	
		request.send(null);
	} else {
		request.send(null);
		eval(callbackFunction+'(request.responseText);');
	}
}

function xmlHTTPPost_xml(url, values, callbackFunction, async) {
	if(window.XMLHttpRequest) request = new XMLHttpRequest(); // Everything that's not IE
	else if(window.ActiveXObject) request = new ActiveXObject("Msxml2.XMLHTTP"); // IE

	if(async == undefined) async = true;

	domain = 'http://www.remindercall.net/';

	requestValues = '';
	valuesLength = 0;
	for(key in values) {
		valuesLength++;
		if(requestValues.length > 0) requestValues += '&';
		requestValues += encodeURI(key)+'='+encodeURI(values[key]);
	}

	// alert(domain+":\n"+requestValues);

	request.open("POST", domain+url, async);
	request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

	if(async) {
		request.onreadystatechange = function() {
			if(request.readyState == 4 && request.status == 200) {
				if(request.responseText) {
					// alert(request.responseText);
					eval(callbackFunction+'(request.responseXML);');
				}
			}
		};
	
		request.send(requestValues);
	} else {
		request.send(requestValues);
		eval(callbackFunction+'(request.responseXML);');
	}
}

function xmlHTTPPost_text(url, values, callbackFunction, async) {
	if(window.XMLHttpRequest) request = new XMLHttpRequest(); // Everything that's not IE
	else if(window.ActiveXObject) request = new ActiveXObject("Msxml2.XMLHTTP"); // IE

	if(async == undefined) async = true;

	domain = 'http://www.remindercall.net/';

	requestValues = '';
	valuesLength = 0;
	for(key in values) {
		valuesLength++;
		if(requestValues.length > 0) requestValues += '&';
		requestValues += encodeURI(key)+'='+encodeURI(values[key]);
	}
	// alert(domain+":\n"+requestValues);

	request.open("POST", domain+url, async);
	request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

	if(async) {
		request.onreadystatechange = function() {
			if(request.readyState == 4 && request.status == 200) {
				if(request.responseText) {
					eval(callbackFunction+'(request.responseText);');
				}
			}
		};
	
		request.send(requestValues);
	} else {
		request.send(requestValues);
		eval(callbackFunction+'(request.responseText);');
	}
}

function callCheckTimezone(number) {
	xmlHTTPGet_text('ajax/callDemo_numberIsTimeSafe.php?n='+number, 'callCheckTimezone_handler', false);
}

function callCheckTimezone_handler(response) {
	if(response == 'YES') doSend = true;
	else doSend = false;
}