var siteFile = 'http://filebucket.info/?';
var siteFld = 'http://filebucket.info/folder/';
var siteLink = 'http://filebucket.info/file/';
var siteImg = 'http://filebucket.info/image/';
var siteThumb = 'http://filebucket.info/thumb/';

function urlencode(str) {
    // http://kevin.vanzonneveld.net
    // +   original by: Philip Peterson
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: AJ
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: travc
    // +      input by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Lars Fischer
    // +      input by: Ratheous
    // +      reimplemented by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Joris
    // +      reimplemented by: Brett Zamir (http://brett-zamir.me)
    // %          note 1: This reflects PHP 5.3/6.0+ behavior
    // %        note 2: Please be aware that this function expects to encode into UTF-8 encoded strings, as found on
    // %        note 2: pages served as UTF-8
    // *     example 1: urlencode('Kevin van Zonneveld!');
    // *     returns 1: 'Kevin+van+Zonneveld%21'
    // *     example 2: urlencode('http://kevin.vanzonneveld.net/');
    // *     returns 2: 'http%3A%2F%2Fkevin.vanzonneveld.net%2F'
    // *     example 3: urlencode('http://www.google.nl/search?q=php.js&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:en-US:unofficial&client=firefox-a');
    // *     returns 3: 'http%3A%2F%2Fwww.google.nl%2Fsearch%3Fq%3Dphp.js%26ie%3Dutf-8%26oe%3Dutf-8%26aq%3Dt%26rls%3Dcom.ubuntu%3Aen-US%3Aunofficial%26client%3Dfirefox-a'
    str = (str+'').toString();
	// Tilde should be allowed unescaped in future versions of PHP (as reflected below), but if you want to reflect current
    // PHP behavior, you would need to add ".replace(/~/g, '%7E');" to the following.
    return encodeURIComponent(str).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28').replace(/\)/g, '%29').replace(/\*/g, '%2A').replace(/%20/g, '+');
}

function urldecode(str) {
	// http://kevin.vanzonneveld.net
    // +   original by: Philip Peterson
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: AJ
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // %          note: info on what encoding functions to use from: http://xkr.us/articles/javascript/encode-compare/
    // *     example 1: urldecode('Kevin+van+Zonneveld%21');
    // *     returns 1: 'Kevin van Zonneveld!'
    // *     example 2: urldecode('http%3A%2F%2Fkevin.vanzonneveld.net%2F');
    // *     returns 2: 'http://kevin.vanzonneveld.net/'
    // *     example 3: urldecode('http%3A%2F%2Fwww.google.nl%2Fsearch%3Fq%3Dphp.js%26ie%3Dutf-8%26oe%3Dutf-8%26aq%3Dt%26rls%3Dcom.ubuntu%3Aen-US%3Aunofficial%26client%3Dfirefox-a');
    // *     returns 3: 'http://www.google.nl/search?q=php.js&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:en-US:unofficial&client=firefox-a'
	
	var histogram = {}, histogram_r = {}, code = 0, str_tmp = [];
	var ret = str.toString();
	var replacer = function(search, replace, str) {
		var tmp_arr = [];
		tmp_arr = str.split(search);
		return tmp_arr.join(replace);
	};
	
	// The histogram is identical to the one in urlencode.
	histogram['!']   = '%21';
	histogram['%20'] = '+';
	for (replace in histogram) {
		search = histogram[replace]; // Switch order when decoding
		ret = replacer(search, replace, ret) // Custom replace. No regexing   
	}
	
	// End with decodeURIComponent, which most resembles PHP's encoding functions
	ret = decodeURIComponent(ret);
	return ret;
}

function confirmAction(uid, msg) {
	var txt = msg;
	$.prompt(txt,{
		callback: function(v,m,f) {
			if (v) {
				$.blockUI ({ overlayCSS: { backgroundColor: '#FFFFFF' }, css: { padding: '20px', backgroundColor: '#fff', opacity: .8, color: '#333', font: 'bold 12px Arial', border: '3px solid #CAE4FF', width: '30%' }, message: 'In progress, please wait...<br /><br ><img src="/images/waiting.gif" border="0">' });
				$("#showed").load("/libs/"+urldecode(uid), function() { $.unblockUI(); });
			}
		},
		buttons: { Yes: true, No: false }
	});
}

function loadContent(uid) {
	$.blockUI({
		overlayCSS: { backgroundColor: '#FFFFFF' }, css: { padding: '20px', backgroundColor: '#fff', opacity: .8, color: '#333', font: 'bold 12px Arial', border: '3px solid #CAE4FF', width: '30%' },
		message: 'In progress, please wait...'
	});
	$("#showed").load('/libs/'+urldecode(uid), function() { $.unblockUI(); });
}

function ajaxLoading(id,url,msg) {
	url="/libs/"+url;
	if(document.getElementById) { var x=(window.ActiveXObject)?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest(); }
	if(x) { x.onreadystatechange=function() {
		el=document.getElementById(id);
		el.innerHTML='<center><div style="padding:120px 0 120px 0;font:bold 12px Arial;color:#333333;">'+msg+', please wait...<br /><br ><img src="/design/w7fetching.gif" border="0"></div></center>';
		if(x.readyState==4&&x.status==200) {
			el.innerHTML='';
			el=document.getElementById(id);
			el.innerHTML=x.responseText;
		}
	}
	x.open("GET",url,true);
	x.send(null);
    }
}

function check_val(iSource) {
	var ins = document.getElementsByName(iSource);
	var i;
	var j=0;
	var vals= new Array();
	for(i=0;i<ins.length;i++) {
		if (ins[i].checked == true) { vals[j]=ins[i].value; }
		j++;
	}
	return vals;
}

function SetAllCheckBoxes(FormName, FieldName, CheckValue) {
	if(!document.forms[FormName])
		return;
	var objCheckBoxes = document.forms[FormName].elements[FieldName];
	if(!objCheckBoxes)
		return;
	var countCheckBoxes = objCheckBoxes.length;
	if(!countCheckBoxes)
		objCheckBoxes.checked = CheckValue;
	else
		// set the check value for all check boxes
		//if (objCheckBoxes[1].checked==true) { CheckValue = false; }
		for(var i = 0; i < countCheckBoxes; i++)
			//objCheckBoxes[i].checked = CheckValue;
			if (objCheckBoxes[i].checked==true) { objCheckBoxes[i].checked = false; } else { objCheckBoxes[i].checked = true; }
}

function go(loc) { window.location.href = loc; }
function s(field) { field.focus(); field.select(); }
