//Autor: Grzegorz Nowacki
//Nazwa pliku: library.js
//Biblioteka funkcji javascript

	//predefiniowane zmienne
	var onLoad = false;
	var onActivDiv = 0;
	var menuArray = new Array();
	var attempt = 0;
	menuArray['Kategoria'] = new Array();
	var tmpContent = new Array();
	
	function onloadHandler(){
		onLoad = true;
		
		//zaczytanie danych z xml do tablicy daneItems
		getXMLmenu('menuMainTest', null);
		
		//zaczytanie danych z xml do tablicy menuItems
		menuCmsDane();
		if(typeof window.sluchacz == "function"){
			sluchacz();
		}
	}

	function menuCmsDane(){
		if(typeof window.getXML == 'function'){
			getXML('dane', '');
		}
	}

	/*
	* Funkcja obsługi AJAX-a odczytująca dane dla menuMain
	*/
	var daneItems = new Array();
	
	function getXMLmenu(plik, fraza){

		var request = null;
		var xml_response = null;
		
		if(window.XMLHttpRequest){
			request = new XMLHttpRequest();
		}else if(window.AcrtiveXObject){
			request = newActiveXObject('Microfoft.XMLHTTP');
		}
		
		if(request){
			request.open('GET', 'xml/'+plik+'.xml?t='+Math.round(9999 * Math.random())); //unikniecie cache - owania
			request.onreadystatechange = function(){
				if(request.readyState == 4){
					
					menuArray['Kategoria'] = new Array();
					
					xml_response = request.responseXML;
					//alert('Plik z danymi został odczytany:\n'+xml_response);
				
					/*Odczytanie ilości kategorii*/
					var root = xml_response.getElementsByTagName('kategoria');
					var rootLength = root.length;
					
					for(iKat = 0; iKat < rootLength; iKat++){
						
						var index = 1;
						
						/*odczytanie kategorii*/
						var kategoria = root[iKat].attributes.getNamedItem('name').value;
						
						daneItems[kategoria] = new Array();
						
						/*Odczytanie linku do kategorii*/
						daneItems[kategoria]['Link'] = root[iKat].attributes.getNamedItem('link').value;
						if(root[iKat].attributes.getNamedItem('http') != null){
							daneItems[kategoria]['http'] = root[iKat].attributes.getNamedItem('http').value;
						}else{
							daneItems[kategoria]['http'] = "";	
						}

							
						/*Odczytanie indexu w tablicy*/
						daneItems[kategoria]['Rec'] = root[iKat].attributes.getNamedItem('rec').value;
						daneItems[kategoria]['Lp'] = iKat+1;
						daneItems[kategoria]['Temp'] = root[iKat].attributes.getNamedItem('temp').value;
						
						/*odczytanie podkategorii w  kategorii*/
						var rootPodKat = root[iKat].getElementsByTagName('podkategoria');
					
						for(var i = 0; i<rootPodKat.length; i++){
							
							var podkategoria = rootPodKat[i].attributes.getNamedItem('name').value;
							
							daneItems[kategoria][i] = new Array();
							daneItems[kategoria][i]['Podkategoria'] = new Array();
							daneItems[kategoria][i]['Podkategoria'][podkategoria] = new Array();
							
							// linki
							daneItems[kategoria][i]['Podkategoria'][podkategoria]['Link'] = rootPodKat[i].attributes.getNamedItem('link').value;
							if(rootPodKat[i].attributes.getNamedItem('http') != null){
								daneItems[kategoria][i]['Podkategoria'][podkategoria]['http'] = rootPodKat[i].attributes.getNamedItem('http').value;
							}else{
								daneItems[kategoria][i]['Podkategoria'][podkategoria]['http'] = "";	
							}
							
							daneItems[kategoria][i]['Podkategoria'][podkategoria]['Rec'] = rootPodKat[i].attributes.getNamedItem('rec').value;
							daneItems[kategoria][i]['Podkategoria'][podkategoria]['Temp'] = rootPodKat[i].attributes.getNamedItem('temp').value;
							
							if(rootPodKat[i].hasChildNodes != null){
								
								daneItems[kategoria][i]['Podkategoria'][podkategoria]['Produkt'] = new Array();
								
								/*odczytanie produktu w  podkategorii*/
								var rootProdPodKat = rootPodKat[i].getElementsByTagName('produkt');
							
								for(var j = 0; j<rootProdPodKat.length; j++){
									daneItems[kategoria][i]['Podkategoria'][podkategoria]['Produkt'][j] = new Array();
									daneItems[kategoria][i]['Podkategoria'][podkategoria]['Produkt'][j]['Nazwa'] = rootProdPodKat[j].attributes.getNamedItem('name').value;
									daneItems[kategoria][i]['Podkategoria'][podkategoria]['Produkt'][j]['Link'] = rootProdPodKat[j].attributes.getNamedItem('link').value;
									daneItems[kategoria][i]['Podkategoria'][podkategoria]['Produkt'][j]['http'] = rootProdPodKat[j].attributes.getNamedItem('http').value;
									daneItems[kategoria][i]['Podkategoria'][podkategoria]['Produkt'][j]['Rec'] = rootProdPodKat[j].attributes.getNamedItem('rec').value;
									daneItems[kategoria][i]['Podkategoria'][podkategoria]['Produkt'][j]['Temp'] = rootProdPodKat[j].attributes.getNamedItem('temp').value;
								}
							}
						}	
					}
					getXMLmenuTop('menuTopTest', null);
				}else{
					//document.getElementById("temporary").innerHTML = 'wyszukiwanie...';
				}
			}
			request.send(null);
		}else{
			alert('Przeglądarka nie obsługuje technologii Ajax');
		}
	}

	/*
	* Funkcja obsługi AJAX-a odczytująca dane dla menuTop
	*/
	var daneItemsTop = new Array();
	
	// Nowa funcja
	function getXMLmenuTop(plik, fraza){
		
		var request = null;
		var xml_response = null;
		
		if(window.XMLHttpRequest){
			request = new XMLHttpRequest();
		}else if(window.AcrtiveXObject){
			request = newActiveXObject('Microfoft.XMLHTTP');
		}
		
		if(request){
			request.open('GET', 'xml/'+plik+'.xml?t='+Math.round(9999 * Math.random())); //unikniecie cache - owania
			request.onreadystatechange = function(){
				if(request.readyState == 4){
					
					menuArray['Kategoria'] = new Array();
					
					xml_response = request.responseXML;
					//alert('Plik z danymi został odczytany');
				
					/*Odczytanie ilości kategorii*/
					var root = xml_response.getElementsByTagName('kategoria');
					var rootLength = root.length;
					
					for(iKat = 0; iKat < rootLength; iKat++){
						
						var index = 1;
						
						/*odczytanie kategorii*/
						var kategoria = root[iKat].attributes.getNamedItem('name').value;
						
						daneItemsTop[kategoria] = new Array();
						
						/*Odczytanie linku do kategorii*/
						daneItemsTop[kategoria]['Link'] = root[iKat].attributes.getNamedItem('link').value;
						if(root[iKat].attributes.getNamedItem('http') != null){
							daneItemsTop[kategoria]['http'] = root[iKat].attributes.getNamedItem('http').value;
						}else{
							daneItemsTop[kategoria]['http'] = "";	
						}
						
						/*Odczytanie indexu w tablicy*/
						daneItemsTop[kategoria]['Rec'] = root[iKat].attributes.getNamedItem('rec').value;
						daneItemsTop[kategoria]['Temp'] = root[iKat].attributes.getNamedItem('temp').value;

						/*odczytanie podkategorii w  kategorii*/
						var rootPodKat = root[iKat].getElementsByTagName('podkategoria');
					
						for(var i = 0; i<rootPodKat.length; i++){
							
							var podkategoria = rootPodKat[i].attributes.getNamedItem('name').value;
							
							daneItemsTop[kategoria][i] = new Array();
							daneItemsTop[kategoria][i]['Podkategoria'] = new Array();
							daneItemsTop[kategoria][i]['Podkategoria'][podkategoria] = new Array();
							
							// linki
							daneItemsTop[kategoria][i]['Podkategoria'][podkategoria]['Link'] = rootPodKat[i].attributes.getNamedItem('link').value;
							if(rootPodKat[i].attributes.getNamedItem('http')!=null){
								daneItemsTop[kategoria][i]['Podkategoria'][podkategoria]['http'] = rootPodKat[i].attributes.getNamedItem('http').value;
							}else{
								daneItemsTop[kategoria][i]['Podkategoria'][podkategoria]['http'] = "";	
							}
							
							daneItemsTop[kategoria][i]['Podkategoria'][podkategoria]['Rec'] = rootPodKat[i].attributes.getNamedItem('rec').value;
							daneItemsTop[kategoria][i]['Podkategoria'][podkategoria]['Temp'] = rootPodKat[i].attributes.getNamedItem('temp').value;
							
							if(rootPodKat[i].hasChildNodes != null){
								
								daneItemsTop[kategoria][i]['Podkategoria'][podkategoria]['Produkt'] = new Array();
								
								/*odczytanie produktu w  podkategorii*/
								var rootProdPodKat = rootPodKat[i].getElementsByTagName('produkt');
							
								for(var j = 0; j<rootProdPodKat.length; j++){
									daneItemsTop[kategoria][i]['Podkategoria'][podkategoria]['Produkt'][j] = new Array();
									daneItemsTop[kategoria][i]['Podkategoria'][podkategoria]['Produkt'][j]['Nazwa'] = rootProdPodKat[j].attributes.getNamedItem('name').value;
									daneItemsTop[kategoria][i]['Podkategoria'][podkategoria]['Produkt'][j]['Link'] = rootProdPodKat[j].attributes.getNamedItem('link').value;
									daneItemsTop[kategoria][i]['Podkategoria'][podkategoria]['Produkt'][j]['http'] = rootProdPodKat[j].attributes.getNamedItem('http').value;
									daneItemsTop[kategoria][i]['Podkategoria'][podkategoria]['Produkt'][j]['Rec'] = rootProdPodKat[j].attributes.getNamedItem('rec').value;
									daneItemsTop[kategoria][i]['Podkategoria'][podkategoria]['Produkt'][j]['Temp'] = rootProdPodKat[j].attributes.getNamedItem('temp').value;
								}
							}
						}	
					}
					//document.getElementById("temporary").innerHTML = 'koniec';
					pasekNawigacyjny();
				}else{
					//document.getElementById(plik).innerHTML = 'wyszukiwanie';
				}
			}
			request.send(null);
		}else{
			alert('Przeglądarka nie obsługuje technologii Ajax');
		}
	}
		
	function linkOpacity(action){
		if(action==1){
			window.document.getElementById('zdjecie').style.filter = 'alpha(opacity=80)';
		}else if(action==0){
			window.document.getElementById('zdjecie').style.filter = 'alpha(opacity=100)';	
		}
	}
	
	function loadFoto(sciezka){
		window.document.getElementById('loadFoto').innerHTML = '<img id="loadFotoSize" align="center" src="pictures/'+sciezka+'" alt="Brak zdjęcia w bazie danych" style="border:1px solid #bbbbbb"><br><font style="font-size: 12px; font-weight: normal; color:#848484;">'+sciezka+'</font>';
		var szerokosc = window.document.getElementById('loadFotoSize').offsetWidth;
		if(szerokosc>700){
			window.document.getElementById('loadFoto').innerHTML = '<img id="loadFotoSize" align="center" src="pictures/'+sciezka+'" alt="Brak zdjęcia w bazie danych" style="width:700px; border:1px solid #bbbbbb"><br><font style="font-size: 12px; font-weight: normal; color:#848484;">'+sciezka+'</font>';
		}
	}
	
	function setUpOption(msg){
		document.getElementById('layerOpcja').innerHTML = msg;
	}
	
	function showPanel(divSrc, divDest){
		if(document.getElementById(divSrc).innerHTML!=""){
			if(!(tmpContent instanceof Array)){
				tmpContent = new Array();
			}
			tmpContent[divSrc] = document.getElementById(divSrc).innerHTML;
			document.getElementById(divSrc).innerHTML = "";
		}
		
		document.getElementById(divDest).innerHTML = tmpContent[divSrc];
	}
	
	// Zmodyfikowana funkcja
	function pasekNawigacyjny(){
		
		// Nowa funckjonalność ----------------------------------------------------------------------------------------
		//var kategoria = window.document.getElementById('aktywnaPozycjaMenu').innerHTML;
		var lokalizacja = location.search;
		var kat = '';
		var katTmp = '';
		var katLink = '';
		var podkat = '';
		var podkatLink = '';
		var prod = '';
		var opcja = '';
		var fuse = false;
		var fuseKat = false;
		var fusePodkat = false;
		var fuseProd = false;
		var errorMsg = '';
		
		if(attempt>5){
			attempt=0;
		}
		
		if(lokalizacja == '' && window.document.getElementById('pasekNawigacyjny')){
			window.document.getElementById('pasekNawigacyjny').innerHTML = '<span style="padding-right:10px; font-weight:bold;">Lokalizacja:</span>  Strona główna';
		}else{
			
			var lokalizacjaSplit = lokalizacja.split('&');
		
			if(lokalizacjaSplit[0].lastIndexOf('strona=')!=-1){
				kat = lokalizacjaSplit[0].substr(lokalizacjaSplit[0].lastIndexOf('=')+1, lokalizacjaSplit[0].length);
			}
			
			if(lokalizacja.lastIndexOf('podstrona=')!=-1){
				podkat = lokalizacjaSplit[1].substr(lokalizacjaSplit[1].lastIndexOf('=')+1, lokalizacjaSplit[1].length);
			}
			
			if(lokalizacja.lastIndexOf('produkt=')!=-1){
				prod = lokalizacjaSplit[2].substr(lokalizacjaSplit[2].lastIndexOf('=')+1, lokalizacjaSplit[2].length);
			}
			
			if(lokalizacja.lastIndexOf('opcja=')!=-1){
				opcja = lokalizacjaSplit[1].substr(lokalizacjaSplit[1].lastIndexOf('=')+1, lokalizacjaSplit[1].length);
			}
			
			// odszukanie nazw do utworzenia pełnej ścieżki
			if(kat=='main' || kat=='about' || kat=='contact'){	
				switch(kat){
					case 'main':
						kat = 1;
						break;
					case 'about':
						kat = 2;
						break;
					case 'contact':
						kat = 3;
						break;
				}
				fuse = true;
				fuseKat = true;
			}
						
			//kategoria +++++++++++++++++++++++	
			if(fuse){
				var index = 1;
				for(var i in daneItemsTop){
					if(index==kat){
						kat = i;
						katLink = daneItemsTop[i]['Link'];
						fuseKat = true;
						break;
					}
					index++;
				}
			}else{
				var index = 1;
				for(var i in daneItems){
					index = daneItems[i]['Link'].substr(daneItems[i]['Link'].lastIndexOf("=")+1);
					if(index==kat){
						kat = i;
						katLink = daneItems[i]['Link'];
						fuseKat = true;
						break;
					}
				}
			}
			
			if(!fuseKat){
				errorMsg += "Problem z odnalezieniem kategorii\n\n";
				katTmp = 'Nie odnaleziono strony';
			}
			
			//podkategoria +++++++++++++++++++++++
			var tmpFuse = false;
			if(podkat!='' && fuse && fuseKat){				
				tmpFuse = true;
				var index = 0;
				for(var i in daneItemsTop[kat]){
					
					//alert("kategoria: "+kat+"\n"+i+"=="+podkat);
					
					if(!isNaN(i)){
						for(var j in daneItemsTop[kat][i]['Podkategoria']){
							index = daneItemsTop[kat][i]['Podkategoria'][j]['Link'].substr(daneItemsTop[kat][i]['Podkategoria'][j]['Link'].lastIndexOf("=")+1);														
							if(index==podkat){
								podkat = new Array();
								podkat[0] = i;
								podkat[1] = j;
								podkatLink = daneItemsTop[kat][i]['Podkategoria'][j]['Link'];
								fusePodkat = true;
								break;
							}
						}
						
						if(fusePodkat){
							break;
						}
					}
				}
			}else if(podkat!='' && fuseKat){				
				tmpFuse = true;
				var index = 0;
				for(var i in daneItems[kat]){
					if(!isNaN(i)){
						for(var j in daneItems[kat][i]['Podkategoria']){
							index = daneItems[kat][i]['Podkategoria'][j]['Link'].substr(daneItems[kat][i]['Podkategoria'][j]['Link'].lastIndexOf("=")+1);							
							if(index==podkat){
								podkat = new Array();
								podkat[0] = i;
								podkat[1] = j;
								podkatLink = daneItems[kat][i]['Podkategoria'][j]['Link'];
								fusePodkat = true;
								break;
							}
						}
						
						if(fusePodkat){
							break;
						}
					}
				}
			}

			if(tmpFuse && !fusePodkat && fuseKat){
				errorMsg += "Problem z odnalezieniem podkategorii\n\n";
				katTmp = 'Nie odnaleziono strony';
				podkat = '';
			}
			
			//produkt +++++++++++++++++++++++
			var tmpFuse = false;
			if(prod!='' && fuse && fusePodkat){
				tmpFuse = true;
				var index = 1;
				for(var i in daneItemsTop[kat][podkat[0]]['Podkategoria'][podkat[1]]['Produkt']){
					index = daneItemsTop[kat][podkat[0]]['Podkategoria'][podkat[1]]['Produkt'][i]['Link'].substr(daneItemsTop[kat][podkat[0]]['Podkategoria'][podkat[1]]['Produkt'][i]['Link'].lastIndexOf("=")+1);
					if(index==prod){
						prod = daneItemsTop[kat][podkat[0]]['Podkategoria'][podkat[1]]['Produkt'][i]['Nazwa'];
						fuseProd = true;
						break;
					}
				}
			}else if(prod!='' && fusePodkat){
				tmpFuse = true;
				var index = 1;
				for(var i in daneItems[kat][podkat[0]]['Podkategoria'][podkat[1]]['Produkt']){
					index = daneItems[kat][podkat[0]]['Podkategoria'][podkat[1]]['Produkt'][i]['Link'].substr(daneItems[kat][podkat[0]]['Podkategoria'][podkat[1]]['Produkt'][i]['Link'].lastIndexOf("=")+1);
					if(index==prod){
						prod = daneItems[kat][podkat[0]]['Podkategoria'][podkat[1]]['Produkt'][i]['Nazwa'];
						fuseProd = true;
						break;
					}
				}
			}

			if((tmpFuse && !fuseProd && fusePodkat && fuseKat) || katTmp == 'Nie odnaleziono strony'){
				katTmp = 'Nie odnaleziono strony';
				podkat = '';
				prod = '';
			}
					
			//wyświetlenie aktualnej lokalizacji w pasku na stronie
			
			var tmpFuse = false;
			switch(kat){
				case 'newsletter':
					kat = 'Newsletter';
					break;
				case 'search':
					kat = 'Wyniki wyszukiwania';
					break;			
				case 'menuCms':
					kat = 'Moduł zarządzania menu strony';
					break;
				case 'menuCmsTop':
					kat = 'Moduł zarządzania górnym menu strony';
					break;
				case 'sprawdzenieCms':
					kat = 'Moduł nadzoru statusu podstron';
					break;
					
				case 'zdjeciaCms':					
					if(!opcja){
						kat = 'Moduł zarządzania grafiką zamieszczoną na stronie';
					}else{
						switch(opcja){
							case 'dodaj':
								katLink = '?strona='+kat;
								kat = 'Moduł zarządzania grafiką zamieszczoną na stronie';
								podkat = new Array();
								podkat[1] = 'Dodawanie grafiki';
								break;
							case 'kasuj':
								katLink = '?strona='+kat;
								kat = 'Moduł zarządzania grafiką zamieszczoną na stronie';
								podkat = new Array();
								podkat[1] = 'Kasowanie grafiki';
								break;
							default:
								kat = 'Nie odnaleziono strony';
						}
					}
					break;
					
				case 'szablonCms':
					if(!opcja){
						kat = 'Moduł zarządzania szablonami';
					}else{
						switch(opcja){
							case 'lista':
								katLink = '?strona='+kat+'&opcja='+opcja;
								kat = 'Moduł zarządzania szablonami';
								podkat = new Array();
								podkat[1] = 'Lista szablonów';
								break;
							case 'dodaj':
								katLink = '?strona='+kat+'&opcja='+opcja;
								kat = 'Moduł zarządzania szablonami';
								podkat = new Array();
								podkat[1] = 'Dodawanie szablonu';
								break;
							case 'aktualizuj':
								katLink = '?strona='+kat+'&opcja='+opcja;
								kat = 'Moduł zarządzania szablonami';
								podkat = new Array();
								podkat[1] = 'Aktualizacja szablonu';
								break;
							default:
								kat = 'Nie odnaleziono strony';
						}
					}
					break;
					
				case 'konta':
					kat = 'Moduł zarządzania kontami użytkowników';
					break;
				case 'TeacherOrder':
					kat = 'Zamówienie Legitymacji Nauczycielskich';
					for(var i in lokalizacjaSplit){
						if(lokalizacjaSplit[i].lastIndexOf('opcja=')!=-1){
							opcja = lokalizacjaSplit[i].substr(lokalizacjaSplit[i].lastIndexOf('=')+1, lokalizacjaSplit[i].length);
							switch(opcja){
								case 'invoice':
									kat += ' >> Faktura';
									break;
								case 'order':
									kat += ' >> Formularz zamówienia';
									break;
								case 'form':
									kat += ' >> Wnioski papierowe';
									break;
								case 'status':
									kat += ' >> Status zamówienia';
									break;
							}
						}
					}
					break;
				default:
					if(katTmp == 'Nie odnaleziono strony'){
						kat = 'Nie odnaleziono strony';
					}
			}
			
			if(katTmp == 'Nie odnaleziono strony' && kat == 'Nie odnaleziono strony'){
				kat = 'Nie odnaleziono strony';
			}
			
			var tmpString = '';				
			if(kat!=''){
				tmpString += kat;
			}


			if(podkat[1]!='' && podkat[1]){
				tmpString = '<a class="navStripe" href="'+katLink+'">'+kat+'</a>  >>  '+podkat[1];
			}
			
			if(prod!=''){
				tmpString = '<a class="navStripe" href="'+katLink+'">'+kat+'</a>  >>  <a class="navStripe" href="'+podkatLink+'">'+podkat[1]+'</a>  >>  '+prod;
			}
			
			if(tmpString=='Nie odnaleziono strony' && attempt<5){
				attempt++;
				getXMLmenu('menuMainTest', null);
				pasekNawigacyjny();
				return;
			}
			
			if(window.document.getElementById('pasekNawigacyjny')){
				window.document.getElementById('pasekNawigacyjny').innerHTML = '<span style="padding-right:10px; font-weight:bold;">Lokalizacja:</span>  '+tmpString;
			}
		}
		
		
		return;		
		// Koniec ------------------------------------------------------------------------------------------------------
	}
	
	function setUpMessage(){
		document.getElementById('loadingCompMsg').innerHTML = globalMsg;
		var height = document.getElementById('loadingComp').offsetHeight;
		var marginTop = "-"+Math.round(height/2)+"px";
		document.getElementById('loadingComp').style.marginTop = marginTop;
	}
	
	
									// Funkcje promocji
									function hidPromotionPanel(id){
										createCookie(id,'1',0);
										document.getElementById(id).style.display = "none";
									}
									
									function checkPromotionPanelState(id){
										if(readCookie(id)==null){
											document.getElementById(id).style.display = "";
										}
									}
									
									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=/";
									}

									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);
											//alert(c+' - '+c.substring(nameEQ.length,c.length));
											if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
										}
										return null;
									}

									function eraseCookie(name) {
										createCookie(name,"",-1);
									}
									
									setTimeout("checkPromotionPanelState('Promocja001');", 500);
	
