var startup=true;
var arrSkip = new Array();

function GetSkipSize()
{
	
	var area=document.forms[0].elements['ctl00_CphRight_ddlArea'].value;
	document.getElementById("ctl00_CphRight_hdnArea").value = area;
	
	if (area > 0) 
	{
		var opt=new Option("Loading Skip Size...","load1", false, false); 	//loading caption
		var ddlSkipSize=document.forms[0].elements['ctl00_CphRight_ddlSkipSize'];
		ddlSkipSize.options.length=null;
		ddlSkipSize.options[0]=opt;
		//loading
		var ajax=new AJAX();
		ajax.setEventHandler("DisplaySkipViaAjax");
		ajax.getAJAX("ReadSkipSize.aspx?area="+area);
	}
	else
		HideAll();
}

function DisplaySkipViaAjax(res,success)
{					
	var objsel=document.getElementById("ctl00_CphRight_ddlSkipSize");
	objsel.options.length=null;
	var result=res.response;
	
	startup=false;
	if(success)
	{
		if(result!='')
			{
				//document.getElementById("ctl00_CphRight_lblScript").innerHTML = result;
				
				var arr=result.split("||");							
				var value;
				var text;
				var i=0;	
				
				for(i=0;i<arr.length;i++)
				{
					arrSkip[i] = new Array(4);
					arrSkip[i][0] = arr[i].split(":")[0];
					arrSkip[i][1] = arr[i].split(":")[1];
					arrSkip[i][2] = arr[i].split(":")[2];
					arrSkip[i][3] = arr[i].split(":")[3];
					
					value=arr[i].split(":")[0];
					text=arr[i].split(":")[1];
					listItem = new Option(text,value, false, false);
					objsel.options[objsel.length] = listItem;
				}
				GetPrice();
		}
	}	
				
	if(objsel.options.length==0)
	{
		var listItem = new Option("--No Lot--","", false, false);
		objsel.options[0] = listItem;
	}	
}

function GetPrice()
{
	document.getElementById("ctl00_CphRight_hdnSkip").value = document.getElementById("ctl00_CphRight_ddlSkipSize").value;
	var SkipSizeId = document.getElementById("ctl00_CphRight_ddlSkipSize").value;
	var OnDrive;
	var OnRoad;
	
	for(i=0;i<arrSkip.length;i++)
		{
			if (arrSkip[i][0] == SkipSizeId)
				{
					OnDrive = arrSkip[i][2];
					OnRoad = arrSkip[i][3];
					document.getElementById("hdnOnDrive").value = num_format(OnDrive);
					document.getElementById("hdnOnRoad").value = num_format(OnRoad);
					break;
				}
		}
	
	document.getElementById("lblSkipOnDrive").innerHTML = "On Drive ( &pound; " + num_format(OnDrive) + ")";
	document.getElementById("lblSkipOnRoad").innerHTML = "On Road ( &pound; " + num_format(OnRoad) + ")";
	if (document.getElementById("rdoSkipOnDrive").checked==true)
		ShowAmount('D');
	else
		ShowAmount('R');
}

function ShowAmount(strType)
{
	var SkipAmount;
	var TaxAmount;
	var OrderAmount;
	
	if (strType=="D")
		{
			SkipAmount = document.getElementById("hdnOnDrive").value;
			TaxAmount = (SkipAmount * Tax) / 100;
			OrderAmount = parseFloat(SkipAmount) + parseFloat(TaxAmount);
		}
	else if (strType=="R")
		{
			SkipAmount = document.getElementById("hdnOnRoad").value;
			TaxAmount = (SkipAmount * Tax) / 100;
			OrderAmount = parseFloat(SkipAmount) + parseFloat(TaxAmount);
		}
		
	document.getElementById("lblSkipAmount").innerHTML = num_format(SkipAmount);
	document.getElementById("lblTaxAmount").innerHTML = num_format(TaxAmount);
	document.getElementById("lblOrderAmount").innerHTML = num_format(OrderAmount);
	document.getElementById("ctl00_CphRight_hdnSkipAmount").value = num_format(SkipAmount);
	document.getElementById("ctl00_CphRight_hdnTaxAmount").value = num_format(TaxAmount);
	document.getElementById("ctl00_CphRight_hdnOrderAmount").value = num_format(OrderAmount);
	
	if (document.getElementById("ctl00_CphRight_hdnOrderAmount").value > 0)
			ShowAll()
	else
			document.getElementById("tdInfo").style.display = "none";	
}

function HideAll()
{
	document.getElementById("trSkipSize").style.display = "none";
	document.getElementById("trSkipType").style.display = "none";
	document.getElementById("tdSkipBox").style.display = "none";	
	document.getElementById("tdInfo").style.display = "none";	
}

function ShowAll()
{
	document.getElementById("trSkipSize").style.display = "";
	document.getElementById("trSkipType").style.display = "";
	document.getElementById("tdSkipBox").style.display = "";	
	document.getElementById("tdInfo").style.display = "";	
}

function CopyData()
{
	if (document.getElementById("chkCopy").checked == true)
		{
			document.getElementById("ctl00_CphRight_txtBFirstName").value = document.getElementById("ctl00_CphRight_txtDFirstName").value; 
			document.getElementById("ctl00_CphRight_txtBLastName").value = document.getElementById("ctl00_CphRight_txtDLastName").value;
			document.getElementById("ctl00_CphRight_txtBAddress1").value = document.getElementById("ctl00_CphRight_txtDAddress1").value;
			document.getElementById("ctl00_CphRight_txtBAddress2").value = document.getElementById("ctl00_CphRight_txtDAddress2").value;
			document.getElementById("ctl00_CphRight_txtBCity").value = document.getElementById("ctl00_CphRight_txtDCity").value;
			document.getElementById("ctl00_CphRight_txtBPostCode").value = document.getElementById("ctl00_CphRight_txtDPostCode").value;
			document.getElementById("ctl00_CphRight_txtBPhone").value = document.getElementById("ctl00_CphRight_txtDPhone").value;
			document.getElementById("ctl00_CphRight_txtBEmail").value = document.getElementById("ctl00_CphRight_txtDEmail").value;
		}
	else
		{
			document.getElementById("ctl00_CphRight_txtBFirstName").value = "";
			document.getElementById("ctl00_CphRight_txtBLastName").value = "";
			document.getElementById("ctl00_CphRight_txtBAddress1").value = ""; 
			document.getElementById("ctl00_CphRight_txtBAddress2").value = "";
			document.getElementById("ctl00_CphRight_txtBCity").value = "";
			document.getElementById("ctl00_CphRight_txtBPostCode").value = ""; 
			document.getElementById("ctl00_CphRight_txtBPhone").value = "";
			document.getElementById("ctl00_CphRight_txtBEmail").value = "";
		}	
}

// format numbers with two digits
function num_format(x) { 
	sgn = (x < 0);
	x = Math.abs(x);
	x = Math.floor((x * 100) + .5);
	i = 3;
	y = "";
	while(((i--) > 0) || (x > 0)) {
		y = (x % 10) + y;
		x = Math.floor(x / 10);
		if(i == 1) {
			y = "." + y;
		}
	}
	if(sgn) {
		y = "-" + y;
	}
	return(y);
}


/*Date Validation Functions*/
	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)
		/* this is for mm/dd/yyyy
		var strMonth=dtStr.substring(0,pos1)
		var strDay=dtStr.substring(pos1+1,pos2)
		*/
		var strDay=dtStr.substring(0,pos1)
		var strMonth=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 : DD/MM/YYYY")
			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 (strMonth.length<1 || month<1 || month>12){
			alert("Please enter a valid month")
			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
	}