var html_progressbar = "<div style='float:left;z-index:10;'><img src='images/preloader2.gif'></div><div style='font:Arial, Helvetica, sans-serif; color:#3B73B9;'>&nbsp;&nbsp;Please Wait..</div>";
//var html_progressbar = "<div style='width:50%; float:right;z-index:10;'>Please Wait...</div>";


function printCalculation()
{
	window.open("print_calculation.php","mywindow","width=800,height=800,status=0,scrollbars=0,resizable=1,menubar=1,toolbar=1");	
}

function validate(val,which)
{
	if(isNaN(val))
	{
	 alert("Please enter numeric values");
	 document.getElementById(which).value="";
	 if(which != 'footage')
	 {
		 document.getElementById("footage").value="";
	 }
	 
	 return false;
	}
	
}

/*function select_color(val)
{
	var url = 'getColor.php?id='+val;
	//alert(url);
	loadXMLDoc(url);
}*/
function select_color(val,colorval,psuval,s2m)
{

	var feet_matric = document.getElementById("feet_matric").value;
	//alert(feet_matric);
	if(s2m=="s2m" || s2m=="s2f")
	{	
		var url = 'getColor.php?id='+val+'&colorval='+colorval+'&psuval='+psuval+'&s2m='+s2m;
	}
	else if(feet_matric=="meter" || feet_matric=="feet")
	{
		var url = 'getColor.php?id='+val+'&s2m='+feet_matric;		
	}
	else
	{		
		var url = 'getColor.php?id='+val;		
	}
	//alert(url);
	document.getElementById("color").innerHTML = html_progressbar;	
	loadXMLDoc(url);
}



function disable_option()
{
	if(document.getElementById("footage").value=="")
	{
		//document.getElementById("to_disable").style.display="block";	
		document.getElementById("height").disabled=false;
		document.getElementById("letters").disabled=false;	
		document.getElementById("strokemultiplier").disabled=false;	
	}else
	{
		document.getElementById("height").disabled="disabled";
		document.getElementById("letters").disabled="disabled";	
		//document.getElementById("letter_id").style.display="none";
		document.getElementById("strokemultiplier").disabled="disabled";	
		
	}
}


function calculate()
{
var total; var total_temp;
var ht=document.getElementById("height").value;
var let=document.getElementById("letters").value;
var strokemultiplier=document.getElementById("strokemultiplier").value;
	
var feetblock  =  document.getElementById("f").style.display;
var meterblock =  document.getElementById("m").style.display;
/*	if(ht!="" && let!="" && strokemultiplier!="")
	{
		//total= ht * let;
		//total= roundNumber((ht * let),0);
		total =roundNumber((ht*0.25*let*strokemultiplier),0);		
	}
*/
	if(feetblock=="block")
	{
		if(ht!="" && let!="" && strokemultiplier!="")
		{
			//total= ht * let;
			//total= roundNumber((ht * let),0);
			total =roundNumber((ht*0.25*let*strokemultiplier),0);		
		}
	}
	else if(meterblock=="block")
	{
		if(ht!="" && let!="" && strokemultiplier!="")
		{
			total_temp =roundNumber((ht*0.25*let*strokemultiplier),0);	
			//total =roundNumber((total_temp/33.30557),2);		
			total = roundNumber((total_temp*0.393700787402*0.3048),2);
			
			//alert(total);
		}
		
	}
	else
	{
		if(ht!="" && let!="" && strokemultiplier!="")
		{
			//total= ht * let;
			//total= roundNumber((ht * let),0);
			total =roundNumber((ht*0.25*let*strokemultiplier),0);		
		}
		
	}
	if(!isNaN(total))
	document.getElementById("footage").value=total;
	
	if(isNaN(ht) || isNaN(let))
	{
		document.getElementById("footage").value="";
	}
}


function switchToMatric(val)
{
	var stom='';
	var value=parseFloat(document.getElementById("footage").value);
	var ht=parseFloat(document.getElementById("height").value);
	
	var product=document.getElementById("led_product").value;
	//var color=document.frmCalculator.color.value;
	var color=document.getElementById("color_s2m").value;
	
	var psu=document.frmCalculator.psu.value;
	var foot=document.getElementById("footage").value;
	var ht=document.getElementById("height").value;
	var let=document.getElementById("letters").value;
	var strokemultiplier=document.getElementById("strokemultiplier").value;
	var display = document.getElementById("results").style.display;
	
	
	if(display=="block")
	{
		if(product=="")
		{
			alert("Please Select an LED Product");
			document.getElementById("led_product").focus();
			return false;
		}
		if(color=="")
		{
			alert("Please select a Color");
			document.getElementById("color").focus();
			return false;
		}
		if(psu=="")
		{
			alert("Please select a PSU");
			document.getElementById("psu").focus();
			return false;
		}
		if(foot=="" && ht=="")
		{
			alert("Please enter Total Footage or Letter Height");
			document.getElementById("footage").focus();
			return false;
		}
		if(ht!="" && let=="")
		{
			alert("Please enter Number of letters needed");
			document.getElementById("letters").focus();
			return false;
		}
		if(ht!="" && let!="" && strokemultiplier=="")
		{
			alert("Please select Letter Stroke needed");
			document.getElementById("strokemultiplier").focus();
			return false;
		}
	}
	if(val=="switch to matric")
	{
	
		if(ht!="")
		{
			//var result=roundNumber(ht * 2.54,2);
			var result=roundNumber(ht * 2.54,2);			
			if(!isNaN(result))
			document.getElementById("height").value=result;
		}

		document.getElementById("feet_matric").value="meter";
		//var matric=roundNumber(value * 0.3048,2);
		if(let!="" && strokemultiplier!="" && result!="")
		{
																	  
			var matric=roundNumber((result *0.25*let*strokemultiplier*0.393700787402*0.3048),2); //Changed by Nilaja on 21 Nov 08 
			
			//roundNumber((ht*0.25*let*strokemultiplier),0);	
			//alert(matric);
		}
		else
		{
			var matric=roundNumber(value * 0.3048,2);
		}
		if(!isNaN(matric))
		document.getElementById("footage").value=matric;



		document.getElementById("matric").style.display="block";
		document.getElementById("feet").style.display="none";

		document.getElementById("m").style.display="block";
		document.getElementById("f").style.display="none";
		document.getElementById("c").style.display="block";
		document.getElementById("i").style.display="none";
//alert(document.getElementById("color_s2m").value);
		//select_color(document.getElementById("led_product").value,document.getElementById("color_s2m").value,document.getElementById("psu_s2m").value,'s2m');
		stom = 's2m';
	//alert("HERE");
		
	}else
	{
		
		if(ht!="")
		{
			var result=roundNumber(ht / 2.54,2);
			if(!isNaN(result))
			document.getElementById("height").value=result;
		}

		document.getElementById("feet_matric").value="feet";
		//var feet=roundNumber(value / 0.3048,0);
		if(ht!="" && let!="" && strokemultiplier!="")
		{
			var feet=roundNumber((result * 0.25 * let*strokemultiplier),0);  //Changed by Nilaja
		}
		else
		{
			var feet=roundNumber(value / 0.3048,0);
		}
		if(!isNaN(feet))
		document.getElementById("footage").value=feet;


		document.getElementById("matric").style.display="none";
		document.getElementById("feet").style.display="block";
		document.getElementById("f").style.display="block";
		document.getElementById("m").style.display="none";
		document.getElementById("i").style.display="block";
		document.getElementById("c").style.display="none";
		//select_color(document.getElementById("led_product").value,document.getElementById("color_s2m").value,document.getElementById("psu_s2m").value,'s2f');		
		stom = 's2f';
		//alert("HERE222222");
	}
	
	//By Nilaja For showing the result page after clicking on "Switch to Metric", depends on also Reset
	
	if(display=="block")
	{	
		/********  NEW FOR CALCULATE RESULT AT SWITCH TO METRIC *************/

		//display_results(stom); //Problem is here Nilaja
	
	
	
			var unit = "";
			/*
			if(document.getElementById("m").style.display=="block")
			{
				if(foot!=""){ unit ="m";}
				else if(ht!=""){ unit ="cm";}
			}
			else
			{
				if(foot!="") { unit ="ft";}
				else if(ht!="") { unit ="Inches";}
			}
			*/
			if(document.getElementById("m").style.display=="block")
			{
				if(foot!=""){ unit ="m";}
				else if(ht!=""){ unit ="cm";}
			}
			else
			{
				if(foot!="") { unit ="ft";}
				else if(ht!="") { unit ="Inches";}
			}

			var id= document.getElementById("led_product").value
			var url="finalcalculation_switch.php?product="+product+"&color="+color+"&psu="+psu+"&foot="+foot+"&ht="+ht+"&let="+let+"&unit="+unit+"&s2m="+stom+"&id="+id+"&strokemultiplier="+strokemultiplier;
			//alert("1==>"+url);
			document.getElementById("color").innerHTML = html_progressbar;
			
			loadXMLDocResult_new(url,stom);
			document.getElementById("dot_bg").style.display="block";	
			document.getElementById("results").style.display="block";
		
		/**** END NEW **********************/
		
	}
	else
	{
			
			select_color(document.getElementById("led_product").value,document.getElementById("color_s2m").value,document.getElementById("psu_s2m").value,stom);		
		
	}
	document.getElementById("results").style.display = display;
	//End
}

function roundNumber(num,places) {
	var newnumber = Math.round(num*Math.pow(10,places))/Math.pow(10,places);
	return(newnumber);
}

function loadXMLDoc(url)
{
	// branch for native XMLHttpRequest object
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
		req.onreadystatechange = processReqChange;
		req.open("GET", url, true);
		req.send(null);
	// branch for IE/Windows ActiveX version
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
		if (req) { 
			req.onreadystatechange = processReqChange;			
			req.open("GET", url, true);
			req.send();
		}
	}
}

function processReqChange()
{
	// only if req shows "complete"
	if (req.readyState == 4) {
		// only if "OK"
		if (req.status == 200) {
			// ...processing statements go here...
			response  = req.responseXML.documentElement;

			var urlpath='';
			for(var x = 0; response.getElementsByTagName('urlpath')[0].childNodes[x]; x++ )
			 urlpath = urlpath.concat(response.getElementsByTagName('urlpath')[0].childNodes[x].data);	
		//alert(document.getElementById("color").innerHTML);
		//alert(urlpath);
			document.getElementById("color").innerHTML = urlpath;
		//alert(document.getElementById("color").innerHTML);	

			var urlpath1='';
			//alert(response.getElementsByTagName('urlpath1')[0].childNodes[0].data);

			for(var x = 0; response.getElementsByTagName('urlpath1')[0].childNodes[x]; x++ )
			 urlpath1 = urlpath1.concat(response.getElementsByTagName('urlpath1')[0].childNodes[x].data);				
			document.getElementById("psu").innerHTML = urlpath1;
					
			return false;
		} else {
			alert("There was a problem display_tags_alpha retrieving the XML data:\n" + req.statusText);
		}
	}
}


/////////////////////////////////////display result calculation////////////////
function display_results(from,extra)
{
	
	var product=document.getElementById("led_product").value;
	//var color=document.getElementById("color").value;
	var color=document.frmCalculator.color.value;
	
	//var psu=document.getElementById("psu").value;
	var psu=document.frmCalculator.psu.value;

	var foot=document.getElementById("footage").value;
	var ht=document.getElementById("height").value;
	var let=document.getElementById("letters").value;
	var strokemultiplier=document.getElementById("strokemultiplier").value;
	
	var unit = "";
	
	if(from=="s2m" || from=="s2f")
	{

	}
	else
	{ 	from='';
		if(product=="")
		{
			alert("Please Select an LED Product");
			document.getElementById("led_product").focus();
			return false;
		}
		if(color=="")
		{
			alert("Please select a Color");
			document.getElementById("color").focus();
			return false;
		}
		if(psu=="")
		{
			alert("Please select a power supply");
			document.getElementById("psu").focus();
			return false;
		}
		if(foot=="" && ht=="")
		{
			alert("Please enter Total Footage or Letter Height");
			document.getElementById("footage").focus();
			return false;
		}
		if(ht!="" && let=="")
		{
			alert("Please enter Number of letters needed");
			document.getElementById("letters").focus();
			return false;
		}
		if(ht!="" && let!="" && strokemultiplier=="")
		{
			alert("Please select Letter Stroke needed");
			document.getElementById("strokemultiplier").focus();
			return false;
		}
		
	}
	if(document.getElementById("m").style.display=="block")
	{
		if(foot!=""){ unit ="m";}
		else if(ht!=""){ unit ="cm";}
	}
	else
	{
		if(foot!="") { unit ="ft";}
		else if(ht!="") { unit ="Inches";}
	}
//	document.getElementById("color").innerHTML = html_progressbar;
	
	//alert(from);alert(document.getElementById("f").style.display);
	if(from!="")
	{
		var url="finalcalculation.php?product="+product+"&color="+color+"&psu="+psu+"&foot="+foot+"&ht="+ht+"&let="+let+"&unit="+unit+"&s2m="+from+"&display_result=1&strokemultiplier="+strokemultiplier;
		//alert("1=="+url);
	loadXMLDocResult(url,from);
		
	}
	else
	{
		if(document.getElementById("f").style.display=="none")
		{			
			var url="finalcalculation.php?product="+product+"&color="+color+"&psu="+psu+"&foot="+foot+"&ht="+ht+"&let="+let+"&unit="+unit+"&s2m=s2f"+"&display_result=1&strokemultiplier="+strokemultiplier; //alert("2=="+url);
			loadXMLDocResult(url);		
		}
		else
		{
			var url="finalcalculation.php?product="+product+"&color="+color+"&psu="+psu+"&foot="+foot+"&ht="+ht+"&let="+let+"&unit="+unit+"&s2m=s2m"+"&display_result=1&strokemultiplier="+strokemultiplier;//alert("3=="+url);
			loadXMLDocResult(url);	
		}
		
		
	}
	if(from=="s2m" || from=="s2f")
	{

//select_color(document.getElementById("led_product").value,document.getElementById("color_s2m").value,document.getElementById("psu_s2m").value,from); //see here
		if(document.getElementById("results").style.display)
		{
			document.getElementById("dot_bg").style.display="block";	
			document.getElementById("results").style.display="block";
		}
		else
		{
			document.getElementById("dot_bg").style.display="none";	
			document.getElementById("results").style.display="none";			
		}

	}
	else
	{
		document.getElementById("dot_bg").style.display="block";	
		document.getElementById("results").style.display="block";
	}
	
	browser_version = navigator.appVersion;
	b_ver = browser_version.split(";");
	ver = b_ver[1].split(" ");
	browser_type = navigator.appName;
	browser_version = parseInt(navigator.appVersion);
	if (/MSIE (\d+\.\d+);/.test(navigator.userAgent))
	{ //test for MSIE x.x;
	 var ieversion=new Number(RegExp.$1) // capture x.x portion and store as a number
	}
	
	if(from!="s2m" && from!="s2f")
	{
		document.getElementById("page").style.height="540px";	
	}
	return false;
}


function reset_func()
{
	
	document.getElementById("height").disabled=false;
	document.getElementById("letters").disabled=false;	
	document.getElementById("strokemultiplier").disabled=false;	
	



	document.getElementById("color").innerHTML="<select name='color' id='color_s2m' style='width:222px;'><option value='' style='width:222px;'>Choose one...</option></select>";
	document.getElementById("psu").innerHTML="<select name='psu' id='psu_s2m' style='width:222px;'><option value='' style='width:222px;'>Choose one...</option></select>";

	document.frmCalculator.reset();
	document.getElementById("results").style.display="none";
	document.getElementById("dot_bg").style.display="none";	
	//document.getElementById("calc_space").style.height="30px";
	document.getElementById("page").style.height="290px";


	var feet_block = document.getElementById("feet").style.display;
	var matric_block = document.getElementById("matric").style.display;
	//alert(matric_block);
	if(matric_block=="none")
	{
		document.getElementById("feet_matric").value="feet";		
	}
	else
	{
		document.getElementById("feet_matric").value="meter";				
	}

	
	return false;
}

function loadXMLDocResult(url,from)
{
	if(from!="")
	{		
		//select_color(document.getElementById("led_product").value,document.getElementById("color_s2m").value,document.getElementById("psu_s2m").value,from);
	}
	// branch for native XMLHttpRequest object
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
		req.onreadystatechange =processReqChangeResult;
		req.open("GET", url, true);
		req.send(null);
	// branch for IE/Windows ActiveX version
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
		if (req) {
			req.onreadystatechange = processReqChangeResult;
			req.open("GET", url, true);
			req.send();
		}
	}
}

function processReqChangeResult()
{
	// only if req shows "complete"
	if (req.readyState == 4) {
		// only if "OK"
		if (req.status == 200) {
			// ...processing statements go here...
			response  = req.responseXML.documentElement;

			var urlpath='';
			for(var x = 0; response.getElementsByTagName('urlpath')[0].childNodes[x]; x++ )
			 urlpath = urlpath.concat(response.getElementsByTagName('urlpath')[0].childNodes[x].data);				
	
	
			 
			 
			document.getElementById("results").innerHTML = urlpath;
	
	
			return false;
		} else {
			alert("There was a problem display_tags_alpha retrieving the XML data:\n" + req.statusText);
		}
	}
}


function loadXMLDocResult_new(url,from)
{
	if(from!="")
	{		
		//select_color(document.getElementById("led_product").value,document.getElementById("color_s2m").value,document.getElementById("psu_s2m").value,from);
	}
	// branch for native XMLHttpRequest object
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
		req.onreadystatechange =processReqChangeResultNew;
		req.open("GET", url, true);
		req.send(null);
	// branch for IE/Windows ActiveX version
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
		if (req) {
			req.onreadystatechange = processReqChangeResultNew;
			req.open("GET", url, true);
			req.send();
		}
	}
}

function processReqChangeResultNew()
{
	// only if req shows "complete"
	if (req.readyState == 4) {
		// only if "OK"
		if (req.status == 200) {
			// ...processing statements go here...
			response  = req.responseXML.documentElement;


			var urlpath1='';var urlpath2='';
			for(var x = 0; response.getElementsByTagName('urlpath1')[0].childNodes[x]; x++ )
			urlpath1 = urlpath1.concat(response.getElementsByTagName('urlpath1')[0].childNodes[x].data);				
			document.getElementById("color").innerHTML = urlpath1;
			
			//alert(urlpath1);
			for(var x = 0; response.getElementsByTagName('urlpath2')[0].childNodes[x]; x++ )
			urlpath2 = urlpath2.concat(response.getElementsByTagName('urlpath2')[0].childNodes[x].data);				
			document.getElementById("psu").innerHTML = urlpath2;
//alert(urlpath1);alert(urlpath2);

			var urlpath='';
			for(var x = 0; response.getElementsByTagName('urlpath')[0].childNodes[x]; x++ )
			 urlpath = urlpath.concat(response.getElementsByTagName('urlpath')[0].childNodes[x].data);				
			 
			document.getElementById("results").innerHTML = urlpath;
			

			return false;
		} else {
			alert("There was a problem display_tags_alpha retrieving the XML data:\n" + req.statusText);
		}
	}
}
////////////////////////////////////////////////////////////////////////////////


