/**
 * Global variable
 */
var projectUrl = 'http://www.d4ushop.cz/';
var projectUri = '';
var menuPad = 20;

/**
 * Open new popup window
 */
function openWindow(url, x, y, scroll_bar)
{
  new_win = window.open(url,'window','toolbar=no,menubar=no,location=no,directories=no,scrollbars='+scroll_bar+',resizable=no,status=no,width='+x+',height='+y);
  new_win.focus();
}//newWindow



/**
 * Insert item into basket
 */
function intoBasket(id)
{
  $('#bagAdd_id').val(id);
  $('#bag_amount_dyn').val(1);
  document.getElementById('intoBasketForm').submit();
}//intoBasket



/**
 * Show/hide object
 */
function showHide(id)
{
  if (document.getElementById(id).style.display=='block') 
  {
		document.getElementById(id).style.display='none';
    document.getElementById(id).style.visibility='hidden';
	} 
	else
	{
		document.getElementById(id).style.visibility='visible';
		document.getElementById(id).style.display='block';
	}
}//showHide



/**
 * Show object
 */
function show(id)
{
	document.getElementById(id).style.display='block';
  document.getElementById(id).style.visibility='visible';
}//show



/**
 * Hide object
 */
function hide(id)
{
	document.getElementById(id).style.display='none';
  document.getElementById(id).style.visibility='hidden';
}//hide


/***
 * checks whether variable is numeric
 * @param {Object} A
 */
function checkIsNumeric(A) {
	if(parseInt(A) != (A-0)) {
		return false
	} else {
		return true
	}
}


/***
 * checks whether number of items requested to be added
 * is numeric and whether it is > 0
 */
function checkAddBasket(err_msg, no_selection_err_msg) {
	var amount = $('#bag_amount').val();
	var variant = $('#bag_variant').val();
	var id = $('#bag_dyn_id').val();
	var variant_array_exists = $('#bag_array_exists').val(); //for variant checkbox existance only
	var variantSelectedItems = new Array();

	$("input[@name='bag_variant[]']:checked").each(function() {variantSelectedItems.push($(this).val());});
	
	if (variant_array_exists == '1') {
		// warn if selected nothing
		if (no_selection_err_msg == undefined) no_selection_err_msg = 'Please select item(s) first.';
		if (variantSelectedItems.length == 0) { 
			alert(no_selection_err_msg); 
			return false;
		}
		
		// serialize selected variants (example idVariant1=amount|idVariant2=amount)
		var variantsSerialized = '';
		var first = true;
		var variantAmount = '';
		for (var i in variantSelectedItems) {
			variantAmount = $('#bag_amount_'+variantSelectedItems[i]).val();
			variantsSerialized += (first?'':'|')+variantSelectedItems[i]+'='+variantAmount;
			first = false;
		}
		
		// fill and submit form
		$('#bag_variant_dyn').val(variantsSerialized);
		$('#bagAdd_id').val(id);
		document.getElementById('intoBasketForm').submit();		
		return false;
	} 
	else if (checkIsNumeric(amount) && (amount > 0)) {
		$('#bag_amount_dyn').val(amount);
		$('#bag_variant_dyn').val(variant);
		$('#bagAdd_id').val(id);
		document.getElementById('intoBasketForm').submit();
		return false;
	}
	else {
		alert(err_msg);
		return false;
	}
}

function commentClick(id, msg) {
	f = document.getElementById('new_comment_form');
	if (f) {
		f.rgt.value = id;
		alert(msg);
	}
}

//change amount of good in basket
function bagChange(id, variant, lang)
{
  bch = document.getElementById('bagChangeForm');
  bch.bagChange_id.value = id;
  bch.bag_variant.value = variant;
  bch.bag_amount.value = document.getElementById('amount_'+id+'_'+variant).value;
  bch.bag_variant_changeto.value = document.getElementById('variant_'+id+'_'+variant).value;
  if (checkIsNumeric(bch.bag_amount.value) && (bch.bag_amount.value > 0)) {
  	bch.submit();
  } else {
  	alert(lang);
  }
}

//delete good from basket
function bagDel(id, variant, lang)
{
  if (window.confirm(lang)) {
	  bd = document.getElementById('bagDelForm');
	  bd.bagDel_id.value = id;
	  bd.bag_variant_dyn.value = variant;
	  bd.submit();
  }
}


/**
*  Javascript trim, ltrim, rtrim
*  http://www.webtoolkit.info/
**/

function trim(str, chars) {
    return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}
