var ulekare = function () {

}

ulekare.prototype = {

	mainSearchClicked:	false,
	mainSearchString:	'',
	mainSearchFocus:	false,
	suggestSearchInterval:	null,
	suggestSearchCount: 0,
	suggestSearchPosition: null,
	suggestSearchType: '',
	mainTabLast:	'',
	videoRow:		1,
	
	// ziskan focus na search
	searchGotFocus:	function () {
		
		this.mainSearchFocus = true;
		if (this.mainSearchClicked == false) {
			$("#main-search-field").val('');
			this.mainSearchClicked = true;
		}
		if (this.suggestSearchCount>0) {
			$("#main-search-suggest").css("display","block");
		}

	},

	// ztracen focus na search
	searchLostFocus:	function () {
		
		this.mainSearchFocus = false;
		if ($("#main-search-field").val() == "") {
			$("#main-search-field").val($("#main-search-field-default").attr("title"));
			this.mainSearchClicked = false;
			
		}
		$("#main-search-suggest").css("display","none");

	},
	
	searchFormSubmit:		function() {
		if (this.mainSearchClicked==false && $("#main-search-field").val()==$("#main-search-field-default").attr("title")) {
			$("#main-search-field").val("");
		}
		document.searchform.submit();
	},

	// naseptavac
	suggestSearch:	function() {
		var str = $("#main-search-field").val();
		
		if (str!=this.mainSearchString && str.length>=2) {
			this.mainSearchString = str;
			
			
			$.ajax({
				url:		'/suggest?search='+encodeURI(str)+'&type='+ul.suggestSearchType,
				success:	function(data) {
					ul.suggestSearchShow(data);
				}
			});
			
		} else if (str.length<2) {
			$("#main-search-suggest").css("display","none");
		}
	},
	
	suggestSearchShow:	function(data) {
	
		var row = data.split("\n");
		ul.suggestSearchCount = 0;
		ul.suggestSearchPosition = null;
		
		if (row.length>0) {
			var out = "";
			for (i=0; i<row.length; i++) {
				if (row[i].length>1) {
				
					var str = row[i].split("\t");
					if (i%2==0) {
						style="odd";
					} else {
						style="";
					}
					if (i==0) {
						style = style + " first";
					}
					out += '<tr class="'+style+'" id="sugg'+i+'"><td>'+str[0]+'</td><td class="sugg-count">'+str[1]+'x</td></tr>';
					
					this.suggestSearchCount++;
										
				}
			}

	
			$("#main-search-suggest").html(out);					

		
			$("#main-search-suggest tr").hover(
				function(){
					$("#main-search-suggest tr").each(function(){
						$(this).removeClass("hover");
					});	
					$(this).addClass("hover");
					ul.suggestSearchPosition=Number($(this).attr("id").replace("sugg",""));
				}, 
				function(){
					ul.suggestSearchPosition=null;
				}
			);
			$("#main-search-suggest tr").mousedown(function(){

				ul.suggestSearchSubmit($(this).attr("id"));
				
			});
				
			if (this.mainSearchFocus == true) {
				$("#main-search-suggest").css("display","block");
			}
				
		} else {
			$("#main-search-suggest").css("display","none");
		}
	
	},
	
	suggestInit: function() {

		this.suggestSearchInterval = setInterval(ul.suggestSearch,300);
		this.suggestSearchType = $("#main-search-suggest").attr("rel");

		// keypress na odesilani (diky IE)
		$(document.documentElement).keypress(function(event) {
			if (ul.suggestSearchCount>0 && ul.mainSearchFocus==true) {
				switch (event.keyCode) {
					case 13:
						if (ul.suggestSearchPosition!=null) {
							ul.suggestSearchSubmit("sugg"+ul.suggestSearchPosition);
						}
						break;
				}
			}				
		});

		// keyup na vybirani (diky IE)
		$(document.documentElement).keyup(function(event) {
		
			if (ul.suggestSearchCount>0 && ul.mainSearchFocus==true) {
				switch (event.keyCode) {
					// dolu
					case 40:
						if (ul.suggestSearchPosition==null) {
							ul.suggestSearchPosition = 0;
						} else {
							ul.suggestSearchPosition++;
							if (ul.suggestSearchPosition>ul.suggestSearchCount-1) {
								ul.suggestSearchPosition = 0;
							}
						}
						break;
					// nahoru
					case 38:
						if (ul.suggestSearchPosition==null) {
							ul.suggestSearchPosition = ul.suggestSearchCount-1;
						} else {
							ul.suggestSearchPosition--;
							if (ul.suggestSearchPosition<0) {
								ul.suggestSearchPosition = ul.suggestSearchCount-1;
							}
						}
						break;
				}				
				$("#main-search-suggest tr").each(function(){
					$(this).removeClass("hover");
				});	
				$("#sugg"+ul.suggestSearchPosition).addClass("hover");

			}
			
		});

	},
	
	suggestSearchSubmit:	function(id) {
	
		$("#main-search-field").val($("#"+id+" td:first").text());
		document.searchform.submit();		
		
	},

	
	// zmena zalozky
	changeTab:	function(el) {

		// stejny tab
		if (el.id==this.mainTabLast) {
			$(el).blur();
			return true;
		}

		// zmenime na aktivni
		$(el).blur();
		$(el).addClass("act");
		$("#"+this.mainTabLast).removeClass("act");

		// formulari nastavine jinou cestu
		
		// jQuery nechce fungovat
		// $("#main-search-form").attr("action",$(el).attr("href"));
		document.getElementById("main-search-form").action = $(el).attr("href");

		// posuneme ctverecek
		var pos_zero = $("#top-menu").offset().left;
		var pos_new = $(el).offset().left - pos_zero;
		var pos_old = $("#"+this.mainTabLast).offset().left - pos_zero;		
		
		if (pos_new>pos_old) {
			var pos_change = "+=" + (pos_new - pos_old) + "px";
		} else {
			var pos_change = "-=" + (pos_old - pos_new) + "px";
		}
		
		$("#navig-bg").animate({"left": pos_change},"normal");

		this.mainTabLast = el.id;
		
		return false;
	},

	
	// zmena videi
	setVideoCycle:	function() {
	
		$("#video-sub1").cycle({ 
			fx: 'scrollLeft',
			timeout: 16000,
			delay:0
		});
		$("#video-sub2").cycle({ 
			fx: 'scrollLeft',
			timeout: 16000,
			delay:1000
		});
		$("#video-sub3").cycle({ 
			fx: 'scrollLeft',
			timeout: 16000,
			delay:2000
		});
		$("#video-sub4").cycle({ 
			fx: 'scrollLeft',
			timeout: 16000,
			delay:3000
		});
		
	},
	
	// zmena poradny
	setPoradnaCycle: function() {

		$("#poradna-main").cycle({
			fx: 'fade',
			timeout: 7500
		});

	},
	
	// hlasovani v ankete
	enquiryVote:	function(url) {
		location.href = url;
	},
	
	// nemoci - posun na pismeno 
	setIllnessSkip:	function() {
	

		$('#nemoci-black a.abc-left').mouseover(function() {
			$('#nemoci-abc').scrollTo('0%', {
				axis:	'x',
				speed:	400
			});
			return false;
		});

		$('#nemoci-black a.abc-right').mouseover(function() {
			$('#nemoci-abc').scrollTo('100%', {
				axis:	'x',
				speed:	400
			});
			return false;
		});

		$('#nemoci-abc a').click(function() {
			var tab = $(this).attr('href');
			$('#nemoci-left').scrollTo($(tab), 800);
			return false;
		});
	
		
	},
	
	p2pShowOrHide:	function(id) {
	
		
		if ($("#p2p"+id).hasClass("highlighted")) {
			ul.p2pShow(id);
		} else {
			ul.p2pHide(id);
		}
		
	},
	
	p2pShow:	function(id) {
	
		$("#p2p"+id).removeClass("highlighted");
		$("#p2p"+id).addClass("highlighted-act");
		
		$("#p2pb"+id).css("display","block");
		$("#p2pr"+id).css("display","block");
		
	},
	
	p2pHide:	function(id) {

		$("#p2p"+id).removeClass("highlighted-act");
		$("#p2p"+id).addClass("highlighted");
		
		$("#p2pb"+id).css("display","none");
		$("#p2pr"+id).css("display","none");

	},
	
	p2pShowOrHideAll:	function(txt1, txt2) {

		if ($("#p2p-showhide").html()==txt1) {
			$("#p2p-showhide").html(txt2);
			$("ul.list-diskuze li span.highlighted").each(function(index){
				ul.p2pShow(Number(this.id.replace(/p2p/,"")));
			});
		} else {
			$("#p2p-showhide").html(txt1);
			$("ul.list-diskuze li span.highlighted-act").each(function(index){
				ul.p2pHide(Number(this.id.replace(/p2p/,"")));
			});
		}
		
	},
	
	// zavre overlayer a pripadne nastavi cookies
	closeOverlayer:		function(id,cookie) {
		$("#"+id).hide();
		if (cookie!="") {

			var exdate=new Date();
			exdate.setDate(exdate.getDate()+90);
			document.cookie=cookie+ "=1;expires="+exdate.toUTCString();
			
		}
	},
	
	// audio readcount call
	inceraseReadcount:		function(id) {
	
		alert('yep');
	
	},
	
	topMoreOn:	function() {
		$("#top-more-items").css('display','block');
	},

	topMoreOff:	function() {
		$("#top-more-items").css('display','hidden');
	},
	
	// zakladni vecicky
	init:	function () {
		
		// event na hlavni vyhledavani
		ul.searchLostFocus();
		$("#main-search-field").focus(function(){
			ul.searchGotFocus();
		});
		$("#main-search-field").focusout(function(){
			ul.searchLostFocus();
		});

		// inicialize naseptavace
		this.suggestInit();
	
		// na homepage deme rotovat
		if (location.href=="http://www.ulekare.cz/" || location.href.match(/home/)) {
			// video
			this.setVideoCycle();
			// poradna
			this.setPoradnaCycle();
		}

		// nemoci
		this.setIllnessSkip();

		// prispevky v diskuzi skryt
		$("ul.list-diskuze li span.highlighted-act").each(function(index){
			ul.p2pHide(Number(this.id.replace(/p2p/,"")));
		});
		
		// v poradne zvetsovani obrazku
		$("#poradna-image-link").fancybox({
			'titleShow'		: false,
			'transitionIn'	: 'none',
			'transitionOut'	: 'none'
		});				
		
	}
	
}

var ul = new ulekare();

$(document).ready(function(){
	ul.init();
});
