// ************* Calculator JS code ***************
function CalculateItem(id, Quantity, isPermiterOriented, Multiplier, Price, ItemsInPackage)
	{
		this.id = id;
		this.Quantity = Quantity;
		this.PermiterOriented = isPermiterOriented;
		this.Multiplier = Multiplier;
		this.Price = Price;
		this.ItemsInPackage = ItemsInPackage;
		return this;
	}

	calculate_items = new Array();
	str_digits = "1234567890."


//------isFloat
function CheckFloat(obj)
{
if ((event.keyCode >= 48) && (event.keyCode <= 57) || (event.keyCode == 37) || (event.keyCode == 46) || (event.keyCode == 44))
	{

			if(event.keyCode == 44) event.keyCode = 46;

		var val = obj.value.replace(",", ".") + String.fromCharCode(event.keyCode);
		if (isNaN(parseFloat(val)))  return false;
		
		return true;
	}

	return false;
}
	
//------calc S
function CalcS(xobj, yobj, sobj)
{
	var x = parseFloat(xobj.value);
	var y = parseFloat(yobj.value);

	if (isNaN(x) || isNaN(y)) return false;
	var s = x*y;
	if  (isNaN(s)) return false;
	sobj.value = s ;
}

//------Do All calculations	
function CalculateAll(x, y, s, p)
	{
	var sum = 0;
	var res;
	var ppm;
	
	for(var i=0; i<calculate_items.length;i++)
	{
			res = 0;
			ppm = 0
			// calculating expense
			if(!calculate_items[i].PermiterOriented)
				{
					var val = parseFloat(calculate_items[i].Quantity)
					var S = parseFloat(s)
					if(!isNaN(val) && !isNaN(S))
						{
							ppm = val;
							res = Math.ceil(val * S);
							document.all("quantity_" +calculate_items[i].id).value =  res;
							document.all("localprice_" +calculate_items[i].id).value = Math.round(  res * document.all("price_" +calculate_items[i].id).value*100)/100;
						}
				}
			else
				{
					var P = parseFloat(p)
					var M = parseFloat(calculate_items[i].Multiplier);
					
					if(!isNaN(P) && !isNaN(M))
						{
							res = Math.ceil(P * M);
							ppm = 1;
							document.all("quantity_" +calculate_items[i].id).value =  res;
							document.all("localprice_" +calculate_items[i].id).value =Math.round(  res * document.all("price_" +calculate_items[i].id).value *100)/100;
						}
						
				}
	
		// calculating subtotal
		if(calculate_items[i].Price != -1) 
			{
				var price;
				if (document.all("price_" +calculate_items[i].id).value != "") 
					price = parseFloat(document.all("price_" +calculate_items[i].id).value.replace(',','.'));
				else
					price = parseFloat(calculate_items[i].Price.replace(',','.'));
				var iip = parseInt(calculate_items[i].ItemsInPackage)
				if (isNaN(iip) || iip == 0) iip = 1;
				if (!isNaN(price))	
					{	
//						alert("(Items In pack = "+iip+") " + (price/iip) + " x " + res +" = "+ (price/iip) * res);
						sum += ((price/iip)  * res);
					}
			}


	}
			if(document.all("sum") != null)	document.all("sum").value = Math.round(sum*100)/100;
	
	}
	
function inttozero(a)
{
	var tmp,n;
	var s;
	tmp = a * 100;
	tmp = Math.round(tmp);
	if (tmp<10)
	{
		tmp = "0.0" + tmp;
		return tmp;
	}
	if (tmp<100)
	{
		tmp = "0." + tmp;
		return tmp;
	}
	s = "" + tmp;
	n = s.length;
	return (s.substring(0,n-2) + "." + s.substring(n-2,n));   
}
	
