/* 

	Author: Greg Gawlik - Web Designers
	        http://www.webdesigners.pl/

	Popups scripts based on geniuine Pornel Idea
	Idea: Kornel Lesinski
	      http://pornel.net/pups/

*/


var popupAddWidth = 0;
var popupAddHeight = 0;

var popupsMaker = 
{
	makePopups: function() {

		var db = document.body;

		if (!db || !db.getElementsByTagName) { return false; }

		var as = db.getElementsByTagName('a');
		for(var i=0;i<as.length;i++)
		{
			if ((as[i].title).match(/\(([0-9]+)x([0-9]+)x([0-1]+)\)/))
			{
				as[i].onclick = this.click;
			}
		}
	},

	click: function()
	{

		try {
			if (this.pp_win && this.pp_win.close && !this.pp_win.closed) {this.pp_win.close(); this.pp_win=false;}
		}
		
	  	catch(e){}
		
		try {
			var title = this.getAttribute('title');

			var titleandsize = popupsMaker.title2size(title);
			var gpwidth = titleandsize[1] + popupAddWidth;
			var gpheight = titleandsize[2] + popupAddHeight;
			var gpscroll = titleandsize[3];

			if(gpscroll == 0)
			   var scrollbars = "no";
			else
			   var scrollbars = "yes";

			var winopts = "dependent=yes,toolbar=no,resizable=yes,scrollbars=" + scrollbars + ",width=" + gpwidth + ",height=" + gpheight;

			window.open(this.href,'_blank',winopts);
			return false;
		}
	  	catch(e){}

	  	return true;

	},

	title2size: function(str)
	{
		if (str)
		{
			var out = str.match(/\(([0-9]+)x([0-9]+)x([0-1]+)\)/);
			if (out) return new Array(str, parseInt(out[1]), parseInt(out[2]), parseInt(out[3]));
		}
		
		return new Array(str, 800, 800, 1);
	},


	initNow: function() {

		this.makePopups();
	}

};

var smartFields =
{	
	makeSmartFields: function () {

		var d = document;
		var a = sfArray;
		
		for (x in a)
		{
			var id = x;
			var value = a[x];
			var f = d.getElementById(id);
			
			if(!isNull(f))
			  {
				f.onblur = this.a_onblur;
				f.onfocus = this.a_onfocus;
			  }
		}
	},
	
	a_onblur: function() {
	
		if(this.value == "") { this.value = sfArray[this.id]; }
	},
	
	a_onfocus: function() {
		
		if(this.value == sfArray[this.id]) { this.value = ""; }
	},
	
	initNow: function() {

		if (!document.getElementById) { return false; }
		this.makeSmartFields();
	}
};

var smartMenu = 
{
	makeSmartMenu: function (list_id, prfx, url) {
		
		var d = document;
		var db = d.body;
		var opened_menu = 'false'; //GetCookie(list_id);
		
		//DOM browser compatibile checking
		if (!db || !db.getElementsByTagName || !d.getElementById) { return false; }
		
		var ul_obj = smartMenu.getMenu(list_id);
		
		if(ul_obj)
		  {
		  	//Getting all ul childs
			var uls_obj = smartMenu.getAllSubMenus(ul_obj);
			
			this.makeMenus(uls_obj, list_id, prfx);
			this.hideAll(uls_obj);
			
			if(isNull(url))
			   var dc = document.location;
			else
			   var dc = url;

			if(opened_menu == 'false' || isNull(opened_menu)) { this.openMenuUrl(list_id, dc, ul_obj); }
			else   					 						  { this.openMenu(list_id, opened_menu); }
		  }
	},
	makeMenus: function(uls_obj, list_id, prfx) {
		
		for(i=0; i<uls_obj.length; i++) {
			
			uls_obj[i].id = prfx + '_' + i;
				
			var parent_li = uls_obj[i].parentNode;
				
			if(isObject(parent_li))
			  {
				var parent_li_a = parent_li.getElementsByTagName('a')[0];
				
				parent_li_a.list_id = list_id;
//				parent_li_a.onclick = this.switchMenu;
			  }
		}
	},
	hideAll: function(uls_obj) {
		
		isObject(uls_obj)
			for(i=0; i<uls_obj.length; i++)
				uls_obj[i].style.display = 'none';
	},
	showAll: function(uls_obj) {
		
		for(i=0; i<uls_obj.length; i++)
		   uls_obj[i].style.display = 'block';
	},
	getAllSubMenus: function(ul_obj) {
		
		var uls_obj = ul_obj.getElementsByTagName('ul');
		return uls_obj;
	},
	getCatUrl: function(url) {
		
		//Document location without pages
		var dc_str = new String(url);
		var dc_rgxp = new RegExp("\/page\/[0-9]+", "gi");
		var dc_val = dc_str.replace(dc_rgxp, '');
		return dc_val;
	},
	getMenu: function(ul_id) {
		
		var ul_obj = document.getElementById(ul_id);
		
		if(isObject(ul_obj))
		   return ul_obj;
		else
		   return false;
	},
	switchMenu: function () {
		
		var list_id = this.list_id;
		var parent_li = this.parentNode;
		var relate_ul = parent_li.getElementsByTagName('ul')[0];
		
		if(relate_ul.style.display == 'block')
		   smartMenu.closeTree(list_id, relate_ul);
		else
		   smartMenu.openTree(list_id, relate_ul);
		   
		var dc_val = smartMenu.getCatUrl(document.location);
		var hr_val = this.href;
		
		if(hr_val != dc_val)
		   return false;
		else
		   return false;
	},
	openMenu: function (list_id, ul_id) {
		
		var d = document;
		var ul_obj = d.getElementById(ul_id);
		
		this.openTree(list_id, ul_obj);
	},
	openMenuUrl: function (list_id, url, ul_obj) {

		var dc_val = smartMenu.getCatUrl(url);
		var as_obj = ul_obj.getElementsByTagName('a');
		
		for(i=0; i<as_obj.length; i++) {

			if(as_obj[i].href == dc_val) {

				var parent_li = as_obj[i].parentNode;
				var parent_ul = parent_li.parentNode;
				var relate_ul = parent_li.getElementsByTagName('ul')[0];
				
				if(isObject(relate_ul))
				   smartMenu.openTree(list_id, relate_ul);
				else
				   smartMenu.openTree(list_id, parent_ul);
				
				break;
			}
		}
	},
	openTree: function (list_id, ul_obj) {
		
		SetCookie(list_id, ul_obj.id, "", "/");
		
		smartMenu.hideAll(smartMenu.getAllSubMenus(smartMenu.getMenu(list_id)));
		this.openParent(list_id, ul_obj);
	},
	openParent: function (border, ul_obj) {
		
		if(ul_obj.id != border && isObject(ul_obj))
		  {
			ul_obj.style.display = 'block';
			var li_parent = ul_obj.parentNode;
			var ul_parent = li_parent.parentNode;
			
			this.openParent(border, ul_parent);
		  }
		
	},
	closeTree: function (list_id, ul_obj) {
		
		ul_obj.style.display = 'none';
		uls_obj = smartMenu.getAllSubMenus(ul_obj);
		
		var li_parent = ul_obj.parentNode;
		var ul_parent = li_parent.parentNode;
		
		if(ul_parent.id == list_id)
		   SetCookie(list_id, 'false', "", "/");
		else
		   SetCookie(list_id, ul_parent.id, "", "/");
		
		this.hideAll(uls_obj);
	},
	initNow: function(list_id, prfx, url) {
		
		this.makeSmartMenu(list_id, prfx, url);
	}
};

var waluty = {
	
	makeWaluty: function() {
		
		//DOM browser compatibile checking
		var d = document;
		var db = d.body;
		if(!db || !db.getElementsByTagName || !d.getElementById) 
		  { return false; }
		
		//Zwijamy wszystkie waluty
		waluty.hideWaluty();
		
		//Pobieramy punkty i nadajemy akcje na nagłówki
		var punkty = waluty.getWaluty();
		
		if(isObject(punkty))
		  {
			for(var i = 0; i < punkty.length; i++) {
				
				var naglowek = waluty.getNaglowek(punkty[i]);
				naglowek.onclick = this.switchWaluta;
				
				//Rozwijamy pierwszy punkt domyślnie
				if(i == 0)
				   waluty.openWaluta(naglowek);
			}
		  }
	},
	switchWaluta: function() {
		
		//Sprawdzamy czy klikany element jest już rozwinięty
		//Jesli jest to zwijamy wszystko
		//Jesli nie jest to chowamy wszystkie pozycje i rozwijamy ten konkretny element
		if(this.parentNode.className == 'rozwiniety')
		  {
			waluty.hideWaluty();
		  }
		else
		  {
			waluty.hideWaluty();
			waluty.openWaluta(this);
		  }
	},
	openWaluta: function(object) {
		
		object.parentNode.className = 'rozwiniety';
		object.title = 'Kliknij aby zwin±ć';
		object.onmouseover = '';
		object.onmouseout = '';
	},
	getWaluty: function() {
		
		//Pobieramy wszystkie punkty listy walut
		var d = document;
		var db = d.body;
		var kontener_walut = d.getElementById('kursy_walut');
		
		if(isObject(kontener_walut))
		  {
			var punkty = kontener_walut.getElementsByTagName('li');
			return punkty;
		  }
	},
	getNaglowek: function(object) {
		
		//Na podstawia posiadanego obiektu listy, pobieramy należący do niego nagłówek
		if(isObject(object))
		  {
			var naglowek = object.getElementsByTagName('h3');
			var naglowek = naglowek[0];
			return naglowek;
		  }
	},
	NaglowekMouseOver: function () {
		
		this.className = 'onmouseover';
	},
	NaglowekMouseOut: function () {
		
		this.className = 'onmouseout';
	},
	hideWaluty: function() {
		
		var punkty = waluty.getWaluty();
		
		if(isObject(punkty))
		  {
			for(var i = 0; i < punkty.length; i++) {
				
				punkty[i].className = 'zwiniety';
				
				var naglowek = waluty.getNaglowek(punkty[i]);
				naglowek.title = 'Kliknij aby rozwin±ć';
				naglowek.className = '';
				naglowek.onmouseover = waluty.NaglowekMouseOver;
				naglowek.onmouseout = waluty.NaglowekMouseOut;
			}
		  }
	},
	initNow: function () {
		
		this.makeWaluty();
	}
};

var bankowoscInternetowa = {
	
	makeBankowosc: function (status) {
		
		//DOM browser compatibile checking
		var d = document;
		var db = d.body;
		if(!db || !db.getElementsByTagName || !d.getElementById) 
		  { return false; }
		
		var blok = d.getElementById('bankowosc_elektroniczna');
		var blok_content = d.getElementById('bankowosc_elektroniczna_tresc');
		
		if(status == 'bankowosc_rolldown')
		  blok_content.style.display = 'block';
		else
		  blok_content.style.display = 'none';
		
		if(isObject(blok))
		  {
			var tytul = blok.getElementsByTagName('h2');
			var bankowosc_tytul = tytul[0];
			bankowosc_tytul.onclick = this.switchBankowosc;
		  }
	},
	switchBankowosc: function () {
		
		var d = document;
		var blok = d.getElementById('bankowosc_elektroniczna_tresc');
		
		if(blok.style.display == 'block')
		  blok.style.display = 'none';
		else
		  blok.style.display = 'block';
	},
	initNow: function (status) {
		
		this.makeBankowosc(status);
	}
};

var flashHeaders = {
	
	makeFlashHeaders: function() {
		
		
		//DOM browser compatibile checking
		var d = document;
		var db = d.body;
		if(!db || !db.getElementsByTagName || !d.getElementById) 
		  { return false; }
		
		var main_header_objs = getElementsByClassName("flash_header");
		
		for(i=0; i < main_header_objs.length; i++ ) {
			
			var obj = main_header_objs[i];
			var naglowek_width = obj.offsetWidth;
			var naglowek_height = obj.offsetHeight;
			var naglowek_id = "flash_header_" + i;
			var naglowek_id_new = "flash_header_repl_" + i;
			var naglowek_label = obj.firstChild.nodeValue;
			
			obj.id = naglowek_id;
			
			var so = new SWFObject("img/flash/headers.swf", naglowek_id_new, naglowek_width, 21, "8");
			so.addParam("flashvars", "headerpar=" + naglowek_label);
			so.addParam("wmode", "transparent");
			so.addParam("scale", "noscale");
			so.addParam("salign", "L");
			so.addParam("menu", "false");
			so.write(obj.id);
			
			var obj_new = d.getElementById(naglowek_id_new);
			obj_new.className = "flash_headers";
		}
	},
	initNow: function() {
		
		this.makeFlashHeaders();
	}
};


var dropDown = 
{
	startList: function() {
		
		var navRootMenu = document.getElementById("menu_glowne");
		var navRootCells = navRootMenu.getElementsByTagName("TD");
		
		if(isObject(navRootCells) && isObject(navRootCells))
		  {
			for (var ci=0; ci<navRootCells.length; ci++) {
				
				var nodeCell = navRootCells[ci];
				
				//Mouse events
				nodeCell.onmouseover = this.setOver;
				nodeCell.onmouseout = this.setOut;
				
				//Keyboard events over the main menu items
				var nodeCellChilds = nodeCell.childNodes;
				for(cci=0; cci<nodeCellChilds.length; cci++) {
					
					if(nodeCellChilds[cci].nodeName == "DIV") {
						
						//Getting anchor node
						var nodeDivChilds = nodeCellChilds[cci].childNodes;
						for(sci=0; sci<nodeDivChilds.length; sci++) {
							
							if(nodeDivChilds[sci].nodeName == "A") {
								
				  				nodeDivChilds[sci].onfocus = this.setOverKeyboard;
				  				nodeDivChilds[sci].onblur = this.setOutKeyboard;
							}
						}
					}
				}
				
				//Keyboard events over the sub menu items
				var navSubLists = nodeCell.getElementsByTagName("UL");
				
				//If submentu / sublist available
				if(isObject(navSubLists) && navSubLists.length > 0)
				  {
				  	//Getting all anchor nodes
					var nodeAChilds = navSubLists[0].getElementsByTagName("A");
					if(isObject(nodeAChilds))
					  {
						for(var aci=0; aci<nodeAChilds.length; aci++) {
							
							nodeAChilds[aci].onfocus = this.setOverKeyboardInside;
							nodeAChilds[aci].onblur = this.setOutKeyboardInside;
						}
					  }
				  }
			}
		  }
		
	  return true;
	},
	
	setOver: function () {
		
		this.className="over";
		return true;
	},
	
	setOut: function() {
		
		this.className=this.className.replace("over", "");
		return true;
	},
	
	setOverKeyboard: function() {
		
		this.parentNode.parentNode.className=" over";
		return true;
	},
	
	setOutKeyboard: function() {
		
		this.parentNode.parentNode.className=this.parentNode.parentNode.className.replace("over", "");
		return true;
	},
	
	setOverKeyboardInside: function() {
		
		this.parentNode.parentNode.parentNode.parentNode.className = " over";
		return true;
	},
	
	setOutKeyboardInside: function() {
		
		this.parentNode.parentNode.parentNode.parentNode.className = this.parentNode.parentNode.parentNode.parentNode.className.replace("over", "");
		return true;
	},
	
	initNow: function() {

		if(document.getElementById)
		   this.startList();
		   
		return true;
	}
};


/* Additional Functions */

function getElementsByClassName(cn){
  var arr = new Array(); 
  var els = document.getElementsByTagName("*");
  var exp= new RegExp("^(.* )?"+cn+"( .*)?$", "g");
  for (var i = 0; i < els.length; i++ ){
    if (exp.test(els[i].className)){
      arr.push(els[i]);
    }
  }
  return arr;
}

function isNull(a) {
    return typeof a == 'object' && !a;
}
function isObject(a) {
    return (a && typeof a == 'object') || isFunction(a);
}
function isFunction(a) {
    return typeof a == 'function';
}
function getCookieVal (offset) {

	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1)
	endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie (name) {

	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen) {

		var j = i + alen;
		if (document.cookie.substring(i, j) == arg)
		return getCookieVal (j);
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) break;

	}
	return null;
}
function SetCookie (name, value, expires, path, domain, secure) {

    document.cookie = name + "=" +escape(value) +
        ( (expires) ? ";expires=" + expires.toGMTString() : "") +
        ( (path) ? ";path=" + path : "") + 
        ( (domain) ? ";domain=" + domain : "") +
        ( (secure) ? ";secure" : "");
}
function DeleteCookie (name) {

	var exp = new Date();
	exp.setTime (exp.getTime() - 1);  // This cookie is history
	var cval = GetCookie (name);
	document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}

function initNow(url, bankowosc) {

	// smartMenu.initNow('menu_profilowe_lista', 'mpl', url);
	dropDown.initNow();
	waluty.initNow();
	bankowoscInternetowa.initNow(bankowosc);
	smartFields.initNow();
	popupsMaker.initNow();
	flashHeaders.makeFlashHeaders();
}

var sfArray = new Array();
sfArray["newsletter_firstname"] = "imię i nazwisko";
sfArray["newsletter_email"] = "email";
