var thisObj;
var isMenuVisible=false;
var pageheight=0;
var style_rewrite=false;

function initauthpage(){
	document.loginform.loginname.focus();
}

function loadBigPic(imgText,imgUrl,schema){
	var obj;
	var bigPicHtml="";


	titleobj = document.getElementById("rightboxtitle");
	bigPicHtml = schema;
	titleobj.innerHTML =  bigPicHtml;

	bigPicHtml="";
	contentobj = document.getElementById("rightboxcontent");
	bigPicHtml = decodeBase64(imgText);
	//alert(bigPicHtml);
	contentobj.innerHTML = "";

	contentobj.innerHTML =  bigPicHtml;

	imgobj = document.getElementById("imgbox");
//	alert (imgobj.innerHTML);
	bigPicHtml="";
	bigPicHtml = "	<img style=\"padding-top: 15px;\" width=\"245px\"  src=\"" + imgUrl + "\" />";
//	bigPicHtml = " afbeelding ";
	imgobj.innerHTML =  bigPicHtml;

	//alert(contentobj.innerHTML);

}

function initpage() {
var i;
var node;
var navRoot;

	 if ( document.getElementById) {
	   navRoot = document.getElementById("toplist");

		for (i=0; i<navRoot.childNodes.length; i++) {
			node = navRoot.childNodes[i];
			if (node.nodeName=="LI") {
					node.onmouseover=function() { 	if (isMenuVisible==false) { this.className+=" over"; isMenuVisible=true;} }
					node.onmouseout=function() { 	if (isMenuVisible==true) { this.className=""; isMenuVisible=false; }  }
					//node.onmouseout= function ()  { alert("out"); thisObj=this; window.setTimeout("pullup()",850);  }
	      	}
	 	 }
	 }

 	var inputElements = document.getElementsByTagName('input');
	for (var i=0; i<inputElements.length; i++){
		if(inputElements[i].type == "submit"){
			inputElements[i].className =  inputElements[i].className + " submitbutton";
		}
		else if (inputElements[i].type == "checkbox"){
			inputElements[i].className =  inputElements[i].className + " checkbox";
		} else if (inputElements[i].type == "radio"){
			inputElements[i].className =  inputElements[i].className + " radio";
		} else if (inputElements[i].type == "text"){
			inputElements[i].className = inputElements[i].className + " textbox";
		}
	}

}

function pullup(){
	if(isMenuVisible == false) {
		return;
	}else{
	 thisObj.className=thisObj.className.replace(" over", "");
	 thisObj.className="";
	isMenuVisible=false;
	}
}

function keepliquid(){
	initpage();
	alignFlower();
	initforms();
}

function initforms(){
var thisObj;
var orgVal;
return;
	objInputBoxes=document.getElementsByTagName("input");

	for (i=0; i<objInputBoxes.length; i++){
		if (objInputBoxes[i].type=="text"){
			thisObj=objInputBoxes[i];
			thisName=thisObj.name;
			if (thisName == "klantnaam")  thisObj.value="";
			if (thisName == "klantplaats")  thisObj.value="";
			if (thisName == "klantemail")  thisObj.value="";
			if (thisName == "klantstraat")  thisObj.value="";
			if (thisName == "klanthuisnummer")  thisObj.value="";
			if (thisName == "klanttelefoonnummer")  thisObj.value="";
			if (thisName == "klanttelefoon")  thisObj.value="";
			if (thisName == "klantpostcode")  thisObj.value="";

			//save current value of object
			orgVal=objInputBoxes[i].value;

			//add user events
			//clear box on mouse over
			objInputBoxes[i].onfocus=function () {
				orgVal=this.value;
				this.value='';
			}
			//reset value on mouseout
			objInputBoxes[i].onblur=function () {
				if (this.value==''){
					this.value=orgVal;
				}
			}
		}
	}

}

function checkform(inputlist){
var thisObj;
var orgVal;
var errmsg;
errmsg="";


	objInputBoxes=document.getElementsByTagName("input");

	for (i=0; i<objInputBoxes.length; i++){
		if (objInputBoxes[i].type=="text"){
			thisObj=objInputBoxes[i];
			thisName=thisObj.name;
			if ( inputlist.indexOf(thisName) != -1 && thisName == "klantnaam" )  errmsg += islonger(thisName,thisObj.value,3);
			if ( inputlist.indexOf(thisName) != -1 && thisName == "klantplaats")  errmsg += islonger(thisName,thisObj.value,3);
			if ( inputlist.indexOf(thisName) != -1 && thisName == "klantemail")  errmsg += isemail(thisName,thisObj.value);
			if ( inputlist.indexOf(thisName) != -1 && thisName == "klantstraat")  errmsg += islonger(thisName,thisObj.value,3);
			if ( inputlist.indexOf(thisName) != -1 && thisName == "klanthuisnummer")  errmsg += islonger(thisName,thisObj.value,0);
			if ( inputlist.indexOf(thisName) != -1 && thisName == "klanttelefoonnummer")  errmsg += isphone(thisName,thisObj.value);
			if ( inputlist.indexOf(thisName) != -1 && thisName == "klanttelefoon")  errmsg += isphone(thisName,thisObj.value);
			if ( inputlist.indexOf(thisName) != -1 && thisName == "klantpostcode")  errmsg += ispc(thisName,thisObj.value);
		}
	}
			if (errmsg.length > 0 ){
				alert(errmsg);
				return false;
			}else{
				return true;
			}
}

function islonger(name,val,minlength){
	if (val.length >= minlength) {
		return "";
	}else{
		return "de " + name + ":  " + val + " is te kort\r\n";
	}
}

function isemail(name,val){
	if ( val.indexOf("@",val) > 0 ) {
		return "";
	}else{
		return "Het emailadres :  " + val + " is geen geldig emailadres\r\n";
	}
}

function ispc(name,val){
	if (val.length >= 6) {
		return "";
	}else{
		return "de " + name + ":  " + val + " is geen geldige postcode\r\n";
	}
}

function isphone(name,val){
	if (val.length >= 10) {
		return "";
	}else{
		return "het telefoonnummer :  " + val + " is geen geldig telefoonnummer\r\n";
	}
}


function setVal(obj,val){
	obj.value=val;
}

function encodeFormValues(){
	loginform.loginname.value=encodeBase64(loginform.loginname.value);
	loginform.password.value=encodeBase64(loginform.password.value);
	loginform.seclevel.value="1";
return true;
}




function fixCss(objidParent,objidChild) {
//body.style.marginTop='5px';
var pHeight=500;
var mTop='5px';
	try {
		pHeight=getclientHeight();
	}catch(e){

	}
	var oSheet = document.styleSheets[0];

if ( pHeight > 588) {
	var mTop=(pHeight-588)*0.5 + "px";
}

	if (oSheet.insertRule){
	//("Moz");
		var oLength = oSheet.cssRules.length;
		oSheet.insertRule('body { margin-top: ' + mTop +'; visibility:visible; }',oLength); //add a new rule at the end
		}
	if (oSheet.addRule){
	//("IE");
		oSheet.addRule('body','margin-top: ' + mTop + '; visibility:visible;');
		}

return;
objidParent='body';
objidChildA='footerbox';
objidChildB='toplist';
objidChildC='bannerbox';

	pageheight=getclientHeight()-200;

	if (document.layers) {
	//	alert('sorry, no pretty layouts for netscape 4');
	}
	else if (document.getElementById) {
		Parent = document.getElementById(objidParent);
		ChildA = document.getElementById(objidChildA);
		ChildB = document.getElementById(objidChildB);
		ChildC = document.getElementById(objidChildC);

//		Child.style.height = (0.98 * pageheight) + 'px';
		Parent.style.marginTop = Parent.style.marginTop + (0.1 * pageheight) + 'px';
		ChildA.style.marginTop = ChildA.style.marginTop + (0.01 * pageheight) + 'px'  ;
		ChildB.style.marginTop = ChildB.style.marginTop + (0 * pageheight) + 'px' ;
	//	ChildC.style.top = ChildC.style.top + (0.01 * pageheight) + 'px' ;
	}

//alert(Child.style.height);

}




function getclientHeight() {
wH=window.innerHeight ? window.innerHeight : 0;
dH=document.documentElement ? document.documentElement.clientHeight : 0;
bH=document.body ? document.body.clientHeight : 0;

wH=wH ? wH : dH;

	repstr = "win:" + wH;
	repstr += "docEl: " + dH;
	repstr +=  "body: " + bH;


//alert(repstr);

	return wH;
}


function f_clientWidth() {
	return f_filterResults (
		window.innerWidth ? window.innerWidth : 0,
		document.documentElement ? document.documentElement.clientWidth : 0,
		document.body ? document.body.clientWidth : 0
	);
}

function f_clientHeight() {
	return f_filterResults (
		window.innerHeight ? window.innerHeight : 0,
		document.documentElement ? document.documentElement.clientHeight : 0,
		document.body ? document.body.clientHeight : 0
	);
}
function f_scrollLeft() {
	return f_filterResults (
		window.pageXOffset ? window.pageXOffset : 0,
		document.documentElement ? document.documentElement.scrollLeft : 0,
		document.body ? document.body.scrollLeft : 0
	);
}
function f_scrollTop() {
	return f_filterResults (
		window.pageYOffset ? window.pageYOffset : 0,
		document.documentElement ? document.documentElement.scrollTop : 0,
		document.body ? document.body.scrollTop : 0
	);
}
function f_filterResults(n_win, n_docel, n_body) {
	var n_result = n_win ? n_win : 0;
	if (n_docel && (!n_result || (n_result > n_docel)))
		n_result = n_docel;
	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}


function getCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
  } else
    begin += 2;
  var end = document.cookie.indexOf(";", begin);
  if (end == -1)
    end = dc.length;
  return unescape(dc.substring(begin + prefix.length, end));
}

function showNext(x){
numProds = products.length;
numPages=Math.ceil(numProds/itemsPerPage);
debug ="";

prevlink = '<span class=\"vorige\" style=\"textalign:left;\"><a href=\"javascript:showNext(-'+itemsPerPage+');\">&laquo; vorige</a></span>';
nextlink = '<span class=\"volgende\" style=\"textalign:right;\"><a href=\"javascript:showNext('+itemsPerPage+');\">volgende &raquo;</a></span>';

//begin: page=0;
//alert('initieel page = '+page);
//huidige pagina met 1 eenheid wijzigen
		if (x>0)
		{
			page++;
		}
		if (x<0)
		{
			page--;
		}

//alert('daarna page = '+page);
		if ( page == numPages )
		{
			page = 0;
		//	alert('Hoogste pagina bereikt, page = '+page);
		}

		if ( page < 0  )
		{
		//	debug+='\r\nLaagste pagina bereikt';
			page = numPages-1;
		//	alert('Laagste pagina bereikt, page = '+page);
		}


	if (page==0) { prevlink=""; }
	if (page==(numPages-1)) { nextlink=""; }

		// Alle afbeeldingen hidden
				for (i=0;i<numProds;i++)
				{
					obj=document.getElementById(products[i]);
					obj.style.display='none';
				}

		// De geselecteerde afbeeldingen weergeven.
				start = page * itemsPerPage;
				end = start + itemsPerPage;
				if( end > numProds)
				{
					end = numProds;
				}

//Logica uitwerken.
	pageName=page+1;
	debug+='<pre>\r\nstart ='+start+'\r\nend =' +end+'\r\npage= '+page+' '+'\r\npageName= '+(pageName)+' van  '+numPages+' met '+numProds+'</pre>'  ;
	obj = document.getElementById('pagineringsBox');

	obj.innerHTML=prevlink+nextlink;


				for (i=start;i<end;i++)
				{
					obj=document.getElementById(products[i]);
					obj.style.display='block';
				}

}



var END_OF_INPUT = -1;

var base64Chars = new Array(
    'A','B','C','D','E','F','G','H',
    'I','J','K','L','M','N','O','P',
    'Q','R','S','T','U','V','W','X',
    'Y','Z','a','b','c','d','e','f',
    'g','h','i','j','k','l','m','n',
    'o','p','q','r','s','t','u','v',
    'w','x','y','z','0','1','2','3',
    '4','5','6','7','8','9','+','/'
);

var reverseBase64Chars = new Array();
for (var i=0; i < base64Chars.length; i++){
    reverseBase64Chars[base64Chars[i]] = i;
}

var base64Str;
var base64Count;

function setBase64Str(str){
    base64Str = str;
    base64Count = 0;
}

function readBase64(){
    if (!base64Str) return END_OF_INPUT;
    if (base64Count >= base64Str.length) return END_OF_INPUT;
    ProcessPercentage=base64Count/base64Str.length;
    if(ProcessPercentage%100==true){

    }
    var c = base64Str.charCodeAt(base64Count) & 0xff;

    base64Count++;
    return c;
}

function encodeBase64(str){
    setBase64Str(str);
    var result = '';
    var inBuffer = new Array(3);
    var lineCount = 0;
    var done = false;
    while (!done && (inBuffer[0] = readBase64()) != END_OF_INPUT){
        inBuffer[1] = readBase64();
        inBuffer[2] = readBase64();
        result += (base64Chars[ inBuffer[0] >> 2 ]);
        if (inBuffer[1] != END_OF_INPUT){
            result += (base64Chars [(( inBuffer[0] << 4 ) & 0x30) | (inBuffer[1] >> 4) ]);
            if (inBuffer[2] != END_OF_INPUT){
                result += (base64Chars [((inBuffer[1] << 2) & 0x3c) | (inBuffer[2] >> 6) ]);
                result += (base64Chars [inBuffer[2] & 0x3F]);
            } else {
                result += (base64Chars [((inBuffer[1] << 2) & 0x3c)]);
                result += ('=');
                done = true;
            }
        } else {
            result += (base64Chars [(( inBuffer[0] << 4 ) & 0x30)]);
            result += ('=');
            result += ('=');
            done = true;
        }
        lineCount += 4;
    }
    return result;
}

function readReverseBase64(){
var Counter;
Counter=1;
    if (!base64Str) return END_OF_INPUT;
    while (true){
    if (base64Count%1000==true){

     }
      if (base64Count >= base64Str.length) return END_OF_INPUT;
        var nextCharacter = base64Str.charAt(base64Count);
        base64Count++;
        if (reverseBase64Chars[nextCharacter]){
                   return reverseBase64Chars[nextCharacter];
        }
        if (nextCharacter == 'A') return 0;
    }
}

function ntos(n){
    n=n.toString(16);
    if (n.length == 1) n="0"+n;
    n="%"+n;
    return unescape(n);
}

function decodeBase64(str){
    setBase64Str(str);
    var result = "";
    var inBuffer = new Array(4);
    var done = false;
    while (!done && (inBuffer[0] = readReverseBase64()) != END_OF_INPUT
        && (inBuffer[1] = readReverseBase64()) != END_OF_INPUT){
        inBuffer[2] = readReverseBase64();
        inBuffer[3] = readReverseBase64();
        result += ntos((((inBuffer[0] << 2) & 0xff)| inBuffer[1] >> 4));
        if (inBuffer[2] != END_OF_INPUT){
            result +=  ntos((((inBuffer[1] << 4) & 0xff)| inBuffer[2] >> 2));
            if (inBuffer[3] != END_OF_INPUT){
                result +=  ntos((((inBuffer[2] << 6)  & 0xff) | inBuffer[3]));
            } else {
                done = true;
            }
        } else {
            done = true;
        }
    }

    return result;
}

var digitArray = new Array('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f');
function toHex(n){
    var result = ''
    var start = true;
    for (var i=32; i>0;){
        i-=4;
        var digit = (n>>i) & 0xf;
        if (!start || digit != 0){
            start = false;
            result += digitArray[digit];
        }
    }
    return (result==''?'0':result);
}

function pad(str, len, pad){
    var result = str;
    for (var i=str.length; i<len; i++){
        result = pad + result;
    }
    return result;
}

function encodeHex(str){
    var result = "";
    for (var i=0; i<str.length; i++){
        result += pad(toHex(str.charCodeAt(i)&0xff),2,'0');
    }
    return result;
}

function decodeHex(str){
    str = str.replace(new RegExp("s/[^0-9a-zA-Z]//g"));
    var result = "";
    var nextchar = "";
    for (var i=0; i<str.length; i++){
        nextchar += str.charAt(i);
        if (nextchar.length == 2){
            result += ntos(eval('0x'+nextchar));
            nextchar = "";
        }
    }
    return result;
}




