//==========================================================================
// helpInside
//==========================================================================

var helpInside=new Object();

	/**
	*@var array tablica z danymi help
	*/
	helpInside.arrHead=new Array();
	
	/**
	*@var array otwarte zakladki H1 0 - zamknieta, 1 - otwarta
	*/
	helpInside.openH1=new Array();
	
	/**
	*@var number aktualna zakladka H1
	*/
	helpInside.actualH1=-1;
	
	/**
	*@var number aktualna zakladka H2
	*/
	helpInside.actualH2=-1;
	
	/** 
	* @var object AjaxObj obiekt Ajax
	*/
	helpInside.AjaxObj;
	
	/**
	* @var array history
	*/
	helpInside.history=new Array();
	
	/**
	* @var number actualHistory index aktualnej historii
	*/
	helpInside.actualHistory=0;
	
	/**
	* @var number actualHistory index aktualnej historii
	*/
	helpInside.refresh=false;
	
	/**
	* @var array event funkcje ktora ma byc wywolana po zakonczeniu transmisji
	*/
	helpInside.event=new Array();
	
 //=========================================================
	/**
	* otwarcie help
	*/
	helpInside.open=function(arg){
		
		//alert("open");
		
		//wywolanie procedur ajax
	   remote.readHelpHead();
	   

	};
 //=========================================================
	/**
	* zamnkniecie help
	*/
	helpInside.close=function(show){
		
		//jesli jest historia
		if(this.actualHistory>0){
			//liczba cofniec historii
			var nrSave=10;
			//zapis historii do cookie
			var strH1="";
			var strH2="";
				
			var i=this.history.length-nrSave;
	
			if(i>0)	this.actualHistory-=i;
			else{
				this.actualHistory--;
				i=0;
			}
			
			for(;i<this.history.length;i++){
				strH1+=this.history[i].h1+",";
				strH2+=this.history[i].h2+",";
			}
			
		
	
			strH1=strH1.substring(0,strH1.length-1);
			strH2=strH2.substring(0,strH2.length-1);
	
			setCookie("helpInside.actualHistory",this.actualHistory+""); 
			setCookie("helpInside.history.h1",strH1);  
			setCookie("helpInside.history.h2",strH2); 
	}else{
 		deleteCookie("helpInside.actualHistory");
 		deleteCookie("helpInside.history.h1");  
		deleteCookie("helpInside.history.h2"); 
	}
 		//alert("close");
		    	
		//wyzerowanie danych
		this.history=new Array();
		this.actualH1=0;
		this.actualH2=-1;
		this.event=new Array();
		
		//czy schowac help
		if(!show){
			//document.getElementById("helpInsideLeft").innerHTML="";
			//document.getElementById("helpInsideRight").innerHTML="";
			
			document.getElementById("helpInside").style.display="none";
			//document.getElementById("helpInside").className="hide";
			document.getElementById("main").style.display="block";
			//document.getElementById("main").className="show";
		}
	};
 //=========================================================
	/**
	* otrzymanie danych z Ajax o naglowkach
	*/
	helpInside.incomeHead=function(){
	
		//alert(this.actualH1);
		//alert("incomeHead");
			document.getElementById("main").style.display="none";
	
		var i=0;
		var h1;
	
		for(var head in this.AjaxObj){
			if(typeof(this.AjaxObj[head])=="object"){
				for(var val in this.AjaxObj[head]){
					if(val=="h1"){
						h1=this.AjaxObj[head][val];
					}else if(val=="h2"){
						var arrH2=new Array();
						for(var h2 in this.AjaxObj[head][val]){
							if(this.AjaxObj[head][val][h2]!="______array"){
								arrH2.push(this.AjaxObj[head][val][h2]);
							}
						}
					}
				}
				//alert(h1+","+arrH2);
		
				this.arrHead[i]={h1:h1,h2:arrH2};
				i++;
			}
	
		}	
		

		//alert("incomeHead");
	document.getElementById("main").style.display="none";
		//document.getElementById("main").className="hide";
		document.getElementById("helpInsideLeft").innerHTML=this.outHead();
		
		document.getElementById("helpInside").style.display="block";
		//document.getElementById("helpInside").className="show";

		
		this.getActual();
		//if(this.refresh) this.clickHistory();
		
		//document.getElementById("helpInsideRight").innerHTML="Proszę wybrać temat z lewej strony.";
		
		//document.getElementById("helpInsideRight").innerHTML='Element definiuje listę zwykłą.<br>Atrybuty elementu: (sposób opisywania)<br>    • type =[disc|square|circle] <br>opcjonalny - IE1, N1, O2.1      <br>  styl wypunktowania    <br> • compact =[brak] opcjonalny - IE1, N1, O2.1 <br>       lista bardziej zwarta<br>     • id, class =[tekst] opcjonalne - IE3, N4, O3.5 <br>       unikalny identyfikator<br> i nazwa klasy CSS   <br>  • lang, dir =[tekst] opcjonalne - IE4        język i kierunek wyświetlania tekstu bądź elementu <br>    • title =[tekst] opcjonalny - IE5        tytuł elementu     • style =[CSS] opcjonalny - IE3, N4, O3.5   <br>     styl CSS elementu <br>    • onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup =[skrypt] opcjonalne <br>       reakcje na zdarzenia pochodzące od myszy lub klawiatury Element definiuje listę zwykłą.<br>Atrybuty elementu: (sposób opisywania)<br>    • type =[disc|square|circle] <br>opcjonalny - IE1, N1, O2.1      <br>  styl wypunktowania    <br> • compact =[brak] opcjonalny - IE1, N1, O2.1 <br>       lista bardziej zwarta<br>     • id, class =[tekst] opcjonalne - IE3, N4, O3.5 <br>       unikalny identyfikator<br> i nazwa klasy CSS   <br>  • lang, dir =[tekst] opcjonalne - IE4        język i kierunek wyświetlania tekstu bądź elementu <br>    • title =[tekst] opcjonalny - IE5        tytuł elementu     • style =[CSS] opcjonalny - IE3, N4, O3.5   <br>     styl CSS elementu <br>    • onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup =[skrypt] opcjonalne <br>       reakcje na zdarzenia pochodzące od myszy lub klawiatury Element definiuje listę zwykłą.<br>Atrybuty elementu: (sposób opisywania)<br>    • type =[disc|square|circle] <br>opcjonalny - IE1, N1, O2.1      <br>  styl wypunktowania    <br> • compact =[brak] opcjonalny - IE1, N1, O2.1 <br>       lista bardziej zwarta<br>     • id, class =[tekst] opcjonalne - IE3, N4, O3.5 <br>       unikalny identyfikator<br> i nazwa klasy CSS   <br>  • lang, dir =[tekst] opcjonalne - IE4        język i kierunek wyświetlania tekstu bądź elementu <br>    • title =[tekst] opcjonalny - IE5        tytuł elementu     • style =[CSS] opcjonalny - IE3, N4, O3.5   <br>     styl CSS elementu <br>    • onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup =[skrypt] opcjonalne <br>       reakcje na zdarzenia pochodzące od myszy lub klawiatury Element definiuje listę zwykłą.<br>Atrybuty elementu: (sposób opisywania)<br>    • type =[disc|square|circle] <br>opcjonalny - IE1, N1, O2.1      <br>  styl wypunktowania    <br> • compact =[brak] opcjonalny - IE1, N1, O2.1 <br>       lista bardziej zwarta<br>     • id, class =[tekst] opcjonalne - IE3, N4, O3.5 <br>       unikalny identyfikator<br> i nazwa klasy CSS   <br>  • lang, dir =[tekst] opcjonalne - IE4        język i kierunek wyświetlania tekstu bądź elementu <br>    • title =[tekst] opcjonalny - IE5        tytuł elementu     • style =[CSS] opcjonalny - IE3, N4, O3.5   <br>     styl CSS elementu <br>    • onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup =[skrypt] opcjonalne <br>       reakcje na zdarzenia pochodzące od myszy lub klawiatury ';
	
	};
 //=========================================================
	/**
	* otrzymanie danych z Ajax o czesci glownej
	*/
	helpInside.incomeMain=function(){
	
	
		var i=0;
		var html="";
		
		//wstawienie przyciskow historii
		html+=this.buttonHistory();
		
		html+="<h1>"+this.arrHead[this.actualH1].h1.toUpperCase()+"</h1>";
		
		for(var val in this.AjaxObj){
			//wyswietlanie wszystkiego
			if(this.actualH2==-1){
				html+="<h2>"+val+":</h2><p>"+this.AjaxObj[val]+"</p>";
			//wyswietlanie okreslonej zakladki
			}else if(this.actualH2==i){
				html+="<h2>"+val+":</h2><p>"+this.AjaxObj[val]+"</p>";
			}
			i++;
		}
		
		
		//alert("incomeHead");
		document.getElementById("main").style.display="none";
		document.getElementById("helpInside").style.display="block";
		
		document.getElementById("helpInsideRight").innerHTML=html;
	
	};
	
 //=========================================================
	/**
	* wystawienie czesci naglowkowej
	* return html
	*/
	helpInside.outHead=function(){
	
	//alert("outHead");
		
	
		
		var html="<ul>";
		var i1=0;
		for(var val in this.arrHead){
			if(this.arrHead[val].h1!=null&&this.arrHead[val].h1!="______array"){
				//jesli zakladka otwarta
				if(this.openH1[i1]==1){
					//jesli wybrano dana kategorie
					if(this.actualH1==i1&&this.actualH2==-1) html+="<li class='helpInsideActual'><a href='javascript:helpInside.clickFoldH1("+i1+",0,0);'><img src='images/global/helpInsideOpen.png'></img></a>&nbsp;<a href='javascript:helpInside.clickFoldH1("+i1+",1,1);'>"+this.arrHead[val].h1+"</a>";
					else  html+="<li><a href='javascript:helpInside.clickFoldH1("+i1+",0,0);'><img src='images/global/helpInsideOpen.png'></img></a>&nbsp;<a href='javascript:helpInside.clickFoldH1("+i1+",1,1);'>"+this.arrHead[val].h1+"</a>";
					html+="<ul>";
					var i2=0;
					for(var h2 in this.arrHead[val].h2){
						if(this.arrHead[val].h2[h2]!="______array"){
							//jesli wybrano dana zakladke
							if(this.actualH1==i1&&this.actualH2==i2) html+="<li class='helpInsideActual'><a href='javascript:helpInside.clickFoldH2("+i1+","+i2+",1);'>"+this.arrHead[val].h2[h2]+"</a>";
							else html+="<li><a href='javascript:helpInside.clickFoldH2("+i1+","+i2+",1);'>"+this.arrHead[val].h2[h2]+"</a>";
							i2++;
						}
					}
					html+="</ul>";
				//jesli zakladka zamknieta
				}else{
					//jesli wybrano dana kategorie
					if(this.actualH1==i1&&this.actualH2==-1) html+="<li class='helpInsideActual'><a href='javascript:helpInside.clickFoldH1("+i1+",0,0);'><img src='images/global/helpInsideClose.png'></img></a>&nbsp;<a href='javascript:helpInside.clickFoldH1("+i1+",1,1);'>"+this.arrHead[val].h1+"</a>";
					else html+="<li><a href='javascript:helpInside.clickFoldH1("+i1+",0,0);'><img src='images/global/helpInsideClose.png'></img></a>&nbsp;<a href='javascript:helpInside.clickFoldH1("+i1+",1,1);'>"+this.arrHead[val].h1+"</a>";
				
				}
				i1++;
			}
		}
		html+="</ul>";
		//przewodnik
		html+='<div class="helpInsideLink"><a href="/data/podrecznik_ebadania_szpunar.pdf" target="_blank" class="fontA12 padL15 bold" title="Przewodnik po eBadaniach (PDF)">Przewodnik po eBadaniach</a></div>';
		//link do wprowadzenia do eBadania
		html+='<div class="helpInsideLink"><a href="javascript:helpInside.close(true);sendOper(\'WEJenter\');" class="fontA12 padL15 ">Wprowadzenie do eBadania</a></div>';
		//link do oBadaniach
		html+='<div class="helpInsideLink"><a href="javascript:helpInside.close(true);sendOK(\'WEJenter\',1);" class="fontA12 padL15 ">O eBadaniach</a></div>';
		//link do kontaktu
		html+='<div class="helpInsideLink"><a href="javascript:helpInside.close(true);sendOK(\'WEJenter\',2);" class="fontA12 padL15 ">Pytania, Sugestie</a></div>';
		//link do regulaminu
		html+='<div class="helpInsideLink"><a href="javascript:helpInside.close(true);sendOK(\'WEJenter\',3);" class="fontA12 padL15 ">Regulamin</a></div>';
	
	
		return html;
	};
 //=========================================================
	/**
	* obsluga klikniecia na zakladki H1
	* @param number arg numer zakladki do otwarcia
	* @param number type 0 - tylko otwarcie, 1 - otwarcie i wyswietlenie zawartoci
	* return html
	*/
	helpInside.clickFoldH1=function(arg,type,click){
	
		//alert("clickFoldH1");
	
		this.actualH1=arg;


	
		//zamykanie i otwieranie +
		if(type==0){
			//jesli jest otwarta
			if(this.openH1[arg]==1){
				this.openH1[arg]=0;
			//jesli zamknieta
			}else{
				this.openH1[arg]=1;
				
			}
			this.actualH2=-2;
		}else{
			//wywolanie procedur ajax
			this.actualH2=-1;
			remote.readHelpAll(arg);
		
		}
		
		//jesli nastapilo wlasciwe klikniecie
		if(click==1){
				//skasowanie pozostalej historii
			this.history.splice(this.actualHistory,this.history.length-this.actualHistory);
			
			var strH1="";
			var strH2="";
			for(i=0;i<this.history.length;i++){
				strH1+=this.history[i].h1+",";
				strH2+=this.history[i].h2+",";
			}
	
			strH1=strH1.substring(0,strH1.length-1);
			strH2=strH2.substring(0,strH2.length-1);
			
		}
		
		//dodanie do historii jesli obecna zakladka jest rozna od poprzedniej
		if(type==1 && (this.actualHistory==0 || (this.history[this.actualHistory-1].h1!=this.actualH1 || this.history[this.actualHistory-1].h2!=this.actualH2))){
			this.history[this.actualHistory++]={h1:this.actualH1,h2:this.actualH2};
		}
		
		//alert(this.openH1[0]);
		//document.getElementById("helpInsideLeft").className="hide";
		document.getElementById("helpInsideLeft").innerHTML=this.outHead();
		//document.getElementById("helpInsideLeft").className="show";
	};
 //=========================================================
	/**
	* obsluga klikniecia na zakladki H2
	* return html
	*/
	helpInside.clickFoldH2=function(h1,h2,click){
	
		//alert("clickFoldH2:"+h1+","+h2);
	
		this.actualH1=h1;
		this.actualH2=h2;
	
		this.openH1[h1]=1;
		//wywolanie procedur ajax
		 remote.readHelpAll(h1);
		
		//jesli nastapilo wlasciwe klikniecie
		if(this.history.length>0&&click==1){
				//skasowanie pozostalej historii
			this.history.splice(this.actualHistory,this.history.length-this.actualHistory);
			
			var strH1="";
			var strH2="";
			for(i=0;i<this.history.length;i++){
				strH1+=this.history[i].h1+",";
				strH2+=this.history[i].h2+",";
			}
	
			strH1=strH1.substring(0,strH1.length-1);
			strH2=strH2.substring(0,strH2.length-1);
			//alert(this.actualHistory+","+this.history.length+","+strH2);
		}
		
		//dodanie do historii jesli obecna zakladka jest rozna od poprzedniej
		if(this.actualHistory==0 || (this.history[this.actualHistory-1].h1!=this.actualH1 || this.history[this.actualHistory-1].h2!=this.actualH2)){
			this.history[this.actualHistory++]={h1:this.actualH1,h2:this.actualH2};
		}
		
		//alert(this.openH1[0]);
		document.getElementById("helpInsideLeft").className="hide";
		document.getElementById("helpInsideLeft").innerHTML=this.outHead();
		document.getElementById("helpInsideLeft").className="show";
		
		//alert(this.history[this.actualHistory-1].h1+","+this.history[this.actualHistory-1].h2);
	};
 //=========================================================
  	/**
 	* wstawienie button historii
 	* return html
 	*/
 	helpInside.buttonHistory=function(){
 	
		//alert(this.history[0].h1);
 	
 		var html='<table width="100%" cellspacing="0" cellpadding="0"><tr><td width="50%" align="right">';
 		
 		if(this.history.length>0&&this.actualHistory>1) html+='<div class="buttonHistory" id="buttonHistoryBack" onmouseover="this.className=\'buttonHistoryOver\';" onmousedown="this.className=\'buttonHistoryDown\';" onmouseout="this.className=\'buttonHistory\';" onclick="helpInside.clickHistory(\'<\');">&lt;&lt;Poprzedni</div>';
 		else html+='<div style="margin-left:262px;">&nbsp;</div>';
		html+='</td><td width="50%" align="left">';
 		if(this.history.length>this.actualHistory) html+='<div id="buttonHistoryNext" class="buttonHistory" onmouseover="this.className=\'buttonHistoryOver\';" onmousedown="this.className=\'buttonHistoryDown\';" onmouseout="this.className=\'buttonHistory\';" onclick="helpInside.clickHistory(\'>\');">Następny&gt;&gt;</div>';
 		html+='</td></table>';
 		return html;	
 	
 	};
  //=========================================================
 	/**
 	* obsluga historii
 	* @param string arg "<" wstecz ">" nastepny
 	*/
 	helpInside.clickHistory=function(arg){
 	
 	//alert("clickHistory");
 		
 		//alert(this.history.length+","+this.actualHistory+","+this.actualH1+","+this.actualH2);
 				 
 		//wstecz
 		if(arg=="<"){
 			this.actualHistory-=2;
 			//jesli tylko H1
 			if(this.history[this.actualHistory].h2<0) this.clickFoldH1(this.history[this.actualHistory].h1,1,0);
 			else this.clickFoldH2(this.history[this.actualHistory].h1,this.history[this.actualHistory].h2,0);
 			
  		//nastepny
 		}else if(arg==">"){
 			//alert("clickHistory>");
 			//this.actualHistory++;
 			//jesli tylko H1
 			if(this.history[this.actualHistory].h2<0) this.clickFoldH1(this.history[this.actualHistory].h1,1,0);
 			else this.clickFoldH2(this.history[this.actualHistory].h1,this.history[this.actualHistory].h2,0);
		//odswiez
		}else{

			//otwarcie zakladek helpu
 			if(this.history[this.actualHistory].h2<0) this.clickFoldH1(this.history[this.actualHistory].h1,1,0);
 			else this.clickFoldH2(this.history[this.actualHistory].h1,this.history[this.actualHistory].h2,0);
		}

	};
  //=========================================================
  /**
  * Pobranie aktulanych danych i wystawinie rozkazow wyswietlenia
  */
  helpInside.getActual=function(){
  		
  		this.history=new Array();
	  	//sprawdzenie cookie
		if(getCookie("helpInside.actualHistory")!=""){
			this.actualHistory=parseInt(getCookie("helpInside.actualHistory"));
				
			//pobranie h1 i h2
			var arrH1=getCookie("helpInside.history.h1").split(",");
			var arrH2=getCookie("helpInside.history.h2").split(",");	
			for(i=0;i<arrH1.length;i++){			
				this.history[i]={h1:arrH1[i],h2:arrH2[i]};
			}
		}
		
		//otwarcie zakladek helpu - jesli byly zapisane w cookies
		if(this.history.length>0){
			if(this.history[this.actualHistory].h2!=undefined && this.history[this.actualHistory].h2<0) this.clickFoldH1(this.history[this.actualHistory].h1,1,0);
 			else this.clickFoldH2(this.history[this.actualHistory].h1,this.history[this.actualHistory].h2,0);
 		
		}
  };
  //=========================================================
  /**
  * funkcja wywolywana po zakonczeniu transmisjii
  */
	helpInside.endTrans=function(){
  		//alert("end");
	  	for(i=0;i<this.event.length;i++){
		  	eval(this.event[i]); 
	  	}
  
  
  };
 //=========================================================
