
var LANG = {};

/**
*
* /brief   Embedding Flash.
* /version 0.1
* /by      Bart�omiej Tadych (b4rtaz), http://b.nano2.pl/
*
*/
var flash =
{
	list: [],

	/**
	* /brief  Detect Flash.
	*/
	detect: function()
	{
		var installed = false;
		var version = 0;

		// Netscape.
		if(navigator.plugins && navigator.plugins.length) {
			for(var x = 0; x < navigator.plugins.length; x++) {
				if(navigator.plugins[x].name.indexOf("Shockwave Flash") != -1) {
					version = navigator.plugins[x].description.split("Shockwave Flash ")[1];
					installed = true;
					break;
				}
			}
		}
		// MS IE.
		else if(window.ActiveXObject) {
			for(var x = 3; x <= 13; x++) {
				try {
					var flash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+x);
					if(flash) {
						version = x;
						installed = true;
					}
				} catch(e) {};
			}
		}

		return {
			'version': parseFloat(version),
			'installed': installed
		};
	},

	/**
	* /brief  Embed Flash.
	*/
	embed: function(parent,src,newid,width,height,params)
	{
		var activeX = window.ActiveXObject ? true : false;
		var embed = '';
		var out = '<object ';
		if(activeX) {
			out += 'id="'+newid+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" data="'+src+'" ';}
		out += 'width="'+width+'" height="'+height+'">';
		out += '<param name="movie" value="'+src+'" />';
		if(typeof params != 'undefined') {
			for(var name in params) {
				out += '<param name="'+name+'" value="'+params[name]+'" />';
				embed += ' '+name+'="'+params[name]+'"';
			}
		}
		out += '<embed ';
		if(!activeX) {out += 'id="'+newid+'" ';}
		out += 'src="'+src+'" type="application/x-shockwave-flash" width="'+width+'" height="'+height+'"';
		out += embed;
		out += '></embed>';
		out += '</object>';
		parent.innerHTML = out;
		return document.getElementById(newid);
	},

	// Dodaje liste z szkodzacymi warstwami.
	addfl: function(i)
	{
		flash.list.push(i);
	},

	// Ukrywa wszystkie obiekty flash.
	hide: function()
	{
		for(var i = 0; i < flash.list.length; i++) {
			flash.list[i].style.visibility = "hidden";
		}
	},

	// Odkrywa wszystkie obiekty flash.
	show: function()
	{
		for(var i = 0; i < flash.list.length; i++) {
			flash.list[i].style.visibility = "visible";
		}
	}
}

// Szukajka glowna serwisu.
var searchmore =
{
	rol: '', // Right or Left.
	tip: false,
	hidelock: false,

	init: function()
	{
		var search = jQuery("#search-l, #search-r");

		search.focus(function()
		{
			if(jQuery(this).val() == jQuery(this).prev("label").text()) {jQuery(this).val('');}
			if(!jQuery(document.body).hasClass("green")) {
				searchmore.show(jQuery(this).hasClass('l') ? 'l' : 'r',false);
			}
		});
		search.blur(function()
		{
			if(jQuery(this).val() == '') {jQuery(this).val(jQuery(this).prev("label").text());}
			if(!jQuery(document.body).hasClass("green")) {
				searchmore.hide();
			}
		});
		// Inicjujemy napisy w inputach.
		search.each(function()
		{
			var label = jQuery(this).prev("label");
			label.text(label.text().replace(/:/,'...'));
			if (jQuery(this).val()=='')
				jQuery(this).val(label.text());
		});

		if(!jQuery(document.body).hasClass("green"))
		{
			jQuery("#search span.s").click(function() {
				searchmore.show(jQuery(this).hasClass('l') ? 'l' : 'r',true);
			});
		}

		jQuery('#main_search_submit').click(function(){
			if(jQuery('#search-more-l:visible').length>0)
				jQuery('#search-h').val(jQuery('#search-more-l select#trade-suggestions').val());
		});

	},

	hide: function()
	{
		var rol = searchmore.rol;

		window.setTimeout(function()
		{
			if(rol == searchmore.rol && !searchmore.hidelock) {
				jQuery("#search span.s."+rol).removeClass("select");
				searchmore.tip.hide();
				flash.show();
			}
			searchmore.hidelock = false;
		},100);
	},

	show: function(rol,rehide)
	{
		if(rehide && rol == searchmore.rol) {
			if(searchmore.tip.css('display') != "block") {
				searchmore.tip.show();
				jQuery("#search span.s."+rol).addClass("select");
			} else {
				searchmore.tip.hide();
				jQuery("#search span.s").removeClass("select");
			}
			return;
		}

		var arol = (rol == 'l') ? 'r' : 'l';

		// Zmiana podswietlenia.
		jQuery("#search span.s."+arol).removeClass("select");
		jQuery("#search span.s."+rol).addClass("select");

		// Ukrywamy drugie rozwiniecie jezeli jest.
		jQuery('#search-more-' + arol).hide();

		searchmore.hidelock = false;
		searchmore.rol = rol;

		searchmore.tip = jQuery('#search-more-' + rol);
		searchmore.tip.show();

		flash.hide();

		jQuery("input, select",searchmore.tip).focus(function() {
			searchmore.hidelock = true;
		});
	}
}

// Obsluguje akcje zwiazane z listami w profilach firmy (produkty, uslugi).
var items = 
{
	init: function(p)
	{
		var w = jQuery(".profil-body .products",p);
		jQuery("> ul > li",w).addClass("nohover");

		// Zalaczamy obsluge podgladu miniaturki.
		jQuery("a > img",w).parent().click(galery.open);

		// Klikniecie w 'rozwin'.
		jQuery("span.more",w).click(items.click);

		// Jakby kto� klikn�� w tyty�.
		jQuery("h4,em",w).click(items.click);
	},

	click: function()
	{
		var z = jQuery(this).parent().parent();
		if(z.hasClass("select")) {
			z.removeClass("select");
		} else {
			z.addClass("select");
		}
	}
}

// Kategorie.
var categories =
{
	init: function()
	{
		jQuery("#categories li > div > span").each(function() {
			jQuery(this).hide();
			jQuery(this).parent().append(' <a class="more" href="" onclick="return categories.click(this);">'+LANG['cat_more']+' &rsaquo;</a>');
		});
	},

	click: function(t)
	{
		jQuery(t).fadeOut(100,function() {
			jQuery("span",jQuery(t).parent()).fadeIn(100);
		});
		return false;
	}
}

// Obsluga formularza do logowania.
var login =
{
	init: function()
	{
		var login = jQuery("#session input.input");
		login.each(function()
		{
			var label = jQuery(this).prev("label");
			label.text(label.text().replace(/:/,'...'));
			jQuery(this).val(label.text());
		});

		login.focus(function()
		{
			if(jQuery(this).val() == jQuery(this).prev("label").text()) {
				jQuery(this).val('');
			}
		});

		login.blur(function()
		{
			if(jQuery(this).val() == '') {
				jQuery(this).val(jQuery(this).prev("label").text());
			}
		});
	}
}

// Oblicza przewiniecie dokumentu wzgledem osi Y.
function getScrollY()
{
	var scroll = 0;
	if(document.documentElement && document.documentElement.scrollTop) {
		scroll = document.documentElement.scrollTop;
	} else if(document.body && document.body.scrollTop) {
		scroll = document.body.scrollTop;
	} else if(window.pageYOffset) {
		scroll = window.pageYOffset;
	} else if(window.scrollY) {
		scroll = window.scrollY;
	}
	return scroll;
}

// Galeria, podglad.
var galery =
{
	image: false,
	iv: false,

	init: function(who)
	{
		jQuery(document.body).append('<div id="galery-view"></div><div id="galery-view2"><div class="i"></div><div class="d"></div>'
			+ '<div class="x"><a href="">x</a></div></div>');

		// Montujemy obsluge zamniecia popup-u.
		jQuery("#galery-view2 .x a, #galery-view2 .i").click(galery.close);

		if(typeof(who) == 'undefined') {
			jQuery("#galery li a").click(galery.open);
		}
	},

	open: function()
	{
		var shadow = jQuery("#galery-view");
		var view = jQuery("#galery-view2");

		var href = jQuery(this).attr("href");
		var descr = jQuery("em",this).text();

		galery.image = new Image();
		galery.image.src = href;

		// Reset.
		{
			var scrollY = getScrollY();
			var height = jQuery(window).height();

			var i = jQuery(".i",view);
			var d = jQuery(".d",view);
			i.css("width","auto");
			i.css("height","auto");
			i.html("<strong>"+ (LANG['galery_loading'] ? LANG['galery_loading'] : "Loading..." ) +"</strong>");
			d.html('');
			view.css("width",200);
			view.css("marginLeft",-100);
			view.css("top",scrollY + parseInt(height/2) - 35);
			shadow.css("height",height);
			shadow.css("top",scrollY);
		}

		shadow.show();
		view.show();
		flash.hide();

		galery.iv = window.setInterval(function() {
			if((galery.image!=undefined) && galery.image.complete)
			{

				var w = galery.image.width;
				var h = galery.image.height;

				if(w == 0 || h == 0)
				{
					jQuery(".i",view).html("<strong>"+ (LANG['galery_fail'] ? LANG['galery_fail'] : "Error!") +"</strong>");
				}
				else
				{
					scrollY = getScrollY();

					shadow.css("top",scrollY);

					view.css("width",w);
					view.css("marginLeft",-parseInt(w/2));
					view.css("top",scrollY + parseInt(jQuery(window).height()/2) - (h/2));

					var i = jQuery(".i",view);
					i.css("width",w);
					i.css("height",h);
					i.html('<img src="'+href+'" width="'+w+'" height="'+h+'" />');

					if(descr.length > 0)
						jQuery(".d",view).text(descr);
					else
						jQuery(".d",view).html('&oline;');
				}

				window.clearInterval(galery.iv);
				galery.iv = false;
			}
			else { 
				if (galery.image==undefined) {
					window.clearInterval(galery.iv);
					galery.iv = false;
				}
			}
		},15);
		return false;
	},

	close: function()
	{
		if(galery.iv)
			window.clearInterval(galery.iv);
		delete galery.image;
		jQuery("#galery-view, #galery-view2").hide();
		flash.show();
		return false;
	}
}

// Skrypty na glownej.
var home =
{
	promboxul: false,

	promotebox: function(right)
	{
//		if(typeof(right) == 'undefined') {
//			window.setTimeout(function() {
//				home.promotebox(false);
//			},250);
//			return;
//		}
//		if(home.promboxul == false) {
//			home.promboxul = jQuery("#promotebox .comp ul")[0];
//		}
//		var progres = 0;
//		var step = 1;
//
//		if(!right) {
//			var width = parseInt(jQuery("li:last",home.promboxul)[0].offsetLeft) + 108-6-2-4-410;
//			if(width < 0)
//				return 0;
//			var iv = window.setInterval(function() {
//				if(progres+step >= width) {
//					progres = width-step;
//					window.clearInterval(iv);
//					window.setTimeout(function() {home.promotebox(true);},250);
//				}
//				home.promboxul.style.marginLeft = -(progres += step) + 'px';
//			},44);
//		}
//		else {
//			progres = parseInt(home.promboxul.style.marginLeft);
//			var iv = window.setInterval(function() {
//				if(progres+step >= 0) {
//					progres = -step;
//					window.clearInterval(iv);
//					window.setTimeout(function() {home.promotebox(false);},250);
//				}
//				home.promboxul.style.marginLeft = (progres += step) + 'px';
//			},44);
//		}

		//$(document).ready(function(){
			jQuery('#promotebox ul').bxCarousel({
				display_num: 4,
				move: 1,
				auto: true,
				controls: false,
				margin: 10,
				auto_hover: true
			});
		//});

	},

	wojewodztwa: function()
	{
		jQuery("#wojewodztwa li.h:first").before('<li class="all"><a href="" onclick="return home.all(this);">wszystkie</a></li>');
		jQuery("#wojewodztwa ul").addClass("hide");

		// Osadzamy mapke.
		flash.embed(
			jQuery("#wojewodztwa .maps")[0],
			"/images/frontend/mapa.home.swf",
			"mapahome",
			140,135
		);
	},

	all: function(t)
	{
		jQuery(t).parent().remove();
		jQuery("#wojewodztwa ul").removeClass("hide");
		return false;
	},

	splash: function()
	{
		if(jQuery('.carousel').length > 0)
			jQuery('.carousel').carousel({'autoSlide': true, 'loop': true, 'nextBtn': '', 'prevBtn': '', 'direction': 'vertical'});
	}
}

var srcher = {
	leftSearchClicked: false,
	rightSearchClicked: false,

	init: function()
	{
		if (jQuery("#search-l").val()!='')
			srcher.leftSearchClicked = true;
		if (jQuery("#search-r").val()!='')
			srcher.rightSearchClicked = true;

		jQuery("#search-l").keyup(function(){
			if(jQuery(this).val() == '')
				srcher.leftSearchClicked = false;
			else
				srcher.leftSearchClicked = true;
		});

		jQuery("#search-r").keyup(function(){
			if(jQuery(this).val() == '')
				srcher.rightSearchClicked = false;
			else
				srcher.rightSearchClicked = true;
		});

		jQuery("div#search input.submit").click(function(){
//			if(!srcher.leftSearchClicked)
//				jQuery("#search-l").val('');
//			if(!srcher.rightSearchClicked)
//				jQuery("#search-r").val('');
			if(jQuery("#search-l").val()==SRCH_LANG['company'])
				jQuery("#search-l").val('');
			if(jQuery("#search-r").val()==SRCH_LANG['town'])
				jQuery("#search-r").val('');
			
			if (jQuery("#l1").is(':checked'))
				jQuery('#search-r').append("<input type='hidden' name='partners' value='1'/>");
			if (jQuery("#l2").is(':checked'))
				jQuery('#search-r').append("<input type='hidden' name='hotels' value='1'/>");
			if (jQuery("#l3").is(':checked'))
				jQuery('#search-r').append("<input type='hidden' name='food' value='1'/>");
			if (jQuery("#l4").is(':checked'))
				jQuery('#search-r').append("<input type='hidden' name='cars' value='1'/>");

			jQuery('#search-r').append("<input type='hidden' name='distance' value='"+jQuery('#distance').val()+"' />");
		})
	}
}

jQuery(document).ready(function()
{
	srcher.init();
	login.init();
	searchmore.init();

	if(jQuery('#splash'))
		home.splash();

	if(jQuery("#promotebox")[0])
		home.promotebox();

	if(jQuery("#galery")[0])
		galery.init();

	if(jQuery("#wojewodztwa")[0])
		home.wojewodztwa();
});

