function inArray(needle, haystack) {
	var i;
	for (i=0; i < haystack.length; i++) {
	  	if (haystack[i] === needle) {
			return true;
	  	}
	}
	return false;
}

function toggleWidget(type) {
	if($(type+"_admin").style.display == "none") {
		$(type+"_admin").show();
		$(type+"_button").innerHTML = "Hide (-)";
	} else {
		$(type+"_admin").hide();
		$(type+"_button").innerHTML = "Show (+)";
	}
}

function modalAlert(message, title) {
	document.getElementById("blackout").style.display = "";
	document.getElementById("modalmessagebox").style.display = "";
	document.getElementById("modalmessagemain").innerHTML = message;
	document.getElementById("modalmessagesub").style.display = "none";
	document.getElementById("modalmessageboxok").innerHTML = "<a href='javascript:closeModalDialog();'>Ok</a>";
	document.getElementById("modalmessageboxcancel").style.display = "none";
}

function closeModalDialog() {
	if (document.getElementById("txtNetDetails") == null || document.getElementById("txtNetDetails").style.display == "none")
		document.getElementById("blackout").style.display = "none";
	document.getElementById("modalmessagebox").style.display = "none";
}

function showProcessing() {
	$('blackout').show();
	$('modalwaiting').show();
}

function closeProcessing() {
	$('blackout').hide();
	$('modalwaiting').hide();
}

function isArray(element) {   
    return element && !(element.propertyIsEnumerable('length')) && typeof element === 'object' && typeof element.length === 'number';
}

function buildInput(type, name, id, value) {
	input = document.createElement("input");
	input.setAttribute("type",type);
	input.setAttribute("name",name);
	input.setAttribute("id",id);
	input.value = value;
	return input;
}

function trim(s)
{
	var l=0; var r=s.length -1;
	while(l < s.length && s[l] == ' ')
	{	l++; }
	while(r > l && s[r] == ' ')
	{	r-=1;	}
	return s.substring(l, r+1);
}


function urlEncode(str) {
    str=str.replace(/\%/g,'%25');
    str=str.replace(/\ /g,'%20');
    str=str.replace(/\"/g,'%22');
    str=str.replace(/\#/g,'%23');
	str=str.replace(/\$/g,'%24');
	str=str.replace(/\&/g,'%26');
	str=str.replace(/\+/g,'%2B');
	str=str.replace(/\,/g,'%2C');
	str=str.replace(/\//g,'%2F');
	str=str.replace(/\:/g,'%3A');
	str=str.replace(/\;/g,'%3B');
	str=str.replace(/\</g,'%3C');
	str=str.replace(/\=/g,'%3D');
	str=str.replace(/\>/g,'%3E');
	str=str.replace(/\?/g,'%3F');
	str=str.replace(/\@/g,'%40');
	str=str.replace(/\[/g,'%5B');
	str=str.replace(/\\/g,'%5C');
	str=str.replace(/\]/g,'%5D');
	str=str.replace(/\^/g,'%5E');
	str=str.replace(/\`/g,'%60');
	str=str.replace(/\{/g,'%7B');
	str=str.replace(/\|/g,'%7C');
	str=str.replace(/\}/g,'%7D');
	str=str.replace(/\~/g,'%7E');
	return str;
}