function URLEncode( input )
{
	// The Javascript escape and unescape functions do not correspond
	// with what browsers actually do...
	var SAFECHARS = "0123456789" +					// Numeric
					"ABCDEFGHIJKLMNOPQRSTUVWXYZ" +	// Alphabetic
					"abcdefghijklmnopqrstuvwxyz" +
					"-_.!~*'()";					// RFC2396 Mark characters
	var HEX = "0123456789ABCDEF";

	var plaintext = input;
	var encoded = "";
	for (var i = 0; i < plaintext.length; i++ ) {
		var ch = plaintext.charAt(i);
	    if (ch == " ") {
		    encoded += "+";				// x-www-urlencoded, rather than %20
		} else if (SAFECHARS.indexOf(ch) != -1) {
		    encoded += ch;
		} else {
		    var charCode = ch.charCodeAt(0);
			if (charCode > 255) {
			    alert( "Unicode Character '" 
                        + ch 
                        + "' cannot be encoded using standard URL encoding.\n" +
				          "(URL encoding only supports 8-bit characters.)\n" +
						  "A space (+) will be substituted." );
				encoded += "+";
			} else {
				encoded += "%";
				encoded += HEX.charAt((charCode >> 4) & 0xF);
				encoded += HEX.charAt(charCode & 0xF);
			}
		}
	} // for	
	return encoded;
};

function filtery(pattern,list){
	pattern = new RegExp('^'+pattern,"i"); 
	i=0;
	sel=0;
	while(i<list.options.length){
		if(pattern.test(list.options[i].text)){sel=i;break}
		i++;
	}
	list.options.selectedIndex=sel;
}

var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";

	function decode64(input) {
   var output = "";
   var chr1, chr2, chr3;
   var enc1, enc2, enc3, enc4;
   var i = 0;

   // remove all characters that are not A-Z, a-z, 0-9, +, /, or =
   input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");

   do {
      enc1 = keyStr.indexOf(input.charAt(i++));
      enc2 = keyStr.indexOf(input.charAt(i++));
      enc3 = keyStr.indexOf(input.charAt(i++));
      enc4 = keyStr.indexOf(input.charAt(i++));

      chr1 = (enc1 << 2) | (enc2 >> 4);
      chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
      chr3 = ((enc3 & 3) << 6) | enc4;

      output = output + String.fromCharCode(chr1);

      if (enc3 != 64) {
         output = output + String.fromCharCode(chr2);
      }
      if (enc4 != 64) {
         output = output + String.fromCharCode(chr3);
      }
   } while (i < input.length);

   return output;
}

/* returns the size of your framewindow */
function frame_size(){
	var frameWidth, frameHeight,frameArray = Array();
	if (self.innerWidth)
	 {
	  	frameWidth 	= self.innerWidth;
	  	frameHeight = self.innerHeight;		
	 }	 	 
	 else if (document.documentElement && document.documentElement.clientWidth)
	 {
	  frameWidth 	= document.documentElement.clientWidth;
	  frameHeight 	= document.documentElement.clientHeight;
	 }
	 else if (document.body)
	 {
	  frameWidth 	= document.body.clientWidth;
	  frameHeight	= document.body.clientHeight;	  
	 }	 
	 else {
		alert('Kon de schermresolutie niet bepalen!'); 
	 }	
	 frameArray[0] = frameWidth;
	 frameArray[1] = frameHeight;
	 return frameArray;
}


function switch_menu (key_no){
	for (i = 0; i < num_cats; i++){
		if ( key_no == i){
			document.getElementById('sub_items_' + i ).style.display = 'block';	
		}
		else {
			document.getElementById('sub_items_' + i ).style.display = 'none';	
		}
	}
	
	document.getElementById('sub_items_home').style.display = 'none';	

}


function patchHeaders (){
	var headers	= document.getElementsByTagName('h1');
	for ( var i = 0; i < headers.length; i++){
	
		headers[i].innerHTML = '<img src="gd_h.php?q=' +  URLEncode ( headers[i].innerHTML ) + '" alt="' 
							+ headers[i].innerHTML + '" />';
		headers[i].style.visibility = 'visible';
		
	}
}

function switchImage (key, media_id, media_url){

	for ( var i =0; i < 4; i++){
		try { 
			if (i == key){
				document.getElementById('bigImage_' + i ).style.display = 'block';
				
			}
			else {
				document.getElementById('bigImage_' + i ).style.display = 'none';
			}			
		}
		catch (e){
			
		}
		
		document.getElementById('currentImage').style.display = 'none';
	}
		 
	//tb_init('a.thickbox, area.thickbox, input.thickbox');
}

