var timerID;

function body_load() {
		parent.adjust_iframe_right_height(document.body.scrollHeight);
		timerID = setInterval("hide_loading()",500);	
		document.getElementById("ddlCPULv2").disabled = true;
		document.getElementById("ddlCPULv3").disabled = true;
		document.getElementById("ddlcpuqty").disabled = true;		
		document.getElementById("ddlVGA_Lv2").disabled = true;
		document.getElementById("ddlvgaqty").disabled = true;		
    document.getElementById("ddlCPULv1").onchange = GetCPULv2;
    document.getElementById("ddlCPULv2").onchange = GetCPULv3;
    document.getElementById("ddlVGA_Lv1").onchange = GetVgaLv2;
    
    document.getElementById("ddlMB").onchange = Calculate;  
    document.getElementById("ddlmmqty").onclick = Calculate;
    document.getElementById("ddlMemory").onclick = Calculate;
    document.getElementById("ddlCPULv1").onclick = Calculate;
    document.getElementById("ddlCPULv2").onclick = Calculate;
    document.getElementById("ddlCPULv3").onclick = Calculate;
    document.getElementById("ddlVGA_Lv1").onclick = Calculate;
    document.getElementById("ddlVGA_Lv2").onclick = Calculate;
    document.getElementById("ddlcpuqty").onclick = Calculate;
    document.getElementById("ddlvgaqty").onclick = Calculate;
}

function GetCPULv2() {
  parent.show_loading();
  IE       = (navigator.appName.toLowerCase() == "microsoft internet explorer");
  Netscape = (navigator.appName.toLowerCase() == "netscape");
  
  var xmlhttp=null;
  
  if(IE){
	document.getElementById("ddlCPULv2").innerHTML = "";
	document.getElementById("ddlCPULv2").add(new Option(document.getElementById("select").value+document.getElementById("cpu_lv2").value,"-1"));

	document.getElementById("ddlCPULv3").innerHTML = "";
	document.getElementById("ddlCPULv3").add(new Option(document.getElementById("select").value+document.getElementById("cpu_lv3").value,"-1"));

	xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	xmlhttp.open("GET", "PSC_DeviceNodeRead.aspx?DeviceID=" + document.getElementById("CPU_ID").value + "&Lv1_id=" + document.getElementById("ddlCPULv1").value + "&SLanguage=" + document.getElementById("langNormal").value, false);// + "&Lv1_id=" + document.getElementById("select1").value + "&SLanguage=" + document.getElementById("langNormal").value);
	xmlhttp.send();
    xmldoc = new ActiveXObject("Microsoft.XMLDOM"); 
    xmldoc.loadXML(xmlhttp.responseText);
	nodes = xmldoc.selectNodes("/NewDataSet/Table");
	  
	for(i=0; i<nodes.length; i++){
		document.getElementById("ddlCPULv2").add(new Option(nodes[i].childNodes(0).text, nodes[i].childNodes(1).text));
	}
	document.getElementById("ddlCPULv2").disabled = false;
	document.getElementById("ddlCPULv3").disabled = true;
	document.getElementById("ddlcpuqty").disabled = true;
  }
  else
  {

    xmlhttp = new XMLHttpRequest();
    xmlhttp.open("GET", "PSC_DeviceNodeRead.aspx?DeviceID=" + document.getElementById("CPU_ID").value + "&Lv1_id=" + document.getElementById("ddlCPULv1").value + "&SLanguage=" + document.getElementById("langNormal").value, false);
    
    xmlhttp.send(null);
    res = xmlhttp.responseText;  
    try{
      parser = new DOMParser();
      xmldoc = parser.parseFromString(res,"text/xml");
      if(Netscape){
			var select = null;
			select = document.getElementById("ddlCPULv2");
			while (select.length > 0) {
			  select.remove(0);
			}
			var opt1 = null;
			opt1 = document.createElement("option");
			opt1.textContent = document.getElementById("select").getAttribute("value") + document.getElementById("cpu_lv2").getAttribute("value");
			opt1.value = "-1";
			document.getElementById("ddlCPULv2").appendChild(opt1);     

			var select2 = document.getElementById("ddlCPULv3");
			while (select2.length > 0) {
			  select2.remove(0);
			}
			var opt2 = null;
			opt2 = document.createElement("option");
			opt2.textContent = document.getElementById("select").getAttribute("value") + document.getElementById("cpu_lv3").getAttribute("value");
			opt2.value = "-1";
			document.getElementById("ddlCPULv3").appendChild(opt2);     
      
      	    nodes_l2 = xmldoc.getElementsByTagName("l2");
      	    nodes_wa = xmldoc.getElementsByTagName("watts");
      	    
			for(i=0; i<nodes_l2.length; i++){
				var opt = document.createElement("option");
				opt.textContent = nodes_l2[i].childNodes[0].nodeValue;
				opt.value = nodes_wa[i].childNodes[0].nodeValue;
				document.getElementById("ddlCPULv2").appendChild(opt);
			}
      }
      else
      {//opera
			document.getElementById("ddlCPULv2").innerHTML = "";
			document.getElementById("ddlCPULv2").add(new Option(document.getElementById("select").value+document.getElementById("cpu_lv2").value,"-1"));
				
			document.getElementById("ddlCPULv3").innerHTML = "";
			document.getElementById("ddlCPULv3").add(new Option(document.getElementById("select").value+document.getElementById("cpu_lv3").value,"-1"));
			
            nodes = xmldoc.selectNodes("/NewDataSet/Table");
			for(i=0; i<nodes.length; i++){
			  document.getElementById("ddlCPULv2").add(new Option(nodes[i].selectNodes("l2")[0].text, nodes[i].selectNodes("watts")[0].text));	    
			}
      }
    }
    catch(e)
    {
	  alert(e.message);
    }
    	  
	document.getElementById("ddlCPULv2").disabled = false;
	document.getElementById("ddlCPULv3").disabled = true;
	document.getElementById("ddlcpuqty").disabled = true;
  }
  parent.hide_loading();
}

function GetVgaLv2() {
  IE       = (navigator.appName.toLowerCase() == "microsoft internet explorer");
  Netscape = (navigator.appName.toLowerCase() == "netscape");
  parent.show_loading();
  var xmlhttp=null;

  if(IE)
  {
	xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	xmlhttp.open("GET", "PSC_DeviceNodeRead2.aspx?DeviceID=" + document.getElementById("vga_id").value + "&Lv1_id=" + document.getElementById("ddlVGA_Lv1").value + "&SLanguage=en-us" , false);
	xmlhttp.send();
	xmldoc = new ActiveXObject("Microsoft.XMLDOM");
	  
	xmldoc.loadXML(xmlhttp.responseText);
	  
	document.getElementById("ddlVGA_Lv2").innerHTML = "";
	document.getElementById("ddlVGA_Lv2").add(new Option(document.getElementById("select").value+document.getElementById("vga2").value,"-1"));
	
	nodes = xmldoc.selectNodes("/NewDataSet/Table");
	  
	for(i=0; i<nodes.length; i++){
		document.getElementById("ddlVGA_Lv2").add(new Option(nodes[i].childNodes(0).text, nodes[i].childNodes(1).text));
	}
	
  }
  else
  {//fire, opera
  
    xmlhttp = new XMLHttpRequest();
    xmlhttp.open("GET", "PSC_DeviceNodeRead2.aspx?DeviceID=" + document.getElementById("vga_id").value + "&Lv1_id=" + document.getElementById("ddlVGA_Lv1").value + "&SLanguage=en-us", false);// + "&Lv1_id=" + document.getElementById("select1").value + "&SLanguage=" + document.getElementById("langNormal").value);
    xmlhttp.send(null);
    res = xmlhttp.responseText;  
    try{
      parser = new DOMParser();
      xmldoc = parser.parseFromString(res,"text/xml");
      if(Netscape){
      
			var select = null;
			select = document.getElementById("ddlVGA_Lv2");
			while (select.length > 0) {
			  select.remove(0);
			}
			
			var opt1 = null;
			opt1= document.createElement("option");
			opt1.textContent = document.getElementById("select").getAttribute("value") + document.getElementById("vga2").getAttribute("value");
			opt1.value = "-1";
			document.getElementById("ddlVGA_Lv2").appendChild(opt1);     
      
      	    nodes_l2 = xmldoc.getElementsByTagName("l2");
      	    nodes_wa = xmldoc.getElementsByTagName("watts");
      	    
			for(i=0; i<nodes_l2.length; i++){
				var opt = document.createElement("option");
				opt.textContent = nodes_l2[i].childNodes[0].nodeValue;
				opt.value = nodes_wa[i].childNodes[0].nodeValue;
				document.getElementById("ddlVGA_Lv2").appendChild(opt);
			}
      }
      else
      {//opera
			document.getElementById("ddlVGA_Lv2").innerHTML = "";
			document.getElementById("ddlVGA_Lv2").add(new Option(document.getElementById("select").value+document.getElementById("vga2").value,"-1"));
            nodes = xmldoc.selectNodes("/NewDataSet/Table");
			for(i=0; i<nodes.length; i++){
			  document.getElementById("ddlVGA_Lv2").add(new Option(nodes[i].selectNodes("l2")[0].text, nodes[i].selectNodes("watts")[0].text));	    
			}
      }
    }
    catch(e)
    {
	  alert("parse "+e.message);
    }  
    
  }
  
  document.getElementById("ddlVGA_Lv2").disabled = false;
  document.getElementById("ddlvgaqty").disabled = false;
  parent.hide_loading();
}


function GetCPULv3() {
  IE       = (navigator.appName.toLowerCase() == "microsoft internet explorer");
  Netscape = (navigator.appName.toLowerCase() == "netscape");
  parent.show_loading();
  
  if(IE)
  {
	xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	xmlhttp.open("GET", "PSC_DeviceNodeRead.aspx?DeviceID=" + document.getElementById("CPU_ID").value + "&Lv1_id=" + document.getElementById("ddlCPULv1").value + "&Lv2_id=" + document.getElementById("ddlCPULv2").value + "&SLanguage=" + document.getElementById("langNormal").value, false);// + "&Lv1_id=" + document.getElementById("select1").value + "&SLanguage=" + document.getElementById("langNormal").value);
	xmlhttp.send();
	xmldoc = new ActiveXObject("Microsoft.XMLDOM");
	xmldoc.loadXML(xmlhttp.responseText);
	  
	document.getElementById("ddlCPULv3").innerHTML = "";
	document.getElementById("ddlCPULv3").add(new Option(document.getElementById("select").value+document.getElementById("cpu_lv3").value,"-1"));
	  
	nodes = xmldoc.selectNodes("/NewDataSet/Table");
	  
	for(i=0; i<nodes.length; i++){		
		document.getElementById("ddlCPULv3").add(new Option(nodes[i].childNodes(0).text, nodes[i].childNodes(1).text));
	}
  }
  else
  {
    xmlhttp = new XMLHttpRequest();
    xmlhttp.open("GET", "PSC_DeviceNodeRead.aspx?DeviceID=" + document.getElementById("CPU_ID").value + "&Lv1_id=" + document.getElementById("ddlCPULv1").value + "&Lv2_id=" + document.getElementById("ddlCPULv2").value + "&SLanguage=" + document.getElementById("langNormal").value, false);// + "&Lv1_id=" + document.getElementById("select1").value + "&SLanguage=" + document.getElementById("langNormal").value);
    xmlhttp.send(null);
    res = xmlhttp.responseText;  
    try{
      parser = new DOMParser();
      xmldoc = parser.parseFromString(res,"text/xml");
      if(Netscape){
      
			var select2 = document.getElementById("ddlCPULv3");
			while (select2.length > 0) {
			  select2.remove(0);
			}
			var opt2 = null;
			opt2  = document.createElement("option");
			opt2.textContent = document.getElementById("select").getAttribute("value") + document.getElementById("cpu_lv3").getAttribute("value");
			opt2.value = "-1";
			document.getElementById("ddlCPULv3").appendChild(opt2);     

      	    nodes_l3 = xmldoc.getElementsByTagName("l3");
      	    nodes_wa = xmldoc.getElementsByTagName("watts");
      	    
			for(i=0; i<nodes_l3.length; i++){
				var opt = document.createElement("option");
				opt.textContent = nodes_l3[i].childNodes[0].nodeValue;
				opt.value = nodes_wa[i].childNodes[0].nodeValue;
				document.getElementById("ddlCPULv3").appendChild(opt);
			}
      }
      else
      {//opera
			document.getElementById("ddlCPULv3").innerHTML = "";
			document.getElementById("ddlCPULv3").add(new Option(document.getElementById("select").value+document.getElementById("cpu_lv3").value,"-1"));
            nodes = xmldoc.selectNodes("/NewDataSet/Table");
			for(i=0; i<nodes.length; i++){
			  document.getElementById("ddlCPULv3").add(new Option(nodes[i].selectNodes("l3")[0].text, nodes[i].selectNodes("watts")[0].text));	    
			}
      }
    }
    catch(e)
    {
	  alert("parse "+e.message);
    }    
  }
  
  document.getElementById("ddlCPULv3").disabled = false;
  document.getElementById("ddlcpuqty").disabled = false;
  parent.hide_loading();
}

/*		
function Calculate()
{
	 var total = 0;
	 var others = 0;
	 var optical = 0;
	 var PCI = 0;
	 var USB = 0;
	 var _1394 = 0;
	 var storage = 0;
	 var FAN
	 
	 //alert(total);
	 
	if(document.getElementById("ddlMB").value != -1)
		total = total + parseInt(document.getElementById("ddlMB").value);

	if(document.getElementById("ddlCPULv3").value != -1)
		total = total + parseInt(document.getElementById("ddlCPULv3").value) * parseInt(document.getElementById("ddlcpuqty").value);
	if(document.getElementById("ddlVGA_Lv2").value != -1)
		total = total + parseInt(document.getElementById("ddlVGA_Lv2").value) * parseInt(document.getElementById("ddlvgaqty").value);
		
	storage = document.getElementById("storage").value;
	if(CalculateStorage(storage))
		total = total + CalculateStorage(storage);

	USB = parseInt(document.getElementById("rbUSB").value);
	if(CalculateUSB(USB))
		total = total + parseInt(CalculateUSB(USB));	
		
	if(document.getElementById("ddlMemory").value != -1)
		total = total + (parseInt(document.getElementById("ddlMemory").value) * parseInt(document.getElementById("ddlmmqty").value));

	_1394 = document.getElementById("rb1394").value;
	if(Calculate1394(_1394))
		total = total + Calculate1394(_1394);
		
	PCI = parseInt(document.getElementById("rbPCI").value);
	if(CalculatePCI(PCI))
		total = total + parseInt(CalculatePCI(PCI));
		
	FAN = document.getElementById("Fan").value;
	if(CalculateFan(FAN))
		total = total + CalculateFan(FAN);
	total = Math.floor(total / 3 * 4);//Vcore轉換效率75%
	

  if(total % 50 > 0)//以50為一單位, 不滿50以50算
		total = (Math.floor(total / 50) * 50) + 50;
		
	document.getElementById("lblTotalWatts").innerHTML = parseInt(total);
	document.getElementById("lblTotalWatts2").innerHTML = parseInt(total);
	return true;
}
*/		

function Calculate()
{
	 var total = 0;
	 var others = 0;
	 var optical = 0;
	 var PCI = 0;
	 var USB = 0;
	 var _1394 = 0;
	 var storage = 0;
	 var FAN
	if(document.getElementById("ddlMB").value != -1)
		total = total + parseInt(document.getElementById("ddlMB").value);

	if(document.getElementById("ddlMemory").value != -1)
		total = total + (parseInt(document.getElementById("ddlMemory").value) * parseInt(document.getElementById("ddlmmqty").value));
		
	storage = document.getElementById("Storage").value;
	if(CalculateStorage(storage))
		total = total + CalculateStorage(storage);
		
	USB = parseInt(document.getElementById("rbUSB").value);
	if(CalculateUSB(USB))
		total = total + parseInt(CalculateUSB(USB));	
		
	_1394 = document.getElementById("rb1394").value;
	if(Calculate1394(_1394))
		total = total + Calculate1394(_1394);
		
	PCI = parseInt(document.getElementById("rbPCI").value);
	if(CalculatePCI(PCI))
		total = total + parseInt(CalculatePCI(PCI));
		
	FAN = document.getElementById("Fan").value;
	if(CalculateFan(FAN))
		total = total + CalculateFan(FAN);
		
	if(document.getElementById("ddlCPULv3").value != -1)
		total = total + parseInt(document.getElementById("ddlCPULv3").value) * parseInt(document.getElementById("ddlcpuqty").value);
		
	if(document.getElementById("ddlVGA_Lv2").value != -1)
		total = total + parseInt(document.getElementById("ddlVGA_Lv2").value) * parseInt(document.getElementById("ddlvgaqty").value);
		
	total = Math.floor(total / 3 * 4);//Vcore轉換效率75%
	//以50為一單位, 不滿50以50算
	if(total % 50 > 0)
	  total = (Math.floor(total / 50) * 50) + 50;
		
	document.getElementById("lblTotalWatts").innerHTML = parseInt(total);
	document.getElementById("lblTotalWatts2").innerHTML = parseInt(total);		
}

function CalculateFan(n){
	var total = 0;
	for(var i=0; i<n; i++)
	{
			total = total + parseInt(document.getElementById("fanqty" + i).value);
	}
	return total;
}

function CalculateOptical(n){
	var total = 0;
	for(var i=0; i<n; i++)
	{
		if(document.getElementById("Optical" + i).checked){
			total = total + parseInt(document.getElementById("Optical" + i).value);
		}
	}
	return total;
}

function CalculateUSB(n){
	var total = 0;
	for(var i=0; i<n; i++)
	{
			total = total + parseInt(document.getElementById("usbqty" + i).value);
	}
	return total;
}

function CalculatePCI(n){
	var total = 0;
	for(var i=0; i<n; i++)
	{
			total = total + parseInt(document.getElementById("pciqty" + i).value);
	}
	return total;
}

function Calculate1394(n){
	var total = 0;
	for(var i=0; i<n; i++)
	{
			total = total + parseInt(document.getElementById("1394qty" + i).value);
	}
	return total;
}

function CalculateStorage(n){
	var total = 0;
	for(var i=0; i<n; i++)
	{
			total = total + parseInt(document.getElementById("storageqty" + i).value);
	}
	return total;
}

function get_model_url() {
  var s = location.href;
  var i = s.indexOf("PowerSupplyCalculator_right.aspx");
  s = s.substring(0,i);
  return s + "PSCalculator.aspx?SLanguage=" + document.getElementById("langNormal").value;
}

function AddShortcut() {
  document.getElementById("copyArea").value = get_model_url();
  r = document.getElementById("copyArea").createTextRange();
  r.select();
  r.execCommand("copy"); 
  parent.window.scrollTo(0,0);
  alert(document.getElementById("hld_shortcut_ok").value);
}

function AddFavorite() {
  window.external.AddFavorite(get_model_url(),"ASUS Support -- " + document.getElementById("a_calculator").innerHTML + " ");
}
