var HIBA_SZOVEG = new Array();
var URL = new Array();
var PARAMETER = new Array();
var popUpWin=0; 

function popUpWindow(URLStr, left, top, width, height) { 
	if(popUpWin) { 
		if(!popUpWin.closed) popUpWin.close(); 
	} 
	popUpWin = open(URLStr, 'popUpWin', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=yes,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');
} 

function setLinks(){
	var links = window.document.links;
	
	//alert(links.length);
	
	for(var i = 0;i<links.length;i++)  {
		if (typeof(links[i].onclick) == 'function')
		{
			eval("var old"+i+" =  links[i].onclick;");
			eval("links[i].onclick =  function() { if ( clickHandler(this)) { return old"+i+"(); } else return false; }; ");
		}
		else
			links[i].onclick =  function() {return clickHandler(this); };
	}
};



function clickHandler(link)
{
//alert(link);
for( var i = 0; i<URL.length; i++ )
{
if (link.href.indexOf(URL[i])!=-1)
{
var parser = new ActionParser(PARAMETER[i]);
parser.parserInit();

return parser.canAction();
}; // if
} // for
return true;
};
String.prototype.trim = function()
{
var s = this;
while (s.indexOf(' ')==0) { s=s.substring(1); };
while  (s.lastIndexOf(' ')==s.length-1 && s.length!=0) s=s.substring(0,s.length-1);
return s;
}
String.prototype.decode = function()
{
var offset=0;
var s = this;
while ( s.indexOf('\\',offset)!=-1 || s.indexOf('\"',offset)!=-1)
 {
 if (s.indexOf('\"',offset)!=-1||s.indexOf('\\',offset)<s.indexOf('\"',offset))
 {
 var i=s.indexOf('\\');
 s=s.substring(0,i)+substring(i+1);
 offset=i+1;
 }
 else
 {
 var i=s.indexOf('\"');
 s=s.substring(0,i)+substring(i+1);
 offset=i+1;
 }; 
};
return s;
}
Date.prototype.setFromString = function(ertek,format) 
{
if (format.indexOf('YYYY') != -1 ) { this.setYear(ertek.substring(format.indexOf('YYYY'),format.indexOf('YYYY')+4));}
if (format.indexOf('MM') != -1 ) { this.setMonth(ertek.substring(format.indexOf('MM'),format.indexOf('MM')+2)-1);}
if (format.indexOf('DD') != -1 ) { this.setDate(ertek.substring(format.indexOf('DD'),format.indexOf('DD')+2));}
if (format.indexOf('HH') != -1 ) { this.setHours(ertek.substring(format.indexOf('HH'),format.indexOf('HH')+2));}
if (format.indexOf('mm') != -1 ) { this.setMinutes(ertek.substring(format.indexOf('mm'),format.indexOf('mm')+2));}
}
function ActionParser(data_string)
{
 this.paramString = data_string;
 this.defaultAction = 'ACCEPT';
 this.defaultActionParam = '';
 this.parameterAction = new Array();
 this.parameterFrom = new Array();
 this.parameterTo = new Array();
 this.parameterString = new Array();
 
 //this.parserInit();
this.showDebug = function()
{
var s="DEFAULT: "+this.defaultAction+"("+this.defaultActionParam+")\n";
for (var i=0;i<this.parameterAction.length;i++)
{
s+=this.parameterFrom[i]+' - '+this.parameterTo[i]+':'+this.parameterAction[i]+
"("+this.parameterString[i]+")\n";
};

}

this.parserInit = function()
{
     var actions = this.paramString.split(';');
     var j=0;
     //alert(actions.length);
     for(var i=0;i<actions.length;i++)
     {
           var p ='';
           var tarr = actions[i].split(',');
           var action = tarr[0].trim();
           var date_string;
           
           if(action=='ACCEPT')
           {
           	date_string = tarr[1];
           }
           else
           {p = HIBA_SZOVEG[tarr[1]];
           	date_string = tarr[2];
           };
           
					
           
					 if (date_string.toUpperCase().trim() == 'DEFAULT')
           {
             this.defaultAction = action;
             this.defaultActionParam = p;
           }
           else
           {
               this.parameterAction[j]=action;
               this.parameterString[j]=p;
               var datumok = date_string.split('-');
               //alert(datumok);
               if (datumok[0].trim().length == 0) 
							 {
							 		this.parameterFrom[j] == null;
							 }
               else
               {
							 		 this.parameterFrom[j] = new Date(); 
									 this.parameterFrom[j].setFromString(datumok[0].trim(),'YYYY.MM.DD HH:mm'); 
							 };
              
               if (datumok[1].trim().length == 0) 
							 {
							 	this.parameterTo[j]   == null; 
							 }
               else
               {
							 this.parameterTo[j] = new Date(); 
							 this.parameterTo[j].setFromString(datumok[1].trim(),'YYYY.MM.DD HH:mm');
							 };
               
               j++;
           }; //if_default?
     }; //for
} //parserInit

 this.canAction  = function()
 { 
   var now = new Date();
   for ( var i =0; i<this.parameterAction.length; i++ )
   {
     var also_ok = (this.parameterFrom[i] == null);
     if (!also_ok) also_ok = (this.parameterFrom[i]<=now);
     //alert("Also hatar:"+also_ok);
	   var felso_ok = (this.parameterTo[i] == null);
     if (!felso_ok) felso_ok = (this.parameterTo[i]>=now);
     //alert("Felso hatar:"+felso_ok)  
		 if (felso_ok && also_ok)
     {
     if (this.parameterAction[i]=='ACCEPT')  { return true; };
     if (this.parameterAction[i]=='DENY')    { alert(this.parameterString[i]); return false; };
     if (this.parameterAction[i]=='CONFIRM') { return window.confirm(this.parameterString[i]); };
     };
     
	  }; 
      
    if (this.defaultAction=='ACCEPT')  { return true; };
    if (this.defaultAction=='DENY')    { alert(this.defaultActionParam); return false; };
    if (this.defaultAction=='CONFIRM') { return window.confirm(this.defaultActionParam); };
   
   }

} //parser end

function stateHandler() 
{ 
	setLinks();
};

if (typeof(window.onload)=='function')
{
	var _old_onload = window.onload; 
	window.onload = function()
	{
		_old_onload();
		stateHandler();
	};
}
else 
	window.onload = stateHandler;
