var popwin = false;
var xmlhttp = false;

/*
==================================================================
jsHttpPost(string, string) : implements XMLHttpRequest
==================================================================
*/

function jsHttpPost(url,vars){
	/*@cc_on @*/
	/*@if (@_jscript_version >= 5)
	try {xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");} 
		catch (e) {
		try {xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");} 
			catch (E) {xmlhttp = false;}
		}
	@end @*/
	if (!xmlhttp && typeof XMLHttpRequest!="undefined") {xmlhttp = new XMLHttpRequest();}
xmlhttp.onreadystatechange = processresponse;
vars += "&" + phpsess;
xmlhttp.open("POST", url);
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
xmlhttp.send(vars);
}

function processresponse(){if (xmlhttp.readyState==4) {
     try{
	eval(xmlhttp.responseText);
	}catch(e){
		alert(xmlhttp.responseText);
	}
	xmlhttp = false;
	}
}
/*
   ==================================================================
*/


/*
    To check whether a username is availbale or not. 
	@param userName				=	Text enetered username
	@param satusLayer_objName	=	Text. The id of the layer, which is used to display the username availability status
*/
function chkUserNameAvailability(userName, satusLayer_objId)
{
	var url			=	"/checkuseravailability.html";
	var vars		=	"op=chkUsrAvailability & username="+userName+" & statusLayerId="+satusLayer_objId+" & v="+Math.random();

	jsHttpPost(url,vars);
}



function _el(obj){
	return document.getElementById(obj);
}

function wpopup(gUrl, cImg){

	var gt = Math.random();
	var winName = 'CT' & gt;

	if(popwin) popwin.close();
	var mypos = findPos(cImg);
	
	popwin = window.open(gUrl,winName,'left='+mypos.left+',top='+mypos.top+',width=100,height=100,resize=1');
	
	self.focus();
	
}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return {left:curleft,top:curtop};
}



// date picker javascript

		var startDate;
		var ONEDAY = 3600 * 24;

		function resetDates() {
			startDate =  null;
		}

		function filterDates1(cal) {
			startDate = cal.date.getTime();
		}

		/*
		* Can't choose days before today or before the
		* start date
		*/

		function disallowDateAfter(date) {
			date = date.getTime();

			var now = new Date().getTime();
			if (date < (now - ONEDAY)) {
				return true;
			}
			return false;
		}



	function MM_swapImgRestore() { //v3.0
	  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
	}
	function MM_preloadImages() { //v3.0
	  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
		var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
		if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
	}

	function MM_findObj(n, d) { //v4.01
	  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	  if(!x && d.getElementById) x=d.getElementById(n); return x;
	}

	function MM_swapImage() { //v3.0
	  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
	   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
	}


/*
 * Common Validation Fucntions
 */

function isValidDate(chkDate,form)
{
	var daysPerMonth = [ 31,28,31,30,31,30,31,31,30,31,30,31 ];
    var errMessg ="";

	flds = chkDate.split("/");
	if ( !flds[0] || !flds[1] || !flds[2] )	{
		errMessg = "invalid date. valid date in the format MM/DD/YYYY is required" + "\n";
		alert(errMessg);
		form.focus();
		return false;
	}

	day =flds[1];
	month =flds[0];
	year =flds[2];

	if ( year < 1 || year > 32767 )	{
		errMessg = "Year is invalid" + "\n";
		alert(errMessg);
		form.focus();
		return false;
	}

	if ( (month < 1 || month > 12) || (month.length<2))	{
		errMessg = "Month is invalid  eg:08/08/2002" + "\n";
		alert(errMessg);
		form.focus();
		return false;
	}

	dom = daysPerMonth[month-1];
	if ( (month == 2) && isALeapYear(year) ) dom = dom + 1;

	if ( day > dom  )	{
		errMessg = "Not that many days in that month" + "\n";
		alert(errMessg);
		form.focus();
		return false;
	}
	if ( day.length < 2  )	{
		errMessg = "day is invalid valid day in the format MM/DD/YYYY is required eg:08/08/2002" + "\n";
		alert(errMessg);
		form.focus();
		return false;
	}

	return true;
}

function isWhitespace (c) 
{
    var whitespace = " \t\r\n\f\'";
    return (whitespace.indexOf (c) != -1);
}

function isBlank (str) 
{
    if (str == null) {
        return (true);
        }
    for (var i = 0; i < str.length; i++) {        
        var c = str.charAt (i);
        if (!isWhitespace (c)) {
           return (false);
           }
        }
    return (true);
}

function isDigit (str) 
{
    if (str == null) 
	{
        return (false);
    }
    if (isNaN(str))
    {
		return (false);
    }
	else if(str<=0)
	{
		return (false);
	}
    return (true);
}

function isNumber (str) 
{
    if (str == null) {
        return (false);
        }

    if (isNaN(str))
    {
		return (false);
    }
	else
	{
		if (str<=0)
		{
			return (false);
		}
	}
    return (true);
}


function checkemail(str) 
{

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   alert("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   alert("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    alert("Invalid E-mail ID")
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    alert("Invalid E-mail ID")
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    alert("Invalid E-mail ID")
		    return false
		 }

 		 return true					
	}


function confirm_deleteCart(){

	var checked	=	0;
	var field	=	document.form_cart;

	for (i = 0; i < field.length; i++)
	{
		if (field[i].checked)
		{
			checked++;
		}
	}

	if (checked==0)
	{
		alert("Please select atleast 1 product to delete");
		return false;
	}
	else
	{
		if (!confirm("Do you wish to delete the selected product(s)"))
		{
			return false;
		}
	}

	return true;
}