$(document).ready(function(){

	$(function() {
		$('a[rel=lightbox]').fancybox();
	});
	
	initAjaxMenu();
	initLoginForm();
	initPathMenu();
	switchInput();
	
	if($('div#icontent').length > 0) initIndex();
	if($('div#shopitem').length > 0) initShopItem();
	if($('div#shoplist').length > 0) initShopList();
	if($('div#userform').length > 0) initUserForm();
	if($('div#orderform').length > 0) initOrderForm();
	if($('div#cartcontent').length > 0) initCartForm();
	if($('div#searchform').length > 0) initSearchForm();
;});

window.onload = function () {
	if($('#themebox').length > 0) $('#themebox').slideshow({ 
		timeout: '5000',
		type: 'sequence',
		tag: 'div.headlineBox'
	});
}

function initIndex(){
	showVat();
}

function initOrderForm(){
	$("div.ffrow").each(function() {
		row = this;
		input = $(row).find('input[name="demand"]');
		$(row).removeClass("current");
		$(input).each(function() {
			if($(input).attr('checked') != true) $(row).find('div.ffpay').css('display','none');
			else $(row).addClass("current");
			$(input).click(function(){
				switchOrderForm(this)
				this.blur();
			;})
		});
	});
	$('select[name="adress"]').change(function() {
		switchAdress(this);
	});
}

function switchOrderForm(node){
	$("div.ffrow").each(function() {
		row = this;
		input = $(this).find('input[name="demand"]');
		$(row).removeClass("current");
		$(input).each(function() {
			if($(node).attr('checked') != $(input).attr('checked')) {
				$(row).find('div.ffpay').css('display','none');
			}
			else {
				$(row).find('div.ffpay').css('display','block');
				$(row).addClass("current");
			}
		});
	});
}

function switchAdress(node){
	$('select[name="adress"] option:selected').each(function () {
		optionId = $(this).attr("value");
		option = $(this).text();
		if(optionId == "f") txt = $('p#fadress').html();
		else if(optionId == "n") txt = '<a href="/uzivatel/adresar/order-add.html">Kliknite pre vytvorenie novej adresy</a>';
		else if(optionId) {
			options = option.split(', ');
			if(options.length == 5) txt = '<strong>'+options[0]+'</strong><br />'+options[1]+'<br />'+options[3]+' '+options[2]+'<br />'+options[4]+'<br /><a href="/uzivatel/adresar/order-adress'+optionId+'-edit.html">upraviť adresu</a>';
			else txt = '<strong>'+$('p#fadress strong').html()+'</strong><br />'+options[0]+'<br />'+options[2]+' '+options[1]+'<br />'+options[3]+'<br /><a href="/uzivatel/adresar/order-adress'+optionId+'-edit.html">upraviť adresu</a>';
		}
		$('p#dadress').html(txt);
		$('input[name="adressid"]').attr('value',optionId);
		$(this).removeAttr('selected');
	});
}

function initCartForm(){
	showVat();
}

function initShopList(){
	showVat();
	showView();
	$("a.slisticons").click(function(){
		$("div#viewmode a").removeClass("current");
		$(this).addClass("current");
		$("div#shoplist").removeClass("stiles").removeClass("slist").addClass("sicons");
		$("img.slimg").each(function(){ $(this).attr('src',$(this).attr('src').replace(/(tsicons|tstiles|tslist)/,'tsicons')); });
		$.cookie('slist', 'sicons', { path: '/' });
		this.blur();
		return false;
	;})
	$("a.slisttiles").click(function(){
		$("div#viewmode a").removeClass("current");
		$(this).addClass("current");
		$("div#shoplist").removeClass("sicons").removeClass("slist").addClass("stiles");
		$("img.slimg").each(function(){ $(this).attr('src',$(this).attr('src').replace(/(tsicons|tstiles|tslist)/,'tstiles')); });
		$.cookie('slist', 'stiles', { path: '/' });
		this.blur();
		return false;
	;})
	$("a.slistlist").click(function(){
		$("div#viewmode a").removeClass("current");
		$(this).addClass("current");
		$("div#shoplist").removeClass("sicons").removeClass("stiles").addClass("slist");
		$("img.slimg").each(function(){ $(this).attr('src',$(this).attr('src').replace(/(tsicons|tstiles|tslist)/,'tslist')); });
		$.cookie('slist', 'slist', { path: '/' });
		this.blur();
		return false;
	;})
	$("div#filteritems").css('display', 'none');
	$("div#filteritems.pneu").css('display', 'block');
	$("div#filteritems fieldset").css('display', 'none');
	$("div#filteritems fieldset#ffpneu").css('display', 'block');
	$("a#filteron").click(function(){
		$("div#filteritems").css('display', 'block');
		$("div#filterhead").css('display', 'none');
		this.blur();
		return false;
	;})
	$("a#filteroff").click(function(){
		$("div#filteritems").css('display', 'none');
		$("div#filterhead").css('display', 'block');
		this.blur();
		return false;
	;})
	$("div#ffbuttons a").click(function(){
		fname = $(this).attr('href').replace(/#/g,'');
		$("fieldset#"+fname).css("display","block");
		$(this).css("display","none");
		this.blur();
		return false;
	;})
	$("a.ffexit").click(function(){
		ffsc = $(this).attr('id').replace(/e$/g,'');
		fnamec = $(this).attr('id').replace(/e$/g,'c');
		$("fieldset#" + ffsc + " input").each(function() {
			if($(this).attr('type') == "checkbox" && $(this).attr('checked') == true) $(this).attr('checked',false);
			if($(this).attr('type') == "text" && $(this).attr('value')) $(this).attr('value','');
		});
		$("a#"+fnamec).css("display","block");
		$("fieldset#"+ffsc).css("display","none");
		this.blur();
		return false;
	;})
	$("a.ffcheck").click(function(){
		rfsca = $(this).attr('href').replace(/#/g,'');
		$("fieldset#" + rfsca + " input[type='checkbox']").attr('checked', true);
		this.blur();
		return false;
	;})
	$("a.ffuncheck").click(function(){
		rfscu = $(this).attr('href').replace(/#/g,'');
		$("fieldset#" + rfscu + " input[type='checkbox']").attr('checked', false);
		this.blur();
		return false;
	;})
	$("span#factitems a").each(function() {
		rfsc = $(this).attr('class').replace(/s$/g,'');
		rfscc = $(this).attr('class').replace(/s$/g,'c');
		$("fieldset#"+rfsc).css("display","block");
		$("a#"+rfscc).css("display","none");
		$(this).click(function(){
			url = $(this).attr('href').replace('http://'+document.domain+'/','');
			$("div#shoplist").css({ opacity: 0.20 });
			var content = ajaxContent(url);
			if(content) {
				$("div#shoplist").html(content);
				initShopList()
			}
			$("div#shoplist").css({ opacity: 1 });
			this.blur();
			return false;
		;})
	});
	$('select#sorting').change(function(){
		url = $("form.filter").attr('action').replace('http://'+document.domain+'/','');
		url = url.replace(/\.html$/,'-sf-order' + $('select#sorting option:selected').attr("value") + '.html');
		$("div#shoplist").css({ opacity: 0.20 });
		var content = ajaxContent(url);
		if(content) {
			$("div#shoplist").html(content);
			initShopList()
		}
		$("div#shoplist").css({ opacity: 1 });
		this.blur();
		return false;
	;})
	$('select#number').change(function(){
		url = $("form.filter").attr('action').replace('http://'+document.domain+'/','');
		url = url.replace(/\.html$/,'-sf-ipp' + $('select#number option:selected').text() + '.html');
		$("div#shoplist").css({ opacity: 0.20 });
		var content = ajaxContent(url);
		if(content) {
			$("div#shoplist").html(content);
			initShopList()
		}
		$("div#shoplist").css({ opacity: 1 });
		this.blur();
		return false;
	;})
	$('a#mshowall').click(function(){
		$("a.lmenuoc").addClass("opened");
		$("li.havechild ul").removeClass("closed");
		$.cookie('smenu', "show", { path: '/' });
		this.blur();
		return false;
	;})
	$('a#mhideall').click(function(){
		$("a.lmenuoc").removeClass("opened");
		$("li.havechild ul").addClass("closed");
		$.cookie('smenu', "hide", { path: '/' });
		this.blur();
		return false;
	;})
	$('a.lmenuoc').click(function(){
		var am = this.id.replace(/^lmenuoc/g,'lumenuoc');
		li = 'ul#'+am;
		if($(this).hasClass("opened")){
			$(this).removeClass("opened");
			$(li).addClass("closed");
		}
		else {
			$(this).addClass("opened");
			$(li).removeClass("closed");
		}
		this.blur();
		return false;
	;})
	showLeftMenu()
}

function showLeftMenu(){
	$('div#leftmenu a.current').each(function() {
		var om = this.id.replace(/^lmenu/g,'');
		$('ul#lumenuoc'+om).removeClass("closed");
		$('a#lmenuoc'+om).addClass("opened");
	});
}

function showVat(){
	$('input.showvat').click(function(){
		$.cookie('showvat', $(this).attr("checked"), { path: '/' });
		switchVat();
		this.blur();
	;})
	switchVat();
}

function switchVat(){
	if($.cookie('showvat') == "true") {
		$('input.showvat').attr("checked","checked");
		$("span.scnovat").css('display','inline');
		$("span.scvat").css('display','none');
	}
	else {
		$('input.showvat').attr("checked","");
		$("span.scnovat").css('display','none');
		$("span.scvat").css('display','inline');
	}
}

function showView(){
	if($.cookie('slist') == "slist") $('a.slistlist').addClass("current");
	else if($.cookie('slist') == "sicons") $('a.slisticons').addClass("current");
	else $('a.slisttiles').addClass("current");
}

function initUserForm(){
	showUtype();
	showDtype();
	$('input[name=utype]').click(function(){
		showUtype();
		this.blur();
	;})
	$('input[name=dtype]').click(function(){
		showDtype();
		this.blur();
	;})
}

function showUtype(){
	if($('input[name=utype]:checked').val() == "s") {
		$("div.regs").css('display','block');
		$("div.regf").css('display','none');
	}
	else {
		$("div.regf").css('display','block');
		$("div.regs").css('display','none');
	}
}

function showDtype(){
	if($('input[name=dtype]:checked').val() == "f") {
		$("div.regd").css('display','none');
		$("div.regi").css('display','block');
	}
	else {
		$("div.regd").css('display','block');
		$("div.regi").css('display','none');
	}
}

function initSearchForm(){
	$('a#selink').click(function(){
		$('div#searchext').css('display','block');
		this.blur();
		return false;
	;})
	$('a#stlink').click(function(){
		$('div#searchtips').css('display','block');
		this.blur();
		return false;
	;})
	$('a#extclose').click(function(){
		$('div#searchext').css('display','none');
		this.blur();
		return false;
	;})
	$('a#tipsclose').click(function(){
		$('div#searchtips').css('display','none');
		this.blur();
		return false;
	;})
}

var loginOn = 0;
var loginOff = 0;

function initLoginForm(){
	$("div#loginform").css('display','none');
	$("a#loglink").click(function(){
		switchLoginForm(this);
		this.blur();
		return false;
	;})
}

function switchLoginForm(node){
	if (loginOn==0) onLoginForm(node);
	else offLoginForm(node);
}

function onLoginForm(node){
	loginOn = 1;
	$("div#bodywrap").click(function(){ offLoginForm(this);;})
	$("div#loginform").css('display','block').click(function(){ 
		loginOff = 1;
	;})
	$("div#loginbg").css("display","block").height($("div#loginform").height());
	
}

function offLoginForm(node){
	if(loginOff == 0){
		loginOn = 0;
		$("div#bodywrap").unbind('click');
		$("div#loginbg").css("display","none").unbind('click');
		$("div#loginform").css('display','none').unbind('click')
	}
	else {
		loginOff = 0;
	}
}



function switchInput(){
	$('.switchin').each(function(i) {
		if($(this).attr("type") == "password"){
			$(this).attr("oldtype","password");
		}
		$(this).attr("oldtitle",$(this).attr("value"));
		$(this).focus(function() {
			if($(this).attr("value") == $(this).attr("oldtitle")) this.value = "";
			if($(this).attr("oldtype") == "password") {
				//alert('robim heslo');
				//$(this).replaceWith($(this).clone().attr("type","password"));
			}
			
		}).blur(function() {
			if($(this).attr("value") == "") $(this).attr("value",$(this).attr("oldtitle"));
			if($(this).attr("oldtype") == "password") {
				//$(this).replaceWith($(this).clone().attr("type","text"));
			}
		});
	});
}

function openMap(node){
	if($(node.hash).css("height") == "0px") {
		$(node.hash).animate({ 
			height: "350px"
 		}, 500 );
	}
	else {
		$(node.hash).animate({ 
			height: "0px"
 		}, 500 );
	}
	return false;
}

var ajaxMenuRequest = "/app/menu.php";
var ajaxMenu = new Array();
var ajaxMenuAct = "";
var timeout	= 100;
var closetimer	= 0;

function initAjaxMenu(){
	$("div#topmenu").append("<div id=\"ajaxbg\" class=\"tpopupbg\"></div>");
	$("div#topmenu").append("<div id=\"ajaxmenu\" class=\"tpopup\"></div>");
	$("div#ajaxbg").css({ opacity: 0.90 });
	$("a.ajmenu").hover(
		function(){
			if($(this).hasClass('havechild')) openAjaxMenu(this);
			else {
				mcancelclosetime();
				closeAjaxMenu();
			}
		},
		function(){
			mclosetime();
		}	    
	);
	$("div#ajaxmenu").hover(
		function(){ 
			mcancelclosetime();
		}, 
		function(){
			mclosetime();
		}
	);
}

function openAjaxMenu(node){
	
	var id = node.id.replace(/[^0-9]/g, '');
	
	mcancelclosetime();
	if($(ajaxMenuAct).length > 0) closeAjaxMenu();
	
	ajaxMenuAct = 'a#'+node.id;
	$(ajaxMenuAct).addClass("menuact");
	
	if(!ajaxMenu[id]) {
		$("div#ajaxbg").css("display","block").height("100px").addClass("loader");
		$.ajax( {
			type: 'GET',
			async: false,
			url: ajaxMenuRequest,
			data: 'id='+id,
			success: function(data) {
				ajaxMenu[id] = data; 
			}
		});
	}
	
	$("div#ajaxmenu").html(ajaxMenu[id]).css("display","block");
	$("div.menuinfobox").html($("div.menuinfomain").html());
	$("div#ajaxmenu li").hover(
		function(){
			$("div.menuinfobox").html($("div.menuinfo",this).html());
		}, 
		function(){
			$("div.menuinfobox").html($("div.menuinfomain").html());
		}
	);
	$("div#ajaxbg").css("display","block").removeClass("loader").height($("div#ajaxmenu").height());
	
	return false;
}

function closeAjaxMenu(){
	if($(ajaxMenuAct).length > 0) {
		$(ajaxMenuAct).removeClass("menuact");
		$('div#ajaxmenu').css("display","none");
		$('div#ajaxbg').css("display","none");
		return false;
	}
}

function mclosetime(){
	closetimer = window.setTimeout(closeAjaxMenu, timeout);
}

function mcancelclosetime(){
	if(closetimer)	{
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

var ajaxPathRequest = "/app/path.php";
var ajaxPath = new Array();
var ajaxPathAct = "";
var pclosetimer	= 0;

function initPathMenu(){
	$("div#path a").hover(
		function(){
			openPathMenu(this);
		},
		function(){
			pclosetime();
		}	    
	);
}

function openPathMenu(node){
	var id = node.id.replace(/[^0-9]/g, '');
	pcancelclosetime();
	if(ajaxPathAct) closePathMenu();
	ajaxPathAct = id;
	if(!ajaxPath[id]) {
		$.ajax( {
			type: 'GET',
			async: false,
			url: ajaxPathRequest,
			data: 'id='+id,
			success: function(data) {
				ajaxPath[id] = data; 
			}
		});
		$("span#bcs"+id).append(ajaxPath[id]);
		$("span#bcs"+id+" ul").hover(
			function(){ 
				pcancelclosetime();
			}, 
			function(){
				pclosetime();
			}
		);
	}
	$("span#bcs"+id+" ul").css("display","block")
	return false;	
}

function closePathMenu(){
	if(ajaxPathAct) {
		$("span#bcs"+ajaxPathAct+" ul").css("display","none");
		//$("div.ajaxmenu").css("display","none");
		//$('div.ajaxbg').css("display","none");
		return false;
	}
}

function pclosetime(){
	pclosetimer = window.setTimeout(closePathMenu, timeout);
}

function pcancelclosetime(){
	if(pclosetimer)	{
		window.clearTimeout(pclosetimer);
		pclosetimer = null;
	}
}

function initShopItem(){
	showVat();
	var top = $('#questions').offset().top;
	var bottom = $('#questions').height()+top;
	var height = $('#qaform').height();
	$(window).scroll(function (event) {
		var y = $(this).scrollTop();
		var d = y - top + 30;
		if (y >= top-30 && y <= bottom-height) {
			$('#qaform').css('marginTop',d + 'px');
		} 
		else if (y < top-30) {
			$('#qaform').css('marginTop','0px');
		}
	});
	
	if($('a.siimage').length > 1) {
		
		$('a.siimage:first').addClass('current');
		$('a.siimage').click(function(){
			$('img.simimage').attr('src',this.href);
			$('a.siimage').removeClass('current');
			$(this).addClass('current');
			this.blur();
			return false;
		;})
		
		$('div.sdimg').append('<a class="siimnext"></a><a class="siimprev"></a>');
		
		$('a.siimnext').click(function(){
			setItemImg('next');
			return false;
		;})
		
		$('a.siimprev').click(function(){
			setItemImg('prev');
			this.blur();
			return false;
		;})
	}
	

	$('div#sfform').css({
		display:"none",
		position:"absolute",
		top:"45px",
		left:"0px",
		zIndex:"80"
	}).appendTo("div#silinks");
	
	if(window.location.hash == "#silinks") {
		setSfform();
		$('div#sfform').css("display","block").appendTo("div#silinks");
	}
	
	$('a.sil-mail').click(function(){
		setSfform();
		var npos = $('div#silinks').offset();
		window.scrollTo(npos.left,npos.top-10);
		this.blur();
		return false;
	;})
	
	$('a.showdemands').fancybox();
}

function setItemImg(step){
	var w = 114;
	var i = 0;
	$("a.siimage").each(function() {
		i++;
		img = this;
		if($(img).hasClass("current")){
			if(step == "next") var n = $(img).next();
			else if(step == "prev") var n = $(img).prev();
			if($(n).length > 0){
				$('img.simimage').attr('src',$(n).attr('href'));
				$(img).removeClass('current');
				$(n).addClass('current');
				var o = $(n).offset().left-$('div.thumbrow').offset().left;
				if(o > 342) {
					var ma = parseInt($('div.thumblist').css("marginLeft"));
					ma = ma - w;
					$('div.thumblist').animate({
						marginLeft: ma+"px"
					}, 250 );
				}
				else if(o < 0) {
					var ma = parseInt($('div.thumblist').css("marginLeft"));
					ma = ma + w;
					$('div.thumblist').animate({
						marginLeft: ma+"px"
					}, 250 );
				}
			}
			return false;
		}
	});
	
}

function setSfform(){
	var sfOff = 0;
	$('div#sfform').css("display","block").click(function(){ 
		sfOff = 1;
	});
	$("div#bodywrap").click(function(){ 
		if(sfOff == 0) $('div#sfform').css("display","none");
		sfOff = 0;
	});
	$('div#sfform button[type="reset"]').click(function(){ 
		$('div#sfform').css("display","none");
		sfOff = 0;
		this.blur();
		return false;
	});
}

function capImg(){
	if($('img.capimg').length > 0) {
		$('img.capimg').click(function(){
			d = new Date();
			this.src = "/app/captcha.php?"+d.getTime();
		;})	
	}
}

function ajaxContent(tid){
	url = '/ajax.php';
	r = "";
	$.ajax( {
		type: 'GET',
		async: false,
		url: url,
		data: tid,
		success: function(data) {
			r = data; 
		}
	});
	return r; 
}
