// JavaScript Document

function checkAll()
{
	for (var o = 0; o < document.getElementById('cat_sum').value; o++)
	{
		document.getElementById('cat_' + o).checked = document.getElementById('all').checked;  
		for (var i = 0; i < document.getElementById('sub_cat_sum_' + o).value; i++)
		{
			document.getElementById('sub_cat_' + o + '_' + i).checked = document.getElementById('all').checked;
		}
	}
}

function checkSubCat(i, cat_checked)
{
	for (var k = 0; k < document.getElementById('sub_cat_sum_' + i).value; k++)
	{
		document.getElementById('sub_cat_' + i + '_' + k).checked = cat_checked;
	}
	if (document.getElementById('cat_' + i).checked == false)
	{
		document.getElementById('all').checked = false;    
	}
	else
	{
		var all_outers_checked = true;
		for (var o = 0; o < document.getElementById('cat_sum').value; o++)
		{
			if (document.getElementById('cat_' + o).checked == false)
			{
				all_outers_checked = false;
			}
		}
		document.getElementById('all').checked = all_outers_checked;
	}
}

function uncheck_parent(outer, inner)
{
	var is_checked = document.getElementById('sub_cat_' + outer + '_' + inner).checked;
	var all_inners_checked = true;
	for (var i = 0; i < document.getElementById('sub_cat_sum_' + outer).value; i++)
	{
		if (document.getElementById('sub_cat_' + outer + '_' + i).checked == false)
		{
			all_inners_checked = false;
		}
	}
	document.getElementById('cat_' + outer).checked = all_inners_checked;
	var all_outers_checked = true;
	for (var o = 0; o < document.getElementById('cat_sum').value; o++)
	{
		if (document.getElementById('cat_' + o).checked == false)
		{
			all_outers_checked = false;
		}
	}
	document.getElementById('all').checked = all_outers_checked;
}

function shopCalculateTotal(lang) {
    
    var products = document.getElementById('countProducts').value;

    var total = 0;
    
    for (var i = 0; i < products; i++) {
        
        var thisSum = document.getElementById('sum' + i).innerHTML; 
		thisSum = new Number(thisSum.replace(",", "."));
        thisSum = thisSum * 1;
        total += thisSum;
        
    }
    
	var total_toFixed = total.toFixed(2);
	if (lang == 'ee') { document.getElementById('total').innerHTML = total_toFixed.replace(".", ","); }
	else { document.getElementById('total').innerHTML = total_toFixed; }
	if (document.getElementById('total_eek'))
	{
		var total_eek_toFixed = convertToKroons(total.toFixed(2));
		if (lang == 'ee') { document.getElementById('total_eek').innerHTML = total_eek_toFixed.replace(".", ","); }
		else { document.getElementById('total_eek').innerHTML = total_eek_toFixed; }
	}
    
}

function convertToEuros(price_in_kroons)
{
	var exchange_rate = 15.6466;
	var price_in_kr = new Number(price_in_kroons.replace(",", "."));
	var price_in_euros = price_in_kr/exchange_rate;
	return price_in_euros.toFixed(2);

}

function convertToKroons(price_in_euros)
{
	var exchange_rate = 15.6466;
	var price_in_eur = new Number(price_in_euros.replace(",", "."));
	var price_in_kroons = price_in_eur*exchange_rate;
	return price_in_kroons.toFixed(2);

}

function shopUpdatePrices(number, lang) { 
    
    var amount = new Number(document.getElementById('amount' + number).value);
    if(isNaN(amount)) amount = 0;
    
    var price = document.getElementById('price' + number).innerHTML;
	price = new Number(price.replace(",", "."));
	//alert(price);
    
    var newPrice = price * amount;
	newPrice = newPrice.toFixed(2)
	if (lang == 'ee') { document.getElementById('sum' + number).innerHTML = newPrice.replace(".", ","); }
	else { document.getElementById('sum' + number).innerHTML = newPrice; }
    
    shopCalculateTotal(lang);
}

function popupUpdatePrice(lang) {

    var form = document.getElementById('orderForm');
    
    if(form['price_' + form.order_type.value]) form.price.value = form['price_' + form.order_type.value].value;
    
    var amount = new Number(form.order_amount.value);
    if(!isNaN(amount))
    {
    	var total = amount * form.price.value;
		total = total.toFixed(2);
		if (lang == 'ee') { document.getElementById('order_total').innerHTML = total.replace(".", ","); }
		else { document.getElementById('order_total').innerHTML = total; }
	    
		if (document.getElementById('order_total_eek'))
		{
			var total_eek = convertToKroons(total);
			if (lang == 'ee') { document.getElementById('order_total_eek').innerHTML = total_eek.replace(".", ","); }
			else { document.getElementById('order_total_eek').innerHTML = total_eek; }
			
		}
    }
}

function shopDeleteFromCart(number)
{
	document.getElementById('amount' + number).value = 0;
	save_button = document.createElement('input');
	save_button.type = 'hidden';
	save_button.name = document.getElementById('save_button').name;
	save_button.value = document.getElementById('save_button').value;
	document.getElementById('save_button').parentNode.replaceChild(save_button, document.getElementById('save_button'));
	document.getElementById('submit_button').value = '';
	document.saveShoppingCart.submit();
}

function disableSelect()
{
	if(document.rel_cal_form.type.value == 503)
	{
		document.rel_cal_form.area.disabled=true;
	}else{
		document.rel_cal_form.area.disabled=false;
	}
}

function round_five_cents(nr) {
  return nr;
  var number = parseInt(nr);
  var converted = parseFloat(nr).toFixed(2);
  var decimal = (converted - parseInt(converted, 10));
  decimal = String(Math.round(decimal * 100));
  
  if (String(decimal).length == 1) {
    decimal = String('0' + decimal);
  }

  if (parseInt(decimal * 1) > 9) {
    var tenth = decimal[0];  
    var tmp = decimal[0];
    var hunderth = parseInt(decimal * 1) - (parseInt(tmp) * 10);
  }
  else {
    var tenth = 0;
    var hunderth = parseInt(decimal * 1);
  }    

  if (hunderth < 3) {
    hunderth = 0;
  }
  else if (hunderth < 8 ) {
    hunderth = 5;
  }
  else {
    hunderth = 0;
    tenth = parseInt(tenth) + 1;
    
    if (tenth > 9) {
      number = number + 1;
      tenth = 0;
    }
  }
  
  return parseFloat(number + '.' + tenth + '' + hunderth);
}

function updateDeliveryType(originalValue, lang)
{
  originalValue = parseFloat(originalValue);
	var activeValue = document.getElementById("shipment_self");
	var total_cost = parseFloat(document.getElementById("total_cost").innerHTML.replace(",", "."));
  
	if (activeValue.checked == true){
		document.getElementById("delivery_cost").value = 0;
		if (document.getElementById("delivery_cost_eek")) document.getElementById("delivery_cost_eek").innerHTML = 0;
		if (lang == "ee") {
			document.getElementById("total_cost").innerHTML = round_five_cents(total_cost - originalValue).toFixed(2).replace(".", ",");
			if (document.getElementById("total_cost_eek")) document.getElementById("total_cost_eek").innerHTML = convertToKroons(round_five_cents(total_cost - originalValue).toFixed(2)).replace(".", ",");
		}
		else {
			document.getElementById("total_cost").innerHTML = round_five_cents(total_cost - originalValue).toFixed(2);
			if (document.getElementById("total_cost_eek")) document.getElementById("total_cost_eek").innerHTML = convertToKroons(round_five_cents(total_cost - originalValue).toFixed(2));
		}
	}
	else {
		if (lang == "ee") {
			document.getElementById("delivery_cost").value = originalValue.toFixed(2).replace(".", ",");
			if (document.getElementById("delivery_cost_eek")) document.getElementById("delivery_cost_eek").innerHTML = convertToKroons(originalValue.toFixed(2)).replace(".", ",");
			//alert(round_five_cents(total_cost + originalValue));
			document.getElementById("total_cost").innerHTML = round_five_cents(total_cost + originalValue).toFixed(2).replace(".", ",");
			if (document.getElementById("total_cost_eek")) document.getElementById("total_cost_eek").innerHTML = convertToKroons(round_five_cents(total_cost + originalValue).toFixed(2)).replace(".", ",");
		}
		else {
			document.getElementById("delivery_cost").value = originalValue.toFixed(2);
			if (document.getElementById("delivery_cost_eek")) document.getElementById("delivery_cost_eek").innerHTML = convertToKroons(originalValue.toFixed(2));
			document.getElementById("total_cost").innerHTML = round_five_cents(total_cost + originalValue).toFixed(2);
			if (document.getElementById("total_cost_eek")) document.getElementById("total_cost_eek").innerHTML = convertToKroons(round_five_cents(total_cost + originalValue).toFixed(2));
		}
	}
}

function show(id) {
	var e = document.getElementById(id);
	e.style.display = 'block';
}
function hide(id) {
	var e = document.getElementById(id);
	e.style.display = 'none';
}

