
var xmlHttp;
var waitingArea;
var targetID;

function GetXmlHttpObject()
{
	var xmlHttp=null;
	
	try{
		xmlHttp=new XMLHttpRequest();
	}
	catch (e)
	{
		try
		{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
	  catch (e)
		{
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}

// End General AJAX Script

function ajaxnwait(waitArea, requestType, urlLocation, parameters, outputTarget)
{
	waitingArea = waitArea;
	document.getElementById(waitingArea).style.backgroundColor = "#cccccc";
	//document.getElementById('pleasewaitScreen').style.visibility="visible";
	window.setTimeout('ajax(\''+requestType+'\', \''+urlLocation+'\', \''+parameters+'\', \''+outputTarget+'\')',1);
}	


function ajax(requestType, urlLocation, parameters, outputTarget)
{ 

	xmlHttp=GetXmlHttpObject();
	targetID = outputTarget;
	var url = '';
	var params = '';
	
	if (xmlHttp==null)
	{
	   alert ("Your browser does not support AJAX!");
	   return;
	} 
	
	if (requestType == "GET"){
		url =  urlLocation + "?" + parameters;
	}
	else if (requestType == "POST")
	{
		url = urlLocation;
		params = getParameters(parameters);
	}
	else
	{
		alert ("The Request Type must be either GET or POST");
		return;
	}
	
	xmlHttp.onreadystatechange = ajax_stateChanged;
	xmlHttp.open(requestType,url,true);
	
	if (requestType == "POST")
	{
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.setRequestHeader("Content-length", params.length);
		xmlHttp.setRequestHeader("Connection", "close");
		xmlHttp.send(params);
	}
	else{
		xmlHttp.send(null);
	}
	
	if (waitingArea != '' && waitingArea != null)
		document.getElementById(waitingArea).style.backgroundColor = "#ffffff";
}


function fileUpload_ajax(fieldname, urlLocation, outputTarget)
{ 

	xmlHttp=GetXmlHttpObject();
	targetID = outputTarget;
	
	var filename = document.getElementById(fieldname).value;
	
	var boundaryString = 'wyze';
	var boundary = '--' + boundaryString;
	var requestbody = boundary + '\n' 
	+ 'Content-Disposition: form-data; name="'+ fieldname +'"; filename="'+ filename +'" \n' 
	+ 'Content-Type: application/octet-stream \n' 
	
	+ 'Content-Type: $mimetype'
	+ boundary;

	xmlHttp.onreadystatechange=ajax_stateChanged;
	xmlHttp.open('POST',urlLocation,true);
	
	xmlHttp.setRequestHeader("Content-type", "multipart/form-data, boundary="+boundaryString+" \n");
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.setRequestHeader("Content-Length", requestbody.length);
	
	xmlHttp.send(requestbody);
	alert(requestbody);	
	

}

function ajax_stateChanged() 
{ 
	if (xmlHttp.readyState==4)
	{ 			
		if(targetID == '')
			window.location.reload();
		else if(targetID == 'multiIDs')
			eval(xmlHttp.responseText);
		else
			document.getElementById(targetID).innerHTML=xmlHttp.responseText;
	}
}

function getParameters(formID)
{
	var Parameters = '';
	var elem;
	
	if (document.getElementById(formID) == null)
	{
		return formID;
	}
	else
	{
		elem = document.getElementById(formID).elements;
		
		for(var i = 0; i < elem.length; i++)
		{
			//TYPE
			//str += "<b>Type:</b>" + elem[i].type + "&nbsp&nbsp";
			//NAME
			Parameters += elem[i].name;
			Parameters += "=";
			//VALUE
			Parameters += elem[i].value;
			Parameters += "&";
		}
		
		return Parameters;
	}
}
