function $(id){
	return document.getElementById(id);
}

function InitializeAjaxPC() {
	// creating new object for ajax 
	var objPC = new Object();
	if(window.XMLHttpRequest)  {	
		try {
			objPC = new XMLHttpRequest();
		} 
		catch(e) {
			objPC = false;
		}
	}
	else if(window.ActiveXObject) {	
		// branch for IE/Windows ActiveX version
		try {
			objPC = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch(e) {
			try {
				objPC = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch(e) {
				objPC = false;
			}
		}
	}

	return objPC;
}

function CallXmlDataPC(ActionCode,Url,Flds) {

	var objPC=false;
	objPC=InitializeAjaxPC();
	if(objPC) {
		objPC.onreadystatechange = showValues;
		objPC.open("GET", Url, true);
		objPC.send(Flds);
	}
	
	function displayXML() {
		var objXML = objPC.responseXML;
		
		if(objXML.getElementsByTagName('IControl').length>0){
		
			for(var ii = 0; ii < objXML.getElementsByTagName('IControl').length; ii++){
			
				ctnrlID = objXML.getElementsByTagName('IControl')[ii];
				
				var ctnId=ctnrlID.getElementsByTagName('IControlID')[0].firstChild.nodeValue.toString();
				
				objControl = document.getElementById(ctnId);
				objControl.options.length=0;
						
				if(ctnrlID.getElementsByTagName('Items').length>0){
				
					for(var i = 0; i < ctnrlID.getElementsByTagName('Items').length; i++) {	
						var divArray= new Array();
						var j=0;
						node=ctnrlID.getElementsByTagName('Items')[i].firstChild;
						while(node)
						{				
							divArray[j++]= node.firstChild.nodeValue;
							node=node.nextSibling;
						}
						objControl.options[i] = new Option(divArray[0],divArray[1]);
									
					}
				}
			}
		}
		
		for(var i = 0; i < objXML.getElementsByTagName('DivBody').length; i++) {	
			var divArray= new Array();
			var j=0;
			node=objXML.getElementsByTagName('DivBody')[i].firstChild;
			while(node)
			{				
				divArray[j++]= node.firstChild.nodeValue;
				node=node.nextSibling;
			}
			document.getElementById(divArray[0]).innerHTML=divArray[1];
			
		}
		for(var i = 0; i < objXML.getElementsByTagName('JS').length; i++) {
			var JSCall="";
			node=objXML.getElementsByTagName('JS')[i].firstChild;
			while(node)
			{				
				JSCall= node.firstChild.nodeValue;
				node=node.nextSibling;
				eval(JSCall);
			}
		}
	}
	
	
	function showValues() {	
		
		if(objPC.readyState == 4) {

			var objXML = objPC.responseXML;
			
			if(objPC.responseXML) {
				if(objXML.getElementsByTagName('IControl').length>0 || objXML.getElementsByTagName('JS').length>0 || objXML.getElementsByTagName('DivBody').length>0 || objXML.getElementsByTagName('Items').length>0) {
					displayXML();	
				}
				else{
					alert(objPC.responseText);		
				}	
			}else {
				alert(objPC.responseText);
			}
		}
	}
	
	
}


function CallXMLsize(size){
	var df = $("ctlDesignFee").value;
	//if(df != ""){
		var url = "design-and-print-size.php?size="+size+"&df="+df;
		url.toString();
		CallXmlDataPC(1,url,'');
	//}
}
function CallXMLpaper(paper){
	var df = $("ctlDesignFee").value;
	//if(df != ""){
		var url = "design-and-print-paper.php?paper="+paper+"&df="+df;
		url.toString();
		CallXmlDataPC(1,url,'');
	//}
}

function CallXMLcolor(color){
	var df = $("ctlDesignFee").value;
	//if(df != ""){
		var url = "design-and-print-color.php?color="+color+"&df="+df;
		url.toString();
		CallXmlDataPC(1,url,'');
	//}
}

function CallXMLcoating(coating){
	var df = $("ctlDesignFee").value;
	//if(df != ""){
		var url = "design-and-print-coating.php?coating="+coating+"&df="+df;
		url.toString();
		CallXmlDataPC(1,url,'');
	//}
}
function CallXMLqty(quantity){
	var RFee = $("ctlRushFee").value;
	var shipPrice = $("SelShipPrice").value;
	var df = $("ctlDesignFee").value;
	var url = "design-and-print-quantity.php?quantity="+quantity+"&ShipPrice="+shipPrice+"&df="+df+"&RFee="+RFee;
	url.toString();
	CallXmlDataPC(1,url,'');
}
function CallXMLDF(df){
	var RFee = $("ctlRushFee").value;
	var shipPrice = $("SelShipPrice").value;
	var Price = $("Price").value;
	var url = "design-and-print-design-fee.php?df="+df+"&ShipPrice="+shipPrice+"&Price="+Price+"&RFee="+RFee;
	url.toString();
	CallXmlDataPC(1,url,'');
}
function CallXMLRF(rf){
	var shipPrice = $("SelShipPrice").value;
	var Price = $("Price").value;
	var DFee = $("ctlDesignFee").value;
	var url = "design-and-print-rush-fee.php?rf="+rf+"&ShipPrice="+shipPrice+"&Price="+Price+"&DFee="+DFee;
	url.toString();
	CallXmlDataPC(1,url,'');
}

function callNextPreviousProduct(category, id, action){
	url = "design-and-print-products.php?category="+category+"&id="+id+"&action="+action;
	url.toString();
	CallXmlDataPC(1,url,'');
}

function validateDesignAndPrintFrm(frm, boolValidation){
	if( Trim(frm.txtService.value) == "" ){
	 	alert( "Please Select Any Service !" );
		frm.txtService.focus();
		return false;
	}	
	if( Trim(frm.size.value) == "" ){
	 	alert( "Please Select Size !" );
		frm.size.focus();
		return false;
	}
	if( Trim(frm.paper.value) == "" ){
	 	alert( "Please Select Paper !" );
		frm.paper.focus();
		return false;
	}
	if( Trim(frm.color.value) == "" ){
	 	alert( "Please Select Color !" );
		frm.color.focus();
		return false;
	}
	if( Trim(frm.coating.value) == "" ){
	 	alert( "Please Select Coating !" );
		frm.coating.focus();
		return false;
	}
	if( Trim(frm.turnaround.value) == "" ){
	 	alert( "Please Select Turnaround !" );
		frm.turnaround.focus();
		return false;
	}
	if( Trim(frm.quantity.value) == "" ){
	 	alert( "Please Select Quantity !" );
		frm.quantity.focus();
		return false;
	}
	if( Trim(frm.selDesignFee.value) == "" ){
	 	alert( "Please Select Design Fee !" );
		frm.selDesignFee.focus();
		return false;
	}
	if( Trim(frm.ctlShipServices.value) == "" ){
	 	alert( "Please Select Shipping Service !" );
		frm.ctlShipServices.focus();
		return false;
	}
	if( Trim(frm.ctlProjectName.value) == "" ){
	 	alert( "Please Enter Project Name !" );
		frm.ctlProjectName.value = "";
		frm.ctlProjectName.focus();
		return false;
	}
	
	if(boolValidation=='yes'){
		if( Trim(frm.fldPictureOne.value) == "" )
		{
			alert( "Please Browse Your Picture  !" );
			frm.fldPictureOne.focus();
			return false;
		}
	}
	
	return true;
}

function UpdateShipRates(passVal){
	
	var serviceValue = passVal;
	serviceValue.toString();
	if(serviceValue=='' ){
		var shipRates = 0;
	}else{
		var ValArray = serviceValue.split("-_-");
		var shipRates = ValArray[1];
	}
	if(document.orderForm.selRushFee.value!=''){
		totalPrice = format_number((
								(shipRates*1) +
								(document.getElementById("Price").value*1) + 
								(document.getElementById("ctlDesignFee").value*1)+
								(document.getElementById("ctlRushFee").value*1)),2);	
	}else{
		totalPrice = format_number((
									(shipRates*1) + 
									(document.getElementById("Price").value*1) + 
									(document.getElementById("ctlDesignFee").value*1)),2);
	}
	ShipPrice = format_number((shipRates*1),2);
	document.getElementById("divShipRate").style.display = "block";
	document.getElementById("divTotalPrice").style.display = "block";
	document.getElementById("divShipRate").innerHTML = '<strong>$'+(ShipPrice)+'</strong>';
	document.getElementById("divTotalPrice").innerHTML = 'Total Price : <strong>$'+(totalPrice)+'</strong>';
	document.getElementById("TotalPrice").value = format_number(totalPrice,2);
	document.getElementById("SelShipPrice").value = format_number(ShipPrice,2);
}

function format_number(pnumber,decimals){
	if (isNaN(pnumber)) { return 0};
	if (pnumber=='') { return 0};
	
	var snum = new String(pnumber);
	var sec = snum.split('.');
	var whole = parseFloat(sec[0]);
	var result = '';
	
	if(sec.length > 1){
		var dec = new String(sec[1]);
		dec = String(parseFloat(sec[1])/Math.pow(10,(dec.length - decimals)));
		dec = String(whole + Math.round(parseFloat(dec))/Math.pow(10,decimals));
		var dot = dec.indexOf('.');
		if(dot == -1){
			dec += '.'; 
			dot = dec.indexOf('.');
		}
		while(dec.length <= dot + decimals) { dec += '0'; }
		result = dec;
	} else{
		var dot;
		var dec = new String(whole);
		dec += '.';
		dot = dec.indexOf('.');		
		while(dec.length <= dot + decimals) { dec += '0'; }
		result = dec;
	}	
	return result;
}
