function error_log(e) {
	var log=new Image;
	var oBaseColl=document.getElementsByTagName('BASE');
	var msg;
	if (typeof e=="object") {
		msg="JS Exception:\n";
		for(k in e) {
			msg+="\t"+k+"="+e[k]+"\n";
		}
	}
	else {
		msg="JS Error: "+e;
	}
	if (msg.length>700) {
		msg=msg.substr(0, 700);
	}
	log.src=oBaseColl[0].href+"jserror/?m="+encodeURIComponent(msg);
}

// dropdown menu
var dropShowTimer=null;
var dropHideTimer=null;
function dropShow(item){
	try {
		if (dropHideTimer!=null) {
			clearTimeout(dropHideTimer);
			dropHideTimer=null;
			//console.log('cancel hide timer');
		}
		//console.log('start show timer');
		dropShowTimer=setTimeout(function() {
			try {
				dropShowTimer=null;
				//console.log('show finished');
				dropHideAll(item);
				var offset=24; // 34
				if (item.closest(".drop-in").hasClass("drop-in-line2")) {
					offset=-9; // -1
				}
				if ($.browser.msie) {
					offset--;
				}
				item.find(".ddbox").fadeIn(0).css("height", (item.find(".ddbox ul").height()-offset)+'px');				
			}
			catch(e) {
				error_log(e);
			}
		}, 150);
	}
	catch(e) {
		error_log(e);
	}
}
function dropHide(item){
	try {
		if (dropShowTimer!=null) {
			clearTimeout(dropShowTimer);
			dropShowTimer=null;
			//console.log('cancel show timer');
		}
		//console.log('start hide timer');
		dropHideTimer=setTimeout(function() {
			try {
				dropHideTimer=null;
				//console.log('hide finished');
				item.find(".ddbox").fadeOut(0);
			}
			catch(e) {
				error_log(e);
			}
		}, 150);
	}
	catch(e) {
		error_log(e);
	}
}
function dropHideAll(item) {
	// skryje všechny kromě zadané
	try {
		//console.log('hide all');
		$("#drop .drop-in").children("ul").each(function() {
			if (item==null || $(this).get(0)!=item.get(0)) {
				$(this).find(".ddbox").fadeOut(0);
			}
		});
	}
	catch(e) {
		error_log(e);
	}
}

function ns(e, dir) {
	try {
		if (!e) {var e = window.event;}
	  if (e.shiftKey) {
			location.href=dir+'/clns/?p='+location.href;
		}
	  if (e.ctrlKey) {
			location.href=dir+'/clfsa/?p='+location.href;
		}
	}
	catch(e) {
		error_log(e);
	}
}

function toggle(obj) {
	try {
		var el = document.getElementById(obj);
		if ( el.style.display != 'none' ) {
			el.style.display = 'none';
		}
		else {
			el.style.display = '';
		}
	}
	catch(e) {
		error_log(e);
	}
}

function setCart() {
	try {
		$.ajax({
			type: "POST",
			url: $('base').attr('href')+"cart/set/",
			dataType:"json",
			data: $('#cartForm').serialize()+'&ajax=1',
			success: function(data, textStatus){
				updateCart(data);
			}
		});
	}
	catch(e) {
		error_log(e);
	}
}
function flashItem(id) {
	try {
		var color='#fff5c3';
		var pause=1000;
		var dur=1000;
		if (isNaN(id)) {
			$('#'+id).css({'background-color':color});
			setTimeout(function() {$('#'+id).animate({backgroundColor:'white'}, dur)}, pause);
		}
		else {
			$('#cartRow'+id).css({'background-color':color});
			$('#cartRow'+id+'PHE').css({'background-color':color});
			setTimeout(function() {$('#cartRow'+id).animate({backgroundColor:'white'}, dur)}, pause);
			setTimeout(function() {$('#cartRow'+id+'PHE').animate({backgroundColor:'white'}, dur)}, pause);
		}
	}
	catch(e) {
		error_log(e);
	}
}
function updateCart(data) {
	// nastaví košík podle dat vrácených ze serveru
	try {
		if (data!=0) {
			$('#c_celkem_s_dph').val(data.cTotalIncVat);
			$('#celkem_bezdph').text(data.total+' '+data.curr);
			$('#cena_celkem').text(data.totalIncVat+' '+data.curr);
			$('#dopravanazev').text(data.dTitle);
			$('#dopravasdph').text(data.dPrice+' '+data.curr);
			$('#dopravasdph2').text(data.dPrice+' '+data.curr);
			if (data.c17>0) {
				$('#rowDelivery').css({'display':''});
				$('#nejdrivDoprava').css('display', 'none');
				if (typeof data.flashDelivery!='undefined') {
					flashItem('rowDelivery');
				}
			}
			if (data.c34>0) {
				$('#payment'+data.c34).attr('checked', 'checked');
				$('#splatkyinfo5').css('display', 'none');
				$('#splatkyinfo7').css('display', 'none');
				$('#loan0info5').css('display', 'none');
				$('#loan0info7').css('display', 'none');
				$('#tablecctype').css('display', 'none');
				switch(data.c34) {
					case 5: {
						$('#splatkyinfo5').css('display', '');
						if (data.loan0==true) {
							$('#loan0info5').css('display', '');
						}
						break;
					}
					case 6: {$('#tablecctype').css('display', ''); break;}
					case 7: {
						$('#splatkyinfo7').css('display', '');
						if (data.loan0==true) {
							$('#loan0info7').css('display', '');
						}
						break;
					}
				}
			}
			if (typeof data.deliveryTypes!='undefined') {
				// aktualizace druhů dopravy
				for(k in data.deliveryTypes) {
					if (data.deliveryTypes[k].c18activ==1) {
						$('#delivery'+k).removeAttr('disabled');
						$('#rowdelivery'+k).removeClass('disabled');
					}
					else {
						$('#delivery'+k).attr('disabled', 'disabled').removeAttr('checked');
						$('#rowdelivery'+k).addClass('disabled');
					}
					if (data.deliveryTypes[k].c18price==null) {
						$('#deliveryprice'+k).text('');
					}
					else {
						$('#deliveryprice'+k).text(data.deliveryTypes[k].c18price+' '+data.curr);
					}
				}
			}
			if (typeof data.paymentTypes!='undefined') {
				// aktualizace druhů platby
				for(k in data.paymentTypes) {
					if (data.paymentTypes[k].c37activ==1) {
						$('#payment'+k).removeAttr('disabled');
						$('#rowpayment'+k).removeClass('disabled');
					}
					else {
						$('#payment'+k).attr('disabled', 'disabled').removeAttr('checked');
						$('#rowpayment'+k).addClass('disabled');
					}
					if (data.paymentTypes[k].c37price==null) {
						$('#paymentprice'+k).text('');
					}
					else {
						$('#paymentprice'+k).text(data.paymentTypes[k].c37price+' '+data.curr);
					}
				}
			}
			if (typeof data.summaryCount!='undefined') {
				$('#cartSummaryCount').text(data.summaryCount);
			}
			if (typeof data.empty!='undefined' && data.empty==true) {
				$('#icocart').attr('src', 'design/header-cart-empty.gif');
			}
			if (typeof data.summaryPrice!='undefined') {
				$('#cartSummaryPrice').text(data.summaryPrice);
			}
		}
	}
	catch(e) {
		error_log(e);
	}
}

function uveryCalc(cena, loan0, uvery) {
	try {
		$.fn.colorbox({href:$('base').attr('href')+'uvery/calc/?price='+cena+'&loan0='+loan0+'&uvery='+uvery, open:true, width:"560px", height:"300px", initialWidth:'140px', initialHeight:'75px', iframe:true, close:"Zavřít"});
	}
	catch(e) {
		error_log(e);
	}
}

function CetelemCalc(cena) {
	try {
		$.fn.colorbox({href:$('base').attr('href')+'cetelem/calc/?price='+cena+'&onlyCalc=1', open:true, width:"820px", height:"580px", iframe:true, close:"Zavřít"});
	}
	catch(e) {
		error_log(e);
	}
}
function HomeCreditCalc(cena, loan0) {
	try {
		$.fn.colorbox({href:$('base').attr('href')+'homecredit/calc/?price='+cena+'&loan0='+loan0, open:true, width:"850px", height:"580px", iframe:true, close:"Zavřít"});
	}
	catch(e) {
		error_log(e);
	}
}

function checkCart(f) {
	try {
		// kontrola cetelem
		if ($("#payment5").attr('checked')==true) {
			var cena=parseInt($('#c_celkem_s_dph').val());
			$.fn.colorbox({
				href:$('base').attr('href')+'cetelem/calc/?price='+cena, 
				open:true, 
				width:"820px", 
				height:"580px", 
				iframe:true, 
				close:"Storno, návrat do košíku", 
				overlayClose:false,
				onLoad:function(){
					try {
						if ($("#myCboxSubmit").length==0) {
							$("#cboxContent").append('<div id="myCboxSubmit">Použít vybraný splátkový program</div>');
							$("#myCboxSubmit").click(function(){
								try {
									$("#cartForm").unbind('submit');
									$("#cartForm").submit();
								}
								catch(e) {
									error_log(e);
								}
							});
						}
					}
					catch(e) {
						error_log(e);
					}
				}
			});
			return;
		}
		// kontrola karty
		if ($("#payment6").attr('checked')==true) {
			if ($("#ccVISA").attr('checked')==true || $("#ccVisaElectron").attr('checked')==true
				|| $("#ccMasterCard").attr('checked')==true || $("#ccMaestro").attr('checked')==true
			) {
			}
			else {
				alert('Vyberte prosím druh platební karty.');
				return;
			}
		}
		// je vybrán zp. platby?
		if ($("#payment1").attr('checked')==true || $("#payment2").attr('checked')==true
			|| $("#payment3").attr('checked')==true || $("#payment4").attr('checked')==true
			|| $("#payment5").attr('checked')==true || $("#payment6").attr('checked')==true
			|| $("#payment7").attr('checked')==true || $("#payment8").attr('checked')==true
		) {
			$("#cartForm").unbind('submit');
			$("#cartForm").submit();
		}
		else {
			alert('Vyberte prosím způsob platby.');
		}
	}
	catch(e) {
		error_log(e);
	}
}
function cartCountChange(event) {
	try {
		$(event.currentTarget).parents('form').trigger('submit');
	}
	catch(e) {
		error_log(e);
	}
}
function cartCountKeyress(event) {
	try {
		if (event.keyCode==13) {
			event.preventDefault();
			$(event.currentTarget).parents('form').trigger('submit');
		}
	}
	catch(e) {
		error_log(e);
	}
}

function cartCountSubmit(event) {
	try {
		event.preventDefault();
		var c=$('#'+event.currentTarget.id+"Input").val();
		if (isNaN(parseInt(c))) {
			alert('Zadejte prosím počet kusů.');
		}
		else {
			$.ajax({
				type: "POST",
				url: (event.currentTarget.action.substr(0, 4)=='http')?event.currentTarget.action:$('base').attr('href')+event.currentTarget.action,
				dataType:"json",
				data: $(event.currentTarget).serialize()+'&ajax=1',
				success: function(data, textStatus){
					try {
						if (typeof data.deletedID!='undefined') {
							$('#cartRow'+data.deletedID).remove();
							$('#cartRow'+data.deletedID+'PHE').remove();
						}
						if (typeof data.updatedID!='undefined') {
							if (typeof data.updItem!='undefined') {
								$('#itemCount'+data.updatedID).val(data.updItem.count);
								$('#totprice'+data.updatedID).text(data.updItem.price);
							}
							if (typeof data.updItemPHE!='undefined') {
								$('#itemCount'+data.updatedID+'PHE').text(data.updItemPHE.count+'×');
								$('#totprice'+data.updatedID+'PHE').text(data.updItemPHE.price);
							}
						}
						if (typeof data.fsInfo!='undefined') {
							$('#fsInfo').html(data.fsInfo);
						}
						if (typeof data.empty!='undefined' && data.empty==true) {
							$('#cartContent').html(data.emptyContent);
							$('#cartSummary').text(data.summaryText);
							$('#icocart').attr('src', 'design/header-cart-empty.gif');
						}
						else {
							updateCart(data);
						}
					}
					catch(e) {
						error_log(e);
					}
				}
			});
		}
	}
	catch(e) {
		error_log(e);
	}
}

function cartRemove(event) {
	try {
		event.preventDefault();
		$.ajax({
			type: "GET",
			url: event.currentTarget.href+'&ajax=1', // url uz je absolutni
			dataType:"json",
			success: function(data, textStatus){
				try {
					if (typeof data.deletedID!='undefined') {
						//$('#cartRow'+data.deletedID+'PHE').animate({height:0}, 1000);
						//$('#cartRow'+data.deletedID).animate({height:0}, 1000);
						$('#cartRow'+data.deletedID).remove();
						$('#cartRow'+data.deletedID+'PHE').remove();
					}
					if (typeof data.fsInfo!='undefined') {
						$('#fsInfo').html(data.fsInfo);
					}
					if (typeof data.empty!='undefined' && data.empty==true) {
						$('#cartContent').html(data.emptyContent);
						$('#cartSummary').text(data.summaryText);
						$('#icocart').attr('src', 'design/header-cart-empty.gif');
					}
					else {
						updateCart(data);
					}
				}
				catch(e) {
					error_log(e);
				}
			}
		});
	}
	catch(e) {
		error_log(e);
	}
}

function cartAddressShowDelivery() {
	try {
		$("#cartAddrDelivery").slideDown(200);
		$("#cartAddrDeliveryP").html("<strong>Poznámka:</strong> Vyplňte v případě, že chcete zboží doručit na jinou než fakturační adresu.");
	}
	catch(e) {
		error_log(e);
	}
}
function cartShowCompany() {
	try {
		$("#cartCompany").slideDown(200);
		$("#cartCompanyP").html("<strong>Poznámka:</strong> Firemní údaje nejsou povinné.");
	}
	catch(e) {
		error_log(e);
	}
}
function cartAddressSubmit() {
	try {
		if ($("#invfname-id").val()=='') {alert('Zadejte prosím Vaše jméno.'); return false;}
		if ($("#invlname-id").val()=='') {alert('Zadejte prosím Vaše příjmení.'); return false;}
		if ($("#invstree-id").val()=='') {alert('Zadejte prosím Vaši adresu - ulici a číslo.'); return false;}
		if ($("#invcity_-id").val()=='') {alert('Zadejte prosím Vaši adresu - obec nebo město.'); return false;}
		if ($("#invpostc-id").val()=='') {alert('Zadejte prosím Vaše PSČ.'); return false;}
		if ($("#invphone-id").val()=='') {alert('Zadejte prosím Vaše telefonní číslo.'); return false;}
		var val = $("#email-id").val().replace(/^\s+|\s+$/g, '');
		var res = /^[^@]+@[^@]+\.[a-z]{2,6}$/i.test(val);
		if ($("#email-id").val()=='' || !res) {alert('Zadejte prosím Vaši platnou emailovou adresu.'); return false;}
		if ($("#souhlas-id").attr('checked')!=true) {alert('Pokud chcete nakupovat, musíte vyjádřit souhlas s Nákupním řádem a Reklamačním řádem.'); return false;}
		$("#cartAddressForm").unbind('submit');
		$("#cartAddressForm").submit();
	}
	catch(e) {
		error_log(e);
	}
}
function cartAddressSaveField(event) {
	try {
		$.ajax({
			type: "POST",
			url: $('base').attr('href')+'cart/address/savefield/',
			dataType:"text",
			data: 'n='+event.currentTarget.name+'&v='+((event.currentTarget.type=='checkbox')?event.currentTarget.checked:event.currentTarget.value),
			success: function(data, textStatus){
			}
		});
	}
	catch(e) {
		error_log(e);
	}
}


function loginCustomer(event) {
	try {
		$.ajax({
			type: "POST",
			url: (event.currentTarget.action.substr(0, 4)=='http')?event.currentTarget.action:$('base').attr('href')+event.currentTarget.action,
			dataType:"json",
			data: $(event.currentTarget).serialize()+'&ajax=1',
			success: function(data, textStatus){
				try {
					if (typeof data.result!='undefined') {
						if (data.result=='ok') {
							location.reload();
						}
						else {
							if (data.result!='') {
								alert(data.result);
							}
						}
					}
				}
				catch(e) {
					error_log(e);
				}
			}
		});
	}
	catch(e) {
		error_log(e);
	}
}

