$(document).ready(function() {

        if (document.location.hash == ""){
            $('#fw_index_top').focus();
        }
        
        
	$('.select li').hoverIntent( makeTall, makeShort );
	$('.select > li').hover(function(){
		$(this).addClass('hover');
	}, function() {
		$(this).removeClass('hover');
	});
	function makeTall(){  $(this).find('.sub').show();}
	function makeShort(){ $(this).find('.sub').hide();}
	
	
	$('#newsletter-mail').focus(function() {
		if ($(this).val() == 'Twój adres e-mail')
			$(this).val('');
	});
	$('#newsletter-mail').blur(function() {
		if ($(this).val() == '')
			$(this).val('Twój adres e-mail');
	});
	
        $("a.fancybox_group").fancybox({
		'speedIn'		:	600, 
		'speedOut'		:	200, 
		'overlayShow'	:	true,
                'titleShow' : true,
                'titlePosition' : 'inside'
	});
	
	// autocomplete
	$('#fw_index').autocomplete({
		source: function(request, response) {
			var url = SDATA['HOST']+'/webshop/moduly/produkty/filtr/ajax_autocomplete.php';
			$.getJSON(url, request, response);
		},
		minLength: 2,
                open: function() {
                    value = $('#fw_index').val();
                    if (value) {
                          $('.ui-autocomplete').removeHighlight();
                          $('.ui-autocomplete').highlight(value);
                      }
                },
		select: function( event, ui ) {
			$(this).val(ui.value);
			setTimeout("$('#form_wyszukiwarka').submit()", 1000);
		},
                position: {"offset" : "10px 3px"}
	});
	
	$('#fw_index_top').autocomplete({
		source: function(request, response) {
			var url = SDATA['HOST']+'/webshop/moduly/produkty/filtr/ajax_autocomplete.php';
			$.getJSON(url, request, response);
		},
		minLength: 2,
                open: function() {
                    value = $('#fw_index_top').val();
                    if (value) {
                          $('.ui-autocomplete').removeHighlight();
                          $('.ui-autocomplete').highlight(value);
                      }
                },
		select: function( event, ui ) {
			$(this).val(ui.value);
			setTimeout("$('#form_wyszukiwarka_top').submit()", 1000);
		},
                position: {"offset" : "10px 3px"}
	});
	
	
	//wyszukiwarki
	$('#form_wyszukiwarka').submit(function(){
		if($.trim($('#fw_index').val()) != "")
		{
			switch ($('#fw_index').val())
			{
				case 'Szybkie wyszukiwanie': 
				case 'Szukaj':
					return false;
					break;
				case 'gazetka':
				case 'Gazetka':
					document.location = SDATA['HOST'] + '/gazetka';
					return false;
					break;
			}
			
			
			var typ = $('#wyszukiwarka_typ').val();
			$(this).attr('action',typ);
			return true;
		}
		else
		{
			return false;
		}
	});
	
	$('#form_wyszukiwarka_top').submit(function(){
            
		if ($.trim($('#fw_index_top').val()) != '')
		{
			switch ($('#fw_index_top').val())
			{
				case 'Szybkie wyszukiwanie': 
				case 'Szukaj':
					return false;
					break;
				case 'gazetka':
				case 'Gazetka':
					document.location = SDATA['HOST'] + '/gazetka';
					return false;
					break;
			}
	
			$(this).attr('action',"produkty,1/wyszukiwarka.html");
			return true;
		}	
		else
		{
			return false;
		}
		
	});
	
	
	// porownywarka produktow
	$('.product_comparision').click(function (){
		if ($(this).attr('checked'))
			{ type = 1; }
		else
			{ type = 0; }

		id = $(this).val();
		
		$.post(SDATA['HOST']+"/webshop/moduly/produkty/ajax/ajax.php", { operacja : 'add_to_comparision', id : id, type : type},
		function(result)
		{
			switch (result)
			{
				case '0':
				case '1':
				case '2':
				case '3':
					$('.product_comparision:not(:checked)').attr('disabled', false);
					product_comparision(result);
					break;
				case '4':
					$('.product_comparision:not(:checked)').attr('disabled', true);
					product_comparision(result);
					break;
			}
		});
	});
	$('.clear_product_comparision').live('click', function() {
		$.post(SDATA['HOST']+"/webshop/moduly/produkty/ajax/ajax.php", { operacja : 'clear_product_comparision'},
		function(result)
		{
			$('.product_comparision').attr('disabled', false);
			$('.product_comparision').attr('checked', false);
			product_comparision();
		});
	});
	
	$('.dodaj-do-porownania').tooltip();
	product_comparision();
	
	$('.tooltip').tooltip();
	
	sprawdzNajblizszySklep();
        
        $('img[src="/upload/banery_new/choinki.jpg"]').parent().fancybox({
            width: 500,
            height: 297
        });
        
        // anchor fix
        $("a[href^='\#']").click(function(e){
	  e.preventDefault();
	  document.location.hash=this.href.substr(this.href.indexOf('#')+1);
	});
	
});

function product_comparision()
{
    if ($('#produkty_porownywarka').length) {
	$.post(SDATA['HOST']+"/webshop/moduly/produkty/ajax/ajax.php", { operacja : 'update_comparision'},
		function(result)
		{
			$('#produkty_porownywarka').html(result);
		});
    }
}

function js_alert(alert_message, alert_link) 
{
	$('<div class="alert_box"></div>').appendTo('body')
	.text(alert_message)
	.dialog({
		modal: true,
		draggable : false,
		resizable : false,
		title : 'Komunikat', 
		buttons: {
			"Ok": function() {
				$(this).dialog('destroy').remove();
				if (alert_link){ document.location.href = alert_link; }
			}
		},
		close: function() {
			$(this).dialog('destroy').remove();
			
			if (alert_link != '' && alert_link != 'undefined' && ( alert_link == 'RELOAD' ||  alert_link == 'REFRESH' ))
				{ var dc = String(document.location); document.location = dc; }
			else if (alert_link != '' && alert_link != 'undefined')
				{ document.location.href = alert_link; }
		}
		
	});
	
}

var prompt_callback = null;
function js_prompt(text, title, ok_func) 
{
	prompt_callback = ok_func;
	$('<div class="prompt_box"></div>').appendTo('body')
	.html(text+'<br/><br/><input type="text" name="prompt_value" id="prompt_value" />')
	.dialog({
		modal: true,
		draggable : false,
		resizable : false,
		title : title,
		open: function(event, ui) { 
			$('#prompt_value').focus();
			$('.ui-dialog').keyup(function(e) {
				if (e.keyCode == 13) {  
				   $('.ui-dialog').find('button:first').trigger('click');
				}					   
			});
		},
		buttons: {
			"Ok": function() {
				value = $('#prompt_value').val();
				$(this).dialog('destroy').remove();
				if (value)
					prompt_callback(value);
			},
			"Anuluj" : function() {
				$(this).dialog('destroy').remove();	
			}
		},
		close: function() {
			$(this).dialog('destroy').remove();
		}
	});
}

var confirm_callback = null;
function js_confirm(text, title, ok_func) 
{
	confirm_callback = ok_func;
	$('<div class="confirm_box"></div>').appendTo('body')
	.html(text+'<br/>')
	.dialog({
		modal: true,
		draggable : false,
		resizable : false,
		title : title, 
		open: function(event, ui) { 
			$('.ui-dialog').keyup(function(e) {
				if (e.keyCode == 13) {  
				   $('.ui-dialog').find('button:first').trigger('click');
				}					   
			});
		},
		buttons: {
			"Ok": function() {
				$(this).dialog('destroy').remove();
				confirm_callback(true);
			},
			"Anuluj" : function() {
				$(this).dialog('destroy').remove();	
			}
		},
		close: function() {
			$(this).dialog('destroy').remove();
		}
	});
}

var message_clock ;
function js_message(typ,message,message_link)
{
	var czas;
	
	if(typ.search(/-/i) > -1)
	{  
		var spl = typ.split('-');
		typ = spl[0];
		czas = parseInt(spl[1]);
	}	
	if(czas == '' || isNaN(czas))
		{
			czas = 1000;
		}
	
	if(typ == 'OK')
	{	
		var tekst = '<div class="messag_box_ok">'+message+'</div>';	
		var tytul = '';	
	}
	else if(typ == 'BLAD')
	{	
		var tekst = '<div class="messag_box_blad">'+message+'</div>';	
		var tytul = '';
	}
	else if(typ == 'UWAGA')
	{	
		var tekst = '<div class="messag_box_uwaga">'+message+'</div>';	
		var tytul = '';
	}
	else
	{	
		var tekst = '<div class="messag_box_neutral">'+message+'</div>'; 
		var tytul = 'Komunikat';
	}
	
	
	
	if(typ != 'ZAMKNIJ')
	{
		var time = czas * 1000;
		message_clock = setTimeout("js_message('ZAMKNIJ','','"+message_link+"')",time);
		
		$('<div class="messag_box"></div>').appendTo('body')
		.html(tekst)
		.dialog({
			draggable : false,
			resizable : false,
			title : tytul, 
			close: function() {
				clearTimeout(message_clock);
				if (message_link != '' && message_link != undefined && ( message_link == 'RELOAD' ||  message_link == 'REFRESH' ))
					{ 
						var dc = String(document.location); document.location = dc; 
					}
				else if (message_link != '' && message_link != undefined)
					{ 
						document.location.href = message_link; 
					}
			}
			
		});
	}
	else
	{
		$('.messag_box').dialog('destroy').remove();
		clearTimeout(message_clock);
		
		if (message_link != '' && message_link != 'undefined' && ( message_link == 'RELOAD' ||  message_link == 'REFRESH' ))
			{ var dc = String(document.location); document.location = dc; }
		else if (message_link != '' && message_link != 'undefined')
			{ document.location.href = message_link; }
	}		
}	

var load_clock ;
function js_load(status,load_txt,load_link)
{
	status = parseInt(status);
	var wyswietlanie = false;
	
	if(status > 1)
	{	
		var time = 	status * 1000;	
		load_clock = setTimeout("js_load(0,'','"+load_link+"')",time);
		wyswietlanie = true;
	}
	else if(status == 1)
		{	wyswietlanie = true;}
	else
	{	
		$('.load_box').dialog('destroy').remove();
		clearTimeout(load_clock);
		if (load_link != '' && load_link != 'undefined' && ( load_link == 'RELOAD' ||  load_link == 'REFRESH' ))
			{ var dc = String(document.location); document.location = dc; }
		else if (load_link != '' && load_link != 'undefined')
			{ document.location.href = load_link; }
	}		
	
	if(wyswietlanie)
	{
		var tekst = '<div class="load_box_txt">'+load_txt+'</div>'; 		
		
		$('<div class="load_box"></div>').appendTo('body')
		.html(tekst)
		.dialog({				
			draggable : false,
			resizable : false,			
			open:function() {$(this).parents(".ui-dialog:first").find(".ui-dialog-titlebar-close").remove();}			
			
		});
	}		
}

function show_main_menu()
{
	//alert('menu');
}

var confirm_carts_callback = null;
function js_confirm_carts(text, id, ok_func) 
{
	// quartic recommend
	$.post(SDATA['HOST']+"/webshop/moduly/koszyk/ajax/add_to_cart.php", { operacja : 'quartic_code', id : id},
	function(result)
	{
		confirm_carts_callback = ok_func;
		$('.confirm_box').remove();
		$('<div class="confirm_box"></div>').appendTo('body')
		.html('<div class="komunikatOk" style="width:240px; margin:0 auto">'+text+'</div><br/>'+result)
		.dialog({
			modal: true,
			draggable : false,
			resizable : false,
			title : '',
			width : 'auto',
			open: function(event, ui) { 
				$('.ui-dialog').keyup(function(e) {
					if (e.keyCode == 13) {  
					   $('.ui-dialog').find('button:first').trigger('click');
					}					   
				});
			},
			buttons: {
				"Wróć do zakupów" : function() {
					$(this).dialog('destroy').remove();	
					//document.location = document.location;
					console.log($(this));
				},
				"Przejdź do koszyka": function() {
					$(this).dialog('destroy').remove();
					confirm_carts_callback(true);
				}
			},
			close: function() {
				$(this).dialog('destroy').remove();
			}
		});
	});
	
	
	
}

function add_to_cart(id, id_kat)
{
	js_load(1,'Trwa dodawanie produktu do koszyka...','');
	$.post(SDATA['HOST']+"/webshop/moduly/koszyk/ajax/add_to_cart.php", { operacja : 'add_to_cart', id : id, id_kat : id_kat},
	function(result)
	{
		result = parseInt(result);
		if(result == 555)
		{
			js_load(0,'Trwa dodawanie produktu do koszyka...','');
			js_confirm_carts('Produkt dodany do Twojego koszyka.', id, skip_to_cart);
			$('.koszyk').load(SDATA['HOST']+"/webshop/moduly/koszyk/ajax/add_to_cart.php", { operacja : 'aktualizuj_ikone' },function(){});
		}
		else
		{
			js_load(0,'Trwa dodawanie produktu do koszyka...','');
			js_message('BLAD','Nieznany blad, operacja przerwana.','');
		}
	});
}

function add_to_cart_calc(id, id_kat)
{
	var ilosc = $("div#div_calc input#quantity_result").val();
	
	js_load(1,'Trwa dodawanie produktu do koszyka...','');
	$.post(SDATA['HOST']+"/webshop/moduly/koszyk/ajax/add_to_cart.php", { operacja : 'add_to_cart', id : id, id_kat : id_kat, ilosc : ilosc},
	function(result)
	{
		result = parseInt(result);
		if(result == 555)
		{
			js_load(0,'Trwa dodawanie produktu do koszyka...','');
			js_confirm_carts('Produkt dodany do Twojego koszyka.', '', skip_to_cart);
			$('.koszyk').load(SDATA['HOST']+"/webshop/moduly/koszyk/ajax/add_to_cart.php", { operacja : 'aktualizuj_ikone' },function(){});
		}
		else
		{
			js_load(0,'Trwa dodawanie produktu do koszyka...','');
			js_message('BLAD','Nieznany blad, operacja przerwana.','');
		}
	});
}

function add_to_cart_grupon(id, id_kat) 
{
    // sprawdzenie ostatniego kodu
    $('.check_group_number').trigger('click');
    
    if ($('.check_group_number').hasClass('check_group_number button-red')) {
	// jesli ostatni kod jest bledny to przerywamy
	return false;
    }
    
    // sprawdzenie kodow
    codes = $('.code_input:disabled').map(function () { return $(this).val(); }).get();
    var prod_id = $("#group_order_product_id").val();
    var campaign_id = $("#group_order_campaign_id").val();
    
    $.ajaxSetup({
	    async: false
    });
    
    ilosc = codes.length;
    
	
    js_load(1,'Trwa dodawanie produktu do koszyka...','');
    $.post(SDATA['HOST']+"/webshop/moduly/koszyk/ajax/add_to_cart.php", { operacja : 'add_to_cart', id : id, id_kat : id_kat, ilosc : ilosc, grupon_codes: codes},
    function(result)
    {
	    result = parseInt(result);
	    if(result == 555)
	    {
		    js_load(0,'Trwa dodawanie produktu do koszyka...','');
		    js_confirm_carts('Produkt dodany do Twojego koszyka.', '', skip_to_cart);
		    $('.koszyk').load(SDATA['HOST']+"/webshop/moduly/koszyk/ajax/add_to_cart.php", { operacja : 'aktualizuj_ikone' },function(){});
	    }
	    else
	    {
		    js_load(0,'Trwa dodawanie produktu do koszyka...','');
		    js_message('BLAD','Nieznany blad, operacja przerwana.','');
	    }
    });
    
}

function skip_to_cart()
{
	document.location.href = SDATA['HOST']+'/koszyk';
}

function show_carts_details()
{
	$('#koszyk_szczegoly').css('display', 'block');
}

function hide_carts_details()
{
	$('#koszyk_szczegoly').css('display', 'none');
}

// wyszukiwarki
function wyszukiwarka_szukaj()
{
	/*if(sprawdz_formularz('form_wyszukiwarka'))
	{
		var typ = $('#wyszukiwarka_typ').val();
		$('#form_wyszukiwarka').attr('action',typ);
		$('#form_wyszukiwarka').submit();
		
	}*/	
}

function wyszukiwarka_szukaj_top()
{
	/*if ($('#fw_index_top').val() != '')
	{
		$('#form_wyszukiwarka_top').attr('action',"produkty,1/wyszukiwarka.html");
		$('#form_wyszukiwarka_top').submit();
	}*/
}	

function newsletter_subscribe()
{
	var adres_email = $('#newsletter-mail').val();
	if(walidate_forms('newsletter-mail', false))
	{
		$('#newsletter_message').load(SDATA['HOST']+"/webshop/moduly/newsletter/ajax/newsletter.php", { operacja : 'check_address', adres : adres_email },
		function() 
		{
		});
	}
}
function pokaz_element(id)
{
	if($('#'+id))	
	{
		if($('#'+id).css('display') == 'none')	
			{	$('#'+id).css('display','');}
		else
			{	$('#'+id).css('display','none');}
	}
}

function getUserCoords(callback) {
    cookieVal = $.cookie('userCoords');
    var coords = new Array();
    
    if (cookieVal){
        dane = $.cookie('userCoords').split('||');
        coords[0] = parseFloat(dane[0]);
        coords[1] = parseFloat(dane[1]);
        
        if (callback) {
            callback(coords[0], coords[1])
        }
        
    } else {
        $.getScript("http://j.maxmind.com/app/geoip.js", function() {
            coords[0] = geoip_latitude();
            coords[1] = geoip_longitude();

            if (coords[0] && coords[1]) {
                $.cookie('userCoords', coords[0]+'||'+coords[1], { path : '/' });
                
                if (callback) {
                    callback(coords[0], coords[1])
                }
            }
        });
    }
}

function sprawdzNajblizszySklep()
{
       getUserCoords(wyswietlNajblizszySklep);
}
	
function wyswietlNajblizszySklep(myLat, myLon)
{
	/*dst = 1000;
	for(var i=0; i<markety.length; i++)
	{
		var nazwa = markety[i][0];
		var lat = markety[i][1];
		var lon = markety[i][2];
		var link = markety[i][3];
		
		var odleglosc =	(myLat-lat)*(myLat-lat)+(myLon-lon)*(myLon-lon);
		if (odleglosc<dst) 
		{
			dst=odleglosc;
			var najblizszy = nazwa;
			var najblizszyLink = link;
		}
	}
	
	$('#najblizszy_sklep').html('Twój najbli\u017cszy sklep: <a href="sklepy_praktiker/'+najblizszyLink+'.html">'+najblizszy+'<a/>');
	*/
	
	var pi = Math.PI;
	var R = 6371; //equatorial radius
	var distances = [];
	var closest = -1;
	for(var i=0; i<markety.length; i++)
	{

		var nazwa = markety[i][0];
		var lat = markety[i][1];
		var lon = markety[i][2];
		var link = markety[i][3];

		var chLat = lat-myLat;
		var chLon = lon-myLon;

		var dLat = chLat*(pi/180);
		var dLon = chLon*(pi/180);

		var rLat1 = myLat*(pi/180);
		var rLat2 = lat*(pi/180);

		var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
			Math.sin(dLon/2) * Math.sin(dLon/2) * Math.cos(rLat1) * Math.cos(rLat2); 
		var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 
		var d = R * c;


		distances[i] = d;
		if ( closest == -1 || d < distances[closest] ) {
		    closest = i;
		    var najblizszy = nazwa;
		    var najblizszyLink = link;
		}
	}
	
	$('#najblizszy_sklep').html('Twój najbli\u017cszy sklep: <a href="sklepy_praktiker/'+najblizszyLink+'.html">'+najblizszy+'<a/>');
}

function FlashMovieFinished() {
    $.fancybox.close();
}
