// JavaScript Document

function submit_form()
{
	document.kernel_form.action = front_end_action;
	document.kernel_form.submit();
}

function Login()
{
	var tmp = Array();
	var cnt = 0;
	
	for (i=0; i<document.forms['kernel_form'].elements.length; i++) {
		var obj = document.forms['kernel_form'].elements[i];
		if (obj.name == 'username') {
			cnt++;
		}
	}
	
	if (cnt > 1) {
		for (i=0; i<document.forms['kernel_form'].elements.length; i++) {
			var obj = document.forms['kernel_form'].elements[i];
			if (obj.name.match(/username|password/)) {
				if (obj.value != '') {
					tmp[obj.name] = obj.value;
				} else {
					obj.value = tmp[obj.name];
				}
			}
		}
	}
	
	document.kernel_form.elements["login__action"].value = 'Login';
	/*if (document.kernel_form.t.value = 'cms')
	{
		document.kernel_form.t.value = document.kernel_form.ct.value.toString().replace(/^\//, '');
	}*/
	submit_form();
}

function Logout()
{
	document.kernel_form.elements["users__action_form"].value = 'Logout';
	submit_form();
}

function IfEnter(e)
{
	var keyCode = 0;
	if (e.keyCode) {
		keyCode = e.keyCode;
	} else if (e.which) {
		keyCode = e.which;
	}
	return (keyCode == 13) ? true : false;
}

function submitRegistration(prefix, action)
{
	// prefix - users__
	// action - create or update
	
	document.kernel_form.elements[prefix + 'action_form'].value = action;
	submit_form();
}

function set_page(prefix, template, page)
{
	document.kernel_form.elements["t"].value = template;
	document.kernel_form.elements[prefix + "page"].value = page;
	document.kernel_form.elements[prefix + "action_grid"].value = 'gotoPage';
	submit_form();
}

function search()
{
	set_save_referer();
	document.kernel_form.elements["reset_page"].value = 1;
	document.kernel_form.elements["t"].value = 'catalog/search';
	submit_form();
}

function select_category(t, cat_id, sub_cat_id, additional)
{
	set_save_referer();
	document.kernel_form.elements["t"].value = t;
	document.kernel_form.elements["cat_id"].value = cat_id;
	document.kernel_form.elements["sub_cat_id"].value = sub_cat_id;

	var a = additional.split("=");

	if (a.length == 2)
		document.kernel_form.elements[a[0]].value = a[1];
	else {
		document.kernel_form.elements["brilliant"].value = '';
		document.kernel_form.elements["pearl"].value = '';
	}
	document.kernel_form.elements["p__id"].value = '';		// Clear current PID
	submit_form();
}

function short_description(pid)
{
	set_save_referer();
	document.kernel_form.elements["p__id"].value = pid;
	document.kernel_form.elements["t"].value = 'catalog/collection';
	submit_form();
}

function view_product_info()
{
	set_save_referer();
	document.kernel_form.elements["t"].value = 'catalog/product_info';
	submit_form();
}

function set_save_referer(templ)
{
	var ref = '';
	var cat_id = (typeof(document.kernel_form.elements["cat_id"]) != 'undefined')
					? document.kernel_form.elements["cat_id"].value
					: '';
	var sub_cat_id = (typeof(document.kernel_form.elements["sub_cat_id"]) != 'undefined')
					? document.kernel_form.elements["sub_cat_id"].value
					: '';
	var brilliant = (typeof(document.kernel_form.elements["brilliant"]) != 'undefined')
					? document.kernel_form.elements["brilliant"].value
					: '';
	var pearl = (typeof(document.kernel_form.elements["pearl"]) != 'undefined')
					? document.kernel_form.elements["pearl"].value
					: '';
	ref = front_end_action;
	ref += (typeof(templ) != 'undefined') ? '?t='+templ : '?t='+document.kernel_form.ct.value.toString().replace(/^\//, '');
	ref += '&sid='+sid;
	ref += (cat_id != '') ? '&cat_id='+cat_id : '';
	ref += (sub_cat_id != '') ? '&sub_cat_id='+sub_cat_id : '';

	if (brilliant != '') {
		ref += '&brilliant='+brilliant;
	} else if (pearl != '') {
		ref += '&pearl='+pearl;
	}

	document.kernel_form.elements["save_referer"].value = ref;
}

function get_save_referer()
{
	return document.kernel_form.elements["save_referer"].value;
}

function back_to_catalog()
{
	location.href = get_save_referer();
}


// Shopping cart

function add_to_cart(p__id)
{
	//set_save_referer_in_prod_info();
	document.kernel_form.elements['sc_item_front_action_form'].value = 'Create';
	document.kernel_form.elements['p__id'].value = p__id;
	document.kernel_form.t.value = 'rfp';
	submit_form();
}

function add_items_to_cart(p__id, msg)
{
	var checkboxes_arr = document.kernel_form.getElementsByTagName('INPUT');
	var is_checked = false;
	for(var i = 0; i < checkboxes_arr.length; i++) {
		if(checkboxes_arr[i].name == 'typeitem_ids[]' && checkboxes_arr[i].checked) {
			is_checked = true;
			break;
		}
	}
	if(is_checked) {
		add_to_cart(p__id);
	}
	else {
		alert(msg);
	}
}

function remove_from_cart(id)
{
	document.kernel_form.elements['sc_item_front_id'].value = id;
	document.kernel_form.elements['sc_item_front_action_form'].value = 'Delete';
	document.kernel_form.t.value = 'rfp';
	submit_form();
}

function href(_t, params)
{
	var new_href = '';
	new_href  = front_end_action.replace(/index\.php$/, '');
	new_href += (default_lang_prefix == lang_prefix) ? _t : lang_prefix+'/'+_t;
	new_href += '.html';
	new_href += (typeof(params) != 'undefined') ? '?'+params : '';
	return new_href;
}

function continue_shopping(last_product_id)
{
	document.kernel_form.elements['shoppingcart_front_action_form'].value = 'ContinueCart';
	document.kernel_form.t.value = 'rfp';
	submit_form();
}

function check_quantities()
{
	for (i=0; i<document.forms['kernel_form'].elements.length; i++)
	{
		var obj = document.forms['kernel_form'].elements[i];

		if (obj && obj.name.match(/^sci_quantity_([0-9]+)$/))
		{
			error = 0;
			if (obj.value == null || obj.value == '') {
				error = 1;
				error_msg = 'Enter quantity!';
			} else if (obj.value.match(/^0/)) {
				error = 1;
				error_msg = 'No zero at begin for quantity value!';
			} else if (!parseInt(obj.value) || !obj.value.match(/^([0-9]+)$/)) {
				error = 1;
				error_msg = 'Quantity value must be an integer!';
			}
			if (error == 1) {
				alert(error_msg);
				obj.focus();
				return false;
			}
		}
	}
	return true;
}

function recalculate_cart()
{
	if (check_quantities()) {
		document.kernel_form.elements['shoppingcart_front_action_form'].value = 'UpdateCart';
		document.kernel_form.t.value = 'rfp';
		submit_form();
	}
}	

function make_order()
{
	if (check_quantities()) {
		document.kernel_form.elements['shoppingcart_front_action_form'].value = 'Update';
		document.kernel_form.t.value = 'rfp';
		submit_form();
	}
}

function create_dynamic_hidden_field(name, value)
{
	var df_div = document.getElementById('dynamic_fields');
	df_div.innerHTML += '<input type="hidden" name="'+name+'" value="'+value+'">';
}

function is_field(field_name)
{
	for (i=0; i<document.forms['kernel_form'].elements.length; i++)
	{
		var obj = document.forms['kernel_form'].elements[i];
		if (obj.name == field_name)
			return true;
	}
	return false;
}

function proceed_checkout()
{
	document.kernel_form.elements['shoppingcart_front_action_form'].value = 'Update';
	document.kernel_form.elements['checkout'].value = 1;
	document.kernel_form.t.value = 'rfp/checkout';
	submit_form();
}

function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

var tmp_bg;

function display_fulldiv(a_div)
{
	a_div.style.width = 'auto';
	tmp_bg = a_div.style.background;
	a_div.style.background = '#FFFFCE';  
	a_div.style.padding = '0 5 0 3';
	a_div.style.zIndex = 100;
}

function hide_fulldiv(a_div, width)
{ 
	a_div.style.width = width;
	a_div.style.background = tmp_bg;
	a_div.style.padding = '0 0 0 3';
	a_div.style.zIndex = 99;
}

function hide_splash()
{
	document.getElementById('banner_ice').style.display = 'none';
	document.getElementById('splash').style.display = 'none';
}

$(document).ready(function () {
	var targetSize = $('table.header-links').innerWidth();

	var cellsToResize = $('table.header-links td.resize');
	$('table.header-links td').not(cellsToResize).each(function () {
		targetSize -= $(this).outerWidth();
	});

	var targetSize = Math.floor(targetSize / cellsToResize.length) - 4;
	cellsToResize.not(':last').width(targetSize);

	// slideshow
	var visibleImages = $('.slideshow-image');
	if (visibleImages.length > 1) {
		setInterval(toggleSlideshowImage, 6000);
	}

	initSubscriptionForm();
});

function toggleSlideshowImage() {
	var visibleImage = $('.slideshow-image:visible');
	var nextImage = $(visibleImage).next();
	if (nextImage.length == 0) {
		nextImage = $('.slideshow-image:first');
	}
	visibleImage.fadeOut('slow');
	nextImage.fadeIn('slow');
}

function initSubscriptionForm() {
	$('#email-subscribe, #email-unsubscribe').click(function () {
		var formFields = {
			email: $('#subscribe-email').val()
		};

		formFields.subscriber__action_form = $(this).is('#email-subscribe') ? 'Subscribe' : 'Unsubscribe';

		$.post(subscribeUrl, formFields, function (data) {
			$('#subscribe-container').html(data);
			initSubscriptionForm();
		});
	});
}
