function strTrim(tmpStr)
{
	tmpStr = tmpStr.replace(/^\s+/,"");//remove leading
	tmpStr = tmpStr.replace(/\s+$/,"");//remove trailing
	return tmpStr;
}
function trimFields()
{
	for(var i=0; i < obj.elements.length; i++)
	{
		if(obj.elements[i].type == "text" || obj.elements[i].type == "textarea" || obj.elements[i].type == "password")
		{
			obj.elements[i].value = strTrim(obj.elements[i].value);
		}
	}
}
function chkEmail(tmpStr)
{
	var email_pat = /^[a-z][a-z0-9_\.\-]*[a-z0-9]@[a-z0-9]+[a-z0-9\.\-_]*\.[a-z]+$/i;
	return(email_pat.test(tmpStr));
}
function NewWindow(pageName)
{
	window.open(pageName, '', 'width=650,height=550,toolbar=0,menubar=0,location=0,left=25,top=25');
}
function chkURL(tmpStr)
{
	var url_pat = /^(http|https|ftp):\/\/([\w-]+\.)+[\w-]+(\/[\w-\.\/?%&amp;,=#@\/:]*)?/;
	return(url_pat.test(tmpStr));
}

//------------------------------------------------------------------//
//Generic AJAX object for all types of HTTP get/post work			//
//Author: Debabrata Kar (dk.webtenet@gmail.com)						//
//Usage:															//
//	var ajax = new AJAX();											//
//	var arrParam = new Array();										//
//	arrParam['name1'] = 'value1';									//
//	arrParam['name2'] = 'value2';									//
//	arrParam['name3'] = 'value3';									//
//	ajax.getRequest(url, arrParam, responseHandler);				//
//	OR																//
//	ajax.postRequest(url, arrParam, responseHandler);				//
//																	//
//	NOTE: You do not need to escape() or encodeURIComponent() the	//
//	parameter names or values. AJAX will do it on its own.			//
//	You need to define responseHandler() function that will handle	//
//	response back from the server, be it XML or anything else		//
//------------------------------------------------------------------//
//The AJAX object
function AJAX()
{
	//Private variables (properties)
	var __httpRequest = null;
	var __callbackFunc = null;

	//Private method: __createHttpRequest()
	var __createHttpRequest = function()
	{
		if(window.XMLHttpRequest) //Mozilla, Safari etc
		{
			__httpRequest = new XMLHttpRequest();
		}
		else if(window.ActiveXObject) //IE
		{
			try
			{
				__httpRequest = new ActiveXObject("MSXML2.XMLHTTP");
			}
			catch (e)
			{
				try
				{
					__httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch (e)
				{
					//Do whatever you need to do here
					alert("AJAX cannot be used with your browser!");
				}
			}
		}
	}

	//Private method: __createParameters(arr)
	var __createParameters = function(arr)
	{
		var parameters = ""; //Initialize
		for(x in arr)
		{
			var pName = encodeURIComponent(x);
			var pVal = encodeURIComponent(arr[x]);
			parameters = (parameters == "")?pName+'='+pVal:parameters+'&'+pName+'='+pVal;
		}
		return parameters;
	}

	//Private method: __handleResponse()
	var __handleResponse = function()
	{
		if(__httpRequest.readyState == 4)
		{
			__callbackFunc(__httpRequest.responseText);
		}
	}

	//Public method: getRequest(url, arrParam, callbackFunc)
	this.getRequest = function(url, arrParam, callbackFunc)
	{
		__createHttpRequest() //recreate ajax object to defeat cache problem in IE
		__callbackFunc = callbackFunc;
		if(__httpRequest)
		{
			var param = __createParameters(arrParam);
			__httpRequest.onreadystatechange = __handleResponse;
			//Include a random number to defeat IE cache problem
			__httpRequest.open('GET', url+"?ajaxhash="+Math.random()+'&'+param, true);
			__httpRequest.send(null)
		}
	}

	//Public method: postRequest()
	this.postRequest = function(url, arrParam, callbackFunc)
	{
		__createHttpRequest() //recreate ajax object to defeat cache problem in IE
		__callbackFunc = callbackFunc;
		if (__httpRequest)
		{
			var param = __createParameters(arrParam);
			__httpRequest.onreadystatechange = __handleResponse;
			__httpRequest.open('POST', url, true);
			__httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
			__httpRequest.setRequestHeader("Content-length", param.length);
			__httpRequest.setRequestHeader("Connection", "close");
			__httpRequest.send(param);
		}
	}
}

function getCalPre(month, year)
{
	var ajax = new AJAX();
	var arrParam = new Array();
	arrParam['month'] = month;
	arrParam['year'] = year;
	ajax.getRequest("get_calendar.php", arrParam, showCalendar);
	return false;
}

function showCalendar(retVal)
{
	document.getElementById('event_calendar').innerHTML = retVal;
}

function validateSubscriberExport()
{
	if(confirm('Are you sure you want to export the Subscribers?\nYou will only get the list of active Subscribers'))
	{
		alert("Please wait a few seconds while the list is exported.");
		parent.frames['fraSubExport'].location.href = 'export_csv.php?opt=subscribers';
	}
}

function validateContact()
{
	var objc = document.getElementById('frmContact');
	if(strTrim(objc.name.value) == '')
	{
		alert("Please enter your Name.");
		objc.name.focus();
		return;
	}
	if(strTrim(objc.email.value) == '')
	{
		alert("Please enter your Email Address.");
		objc.email.focus();
		return;
	}
	if(!chkEmail(objc.email.value))
	{
		alert("Please enter a valid Email Address.");
		objc.email.focus();
		objc.email.select();
		return;
	}
	if(strTrim(objc.message.value) == '')
	{
		alert("Please enter your Message.");
		objc.message.focus();
		return;
	}
	var ajax = new AJAX();
	var arrParam = new Array();
	arrParam['name'] = objc.name.value;
	arrParam['email'] = objc.email.value;
	arrParam['message'] = objc.message.value;
	document.getElementById('loader_blk').innerHTML = '<img src="img/ajax-loader.gif" alt="Loader" style="vertical-align:middle;"> Please wait...';
	ajax.getRequest("submit_contact.php", arrParam, showContact);
	return false;
}

function showContact(retVal)
{
	var objc = document.getElementById('frmContact');
	if(retVal == 'SUCCESS')
	{
		alert("Thank you for contacting us, We  will get back to you soon.");
		objc.name.value = '';
		objc.email.value = '';
		objc.message.value = '';
	}
	else
	{
		alert("Your mail can't be sent at this time. Please try again!!");
	}
	document.getElementById('loader_blk').innerHTML = '<input type="button" value="CONTACT" class="btn" onclick="javascript: return validateContact()" />';
}
function validateSubscribe()
{
	var objs = document.getElementById('frmSubscribe');
	if(strTrim(objs.subscribe_email.value) == '')
	{
		alert("Please enter your Subscribe Email.");
		objs.subscribe_email.focus();
		return;
	}
	if(!chkEmail(objs.subscribe_email.value))
	{
		alert("Please enter a valid Email Address.");
		objs.subscribe_email.focus();
		objs.subscribe_email.select();
		return;
	}
	var ajax = new AJAX();
	var arrParam = new Array();
	arrParam['site_name'] = objs.site_name.value;
	arrParam['subscribe_email'] = objs.subscribe_email.value;
	document.getElementById('newsletter_loader').innerHTML = '<img src="img/ajax-loader.gif" alt="Loader" style="vertical-align:middle;"> Please wait...';
	ajax.getRequest("subscribe_newsletter.php", arrParam, showSubscriber);
	return false;
}
function showSubscriber(retVal)
{
	var objs = document.getElementById('frmSubscribe');
	switch(retVal)
	{
		case "SUCCESS":
			subscribeMsg = 'Thank you for subscribing to the FirstCareMD Monthly Newsletter.\nPlease check your email and click the link given in your mail to confirm your subscription.';
			break;
		case "EXISTING":
			subscribeMsg = 'You are already subscribed for the FirstCareMD Monthly Newsletter.';
			break;
		case "NEED_ACTIVATION":
			subscribeMsg = 'You need to activate your subscription.\nWe are sending you another mail incase you have deleted our mail received earlier.\nPlease click on the link specified in your mail to activate your subscription.';
			break;
		default:
			subscribeMsg = "You have been disabled for Newsletter Subscription. Please contact Administator";
			break;
	}
	alert(subscribeMsg);
	document.getElementById('newsletter_loader').innerHTML = '<input type="button" value="SIGN-UP" class="btn" onclick="return validateSubscribe()" />';
	objs.subscribe_email.value = "";
}




























