

function is4_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=is4_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

var menuTimeout = false;
var menuShownLayers;
var menuLastArgs = false;

function is4_clearMenu() {
	menuTimeout = false;
//	alert(1);
	for(var i=0;i<menuShownLayers.length;i++) {
		v = menuShownLayers[i];
		is4_showHideLayers(v,'','hide');
	}
	menuShownLayers = new Array();
}


function is4_showHideMenu() { //v6.0
  var args=is4_showHideMenu.arguments;
  
  if(menuTimeout) {
  	window.clearTimeout(menuTimeout);
  }

  menuShownLayers = new Array();
//  document.f.t.value += '---------------\n';
  for(var i=0;i<args.length;i+=2) {
  	if((menuLastArgs[i] != args[i]) || (menuLastArgs[i+1] != args[i+1])) {
		var state = args[i];
		var obj = args[i+1];
		
//		document.f.t.value += i + ':' + state + ',' + obj + '\n';
		
		is4_showHideLayers(obj,'',state ? 'show' : 'hide');
		if(state) {
			menuShownLayers[menuShownLayers.length] = obj;
		}
	}
  }
  
  menuLastArgs = args;
  
  menuTimeout = window.setTimeout("is4_clearMenu();",30000);
}


function is4_showHideLayers() { //v6.0
  var i,p,v,obj,args=is4_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) 
  	if ((obj=is4_findObj(args[i]))!=null) { 
  		v=args[i+2];
    		if (obj.style) { 
			if(v == 'show') {
				obj.style.zIndex = 1000; 
				obj.style.visibility = 'visible';
				
			} else {
				obj.style.zIndex = -100;
				obj.style.visibility = 'hidden';
			}
			
    			// v= (v=='show') ?'visible' : (v=='hide')?'hidden':v; 
			
    		} else {
	    		obj.visibility=v; 
	    	}
    	}
}
function is4_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.is4_p) d.is4_p=new Array();
    var i,j=d.is4_p.length,a=is4_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.is4_p[j]=new Image; d.is4_p[j++].src=a[i];}}
}

function is4_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=is4_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}
function is4_nbGroup(event, grpName) { //v3.0
  var i,img,nbArr,args=is4_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = is4_findObj(args[2])) != null && !img.is4_init) {
      img.is4_init = true; img.is4_up = args[3]; img.is4_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = is4_findObj(args[i])) != null) {
        if (!img.is4_up) img.is4_up = img.src;
        img.src = img.is4_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.is4_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = is4_findObj(args[i])) != null) {
      if (!img.is4_up) img.is4_up = img.src;
      img.src = (img.is4_dn && args[i+2]) ? args[i+2] : args[i+1];
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.is4_nbOver.length; i++) {
      img = document.is4_nbOver[i]; img.src = (img.is4_dn) ? img.is4_dn : img.is4_up; }
  } else if (event == "down") {
    if ((nbArr = document[grpName]) != null)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.is4_up; img.is4_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = is4_findObj(args[i])) != null) {
      if (!img.is4_up) img.is4_up = img.src;
      img.src = img.is4_dn = args[i+1];
      nbArr[nbArr.length] = img;
  } }
}
function is4_swapImgRestore() { //v3.0
  var i,x,a=document.is4_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function is4_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.is4_p) d.is4_p=new Array();
    var i,j=d.is4_p.length,a=is4_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.is4_p[j]=new Image; d.is4_p[j++].src=a[i];}}
}
function is4_swapImage() { //v3.0
  var i,j=0,x,a=is4_swapImage.arguments; document.is4_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=is4_findObj(a[i]))!=null){document.is4_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function is4_zeroPad(nr, length) {
  if (length >= 7 && (nr < 1000000)) { nr = "0" + nr; }
  if (length >= 6 && (nr <  100000)) { nr = "0" + nr; }
  if (length >= 5 && (nr <   10000)) { nr = "0" + nr; }
  if (length >= 4 && (nr <    1000)) { nr = "0" + nr; }
  if (length >= 3 && (nr <     100)) { nr = "0" + nr; }
  if (length >= 2 && (nr <      10)) { nr = "0" + nr; }
  return nr;
}

function is4_getDate(fmt) {
  var retVal = "";
  var curDate = new Date();
  var MONTHS_SHORT = new Array('Jan','Feb','Mar','Apr','Jun','Jul','Aug','Sep','Nov','Dec');
  var MONTHS_FULL  = new Array('Januari','Februari','Maart','April','Juni','Juli','Augustus','September','November','December');

  var day = curDate.getDate();
  var month = curDate.getMonth();
  var year = curDate.getYear();

  if (fmt == "" || typeof(fmt) == "undefined" ) { fmt = "%d-%b-%Y"; }

  retVal = fmt;
  retVal = retVal.replace(/%b/,MONTHS_SHORT[month]);
  retVal = retVal.replace(/%B/,"{{"+MONTHS_FULL[month]+"}}");
  retVal = retVal.replace(/%m/,is4_zeroPad(month,2));
  retVal = retVal.replace(/%d/,is4_zeroPad(day,2));
  retVal = retVal.replace(/%y/,is4_zeroPad(year-100,2));
  retVal = retVal.replace(/%Y/,(year+1900));
  return retVal;
}


//
// Example: username=is4_getCookie('username');
//
function is4_getCookie(c_name)
{
	if (document.cookie.length>0)
	{
		c_start=document.cookie.indexOf(c_name + "=");
		if (c_start!=-1)
		{ 
			c_start=c_start + c_name.length+1; 
			c_end=document.cookie.indexOf(";",c_start);
			if (c_end==-1) c_end=document.cookie.length;
			return unescape(document.cookie.substring(c_start,c_end));
		} 
	}
	return "";
}


//
// Example: is4_setCookie('username',username,365);
//
function is4_setCookie(c_name,value,expiredays,path)
{
	var exdate=new Date();
        if (!path) { path="/"; }
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+
		((expiredays==null) ? "" : ";expires="+exdate.toGMTString())+
                "; path="+path ;
}


//
// Example:
//
function is4_addOnloadEvent(fnc){
    if ( typeof window.addEventListener != "undefined" ) {
        window.addEventListener( "load", fnc, false );
    } else if ( typeof window.attachEvent != "undefined" ) {
        window.attachEvent( "onload", fnc );
    } else {
        if ( window.onload != null ) {
            var oldOnload = window.onload;
            window.onload = function ( e ) {
                oldOnload( e );
                window[fnc]();
            };
        } else {
            window.onload = fnc;
        }
    }
}


//
// is4_arrayRand
//
//   Generate array of num_req random index numbers
//
//  Returns:
//    array of index numbers
//
// Example: is4_arrayRand( Array('some','thing','another','thingie'), 2)
// Source: http://kevin.vanzonneveld.net
//         http://pphpjs.org
//
function is4_arrayRand (input, num_req) {
    var indexes = [];
    var ticks = num_req || 1;
    var checkDuplicate = function (input, value) {
        var exist = false,
            index = 0,
            il = input.length;
        while (index < il) {
            if (input[index] === value) {
                exist = true;
                break;
            }
            index++;
        }
        return exist;
    };

    if (Object.prototype.toString.call(input) === '[object Array]' && ticks <= input.length) {
        while (true) {
            var rand = Math.floor((Math.random() * input.length));
            if (indexes.length === ticks) {
                break;
            }
            if (!checkDuplicate(indexes, rand)) {
                indexes.push(rand);
            }
        }
    } else {
        indexes = null;
    }

    return ((ticks == 1) ? indexes.join() : indexes);
}

