// JavaScript Document

	//Trim Functions
	function ltrim(str) { 
		for(var k = 0; k < str.length && isWhitespace(str.charAt(k)); k++);
		return str.substring(k, str.length);
	}
	function rtrim(str) {
		for(var j=str.length-1; j>=0 && isWhitespace(str.charAt(j)) ; j--) ;
		return str.substring(0,j+1);
	}
	function trim(str) {
		return ltrim(rtrim(str));
	}
	function isWhitespace(charToCheck) {
		var whitespaceChars = " \t\n\r\f";
		return (whitespaceChars.indexOf(charToCheck) != -1);
	}
	//End Trim Functions

	//function for validation user login
	function __fncLogin(){
		if(trim(thisForm.txtUserName.value)==''){
			alert('Please Enter User Name!');
			thisForm.txtUserName.focus();
			return;
		}
		if(trim(thisForm.txtPassword.value)==''){
			alert('Please Enter Password!');
			thisForm.txtPassword.focus();
			return;
		}
		thisForm.txtWhat2Do.value = 'LOGIN';
		thisForm.submit();
	}
	function __fncCheckEMail(email){
		var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
		if (filter.test(email)){
			return true;
		}else{
			return false;
		}
	}
	function __fncGetXMLHttpRequest(){
		var http_request = false;
		if (window.XMLHttpRequest) { // Mozilla, Safari,...
			http_request = new XMLHttpRequest();
			if (http_request.overrideMimeType) {
				http_request.overrideMimeType('text/html');
			}
		} else if (window.ActiveXObject) { // IE
			try {
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					http_request = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
		}
		if (!http_request) {
			return false;
		}
		return http_request;
	}
	function __fncIsNumeric(sText){
		var ValidChars = "0123456789.";
		var IsNumber=true;
		var Char;
		for (i = 0; i < sText.length && IsNumber == true; i++) { 
			Char = sText.charAt(i); 
			if (ValidChars.indexOf(Char) == -1) {
				IsNumber = false;
			}
		}
		return IsNumber;
	}
	function __fncIsNumbersOnly(sText){
		var ValidChars = "0123456789";
		var IsNumber=true;
		var Char;
		for (i = 0; i < sText.length && IsNumber == true; i++) { 
			Char = sText.charAt(i); 
			if (ValidChars.indexOf(Char) == -1) {
				IsNumber = false;
			}
		}
		return IsNumber;
	}
	function checkForm(form, id) { 
		return checkArray(form, "chkSkip[]", id); 
		//alert("You selected " + itemsChecked.length + " items"); 
			//if(itemsChecked.length > 0) { 
				//alert("The items selected were:\n\t" + itemsChecked); 
				//return true;
			//} 
		//return false; 
	}
	function checkArray(form, arrayName, k) { 
		var retval = new Array(); 
			for(var i=0; i < form.elements.length; i++) { 
				var el = form.elements[i]; 
					if(el.checked && el.value == k ) { 
						return true;
					} 
			} 
		return false; 
	}
	
	function roundit(Num, Places) {
	   if (Places > 0) {
		  if ((Num.toString().length - Num.toString().lastIndexOf('.')) > (Places + 1)) {
			 var Rounder = Math.pow(10, Places);
			 return Math.round(Num * Rounder) / Rounder;
		  }
		  else return Num;
	   }
	   else return Math.round(Num);
	}
	function __fncMail(){
		Effect.toggle('divMail','slide');
	}
	/* Conatct Us Mailing */ 
 	var http_request = false;
	var okSoFar=true
	function makePOSTRequest(url, parameters) {
		http_request = false;
		if (window.XMLHttpRequest) { // Mozilla, Safari,...
			http_request = new XMLHttpRequest();
			if (http_request.overrideMimeType) {
				http_request.overrideMimeType('text/html');
			}
		} else if (window.ActiveXObject) { // IE
			try {
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					http_request = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
		}
		if (!http_request) {
			alert('Cannot create XMLHTTP instance');
			return false;
		}
		http_request.onreadystatechange = alertContents;
		http_request.open('POST', url, true);
		http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		http_request.setRequestHeader("Content-length", parameters.length);
		http_request.setRequestHeader("Connection", "close");
		http_request.send(parameters);
	}
	function alertContents() {
		if (http_request.readyState == 4) {
			if (http_request.status == 200) {
				result = http_request.responseText;
				document.getElementById('myspan').innerHTML = result;   
				document.getElementById("btnSend").disabled = false; 
				document.getElementById("userName").value = '';
				document.getElementById("email").value = '';
				document.getElementById("phone").value = '';
				document.getElementById("thesubject").value = '';
				document.getElementById("themessage").value = '';
			} else {
				document.getElementById('myspan').innerHTML = 'There was a problem with the request.';  
				document.getElementById("btnSend").disabled = false;
			}
		}
	}
	function get(obj) {
		var okSoFar=true
		if (thisForm.userName.value=="" && okSoFar){
			okSoFar=false
			alert("Please enter Your Name.")
			thisForm.userName.focus()
			return;
		}
		if (isNaN(thisForm.phone.value) && okSoFar){
			okSoFar=false
			alert("Please enter a valid Phone Number.")
			thisForm.phone.focus()
			return;
		}
		var foundAt = thisForm.email.value.indexOf("@",0)
		var dotAt = thisForm.email.value.indexOf(".",0)
		if (foundAt < 1 && okSoFar){
			okSoFar = false
			alert ("Please enter a valid email address.")
			thisForm.email.focus()
			return;
		}
		if (dotAt < 1 && okSoFar){
			okSoFar = false
			alert ("Please enter a valid email address.")
			thisForm.email.focus()
			return;
		}
		if (thisForm.thesubject.value=="" && okSoFar){
			okSoFar=false
			alert("Please enter the subject.")
			thisForm.thesubject.focus()
			return;
		}
		if (thisForm.themessage.value=="" && okSoFar){
			okSoFar=false
			alert("Please enter the details for your enquiry.")
			thisForm.themessage.focus()
			return;
		}
		document.getElementById("btnSend").disabled = true;
		document.getElementById('myspan').innerHTML = 'Please wait we are processing your request. Thank You for Your Patience.<img src="Images/wait.gif">';  
		var poststr = "name=" + encodeURI( document.getElementById("userName").value ) +
		"&email=" + encodeURI( document.getElementById("email").value )+
		"&phone=" + encodeURI( document.getElementById("phone").value )+
		"&thesubject=" + encodeURI( document.getElementById("thesubject").value )+
		"&themessage=" + encodeURI( document.getElementById("themessage").value );
		makePOSTRequest('contactpost.php', poststr);
	}
	/* Sign Approval Mail*/
		var http_request = false;
			var okSoFar=true
			function makePOSTRequestMail(url, parameters) {
				http_request = false;
				if (window.XMLHttpRequest) { // Mozilla, Safari,...
					http_request = new XMLHttpRequest();
					if (http_request.overrideMimeType) {
						http_request.overrideMimeType('text/html');
					}
				} else if (window.ActiveXObject) { // IE
					try {
						http_request = new ActiveXObject("Msxml2.XMLHTTP");
					} catch (e) {
						try {
							http_request = new ActiveXObject("Microsoft.XMLHTTP");
						} catch (e) {}
					}
				}
				if (!http_request) {
					alert('Cannot create XMLHTTP instance');
					return false;
				}
				http_request.onreadystatechange = alertContentsMail;
				http_request.open('POST', url, true);
				http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				http_request.setRequestHeader("Content-length", parameters.length);
				http_request.setRequestHeader("Connection", "close");
				http_request.send(parameters);
			}		
		function alertContentsMail() {
			if (http_request.readyState == 4) {
				if (http_request.status == 200) {
					result = http_request.responseText;
					document.getElementById('myspan').innerHTML = result;   
					document.getElementById("btnSend").disabled = false; 
					window.location='approval.php';
					/*document.getElementById("txtName").value = '';
					document.getElementById("txtEmail").value = '';
					document.getElementById("txtSubject").value = '';
					document.getElementById("txtComments").value = '';*/
				} else {
					document.getElementById('myspan').innerHTML = 'There was a problem with the request.';  
					document.getElementById("btnSend").disabled = false;
					window.location='approval.php';
				}
			}
		}
		function getmail(obj) {
			var okSoFar=true
			var foundAt = thisForm.txtEmail.value.indexOf("@",0)
			if (thisForm.txtName.value=="" && okSoFar){
				okSoFar=false
				alert("Please enter your name.")
				thisForm.txtName.focus()
				return;
			}
			if (foundAt < 1 && okSoFar){
				okSoFar = false
				alert ("Please enter a valid email address.")
				thisForm.txtEmail.focus()
				return;
			}
			if (thisForm.txtSubject.value=="" && okSoFar){
				okSoFar=false
				alert("Please enter subject.")
				thisForm.txtSubject.focus()
				return;
			}
			if (thisForm.txtComments.value=="" && okSoFar){
				okSoFar=false
				alert("Please enter the comment.")
				thisForm.txtComments.focus()
				return;
			}
			document.getElementById("btnSend").disabled = true;
			document.getElementById('myspan').innerHTML = 'Please wait we are processing your request.<img src="../Images/wait.gif">';  
			var poststr = "name=" + encodeURI( document.getElementById("txtName").value ) +
			"&email=" + encodeURI( document.getElementById("txtEmail").value )+
			"&subject=" + encodeURI( document.getElementById("txtSubject").value )+
			"&content=" + encodeURI( document.getElementById("txtContent").value )+
			"&themessage=" + encodeURI( document.getElementById("txtComments").value );
			makePOSTRequestMail('signmail.php', poststr);
		}
		/* Validate Signs Approval*/
		function __fncApproveOrders(strId){
			/*if(trim(thisForm.txtArtPath.value)==''){
				alert('Please Enter Art Work Path!'); thisForm.txtArtPath.focus();return;
			}
			if(trim(thisForm.txtApprovedBy.value)==''){
				alert('Please Enter Artwork Approved By!'); thisForm.txtApprovedBy.focus();return;
			}
			if(trim(thisForm.txtApprovalDate.value)==''){
				alert('Please Enter Approval Date!'); thisForm.txtApprovalDate.focus();return;
			}
			if(trim(thisForm.txtNoofParcels.value)==''){
				alert('Please Enter No. of Parcels!'); thisForm.txtNoofParcels.focus();return;
			}
			if(trim(thisForm.txtPicked.value)==''){
				alert('Please Enter Picked!'); thisForm.txtPicked.focus();return;
			}
			if(trim(thisForm.txtInspected.value)==''){
				alert('Please Enter Artwork Approved By!'); thisForm.txtInspected.focus();return;
			}
			if(trim(thisForm.txtPacked.value)==''){
				alert('Please Enter Packed!'); thisForm.txtPacked.focus();return;
			}
			if(trim(thisForm.txtDespDate.value)==''){
				alert('Please Enter Despatch Date!'); thisForm.txtDespDate.focus();return;
			}*/
			if(thisForm.chkActive.checked){
				thisForm.chkActive.checked = false;
			}else{
					thisForm.chkActive.checked = true;
			}
			thisForm.txtId.value = strId;
			thisForm.txtWhat2Do.value = 'UPDATEAPPROVAL';
			thisForm.submit();
		}
		/* round numbers */
		function round_decimals1(original_number, decimals) {
			//var num = original_number.toString();
			//var res = original_number.toFixed(2); 
			//return res;
			var result1 = original_number * Math.pow(10, decimals);
			var result2 = Math.round(result1);
			var result3 = Math.round(result2 / Math.pow(10, decimals),2);
			var result4 = pad_with_zeros(result3, decimals);
			//return result4;			
			/*var res = result4.toFixed(2); 
			var result3 = (Math.round(original_number*100)/100);  //returns 28.5
			var num = 1442421.5250000001;
			var result = num.toFixed(2); // result will equal 10.00*/
			result4 = result4.toString();
			var res = result4.toFixed(2); 
			return res;
		}
		function round_decimals(original_number, decimals) {
			var result1 = original_number * Math.pow(10, decimals);
			var result2 = Math.round(result1);
			var result3 = result2 / Math.pow(10, decimals);
			//return (Math.round(original_number*100)/100);
			return pad_with_zeros(result3, decimals);
		
		}
		function round_decimals3(original_number, decimals) {
			var rnum = original_number;
			var rlength = 2; // The number of decimal places to round to
			if (rnum > 8191 && rnum < 10485) {
				rnum = rnum-5000;
				var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
				newnumber = newnumber+5000;
			} else {
				var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
			}
			alert(newnumber);
			return newnumber;
		}
		
		 function pad_with_zeros(rounded_value, decimal_places) {
		
			// Convert the number to a string
			var value_string = rounded_value.toString()
			
			// Locate the decimal point
			var decimal_location = value_string.indexOf(".")
		
			// Is there a decimal point?
			if (decimal_location == -1) {
				
				// If no, then all decimal places will be padded with 0s
				decimal_part_length = 0
				
				// If decimal_places is greater than zero, tack on a decimal point
				value_string += (decimal_places > 0) ? "." : ""
			}
			else {
		
				// If yes, then only the extra decimal places will be padded with 0s
				decimal_part_length = value_string.length - decimal_location - 1
			}
			
			// Calculate the number of decimal places that need to be padded with 0s
			var pad_total = decimal_places - decimal_part_length
			
			if (pad_total > 0) {
				
				// Pad the string with 0s
				for (var counter = 1; counter <= pad_total; counter++) 
					value_string += "0"
				}
			return value_string
		}
		/* */
		function fdp(n,d){
				var n = n.toString();
				var xx = n.indexOf('.')
				var l = n.length
				var zstr = '0000000000000000000000'
				var theInt = ''
				var theFrac = ''
				var theNo = ''
				rfac = ''
				rfacx = 0
				nx = 0
				var xt = parseInt(d) + 1
				var rstr = '' + zstr.substring(1,xt)
				var rfac = '.' + rstr + '5'
				var rfacx = parseFloat(rfac)
				if (xx == -1 ) 	{    // No fraction
					theFrac = zstr
					theInt = "" + n
				}
				else if (xx == 0) {
					theInt = '0'
					nx = 0 + parseFloat(n) + parseFloat(rfacx)
					n = nx + zstr
					theFrac = '' + n.substring(1, n.length)
				}
				else {
					theInt = n.substring(0,xx)
					nx = parseFloat(n) + rfacx
					n = '' + nx + zstr
					theFrac = '' + n.substring(xx+1,xx + 1 + parseInt(d))
					var astr = 'd = ' + d
				}
				theFrac = theFrac.substring(0,parseInt(d))
				var ii = 0
				theNo = theInt + '.' + theFrac
				return theNo
		}
	
	function __fncPrintpopup(strid) {
		
		day = new Date();
		id1 = day.getTime();
		URL ='./print.php';
		URL = URL + '?id='+ encodeURI(strid);
		eval("page" + id1 + " = window.open(URL, '" + id1 + "', 'toolbar=0,scrollbars=1,location=0,statusbar=1,menubar=0,resizable=0,width=800,height=1000,left = 451,top = 282');");
	}
	function __fncShowSignImage(strid){
		day = new Date();
		id1 = day.getTime();
		URL ='./showsignimage.php';
		URL = URL + '?id='+ encodeURI(strid);
		eval("page" + id1 + " = window.open(URL, '" + id1 + "', 'toolbar=0,scrollbars=1,location=0,statusbar=1,menubar=0,resizable=0,width=800,height=500,left = 451,top = 282');");
	}
	function __fncIsNumeric(sText){
		var ValidChars = "0123456789.";
		var IsNumber=true;
		var Char;
		for (i = 0; i < sText.length && IsNumber == true; i++) { 
			Char = sText.charAt(i); 
			if (ValidChars.indexOf(Char) == -1) {
				IsNumber = false;
			}
		}
		return IsNumber;
	}
	function __fncIsNumbersOnly(sText){
		var ValidChars = "0123456789";
		var IsNumber=true;
		var Char;
		for (i = 0; i < sText.length && IsNumber == true; i++) { 
			Char = sText.charAt(i); 
			if (ValidChars.indexOf(Char) == -1) {
				IsNumber = false;
			}
		}
		return IsNumber;
	}
	function isNumberKey(evt){
			var charCode = (evt.which) ? evt.which : event.keyCode
			if (charCode > 31 && (charCode < 48 || charCode > 57))
			return false;
			return true;
	}
	function isCreditCard(textObj) {
				   var ccNum;
				   var odd = 1;
				   var even = 2;
				   var calcCard = 0;
				   var calcs = 0;
				   var ccNum2 = "";
				   var aChar = '';
				   var cc;
				   var r;
				   
				   ccNum = textObj.value;
				   for(var i = 0; i != ccNum.length; i++) {
					  aChar = ccNum.substring(i,i+1);
					  if(aChar == '-') {
						 continue;
					  }
				
					  ccNum2 = ccNum2 + aChar;
				   }
				   cc = parseInt(ccNum2);
				   if(cc == 0) {
					  return false;
				   }
				   r = ccNum.length / 2;
				   if(ccNum.length - (parseInt(r)*2) == 0) {
					  odd = 2;
					  even = 1;
				   }
				   
				   for(var x = ccNum.length - 1; x > 0; x--) {
					  r = x / 2;
					  if(r < 1) {
						 r++;
					  }
					  if(x - (parseInt(r) * 2) != 0) {
						 calcs = (parseInt(ccNum.charAt(x - 1))) * odd;
					  }
					  else {
						 calcs = (parseInt(ccNum.charAt(x - 1))) * even;
					  }
					  if(calcs >= 10) {
						 calcs = calcs - 10 + 1;
					  }
					  calcCard = calcCard + calcs;
				   }
				   
				   calcs = 10 - (calcCard % 10);
				   if(calcs == 10) {
					  calcs = 0;
				   }
				   
				   if(calcs == (parseInt(ccNum.charAt(ccNum.length - 1)))) {
					  return true;
				   }
				   else {
					  return false;
				   }
				}
