var cErr = function() {
	this.e01 = "<h3>Vyplňte, prosím, adresu.</h3>";
	this.e02 = "<h3>Adresa nenalezena</h3>";
	this.e03 = "<h3>Registrace proběhla úspěšně.</h3> <p>Vaše fotografie byla zařazena do soutěže.</p>";
	this.e04 = "<h3>Chyba programu - nezadaná data</h3>";
	this.e05 = "<h3>Obrázek se nahrává.</h3>";
	this.e06 = "<h3>Pro úspěšnou registraci je třeba vyplnit všechny požadované údaje.</h3>";
};
var ERR = new cErr();
var cMenu = function() {
	var timer;
	var currMenu;
	this.init = function() {
		$("#menu li a:not(li ul li a)").each(
				function() {
					if ( !$(this).hasClass("no_border") ) {
						$(this).hover(
							function(){
								$("#submenu1, #submenu2, #submenu3").hide();
								$(this).parent().children("div").show();
								$(this).css({"border":"1px solid #E7E7E7", "border-bottom":"none"});
								MENU.currMenu = $(this);
								MENU.obj = $(this).parent().children("div");	
								clearTimeout(MENU.timer);
								},
							function(){
								MENU.currMenu.css({"border":"1px solid #FFFFFF", "border-bottom":"none"});
								MENU.timer = setTimeout(function(){MENU.obj.hide(); },100);
							}
						);
					};
				}
		);
		$("#submenu1, #submenu2, #submenu3").mouseover(
				function() {
					clearTimeout(MENU.timer);
					$(this).show();
					MENU.currMenu.css({"border":"1px solid #E7E7E7", "border-bottom":"none"});
				}
		);
		$("#submenu1, #submenu2, #submenu3").mouseout(
				function() {
					$(this).hide();
					MENU.currMenu.css({"border":"1px solid #FFFFFF", "border-bottom":"none"});
				}
		);
		/*
		$('*').ifixpng(ROOT + 'themes/images/blank.gif');
		*/
	};	
};
var MENU = new cMenu();

var cPage = function() {
	this.formDisable = 0;
	this.showAlert = function(data,time) {
		if (!data) data = ERR.e04;
		if (!time) time = 2500;
		$("#alert_box").html(data);
		$("#alert_box").fadeIn();
		setTimeout(function(){$("#alert_box").fadeOut();},time);
	};
	this.init = function() {
		$('#menu div').css({"opacity":"0.93"});
		$('input[type="text"]').focus( function() {
			$(this).attr("rel",$(this).val());									
			$(this).val("");
		});
		this.photoCount = 0;
		$("#promo ul").children("li").each(function(){
												 
			PAGE.photoCount = PAGE.photoCount + 1;									 
		});
		//*
		if (PAGE.photoCount > 3) {
			$("#promo").jCarouselLite({
					btnNext: ".next",
					btnPrev: ".prev",
					visible: 3,
					scroll: 2
			});
		};
		$("form[name='registration']").submit(function(){
			if(PAGE.formDisable == 0 ) {
				if ($("#lat").val() == "" && $("#lng").val() == "") {
					if( $(":text[name='form[photo_street]']").val() != "" || $(":text[name='form[photo_city]']").val() != "") {
						if( $(":text[name='photo_street]']").val() != "" && $(":text[name='form[photo_city]']").val() != "") {
							address = $(":text[name='form[photo_street]']").val() + "," + $(":text[name='form[photo_city]']").val();
						} else { if ($(":text[name='form[photo_street]']").val() != ""){
									address = $(":text[name='form[photo_street]']").val();
								} else {
									address = $(":text[name='form[photo_city]']").val();
								};
						};
						mMaps.locationFinder(address + ", česká republika",'var params = $("#registration").serialize();$.post(ROOT + "db_input.html", params, function(data){eval(data);});', false);
					} else {
						PAGE.showAlert(ERR.e06);
					};
				} else {
					var params = $("#registration").serialize();
					$.post(ROOT + "db_input.html", params, function(data){
						eval(data);
						map.setCenter(new GLatLng($("#lat").val(), $("#lng").val()));
					});
				};
			} else {
				PAGE.showAlert(ERR.e05);
			};
			return false;
		});
		$(":button[name='upresnit']").click(function(){
			if( $(":text[name='form[photo_street]']").val() != "" || $(":text[name='form[photo_city]']").val() != "") {
				if( $(":text[name='photo_street]']").val() != "" && $(":text[name='form[photo_city]']").val() != "") {
					address = $(":text[name='form[photo_street]']").val() + "," + $(":text[name='form[photo_city]']").val();
				} else { if ($(":text[name='form[photo_street]']").val() != ""){
							address = $(":text[name='form[photo_street]']").val();
						} else {
							address = $(":text[name='form[photo_city]']").val();
						};
				};
				mMaps.locationFinder(address + ", česká republika", '$("#unesena_liska_form").fadeOut(); $("#zavri_button").fadeIn();$("#map_control_box").fadeIn();PAGE.formActive = 1;',true);
			} else {
				PAGE.showAlert(ERR.e01);
			};
		}); 
		$("#zavri_button").click( function(){
				$(this).fadeOut();
				$("#map_control_box").fadeOut();
				$("#unesena_liska_form").fadeIn();
		});
		$("#zavri_small_button").click( function(){
				$("#unesena_liska_form").fadeOut();
				$("#map_control_box").fadeIn();
		});
		$("#upload_button").click( function(){
				$("#map_control_box").fadeOut();
				$("#unesena_liska_form").fadeIn(200,function(){});
		});
		$(":file[name='image_path']").change( function(){
				$("form[name='image']").submit();								  
				$("#interactive_throbber").fadeIn();
				PAGE.formDisable = 1;
		});
		$("#map_control_box #nav_directions a").unbind();
		$("#map_control_box #nav_directions a").bind("click", function(){
			direction = $(this).attr("rel");
			mMaps.customMove(direction,"interactive_map");
			return false;
		});
		$("#map_control_box #nav_zoom a").unbind();
		$("#map_control_box #nav_zoom a").bind("click", function(){
			zoom = $(this).attr("rel");
			//$("#loading_overlay").show();
			mMaps.customZoom(zoom);
			return false;
		});
		$("#close_info_box").unbind();
		$("#close_info_box").bind("click", function(){
			$("#info_box").fadeOut();
			return false;
		});
		this.afterVote = function(starCount,measureCount) {
			var i = 0;
			var starCount = starCount;
			PAGE.activeVote.parent().children('span').html(measureCount);
			PAGE.activeVote.parent().children('a').each(function(){
				if (i < starCount) {
					$(this).addClass("rated");
					i++;
				} else {
					$(this).removeClass("rated");
				}
			});
		};
		this.activeVote;
		$(".voting a").unbind();
		$(".voting a").bind("click", function(){
			id = $(this).attr("rel");
			rrating = $(this).attr("title");
			PAGE.activeVote = $(this);
			var params = {image_id: id, rating: rrating};
			$.post(ROOT + "vote.html", params, function(data){
						eval(data);
					});
			return false;
			
		});
		$(".voting a").hover(function(){
			$(this).addClass("over");						  
			$(this).prevAll().each(function(){
					$(this).addClass("over");
			}); 	
		},function() {
			$(this).toggleClass("over");
			$(this).prevAll().each(function(){
					$(this).toggleClass("over");
			}); 
		});
		this.countdown = function(){
			$.post("countdown.html", function(data, textStatus) {
				eval(data);
			});
			setTimeout("PAGE.countdown()",60000);
		};
		/* ------------------------------------------- vkladanie poradcov ----------------------------------------- */
		$("form[name='poradci']").submit(function(){
			var params = $(this).serialize();
			$.post(ROOT + "db_input2.html", params,
			  function(data){
				  PAGE.showAlert(data,1000);
			});
			return false;
		});
		$(":button[name='upresnit2']").click(function(){
			if( $(":text[name='formular[street]']").val() != "" || $(":text[name='formular[city]']").val() != "") {
				if( $(":text[name='formular[street]']").val() != "" && $(":text[name='formular[city]']").val() != "") {
					address = $(":text[name='formular[street]']").val() + "," + $(":text[name='formular[city]']").val();
				} else { if ($(":text[name='formular[street]']").val() != ""){
							address = $(":text[name='formular[street]']").val();
						} else {
							address = $(":text[name='formular[city]']").val();
						};
				};
				mMaps.locationFinder(address);
			} else {
				alert(ERR.e01);
			};
		});
		/* -------------------------------------------------------------------------------------------------------- */
		//*/
		/*
		$(".advisor_search").autocomplete(ROOT + HTMLinfo.lang + "/_autocomplete.html/", {
		 		width:"205px",
				autoFill:true,
				minChars:1,
				selectFirst:false,
				scroll:false
			}
		);
		$("#search_text").autocomplete(ROOT + HTMLinfo.lang + "/"+ LANG.search_page +".html/", {
		 		width:"205px",
				autoFill:true,
				minChars:3,
				selectFirst:false,
				scroll:true
			}
		);
		$('<div id="systemWorking"><img src="' + ROOT + 'themes/images/cms/loading.gif"/></div>').appendTo(document.body);
		*/
	};
	this.getMarkerInfo = function(index, marker, type) {
			var params = {id:index,type:type};
			var markerOffset = map.fromLatLngToDivPixel(marker.getLatLng()); 
			$("#info_box_content").html("<img src='"+ROOT+"themes/images/throbber.gif' class='throbber'/>");
			$("#info_box")
				.css({ top:markerOffset.y - 25, left:markerOffset.x + 10 })
				.fadeIn(200, function() {
					$.post(ROOT + "db_getmarkerinfo.html", params, function(data){
						$("#info_box_content").html("" + data + "");												
        			});
				});					  
		  		
	};
	this.tableRows = function() {
		$('#text_box tbody tr').each( function() {
				if( !$(this).hasClass("dark") && !$(this).prev("tr").hasClass("dark")) {
					$(this).addClass("dark");
				}
				else {
					//$(this).addClass("dark");
				};
			}
		)
	};
	this.block = function() {
		$('#systemWorking').fadeIn();
	};
	this.unblock = function() {
		$('#systemWorking').fadeOut();
	};
	this.pagePath = window.location.pathname;
	this.print = function(){
		window.print();
	};	
};
var PAGE = new cPage();


$(function(){
	$("#loading_overlay_content").html("Loading ...")
	PAGE.init();
	PAGE.countdown();
	MENU.init();
	mMaps.initialize(49.82380908513248,14.139404296875,7,"interactive_map","none","false");
	$("#info_box").appendTo(map.getPane(G_MAP_FLOAT_SHADOW_PANE));

	$('#advisor_box form').bind("submit", function(){
		var url = $(this).attr('action');
		$.facebox(function() {
			pars = $('#advisor_box form').serialize();
			$.post(url, pars, function(data, textStatus) {
				_body = $(data).find('#text_box').html();
				PAGE.unblock();
				$.facebox(_body);
			});
		});		
		return false;
	});

	
	$('a[rel=facebox]').bind('click', function(){
		url = $(this).attr('href');
		$.post(url, null, function(data, textStatus) {
			_body = $(data).find('#text_box').html();
			$.facebox(_body);
		});
		return false;
	}); 
	$('a[rel=facebox-image]').bind('click', function(){
		var url = $(this).attr('href');
		$.facebox(function() {
			data = '<img src="' + url + '"/>';
			$.facebox('<div style="width:600px;"><center>' + data +'</center></div>');
		});
		return false;
			
	}); 

	$('a[rel^=facebox-int]').bind('click', function(){
		url = $(this).attr('href');
		_rel = $(this).attr('rel');
		$.post(url, null, function(data, textStatus) {
			_body = $(data).find('#content').html();
			$.facebox('<div style="height: auto; overflow-y:auto;">' + _body +'</div>');
		});
		return false;
	});
	
	
/*	$('a[rel^=facebox-ext]').bind('click', function(){
		url = $(this).attr('href');
		_rel = $(this).attr('rel');
		tmp = _rel.split('-');
		if (typeof tmp[2] != 'undefined' && typeof tmp[3] != 'undefined') {
			$.facebox('<iframe frameborder="0" src="' + url + '" width="' + tmp[2] + '" height="' + tmp[3] + '"> </iframe>');
		} else {
			$.facebox('<iframe frameborder="0" src="' + url + '" width="100%" height="100%"> </iframe>');
		}
		return false;
	});*/
});