document.documentElement.className=(screen.width<=800)?'narrow':'wide';

var switcher = function(el) {
	document.documentElement.className=(document.documentElement.className=='narrow')?'wide':'narrow';
	el.innerHTML = (document.documentElement.className=='narrow')?'rozwiń kolumnę':'zwiń kolumnę';
	el.blur();
	return false;
}

/* promo w sumie  do wywalenia - flash bedzie. */
var promo = function(nr,link) {
	document.getElementById('promoImg').src="img/main/promocja_"+nr+".jpg";
	var links = document.getElementById('promoSwitch').getElementsByTagName('a');
	for(var i=0;i<links.length;i++) {
		links[i].className = '';
	}
	link.className = 'active';
	link.blur();
	return false;
}	


var ajax = {
		q : function() {
			try {return q = window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");}	catch (e) { }
		},
		get : function(url,f) {
			var q = this.q();
        	q.onreadystatechange = function() {
        		if(q.readyState==4&&q.status==200){ f(q.responseText) }
    	    }
			q.open('GET',url,true);
        	q.send(null);			
		},
		post : function(url,msg,f) {
			var q = this.q();
			q.onreadystatechange = function() {
        		if(q.readyState==4&&q.status==200){ f(q.responseText) }
    	    }
			q.open('POST',url, true); 
			q.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
			q.send(msg);
		}
	}

var leadUp = {
	show : function() {
		
		document.getElementById('leadupBox').style.display = 'block';

		},
	
	load : function(url) {
		ajax.get(url,leadUp.addContent);
	},
	
	addContent : function(content) {
		document.getElementById('leadupBox').innerHTML = content;
		leadUp.show();
	},

	
	close : function() {
		document.getElementById('leadupBox').style.display = 'none';
	},
	
	init : function() {
		var d = document.createElement('div');
		d.setAttribute('id','leadupBox');
		document.body.appendChild(d);		
	},
	loadNewsletter : function(url, elId) {
		url = url + '?' + formData2QueryString( document.getElementById( elId ) );
		leadUp.load(url);
	}
}

var radiochk = function(elm,b) {
	var elms = elm.getElementsByTagName('input');
	var lbls = elm.getElementsByTagName('label');
	
	if(!b && window.attachEvent) {
		blr = function(){ event.srcElement.blur() }
		for(var i=0,j=elms.length;i<j;i++) { elms[i].attachEvent('onfocus',blr);	}	
	}
	
	for(var i=0,j=lbls.length;i<j;i++) {
		f = lbls[i].getAttribute('for')||lbls[i].getAttribute('htmlFor');
		lbls[i].className = document.getElementById(f).checked ? 'checked' : 'unchecked';
	}	
}

var vote = {
	el : {},
	s : function(e,n) {
		var r = e.parentNode.getElementsByTagName('label');
		var opisy = {
			1 : '(-2pkt) beznadziejny',
			2 : '(-1pkt) kiepski',
			3 : '(0pkt) może być',
			4 : '(1pkt) dobry',
			5 : '(2pkt) bardzo dobry'
		}
		for(var i=0;i<r.length;i++) {
			r[i].className=(i<n)?'over':'unchecked';
		}
		
		if(n!=0){
			if(e.parentNode.getElementsByTagName('span')[0])
				e.parentNode.getElementsByTagName('span')[0].innerHTML = opisy[n];
				
			r[n-1].previousSibling.checked=true;
		}
		if(n==0){
			if(e.parentNode.getElementsByTagName('span')[0])
				e.parentNode.getElementsByTagName('span')[0].innerHTML = 'Oceń sam';
			
			e.previousSibling.checked=false;
			radiochk(e.parentNode,e.previousSibling);
		}
	},

	send : function(el,v,id) {
		id=document.getElementById('przeisId').value;
		vote.el = el.parentNode;
		url = el.parentNode.parentNode.getAttribute('action');		
		ajax.post(url,'edit[Ocena][rate]='+v+'&przepisId='+id,vote.msg);
	},
	msg : function(response) {
		vote.el.innerHTML = response;
	}
	
}

var galeria = function(url) {                                                
        leadUp.load(url);
   		//if(document.getElementById('leadup'))document.getElementById('leadup').style.top = document.body.scrollTop + 100 + 'px';
		return false;
}

var activate = function()
{
    var f=document.getElementsByTagName('object');
        for(var i=f.length-1; i>=0; i--)
        {
        f[i].parentNode.replaceChild(f[i].cloneNode(true),f[i]);
            /***********************************************
             *@cc_on @
             *@if (@_jscript_version >= 5.6) f[i].outerHTML=f[i].outerHTML;
             *f[i].play(); @else @
             *@end @
             **************************************************/
        }
};

/*******************************************************************
* Fragmenty ponizej korzystaja z jQuery
* By e-mage.pl 2.10.2008
*******************************************************************/

/*******************************************************************
* Przeladowanie na wybrana strone podana jaka wartosc elementu select
* By zadzialalo element option musi miec klase "relocate" 
* W javascripcie do obslugi katalogow wywolany jest kod 
* jQuery.noConflict - stad sposob uruchamiania poznizych fragmentow:
* jQuery(document).ready(function($){
* By e-mage.pl 2.10.2008
*******************************************************************/
jQuery(document).ready(function($){
	$(".relocate ").change( function() {
	  window.location =$(this).val();
	});	
});
/*******************************************************************
* Przeczytaj wartosc ciasteczka 
* Zwraca wartos ciasteczka lub gdy nie istnieje ciasteczko null
* By http://www.quirksmode.org/js/cookies.html
*******************************************************************/
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
/*******************************************************************
* Zapisz ciasteczko 
* Ustawia ciasteczko
* By http://www.quirksmode.org/js/cookies.html
*******************************************************************/
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

/*******************************************************************
* Ustawienie wybranych sklepow w wybieraczkach
* Sprawdza cookie ustawione przez sklepy i dodaje atrybut selected do zapamietanych z cookie
* By zadzialalo element option musi miec klase "relocate" lub "relocate2" / "market" (sciezki bez /page/pl) 
* W javascripcie do obslugi katalogow wywolany jest kod 
* jQuery.noConflict - stad sposob uruchamiania poznizych fragmentow:
* jQuery(document).ready(function($){
* By e-mage.pl 3.10.2008
*******************************************************************/
jQuery(document).ready(function($){
	/* sprawdzamy cookie hipermarketowe */
	var storeHUrl2 = readCookie('storeHUrl');
	if (storeHUrl2) { /*mamy, znajdujemy option ze i bez sciezki i dodajemy atrybut */
		storeHUrl = "/page/pl" + storeHUrl2.replace( /\%2F/g, '/' ); /* zamieniamy na slashe i dodajemy prefiks */
		$(".relocate option[value='" + storeHUrl + "']").attr("selected","selected");	
		$(".relocate2 option[value='" + storeHUrl2.replace( /\%2F/g, '/' ) + "']").attr("selected","selected");	
		$(".market option[value='" + storeHUrl2.replace( /\%2F/g, '/' ) + "']").attr("selected","selected");	
	}
	/* sprawdzamy cookie cExpressowe */
	var storeCEUrl2 = readCookie('storeCEUrl');
	if (storeCEUrl2) { /*mamy, znajdujemy option ze i bez sciezki i dodajemy atrybut */
		storeCEUrl =  "/page/pl" +storeCEUrl2.replace( /\%2F/g, '/' ); /* zamieniamy na slashe i dodajemy prefiks */
		$(".relocate option[value='" + storeCEUrl + "']").attr("selected","selected");
		$(".relocate2 option[value='" + storeCEUrl2.replace( /\%2F/g, '/' ) + "']").attr("selected","selected");
		$(".market option[value='" + storeCEUrl2.replace( /\%2F/g, '/' ) + "']").attr("selected","selected");
	}
    /* sprawdzamy cookie 5minut */
	var storePUrl2 = readCookie('storePUrl');
	if (storePUrl2) { /*mamy, znajdujemy option ze i bez sciezki i dodajemy atrybut */
		storePUrl =  "/page/pl" +storePUrl2.replace( /\%2F/g, '/' ); /* zamieniamy na slashe i dodajemy prefiks */
		$(".relocate option[value='" + storePUrl + "']").attr("selected","selected");
		$(".relocate2 option[value='" + storePUrl2.replace( /\%2F/g, '/' ) + "']").attr("selected","selected");
		$(".market option[value='" + storePUrl2.replace( /\%2F/g, '/' ) + "']").attr("selected","selected");
	}
});

/*******************************************************************
* Wyswietlenie komunikatu o koniecznosci wyboru sklepu
* Przyjmuje parametr - tresc komunikatu
* Na podstawie kodu PLUM
* By e-mage.pl 7.10.2008
*******************************************************************/
function selectShop (message) {
	//wczytujemy formularz z wyborem marketu											
	tb_show('', '#TB_inline?height=200&width=550&modal=true',null);	
	//ifnormacja o bledzie - dlaczego sie wyswietla pole wyboru
	jQuery('#catalog-empty p').html(message);
	//dodajemy do okna zawartosc bo thickbox nie laduje sie poprawnie
	var str = jQuery('#catalog-empty').html();
	jQuery('#TB_ajaxContent').html(str);
}

/*******************************************************************
* Wyslanie formularza po zmanie wartosci
* By zadzialalo option musi miec klase :"market" lub "relocate2"
* jQuery.noConflict - stad sposob uruchamiania poznizych fragmentow:
* jQuery(document).ready(function($){ 
* By e-mage.pl 10.10.2008
*******************************************************************/
jQuery(document).ready(function($){
	$(".market ").change( function() {
		if ( $(this).val() != "") {
			$(this).parent().parent().parent().parent().submit();
		}
	});	
});
jQuery(document).ready(function($){
	$(".relocate2 ").change( function() {
		if ( $(this).val() != "") {
			$(this).parent().parent().parent().parent().submit();
		}
	});	
});


// KR@PLUM 14.5.2008 - inicjalizacja zmiennych bannerow

/*******************************************************************
* W javascripcie do obslugi katalogow wywolany jest kod 
* jQuery.noConflict - stad sposob uruchamiania poznizych fragmentow:
* jQuery(document).ready(function($){
* By e-mage.pl 2.10.2008
*******************************************************************/
var leadupAdvertNews = false;
var leadupAdvert1 = false;
var leadupAdvert2 = false;
var leadupAdvert3 = false;
var leadupAdvertUslugi = false; 
//window.onload = function() {
jQuery(document).ready(function($){
	leadUp.init(); 
	
	//leadLeadup;
	if( leadupAdvertNews) {
		//leadUp.init();
		leadUp.loadNewsletter('/page/pl/handlowy/newsletter-handlowy/', 'NLzapisz');
	}
	if ( leadupAdvert1 ) {
		//leadUp.init();
		document.getElementById('leadupBox').style.background = 'none';
		leadUp.load('/promoleadup.php');
		//setTimeout("leadUp.close();",10*1000);
		document.getElementById('leadupBox').style.height = 'auto';
		document.getElementById('leadupBox').style.width = 'auto';
		document.getElementById('leadupBox').style.left = '50%';

	
	}
	if ( leadupAdvert2 ) {
		//leadUp.init();
		document.getElementById('leadupBox').style.background = 'none';
		leadUp.load('/promoleadup2.php');
		//setTimeout("leadUp.close();",10*1000);
		document.getElementById('leadupBox').style.height = 'auto';
		document.getElementById('leadupBox').style.width = 'auto';
		document.getElementById('leadupBox').style.left = '50%';
	
	}
        if ( leadupAdvert3 ) {
		//leadUp.init();
		document.getElementById('leadupBox').style.background = 'none';
		leadUp.load('/promoleadup3.php');
		//setTimeout("leadUp.close();",10*1000);
		document.getElementById('leadupBox').style.height = 'auto';
		document.getElementById('leadupBox').style.width = 'auto';
		document.getElementById('leadupBox').style.left = '50%';

	}
	
	if ( leadupAdvertUslugi ) {
		document.getElementById('leadupBox').style.background = 'none';
		leadUp.load('/promoleadup_uslugi.php');
		document.getElementById('leadupBox').style.height = 'auto';
		document.getElementById('leadupBox').style.width = 'auto';
		document.getElementById('leadupBox').style.left = '50%';
	}
	
	
	
	if(document.getElementById('stars'))radiochk(document.getElementById('stars'));
	if(document.getElementById('switcher'))document.getElementById('switcher').innerHTML=(document.documentElement.className=='narrow')?'rozwiń kolumnę':'zwiń kolumnę';
//    var fld = document.getElementById('WSszuk1').getElementsByTagName('input')[0];
//    fld.onfocus = function() { if(this.value=='szukaj w serwisie') this.value = ''; }
//    fld.onblur = function() { if(this.value=='') this.value = 'szukaj w serwisie'; }
    
    
	activate ();
    
//}
});

//*
// * Copyright 2006 Matthew Eernisse (mde@fleegix.org)
// *
// * Licensed under the Apache License, Version 2.0 (the "License");
// * you may not use this file except in compliance with the License.
// * You may obtain a copy of the License at
// *
// *         http://www.apache.org/licenses/LICENSE-2.0
// *
// * Unless required by applicable law or agreed to in writing, software
// * distributed under the License is distributed on an "AS IS" BASIS,
// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// * See the License for the specific language governing permissions and
// * limitations under the License.
// *
// * Original code by Matthew Eernisse (mde@fleegix.org)
// * Additional bugfixes by Mark Pruett (mark.pruett@comcast.net)
// *
// */

// The var docForm should be a reference to a <form>

function formData2QueryString(docForm) {

    var submitContent = '';
    var formElem;
    var lastElemName = '';
    
    for (i=0;i<docForm.elements.length;i++) {
        
        formElem = docForm.elements[i];
        switch (formElem.type) {
            // Text fields, hidden form elements
            case 'text':
            case 'hidden':
            case 'password':
            case 'textarea':
            case 'select-one':
                submitContent += formElem.name + '=' + escape(formElem.value) + '&'
                break;
                
            // Radio buttons
            case 'radio':
                if (formElem.checked) {
                    submitContent += formElem.name + '=' + escape(formElem.value) + '&'
                }
                break;
                
            // Checkboxes
            case 'checkbox':
                if (formElem.checked) {
                    // Continuing multiple, same-name checkboxes
                    if (formElem.name == lastElemName) {
                        // Strip of end ampersand if there is one
                        if (submitContent.lastIndexOf('&') == submitContent.length-1) {
                            submitContent = submitContent.substr(0, submitContent.length - 1);
                        }
                        // Append value as comma-delimited string
                        submitContent += ',' + escape(formElem.value);
                    }
                    else {
                        submitContent += formElem.name + '=' + escape(formElem.value);
                    }
                    submitContent += '&';
                    lastElemName = formElem.name;
                }
                break;
                
        }
    }
    // Remove trailing separator
    submitContent = submitContent.substr(0, submitContent.length - 1);
    return submitContent;
}

// zmieniacz okladek, skrypt napisany by zmieniac okladki katalogÛw gdy jest ich wiecej niz 1.

$ = function(){
	var r=[],a=arguments;for(var i=0,j=a.length;i<j;i++){(typeof a[i]=='string')?(r.push(document.getElementById(a[i]))):(r.push(a[i]))}
	return(r.length==1)?r[0]:r
}
function getElementsByClass(s,n,t) {
	var c=[],e=(n?n:document).getElementsByTagName(t?t:'*'),r=new RegExp("(^|\\s)"+s+"(\\s|$)");
	for(var i=0,j=e.length;i<j;i++)r.test(e[i].className)?c.push(e[i]):'';return c}
	
function fade(e,a,b,s) {
	var s=s||(b-a)/20;
	if(a>=0&&a<=1){a+=s;setTimeout(function(){fade(e,a,b,s)},50);setOpacity(e,a)}
	else setOpacity(e,b);
}

function setOpacity(el,o) {
// 	document.body.filters?el.style.filter='alpha(opacity=' + o*100 + ')':el.style.opacity=o;

	/* IE6 is bitchy abouot original (above) construct and fails execution; thus
	   opacity must be set on both filters and css property; it's ugly but doeasn't
	   trigger any errors */
	el.style.filter='Alpha(Opacity=' + Math.round(o*100) + ')';
	el.style.opacity=o;

	!el.hasLayout?el.style.zoom=1:'';
}

var covers={
	c1:[],
	
	c2:[],

	running: { c1: false, c2: false },
	
	init:function(){
		/*
		Pozostawiam do poprawki dla PLUM		
		*/
		covers.c1=getElementsByClass('okladka',$('mainHipermarkety'),'a');
		covers.c2=getElementsByClass('okladka',$('mainExpress'),'a');
		
		if(covers.c1.length>1){
			window.setInterval(function(){covers.change(covers.c1,'c1')},6000);
		}
		
		if(covers.c2.length>1){
			window.setInterval(function(){covers.change(covers.c2,'c2')},6500);
		}
	},
	
	change:function(c,which){

		// fade out existing element
		fade(c[0],1,0);

		// after ~1s show and fade in new cover
		setTimeout(function(){
			// sync conurency
			if(covers.running[which]) return;
			else covers.running[which] = true;

			// hide all (makes shure no two exist simultanisly)
			for(var i in c) c[i].style.display='none';

			// rotate elements
			c.push(c.shift());

			// set full transparency for new element
			setOpacity(c[0],0);

			// show new one
			c[0].style.display='block';

			// fade it in
			fade(c[0],0,1);

			// sync conurency
			covers.running[which] = false;

		},1000);
	}
}

