function layerSetup(id,visibility){
	if(document.getElementById){
		this.obj = document.getElementById(id).style;
		this.obj.visibility = visibility;
		return this.obj;
	}
	else if(document.all){
		this.obj = document.all[id].style;
		this.obj.visibility = visibility;
		return this.obj;
	}
	else if(document.layers){
		this.obj = document.layers[id];
		this.obj.visibility = visibility;
		return this.obj;
	}
}

function visVisible(param){
	new layerSetup(param,'visible');
}
function visHidden(param){
	new layerSetup(param,'hidden');
}

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];}
}

function IsvalidEmail(mailid) {		
	var str=mailid
	var flag=true;
	var at="@";
	var dot=".";
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	
	if (str.indexOf(at)==-1) {
		flag=false;
	}
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
		flag=false;
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
		flag=false;
	if (str.indexOf(at,(lat+1))!=-1)
		flag=false;
	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
		flag=false;
	if (str.indexOf(dot,(lat+2))==-1)
		flag=false;
	if (str.indexOf(" ")!=-1)
		flag=false;
	 if(flag)
		return true;
	 else
	 return false;
}
function Trim(s)  {
  // Remove leading spaces and carriage returns
	while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r')) {
		s = s.substring(1,s.length);
	}
	// Remove trailing spaces and carriage returns
	while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r')) {
		s = s.substring(0,s.length-1);
	}
	return s;
}
function IsNumeric(strString) { //  check for valid numeric strings	
	var strValidChars = "0123456789.-";
	var strChar;
	var blnResult = true;
	if (strString.length == 0) return false;
	//  test strString consists of valid characters listed above
	for (i = 0; i < strString.length && blnResult == true; i++) {
		strChar = strString.charAt(i);
		if (strValidChars.indexOf(strChar) == -1) {
			blnResult = false;
		}
	}
	return blnResult;
}
function validateform(evt) {
	if (evt.keyCode == 13) {
		submitform();
	}
}

function formvalidate(array_fields,array_message) {
	var alertfields="";
	var setfocus="";
	var i;
	for(i = 0; i < array_fields.length; i++) {
		if(Trim(document.getElementById(array_fields[i]).value) == "") {
			alertfields+="- " + array_message[i] + "\n";
			if (setfocus=="") {
				 setfocus=array_fields[i];
			}
		}		
	}
	if (alertfields!="") {
		alert("The following field(s) cannot be left blank:\n\n"+alertfields+"\nPlease fill these fields.");
		document.getElementById(setfocus).focus();
		return false;		
	}
	return true;
}
var dtCh= "/";
	var minYear=1900;
	var maxYear=2100;

	function isInteger(s){
		var i;
		for (i = 0; i < s.length; i++){   
			// Check that current character is number.
			var c = s.charAt(i);
			if (((c < "0") || (c > "9"))) return false;
		}
		// All characters are numbers.
		return true;
	}

	function stripCharsInBag(s, bag){
		var i;
		var returnString = "";
		// Search through string's characters one by one.
		// If character is not in bag, append to returnString.
		for (i = 0; i < s.length; i++){   
			var c = s.charAt(i);
			if (bag.indexOf(c) == -1) returnString += c;
		}
		return returnString;
	}

	function daysInFebruary (year){
		// February has 29 days in any year evenly divisible by four,
		// EXCEPT for centurial years which are not also divisible by 400.
		return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
	}
	function DaysArray(n) {
		for (var i = 1; i <= n; i++) {
			this[i] = 31
			if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
			if (i==2) {this[i] = 29}
	   } 
	   return this
	}

	function isDate(dtStr){
		var daysInMonth = DaysArray(12)
		var pos1=dtStr.indexOf(dtCh)
		var pos2=dtStr.indexOf(dtCh,pos1+1)
		var strMonth=dtStr.substring(0,pos1)
		var strDay=dtStr.substring(pos1+1,pos2)
		var strYear=dtStr.substring(pos2+1)
		strYr=strYear
		if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
		if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
		for (var i = 1; i <= 3; i++) {
			if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
		}
		month=parseInt(strMonth)
		day=parseInt(strDay)
		year=parseInt(strYr)
		if (pos1==-1 || pos2==-1){
			alert("The date format should be : mm/dd/yyyy.")
			return false
		}
		if (strMonth.length<1 || month<1 || month>12){
			alert("Please enter a valid month.")
			return false
		}
		if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
			alert("Please enter a valid day.")
			return false
		}
		if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
			alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear+".")
			return false
		}
		if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
			alert("Please enter a valid date.")
			return false
		}
	return true
	}
//	Input Date checking codes ends here

/*********************************************************************************************/
		var startDate;
		var endDate;
		var ONEDAY = 3600 * 24;

		function resetDates() {
			startDate = endDate = null;
		}

		function filterDates1(cal) {
			var date = cal.date;
			startDate = date.getTime()
			/* If they haven't chosen an 
			end date before we'll set it to the same date as the start date This
			way if the user scrolls in the start date 5 months forward, they don't
			need to do it again for the end date.
			*/

			if (endDate == null) { 
				Zapatec.Calendar.setup({
					inputField     :    "txt_date5",
					button         :    "calendar9",  // What will trigger the popup of the calendar
					ifFormat       :    "%m/%d/%Y",
					date           :     startDate,
					showsTime      :     false,          //no time
					dateStatusFunc :    disallowDateBefore, //the function to call
					onUpdate       :    filterDates2
				});
			}
		}

		function filterDates2(cal) {
			
			var date = cal.date;
//			alert(date);
			endDate = date.getTime()
		}

		function disallowDateBefore(date) {
			//alert(date);
			date = date.getTime();
			if ((startDate != null) && (date < (startDate + ONEDAY))) {
				//start date can't be prior to end date
				return true; 
			} 
			var now = new Date().getTime();
			if (date < (now - ONEDAY)) {
				//start date can't be prior to today
				return true;
			}
			return false;
		}

		function disallowDateAfter(date) {
			date = date.getTime();
			if ((endDate != null) && (date > (endDate - ONEDAY))) {
				//end date can't be before start date
				return true;
			} 

			var now = new Date().getTime();
			if (date < (now - ONEDAY)) {
				//end date can't be prior to today
				return true;
			}
			return false;
		}
	function openOrder1(id) {
		var page = "view_userdetails.php?id="+id;
		window.open(page,'',"height=500,width=770,top=15,left=15,scrollbars=yes,resizable=yes,help=no");
		return false;
	}