jQuery.noConflict();

jQuery(document).ready(function() {
	
	/* login form pop-up initialize */
	jQuery("#login_on").click(function(){ set_layer_off('top_menu'); return set_layer_on('login_layer');});
	jQuery("#login_off").click(function(){set_layer_on('top_menu'); return set_layer_off('login_layer');});
	
	/* search options form pop-up initialize */
	jQuery("#search_options_on").click(function(){return set_layer_on('search_options_layer');});
	jQuery("#search_options_off").click(function(){return set_layer_off('search_options_layer');});
	
	/* change language options form pop-up initialize */
	jQuery("#change_language_on").click(function(){return set_layer_on('language_options_layer');});
	jQuery("#change_language_off").click(function(){return set_layer_off('language_options_layer');});
	
	jQuery("#close_all_panels").click(function(){set_layer_off('search_options_layer'); return set_layer_off('language_options_layer');});
	
	jQuery('#new_quantity').change(refreshOrderValue);
	
	jQuery('#shipping_policy').change(computeDeliveryPrices);
	computeDeliveryPrices();
	
});

var computeDeliveryPrices = function() {
	var newPrice = jQuery("#shipping_price_"+jQuery('#shipping_policy').val()).val();
	var newPriceValue = newPrice == parseFloat(newPrice) ? parseFloat(newPrice) : 0;
	
	var i = 1, delta = 0, oldPrice = 0, oldPriceValue = 0;
	while (jQuery('#product_delivery_'+i).text()) {
		oldPrice = jQuery('#product_delivery_'+i).text();
		oldPriceValue = parseFloat(oldPrice) == oldPrice ? parseFloat(oldPrice) : 0;
		delta += newPriceValue - oldPriceValue;
		jQuery('#product_delivery_'+i).text(newPrice);
		jQuery('#product_total_value_'+i).text(parseFloat(jQuery('#product_value_'+i).text()) + newPriceValue);
		i++;
	}
	jQuery('#total_value').text(parseFloat(jQuery('#total_value').text()) + delta);
}
var set_all_layers_off = function(id) {
	jQuery("#language_options_layer").addClass('hide');
	jQuery("#search_options_layer").addClass('hide');
	jQuery("#login_layer").addClass('hide');
	if (id != 'login_layer')
	jQuery("#top_menu").removeClass('hide');
}
var set_layer_on = function(id) {
	set_all_layers_off(id);
	jQuery("#"+id).removeClass('hide');
	jQuery("#close_all_panels").removeClass('hide');
	return false;
};
var set_layer_off = function(id) {
	set_all_layers_off(id);
	jQuery("#"+id).addClass('hide');
	jQuery("#close_all_panels").addClass('hide');
	return false;
};

var refreshOrderValue = function() {
	var price = convertToFloat(jQuery('#price').val());
	var quant = convertToFloat(jQuery('#new_quantity').val());
	var myval = convertToMoney(quant * price);
	jQuery('#value').val(myval);
};

var convertToFloat = function(val) {
	var val = val.replace(/,/gi, '.');
		val = parseFloat(val.replace(/ /gi, ''));
	return val;
}
var convertToMoney = function(val) {
	var val = (val*100);
	var	myval_top = Math.floor(val/100);
		myval_low = Math.floor(val % 100);
		myval_low = myval_low < 10 ? '0'+myval_low : myval_low;
		val = myval_top+","+myval_low;
	return val+"";
}
var copyBetweenForms = function(from, to) {
	var elements = document.getElementsByTagName('input');
	var matchString = new RegExp('^'+from+'\[[0-9]+\]$', 'i');
	var currentId; 
	for(var el in elements) {
		if (elements[el].name && elements[el].name.match(matchString)) {
			currentId = elements[el].name.replace(/.*\[([0-9]+?)\].*/i, '$1');
			document.getElementById(to+'_'+currentId) ? document.getElementById(to+'_'+currentId).value = elements[el].value : null; 
		}
	}
	
		elements = document.getElementsByTagName('select');
	for(var el in elements) {
		if (elements[el].name && elements[el].name.match(matchString)) {
			currentId = elements[el].name.replace(/.*([0-9]+).*/i, '$1');
			document.getElementById(to+'_'+currentId) ? document.getElementById(to+'_'+currentId).selectedIndex = elements[el].selectedIndex : null;
		}
	}
}

var checkCreditCardFields = function() {

	var tmp = ''; var error = new Array(); var errorAlert = ''; var i;
	var elements = new Array('creditCardNumber', 'expDate_Year', 'expDate_Month', 'cvv2', 'firstName', 'lastName', 'street', 'city', 'state', 'zip', 'countryCode');
	
	tmp = document.getElementById('safe_form_'+'creditCardNumber');
	if (tmp == null || tmp.value == undefined || tmp.value == '') 
		error.push('creditCardNumber');
	
	tmp = document.getElementById('safe_form_'+'expDate_Year');
	if (tmp == null || tmp.value == undefined || tmp.value == '') 
		error.push('expDate_Year');
	
	tmp = document.getElementById('safe_form_'+'expDate_Month');
	if (tmp == null || tmp.value == undefined || tmp.value == '') 
		error.push('expDate_Month');
	
	tmp = document.getElementById('safe_form_'+'cvv2');
	if (tmp == null || tmp.value == undefined || tmp.value == '') 
		error.push('cvv2');
	
	tmp = document.getElementById('safe_form_'+'firstName');
	if (tmp == null || tmp.value == undefined || tmp.value == '') 
		error.push('firstName');
	
	tmp = document.getElementById('safe_form_'+'lastName');
	if (tmp == null || tmp.value == undefined || tmp.value == '') 
		error.push('lastName');
	
	tmp = document.getElementById('safe_form_'+'street');
	if (tmp == null || tmp.value == undefined || tmp.value == '') 
		error.push('street');
	
	tmp = document.getElementById('safe_form_'+'city');
	if (tmp == null || tmp.value == undefined || tmp.value == '') 	
		error.push('city');
	
	/*tmp = document.getElementById('safe_form_'+'state');	
	if (tmp == null || tmp.value == '' || tmp.value == undefined)	
		error.push('state');*/
	
	tmp = document.getElementById('safe_form_'+'zip');	
	if (tmp == null || tmp.value == undefined || tmp.value == '') 	
		error.push('zip');
		
	tmp = document.getElementById('safe_form_'+'countryCode');	
	if (tmp == null || tmp.value == undefined || tmp.value == '') 	
		error.push('countryCode');
	
	if (error.length > 0) {
		for (i in elements) {
			if (document.getElementById('safe_form_'+elements[i])) {
				document.getElementById('safe_form_'+elements[i]).className = 'input';
			}
		}
		for (i in error) {
			if (document.getElementById('safe_form_'+error[i])) {
				document.getElementById('safe_form_'+error[i]).className = 'error';
			}
		}
		return false;
	}	
	else {
		return true;
	}
}