function trim( str, charlist ) {
	var whitespace, l = 0;

  if (!charlist) {
    whitespace = ' \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000';
  } else {
    whitespace = charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '\$1');
  }

  l = str.length;
  for (var i = 0; i < l; i++) {
    if (whitespace.indexOf(str.charAt(i)) === -1) {
      str = str.substring(i);
      break;
    }
  }

  l = str.length;
  for (i = l - 1; i >= 0; i--) {
    if (whitespace.indexOf(str.charAt(i)) === -1) {
      str = str.substring(0, i + 1);
      break;
    }
  }
  return whitespace.indexOf(str.charAt(0)) === -1 ? str : '';
}

function ChekDataPrwview(){
  var itemData = $("input[name=delivery_method]:checked").attr('id');
  var itemDataVal = $("input[name=delivery_method]:checked").val();
	if(itemDataVal == 0 || itemDataVal == 1){
    var shipingExtra = $("#delivery_address option:selected").text();
	  var shipingExtraValue = $("#delivery_address").val();
	  var delivery_notes = $("#delivery_notes").val();

	  if(shipingExtraValue == 9999){
	    var shipingExtra = $("#otherdileveryAdresData").val();
	  }
	  var orderTpe = $("input[name=delivery_method]:checked").val();

	  //return false;
	  if(shipingExtra == '' && orderTpe == 1){
	    alert(selectecAdress);
	    return false;
	  } else {
	    $("#ordersummary").toggle();
		  $("#order-confirm").toggle();
		  $("#shipingType span").hide();
		  $("#shipingExtraData").text('');
	    var method_0 = $("#method_0").text();

	    if(itemData == 'delivery_method_0'){
	      $("#shipingToClient").show();
	      $("#shipingExtraData").html(""+method_0+"<br />"+delivery_notes);
	    } else {
	      $("#shipingInslo").show();
	      //$("#shipingExtraData").text(shipingExtra);
	      $("#shipingExtraData").html(""+shipingExtra+"<br />"+delivery_notes);
	    }
	  }
	} else {
		alert(selectecAdressError);
	}
}

function redirectToUrl(url){
  window.location=""+url+"";
}

function submitForm(id){
  if(id != 'undefined'){
    $("#"+id).submit();
  }
}

/* BY Rob 21.02.2008 */
function LoadPostCode(val,UpdateItem,LoadingImageID){
	if(val.length > 1){
		$("#"+LoadingImageID).show();
		$.ajax({
			type: "POST",
			url: "/ajaxHandle.php",
			data: "req="+val,
			success: function(data){
				$("#"+LoadingImageID).hide();
				if(data != 'dataEmpty') {
					$("#"+UpdateItem).val(trim(data));
				}
			}
		});
	}
}


function ChangeInputSize(id,changeTo){
	$("#"+id).width(changeTo);
}

function LoadBankCode(val){
	$("#swift_code").val(val);
}

function fastAddRemoveRow(e){
	$(this).unbind('click', fastAddRemoveRow);
	$(this).parent().remove();
	e.preventDefault();
}
function fastAddAddRow(e){
	$block = $('<div class="fast-add-item">'
		+ '<a href="#" class="remove">-</a>'
		+ '<label style="width:75px">Preces kods, EAN</label> <input type="text" value="" name="fast-add-id[]" class="fast-add-id" />'
		+ '<label style="width:28px">Skaits</label> <input type="text" value="1" name="fast-add-count[]" class="fast-add-count" />'
		+ '</div>');
	$(this).parent().after($block);
	$block.find('a.remove').click(fastAddRemoveRow);
	e.preventDefault();
}
function resFastAddProduct(data){
	if (data.status == 'err'){
		$('#fast-add-messages').append(data.errors);
	}
	$('#basket-summary').empty();
	$('#basket-summary').append(data.sum);
	$('#justAdded div.content').append(data.cart);
	$("#justAdded").fadeIn("slow", function(){ 
		var to = setTimeout("$('#justAdded').fadeOut('slow')", 4000);
	});
  $("#justAdded").css({top: ($(window).height()-($("#justAdded").height()+20))+"px"});
}
function ajaxFastAddProduct(prodList){
  $('#justAdded div.content').empty();
  $('#fast-add-messages').empty();
	$.ajax({
    type : 'post',
    url : 'cart.php',
    data : {
    	cart_add_fast : 1,
    	prod_list : prodList,
    	ajax : 'yes'
		},
		success : resFastAddProduct,
		dataType: "json"
	});
}
function resAddProduct(data){
  $('#basket-summary').empty();
	$('#basket-summary').append(data.sum);
	$('#justAdded div.content').append(data.cart);
	$("#justAdded").fadeIn("slow", function(){ 
		var to = setTimeout("$('#justAdded').fadeOut('slow')", 4000);
	});
  $("#justAdded").css({top: ($(window).height()-($("#justAdded").height()+20))+"px"});
}	
function ajaxAddProduct(prodId, prodQuant) {
	$('#justAdded div.content').empty();
	$.ajax({
    type : 'get',
    url : 'cart.php',
    data : {
    	cart_add : 1,
    	prod_id : prodId,
    	prod_count : prodQuant,
    	ajax : 'yes'
		},
		success :resAddProduct,
		dataType: "json"
	});
}
function autoCompleteSearch(event,ui ) {
	log(ui.item ?
			"Selected: " + ui.item.value + " aka " + ui.item.id :
			"Nothing selected, input was " + this.value );
}
function cartSelectAll(e){
	if ($(this).is(':checked')){
		$('#cart-table input:checkbox').attr('checked', 'checked');
	} else {
		$('#cart-table input:checkbox').attr('checked', '');
	}
}
function cartSelectSome(e){
	if (!$(this).is(':checked')){
		$('#cart-table input#select-all').attr('checked', '');
	} else {
		var totalInputs = 0;
		var checkedInputs = 0;
		$('#cart-table input:checkbox').each(function(i, item){
			if (!$(item).is('#select-all')){
      	totalInputs ++;
      	if ($(item).is(':checked')){
      		checkedInputs ++;
				}
			}
		});
		if (totalInputs == checkedInputs){
			$('#cart-table input#select-all').attr('checked', 'checked');
		}
	}
}
function changeDeliveryMethod(e){
	if ($('#delivery_method_0').is(':checked')){
		$('#method_0').css('display', 'block');
		$('#method_1').css('display', 'none');
	} else {
		$('#method_0').css('display', 'none');
		$('#method_1').css('display', 'block');
	}
}
function changeDeliveryAddress(e){
	if (parseInt($(this).val()) == 9999){
		$('#delivery_address_other').css('display', 'block');
	} else {
		$('#delivery_address_other').css('display', 'none');
	}
}
function input_limiter(el, maxlimit) {
	if(el.value.length > maxlimit){
    el.value = el.value.substring(0, maxlimit);
  }
  var $counter = $(el).siblings('.counter');
  $counter.html(el.value.length + '/' + maxlimit);
}
function checkoutStep2(e){
	var delivery_method = $('input[name="delivery_method"]:checked').val();
	var delivery_notes = $("#delivery_notes").val();
	if (delivery_method != 0 && delivery_method != 1){
		// Error in transport selection
		$('#checkout-error-address').hide();
		$('#checkout-error-method').show();
		e.preventDefault();
	} else if (delivery_method == 1){
		// SLO transport
		$('#checkout-error-method').hide();
		var delivery_address = $("#delivery_address option:selected").text();
		if ($("#delivery_address").val() == 9999){
			delivery_address = $("#address_other").val();
		}
		if (delivery_address == ''){
			$('#checkout-error-address').show();
			e.preventDefault();
		} else {
			$('#checkout-error-address').hide();
		}
		
		$("#shipingBySlo").show();
		$("#shipingByClient").hide();
		$("#delivery_extra").html(delivery_address + '<br />' + delivery_notes);
	} else {
		// Client transport
		$('#checkout-error-address').hide();
		$('#checkout-error-method').hide();
		
		$("#shipingBySlo").hide();
		$("#shipingByClient").show();
		$("#delivery_extra").html($('#method_0').html() + '<br />' + delivery_notes);
	}
	var payment_method = $('input[name="payment_method"]:checked').val();
	if (payment_method == 1){
		$('#payOnDelivery').hide();
		$('#payByCard').show();
	} else {
		$('#payOnDelivery').show();
		$('#payByCard').hide();
	}
	$('#checkout-step-1').hide();
	$('#checkout-step-2').show();
	e.preventDefault();
}
function checkoutStep1(e){
	$('#checkout-step-2').hide();
	$('#checkout-step-1').show();
	e.preventDefault();
}
function checkoutBack(e){
	window.location = 'cart.php';
	e.preventDefault();
}
$(document).ready(function(){
	// Common
	$('a.lightbox').fancybox();
	
	// Add products
	$('form.add-from-index, form.add-from-product').submit(function(e){
		var prodId = parseInt($(this).find('input[name=prod_id]').val());
    var prodQuant = parseInt($('#prod_count_' + prodId).val());
    ajaxAddProduct(prodId, prodQuant);
		e.preventDefault();
	});
	// Fast-add products
	$('form#fast-add a.add').click(fastAddAddRow);
	$('form#fast-add').submit(function(e){
		if ($('#fast-add-excel').val().length <= 0){
			var prodList = new Array;
			var x = 0;
			$(this).find('div#fast-add-items input.fast-add-id').each(function(i, item){
				var prodId = $(item).val();
				var prodQuant = parseInt($(item).next().next().val());
				if (prodId.length > 0 && prodQuant > 0){
					x ++;
					prodList.push({id: prodId, quantity: prodQuant});
				}
			});
			if (x > 0){
				ajaxFastAddProduct(prodList);
			} else {
				
			}
			e.preventDefault();
		}
	});
	// Cart and templates
	$('#cart-table input#select-all').click(cartSelectAll);
	$('#cart-table input').click(cartSelectSome);
	$('a#cart-empty').click(function(e){
		if (!confirm('Vai tiešām vēlaties iztukšot grozu?')){
			e.preventDefault();
		}
	});
	$('a#template-delete').click(function(e){
		if (!confirm('Vai tiešām vēlaties dzēst groza sagatavi?')){
			e.preventDefault();
		}
	});
	// Search
	$('#search').autocomplete({
		minLength: 2,
		source: function( request, response ) {
			$('#search-loading').show();
			var catId = $('#s_cat_id').val();
			var subCatId = '';
			if (catId.length > 0){
				subCatId = $('#s_sub_cat_id').val();
			}
			var manId = parseInt($('#s_m').val());
			var inStock = $('#s_in_stock').is(':checked') ? 1 : 0;
			$.getJSON('/lv/catalog/autocomplete.php', {
				term: request.term,
				s_cat_id: catId,
				s_sub_cat_id: subCatId,
				s_m: manId,
				s_in_stock: inStock
			}, response );
		},
		open: function ( event, ui ){
			$('#search-loading').hide();
		},
		select: function( event, ui ) {
			var sText = $('#search').val();
			var catId = $('#s_cat_id').val();
			var subCatId = '';
			if (catId.length > 0){
				subCatId = $('#s_sub_cat_id').val();
			}
			var manId = parseInt($('#s_m').val());
			var inStock = $('#s_in_stock').is(':checked') ? 1 : 0;
			
			if (ui.item.type == 'manufacturer'){
				window.location = 'index.php?search=' + sText + '&s_m=' + ui.item.id  + '&s_cat_id=' + catId + '&s_sub_cat_id=' + subCatId + '&s_in_stock=' + inStock;
			} else if (ui.item.type == 'manufacturer_all'){
				window.location = 'index.php?s_m=' + ui.item.id  + '&s_cat_id=' + catId + '&s_sub_cat_id=' + subCatId + '&s_in_stock=' + inStock;
			} else if (ui.item.type == 'product'){
				window.location = 'product.php?prod_id=' + ui.item.id;
			} else if (ui.item.type == 'category'){
				if (ui.item.parent_id != ''){
					window.location = 'index.php?search=' + sText + '&s_m=' + manId + '&cat_id=' + ui.item.parent_id + '&sub_cat_id=' + ui.item.id + '&s_in_stock=' + inStock;
				} else {
					window.location = 'index.php?search=' + sText + '&s_m=' + manId + '&cat_id=' + ui.item.id + '&s_in_stock=' + inStock;
				}
			}
			return false;
		}
	}).data("autocomplete")._renderItem = function(ul, item) {
		if (item.type == 'group'){
			return $('<li class="ui-autocomplete-category">' + item.value + '</li>').appendTo(ul);
		} else {
			return $('<li></li>').data('item.autocomplete', item).append('<a>' + item.value + '</a>').appendTo(ul);
		}
	};
	$('#s_m, #s_cat_id, #s_sub_cat_id, select.feature-filter').change(function(){
		$('form#search-box').submit();
	});
	$('#s_in_stock').click(function(){
		$('form#search-box').submit();
	});
	// Checkout
	$('#checkout_form #delivery_method_0, #checkout_form #delivery_method_1').click(changeDeliveryMethod);
	$('#checkout_form #delivery_address').change(changeDeliveryAddress);
	$('#checkout_form #address_other').keyup(function(){
		input_limiter(this, 50);
	});
	$('#checkout_form #delivery_notes').keyup(function(){
		input_limiter(this, 240);
	});
	$('#checkout_save').click(checkoutStep2);
	$('#checkout_delivery_change').click(checkoutStep1);
	$('#checkout_cart_change').click(checkoutBack);
});




