/*
	THIS LIBRARY HAD BEEN MODIFIED FOR IE6 COMPATIBILITY.
	CHANGES WERE MADE BY: TAREK ORABI ON 10/16/2008 AT 9:16PM-CST
	
	!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
	WARNING WARNING WARNING WARNING WARNING WARNING WARNING
	DO NOT MAKE ANY CHAGES WITHOUT CONSULTING WITH TAREK ORABI (tarek71@gmail.com)
	!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
*/
var xmlHTTP_VERSIONS = new Array('MSXML2.XMLHTTP.6.0', 'MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHttp');
var xml_text;
var ajax_output;
var strHref = window.location.href;
var ajax_path;

if (strHref.indexOf("www") > -1 )
		{
				ajax_path="http://www.shortlister.net/";
		}
	else
		{
				ajax_path="http://shortlister.net/";
		}	

var ERROR_ON_PAGE = false;
var ERROR_ON_BID = false;
var ERROR_ON_SOL = false;
var ERROR_ON_SER = false;
var CSI_LOADED = false;



// Images 
var WAIT_IMG = '<img src=' + ajax_path + 'images/wait.gif' + '  border=0 style="vertical-align: bottom">';
var ERROR_IMG = '<img src=' + ajax_path + 'images/error.gif' + '  border=0 style="vertical-align: bottom">';
var OK_IMG = '<img src=' + ajax_path + 'images/ok.gif' + '  border=0 style="vertical-align: bottom">';
var DEL_IMG = '<img src=' + ajax_path + 'images/del.gif' + '  border=0 style="vertical-align: bottom">';
var INFO_IMG= '<img src=' + ajax_path + 'images/info.gif' + '  border=0 style="vertical-align: bottom">';
var WORKING_IMG= '<img src=' + ajax_path + 'images/working.gif' + '  border=0 style="vertical-align: middle">';
var SUBMITTING_IMG= '<img src=' + ajax_path + 'images/submitting.gif' + '  border=0 style="vertical-align: middle">';
var DUP_IMG= '<img src=' + ajax_path + 'images/dup.gif' + '  border=0 style="vertical-align: middle">';
var DBQ_IMG= '<img src=' + ajax_path + 'images/qry.gif' + '  border=0 style="vertical-align: middle">';
var LOADING_IMG= '<img src=' + ajax_path + 'images/loading.gif' + '  border=0 style="vertical-align: middle">';
var DOWNLOADOK_IMG= '<img src=' + ajax_path + 'images/downloadok.gif' + '  border=0 style="vertical-align: middle">';
// Initializes XMLHttpRequest Object ###################################################################################################

function GetXmlHttpObject()
{
	// Removed inside this function from being a global.
	var xmlHttp=null;	
	try
	 {
	        xmlHttp = new XMLHttpRequest();
	 }

	catch(e)
	 {
	        for(var i=0; i<xmlHTTP_VERSIONS.length && !xmlHttp; ++i)
		 {
		        try
		        {
		        	xmlHttp = new ActiveXObject(xmlHTTP_VERSIONS[i]);
		        }
                        catch(e) {}
		 }
	 }

	 if(!xmlHttp)
	  {
	        alert('Error creating the XMLHttpRequest Object');
	        return;
	  }
	 else
	  {
	        return xmlHttp;
	  }
}
// *********************************************************************************************************************************************************
function ajax_GetZipCodeDetails(_zip)
{
		xmlHttp_GetZipCodeDetails=GetXmlHttpObject();
		if (xmlHttp_GetZipCodeDetails==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

		if(_zip.length == 0)
		{
			return;	
		}

		var params = "ZIP=" + _zip;
				params += "&sid=" + Math.random();

		var url = ajax_path + "wrk/doGetZipCodeDetails.php";
	    		xmlHttp_GetZipCodeDetails.open("POST", url, true);
				xmlHttp_GetZipCodeDetails.onreadystatechange=state_getzipcodedetails;
				xmlHttp_GetZipCodeDetails.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_GetZipCodeDetails.setRequestHeader("Content-length", params.length);
	    		xmlHttp_GetZipCodeDetails.setRequestHeader("Connection", "close");
				xmlHttp_GetZipCodeDetails.send(params);
}

function state_getzipcodedetails()
{
	switch(xmlHttp_GetZipCodeDetails.readyState)
	 {
		case 1:
		case 2:
		case 3:
				document.getElementById('ACC_CITY').className = "ajax_output";
				document.getElementById('ACC_STATE').className = "ajax_output";
		break;

		case 4:
			var text_xml = xmlHttp_GetZipCodeDetails.responseText;
						
						var xml_fields = text_xml.split("|");
							//document.getElementById('ACC_ZIP').value = xml_fields[0];
							document.getElementById('ACC_CITY').value = xml_fields[1];
							document.getElementById('ACC_STATE').value = xml_fields[2];
							document.getElementById('ACC_CITY').className = "required_field";
							document.getElementById('ACC_STATE').className = "required_field";
							
		break;
	 }
}
// *********************************************************************************************************************************************************
function ajax_ValidateEmail(_email)
     {
		xmlHttp_ValidateEmail=GetXmlHttpObject();
		if (xmlHttp_ValidateEmail==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

		if(_email.length == 0)
		{
			return;	
		}

		var params = "EMAIL=" + _email;
				params += "&sid=" + Math.random();


		var url = ajax_path + "wrk/doValidateEmail.php";
	    		xmlHttp_ValidateEmail.open("POST", url, true);
				xmlHttp_ValidateEmail.onreadystatechange=state_validateemail;
	    		xmlHttp_ValidateEmail.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_ValidateEmail.setRequestHeader("Content-length", params.length);
	    		xmlHttp_ValidateEmail.setRequestHeader("Connection", "close");
				xmlHttp_ValidateEmail.send(params);
     }

function state_validateemail()
      {
	
		switch(xmlHttp_ValidateEmail.readyState)
		 {

			case 1:
			case 2:
			case 3:
				document.getElementById('ACC_EMAIL').className = "ajax_output";
			break;

			case 4:
				
	       		xml_text = xmlHttp_ValidateEmail.responseText;
	       		//xml_text_parsed = xml_text.indexOf('_');

	       		if(xml_text  == "OK")
	       		 {
						document.getElementById('ACC_EMAIL').className = "required_field";
						ERROR_ON_PAGE = false;
				 }
           		else
           		 {
						document.getElementById('ACC_EMAIL').className = "ajax_invalid_field";
						ERROR_ON_PAGE = true;
				}
			break;
		 }

     }
// ####################################################################################################################################
function ajax_LoadCSI(_mode)
{
	xmlHttp_LoadCSI=GetXmlHttpObject();
	if (xmlHttp_LoadCSI==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }


	if(document.getElementById('ACC_PROF_TYPE'))
	 {
				var _type = document.getElementById('ACC_PROF_TYPE').value;
				switch(_mode)
				 {
					case "profile_update":
						var url = ajax_path + "wrk/doListCSICodes.php?mode=" + _mode + "&sid=" + Math.random(); 
					break;
					 
					case "edit":
						if(document.getElementById('ACC_PROF_TYPE').value.length == 0)
						 {
							 jsf_ShowObj('div_CSI','no');
							alert('You must select what type of solicitor you are before you select the professionals you would like estimate for'); 
							return false; 
						 }
						 
						var url = ajax_path + "wrk/doListCSICodes.php?mode=" + _mode + "&sid=" + Math.random(); 
						 //var url = ajax_path + "wrk/doListCSICodes.php?mode=" + _mode + "&type=" + _type + "&sid=" + Math.random();
					break;
					
					case "new_sol":
						if(document.getElementById('ACC_PROF_TYPE').value.length == 0)
						 {
							 jsf_ShowObj('div_CSI','no');
							alert('You must select what type of solicitor you are before you select the professionals you would like estimate for'); 
							return false; 
						 }
						 var url = ajax_path + "wrk/doListCSICodes.php?mode=" + _mode + "&type=" + _type + "&sid=" + Math.random();
					break;
			
			
					case "new":
					/*
						if(document.getElementById('ACC_PROF_TYPE').value.length == 0)
						 {
							 jsf_ShowObj('div_CSI','no');
							alert('You must select what type of solicitor are you before you select the professionals you would like estimate for'); 
							return false; 
						 }
					*/
						 var url = ajax_path + "wrk/doListCSICodes.php?mode=" + _mode + "&sid=" + Math.random(); 
					break;
					
					case "update":
						 var _bid = document.getElementById('BID').value;
						 var url = ajax_path + "wrk/doListCSICodes.php?mode=" + _mode + "&bid=" + _bid + "&sid=" + Math.random(); 
					break;
					 
				 }
		 
	 }
	else
	 {
		 	var url = ajax_path + "wrk/doListCSICodes.php?mode=" + _mode + "&type=" + _type + "&sid=" + Math.random();
	 }

		xmlHttp_LoadCSI.open("GET", url, true);
        xmlHttp_LoadCSI.onreadystatechange = function() { state_listcsicodes(_mode) }; //state_GetInfo(dest); state_listcsicodes;
        xmlHttp_LoadCSI.send(null);
}

function state_listcsicodes(_mode)
      {
		jsf_ShowObj('div_CSI','yes');
		//jsf_EnableSubWindow('div_CSI'); 
		jsf_CenterObject('div_CSI');
		switch(xmlHttp_LoadCSI.readyState)
		 {

			case 1:
			case 2:
			case 3:
				document.getElementById('div_CSI').innerHTML = WAIT_IMG + "<br /><a href=\"javascript:void(null);\" onclick=\"ajax_LoadCSI('" + _mode + "');\">If you don`t see data within 5 seconds, then click here</a>";
			break;

			case 4:
	       		xml_text = xmlHttp_LoadCSI.responseText;
				CSI_LOADED =true;
				document.getElementById('div_CSI').innerHTML = xml_text;
				//document.getElementById('html_dump').value = xml_text;
			break;
		 }

     }
// ####################################################################################################################################
function ajax_CalcRadius()
{
		xmlHttp_CalcRadius=GetXmlHttpObject();
		if (xmlHttp_CalcRadius==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

		var _zip = document.getElementById('ACC_ZIP').value;
		var _rad = document.getElementById('ACC_RADIUS').value;
		
		if(_zip.length == 0 || _rad.length == 0)
		{
			alert('Zip code and/or maximum distance are missing');
			return;	
		}

		var params = "ZIP=" + _zip;
			   params += "&RAD=" + _rad;	
				params += "&sid=" + Math.random();

		var url = ajax_path + "wrk/doCalcRadius.php";
	    		xmlHttp_CalcRadius.open("POST", url, true);
				xmlHttp_CalcRadius.onreadystatechange=state_Calcradius;
	    		xmlHttp_CalcRadius.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_CalcRadius.setRequestHeader("Content-length", params.length);
	    		xmlHttp_CalcRadius.setRequestHeader("Connection", "close");
				xmlHttp_CalcRadius.send(params);
     }

function state_Calcradius()
      {
	
		jsf_ShowObj('div_RADIUS_RESULTS','yes');
		jsf_CenterObject('div_RADIUS_RESULTS'); 
		switch(xmlHttp_CalcRadius.readyState)
		 {

			case 1:
			case 2:
			case 3:
				document.getElementById('div_RADIUS_RESULTS').className = "ajax_output";
			break;

			case 4:
				
	       		xml_text = xmlHttp_CalcRadius.responseText;
	       		//xml_text_parsed = xml_text.indexOf('_');
				document.getElementById('div_RADIUS_RESULTS').className = '';
				document.getElementById('div_RADIUS_RESULTS').innerHTML = xml_text;
			break;
		 }

     }
// ####################################################################################################################################
function ajax_SubmitRegistration()
{
		xmlHttp_SubmitRegistration=GetXmlHttpObject();
		if (xmlHttp_SubmitRegistration==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

				if(ERROR_ON_SER == true || ERROR_ON_SOL == true || ERROR_ON_BID == true || ERROR_ON_PAGE == true)
				{
					document.getElementById('div_Stat').innerHTML = ERROR_IMG + " One or more errors were found. Please fix";
					return;	
				}


				var captcha_code = document.getElementById('captcha_code').value;
				var captcha_sec_code = document.getElementById('captcha_sec_code').value;
				 if(captcha_code != captcha_sec_code)
				  {
						document.getElementById('div_Terms_Conditions_Status').innerHTML = ERROR_IMG;	
						document.getElementById('div_Stat').innerHTML = ERROR_IMG + " Incorrect Validation Code.";
						setTimeout('ajax_MakeCaptcha()',500);
						return;
				  }
				  

			if(document.getElementById('ACK_SIGN').checked == false)
			 {
				document.getElementById('div_Terms_Conditions_Status').innerHTML = ERROR_IMG;	
				document.getElementById('div_Stat').innerHTML = ERROR_IMG + " You must read and agree to terms and conditions.";
				return;
			 }
				  
		document.getElementById('div_Selections_Status').innerHTML = '';
		if(ERROR_ON_SER == false && ERROR_ON_SOL == false && ERROR_ON_BID == false && ERROR_ON_PAGE == false)
		{
				document.getElementById('div_Stat').innerHTML = OK_IMG;
		}
		else
		{
			return;	
		}
		
	var n=0;	
	var params;
	var THIS_FORM;
	var THIS_FORM_OBJ;
	var THIS_OBJ;
	var _email = document.getElementById('ACC_EMAIL').value;
	
	for(i=0; i<DATA_FORMS.length; i++)
	{
		THIS_FORM = DATA_FORMS[i];
		THIS_FORM_OBJ = document.getElementById(THIS_FORM);
		for(var el=0; el<THIS_FORM_OBJ.elements.length; el++)
			{
				THIS_OBJ = document.getElementById(THIS_FORM_OBJ[el].id).value;
				if(document.getElementById(THIS_FORM_OBJ[el].id).type == "checkbox")
				{
					
				}
				else
				{
					if(params == null)
					 {
						 params = THIS_FORM_OBJ[el].id + '=' + THIS_OBJ;
					 }
					else
					 {
						 params += '&' + THIS_FORM_OBJ[el].id + '=' + THIS_OBJ;
					 }
				}
			}
	}
		params += "&sid=" + Math.random();
		//document.getElementById('div_Stat').innerHTML = params;

		var url = ajax_path + "wrk/doSubmitRegistration.php";

	    		xmlHttp_SubmitRegistration.open("POST", url, true);
				xmlHttp_SubmitRegistration.onreadystatechange=function() { state_SubmitRegistration(_email) }; //state_GetInfo(dest);
	    		xmlHttp_SubmitRegistration.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_SubmitRegistration.setRequestHeader("Content-length", params.length);
	    		xmlHttp_SubmitRegistration.setRequestHeader("Connection", "close");
				xmlHttp_SubmitRegistration.send(params);
}

function state_SubmitRegistration(_email)
{
	
	switch(xmlHttp_SubmitRegistration.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_Stat').innerHTML = SUBMITTING_IMG + " Submitting ... Please wait.";
			break;

			case 4:
	       		xml_text = xmlHttp_SubmitRegistration.responseText;
				switch(xml_text)
				 {
						case "OK":
							window.opener.location.href="http://www.shortlister.net/content/?mode=reg";
							document.getElementById('div_Stat').innerHTML = "";
							alert('Your account was successfully created, an email with instructions on how to access your account was sent to ' + _email);
							setTimeout('window.close()',1000);
						break;
						
						case "DUP":
							document.getElementById('div_Stat').innerHTML = "";
							alert('Our records indicated that an existing account under email ' + _email + ' has already been established.');
						break;
						
						default:
							//document.getElementById('div_Stat').innerHTML = ERROR_IMG + " We are sorry, but an error occured while attempting to create your account";	 
							document.getElementById('div_Stat').innerHTML = xml_text;
						break;
				 }
			break;
		 }
}
// ####################################################################################################################################
// ####################################################################################################################################
function ajax_SubmitRegistrationGuest()
{
		xmlHttp_SubmitRegistration=GetXmlHttpObject();
		if (xmlHttp_SubmitRegistration==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

				if(ERROR_ON_SER == true || ERROR_ON_PAGE == true)
				{
					document.getElementById('div_Stat').innerHTML = ERROR_IMG + " One or more errors were found. Please fix";
					return;	
				}


				var captcha_code = document.getElementById('captcha_code').value;
				var captcha_sec_code = document.getElementById('captcha_sec_code').value;
				 if(captcha_code != captcha_sec_code)
				  {
						document.getElementById('div_Terms_Conditions_Status').innerHTML = ERROR_IMG;	
						document.getElementById('div_Stat').innerHTML = ERROR_IMG + " Incorrect Validation Code.";
						setTimeout('ajax_MakeCaptcha()',500);
						return;
				  }
				  
		
	var n=0;	
	var params;
	var THIS_FORM;
	var THIS_FORM_OBJ;
	var THIS_OBJ;
	var _email = document.getElementById('ACC_EMAIL').value;
	
	for(i=0; i<DATA_FORMS.length; i++)
	{
		THIS_FORM = DATA_FORMS[i];
		THIS_FORM_OBJ = document.getElementById(THIS_FORM);
		for(var el=0; el<THIS_FORM_OBJ.elements.length; el++)
			{
				THIS_OBJ = document.getElementById(THIS_FORM_OBJ[el].id).value;
				if(document.getElementById(THIS_FORM_OBJ[el].id).type == "checkbox")
				{
					
				}
				else
				{
					if(params == null)
					 {
						 params = THIS_FORM_OBJ[el].id + '=' + THIS_OBJ;
					 }
					else
					 {
						 params += '&' + THIS_FORM_OBJ[el].id + '=' + THIS_OBJ;
					 }
				}
			}
	}
		params += "&sid=" + Math.random();
		//document.getElementById('div_Stat').innerHTML = params;

		var url = ajax_path + "wrk/doSubmitRegistration_Guest.php";

	    		xmlHttp_SubmitRegistration.open("POST", url, true);
				xmlHttp_SubmitRegistration.onreadystatechange=function() { state_SubmitRegistrationGuest(_email) }; //state_GetInfo(dest);
	    		xmlHttp_SubmitRegistration.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_SubmitRegistration.setRequestHeader("Content-length", params.length);
	    		xmlHttp_SubmitRegistration.setRequestHeader("Connection", "close");
				xmlHttp_SubmitRegistration.send(params);
}

function state_SubmitRegistrationGuest(_email)
{
	
	switch(xmlHttp_SubmitRegistration.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_Stat').innerHTML = SUBMITTING_IMG + " Submitting ... Please wait.";
			break;

			case 4:
	       		xml_text = xmlHttp_SubmitRegistration.responseText;
				switch(xml_text)
				 {
						case "OK":
						var url = ajax_path + "new/account/solicit/form/index_guest.php";
	    				xmlHttp_SubmitRegistration.open("POST", url, true);						
						break;
						
						case "DUP":
							document.getElementById('div_Stat').innerHTML = "";
							alert('Our records indicated that an existing account under email ' + _email + ' has already been established. Please use another Email Address');
						break;
						
						default:
							//document.getElementById('div_Stat').innerHTML = ERROR_IMG + " We are sorry, but an error occured while attempting to create your account";	 
							document.getElementById('div_Stat').innerHTML = xml_text;
						break;
				 }
			break;
		 }
}
// ####################################################################################################################################

function ajax_UpdateAccount()
{
		xmlHttp_UpdateAccount=GetXmlHttpObject();
		if (xmlHttp_UpdateAccount==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

				if(ERROR_ON_SER == true || ERROR_ON_SOL == true || ERROR_ON_BID == true || ERROR_ON_PAGE == true)
				{
					document.getElementById('div_Stat').innerHTML = ERROR_IMG + " One or more errors were found. Please fix";
					return;	
				}

				var _password = document.getElementById('ACC_PASSWORD').value;
				var _password_confirm = document.getElementById('ACC_PASSWORD_CONFIRM').value;
				 if(_password != _password_confirm)
				  {
						document.getElementById('div_Terms_Conditions_Status').innerHTML = ERROR_IMG;	
						document.getElementById('div_Stat').innerHTML = ERROR_IMG + " Password value must be the same.";
						return;
				  }


			if(document.getElementById('ACK_SIGN').checked == false)
			 {
				document.getElementById('div_Terms_Conditions_Status').innerHTML = ERROR_IMG;	
				document.getElementById('div_Stat').innerHTML = ERROR_IMG + " You must read and agree to terms and conditions.";
				return;
			 }
				  
		document.getElementById('div_Selections_Status').innerHTML = '';
		if(ERROR_ON_SER == false && ERROR_ON_SOL == false && ERROR_ON_BID == false && ERROR_ON_PAGE == false)
		{
				document.getElementById('div_Stat').innerHTML = OK_IMG;
		}
		else
		{
			return;	
		}
		
	var n=0;	
	var params;
	var THIS_FORM;
	var THIS_FORM_OBJ;
	var THIS_OBJ;
	var _email = document.getElementById('ACC_EMAIL').value;
	
	for(i=0; i<DATA_FORMS.length; i++)
	{
		
		THIS_FORM = DATA_FORMS[i];
		THIS_FORM_OBJ = document.getElementById(THIS_FORM);

		for(var el=0; el<THIS_FORM_OBJ.elements.length; el++)
			{
				THIS_OBJ = document.getElementById(THIS_FORM_OBJ[el].id).value;
				if(document.getElementById(THIS_FORM_OBJ[el].id).type == "checkbox" )
				{
		
				}
				else
				{
					if(params == null)
					 {
						 params = THIS_FORM_OBJ[el].id + '=' + THIS_OBJ;
					 }
					else
					 {
						 params += '&' + THIS_FORM_OBJ[el].id + '=' + THIS_OBJ;
					 }
					
				}
			}
	}
		params += "&sid=" + Math.random();

		var url = ajax_path + "wrk/doUpdateAccount.php";
	    		xmlHttp_UpdateAccount.open("POST", url, true);
				xmlHttp_UpdateAccount.onreadystatechange=state_UpdateAccount; //state_GetInfo(dest);
	    		xmlHttp_UpdateAccount.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_UpdateAccount.setRequestHeader("Content-length", params.length);
	    		xmlHttp_UpdateAccount.setRequestHeader("Connection", "close");
				xmlHttp_UpdateAccount.send(params);
}

function state_UpdateAccount()
{
	
	switch(xmlHttp_UpdateAccount.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_Stat').innerHTML = SUBMITTING_IMG + " Updating ... Please wait.";
			break;

			case 4:
	       		xml_text = xmlHttp_UpdateAccount.responseText;
				switch(xml_text)
				 {
						case "OK":
							document.getElementById('div_Stat').innerHTML = " ";
							alert('Your account was successfully updated.');
						break;
						
						default:
							document.getElementById('div_Stat').innerHTML = "";
							alert('We are sorry, but an error occured while attempting to create your account.');
						break;
				 }
			break;
		 }
}
// ####################################################################################################################################
function ajax_CancelAccount()
{
		xmlHttp_CancelAccount=GetXmlHttpObject();
		if (xmlHttp_CancelAccount==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

		var msg = "By canceling your account you are eliminating your accessibility to Shortlister.  Once your account is canceled you will no longer have administration rights to your account. \r\n\r\n";
				msg +=" Are you sure you want to cancel your account?";
				
		if(!(confirm(msg)))
		 {
				return; 
		 }

		var url = ajax_path + "wrk/doCancelAccount.php";
			xmlHttp_CancelAccount.open("GET", url, true);
			xmlHttp_CancelAccount.onreadystatechange = state_CancelAccount;
			xmlHttp_CancelAccount.send(null);
}

function state_CancelAccount()
{
	
	switch(xmlHttp_CancelAccount.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_Stat').innerHTML = SUBMITTING_IMG + " Canceling Account ... Please wait.";
			break;

			case 4:
	       		xml_text = xmlHttp_CancelAccount.responseText;
				if(xml_text == "OK")
				 {
					window.location.href='http://shortlister.net/content/account/manage/?mode=cancel';
				 }
				else
				 {
					document.getElementById('div_Stat').innerHTML = " ";
					alert('An error occured while attempting to cancel your account.');
				 }
			break;
		 }
}
// ####################################################################################################################################
function ajax_Login()
{
		xmlHttp_Login=GetXmlHttpObject();
		if (xmlHttp_Login==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

		var _uid = document.getElementById('USER_NAME').value;
		var _pw = document.getElementById('USER_PASSWORD').value;
		
		if(_uid.length == 0 || _pw.length == 0)
		{
			alert('Missing or Invalid Login Credentials.');
			return;	
		}
		
		var _url = window.location.href;
		
		var params = "USER_NAME=" + _uid;
			   params += "&USER_PASSWORD=" + _pw;	
			   params += "&REDIRECT=" + _url;	
				params += "&sid=" + Math.random();

		var url = ajax_path + "wrk/doLogin.php";
		   		xmlHttp_Login.open("POST", url, true);
				xmlHttp_Login.onreadystatechange=  function() { state_doLogin(_url)}; //state_doLogin;
	    		xmlHttp_Login.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_Login.setRequestHeader("Content-length", params.length);
	    		xmlHttp_Login.setRequestHeader("Connection", "close");
				xmlHttp_Login.send(params);
     }

function state_doLogin(URL)
      {
	
		switch(xmlHttp_Login.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_Login_Progress').innerHTML = WORKING_IMG + " Authenticating .....";
			break;

			case 4:
				
	       		xml_text = xmlHttp_Login.responseText;
				if(xml_text == "ERROR")
				 {
					 document.getElementById('div_Login_Progress').innerHTML = ERROR_IMG + " Authentication Failed ";
				 }
				else
				 {
					//document.getElementById('div_Login_Stat').innerHTML = xml_text;
					ajax_CheckAuthenticationSession();
					window.location.reload(true);
				 }
			break;
		 }
     }
// ####################################################################################################################################
function ajax_Login_Guest()
{
		xmlHttp_Login=GetXmlHttpObject();
		if (xmlHttp_Login==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

		var _uid = document.getElementById('USER_NAME').value;
		var _pw = document.getElementById('USER_PASSWORD').value;
		
		if(_uid.length == 0 || _pw.length == 0)
		{
			alert('Missing or Invalid Login Credentials.');
			return;	
		}
		
		var _url = window.location.href;
		
		var params = "USER_NAME=" + _uid;
			   params += "&USER_PASSWORD=" + _pw;	
			   params += "&REDIRECT=" + _url;	
				params += "&sid=" + Math.random();

		var url = ajax_path + "wrk/doLoginGuest.php";
		   		xmlHttp_Login.open("POST", url, true);
				xmlHttp_Login.onreadystatechange=  function() { state_doLoginGuest(_url)}; //state_doLogin;
	    		xmlHttp_Login.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_Login.setRequestHeader("Content-length", params.length);
	    		xmlHttp_Login.setRequestHeader("Connection", "close");
				xmlHttp_Login.send(params);
     }

function state_doLoginGuest(URL)
      {
	
		switch(xmlHttp_Login.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_Login_Progress').innerHTML = WORKING_IMG + " Authenticating .....";
			break;

			case 4:
				
	       		xml_text = xmlHttp_Login.responseText;
				if(xml_text == "ERROR")
				 {
					 document.getElementById('div_Login_Progress').innerHTML = ERROR_IMG + " Authentication Failed ";
				 }
				else
				 {
					//document.getElementById('div_Login_Stat').innerHTML = xml_text;
					ajax_CheckAuthenticationSession();
					window.location.reload(true);
				 }
			break;
		 }
     }
// ####################################################################################################################################

function ajax_Logout()
{
		xmlHttp_Logout=GetXmlHttpObject();
		if (xmlHttp_Logout==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

		if(!confirm('Are you sure you want to log out?'))
		 {
			return; 
		 }

		var url = ajax_path + "wrk/doLogout.php";
				xmlHttp_Logout.open("GET", url, true);
				xmlHttp_Logout.onreadystatechange = state_doLogout;
				xmlHttp_Logout.send(null);
     }

function state_doLogout()
      {
	
		switch(xmlHttp_Logout.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_Login_Stat').innerHTML = WORKING_IMG + " Logging Out .....";
			break;

			case 4:
				
	       		xml_text = xmlHttp_Logout.responseText;
				if(xml_text == "ERROR")
				 {
					 document.getElementById('div_Login_Stat').innerHTML = ERROR_IMG + " Logout Failed ";
				 }
				else
				 {
					document.getElementById('div_Login_Stat').innerHTML = xml_text;
					setTimeout('ajax_CheckAuthenticationSession()',1000);
					//window.location.reload(true);
				 }
			break;
		 }
     }
// ####################################################################################################################################
function ajax_CheckAuthenticationSession()
{
	xmlHttp_CheckAuthenticationSession=GetXmlHttpObject();
	if (xmlHttp_CheckAuthenticationSession==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }


        var url = ajax_path + "wrk/doCheckAuthenticationSession.php?sid=" + Math.random();
			xmlHttp_CheckAuthenticationSession.open("GET", url, true);
			xmlHttp_CheckAuthenticationSession.onreadystatechange = state_CheckAuthenticationSession;
			xmlHttp_CheckAuthenticationSession.send(null);
}

function state_CheckAuthenticationSession()
      {
		
		switch(xmlHttp_CheckAuthenticationSession.readyState)
		 {
			case 1:
			case 2:
			case 3:
				if(document.getElementById('div_Login_Stat'))
				{
					document.getElementById('div_Login_Stat').innerHTML = '';
				}
			break;

			case 4:
	       		xml_text = xmlHttp_CheckAuthenticationSession.responseText;
				document.getElementById('div_Login_Stat').innerHTML = '';
				//document.getElementById('div_Login').innerHTML = xml_text;
				document.getElementById('div_Login_Stat').innerHTML = xml_text;
			break;
		 }
     }
// ####################################################################################################################################
function ajax_MakeCaptcha()
{
	xmlHttp_MakeCaptcha=GetXmlHttpObject();
	if (xmlHttp_MakeCaptcha==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }


        var url = ajax_path + "wrk/doMakeCaptcha.php?sid=" + Math.random();
			xmlHttp_MakeCaptcha.open("GET", url, true);
			xmlHttp_MakeCaptcha.onreadystatechange = state_MakeCaptcha;
			xmlHttp_MakeCaptcha.send(null);
}

function state_MakeCaptcha()
{
/*
			document.getElementById('link2').style.display='inline';
			document.getElementById('link3').style.display='inline';
			document.getElementById('link4').style.display='inline';
			document.getElementById('link5').style.display='inline';
			jsf_SelectTab('5','5');
			jsf_ShowObj('div_captcha','yes'); 
*/			
	switch(xmlHttp_MakeCaptcha.readyState)
	 {
		case 1:
		case 2:
		case 3:
				document.getElementById('div_Captcha').innerHTML = WAIT_IMG;
		break;

		case 4:
			var text_xml = xmlHttp_MakeCaptcha.responseText;
			document.getElementById('div_Captcha').innerHTML = text_xml;
		break;
	 }
}
// ####################################################################################################################################
function ajax_RecoverPassword()
{
	xmlHttp_RecoverPassword=GetXmlHttpObject();
	if (xmlHttp_RecoverPassword==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }

		var _email = document.getElementById('email_pw').value;
		if(_email.length == 0)
		 {
				document.getElementById('div_recovery_status').innerHTML = + "";
				alert('Please enter a valid email address');
				return;
		 }

        var url = ajax_path + "wrk/doRecoverPassword.php?email=" + _email + "&sid=" + Math.random();
			xmlHttp_RecoverPassword.open("GET", url, true);
			xmlHttp_RecoverPassword.onreadystatechange = state_RecoverPassword;
			xmlHttp_RecoverPassword.send(null);
}

function state_RecoverPassword()
      {
		
		switch(xmlHttp_RecoverPassword.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_recovery_status').innerHTML = WAIT_IMG + ' Recovering Password ... Please Wait ';
			break;

			case 4:
	       		xml_text = xmlHttp_RecoverPassword.responseText.split("#");
				document.getElementById('div_recovery_status').innerHTML = xml_text[0];
				if(xml_text[0] == "OK")
					{
						alert('Thank you. Your password was sent to your email');
						//jsf_ShowObj('div_Password_Recovery','no');
						jsf_EnableMainWindow('div_Password_Recovery'); 
						jsf_ShowObj('div_Password_Recovery','no');
					}
				else
					{
						jsf_ShowObj('div_Password_Recovery','no');
						alert(xml_text[1]);
					}
			break;
		 }

     }
// ####################################################################################################################################
function ajax_list_docs_by_sub(_sub)
{
	xmlHttp_list_docs_by_sub=GetXmlHttpObject();
	if (xmlHttp_list_docs_by_sub==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }


        var url = ajax_path + "demo/upload/list_docs_by_sub.php?DIR=" + _sub + "&sid=" + Math.random();
			xmlHttp_list_docs_by_sub.open("GET", url, true);
			xmlHttp_list_docs_by_sub.onreadystatechange = state_list_docs_by_sub;
			xmlHttp_list_docs_by_sub.send(null);
}

function state_list_docs_by_sub()
      {
		
		switch(xmlHttp_list_docs_by_sub.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('Files').innerHTML = "Listing ...";
			break;

			case 4:
				xml_text = xmlHttp_list_docs_by_sub.responseText;
				document.getElementById('Files').innerHTML = xml_text;
			break;
		 }
     }
// ####################################################################################################################################
function ajax_navigate(month,year,mode)
{
	xmlHttp_navigate=GetXmlHttpObject();
	if (xmlHttp_navigate==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }

		 var url = ajax_path + "wrk/doShowCalendar.php?month="+month+"&year="+year;
			xmlHttp_navigate.open("GET", url, true);
			xmlHttp_navigate.onreadystatechange = state_navigate;
			xmlHttp_navigate.send(null);
}

function state_navigate()
{
	ajax_output = "div_calendar";
	switch(xmlHttp_navigate.readyState)
	 {
		case 1:
		case 2:
		case 3:
			document.getElementById(ajax_output).innerHTML = WAIT_IMG + " Loading Calendar .... ";
		break;

		case 4:
			document.getElementById(ajax_output).innerHTML = xmlHttp_navigate.responseText;
		break;
	 }
}
// ####################################################################################################################################	 
function ajax_ValidateProfileForBidUpload(_mode, _path)	
{	
	xmlHttp_ValidateProfileForBidUpload=GetXmlHttpObject();
	if (xmlHttp_ValidateProfileForBidUpload==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }

		if(_mode == "BID")
		 {
			 var url = ajax_path + "wrk/doValidateProfileForBidUpload.php?Mode=" + _mode + "&Bid_Doc_Path=" + _path + "&sid="+Math.random();
			  
		 }
		else
		 {
			var url = ajax_path + "wrk/doValidateProfileForBidUpload.php?sid="+Math.random();	 
		 }

		xmlHttp_ValidateProfileForBidUpload.open("GET", url, true);
        xmlHttp_ValidateProfileForBidUpload.onreadystatechange = function() { state_ValidateProfileForBidUpload(_path, _mode) }; //state_GetInfo(dest); //function { ();
        xmlHttp_ValidateProfileForBidUpload.send(null);
}

function ajax_ValidateProfileForBidUpload_iiimp(_mode, _path)	
{	
	xmlHttp_ValidateProfileForBidUpload=GetXmlHttpObject();
	if (xmlHttp_ValidateProfileForBidUpload==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }

		if(_mode == "BID")
		 {
			 var url = ajax_path + "wrk/doValidateProfileForBidUpload_iiimp.php?Mode=" + _mode + "&Bid_Doc_Path=" + _path + "&sid="+Math.random();
			  
		 }
		else
		 {
			var url = ajax_path + "wrk/doValidateProfileForBidUpload_iiimp.php?sid="+Math.random();	 
		 }

		xmlHttp_ValidateProfileForBidUpload.open("GET", url, true);
        xmlHttp_ValidateProfileForBidUpload.onreadystatechange = function() { state_ValidateProfileForBidUpload(_path, _mode) }; //state_GetInfo(dest); //function { ();
        xmlHttp_ValidateProfileForBidUpload.send(null);
}

function state_ValidateProfileForBidUpload(_path, _mode)
{
	ajax_output = "div_Upload";
	jsf_ShowObj(ajax_output, 'yes');
	switch(xmlHttp_ValidateProfileForBidUpload.readyState)
	 {
		case 1:
		case 2:
		case 3:
			document.getElementById(ajax_output).innerHTML = WAIT_IMG + " Loading Upload Class .... ";
		break;

		case 4:
			xml_text = xmlHttp_ValidateProfileForBidUpload.responseText;
			switch(xml_text)
			 {
					case "NA":
						var ACCOUNT_MANAGER_LINK = "<a href=\"javascript:void(0);\" onClick=\" jsf_ShowAccountManager();\">Here</a>";
						document.getElementById(ajax_output).innerHTML = INFO_IMG + " Your current account settings do not allow you to solicit bids.  Please update your account settings accordingly."; 
						setTimeout('jsf_UpdateINNERHTML(\'div_Upload\', \'\')', 15000);
					break;
					
					case "NL":
						document.getElementById(ajax_output).innerHTML = INFO_IMG + "<p><h2>Your are currently not logged in as a valid user. Please login then try again.</h2></p>"; 
					break;
					
					default:
						document.getElementById(ajax_output).innerHTML = xmlHttp_ValidateProfileForBidUpload.responseText; 
						if(_mode == "BID")
						{
							ajax_ListFolderContent(_path, _mode);
						}
						else
						{
							ajax_ListSolicitationUploadedFiles();	
						}
					break;
			 }
		break;
	 }
}
// ####################################################################################################################################
function ajax_SubmitBidSolicitation()
{
		xmlHttp_SubmitBidSolicitation=GetXmlHttpObject();
		if (xmlHttp_SubmitBidSolicitation==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

	var params;
	var SOLICIT_BID = new Array('ACC_ZIP|YES','ACC_CITY|YES','ACC_STATE|YES','ACC_ADDRESS|YES','ACC_SOL_TYPE|YES','ACC_CONST_CLASS|YES','ACC_PROF_TYPE|YES','ACC_PRICE_RANGE|YES','ACC_CSI_OPPT|YES','ACC_DEADLINE|YES', 'selTime|YES', 'ACC_UNION_CLASS|YES','ACC_CONTACT|YES','ACC_SUMMARY|NO');
	var r=0;
	var bid_item;
	while(r<SOLICIT_BID.length)
	  {
		 	bid_item = SOLICIT_BID[r].split("|");
			if(bid_item[1] == "YES" &&  document.getElementById(bid_item[0]).value.length == 0)
			 {
				alert('Missing one or more required field(s)');
				return;
			 }
			 
			if(params == null)
				 {
					if(document.getElementById(bid_item[0]))
					{
						params = bid_item[0]  + '=' + document.getElementById(bid_item[0]).value;
					}
				 }
				else
				 {
					if(document.getElementById(bid_item[0]))
					{
						params += "&" + bid_item[0] + '=' + document.getElementById(bid_item[0]).value; 
					}
				 }
		   r++;
	  }

		
		params += "&sid=" + Math.random();
		if(!confirm('Are you sure you want to submit this solicitation?'))
		{
			return;	
		}

				var url = ajax_path + "wrk/doSubmitBidSolicitation.php";
					xmlHttp_SubmitBidSolicitation.open("POST", url, true);
					xmlHttp_SubmitBidSolicitation.onreadystatechange=state_SubmitBidSolicitation;
					xmlHttp_SubmitBidSolicitation.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
					xmlHttp_SubmitBidSolicitation.setRequestHeader("Content-length", params.length);
					xmlHttp_SubmitBidSolicitation.setRequestHeader("Connection", "close");
					xmlHttp_SubmitBidSolicitation.send(params);
}

function state_SubmitBidSolicitation()
{
	
	switch(xmlHttp_SubmitBidSolicitation.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_Stat').innerHTML = SUBMITTING_IMG + " Submitting ... Please wait.";
			break;

			case 4:
	       		xml_text = xmlHttp_SubmitBidSolicitation.responseText;
				switch(xml_text)
				 {
					case "NA":
							document.getElementById('div_Stat').innerHTML = " ";
							alert('You must be logged in to submit a bid solicitation. ');
					break;

					case "OLD":
							document.getElementById('div_Stat').innerHTML = " ";
							alert('Bid deadline can not be a past date.');
					break;

					case "MD":
							document.getElementById('div_Stat').innerHTML = " ";
							alert('You must provide description or at upload at least one file before submitting your solicitation.');
					break;

					case "DUP":
							document.getElementById('div_Stat').innerHTML = " ";
							alert('Duplication submission attempt.');
					break;
				
					case "ERR":
						document.getElementById('div_Stat').innerHTML = ERROR_IMG;
						alert(xml_text);
					break;
					
					case "NOT_APP":
							document.getElementById('div_Stat').innerHTML = " ";
							alert('You are not signed up to bid on projects – please change your Account Profile.');
					break;
	
					default:
							document.getElementById('div_Stat').innerHTML = OK_IMG + " ";
							alert('You are almost there. Please verify your entries then click Submit.');
							jsf_ShowObj('btnSubmit','yes');
							jsf_ShowObj('btnPreview','no');
					break;
				 }
			break;
		 }
}
// ####################################################################################################################################
function ajax_UpdateBidSolicitation()
{
		xmlHttp_UpdateBidSolicitation=GetXmlHttpObject();
		if (xmlHttp_UpdateBidSolicitation==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

	var params;
	var SOLICIT_BID = new Array('ACC_ZIP|YES','ACC_CITY|YES','ACC_STATE|YES','ACC_ADDRESS|YES','ACC_SOL_TYPE|YES','ACC_CONST_CLASS|YES','ACC_PROF_TYPE|YES','ACC_PRICE_RANGE|YES','ACC_CSI_OPPT|YES','ACC_DEADLINE|YES','ACC_UNION_CLASS|YES', 'ACC_CONTACT|YES','ACC_SUMMARY|YES');
	var r=0;
	var bid_item;
	while(r<SOLICIT_BID.length)
	  {
		 	bid_item = SOLICIT_BID[r].split("|");
			if(bid_item[1] == "YES" &&  document.getElementById(bid_item[0]).value.length == 0)
			 {
				alert('Missing one or more required field(s)');
				return;
			 }
			 
		 
			if(params == null)
				 {
					if(document.getElementById(bid_item[0]))
					{
						params = bid_item[0]  + '=' + document.getElementById(bid_item[0]).value;
					}
				 }
				else
				 {
					if(document.getElementById(bid_item[0]))
					{
						params += "&" + bid_item[0] + '=' + document.getElementById(bid_item[0]).value; 
					}
				 }
		   r++;
	  }

		params += "&sid=" + Math.random();
		
		if(!confirm('Are you sure you want to finalize this solicitation?'))
		{
			return;	
		}
		
				var url = ajax_path + "wrk/doUpdateBidSolicitation.php";
	    		xmlHttp_UpdateBidSolicitation.open("POST", url, true);
				xmlHttp_UpdateBidSolicitation.onreadystatechange=state_UpdateBidSolicitation;
	    		xmlHttp_UpdateBidSolicitation.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_UpdateBidSolicitation.setRequestHeader("Content-length", params.length);
	    		xmlHttp_UpdateBidSolicitation.setRequestHeader("Connection", "close");
				xmlHttp_UpdateBidSolicitation.send(params);
}

function state_UpdateBidSolicitation()
{
	
	switch(xmlHttp_UpdateBidSolicitation.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_Stat').innerHTML = SUBMITTING_IMG + " Please wait while finalizing your project submission. DO NOT CLICK SUBMIT AGAIN.";
			break;

			case 4:
	       		xml_text = xmlHttp_UpdateBidSolicitation.responseText;
				//document.getElementById('div_Stat').innerHTML = xml_text;
				//return;
				switch(xml_text)
				 {
					case "OK":
							OBJ_FADE = "div_Stat";
							jsf_Fade(0);
							document.getElementById('div_Stat').innerHTML = " ";
							alert('Thank you, your solicitation has been finalized and posted. Please wait until you are redirected to your Account Manager.');
							document.getElementById('div_Stat').innerHTML = "Redirecting to Account Manager ...";
							setTimeout('window.location.href=\'http://shortlister.net/content/account/manage/form/\'',2000);
					break;
					
					default:
						document.getElementById('div_Stat').innerHTML = ERROR_IMG + xml_text;
					break;
				 }
			break;
		 }
}

// ####################################################################################################################################
function ajax_UpdateBidSolicitationGuest()
{
		xmlHttp_UpdateBidSolicitation=GetXmlHttpObject();
		if (xmlHttp_UpdateBidSolicitation==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

	var params;
	var SOLICIT_BID = new Array('ACC_ZIP|YES','ACC_CITY|YES','ACC_STATE|YES','ACC_ADDRESS|YES','ACC_SOL_TYPE|YES','ACC_CONST_CLASS|YES','ACC_PROF_TYPE|YES','ACC_PRICE_RANGE|YES','ACC_CSI_OPPT|YES','ACC_DEADLINE|YES','ACC_UNION_CLASS|YES', 'ACC_CONTACT|YES','ACC_SUMMARY|YES');
	var r=0;
	var bid_item;
	while(r<SOLICIT_BID.length)
	  {
		 	bid_item = SOLICIT_BID[r].split("|");
			if(bid_item[1] == "YES" &&  document.getElementById(bid_item[0]).value.length == 0)
			 {
				alert('Missing one or more required field(s)');
				return;
			 }
			 
		 
			if(params == null)
				 {
					if(document.getElementById(bid_item[0]))
					{
						params = bid_item[0]  + '=' + document.getElementById(bid_item[0]).value;
					}
				 }
				else
				 {
					if(document.getElementById(bid_item[0]))
					{
						params += "&" + bid_item[0] + '=' + document.getElementById(bid_item[0]).value; 
					}
				 }
		   r++;
	  }

		params += "&sid=" + Math.random();
		
		if(!confirm('Are you sure you want to finalize this solicitation?'))
		{
			return;	
		}
		
				var url = ajax_path + "wrk/doUpdateBidSolicitation.php";
	    		xmlHttp_UpdateBidSolicitation.open("POST", url, true);
				xmlHttp_UpdateBidSolicitation.onreadystatechange=state_UpdateBidSolicitationGuest;
	    		xmlHttp_UpdateBidSolicitation.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_UpdateBidSolicitation.setRequestHeader("Content-length", params.length);
	    		xmlHttp_UpdateBidSolicitation.setRequestHeader("Connection", "close");
				xmlHttp_UpdateBidSolicitation.send(params);
}

function state_UpdateBidSolicitationGuest()
{
	
	switch(xmlHttp_UpdateBidSolicitation.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_Stat').innerHTML = SUBMITTING_IMG + " Please wait while finalizing your project submission. DO NOT CLICK SUBMIT AGAIN.";
			break;

			case 4:
	       		xml_text = xmlHttp_UpdateBidSolicitation.responseText;
				//document.getElementById('div_Stat').innerHTML = xml_text;
				//return;
				switch(xml_text)
				 {
					case "OK":
							OBJ_FADE = "div_Stat";
							jsf_Fade(0);
							document.getElementById('div_Stat').innerHTML = " ";
							alert('Thank you, your solicitation has been finalized and posted. Please wait until you are redirected to Main Page.');
							document.getElementById('div_Stat').innerHTML = "Redirecting to Main Page ...";
							setTimeout('window.location.href=\'http://shortlister.net/solicit/redirect.php\'',2000);
					break;
					
					default:
						document.getElementById('div_Stat').innerHTML = ERROR_IMG + xml_text;
					break;
				 }
			break;
		 }
}
// ####################################################################################################################################
function ajax_ListSolicitationUploadedFiles()
{
	xmlHttp_ListSolicitationUploadedFiles=GetXmlHttpObject();
	if (xmlHttp_ListSolicitationUploadedFiles==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }

		if(!document.getElementById('div_Uploaded_Files')) return;
		 var url = ajax_path + "wrk/do_ListSolicitationUploadedFiles.php?sid=" + Math.random();
			xmlHttp_ListSolicitationUploadedFiles.open("GET", url, true);
			xmlHttp_ListSolicitationUploadedFiles.onreadystatechange = state_ListSolicitationUploadedFiles;
			xmlHttp_ListSolicitationUploadedFiles.send(null);
}

function state_ListSolicitationUploadedFiles()
{
	ajax_output = "div_Uploaded_Files";
	switch(xmlHttp_ListSolicitationUploadedFiles.readyState)
	 {
		case 1:
		case 2:
		case 3:
			document.getElementById(ajax_output).innerHTML = LOADING_IMG + " Loading Files .... ";
		break;

		case 4:
			var xml_text = xmlHttp_ListSolicitationUploadedFiles.responseText;
			document.getElementById(ajax_output).innerHTML = xml_text;
		break;
	 }
}
// ####################################################################################################################################
function ajax_ListFolderContent(_path, _mode)
{
	xmlHttp_ListFolderContent=GetXmlHttpObject();
	if (xmlHttp_ListFolderContent==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }

		//if(!document.getElementById('div_Uploaded_Files')) return;

		var url = ajax_path + "wrk/doListFolderContent.php";
		var params ="PATH=" + _path;
			  params +="&MODE=" + _mode;

		xmlHttp_ListFolderContent.open("POST", url, true);
		xmlHttp_ListFolderContent.onreadystatechange=state_ListFolderContent;
		xmlHttp_ListFolderContent.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp_ListFolderContent.setRequestHeader("Content-length", params.length);
		xmlHttp_ListFolderContent.setRequestHeader("Connection", "close");
		xmlHttp_ListFolderContent.send(params);
}

function state_ListFolderContent()
{
	ajax_output = "div_Uploaded_Files";
	switch(xmlHttp_ListFolderContent.readyState)
	 {
		case 1:
		case 2:
		case 3:
			document.getElementById(ajax_output).innerHTML = LOADING_IMG + " Loading Files .... ";
		break;

		case 4:
			var xml_text = xmlHttp_ListFolderContent.responseText;
			document.getElementById(ajax_output).innerHTML = xml_text;
		break;
	 }
}
// ####################################################################################################################################
function ajax_DeleteFile(_file_path, _path, _mode)
{
	xmlHttp_DeleteFile=GetXmlHttpObject();
	if (xmlHttp_DeleteFile==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }

		var url = ajax_path + "wrk/doDeleteFile.php?file_path=" + _file_path + "&sid=" + Math.random();
			xmlHttp_DeleteFile.open("GET", url, true);
			xmlHttp_DeleteFile.onreadystatechange = function() { state_DeleteFile(_path, _mode) };
			xmlHttp_DeleteFile.send(null);
}

function state_DeleteFile(_path, _mode)
{
	ajax_output = "div_Uploaded_Files";

	switch(xmlHttp_DeleteFile.readyState)
	 {
		case 1:
		case 2:
		case 3:
			document.getElementById(ajax_output).innerHTML = LOADING_IMG + " Deleting File .... ";
		break;

		case 4:
			var xml_text = xmlHttp_DeleteFile.responseText;
			if(xml_text == "OK")
			 {
				 switch(_mode)
				  {
					case "BID":
					case "RFI":
						 ajax_ListFolderContent(_path, _mode);
					break;
					
					default:
						ajax_ListSolicitationUploadedFiles();
					break;
				  }
			 }
			else
			 {
				 alert('Could not delete file');
			 }
		break;
	 }
}
// ####################################################################################################################################
function ajax_InitiateSolicitation()
{
	xmlHttp_InitiateSolicitation=GetXmlHttpObject();
	if (xmlHttp_InitiateSolicitation==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }

		var url = ajax_path + "wrk/doInitSolicitation.php?sid=" + Math.random();
			xmlHttp_InitiateSolicitation.open("GET", url, true);
			xmlHttp_InitiateSolicitation.onreadystatechange = state_InitiateSolicitation;
			xmlHttp_InitiateSolicitation.send(null);
}

function state_InitiateSolicitation()
{
	ajax_output = "div_Stat";
	switch(xmlHttp_InitiateSolicitation.readyState)
	 {
		case 1:
		case 2:
		case 3:
			document.getElementById(ajax_output).innerHTML = WAIT_IMG + " Loading Files .... ";
		break;

		case 4:
			var xml_text = xmlHttp_InitiateSolicitation.responseText;
			document.getElementById(ajax_output).innerHTML = OK_IMG;
		break;
	 }
}
// ####################################################################################################################################
function ajax_SendNotes()
{
	xmlHttp_SendNotes=GetXmlHttpObject();
	if (xmlHttp_SendNotes==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }

		var url = ajax_path + "wrk/doSendNotes.php?page=" + window.location.href + "&notes=" + document.getElementById('notes').value + "&sid=" + Math.random();
			xmlHttp_SendNotes.open("GET", url, true);
			xmlHttp_SendNotes.onreadystatechange = state_SendNotes;
			xmlHttp_SendNotes.send(null);
}

function state_SendNotes()
{
	ajax_output = "div_notes";
	switch(xmlHttp_SendNotes.readyState)
	 {
		case 1:
		case 2:
		case 3:
			document.getElementById(ajax_output).innerHTML = WAIT_IMG + " Sending Notes .... ";
		break;

		case 4:
			var xml_text = xmlHttp_SendNotes.responseText;
			if(xml_text == "OK")
			 {
				document.getElementById(ajax_output).innerHTML = OK_IMG + " Your notes were sent to Tarek. ";
			 }
			else
			 {
				 document.getElementById(ajax_output).innerHTML = ERROR_IMG + " Your notes were note sent to Tarek. Please try again ";
			 }
		break;
	 }
}
// ####################################################################################################################################
function ajax_SearchQuote(_output, _mode, _p)
{
	xmlHttp_SearchQuote=GetXmlHttpObject();
	if (xmlHttp_SearchQuote==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }

	var params;
	var THIS_FORM;
	var THIS_FORM_OBJ;
	var THIS_OBJ;
	
		THIS_FORM = "frmQuote"; //DATA_FORMS[i];
		THIS_FORM_OBJ = document.getElementById(THIS_FORM);

		for(var el=0; el<THIS_FORM_OBJ.elements.length; el++)
			{
				THIS_OBJ = document.getElementById(THIS_FORM_OBJ[el].id).value;
				if(document.getElementById(THIS_FORM_OBJ[el].id).type == "checkbox" || document.getElementById(THIS_FORM_OBJ[el].id).type == "radio" || document.getElementById(THIS_FORM_OBJ[el].id).type == "button")
				{
		
				}
				else
				{
							if(THIS_OBJ)
							 {
										if(THIS_OBJ.length == 0)
										 {
											 
										 }
										else
										 {
												if(params == null)
												 {
													 params = THIS_FORM_OBJ[el].id + '=' + THIS_OBJ;
												 }
												else
												 {
													 params += '&' + THIS_FORM_OBJ[el].id + '=' + THIS_OBJ;
												 }
											 
										 }
								 
							 }
				}
			}
		//params += "&sid=" + Math.random();
	  //document.getElementById("div_quote_search_results").innerHTML = params;
	  
	  		if(!(_p))
			 {
				_p = 1; 
			 }
	  
		   params +="&SORT_BY=" + document.getElementById('SORT_QUOTE').value + "&P=" + _p;

		var url = ajax_path + "wrk/doSearchQuote.php";
	    		xmlHttp_SearchQuote.open("POST", url, true);
	    		xmlHttp_SearchQuote.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				xmlHttp_SearchQuote.onreadystatechange= function() { state_SearchQuote(_output, _mode) }; 
				xmlHttp_SearchQuote.setRequestHeader("Content-length", params.length);
	    		xmlHttp_SearchQuote.setRequestHeader("Connection", "close");
				xmlHttp_SearchQuote.send(params);
}

function state_SearchQuote(_output, _mode)
{
	ajax_output = _output;
	switch(xmlHttp_SearchQuote.readyState)
	 {
		case 1:
		case 2:
		case 3:
			if(_mode == "sort")
			 {
				 document.getElementById(ajax_output).innerHTML = LOADING_IMG + " Sorting search results ... ";
			 }
			else
			 {
				document.getElementById(ajax_output).innerHTML = LOADING_IMG + " Searching database ... ";	 
			 }
			
		break;

		case 4:
			var xml_text = xmlHttp_SearchQuote.responseText;
			document.getElementById(ajax_output).innerHTML = xml_text;
		break;
	 }
}
// ####################################################################################################################################
function ajax_QuickSearchQuote(_state)
{
	xmlHttp_QuickSearchQuote=GetXmlHttpObject();
	if (xmlHttp_QuickSearchQuote==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }

   		document.getElementById('bystate').checked=true;
		jsf_ToggleRequireQueryOptions('bystate');
		document.getElementById('query_mode').value = 'ACC_STATE';
		document.getElementById('ACC_STATE').value = _state;
	   	 params ="ACC_STATE=" + _state + "&query_mode=ACC_STATE";

		var url = ajax_path + "wrk/doSearchQuote.php";
				xmlHttp_QuickSearchQuote.open("POST", url, true);
	    		xmlHttp_QuickSearchQuote.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				xmlHttp_QuickSearchQuote.onreadystatechange= state_QuickSearchQuote;
				xmlHttp_QuickSearchQuote.setRequestHeader("Content-length", params.length);
	    		xmlHttp_QuickSearchQuote.setRequestHeader("Connection", "close");
				xmlHttp_QuickSearchQuote.send(params);
}

function state_QuickSearchQuote()
{
	ajax_output = "div_quote_search_results";
	switch(xmlHttp_QuickSearchQuote.readyState)
	 {
		case 1:
		case 2:
		case 3:
			document.getElementById(ajax_output).innerHTML = LOADING_IMG + " Searching database ... ";
		break;

		case 4:
			var xml_text = xmlHttp_QuickSearchQuote.responseText;
			document.getElementById(ajax_output).innerHTML = xml_text;
		break;
	 }
}
// ####################################################################################################################################
function ajax_GetBidDetails(_bid)
{
	xmlHttp_GetBidDetails=GetXmlHttpObject();
	if (xmlHttp_GetBidDetails==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }

		params = "ACC_BID_ID=" + _bid + "&sid=" + Math.random();

		var url = ajax_path + "wrk/doGetBidDetails.php";
	    		xmlHttp_GetBidDetails.open("POST", url, true);
				xmlHttp_GetBidDetails.onreadystatechange=state_GetBidDetails;
	    		xmlHttp_GetBidDetails.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_GetBidDetails.setRequestHeader("Content-length", params.length);
	    		xmlHttp_GetBidDetails.setRequestHeader("Connection", "close");
				xmlHttp_GetBidDetails.send(params);
}

function state_GetBidDetails()
{
	ajax_output = "div_bid_details";
	switch(xmlHttp_GetBidDetails.readyState)
	 {
		case 1:
		case 2:
		case 3:
			document.getElementById(ajax_output).innerHTML = DBQ_IMG + " Retreiving Bid Details .... ";
		break;

		case 4:
			var xml_text = xmlHttp_GetBidDetails.responseText;
			document.getElementById(ajax_output).innerHTML = xml_text;
		break;
	 }
}
// ####################################################################################################################################
function ajax_CompareBids()
{
	xmlHttp_CompareBids=GetXmlHttpObject();
	if (xmlHttp_CompareBids==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }

		var BIDS = document.getElementById('bid_compare_list').value;
		if(BIDS.length == 0)
		 {
				alert('You must select at least one bid');
				return;
		 }
		
		params = "BIDS=" + BIDS + "&sid=" + Math.random();
		var url = ajax_path + "wrk/doCompareBids.php";
	    		xmlHttp_CompareBids.open("POST", url, true);
				xmlHttp_CompareBids.onreadystatechange=state_CompareBids;
	    		xmlHttp_CompareBids.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_CompareBids.setRequestHeader("Content-length", params.length);
	    		xmlHttp_CompareBids.setRequestHeader("Connection", "close");
				xmlHttp_CompareBids.send(params);
}

function state_CompareBids()
{
	ajax_output = "div_bid_compare";
	jsf_ShowObj(ajax_output,'yes');

	switch(xmlHttp_CompareBids.readyState)
	 {
		case 1:
		case 2:
		case 3:
			document.getElementById(ajax_output).innerHTML = DBQ_IMG + " Creating Comparison List .... ";
		break;

		case 4:
			var xml_text = xmlHttp_CompareBids.responseText;
			document.getElementById(ajax_output).innerHTML = xml_text;
		break;
	 }
}
// ####################################################################################################################################
function ajax_CompareBids_iiimp()
{
	xmlHttp_CompareBids=GetXmlHttpObject();
	if (xmlHttp_CompareBids==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }

		var BIDS = document.getElementById('bid_compare_list').value;
		if(BIDS.length == 0)
		 {
				alert('You must select at least one bid');
				return;
		 }
		
		params = "BIDS=" + BIDS + "&sid=" + Math.random();
		var url = ajax_path + "wrk/doCompareBids_iiimp.php";
	    		xmlHttp_CompareBids.open("POST", url, true);
				xmlHttp_CompareBids.onreadystatechange=state_CompareBids_iiimp;
	    		xmlHttp_CompareBids.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_CompareBids.setRequestHeader("Content-length", params.length);
	    		xmlHttp_CompareBids.setRequestHeader("Connection", "close");
				xmlHttp_CompareBids.send(params);
}

function state_CompareBids_iiimp()
{
	ajax_output = "div_bid_compare";
	jsf_ShowObj(ajax_output,'yes');

	switch(xmlHttp_CompareBids.readyState)
	 {
		case 1:
		case 2:
		case 3:
			document.getElementById(ajax_output).innerHTML = DBQ_IMG + " Creating Comparison List .... ";
		break;

		case 4:
			var xml_text = xmlHttp_CompareBids.responseText;
			document.getElementById(ajax_output).innerHTML = xml_text;
		break;
	 }
}

// ####################################################################################################################################
function ajax_AddToAccountMgr(_bid, _owner, _sol, _solid,  _stat)
{
	xmlHttp_AddToAccountMgr=GetXmlHttpObject();
	if (xmlHttp_AddToAccountMgr==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }

	if(! confirm('Are you sure you want to send this project to your account manager ?'))
	 {
			return; 
	 }

		var url = ajax_path + "wrk/doAddToAccountMgr.php?ACC_BID_ID=" + _bid + "&ACC_BID_OWNER=" + _owner + "&ACC_BID_SOL_ID=" + _sol + "&ACC_BID_SOL_OWNER_ID=" + _solid;
			xmlHttp_AddToAccountMgr.open("GET", url, true);
			xmlHttp_AddToAccountMgr.onreadystatechange = function() { state_AddToAccountMgr(_stat) }; //state_GetInfo(dest); state_listcsicodes;
			xmlHttp_AddToAccountMgr.send(null);
}

function state_AddToAccountMgr(_stat)
{

	switch(xmlHttp_AddToAccountMgr.readyState)
	 {
		case 1:
		case 2:
		case 3:
			document.getElementById(_stat).innerHTML = LOADING_IMG + " Sending project to your account manager .... ";
		break;

		case 4:
			var xml_text = xmlHttp_AddToAccountMgr.responseText;
			switch(xml_text)
			 {
				case "OK":
					document.getElementById(_stat).innerHTML = " ";
					//window.opener.ajax_ProjectOppertunityNotViewed();
					//window.opener.ajax_ListActiveSol();								
					alert('Project was successfully sent to your account manager.');
					//setTimeout('window.close()',500);
				break;
				
				case "DUP":
					document.getElementById(_stat).innerHTML = " ";
					alert('This project had alerady been sent to your account manager previously.');
				break;

				case "OWNER_VIOLATION":
					document.getElementById(_stat).innerHTML = "";
					alert('You can not send your own job to your Account Manager.');
				break;
				
				case "NOT_LOGGED":
					document.getElementById(_stat).innerHTML = "";
					alert('You are not logged in. Please sign up or log in.');
				break;

				case "NOT_BIDDER":
					document.getElementById(_stat).innerHTML = "";
					alert('You are not signed up to bid on projects - please change your Account Profile.');
				break;

				default:
					document.getElementById(_stat).innerHTML = xml_text;
					//alert('An error occured while sending project to your account manager.');
				break;
			}
		break;
	 }
}
// ####################################################################################################################################
function ajax_PlaceBid(_biddna)
{
	xmlHttp_PlaceBid=GetXmlHttpObject();
	if (xmlHttp_PlaceBid==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }

	if(! confirm('Are you sure you want to bid on this project.?'))
	 {
			return; 
	 }

		var url = ajax_path + "wrk/doPlaceBid.php?BID_DNA=" + _biddna + "&sid=" + Math.random();
			xmlHttp_PlaceBid.open("GET", url, true);
			xmlHttp_PlaceBid.onreadystatechange = state_PlaceBid;
			xmlHttp_PlaceBid.send(null);
}

function state_PlaceBid()
{
	switch(xmlHttp_PlaceBid.readyState)
	 {
		case 1:
		case 2:
		case 3:
			document.getElementById('div_place_bid_stat').innerHTML = LOADING_IMG + " Starting the bid request for this project. Please wait .... ";
		break;

		case 4:
			var xml_text = xmlHttp_PlaceBid.responseText;
			switch(xml_text)
			 {
				case "OK":
					document.getElementById('div_place_bid_stat').innerHTML = OK_IMG + " You request was successfully processed. You will be redirected to the Bid Summary Sheet shortly.";
					setTimeout('window.location.href=\'\'',3000);
				break;
				
				default:
					document.getElementById('div_place_bid_stat').innerHTML = ERROR_IMG + " An error occured while sending your bid request." + xml_text;
				break;
			}
			OBJ_FADE = "div_place_bid_stat";
			jsf_Fade(0);
			setTimeout('jsf_UpdateINNERHTML(\'div_quote_project_status\',\'\')', 5000);
		break;
	 }
}
// ####################################################################################################################################
function ajax_ZipDownload()
{
	xmlHttp_ZipDownload=GetXmlHttpObject();
	if (xmlHttp_ZipDownload==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }

		var DOC_LIST = document.getElementById('doc_list').value;
		var FILE_TO_DOWNLOAD = document.getElementById('zip_file_name').value;
		if(DOC_LIST.length == 0)
		 {
				alert('You must select at least one file to zip and download.');
				return;
			 
		 }


		if(FILE_TO_DOWNLOAD.length == 0)
		 {
				alert('You must provide a name for your download.');
				return;
			 
		 }

		params = "FILES=" + DOC_LIST + "&FILE_TO_DOWNLOAD=" + FILE_TO_DOWNLOAD;
		var url = ajax_path + "wrk/doZipDownload.php";
	    		xmlHttp_ZipDownload.open("POST", url, true);
				xmlHttp_ZipDownload.onreadystatechange=state_ZipDownload;
	    		xmlHttp_ZipDownload.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_ZipDownload.setRequestHeader("Content-length", params.length);
	    		xmlHttp_ZipDownload.setRequestHeader("Connection", "close");
				xmlHttp_ZipDownload.send(params);
}

function state_ZipDownload()
{
	ajax_output = "div_download_stat";
	switch(xmlHttp_ZipDownload.readyState)
	 {
		case 1:
		case 2:
		case 3:
			document.getElementById(ajax_output).innerHTML = LOADING_IMG + " Zipping selected files .... ";
		break;

		case 4:
			var xml_text = xmlHttp_ZipDownload.responseText;
			document.getElementById(ajax_output).innerHTML = xml_text;
		break;
	 }
}
// ####################################################################################################################################
function ajax_CreateBidSummarySheet()
{
	xmlHttp_CreateBidSummarySheet=GetXmlHttpObject();
	if (xmlHttp_CreateBidSummarySheet==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }

		var CSI_TO_BID = document.getElementById('CSI_TO_BID_SELECTION').value;
		var ACC_BID_ID = document.getElementById('ACC_BID_ID').value;
		if(CSI_TO_BID.length == 0)
		 {
				alert('You must select at least one Construction Category to bid on.');
				return;
			 
		 }

		params = "CSI_TO_BID=" + CSI_TO_BID;
		var url = ajax_path + "wrk/doCreateBidSummarySheet.php";
	    		xmlHttp_CreateBidSummarySheet.open("POST", url, true);
				xmlHttp_CreateBidSummarySheet.onreadystatechange=state_CreateBidSummarySheet;
	    		xmlHttp_CreateBidSummarySheet.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_CreateBidSummarySheet.setRequestHeader("Content-length", params.length);
	    		xmlHttp_CreateBidSummarySheet.setRequestHeader("Connection", "close");
				xmlHttp_CreateBidSummarySheet.send(params);
}

function state_CreateBidSummarySheet()
{
	ajax_output = "bid_summary_sheet";
	switch(xmlHttp_CreateBidSummarySheet.readyState)
	 {
		case 1:
		case 2:
		case 3:
			document.getElementById(ajax_output).innerHTML = LOADING_IMG + " Creating Bid Summary Sheet .... ";
		break;

		case 4:
			var xml_text = xmlHttp_CreateBidSummarySheet.responseText;
			document.getElementById(ajax_output).innerHTML = xml_text;
		break;
	 }
}
// ####################################################################################################################################
function ajax_ListProjectDocuments()
{
	xmlHttp_ListProjectDocuments=GetXmlHttpObject();
	if (xmlHttp_ListProjectDocuments==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }

		var DOCUMENTS_LINK = document.getElementById('DOCUMENTS_LINK').value;
		params = "DOCUMENTS_LINK=" + DOCUMENTS_LINK;
		var url = ajax_path + "wrk/doZipDownload.php";
	    		xmlHttp_ListProjectDocuments.open("POST", url, true);
				xmlHttp_ListProjectDocuments.onreadystatechange=state_ListProjectDocuments;
	    		xmlHttp_ListProjectDocuments.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_ListProjectDocuments.setRequestHeader("Content-length", params.length);
	    		xmlHttp_ListProjectDocuments.setRequestHeader("Connection", "close");
				xmlHttp_ListProjectDocuments.send(params);
}

function state_ListProjectDocuments()
{
	ajax_output = "div_bid_stat";
	switch(xmlHttp_ListProjectDocuments.readyState)
	 {
		case 1:
		case 2:
		case 3:
			document.getElementById(ajax_output).innerHTML = LOADING_IMG + " Collecting Project Documents. Please wait for the download to start.";
		break;

		case 4:
			var xml_text = xmlHttp_ListProjectDocuments.responseText;
			document.getElementById(ajax_output).innerHTML = '';
			//document.getElementById(ajax_output).innerHTML =xml_text;
			window.location.href = xml_text;
		break;
	 }
}
// ####################################################################################################################################
function ajax_DownloadFolderContent(_folder, _mode)
{
	xmlHttp_DownloadFolderContent=GetXmlHttpObject();
	if (xmlHttp_DownloadFolderContent==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }

		params = "DOCUMENTS_LINK=" + _folder + "&MODE=" + _mode;
		var url = ajax_path + "wrk/doDownloadFolderContent.php";
	    		xmlHttp_DownloadFolderContent.open("POST", url, true);
				xmlHttp_DownloadFolderContent.onreadystatechange=state_DownloadFolderContent;
	    		xmlHttp_DownloadFolderContent.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_DownloadFolderContent.setRequestHeader("Content-length", params.length);
	    		xmlHttp_DownloadFolderContent.setRequestHeader("Connection", "close");
				xmlHttp_DownloadFolderContent.send(params);
}

function state_DownloadFolderContent()
{
	ajax_output = "div_Stat";
	switch(xmlHttp_DownloadFolderContent.readyState)
	 {
		case 1:
		case 2:
		case 3:
			document.getElementById(ajax_output).innerHTML = LOADING_IMG + " Please Wait ...";
		break;

		case 4:
			var xml_text = xmlHttp_DownloadFolderContent.responseText;
			document.getElementById(ajax_output).innerHTML = OK_IMG;
			window.location.href = xml_text;
		break;
	 }
}

// ####################################################################################################################################
function ajax_UpdateBidDetails(_row, _bid, _sol, _sol_owner, _cost, _qty, _price, _obj)
{
	xmlHttp_UpdateBidDetails=GetXmlHttpObject();
	if (xmlHttp_UpdateBidDetails==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }

		var params;
		params = "PRODUCT_ID_FK=" + _row;
		params += "&ACC_BID_ID_FK=" + _bid;
		params += "&ACC_SOL_ID_FK=" + _sol;
		params += "&ACC_BID_COST=" + _cost;
		params += "&ACC_BID_QTY=" + _qty;
		params += "&ACC_BID_PRICE=" + _price;

		var url = ajax_path + "wrk/doUpdateBidDetails.php";
	    		xmlHttp_UpdateBidDetails.open("POST", url, true);
				xmlHttp_UpdateBidDetails.onreadystatechange= function() { state_UpdateBidDetails(_row) }; //state_UpdateBidDetails;
	    		xmlHttp_UpdateBidDetails.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_UpdateBidDetails.setRequestHeader("Content-length", params.length);
	    		xmlHttp_UpdateBidDetails.setRequestHeader("Connection", "close");
				xmlHttp_UpdateBidDetails.send(params);
}

function state_UpdateBidDetails(_row)
{
	ajax_output = "div_bid_details_stat";
	switch(xmlHttp_UpdateBidDetails.readyState)
	 {
		case 1:
		case 2:
		case 3:
			document.getElementById(ajax_output).innerHTML = LOADING_IMG + " Updating products survey details. ";
		break;

		case 4:
			var xml_text = xmlHttp_UpdateBidDetails.responseText;
			switch(xml_text)
			 {
					case "OK":
						document.getElementById(ajax_output).innerHTML = " ";		
						alert('Bid was successfully updated.')
						jsf_ShowObj('btnSave_' + _row, 'no');
					break;
					
					default:
						document.getElementById(ajax_output).innerHTML = " ";		
						alert('Bid was not updated. Please try again');
					break;
			 }
			
		break;
	 }
}
// ####################################################################################################################################
function ajax_DeleteBidDetails(_obj)
{
	xmlHttp_DeleteBidDetails=GetXmlHttpObject();
	if (xmlHttp_DeleteBidDetails==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }

		var params;
		params = "SYS_ID=" + _obj;

		var url = ajax_path + "wrk/doDeleteBidDetails.php";
	    		xmlHttp_DeleteBidDetails.open("POST", url, true);
				xmlHttp_DeleteBidDetails.onreadystatechange=state_DeleteBidDetails;
	    		xmlHttp_DeleteBidDetails.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_DeleteBidDetails.setRequestHeader("Content-length", params.length);
	    		xmlHttp_DeleteBidDetails.setRequestHeader("Connection", "close");
				xmlHttp_DeleteBidDetails.send(params);
}

function state_DeleteBidDetails()
{
	ajax_output = "div_bid_details_stat";
	switch(xmlHttp_DeleteBidDetails.readyState)
	 {
		case 1:
		case 2:
		case 3:
			document.getElementById(ajax_output).innerHTML = LOADING_IMG + " Removing Bid Detail. ";
		break;

		case 4:
			var xml_text = xmlHttp_DeleteBidDetails.responseText;
			switch(xml_text)
			 {
					case "OK":
						document.getElementById(ajax_output).innerHTML = " ";		
						alert('Item was successfully removed.');
					break;
					
					default:
						document.getElementById(ajax_output).innerHTML = " ";		
						alert('Bid was not updated. Please try again.');
					break;
			 }
			
		break;
	 }
}
// ####################################################################################################################################
function ajax_SubmitBidQuote(_id, _mode)
{
		xmlHttp_SubmitBidQuote=GetXmlHttpObject();
		if (xmlHttp_SubmitBidQuote==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

	if(_mode == "FINAL")
	 {
		if(!confirm('Are you sure you want to submit this quote?'))
		 {
			return; 
		 }
		var params = "ACC_BID_SOL_ID=" + _id + "&ACC_BID_PRICE=" + document.getElementById('ACC_BID_PRICE').value + "&ACC_BID_OTHER=" + document.getElementById('ACC_BID_OTHER').value + "&ACC_BID_STATUS=SUBMITTED&MODE=" + _mode;
		 
	 }
	else
	 {
		var params = "ACC_BID_SOL_ID=" + _id + "&ACC_BID_PRICE=" + document.getElementById('ACC_BID_PRICE').value + "&ACC_BID_OTHER=" + document.getElementById('ACC_BID_OTHER').value + "&ACC_BID_STATUS=PRE_SUBMITTED&MODE=" + _mode;
	 }
	
//alert(params);


		var url = ajax_path + "wrk/doSubmitBidQuote.php";
		   		xmlHttp_SubmitBidQuote.open("POST", url, true);
				xmlHttp_SubmitBidQuote.onreadystatechange=  function () { state_SubmitBidQuote(_mode); }; //function() { state_doLogin(_url)}; //
	    		xmlHttp_SubmitBidQuote.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_SubmitBidQuote.setRequestHeader("Content-length", params.length);
	    		xmlHttp_SubmitBidQuote.setRequestHeader("Connection", "close");
				xmlHttp_SubmitBidQuote.send(params);
     }

function state_SubmitBidQuote(_mode)
      {
	
		switch(xmlHttp_SubmitBidQuote.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_bid_details_stat').innerHTML = LOADING_IMG + " Submitting Quote .....";
			break;

			case 4:
	       		xml_text = xmlHttp_SubmitBidQuote.responseText;
				switch(xml_text)
				 {
						case "OK":
							if(_mode == "FINAL")
							 {
								document.getElementById('div_bid_details_stat').innerHTML = " ";
								alert('Thank you. Your bid was successfully submitted.');
								//window.opener.ajax_ListActiveSol();								
								setTimeout('window.close()',2000);
							}
							else
							 {
								//document.getElementById('btnSubmitBid').disabled=true;
								document.getElementById('div_bid_details_stat').innerHTML = INFO_IMG + "In order for your bid to be completed, you must fill out the products survey."+ xml_text;
								//jsf_ShowObj('PRODUCTS_SURVEY','yes');
							 }
						break;
						
						case "NA":
							 document.getElementById('div_bid_details_stat').innerHTML = ERROR_IMG + " You have not properly completed the price survey.  You must do so in order for your bid to be considerd.";
						break;
						
						default: 
							 document.getElementById('div_bid_details_stat').innerHTML = ERROR_IMG + " Quote submission failed. Please try again " + xml_text;
						break;
				 }
			break;
		 }
     }
// ####################################################################################################################################
function ajax_ListCities(_city)
{
		xmlHttp_ListCities=GetXmlHttpObject();
		if (xmlHttp_ListCities==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

	
		if(_city.length == 0)
		 {
				document.getElementById('div_Cities').innerHTML = "";
				jsf_ShowObj('div_Cities','no');
				jsf_ShowObj('div_GMAP','no');
				return;
		 }
	
		var params = "CITY=" + _city;
		var url = ajax_path + "wrk/doListCities.php";
	    		xmlHttp_ListCities.open("POST", url, true);
				xmlHttp_ListCities.onreadystatechange=  state_ListCities; //function() { state_doLogin(_url)}; //
	    		xmlHttp_ListCities.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_ListCities.setRequestHeader("Content-length", params.length);
	    		xmlHttp_ListCities.setRequestHeader("Connection", "close");
				xmlHttp_ListCities.send(params);
}

function state_ListCities()
      {
		switch(xmlHttp_ListCities.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_Cities').innerHTML = LOADING_IMG;
			break;

			case 4:
				jsf_ShowObj('div_Cities','yes'); 
	       		xml_text = xmlHttp_ListCities.responseText;
				document.getElementById('div_Cities').innerHTML = xml_text;
			break;
		 }
     }
// ####################################################################################################################################
function ajax_ListProducts(_product)
{
		xmlHttp_ListProducts=GetXmlHttpObject();
		if (xmlHttp_ListProducts==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

	
		if(_product.length == 0 || _product.length < 4)
		 {
				document.getElementById('div_ProductsMatch').innerHTML = "";
				jsf_ShowObj('div_ProductsMatch','no');
				return;
		 }
	
		var params = "PRODUCT=" + _product;
		var url = ajax_path + "wrk/doListProducts.php";
	    		xmlHttp_ListProducts.open("POST", url, true);
				xmlHttp_ListProducts.onreadystatechange=  state_ListProducts; //function() { state_doLogin(_url)}; //
	    		xmlHttp_ListProducts.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_ListProducts.setRequestHeader("Content-length", params.length);
	    		xmlHttp_ListProducts.setRequestHeader("Connection", "close");
				xmlHttp_ListProducts.send(params);
}

function state_ListProducts()
      {
		switch(xmlHttp_ListProducts.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_ProductsMatch').innerHTML = LOADING_IMG;
			break;

			case 4:
				jsf_ShowObj('div_ProductsMatch','yes');
	       		xml_text = xmlHttp_ListProducts.responseText;
				document.getElementById('div_ProductsMatch').innerHTML = xml_text;
			break;
		 }
     }
// ####################################################################################################################################
function ajax_ListActiveBids()
{
		xmlHttp_ListActiveBids=GetXmlHttpObject();
		if (xmlHttp_ListActiveBids==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

		var params = "sid=" + Math.random();
		var url = ajax_path + "wrk/doListActiveBids.php";
		   		xmlHttp_ListActiveBids.open("POST", url, true);
				xmlHttp_ListActiveBids.onreadystatechange=  state_ListActiveBids; //function() { state_doLogin(_url)}; //
	    		xmlHttp_ListActiveBids.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_ListActiveBids.setRequestHeader("Content-length", params.length);
	    		xmlHttp_ListActiveBids.setRequestHeader("Connection", "close");
				xmlHttp_ListActiveBids.send(params);
}

function state_ListActiveBids()
{
		switch(xmlHttp_ListActiveBids.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_ActiveBids').innerHTML = LOADING_IMG;
			break;

			case 4:
				xml_text = xmlHttp_ListActiveBids.responseText;
				document.getElementById('div_ActiveBids').innerHTML = xml_text;
			break;
		 }
}
// ####################################################################################################################################
function ajax_ListActiveBids_iiimp()
{
		xmlHttp_ListActiveBids=GetXmlHttpObject();
		if (xmlHttp_ListActiveBids==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

		var params = "sid=" + Math.random();
		var url = ajax_path + "wrk/doListActiveBids_iiimp.php";
		   		xmlHttp_ListActiveBids.open("POST", url, true);
				xmlHttp_ListActiveBids.onreadystatechange=  state_ListActiveBids_iiimp; //function() { state_doLogin(_url)}; //
	    		xmlHttp_ListActiveBids.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_ListActiveBids.setRequestHeader("Content-length", params.length);
	    		xmlHttp_ListActiveBids.setRequestHeader("Connection", "close");
				xmlHttp_ListActiveBids.send(params);
}

function state_ListActiveBids_iiimp()
{
		switch(xmlHttp_ListActiveBids.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_ActiveBids_iiimp').innerHTML = LOADING_IMG;
			break;

			case 4:
				xml_text = xmlHttp_ListActiveBids.responseText;
				document.getElementById('div_ActiveBids_iiimp').innerHTML = xml_text;
			break;
		 }
}
// ####################################################################################################################################

function ajax_ListHistoricalBidPackages()
{
		xmlHttp_ListHistoricalBidPackages=GetXmlHttpObject();
		if (xmlHttp_ListHistoricalBidPackages==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

		var params = "sid=" + Math.random();
		var url = ajax_path + "wrk/doListHistoricalBids.php";
	    		xmlHttp_ListHistoricalBidPackages.open("POST", url, true);
				xmlHttp_ListHistoricalBidPackages.onreadystatechange=  state_ListHistoricalBidPackages; //function() { state_doLogin(_url)}; //
	    		xmlHttp_ListHistoricalBidPackages.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_ListHistoricalBidPackages.setRequestHeader("Content-length", params.length);
	    		xmlHttp_ListHistoricalBidPackages.setRequestHeader("Connection", "close");
				xmlHttp_ListHistoricalBidPackages.send(params);
}

function ajax_ListHistoricalBidPackages_iiimp()
{
		xmlHttp_ListHistoricalBidPackages=GetXmlHttpObject();
		if (xmlHttp_ListHistoricalBidPackages==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

		var params = "sid=" + Math.random();
		var url = ajax_path + "wrk/doListHistoricalBids_iiimp.php";
	    		xmlHttp_ListHistoricalBidPackages.open("POST", url, true);
				xmlHttp_ListHistoricalBidPackages.onreadystatechange=  state_ListHistoricalBidPackages; //function() { state_doLogin(_url)}; //
	    		xmlHttp_ListHistoricalBidPackages.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_ListHistoricalBidPackages.setRequestHeader("Content-length", params.length);
	    		xmlHttp_ListHistoricalBidPackages.setRequestHeader("Connection", "close");
				xmlHttp_ListHistoricalBidPackages.send(params);
}

function state_ListHistoricalBidPackages()
{
		switch(xmlHttp_ListHistoricalBidPackages.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_HistoricalBidPackages').innerHTML = LOADING_IMG;
			break;

			case 4:
				xml_text = xmlHttp_ListHistoricalBidPackages.responseText;
				document.getElementById('div_HistoricalBidPackages').innerHTML = xml_text;
			break;
		 }
}
// ####################################################################################################################################
function ajax_ListActiveSol()
{
		xmlHttp_ListActiveSol=GetXmlHttpObject();
		if (xmlHttp_ListActiveSol==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

		var params = "sid=" + Math.random();
		var url = ajax_path + "wrk/doListActiveSol.php";
		   		xmlHttp_ListActiveSol.open("POST", url, true);
				xmlHttp_ListActiveSol.onreadystatechange=  state_ListActiveSol; //function() { state_doLogin(_url)}; //
	    		xmlHttp_ListActiveSol.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_ListActiveSol.setRequestHeader("Content-length", params.length);
	    		xmlHttp_ListActiveSol.setRequestHeader("Connection", "close");
				xmlHttp_ListActiveSol.send(params);
}

function state_ListActiveSol()
{
		switch(xmlHttp_ListActiveSol.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_ActiveSol').innerHTML = LOADING_IMG;
			break;

			case 4:
				xml_text = xmlHttp_ListActiveSol.responseText;
				document.getElementById('div_ActiveSol').innerHTML = xml_text;
			break;
		 }
}
// ####################################################################################################################################
// ####################################################################################################################################
function ajax_ListActiveSol_iiimp()
{
		xmlHttp_ListActiveSol=GetXmlHttpObject();
		if (xmlHttp_ListActiveSol==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

		var params = "sid=" + Math.random();
		var url = ajax_path + "wrk/doListActiveSol_iiimp.php";
		   		xmlHttp_ListActiveSol.open("POST", url, true);
				xmlHttp_ListActiveSol.onreadystatechange=  state_ListActiveSol_iiimp; //function() { state_doLogin(_url)}; //
	    		xmlHttp_ListActiveSol.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_ListActiveSol.setRequestHeader("Content-length", params.length);
	    		xmlHttp_ListActiveSol.setRequestHeader("Connection", "close");
				xmlHttp_ListActiveSol.send(params);
}

function state_ListActiveSol_iiimp()
{
		switch(xmlHttp_ListActiveSol.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_ActiveSol_iiimp').innerHTML = LOADING_IMG;
			break;

			case 4:
				xml_text = xmlHttp_ListActiveSol.responseText;
				document.getElementById('div_ActiveSol_iiimp').innerHTML = xml_text;
			break;
		 }
}
// ####################################################################################################################################
// ####################################################################################################################################


function ajax_ProjectOppertunityNotViewed()
{
		xmlHttp_ProjectOppertunityNotViewed=GetXmlHttpObject();
		if (xmlHttp_ProjectOppertunityNotViewed==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

		var params = "sid=" + Math.random();
		var url = ajax_path + "wrk/doProjectOppertunityNotViewed.php";
	    		xmlHttp_ProjectOppertunityNotViewed.open("POST", url, true);
				xmlHttp_ProjectOppertunityNotViewed.onreadystatechange=  state_ProjectOppertunityNotViewed; //function() { state_doLogin(_url)}; //
	    		xmlHttp_ProjectOppertunityNotViewed.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_ProjectOppertunityNotViewed.setRequestHeader("Content-length", params.length);
	    		xmlHttp_ProjectOppertunityNotViewed.setRequestHeader("Connection", "close");
				xmlHttp_ProjectOppertunityNotViewed.send(params);
}

function state_ProjectOppertunityNotViewed()
{
		switch(xmlHttp_ProjectOppertunityNotViewed.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_ProjectOppertunityNotViewed').innerHTML = LOADING_IMG;
			break;

			case 4:
				xml_text = xmlHttp_ProjectOppertunityNotViewed.responseText;
				document.getElementById('div_ProjectOppertunityNotViewed').innerHTML = xml_text;
			break;
		 }
}
// ####################################################################################################################################
function ajax_ListASI()
{
		xmlHttp_ListASI=GetXmlHttpObject();
		if (xmlHttp_ListASI==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

		var params = "sid=" + Math.random();
		var url = ajax_path + "wrk/doListASI.php";
	    		xmlHttp_ListASI.open("POST", url, true);
				xmlHttp_ListASI.onreadystatechange=  state_ListASI; //function() { state_doLogin(_url)}; //
	    		xmlHttp_ListASI.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_ListASI.setRequestHeader("Content-length", params.length);
	    		xmlHttp_ListASI.setRequestHeader("Connection", "close");
				xmlHttp_ListASI.send(params);
}

function state_ListASI()
{
		switch(xmlHttp_ListASI.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_ASI').innerHTML = LOADING_IMG;
			break;

			case 4:
				xml_text = xmlHttp_ListASI.responseText;
				document.getElementById('div_ASI').innerHTML = xml_text;
			break;
		 }
}
// ####################################################################################################################################
function ajax_ListASIByBid(_id)
{
		xmlHttp_ListASIByBid=GetXmlHttpObject();
		if (xmlHttp_ListASIByBid==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

		var params = "ACC_BID_ID=" + _id + "&sid=" + Math.random();
		var url = ajax_path + "wrk/doListASIByBid.php";
	    		xmlHttp_ListASIByBid.open("POST", url, true);
				xmlHttp_ListASIByBid.onreadystatechange=  state_ListASIByBid; //function() { state_doLogin(_url)}; //
	    		xmlHttp_ListASIByBid.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_ListASIByBid.setRequestHeader("Content-length", params.length);
	    		xmlHttp_ListASIByBid.setRequestHeader("Connection", "close");
				xmlHttp_ListASIByBid.send(params);
}

function state_ListASIByBid()
{
		switch(xmlHttp_ListASIByBid.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_bid_total').innerHTML = LOADING_IMG;
			break;

			case 4:
				xml_text = xmlHttp_ListASIByBid.responseText;
				document.getElementById('div_bid_total').innerHTML = xml_text;
			break;
		 }
}
// ####################################################################################################################################
function ajax_ListRFI()
{
		xmlHttp_ListRFI=GetXmlHttpObject();
		if (xmlHttp_ListRFI==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

		var params = "sid=" + Math.random();
		var url = ajax_path + "wrk/doListRFI.php";
	    		xmlHttp_ListRFI.open("POST", url, true);
				xmlHttp_ListRFI.onreadystatechange=  state_ListRFI; //function() { state_doLogin(_url)}; //
	    		xmlHttp_ListRFI.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_ListRFI.setRequestHeader("Content-length", params.length);
	    		xmlHttp_ListRFI.setRequestHeader("Connection", "close");
				xmlHttp_ListRFI.send(params);
}

function ajax_ListRFI_iiimp()
{
		xmlHttp_ListRFI=GetXmlHttpObject();
		if (xmlHttp_ListRFI==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

		var params = "sid=" + Math.random();
		var url = ajax_path + "wrk/doListRFI_iiimp.php";
	    		xmlHttp_ListRFI.open("POST", url, true);
				xmlHttp_ListRFI.onreadystatechange=  state_ListRFI; //function() { state_doLogin(_url)}; //
	    		xmlHttp_ListRFI.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_ListRFI.setRequestHeader("Content-length", params.length);
	    		xmlHttp_ListRFI.setRequestHeader("Connection", "close");
				xmlHttp_ListRFI.send(params);
}

function state_ListRFI()
{
		switch(xmlHttp_ListRFI.readyState)
		 {
			case 1:
			case 2:
			case 3:
				if(document.getElementById('div_RFI'))
				document.getElementById('div_RFI').innerHTML = LOADING_IMG;
			break;

			case 4:
				xml_text = xmlHttp_ListRFI.responseText;
				if(document.getElementById('div_RFI'))
				document.getElementById('div_RFI').innerHTML = xml_text;
			break;
		 }
}

// ####################################################################################################################################
function ajax_SelectRfiCookie(_rfi)
{
		xmlHttp_SelectRfiCookie=GetXmlHttpObject();
		if (xmlHttp_SelectRfiCookie==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

		var params = "RFI_ID=" + _rfi;
		var url = ajax_path + "wrk/doSelectRfiCookie.php";
	    		xmlHttp_SelectRfiCookie.open("POST", url, true);
				xmlHttp_SelectRfiCookie.onreadystatechange=  state_SelectRfiCookie; //function() { state_doLogin(_url)}; //
	    		xmlHttp_SelectRfiCookie.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_SelectRfiCookie.setRequestHeader("Content-length", params.length);
	    		xmlHttp_SelectRfiCookie.setRequestHeader("Connection", "close");
				xmlHttp_SelectRfiCookie.send(params);
}

function state_SelectRfiCookie()
{
		switch(xmlHttp_SelectRfiCookie.readyState)
		 {
			case 1:
			case 2:
			case 3:
				//document.getElementById('div_RFI').innerHTML = LOADING_IMG;
			break;

			case 4:
				xml_text = xmlHttp_SelectRfiCookie.responseText;
				alert(xml_text);
				if(xml_text == "ERR")
				{
					alert('RFI was not selected, please try again');	
				}
				
			break;
		 }
}

// ####################################################################################################################################

function ajax_InitAccountManager()
{
		xmlHttp_InitAccountManager=GetXmlHttpObject();
		if (xmlHttp_InitAccountManager==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

		var params = "sid=" + Math.random();
		var url = ajax_path + "wrk/doAccountManager.php";
		
	    		xmlHttp_InitAccountManager.open("POST", url, true);
				xmlHttp_InitAccountManager.onreadystatechange=  state_InitAccountManager; //function() { state_doLogin(_url)}; //

	    		xmlHttp_InitAccountManager.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_InitAccountManager.setRequestHeader("Content-length", params.length);
	    		xmlHttp_InitAccountManager.setRequestHeader("Connection", "close");
				xmlHttp_InitAccountManager.send(params);
}

function state_InitAccountManager()
{
		switch(xmlHttp_InitAccountManager.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_AccountManager').innerHTML = LOADING_IMG;
			break;

			case 4:
				xml_text = xmlHttp_InitAccountManager.responseText;
				document.getElementById('div_AccountManager').innerHTML = xml_text;
			break;
		 }
}

// ####################################################################################################################################
function ajax_ExcludeBid(_bid, _myid)
{
	xmlHttp_ExcludeBid=GetXmlHttpObject();
	if (xmlHttp_ExcludeBid==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }

		var params;
		params = "ACC_BID_ID=" + _bid;
		params += "&MY_ID=" + _myid;

		var url = ajax_path + "wrk/doExcludeBid.php";
	    		xmlHttp_ExcludeBid.open("POST", url, true);
				xmlHttp_ExcludeBid.onreadystatechange=state_ExcludeBid;
	    		xmlHttp_ExcludeBid.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_ExcludeBid.setRequestHeader("Content-length", params.length);
	    		xmlHttp_ExcludeBid.setRequestHeader("Connection", "close");
				xmlHttp_ExcludeBid.send(params);
}

function state_ExcludeBid()
{
	ajax_output = "div_bid_stat";
	switch(xmlHttp_ExcludeBid.readyState)
	 {
		case 1:
		case 2:
		case 3:
			document.getElementById(ajax_output).innerHTML = LOADING_IMG + " Excluding Bid ... Please Wait ";
		break;

		case 4:
			var xml_text = xmlHttp_ExcludeBid.responseText;
			switch(xml_text)
			 {
					case "OK":
					case "EX":
						document.getElementById(ajax_output).innerHTML = " ";
						alert('Project has been successfully excluded from your Account Manager.');
						window.opener.ajax_ProjectOppertunityNotViewed();
						setTimeout('window.close()',500);
					break;
					
					default:
						document.getElementById(ajax_output).innerHTML = xml_text;		
						alert('Bid was not updated. Please try again.');
					break;
			 }
			
		break;
	 }
}
// ####################################################################################################################################
function ajax_SubmiRFI()
{
		xmlHttp_SubmiRFI=GetXmlHttpObject();
		if (xmlHttp_SubmiRFI==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

	var params;
	var RFI = new Array('ACC_RFI_POST_DATE|YES','ACC_RFI_ID|YES','ACC_BID_ID|YES','ACC_BID_OWNER|YES','ACC_SOL_OWNER|YES','ACC_RFI_TEXT|YES','ACC_RFI_DOC_PATH|YES');
	var r=0;
	var rfi_item;
	while(r<RFI.length)
	  {
		 	rfi_item = RFI[r].split("|");
			if(rfi_item[1] == "YES" &&  document.getElementById(rfi_item[0]).value.length == 0)
			 {
				alert('Missing one or more required field(s)');
				return;
			 }
			 
		 
			if(params == null)
				 {
					if(document.getElementById(rfi_item[0]))
					{
						params = rfi_item[0]  + '=' + document.getElementById(rfi_item[0]).value;
					}
				 }
				else
				 {
					if(document.getElementById(rfi_item[0]))
					{
						params += "&" + rfi_item[0] + '=' + document.getElementById(rfi_item[0]).value; 
					}
				 }
		   r++;
	  }

		
		if(!confirm('Are you sure you want to submit this RFI? '))
		{
			return;	
		}

				var url = ajax_path + "wrk/doSubmitRFI.php";
	    		xmlHttp_SubmiRFI.open("POST", url, true);
				xmlHttp_SubmiRFI.onreadystatechange=state_SubmiRFI;
	    		xmlHttp_SubmiRFI.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_SubmiRFI.setRequestHeader("Content-length", params.length);
	    		xmlHttp_SubmiRFI.setRequestHeader("Connection", "close");
				xmlHttp_SubmiRFI.send(params);
}

function state_SubmiRFI()
{
	
	switch(xmlHttp_SubmiRFI.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_Stat').innerHTML = SUBMITTING_IMG + " Submitting RFI ... Please wait.";
			break;

			case 4:
	       		xml_text = xmlHttp_SubmiRFI.responseText;
				switch(xml_text)
				 {
					/*
					case "NA":
							document.getElementById('div_Stat').innerHTML = ERROR_IMG + " You must provide description or at upload at least one file before submitting your solicitation";
					break;
					*/
					
					case "ERR":
						document.getElementById('div_Stat').innerHTML = "";
						alert(xml_text);
					break;
					
					case "OK":
							OBJ_FADE = "div_Stat";
							jsf_Fade(0);
							document.getElementById('div_Stat').innerHTML = " ";
							alert('Thank you, your RFI was successfully posted.');
							window.opener.ajax_ListRFI();
							setTimeout('window.close()',1000);
					break;
					
					default:
						document.getElementById('div_Stat').innerHTML = "";
						alert(xml_text);
					break;
				 
				 }
			break;
		 }
}
// ####################################################################################################################################
function ajax_UpdateRFI()
{
	xmlHttp_UpdateRFI=GetXmlHttpObject();
	if (xmlHttp_UpdateRFI==null)
	{
		alert ("Your browser does not support AJAX!");
		return;
	}

	var SYS_LIST = document.getElementById('RFIS').value;
	var TEXT_LIST = document.getElementById('ACC_ASI_TEXT').value;
	var ACC_BID_ID = document.getElementById('ACC_BID_ID').value;
	
	if(SYS_LIST.length == 0 || TEXT_LIST.length == 0)
	 {
		 alert('You have not selected an RFI to answer and/or entered your answer');
		 return;
	 }

	var params;
		params = "SYS_ID=" + SYS_LIST;
		params += "&ACC_ASI_TEXT=" + TEXT_LIST;
		params += "&ACC_BID_ID=" + ACC_BID_ID;

	var url = ajax_path + "wrk/doUpdateRFI.php";
		xmlHttp_UpdateRFI.open("POST", url, true);
		xmlHttp_UpdateRFI.onreadystatechange=state_UpdateRFI;
		xmlHttp_UpdateRFI.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp_UpdateRFI.setRequestHeader("Content-length", params.length);
		xmlHttp_UpdateRFI.setRequestHeader("Connection", "close");
		xmlHttp_UpdateRFI.send(params);
}

function state_UpdateRFI()
{
	switch(xmlHttp_UpdateRFI.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_Stat').innerHTML = SUBMITTING_IMG + " Updating RFI ... Please wait.";
			break;

			case 4:
	       		xml_text = xmlHttp_UpdateRFI.responseText;
				switch(xml_text)
				 {
					/*
					case "NA":
							document.getElementById('div_Stat').innerHTML = ERROR_IMG + " You must provide description or at upload at least one file before submitting your solicitation";
					break;
					*/
					
					case "ERR":
						document.getElementById('div_Stat').innerHTML = "";
						alert(xml_text);
					break;
					
					case "OK":
							document.getElementById('div_Stat').innerHTML = " ";
							alert('Thank you, your ASI was successfully posted.');
							window.opener.ajax_ListRFI();
							setTimeout('window.close()',1000);
					break;
					
					default:
						document.getElementById('div_Stat').innerHTML =xml_text;
					break;
				 
				 }
			break;
		 }
}
// ####################################################################################################################################
function ajax_UpdateASI()
{
	xmlHttp_UpdateASI=GetXmlHttpObject();
	if (xmlHttp_UpdateASI==null)
	{
		alert ("Your browser does not support AJAX!");
		return;
	}

	var params;
		params = "SYS_ID=" + document.getElementById('SYS_ID').value;
		params += "&ACC_ASI_TEXT=" + document.getElementById('ACC_ASI_TEXT').value;

	var url = ajax_path + "wrk/doUpdateASI.php";
		xmlHttp_UpdateASI.open("POST", url, true);
		xmlHttp_UpdateASI.onreadystatechange=state_UpdateASI;
		xmlHttp_UpdateASI.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp_UpdateASI.setRequestHeader("Content-length", params.length);
		xmlHttp_UpdateASI.setRequestHeader("Connection", "close");
		xmlHttp_UpdateASI.send(params);
}

function state_UpdateASI()
{
	switch(xmlHttp_UpdateASI.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_Stat').innerHTML = SUBMITTING_IMG + " Updating ASI ... Please wait.";
			break;

			case 4:
	       		xml_text = xmlHttp_UpdateASI.responseText;
				switch(xml_text)
				 {
					case "ERR":
						document.getElementById('div_Stat').innerHTML = "";
						alert(xml_text);
					break;
					
					case "OK":
							document.getElementById('div_Stat').innerHTML = " ";
							alert('Thank you, your ASI was successfully posted.');
							window.opener.ajax_ListASI();					
							setTimeout('window.close()',1000);
					break;
					
					default:
						document.getElementById('div_Stat').innerHTML = "";
						alert(xml_text);
					break;
				 
				 }
			break;
		 }
}
// ####################################################################################################################################
function ajax_SubmitUpdate()
{
		xmlHttp_SubmiUpdate=GetXmlHttpObject();
		if (xmlHttp_SubmiUpdate==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

	var params;
	var RFI = new Array('ACC_BID_ID|YES','ACC_BID_UPDTE_TEXT|YES','ACC_BID_UPDATE_PRIORITY|YES','ACC_BID_UPDATE_POSTED_ON|YES');
	var r=0;
	var rfi_item;
	while(r<RFI.length)
	  {
		 	rfi_item = RFI[r].split("|");
			if(rfi_item[1] == "YES" &&  document.getElementById(rfi_item[0]).value.length == 0)
			 {
				alert('Missing one or more required field(s)');
				return;
			 }
			 
		 
			if(params == null)
				 {
					if(document.getElementById(rfi_item[0]))
					{
						params = rfi_item[0]  + '=' + document.getElementById(rfi_item[0]).value;
					}
				 }
				else
				 {
					if(document.getElementById(rfi_item[0]))
					{
						params += "&" + rfi_item[0] + '=' + document.getElementById(rfi_item[0]).value; 
					}
				 }
		   r++;
	  }

		
		if(!confirm('Are you sure you want to post this Update? '))
		{
			return;	
		}

				var url = ajax_path + "wrk/doSubmitUpdate.php";
	    		xmlHttp_SubmiUpdate.open("POST", url, true);
				xmlHttp_SubmiUpdate.onreadystatechange=state_SubmitUpdate;
	    		xmlHttp_SubmiUpdate.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_SubmiUpdate.setRequestHeader("Content-length", params.length);
	    		xmlHttp_SubmiUpdate.setRequestHeader("Connection", "close");
				xmlHttp_SubmiUpdate.send(params);
}

function state_SubmitUpdate()
{
	switch(xmlHttp_SubmiUpdate.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_Stat').innerHTML = SUBMITTING_IMG + " Posting Update ... Please wait.";
			break;

			case 4:
	       		xml_text = xmlHttp_SubmiUpdate.responseText;
				switch(xml_text)
				 {
					case "OK":
							document.getElementById('div_Stat').innerHTML = " ";
							alert('Thank you, your update was successfully posted.');
							setTimeout('window.close()',3000);
					break;
					
					default:
						document.getElementById('div_Stat').innerHTML = "";
						alert(xml_text);
					break;
				 
				 }
			break;
		 }
}
// ####################################################################################################################################
function ajax_MarkUpdateRead(_id, _user)
{
		xmlHttp_MarkUpdateRead=GetXmlHttpObject();
		if (xmlHttp_MarkUpdateRead==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

		var params = "SYS_ID=" + _id + "&ACK_BY=" + _user;
		var url = ajax_path + "wrk/doMarkUpdateRead.php";
	    		xmlHttp_MarkUpdateRead.open("POST", url, true);
				xmlHttp_MarkUpdateRead.onreadystatechange=  state_MarkUpdateRead; //function() { state_doLogin(_url)}; //

	    		xmlHttp_MarkUpdateRead.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_MarkUpdateRead.setRequestHeader("Content-length", params.length);
	    		xmlHttp_MarkUpdateRead.setRequestHeader("Connection", "close");
				xmlHttp_MarkUpdateRead.send(params);
}

function state_MarkUpdateRead()
{
		switch(xmlHttp_MarkUpdateRead.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_Stat').innerHTML = LOADING_IMG;
			break;

			case 4:
				xml_text = xmlHttp_MarkUpdateRead.responseText;
				if(xml_text == "OK")
				 {
					document.getElementById('div_Stat').innerHTML = "";
					window.location.reload(true);
					window.opener.ajax_ListActiveSol();
					
				 }
				else
				 {
					 document.getElementById('div_Stat').innerHTML = " ";
					 alert('Operation failed. Please try again');
				 }
				
			break;
		 }
}
// ####################################################################################################################################
function ajax_ListProjectsByState()
{
	
		xmlHttp_ListProjectsByState=GetXmlHttpObject();
		if (xmlHttp_ListProjectsByState==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

		var params = "sid=" + Math.random();
		var url = ajax_path + "wrk/doListProjectsByState.php";
	    		xmlHttp_ListProjectsByState.open("POST", url, true);
				xmlHttp_ListProjectsByState.onreadystatechange=  state_ListProjectsByState; //function() { state_doLogin(_url)}; //

	    		xmlHttp_ListProjectsByState.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_ListProjectsByState.setRequestHeader("Content-length", params.length);
	    		xmlHttp_ListProjectsByState.setRequestHeader("Connection", "close");
				xmlHttp_ListProjectsByState.send(params);
}

function state_ListProjectsByState()
{
		switch(xmlHttp_ListProjectsByState.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('vmarquee').innerHTML = LOADING_IMG;
			break;

			case 4:
				xml_text = xmlHttp_ListProjectsByState.responseText;
				document.getElementById('vmarquee').innerHTML = xml_text;
			break;
		 }
}
// ####################################################################################################################################
function ajax_ListGraphs(_state)
{
		xmlHttp_ListGraphs=GetXmlHttpObject();
		if (xmlHttp_ListGraphs==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

		var params = "STATE=" + _state + "&sid=" + Math.random();
		var url = ajax_path + "wrk/doListGraphs.php";
		

	    		xmlHttp_ListGraphs.open("POST", url, true);
				xmlHttp_ListGraphs.onreadystatechange=  state_ListGraphs; //function() { state_doLogin(_url)}; //

	    		xmlHttp_ListGraphs.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_ListGraphs.setRequestHeader("Content-length", params.length);
	    		xmlHttp_ListGraphs.setRequestHeader("Connection", "close");
				xmlHttp_ListGraphs.send(params);
}

function state_ListGraphs()
{
		switch(xmlHttp_ListGraphs.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_Graphs').innerHTML = LOADING_IMG;
			break;

			case 4:
				xml_text = xmlHttp_ListGraphs.responseText;

				document.getElementById('div_Graphs').innerHTML = xml_text;
				//setTimeout('ajax_ListUsersGraphs(\'\')',1000);
			break;
		 }
}

// ####################################################################################################################################
function ajax_ListUsersGraphs(_state)
{
		xmlHttp_ListUsersGraphs=GetXmlHttpObject();
		if (xmlHttp_ListUsersGraphs==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

		var params = "STATE=" + _state + "&sid=" + Math.random();
		var url = ajax_path + "wrk/doListUsersGraphs.php";
		

	    		xmlHttp_ListUsersGraphs.open("POST", url, true);
				xmlHttp_ListUsersGraphs.onreadystatechange=  state_ListUsersGraphs; //function() { state_doLogin(_url)}; //

	    		xmlHttp_ListUsersGraphs.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_ListUsersGraphs.setRequestHeader("Content-length", params.length);
	    		xmlHttp_ListUsersGraphs.setRequestHeader("Connection", "close");
				xmlHttp_ListUsersGraphs.send(params);
}

function state_ListUsersGraphs()
{
		switch(xmlHttp_ListUsersGraphs.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_UsersGraphs').innerHTML = LOADING_IMG;
			break;

			case 4:
				xml_text = xmlHttp_ListUsersGraphs.responseText;
				document.getElementById('div_UsersGraphs').innerHTML = xml_text;
			break;
		 }
}

// ####################################################################################################################################

function ajax_ListProductsByDivision(_id)
{
		xmlHttp_ListProductsByDivision=GetXmlHttpObject();
		if (xmlHttp_ListProductsByDivision==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

		var params = "DIV_ID=" + _id;
		var url = ajax_path + "wrk/doListProductsByDivision.php";
	    		xmlHttp_ListProductsByDivision.open("POST", url, true);
				xmlHttp_ListProductsByDivision.onreadystatechange=  state_ListProductsByDivision; //function() { state_doLogin(_url)}; //

	    		xmlHttp_ListProductsByDivision.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_ListProductsByDivision.setRequestHeader("Content-length", params.length);
	    		xmlHttp_ListProductsByDivision.setRequestHeader("Connection", "close");
				xmlHttp_ListProductsByDivision.send(params);
}

function state_ListProductsByDivision()
{
		switch(xmlHttp_ListProductsByDivision.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_Products').innerHTML = LOADING_IMG;
			break;

			case 4:
				xml_text = xmlHttp_ListProductsByDivision.responseText;

				document.getElementById('div_Products').innerHTML = xml_text;
			break;
		 }
}
// ####################################################################################################################################
function ajax_SearchDatabase()
{
	xmlHttp_SearchDatabase=GetXmlHttpObject();
	if (xmlHttp_SearchDatabase==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }

	var params;
	var THIS_FORM;
	var THIS_FORM_OBJ;
	var THIS_OBJ;
		THIS_FORM = "frmSearch";
		THIS_FORM_OBJ = document.getElementById(THIS_FORM);


		
		if(document.getElementById('search_mode').value == "PRO")
		 {
			if(document.getElementById('selProducts'))
			 {
				if(document.getElementById('selProducts').value.length ==0)
				 {
						document.getElementById('div_SearchResults').innerHTML = ERROR_IMG + " "; 
						alert('You must select a product.');
						return;
				 }
				 
			 }
			else
			 {
						document.getElementById('div_SearchResults').innerHTML = ERROR_IMG + " "; 
						alert('You must select a product.');
						return;
				 
			 }
		 }
		else
		 {
			if(document.getElementById('ProductKey'))
			 {
				if(document.getElementById('ProductKey').value.length ==0)
				 {
						document.getElementById('div_SearchResults').innerHTML = ERROR_IMG + " "; 
						alert('You must select a product.');
						return;
				 }
				 
			 }
			else
			 {
						document.getElementById('div_SearchResults').innerHTML = ERROR_IMG + " "; 
						alert('You must select a product.');
						return;
				 
			 }
			 
		 }


	


		for(var el=0; el<THIS_FORM_OBJ.elements.length; el++)
			{
				THIS_OBJ = document.getElementById(THIS_FORM_OBJ[el].id).value;
				if(document.getElementById(THIS_FORM_OBJ[el].id).type == "checkbox" || document.getElementById(THIS_FORM_OBJ[el].id).type == "radio" || document.getElementById(THIS_FORM_OBJ[el].id).type == "button")
				{
		
				}
				else
				{
							if(THIS_OBJ)
							 {
										if(THIS_OBJ.length == 0)
										 {
											 
										 }
										else
										 {
												if(params == null)
												 {
													 params = THIS_FORM_OBJ[el].id + '=' + THIS_OBJ;
												 }
												else
												 {
													 params += '&' + THIS_FORM_OBJ[el].id + '=' + THIS_OBJ;
												 }
											 
										 }
								 
							 }
				}
			}

		var url = ajax_path + "wrk/doSearchDatabase.php";
	    		xmlHttp_SearchDatabase.open("POST", url, true);
				
	    		xmlHttp_SearchDatabase.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				xmlHttp_SearchDatabase.onreadystatechange= state_SearchDatabase; 
				xmlHttp_SearchDatabase.setRequestHeader("Content-length", params.length);
	    		xmlHttp_SearchDatabase.setRequestHeader("Connection", "close");
				xmlHttp_SearchDatabase.send(params);
}

function state_SearchDatabase()
{

	switch(xmlHttp_SearchDatabase.readyState)
	 {
		case 1:
		case 2:
		case 3:
			document.getElementById('div_SearchResults').innerHTML = LOADING_IMG + " Searching database ... ";
		break;

		case 4:
			var xml_text = xmlHttp_SearchDatabase.responseText;
			document.getElementById('div_SearchResults').innerHTML = xml_text;
		break;
	 }
}
// ####################################################################################################################################
function ajax_SearchBusinessCards()
{
	xmlHttp_SearchBusinessCards=GetXmlHttpObject();
	if (xmlHttp_SearchBusinessCards==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }


		var params;
		var BUS_CARDS = new Array('ACC_STATE|YES','ACC_ZIP|NO','selDiv|NO');
		var r=0;
		var card;
		while(r<BUS_CARDS.length)
		  {
				card = BUS_CARDS[r].split("|");
				if(card[1] == "YES" &&  document.getElementById(card[0]).value.length == 0)
				 {
					alert('Missing one or more required field(s)');
					return;
				 }
				 
				if(params == null)
					 {
						if(document.getElementById(card[0]))
						{
							params = card[0]  + '=' + document.getElementById(card[0]).value;
						}
					 }
					else
					 {
						if(document.getElementById(card[0]))
						{
							params += "&" + card[0] + '=' + document.getElementById(card[0]).value; 
						}
					 }
			   r++;
		  }
	
			
			params += "&sid=" + Math.random();
			
		var url = ajax_path + "wrk/doSearchBusinessCards.php";
				xmlHttp_SearchBusinessCards.open("POST", url, true);
	    		xmlHttp_SearchBusinessCards.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				xmlHttp_SearchBusinessCards.onreadystatechange= state_SearchBusinessCards; 
				xmlHttp_SearchBusinessCards.setRequestHeader("Content-length", params.length);
	    		xmlHttp_SearchBusinessCards.setRequestHeader("Connection", "close");
				xmlHttp_SearchBusinessCards.send(params);
}

function state_SearchBusinessCards()
{

	switch(xmlHttp_SearchBusinessCards.readyState)
	 {
		case 1:
		case 2:
		case 3:
			document.getElementById('div_SearchResults').innerHTML = LOADING_IMG + " Searching database ... ";
		break;

		case 4:
			var xml_text = xmlHttp_SearchBusinessCards.responseText;
			document.getElementById('div_SearchResults').innerHTML = xml_text;
		break;
	 }
}
// ####################################################################################################################################
function ajax_WithdrawBid(_id)
{
		xmlHttp_WithdrawBid=GetXmlHttpObject();
		if (xmlHttp_WithdrawBid==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

		var msg = "Are you sure you want to withdraw your project.?";
				
		if(!(confirm(msg)))
		 {
				return; 
		 }

		var url = ajax_path + "wrk/doWithdrawBid.php?ACC_BID_ID=" + _id;
			xmlHttp_WithdrawBid.open("GET", url, true);
			xmlHttp_WithdrawBid.onreadystatechange = state_WithdrawBid;
			xmlHttp_WithdrawBid.send(null);
}

function state_WithdrawBid()
{
	
	switch(xmlHttp_WithdrawBid.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_bid_stat').innerHTML = LOADING_IMG + " Withdrawing project ... Please wait.";
			break;

			case 4:
	       		var xml_text = xmlHttp_WithdrawBid.responseText;
				if(xml_text == "OK")
				 {
					 document.getElementById('div_bid_stat').innerHTML = ""
					 alert('Your project was successfully withdrawn.');
					window.opener.ajax_ListActiveBids();				
					setTimeout('window.close()',1000);
				 }
				else
				 {
					document.getElementById('div_bid_stat').innerHTML = xml_text;
					alert('An error occured while attempting to withdraw your project.');
				 }
			break;
		 }
}
// ####################################################################################################################################
function ajax_ProjectUpdateDeadline()
{
		xmlHttp_ProjectUpdateDeadline=GetXmlHttpObject();
		if (xmlHttp_ProjectUpdateDeadline==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

		var params;
		
		var new_date = document.getElementById('ACC_DEADLINE_BUFFER').value;
		var new_time = document.getElementById('selTime').value;
		
		if(new_date.length == 0 || new_time.length == 0)
		 {
			alert('Missing new date and/or new time');
			return;
		 }
		
		params = "ACC_DEADLINE=" + document.getElementById('ACC_DEADLINE').value + "&ACC_BID_ID=" + document.getElementById('ACC_BID_ID').value + "&sid=" + Math.random();
		
		var url = ajax_path + "wrk/doProjectUpdateDeadline.php";
				xmlHttp_ProjectUpdateDeadline.open("POST", url, true);
	    		xmlHttp_ProjectUpdateDeadline.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				xmlHttp_ProjectUpdateDeadline.onreadystatechange= state_ProjectUpdateDeadline; 
				xmlHttp_ProjectUpdateDeadline.setRequestHeader("Content-length", params.length);
	    		xmlHttp_ProjectUpdateDeadline.setRequestHeader("Connection", "close");
				xmlHttp_ProjectUpdateDeadline.send(params);
}

function state_ProjectUpdateDeadline()
{
	
	switch(xmlHttp_ProjectUpdateDeadline.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_bid_stat').innerHTML = LOADING_IMG + " Updating Project Deadline... Please wait.";
			break;

			case 4:
	       		var xml_text = xmlHttp_ProjectUpdateDeadline.responseText;

				switch(xml_text)
				 {
					case "OK":
						 document.getElementById('div_bid_stat').innerHTML = ""
						 alert('Your project deadline was successfully changed.');
						 jsf_ShowObj('div_ChangeDeadline','no');
						 window.location.reload(true);
					break;

					case "OLD":
						 document.getElementById('div_bid_stat').innerHTML = ""
						 alert('Project deadline can not be a past date.');
					break;
					 
					default:
						document.getElementById('div_bid_stat').innerHTML = xml_text;
						alert('An error occured while attempting to change project deadline.');
					break;
				}
			break;
		 }
}
// ####################################################################################################################################
function ajax_InitFeedback()
{
		xmlHttp_InitFeedback=GetXmlHttpObject();
		if (xmlHttp_InitFeedback==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}
			jsf_ShowObj('div_Feedback','yes'); 
			jsf_CenterObject('div_Feedback');
		var url = ajax_path + "wrk/doInitFeedback.php";
			xmlHttp_InitFeedback.open("GET", url, true);
			xmlHttp_InitFeedback.onreadystatechange = state_InitFeedback;
			xmlHttp_InitFeedback.send(null);
}

function state_InitFeedback()
{
	
	switch(xmlHttp_InitFeedback.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_Feedback').innerHTML = LOADING_IMG + " Starting Feedback Form ...";
			break;

			case 4:
	       		var xml_text = xmlHttp_InitFeedback.responseText;
				document.getElementById('div_Feedback').innerHTML = xml_text;
			break;
		 }
}
// ####################################################################################################################################
function ajax_InitInvite()
{
		xmlHttp_InitInvite=GetXmlHttpObject();
		if (xmlHttp_InitInvite==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}
			jsf_ShowObj('div_Invite','yes'); 
			jsf_CenterObject('div_Invite');
		var url = ajax_path + "wrk/doInitInvite.php";
			xmlHttp_InitInvite.open("GET", url, true);
			xmlHttp_InitInvite.onreadystatechange = state_InitInvite;
			xmlHttp_InitInvite.send(null);
}

function state_InitInvite()
{
	
	switch(xmlHttp_InitInvite.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_Invite').innerHTML = LOADING_IMG + " Starting Feedback Form ...";
			break;

			case 4:
	       		var xml_text = xmlHttp_InitInvite.responseText;
				document.getElementById('div_Invite').innerHTML = xml_text;
			break;
		 }
}
// ####################################################################################################################################

function ajax_SendInvitation()
{
		xmlHttp_SendInvitation=GetXmlHttpObject();
		if (xmlHttp_SendInvitation==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

		var params;
		var emails = document.getElementsByName('invite_email');

		if(emails.length == 0)
		 {
			alert('You have not selected anyone to invite yet !!!!');
			return;
		 }
		
	
		var email=null;
		var e=0;
		var invited = new Array();
		
		for(e=0; e<=emails.length-1; e++)
		 {
			if(emails[e].value.length == 0)
			 {
				alert('Missing email address');
				return;
			 }
			 invited.push(emails[e].value);
		 }
	
		alert('I will invite the following people on your behalf \r\n ' + invited);
		params = "invites=" + invited + "&sid=" + Math.random();
		
		var url = ajax_path + "wrk/doSendInvitation.php";
				xmlHttp_SendInvitation.open("POST", url, true);
	    		xmlHttp_SendInvitation.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				xmlHttp_SendInvitation.onreadystatechange= state_SendInvitation; 
				xmlHttp_SendInvitation.setRequestHeader("Content-length", params.length);
	    		xmlHttp_SendInvitation.setRequestHeader("Connection", "close");
				xmlHttp_SendInvitation.send(params);
}

function state_SendInvitation()
{
	
	switch(xmlHttp_SendInvitation.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_invite_stat').innerHTML = LOADING_IMG + " Sending Invitations ... Please wait.";
			break;

			case 4:
	       		var xml_text = xmlHttp_SendInvitation.responseText;

				switch(xml_text)
				 {
					case "OK":
						 document.getElementById('div_Invite').innerHTML = "Thank you. Your invitations were successfully sent."
						 setTimeout('jsf_ShowObj(\'div_Invite\',\'no\')',3000);
					break;

					default:
						document.getElementById('div_invite_stat').innerHTML = xml_text;
						alert('An error occured while attempting to send invitations.');
					break;
				}
			break;
		 }
}

// ####################################################################################################################################

function ajax_SendFeedback()
{
		xmlHttp_SendFeedback=GetXmlHttpObject();
		if (xmlHttp_SendFeedback==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

			var _page = window.location.href;
			//alert(_page);

		var params;
		
		var email = document.getElementById('ACC_EMAIL').value;
		var feedback = document.getElementById('feedback').value;
		var browser = document.getElementById('BROWSER').value;
		var os =  document.getElementById('OS').value;
		
		if(email.length == 0 || feedback.length == 0)
		 {
			alert('Missing email address and/or comments.');
			return;
		 }
		
		if(ERROR_ON_PAGE == true)
		 {
			alert('There are one or more errors on the page. Please fix then re-send');
			return;
		 }
		
		params = "email=" + email + "&feedback=" + feedback + "&page=" + _page + "&browser=" + browser + "&os=" + os + "&sid=" + Math.random();
		
		var url = ajax_path + "wrk/doSendFeedback.php";
				xmlHttp_SendFeedback.open("POST", url, true);
	    		xmlHttp_SendFeedback.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				xmlHttp_SendFeedback.onreadystatechange= state_SendFeedback; 
				xmlHttp_SendFeedback.setRequestHeader("Content-length", params.length);
	    		xmlHttp_SendFeedback.setRequestHeader("Connection", "close");
				xmlHttp_SendFeedback.send(params);
}

function state_SendFeedback()
{
	
	switch(xmlHttp_SendFeedback.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_feedback_stat').innerHTML = LOADING_IMG + " Sending Your Feedback ... Please wait.";
			break;

			case 4:
	       		var xml_text = xmlHttp_SendFeedback.responseText;

				switch(xml_text)
				 {
					case "OK":
						 document.getElementById('div_Feedback').innerHTML = "Thank you. Your feedback was successfully sent."
						 setTimeout('jsf_ShowObj(\'div_Feedback\',\'no\')',3000);
					break;

					default:
						document.getElementById('div_Feedback').innerHTML = xml_text;
						alert('An error occured while attempting to change project deadline.');
					break;
				}
			break;
		 }
}
// ####################################################################################################################################
function ajax_EmailBidder(_notes, _email, _id)
{
		xmlHttp_ProjectUpdateDeadline=GetXmlHttpObject();
		if (xmlHttp_ProjectUpdateDeadline==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

		var params;
		
	
		if(_notes.length == 0)
		 {
			alert('Missing new date and/or new time');
			return;
		 }
		
		var notes = document.getElementById(_notes).value;

		params = "notes=" + notes + "&email=" + _email + "&id=" + _id + "&sid=" + Math.random();

		var url = ajax_path + "wrk/doEmailBidder.php";
				xmlHttp_ProjectUpdateDeadline.open("POST", url, true);
	    		xmlHttp_ProjectUpdateDeadline.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				xmlHttp_ProjectUpdateDeadline.onreadystatechange= function() { state_EmailBidder(_email)};
				xmlHttp_ProjectUpdateDeadline.setRequestHeader("Content-length", params.length);
	    		xmlHttp_ProjectUpdateDeadline.setRequestHeader("Connection", "close");
				xmlHttp_ProjectUpdateDeadline.send(params);
}

function state_EmailBidder(_email)
{
	
	switch(xmlHttp_ProjectUpdateDeadline.readyState)
		 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_stat_' + _email).innerHTML = LOADING_IMG + " Sending ...  Please wait.";
			break;

			case 4:
	       		var xml_text = xmlHttp_ProjectUpdateDeadline.responseText;

				switch(xml_text)
				 {
					case "OK":
						 document.getElementById('div_stat_' + _email).innerHTML = "";
						 
						 alert('Your email was sent successfully.');
					break;

					default:
						document.getElementById('div_stat_' + _email).innerHTML = xml_text;
						alert('An error occured while attempting to sending email.');
					break;
				}
			break;
		 }
}