function utf8_encode ( str_data ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Webtoolkit.info (http://www.webtoolkit.info/)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)        
    // *     example 1: utf8_encode('Kevin van Zonneveld');
    // *     returns 1: 'Kevin van Zonneveld'
 
    str_data = str_data.replace(/\r\n/g,"\n");
    var tmp_arr = [], ac = 0;
 
    for (var n = 0; n < str_data.length; n++) {
        var c = str_data.charCodeAt(n);
        if (c < 128) {
            tmp_arr[ac++] = String.fromCharCode(c);
        } else if((c > 127) && (c < 2048)) {
            tmp_arr[ac++] = String.fromCharCode((c >> 6) | 192);
            tmp_arr[ac++] = String.fromCharCode((c & 63) | 128);
        } else {
            tmp_arr[ac++] = String.fromCharCode((c >> 12) | 224);
            tmp_arr[ac++] = String.fromCharCode(((c >> 6) & 63) | 128);
            tmp_arr[ac++] = String.fromCharCode((c & 63) | 128);
        }
    }
    
    return tmp_arr.join('');
}




function base64_encode( data ) {
  
    var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
    var o1, o2, o3, h1, h2, h3, h4, bits, i = ac = 0, enc="", tmp_arr = [];
    data = utf8_encode(data);
    
    do { // pack three octets into four hexets
        o1 = data.charCodeAt(i++);
        o2 = data.charCodeAt(i++);
        o3 = data.charCodeAt(i++);
 
        bits = o1<<16 | o2<<8 | o3;
 
        h1 = bits>>18 & 0x3f;
        h2 = bits>>12 & 0x3f;
        h3 = bits>>6 & 0x3f;
        h4 = bits & 0x3f;
 
        // use hexets to index into b64, and append result to encoded string
        tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);
    } while (i < data.length);
    
    enc = tmp_arr.join('');
    
    switch( data.length % 3 ){
        case 1:
            enc = enc.slice(0, -2) + '==';
        break;
        case 2:
            enc = enc.slice(0, -1) + '=';
        break;
    }
 
    return enc;
}

function base64_decode( data ) {

    var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
    var o1, o2, o3, h1, h2, h3, h4, bits, i = ac = 0, dec = "", tmp_arr = [];
 
    do {  // unpack four hexets into three octets using index points in b64
        h1 = b64.indexOf(data.charAt(i++));
        h2 = b64.indexOf(data.charAt(i++));
        h3 = b64.indexOf(data.charAt(i++));
        h4 = b64.indexOf(data.charAt(i++));
 
        bits = h1<<18 | h2<<12 | h3<<6 | h4;
 
        o1 = bits>>16 & 0xff;
        o2 = bits>>8 & 0xff;
        o3 = bits & 0xff;
 
        if (h3 == 64) {
            tmp_arr[ac++] = String.fromCharCode(o1);
        } else if (h4 == 64) {
            tmp_arr[ac++] = String.fromCharCode(o1, o2);
        } else {
            tmp_arr[ac++] = String.fromCharCode(o1, o2, o3);
        }
    } while (i < data.length);
    
    dec = tmp_arr.join('');
//    dec = utf8_decode(dec);
    
    return dec;
}

function SendToFrame(ParentID){
	frames.Content.location.href='Class/GalleryIframe.php?ParentID='+ParentID;
//	alert('send to frame parent id ='+ParentID);
}

function SendEnd(Conditions,Level){
	window.location.href="?Conditions="+Conditions+"&LevelsDeepMenu="+Level;
}

function SendStart(Conditions,Colspan){
	window.location.href="?Conditions="+Conditions+"&Colspan="+Colspan;
}

function SendButtons(Conditions,PageID){
	window.location.href="?TemplateUsed=SearchEngine&Conditions="+Conditions+"&PageID="+PageID;
}

function SendSample(Conditions,Sample){
	window.location.href="?TemplateUsed=SearchEngine&Conditions="+Conditions+"&Sample="+Sample;
}

function AutoSubmit(Value,event){
	if(navigator.appName.indexOf("Microsoft") != -1){var keyValue = event.keyCode;}
	if(navigator.appName.indexOf("Netscape") != -1){var keyValue = event.which;}
	
	if(keyValue==13){SearchEngine("Search");}
	
//	alert(Value)
}

function SearchEngine(Type){
	var MeSearchExpression=document.getElementById('SearchWord').value;
			if (MeSearchExpression=="") {
				alert("You must type a word to search for!");
					document.getElementById('SearchWord').focus();
				return (false);}
		else{
			var path='?TemplateUsed=SearchEngine&SearchWord='+base64_encode(MeSearchExpression)+'&SearchButton='+Type;
	
			window.location.href=path;
			return (true);
		}
		
		
		

	
}


function Reset(){
	var FinalPath="?";
	window.location.href=FinalPath;
}