function SetupPageTooltipActvrs( parentElements )
{
	$( ".tooltip_flwr_activator", parentElements ).tooltip({
		delay: 0,
		track: true,
		showURL: false,
		showBody: " - ",
		fixPNG: true,
		bodyHandler: function(){
			var box = $(this).nextAll(".js_tooltip_flwr_box:first").clone();
			box.css( "display", "block" );
			//var klon2 = box.clone();
			//$("body").append( klon2 );
			return box;
		}
	});
}

function SetupAnhorTitleTooltips( parentElements )
{
	var elements = parentElements.find( "a[title]" );
	elements.each( function(){
		$(this).attr( "title2", $(this).attr("title") );
	});
	elements.tooltip({
		delay: 0,
		track: true,
		showURL: false,
		fixPNG: true,
		bodyHandler: function(){
			var box = $(".js_generic_tooltipprebox .js_tooltip_flwr_box").clone();
			box.css( "display", "block" );
			box.find(".tooltip_fppl_tdmidcontent").html( $(this).attr("title2") );
			//var klon2 = box.clone();
			//$("body").append( klon2 );
			return box;
		}
	});
}


function GetRidFromCartaddUrl( url )
{
	var re = /add-(\d+),/;
	var res = url.match( re );
//	alert( "url: "+url +" res: " + res );
	if( res ){
		return res[1];
	}else{
		return false;
	}
}

function GetCartStatusJsonObject( html )
{
	var re = /#jsondata([^\0]*)#endjsondata/;
	var res = html.match( re );
	if( res.length ){
		var jsonstr = res[1];
		var jsonobj = eval( "(" + jsonstr + ")" );
		return jsonobj;
	}else{
		return false;
	}
}

function IsProductPresentInJson( jsonobj, product_rid )
{
	var present = 0;
	for(var i=0; i< jsonobj.cart_identifiers.length; i++ ){
		if(jsonobj.cart_identifiers[i] == product_rid ){
			present = 1;
			break;
		}
	}
	return present;
}


function SetupZalOnlyButtonsDlaFirm( parentElements )
{
	if( typeof b_dlafirm != "undefined" && b_dlafirm && typeof js_sz_musisz_byc_zal != "undefined" ){
		$(".js_zal_only_msgbtn", parentElements ).click( function(){
			ShowPopupDialog( _txt.musiszbyczlg_u, false );
			return false;
		});
	}
}

//
// Ustawia zdarzenia ajax dla anhorow dodajacych do koszyka.
// Przyklad, zeby ustawic zdarzenia dla wszystkich elementow na stronie:
// 	SetupCartAhrefEvents( $("body") );
function SetupCartAhrefEvents( parentElements, fnAjaxStart, fnAjaxSuccess )
{
	var elements = parentElements.find("a[href*='/add-']");
	elements.click( function(){
		if( js_is_cart_category )		//jesli jest sie w kategorii koszyka to niech przeladuje strone.
			return true;
		var sthis = $(this);
		var url = sthis.attr( "href" );
		url = url.replace( /koszyk/i, "requests/koszyk_async" );
		var product_rid = GetRidFromCartaddUrl(url);
		var sltr = sthis.attr( "preloader_slctr" );
		if( sltr != undefined ){
			var prnt = $(sltr);
			if( prnt != undefined ){
				var html =
					"<div style='background: transparent; position: absolute;' class='js_preloader_chldboxabs'>" +
					"	<img src='/img/layout/loading.gif' alt='image' />" +
					"</div>" +
					"";
				prnt.append( html );
				var dom = prnt.children( ":last" );
				var pos = {
					x: prnt.width() / 2 - dom.width() / 2,
					y: prnt.height() / 2 - dom.height() / 2
				};
				dom.css( "left", pos.x + "px" );
				dom.css( "top", pos.y + "px" );
			}
		}

		if( $.isFunction( fnAjaxStart ) )
			fnAjaxStart();
		$.ajax({
			async: true,
			type: "GET",
			url: url,
			success: function( html, textStatus ){//alert(html);
				//$(".js_koszyk_dashboard_locatorx:first").empty();
				if( textStatus == "success" ){
					//$(".js_koszyk_dashboard_locatorx:first").append( html );
					$('.ksykschmpboxx .twojkoszyk_value_textx').html( html );
				}
				var chba = $(sltr).find( ".js_preloader_chldboxabs" );
				chba.remove();
				var jsonobj   = GetCartStatusJsonObject( html );
				var addresult = IsProductPresentInJson( jsonobj, product_rid );
				if( $.isFunction( fnAjaxSuccess ) ){
					fnAjaxSuccess({ addresult: addresult, tpl_obj: jsonobj });
				}
			}
		});
		return false;
	});
}



$(document).ready( function(){

	//
	// checkboxy w wyszukiwarce zaawansowanej. przerobienie checkboxow na divy z eventen na "click".
	//
	var cfcbmlist = $(".colors_form_checkboxlist");
	if( cfcbmlist != undefined ){
		var ones = cfcbmlist.children( ".multilist_one_checkbox" );
		ones.each( function(){
			var input = $(this).children("input");
			var divbox = $(this).children(".cf_color_checkbox");

			$(this).children().remove( ".cf_color_text, br" );
			input.css( "display", "none" );

			var chash = divbox.attr("chash").replace( /#/i, "" );
			var imgfileptrn = divbox.attr("imgfileptrn");
			var fname = imgfileptrn.replace( /#+/i, chash );

			divbox.addClass( "wyszzaaw_kolorboxmst" );
			divbox.css( "width", "21px" ).css( "height", "22px" );
			divbox.css( "background", "url("+fname+") 0px 0px no-repeat" );

			if( input.attr("checked") )
				divbox.css( "background-position", "-21px 0px" ).get(0).myCheckState = 1;
			divbox.css( "background-color", chash );

			divbox.click( function(){
				if( this.myCheckState == undefined )
					this.myCheckState = 0;
				this.myCheckState = !this.myCheckState;
				if( this.myCheckState ){
					$(this).siblings("input").attr( "checked", "checked" );
					$(this).css( "background-position", "-21px 0px" );
				}else{
					$(this).siblings("input").removeAttr("checked");
					$(this).css( "background-position", "0px 0px" );
				}
			});
		});
	}

	SetupPageTooltipActvrs( $("body") );

	SetupAnhorTitleTooltips( $("body") );

	SetupZalOnlyButtonsDlaFirm( $("body") );

	var formazautomatu = $("form#form");
	if( formazautomatu != undefined ){
		var chkbox = $( "input[name=newsletter_js]" );
		if( chkbox.length != 0 ){
			formazautomatu.submit( function(){
				var chkbox = $( "input[name=newsletter_js]" );
				if( chkbox.length != 0 ){
					if( dbfromValidReturnValue == true ){
						if( Boolean( chkbox.attr( "checked" ) ) ){
							//alert( "value: " + chkbox.attr( "checked" ) );
							var email = $( "#dbformFlogin" ).val();
							var url = "/newsletter.php#newsletter";
							var data = "email=" + email + "&action=save&submit=zapisz";
							$.ajax({
								type: "POST",
								url: url,
								async: false,
								complete: function( XMLHttpRequest, textStatus ){
									//alert( "req completed, status: " + textStatus );
								},
								data: data
							});
						}
					}
					//
					//return false;
					//
				}
			});
		}
	}

	//
	// koszyk-teczka
	//
	function KoszykTeczkaClick( no_animation ){
		var oldelem = false, newelem = false;
		var that = this;
		$(".js_twojkoszyk, .js_twojateczka").each( function(){
			var sthis = $(this);
			var sltr = sthis.attr( "body_selector" );
			var elem = $(sltr);
			if( this === that ){
				newelem = elem;
				sthis.addClass( "twojkoszykteczka_captext_selx" );
			}else{
				oldelem = elem;
				sthis.removeClass( "twojkoszykteczka_captext_selx" );
			}
		});
		if( oldelem !== false ){
			if( no_animation || 1 ){
				oldelem.hide();
				newelem.show();
			}else{
				oldelem.slideUp( 333, function(){
					newelem.slideDown( 333 );
				});
			}
		}
	};
	$(".js_twojkoszyk, .js_twojateczka").click( function(){ KoszykTeczkaClick.call( this, 0 ); } );
	KoszykTeczkaClick.call( $(".js_twojkoszyk").get(0), 1 );


	var ahref_dodschdokosz = $(".js_dodschdokoszykax");
	if( ahref_dodschdokosz != undefined ){
		ahref_dodschdokosz.click( function(){
			if( typeof js_sz_musisz_byc_zal == "undefined" )
				$("#jsi_showek_invisible_form").submit();
			return false;
		});
	}
	
	if( typeof js_sz_musisz_byc_zal != "undefined" ){
		$(".js_zal_only_button").click( function(){
			var sthis = $(this);
			var slctr = sthis.attr( "text_body_selector" );
			if( slctr != undefined ){
				$(slctr).text( js_sz_musisz_byc_zal );
			}
			var trgtkid = sthis.find( ".js_zal_only_text" );
			if( trgtkid != undefined ){
				trgtkid.text( js_sz_musisz_byc_zal );
			}
			return false;
		});
	}
	
	SetupCartAhrefEvents( $("body"), function(){}, function( statusobj ){
		
		if(statusobj.addresult) {
			$('.twojkoszyk_icoemp').addClass('twojkoszyk_icofull');
			$('.twojkoszyk_icoemp').removeClass('twojkoszyk_icoemp');
		}

		ShowPopupDialog( statusobj.addresult? statusobj.tpl_obj.msg_cartaddok.replace(/&lt;/g,'<').replace(/&gt;/g,'>').replace(/&quot;/g,'"'): statusobj.tpl_obj.msg_cartadderror, statusobj.addresult?true:false );
	});

	var dlgbox1 = $(".js_dialogbox");
	if( dlgbox1 != undefined && dlgbox1.length ){
		var bhgt = $("body").height();
		dlgbox1.dialog({
			modal: true, 
			autoOpen: false,
			overlay: {
				opacity: 0.7,
				width: "100%",
				height: bhgt + "px",
				backgroundColor: "#393939"
			},
			resizable: false,
			width: "auto",
			height: "auto"
		});
	}


	$(".js_tblzwinrozwin .js_button").click( function(){
		var sthis = $(this);
		var cont = sthis.parent().parent().find( ".js_content" );
		var jstr = sthis.attr("params");
		var jobj = eval( "({" + jstr + "})" );
		if( $.trim(sthis.text()) == jobj.text1 ){
			sthis.text( jobj.text2 );
		}else{
			sthis.text( jobj.text1 );
		}
		if( $.browser.msie ){
			cont.toggle();
		}else{
			cont.slideToggle( "slow" );
		}
	});

	var prodbox = $(".js_heightzwinrozwin .js_button");
	if( prodbox != undefined ){
		function HideProductBoxes()
		{
			var sthis = $(this);
			var cont = sthis.parent().parent().find( ".js_content" );
			var jstr = sthis.attr("params");
			var jobj = eval( "({" + jstr + "})" );
			if( $.trim(sthis.text()) == jobj.text1 ){
				sthis.text( jobj.text2 );
			}else{
				sthis.text( jobj.text1 );
			}
			var boxs = cont.find( ".js_productbox:eq(9)" );
			if( boxs != undefined ){
				if( boxs.css("display") == "block" ){
					boxs.nextAll().css( "display", "none" );
					boxs.css( "display", "none" );
				}else{
					boxs.nextAll().css( "display", "block" );
					boxs.css( "display", "block" );
				}
			}
		}
		var prodbox = $(".js_heightzwinrozwin .js_button");
		prodbox.click( HideProductBoxes );
		prodbox.each( function(){
			HideProductBoxes.call( this );
		});
	}

	// dodawanie/usuwanie do/ze schowka
	$(".ajaxcb_link").click(function(){
		if($(this).hasClass('add')) {
			var m_link  = $(this).attr('href');
			var m_alert = $('.ajaxcbadd_alert').html();
			var m_title = $('.ajaxcbadd_alert').attr('title');
			var m_obj = $(this);
		
			$.ajax({
				type: "GET",
				url: m_link,
				success:function(){
					$('.ajaxcb_link div div').text(m_title);
					m_obj.attr('href', m_link.replace(/add/g,'del'));
					m_obj.addClass('del');
					m_obj.removeClass('add');

					ShowPopupDialog(m_alert, true);
				}
			});
		}
		else {
			var m_link  = $(this).attr('href');
			var m_alert = $('.ajaxcbdel_alert').html();
			var m_title = $('.ajaxcbdel_alert').attr('title');
			var m_obj = $(this);
		
			$.ajax({
				type: "GET",
				url: m_link,
				success:function(){
					$('.ajaxcb_link div div').text(m_title);
					m_obj.attr('href', m_link.replace(/del/g,'add'));
					m_obj.addClass('add');
					m_obj.removeClass('del');

					ShowPopupDialog(m_alert, false);
				}
			});
		}

		return false;
	});

	//
	//
	// formularz pytania o produkty
	//
	//
	var formbbox = $(".formbobox");
	function AssignHiddenIdents()
	{
		var selected = $(".js_prodztick_selbx[chk_state='1']");
		var idents = "";
		selected.each(function(){
			if( idents != "" )
				idents += ",";
			idents += $(this).attr("prodid");
		});
		var overlay = $(document.formbform).parents(".formbobox:first").find(".js_pformb_overlay");
		if( idents == "" ){
			overlay.show().height( formbbox.height() + "px" );
		}else{
			overlay.hide();
		}
		$(document.formbform.idents).val( idents );
		var linkdoprod = g_root_www + "/page.php?cat=163&selected=" + idents;
		$(document.formbform.link_do_produktow).val( "<a href='"+ linkdoprod +"'>link</a>" );
	}
	if( document.formbform != undefined && document.formbform._pytanieoprodukty_ ){
		// wyczysc wszystko z pola idents na pzreladowanie strony
		$(document.formbform.idents).val("");
		$(document.formbform).submit(function(){
			if( $(document.formbform.idents).val() == "" ){
				return false;		//bez mozliwosci wyslania jesli nic nie zaznaczono i jest pusto.
			}
		});
		var bodyclr = $("body").css("backgroundColor");
		var nbsp = "&nb"+"sp;";
		var overlay = $("<div class='js_pformb_overlay'>"+nbsp+"</div>");
		overlay.css("opacity","0.7")
			.css("width","100%")
			.css("height", formbbox.height() + "px" )
			.css("background", bodyclr )
			.css("position","absolute")
			.css("left","0px").css("top","0px");
		formbbox.append( overlay );
	}
	var cntProdZtick = 0;
	$(".js_prodztick_selbx").click(function(){
		var sthis = $(this);
		if( sthis.attr("chk_state") == undefined ){
			sthis.attr("chk_state", 0 );
		}
		var state = sthis.attr("chk_state");
		state = ++state % 2;			//1 <= 0, 0 <= 1
		sthis.attr("chk_state", state );
		if( state ){
			sthis.addClass( "prodztick_selected_js" );
		}else{
			sthis.removeClass( "prodztick_selected_js" );
		}
		if( !cntProdZtick ){
		}
		cntProdZtick++;
		AssignHiddenIdents();
	});

	//
	// cycle plugin
	//
	$(".nwfdg_box").cycle({
		fx: 'blindY',
		speed: 300,
		timeout: 5000,
		pause: 1
	});

	$(".hdlnboxx").cycle({
		fx: "fade",		//blindY, fade
		speed: 300,
		timeout: 6000,		//6000
		next: ".hdlnbtn_next",
		prev: ".hdlnbtn_prev",
		pager: ".hdlnbox_pagernav",
		pause: 1
	}); 
});

//
// Pokazuje dialog box. Komunikat albo pobiera z parametru albo wyswietla to co aktualnie jest w elemencie.
//
function ShowPopupDialog( message, no_autoclose )
{
	var dlgbox = $(".js_dialogbox");
	dlgbox.css( "display", "block" );
	dlgbox.dialog("open");
	$(".ui-dialog-content").css( "height", "auto" );
	var numwrds = 0;
	if(message){
		numwrds = message.split(" ").length;
	}else{
		numwrds = dlgbox.eq(0).find(".js_msg:first").text().split(" ").length;
	}
	var duration = numwrds * 200;		// 3000 / 5 = 600
	duration = Math.min( Math.max( duration, 1000 ), 10000 );

	dlgbox.eq(0).find(".js_msg:first").html( message );

	if( !no_autoclose ){
		$('.js_msg').css('padding', '28px 0px 28px 0px');

		setTimeout( function(){
			var speed = 500;
			dlgbox.fadeOut( speed, function(){
				dlgbox.dialog("close");
			});
			var overlay = dlgbox.prevAll(".ui-dialog-overlay:first");
			overlay.fadeOut( speed );
		}, duration );
	}
	else {
		$('.js_msg').css('padding', '0px');
	}
}

function ClosePopupDialog()
{
	$(".js_dialogbox").dialog("close");
}



$(document).ready( function(){
	var dlgbox1 = $(".js_formdialogbox");
	if( dlgbox1 != undefined && dlgbox1.length ){
		dlgbox1.css( "display", "block" );
		$(".ui-dialog-content").css( "height", "auto" );
		var bhgt = $("body").height();
		dlgbox1.dialog({
			modal: true,
			autoOpen: false,
			overlay: {
				opacity: 0.7,
				width: "100%",
				height: bhgt + "px",
				backgroundColor: "#393939"
			},
			resizable: false,
			width: "auto",
			height: "auto"
		});
		$(".js_formdialogbox .js_formdialogboxxclose").click( function(){
			dlgbox1.dialog("close");
		});
	}
	$(".js_polec_produkt_btn").click( function(){
		dlgbox1.dialog("open");
	});
});
