// JavaScript Document
function round_decimals(original_number, decimals) {
    var result1 = original_number * Math.pow(10, decimals)
    var result2 = Math.round(result1)
    var result3 = result2 / Math.pow(10, decimals)
    return pad_with_zeros(result3, decimals)
}

function pad_with_zeros(rounded_value, decimal_places) {
    var value_string = rounded_value.toString()
    var decimal_location = value_string.indexOf(".")
    if (decimal_location == -1) {
        decimal_part_length = 0
        value_string += decimal_places > 0 ? "." : ""}
    else {decimal_part_length = value_string.length - decimal_location - 1}
    var pad_total = decimal_places - decimal_part_length
    if (pad_total > 0) {
        for (var counter = 1; counter <= pad_total; counter++) 
            value_string += "0"
        }
    return value_string
}
//Fetch Data need from lang file
function fetchlang(constant,dom){
new Ajax.Updater(dom, 'inc/php/script.php?action=fetchlang', {
  parameters: { def: constant }
});
}
//Add item to cart
function incart(el,t){
	//alert(el.name);
	el.removeClassName('addtocart')
	el.addClassName('incart')
	el.update(t.responseText);
}
//Display subtotal in cart
function updatecartsubtotal(){
var subtotal = 0
var totalitems = 0
var inputs = $('cartlist').getElementsBySelector('input')
var prices = $('cartlist').getElementsByClassName('price')
inputs.each(function(input, index) {
var price = prices[index].innerHTML.toString().replace(/[A-Za-z$ \/]/g,'') * input.value
	if (!isNaN(price)){
      subtotal += price;
	  totalitems += parseFloat(input.value)
  	}
});
$('subtotal').update(round_decimals(subtotal,2)+' $');
if (!isNaN(totalitems)){
$('totalitems').update(totalitems)
}else{$('totalitems').update('0')}
}	
//Remove item from cart + check if empty
function updatecartview(element){
element.ancestors()[2].remove()
updatecartsubtotal()
	if($('cartform').getInputs('text').length < 1){
	fetchlang('QUOTES_NOITEM','cartcontent')
	$('noitems').remove();
	}
}
var Rules = {
	'.addtocart:click': function(element) {
	var href = element.readAttribute('href').split('?');
	var sku = href[1].split('&')
	if($(sku[1]).value == ''){
	alert("no quantity")}else{
	var qty = $(sku[1]).value
	new Ajax.Request('/inc/php/script.php?ajax=1&'+href[1]+'='+qty, {method: 'post',onSuccess: function(t) { incart(element,t); } } );
	}
   },
   '.delfromcart:click': function(element) {
	var href = element.parentNode.readAttribute('href').split('?');
	new Ajax.Request('/inc/php/script.php?ajax=1&'+href[1], {method: 'post',	onSuccess:  updatecartview(element)} );
	},
   '#cartlist input:blur': function(element) {
	element.readAttribute('name')
    new Ajax.Request('/inc/php/script.php?ajax=1&action=addtocart&'+element.readAttribute('name')+'='+element.value, {method: 'post'} );
	updatecartsubtotal(element)
   },
   /*
   '.mcat:click': function(element) {
    var div = element.up(1).down('div')
	div.toggle();
   },*/
   // User Prefference ajax script
   '#accountprefform:submit': function(element) {
	var buttons = element.getInputs('submit')
	var pwd = element.getInputs('password')
	new Ajax.Request(element.readAttribute('action'), {asynchronous:true, parameters:Form.serialize(element)+'&ajax=1',
		onSuccess: function(t){
			Effect.Pulsate(buttons[0].up(0),{pulses:1,duration:1}) 
			$('passwordmsg').update(t.responseText)
		}
	});
	
	},
	//See if password match else change color
   '#pwd2:keyup': function(element) {
    if(element.value != $('pwd1').value){
		element.addClassName('red')
		}else{
		element.removeClassName('red')
		}
   }
}
EventSelectors.start(Rules);
