var req;
var eloader;
var el;

function changeBase()
{
var v=document.getElementById("els").value;
var id=v.split(";");
document.getElementById("curBaseHolder").innerHTML=bases[id[1]];
curBase=bases[id[1]];
document.getElementById("cost").value=formatN(costes[id[1]]);
document.getElementById("base_tonnag").value=tonn[id[1]];
}

function changeGroup(grs)
{
eloader=document.getElementById("elementSelectorLoader");
el=document.getElementById("els");
el.enabled=false;//.display="none";
//eloader.style.display="block";
SendQuery(grs.value);
}

function Initialize()
{
try{req=new ActiveXObject("Msxml2.XMLHTTP");}
catch(e){try{req=new ActiveXObject("Microsoft.XMLHTTP");}
catch(oc){req=null;}}
if(!req&&typeof XMLHttpRequest!="undefined"){req=new XMLHttpRequest();}
}

function SendQuery(id)
{
	Initialize();
	var url="other/@id="+id;
	if(req!=null){req.onreadystatechange = Process;req.open("GET", url, true);req.send(null);}
}
var _tmp;var _oInt;
function Process()
{
	if (req.readyState == 4) 
        {
 			if (req.status == 200) 
			{
					var doc = req.responseXML;
					var root = doc.documentElement;
					var cNode=root.childNodes;
					var tmp=document.createElement("OPTION");
					el.options.length=0;
					var crs;
					eval(cNode[1].firstChild.data);
					eval(cNode[2].firstChild.data);
					eval(cNode[3].firstChild.data);
					for(i=0;i<cNode[0].childNodes.length;i++)
					{tmp=document.createElement("OPTION");el.options.add(tmp);tmp.innerHTML=cNode[0].childNodes[i].firstChild.data;tmp.value=cNode[0].childNodes[i].attributes[0].nodeValue;}
					changeBase();
					document.getElementById("base_tonnag").value=doc.getElementsByTagName('btonn')[0].attributes[0].value;
					document.getElementById("cost").value=doc.getElementsByTagName('cost')[0].attributes[0].value;
					//eloader.style.display="none";
					//el.style.display="block";
					el.enabled=true;
			}
			else {}
		}
}

function calc()
{
	if(!checkIt())
	{
		return false;
	}
	
	var cost=new Number(document.getElementById("cost").value.replace(",","."));
	var fc=document.getElementById("fc");
	var bc=document.getElementById("bc");
	var cc=document.getElementById("cc");
	var ft=document.getElementById("ft");
	var bt=document.getElementById("bt");
	var ct=document.getElementById("ct");
	var kolvo=document.getElementById("kolvo");
	var it_perc=new Number(document.getElementById("it_perc").value.replace(",","."));
	var fcTotal;
	switch(document.getElementById("base_tonnag").value.replace(",","."))
		{
			case "1":
			fc.value=formatN(cost);
			fcTotal=cost;
			bc.value = formatN(cost*curBase/it_perc);// áàç
			cc.value = formatN(cost*100/it_perc);// ÷èñò
			break;
			case "2":
			fc.value=formatN(cost *it_perc/curBase);
			fcTotal=cost *it_perc/curBase;
			bc.value = formatN(cost);
			cc.value = formatN(cost*100/curBase);
			break;
			case "3":
			fc.value=formatN (cost*it_perc/100);
			fcTotal=cost*it_perc/100;
			bc.value=formatN (cost* curBase/100);
			cc.value =formatN (cost);
			break;
		}
	ft.value=formatN2(kolvo.value.replace(",","."));
	bt.value=formatN2(ft.value*it_perc/curBase);
	ct.value=formatN2(ft.value*it_perc/100);
	document.getElementById("total").value=formatN(ft.value*fcTotal);
}

function checkIt()
{

	var it_perc=new Number(document.getElementById("it_perc").value.replace(",","."));
	if(isNaN(it_perc) || it_perc==0)
	{alert("Ââåäèòå % ñîäåðæàíèå");document.getElementById("it_perc").focus();return false;}
	if(it_perc>100 || it_perc<0.001)
	{alert("% ñîäåðæàíèå äîëæíî áûòü ìåíüøå èëè ðàâíî 100");document.getElementById("it_perc").focus();return false;}
	var kolvo=new Number(document.getElementById("kolvo").value.replace(",","."));
	if(isNaN(kolvo) )
	{alert("Ââåäèòå êîëè÷åñòâî");document.getElementById("kolvo").focus();return false;}
	var cost=new Number(document.getElementById("cost").value.replace(",","."));
	if(isNaN(cost) || cost==0)
	{alert("Ââåäèòå öåíó");document.getElementById("cost").focus();return false;}
	return true;
}

function formatN(n)
{
	
	
	
	var f=Math.round(n*100)/100;
	
	var p=new String(f).indexOf(".",0);
	if(p<0)
	{
		f=new String(f+".00");
	}
	else
	{
	
		if(new String(f).length-p-2==0)
		{
			f=new String(f+"0");
		}
	}
	
	return f;
	var s=new String(n);
	var n=s.indexOf(".",0);
	if(n<0){s+=".00";}
	else{
		var x=new Number("0"+s.substr(n+3,1));
		var x2=new String(s.substr(n+1,1));
		if(x>5)
		{x++;}
		x=(x2+(x));
		s=s.substr(0,n)+"."+x;}	
	return s;
}
function formatN2(n)
{
	var f=Math.round(n*1000)/1000;
	
	var p=new String(f).indexOf(".",0);
	if(p<0)
	{
		f=new String(f+".000");
	}
	else
	{
	
		if(new String(f).length-p-2==0)
		{
			f=new String(f+"00");
		}
		if(new String(f).length-p-3==0)
		{
			f=new String(f+"0");
		}
	}
	
	
	return f;
	alert(n+" round(3)="+f);
	var s=new String(n);
	var n=s.indexOf(".",0);
	if(n<0){s+=".000";}
	else{
	//var x=Math.round(new Number("0"+s.substr(n+1,3)) /1);s=s.substr(0,n)+"."+x;
	var x=new Number("0"+s.substr(n+4,1));
		var x2=new String(s.substr(n+1,2));
		if(x>5)
		{x++;}
		x=(x2+(x));
		s=s.substr(0,n)+"."+x;
		}	
	
	return s;
}
