function $(element){
	return document.getElementById(element);
}

function randomString() {
	var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
	var string_length = 20;
	var randomstring = '';
	for (var i=0; i<string_length; i++) {
		var rnum = Math.floor(Math.random() * chars.length);
		randomstring += chars.substring(rnum,rnum+1);
	}
	r_Timestamp = new Date();
	return randomstring + '' + r_Timestamp.getHours() + '' + r_Timestamp.getMinutes() + '' + r_Timestamp.getSeconds();
}

function AjaxDropdown(Dropdown,FullURL){
	if($(Dropdown)){
		$(Dropdown).options.length=1;
		$(Dropdown).options[0].selected = true;
		$(Dropdown).options[0].value = '0';
		$(Dropdown).options[0].text = 'Loading...';
		$(Dropdown).disabled=true;
		AjaxData('',FullURL,1);
	}
}

function AjaxData(AjaxDiv,FullURL,runFunction,test){	
	var xmlhttp=false;
        try {
                xmlhttp = new ActiveXObject('Msxml2.XMLHTTP');
        } catch (e) {
                try {
                        xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
            } catch (E) {
                xmlhttp = false;
                        }
        }
        if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
                xmlhttp = new XMLHttpRequest();
        }
		var content;
		if(FullURL.indexOf("?")>0){
			urlSym='&';
		}
		else {
			urlSym='?';
		}
    xmlhttp.open('GET', FullURL + urlSym + randomString(), true);
	xmlhttp.onreadystatechange=function() {			
			if (xmlhttp.readyState==4) {
				var content = xmlhttp.responseText;
				if( content ){
					if(runFunction){
						eval(content);	
					}
					else {
						if(document.getElementById(AjaxDiv)){
							document.getElementById(AjaxDiv).innerHTML = content;
						}
					}
				}
			}
	}

	xmlhttp.send(null);
	return;	
}

function URLEncode(clearString){
	if(!clearString){
		return '';	
	}
	var output = '';
	var x = 0;
	clearString = clearString.toString();
	var regex = /(^[a-zA-Z0-9_.]*)/;
	while (x < clearString.length) {
		var match = regex.exec(clearString.substr(x));
		if(match != null && match.length > 1 && match[1] != ''){
			output += match[1];
			x += match[1].length;
		}
		else {
			if(clearString[x] == ' '){
				output += '+';
			}
			else {
				var charCode = clearString.charCodeAt(x);
				var hexVal = charCode.toString(16);
				output += '%' + ( hexVal.length < 2 ? '0' : '' ) + hexVal.toUpperCase();
			}
			x++;
		}
	}
	return output;
}
