//javascript file


//ajax stuff
function GetXmlHttpObject()
{
	var http=false;
	
	//Use IE's ActiveX items to load the file.
	if(typeof ActiveXObject != 'undefined') 
	{
		//type = IE
		try
		{
			http = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			try 
			{
				http = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e)
			{
				http = false;
			}
		}
	}
	else if (XMLHttpRequest) 
	{
		//type = Mozilla, etc
		try 
		{
			http = new XMLHttpRequest();
		}
		catch (e)
		{
			http = false;
		}
	}
	
	
	/*
	try
	{
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}
	catch (e)
	{
		// Internet Explorer
		try
		{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	
	*/
	return http; 
}

var contactsReturnElementID = null;
var autoClose = false;
function GetData(command, uid, returnElementID)		//,param1, param2, param3, 
{
	if (uid.length == 0)
		return false;
	var numParams = arguments.length-3;		//get the number of parameters
	var index = 0;
	var params = [];
	
	//prepare parameters and place them in the new array
	for ( index=3; index <= arguments.length; index++) 
	{
		if (isArray(arguments[index]))
		{
			params[index-3] = arguments[index].join('|');
		}
		else
		{
			params[index-3] = arguments[index] || "";
		}
	}

	if (document.getElementById(returnElementID) == null)
	{
		if (self.opener.document.getElementById(returnElementID) == null) //try parent
		{
			alert("Can't resolve sender ("+returnElementID+").");
		}
		else
		{
			contactsReturnElementID = self.opener.document.getElementById(returnElementID);
		}
	}
	else
	{
		contactsReturnElementID = returnElementID;
	}
	
	if (command.length==0)
	{
		if (document.getElementById(contactsReturnElementID) == null)
			document.getElementsByName(returnElementID).innerHTML="";
		else
			document.getElementById(returnElementID).innerHTML="";
		return;
	}
	
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null)
	{
		alert ("Your browser does not support AJAX! Please upgrade to a newer version of Internet Explorer.");
		return;
	}
	
	//must be the full URI to the response handler
	var url="http://www.mtsureview.com/AJAX/Ajax_ResponseHandler.php";
	
	var paramstr = "";

	//create parameter string 
	paramstr=paramstr+"command="+encodeURIComponent(command);
	paramstr=paramstr+"&uid="+encodeURIComponent(uid);
	paramstr=paramstr+"&numParams="+encodeURIComponent(numParams);
	for ( index=0; index < numParams; index++) 
		paramstr=paramstr+"&param"+index+"="+encodeURIComponent(params[index]);
	
	//add a random string for cache prevention
	paramstr=paramstr+"&sid="+Math.random();
		
	//send request via POST method
	//open 
	xmlHttp.open("POST", url, true);

	//Send headers
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", paramstr.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.onreadystatechange = LoadReturnedDataFromAjax;
	xmlHttp.send(paramstr);

	//old deprecated code (sent via GET method
	/*
	url=url+"?command="+encodeURIComponent(command);
	url=url+"&uid="+encodeURIComponent(uid);
	url=url+"&numParams="+encodeURIComponent(numParams);
	
	//add parameters
	for ( index=0; index < numParams; index++) 
	{
		url=url+"&param"+index+"="+encodeURIComponent(params[index]);
	}
	
	url=url+"&sid="+Math.random();
	
	alert(url);
	xmlHttp.onreadystatechange=LoadReturnedDataFromAjax;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
	*/
}

function LoadReturnedDataFromAjax()
{
	if (xmlHttp.readyState==4 && xmlHttp.status == 200)
	{
		//contactsReturnElementID.innerHTML=xmlHttp.responseText;
		if (document.getElementById(contactsReturnElementID) == null)
		{
			//self.opener.document.getElementById(contactsReturnElementID.id).innerHTML=xmlHttp.responseText;	//try parent window
			sethtml(contactsReturnElementID.id, xmlHttp.responseText);
		}
		else
		{
			//document.getElementById(contactsReturnElementID).innerHTML=xmlHttp.responseText;
			sethtml(contactsReturnElementID, xmlHttp.responseText);
		}
		if (autoClose == true)
		{
			window.close();
		}
	}
}


function DEBUG_ListElementsInForm0()
{

   for(i=0; i<document.forms[0].elements.length; i++)
   {
   		alert(document.forms[0].elements[i].name)
   }

}
function DEBUG_ListElementPropertiesInForm0()
{
	var theForm = document.forms[0];
	for(i=0; i<theForm.elements.length; i++)
	{
		var alertText = "";
   		alertText += "Element Type: " + theForm.elements[i].type + "\n";
		if(theForm.elements[i].type == "text" || theForm.elements[i].type == "textarea" || theForm.elements[i].type == "button")
		{
			alertText += "Element Value: " + theForm.elements[i].value + "\n";
      	}
      	else if(theForm.elements[i].type == "checkbox")
      	{
      		alertText += "Element Checked? " + theForm.elements[i].checked + "\n";
      	}
      	else if(theForm.elements[i].type == "select-one")
      	{
      		alertText += "Selected Option's Text: " + theForm.elements[i].options[theForm.elements[i].selectedIndex].text + "\n";
      	}	
   		alert(alertText);
   	}
} 

function DEBUG_ListWindows()
{
	alert(self.opener.name);
}

//function var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
//var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 
var xmlObj;
function loadXML(xmlFile) 
{ 
	xmlDoc.async="false"; 
 	xmlDoc.onreadystatechange=verify; 
 	xmlDoc.load(xmlFile); 
	xmlObj=xmlDoc.documentElement; 
}
function verify() 
{ 
 // 0 Object is not initialized 
 // 1 Loading object is loading data 
 // 2 Loaded object has loaded data 
 // 3 Data from object can be worked with 
 // 4 Object completely initialized 
 	if (xmlDoc.readyState != 4) 
 	{ 
   		return false; 
 	}	 
}

function isArray(obj) 
{
   if (obj == null)
    return false;
   if (obj.constructor == null)
   	return false;
   else
   {
   	if (obj.constructor.toString().indexOf("Array") == -1)
   		return false;
    else
 	    return true;
		
   }
   
   
}

var AutoGetDataCount;
var AutoGetDataMax;
var AutoGetDataIntervalID;
var AutoGetDataComplete;

function AutoGetData(delay, max, command, uid, returnElementID)
{
	AutoGetDataCount = 0;
	AutoGetDataComplete = 0;
	AutoGetDataMax = max;
	AutoGetDataIntervalID = setInterval('GetData("'+command+'","'+uid+'","'+returnElementID+'","'+arguments[5]+'","'+arguments[6]+'","'+arguments[7]+'","'+arguments[8]+'","'+arguments[9]+'");AutoGetDataIncrement();', delay);	
}

function AutoGetDataIncrement()
{
	AutoGetDataCount++;
	if (AutoGetDataCount >= AutoGetDataMax || AutoGetDataComplete == 1)
	{
		clearInterval(AutoGetDataIntervalID);
	}
}


function sethtml(div,content) 
{ 
    var srch = content; 
    var script;
    var start;
    var end;
    var endLength; 
    var temp;
    
    document.getElementById(div).innerHTML=content; 
    
    if(script = srch.match(/(<script[^>]+javascript[^>]+>)/i))
    { 
      start = srch.search("<script[^>]+javascript[^>]+>") + 30;
      
      srch = srch.substr(start); 
      //debugger     
      if (end = srch.match(/(<\/script>)/))
      {

	      end = srch.search("<\/script>");
	      
	     // srch = srch.substr(0, end+9)
	     srch = srch.substr(0, end);
	      eval(srch);	          
	      //var oScript = document.createElement('script'); 
	      //oScript.text = srch; 
	      //document.getElementsByTagName("head").item(0).appendChild(oScript); 
      }
    } 
    
    //document.getElementById(div).innerHTML=content; 
}