/***********************************************
* Dynamic Ajax Content- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

function URLEncode(decoded) {
	return encodeURIComponent(decoded);
}
function ajaxEncodeForm()
{
	var cRet="";
	for(var i=0; i < arguments.length; i=i+2)
	{
		if(i>0)
			cRet+="&";
		if(arguments[i+1]==null)
			arguments[i+1]="";
		cRet+=encodeURIComponent(arguments[i])+"="+encodeURIComponent(arguments[i+1]);
	}
	return cRet;
}
function ajaxEncodeFormStruct(obj)
{
	var cRet="";
	var i=0;
	for(var cProp in obj)
	{
		if(i>0)
			cRet+="&";
	
		cRet+=encodeURIComponent(cProp)+"="+encodeURIComponent(obj[cProp]);
		i++;
	}
	return cRet;
}
function ajaxGetForm(frm)
{
	var cSubmitStr="";
	for(var i=0;i<frm.elements.length;i++)
	{
		cElem=frm.elements[i];
		if(	((cElem.type.toLowerCase() == 'checkbox' || cElem.type.toLowerCase() == 'radio') && cElem.checked==false ) || cElem.disabled==true || cElem.type.toLowerCase() == 'button')
		{ 
		}
		else if(cElem.tagName.toLowerCase()=='input')
		{
			cSubmitStr+=cElem.name+"="+encodeURIComponent(cElem.value)+"&";
		}
		else if(cElem.tagName.toLowerCase()=='select')
		{
			if(cElem.multiple)
			{
				for(var j=0;j < cElem.length;j++)
				{
					if(cElem[j].selected)
					{
						cSubmitStr+=cElem.name+"="+encodeURIComponent(cElem[j].value)+"&";
					}
				}
			}
			else
				cSubmitStr+=cElem.name+"="+encodeURIComponent(cElem[cElem.selectedIndex].value)+"&";
		}
		else if(cElem.tagName.toLowerCase()=='textarea')
		{
			cSubmitStr+=cElem.name+"="+encodeURIComponent(cElem.value)+"&";
		}
			
		
	}
	return cSubmitStr;
}
var bustcachevar=1; //bust potential caching of external pages after initial request? (1=yes, 0=no)
var loadedobjects="";
var rootdomain="http://"+window.location.hostname;
var bustcacheparameter="";

function getAjaxObject(handler) {
	var objXmlHttp = null;
	if (navigator.userAgent.indexOf("MSIE") >= 0) {

		var strName = navigator.appVersion.indexOf("MSIE 5.5") >= 0 ? "Microsoft.XMLHTTP" : "Msxml2.XMLHTTP";

		try { 
			objXmlHttp = new ActiveXObject(strName);
			objXmlHttp.onreadystatechange = handler;
			
			return objXmlHttp;
		} 
		catch(e) { 
			alert("Error: Could not initiate ActiveX object!");
			
			return;
		} 
	}
	else if (navigator.userAgent.indexOf("Mozilla") >=0 ) {
		objXmlHttp = new XMLHttpRequest();
		objXmlHttp.onload = handler;
		objXmlHttp.onerror = handler;
		
		return objXmlHttp;
	}
}




function ajaxpage(url, containerid,message,customload){
	var page_request = false;
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest();
	else if (window.ActiveXObject)
	{
		try 
		{
			page_request = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e)
		{
			try
			{
				page_request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e){}
		}
	}
	else
		return false;

	if (containerid||customload)
	{
		try
		{
			if(setStatusMessage)
				setStatusMessage('<img src="../../v3/generic/ajax_loader.cfm">',0,false,true);
		}
		catch(e){}

		page_request.onreadystatechange=function()
		{
			loadpage(page_request, containerid,customload);
		}
	}
	if (bustcachevar) //if bust caching of external page
		bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime();
	var operation="GET";
	if(message)
		operation="POST";
	page_request.open(operation, url+bustcacheparameter, true);
	if(message)
		page_request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	page_request.send(message);
}
/*
function InsertScript(containerid,num)
{
	var oldScript=document.getElementById('"script_"+containerid');
	var newScript = document.createElement('script');
	newScript.type = "text/javascript";
	newScript.text = window["aScript"+num];
	newScript.id="script_"+containerid;
	document.body.appendChild (newScript);
}*/


function loadpage_waiter(page_request, containerid,customload)
{
	//alert("loadpage_waiter("+page_request+","+containerid+','+customload+")");
	if(window["gWindowLoaded"] == true)
	{
		loadpage(page_request, containerid,customload);
	}
	else
	{
		window.setTimeout(function(){loadpage_waiter(page_request, containerid,customload)},500);
	}
}

if(window["gWindowLoaded"] == null)
	window["gWindowLoaded"] = true;

function loadpage(page_request, containerid,customload){
	if(!window["gWindowLoaded"])
	{
		loadpage_waiter(page_request, containerid,customload);
		return;
	}
	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
	{
		try
		{
			
			if(setStatusMessage)
				setStatusMessage('<img src="../../v3/generic/ajax_loader.cfm">',500,false,true);
		}
		catch(e){}
		if (containerid)
		{
			var container = null;
			if(containerid.constructor == String)
				container = document.getElementById(containerid);
			else if(containerid.innerHTML)
				container = containerid;
				
			container.innerHTML=page_request.responseText;
				

			var re = /<script\b[\s\S]*?>([\s\S]*?)<\/script/ig;
			var match;
			var aScript="";
			var oldScript=document.getElementById("script_"+containerid);
			if(oldScript)
				document.body.removeChild(oldScript);
			while (match = re.exec(page_request.responseText))
			{
//				aScript+=match[1]+"\n";
				var newScript = document.createElement('script');
				newScript.type = "text/javascript";
				newScript.text = match[1];
	//						alert(match[1]);
	
				//newScript.id="script_"+containerid;
				document.body.appendChild (newScript);	
			};

			
			
			/*
			num=Math.round(Math.random()*10000);
			window["aScript"+num]=aScript;
			window.setTimeout('InsertScript("'+containerid+'",'+num+')',100);*/
			if(document.updateDragAndDrop)
			{
				document.updateDragAndDrop(container);
			}
		
		}
		if(customload)
			eval(customload);
	}
}

function loadobjs(){
	if (!document.getElementById)
		return;
	for (i=0; i<arguments.length; i++)
	{
		var file=arguments[i];
		var fileref="";
		if (loadedobjects.indexOf(file)==-1)
		{ //Check to see if this object has not already been added to page before proceeding
			if (file.indexOf(".js")!=-1)
			{ //If object is a js file
				fileref=document.createElement('script');
				fileref.setAttribute("type","text/javascript");
				fileref.setAttribute("src", file);
			}
			else if (file.indexOf(".css")!=-1)
			{ //If object is a css file
				fileref=document.createElement("link")
				fileref.setAttribute("rel", "stylesheet");
				fileref.setAttribute("type", "text/css");
				fileref.setAttribute("href", file);
			}
		}
		if (fileref!="")
		{
			document.getElementsByTagName("head").item(0).appendChild(fileref);
			loadedobjects+=file+" "; //Remember this object as being already added to page
		}
	}
}



function getXmlObjFromString(str) {
	return (new DOMParser()).parseFromString(str, "text/xml");
}

function getXmlDocument(ajax) {
	if (navigator.appName == "Microsoft Internet Explorer")
		return new DOMParser().parseFromString(ajax.responseText, "text/xml");
	else
		return ajax.responseXML;	
}
if (typeof DOMParser == "undefined") {
	DOMParser = function (){};
	
	DOMParser.prototype.parseFromString = function (str, contentType) {
		if (typeof ActiveXObject != "undefined") { 
			var d = new ActiveXObject("MSXML.DomDocument"); 
			d.loadXML(str); 
			return d; 
		} 
		else if (typeof XMLHttpRequest != "undefined") {
			var req = new XMLHttpRequest; 
			req.open("GET", "data:" + (contentType || "application/xml") +  ";charset=utf-8," + encodeURIComponent(str), false);
			
			if (req.overrideMimeType) req.overrideMimeType(contentType); 
			
			req.send(null); 
			return req.responseXML; 
		} 
	} 
}