var loaderphp = 'PageLoader.php?display';
var loadimg = 'javascript/loading.gif';
PreLoadImg= new Image(108,13);
PreLoadImg.src = loadimg;

function ajaxFunction(ID, Param)
{
	var xmlHttp;
	try
    {
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
    }catch(e){
		// Internet Explorer
		try
		{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
			try
			{
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}catch(e){
				alert("Your browser does not support AJAX!");
				return false;
			}
		}
	}
    xmlHttp.onreadystatechange=function()
	{
		if(xmlHttp.readyState==4)
        {
			document.getElementById(ID).innerHTML = xmlHttp.responseText;
        }
	}
    xmlHttp.open("GET", loaderphp+"?Param="+Param,true);
    xmlHttp.send(null);
}

//------------------------------

var http_request = false;
	   
function makePOSTRequest(url, parameters) {

  http_request = false;
  if (window.XMLHttpRequest) { // Mozilla, Safari,...
	 http_request = new XMLHttpRequest();
	 if (http_request.overrideMimeType) {
		// set type accordingly to anticipated content type
		//http_request.overrideMimeType('text/xml');
		http_request.overrideMimeType('text/html');
	 }
  } else if (window.ActiveXObject) { // IE
	 try {
		http_request = new ActiveXObject("Msxml2.XMLHTTP");
	 } catch (e) {
		try {
		   http_request = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {}
	 }
  }
  if (!http_request) {
	 alert('Cannot create XMLHTTP instance');
	 return false;
  }

  http_request.onreadystatechange = alertContents;

  http_request.open('POST', url, true);
  http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  http_request.setRequestHeader("Content-length", parameters.length);
  http_request.setRequestHeader("Connection", "close");
  http_request.send(parameters);
}



var writtenstring = ''; // initialize
var theSpan = ''; // initialize
function mywrite(writevalue)
{
	writtenstring += writevalue; //add to end of string 
}


function alertContents()
{
  if (http_request.readyState == 4) {
	 if (http_request.status == 200) {
		//alert(http_request.responseText);
		result = http_request.responseText;
		
		//START SCRIPT FILTER
		scriptregexp = /(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/i;
		ajaxreturnvalue = result;
		//alert(ajaxreturnvalue);
		var curscript = ajaxreturnvalue.match(scriptregexp);
		if (curscript)
		{ // script tag found!
			// the 2 statements below are necessary if the code uses
			// document.write - I redirect to a function which will write it to a var
			var savewrite = document.write;
			document.write = mywrite; // mywrite is a function defined below
			writtenstring = ''; // reset document.write var
		
			// the curscript[1] var below is only the part between the script tags
			// not including the script tags, do not use the actual script tags in eval()
			eval(curscript[1]); //execute the code!
			//alert(curscript[1]);
		
			// restore the document.write event below
			// if any document.write statements were executed
			// the result will be in the global var 'writtenstring'
			
			document.write = savewrite;
		
		   // delete the script from the code returned
		   ajaxreturnvalue = ajaxreturnvalue.replace(scriptregexp, '');
		   // or replace with redirected output of document.write
		   ajaxreturnvalue = ajaxreturnvalue.replace(scriptregexp, writtenstring);
		}
		//END SCRIPT FILTER
		document.getElementById(theSpan).innerHTML = ajaxreturnvalue;
	 } else {
		//alert('There was a problem with the request.');
		//alert(http_request.status);
		//alert(http_request.responseText);
	 	document.getElementById(theSpan).innerHTML = "Error: "+http_request.status+":- "+http_request.responseText;

	 }
  }
}

//var dScrip = new array();

function LoadScript(url)
{
	//dScrip.push(url);
	var headID = document.getElementsByTagName("head")[0];   
	var e = document.createElement("script");
	e.src = url;
	e.id = url;
	e.type="text/javascript";
	headID.appendChild(e);
}


function UnloadScript(divNum)
{
  var d = document.getElementsByTagName("head")[0];
  if (document.getElementById(divNum))
  {
  	var olddiv = document.getElementById(divNum);
  	d.removeChild(olddiv);
  }
}

function LoadCSS(url)
{
	var headID = document.getElementsByTagName("head")[0];
	var e = document.createElement("link");
	e.id = url;
	e.href = url;
	e.rel="stylesheet";
	e.type="text/css";
	e.media="screen";
	headID.appendChild(e);
}


function UnloadCSS(divNum)
{
  var d = document.getElementsByTagName("head")[0];
  if (document.getElementById(divNum))
  {
  	var olddiv = document.getElementById(divNum);
  	d.removeChild(olddiv);
  }
}


//-------------------------------------------
var LoadingMsg1 = "<div align='center' style='position:absolute; top:40%; left:40%;'>";
var LoadingMsg2 = "<br /><img src='"+loadimg+"' /></div>";

function LoadPage(Div, Page, Param, msg)
{
	theSpan = Div;
	var poststr = 'Page='+encodeURI(Page)+'&Param='+encodeURI(Param);
	if(msg == "" || msg==undefined)
	{
		//document.getElementById(Div).innerHTML = LoadingMsg1+"Loading..."+LoadingMsg2;
	}else{
		document.getElementById(Div).innerHTML = LoadingMsg1+msg+LoadingMsg2;	
	}
	makePOSTRequest(loaderphp, poststr);
}

function SavePage(Div, Page, Param, msg)
{
	theSpan = Div;
	var poststr = 'Page='+encodeURI(Page)+'&'+Param;
	if(msg == "" || msg==undefined)
	{
		//document.getElementById(Div).innerHTML = LoadingMsg1+"Saving..."+LoadingMsg2;
	}else{	
		document.getElementById(Div).innerHTML = LoadingMsg1+msg+LoadingMsg2;
	}
	
	makePOSTRequest(loaderphp, poststr);
}


//-------------------------------------------

function GetFormValues(frm)
{
	var str = '';
	var elem = document.getElementById(frm).elements;
	for(var i = 0; i < elem.length; i++)
	{
		str += elem[i].name + "=";
		str += elem[i].value + "&";
	}
	return str;
	//document.getElementById('lblValues').innerHTML = str;
}

