// ajax.js
// contains function that handles the Ajax operations
var http_request;
var xmlDDLRecords;

var ddlName;
var ddlHead;
var ddlUrl;
var ddlId;
var ddlDesc;
 
// creates an XMLHTTP object
function createXmlHttpObject() {

    http_request = false;
    if (window.XMLHttpRequest)
    { // Mozilla, Safari,...
    	    http_request = new XMLHttpRequest();
   		    if (http_request.overrideMimeType)
    		{
     		   http_request.overrideMimeType('text/xml');
    		}
    }
    else if (window.ActiveXObject)
    { // IE
           try
           {
          // alert('yes');
             //  http_request = new ActiveXObject("Microsoft.XMLHTTP");
               http_request = new ActiveXObject("Msxml2.XMLHTTP");
           }
           catch (e)
           {
               try
               {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
               }
               catch (e) {}
           }
    }
    if (!http_request)
    {
           alert('Giving up :( Cannot create an XMLHTTP instance');
           http_request = false;
           return false;
    }
}

function sendRequest(http_request,url,holdState)
{
	if (!http_request)
	{
	  alert('false');
	  return false;
	}
		http_request.open('GET', url, holdState);
	//alert('yes');
	http_request.setRequestHeader("Content-Type", "text/html; charset=UTF-8");
	http_request.send(null);
}

function sendRequestPost(http_request,url,holdState,param)
{
	if (!http_request)
	{
	  alert('false');
	  return false;
	}
		
	http_request.open('POST', url, holdState);
	//alert('yes');
	//http_request.setRequestHeader("Content-Type", "text/html; charset=WINDOWS-1256");
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", param.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(param);
}

function prepareDDLContents(ddl_Name,ddl_Head,url,ddl_Id,ddl_Desc)
{
	ddlName=ddl_Name;
	ddlHead=ddl_Head;
	ddlUrl=url;
	ddlId=ddl_Id;
	ddlDesc=ddl_Desc;
	
	//alert('1');
	createXmlHttpObject();
	http_request.onreadystatechange = makeDDLContents;
	sendRequest(http_request,url,false);
}

function makeDDLContents()
{
    if (http_request.readyState == 4)
    {
    	
    	  var text = http_request.responseText;
		  xmlDDLRecords =  new ActiveXObject("Microsoft.XMLDOM");
		//alert(text);
		  xmlDDLRecords.loadXML(text);
		
		  document.getElementById(ddlName).options.length = 0;
		  
		  var size = xmlDDLRecords.getElementsByTagName('vectorSize')[0].firstChild.data;
		 // alert(size);
			
	      document.getElementById(ddlName).options[0] = new Option('-- ' + ddlHead + ' --',-1);
		     
		  for (var i = 0 ; i < size; i++)
		  {   
			  var id = xmlDDLRecords.getElementsByTagName(ddlId)[i].firstChild.data;
			  var desc = xmlDDLRecords.getElementsByTagName(ddlDesc)[i].firstChild.data;
			  document.getElementById(ddlName).options[i + 1] = new Option(desc,id);
		  }
		
		
	}
	//alert('2');
}

function copyDDLContents(ddl_Name,ddl_Head,ddl_Id,ddl_Desc)
{
	ddlName=ddl_Name;
	ddlHead=ddl_Head;
	ddlId=ddl_Id;
	ddlDesc=ddl_Desc;

	document.getElementById(ddlName).options.length = 0;
		  
		  var size = xmlDDLRecords.getElementsByTagName('vectorSize')[0].firstChild.data;
		 // alert(size);
			
	      document.getElementById(ddlName).options[0] = new Option('-- ' + ddlHead + ' --',-1);
		     
		  for (var i = 0 ; i < size; i++)
		  {   
			  var id = xmlDDLRecords.getElementsByTagName(ddlId)[i].firstChild.data;
			  var desc = xmlDDLRecords.getElementsByTagName(ddlDesc)[i].firstChild.data;
			  document.getElementById(ddlName).options[i + 1] = new Option(desc,id);
		  }
	
}