var ROOTPATH;
var xmlHttp;
var UPVS_PARTNER_ID;
var DIVNAME = "upvs_quote_area";
var requestURL;
var act="";
var is_ie = (navigator.userAgent.indexOf('MSIE') >= 0) ? 1 : 0; 
var is_ie5 = (navigator.appVersion.indexOf("MSIE 5.5")!=-1) ? 1 : 0; 
var is_opera = ((navigator.userAgent.indexOf("Opera 6")!=-1)||(navigator.userAgent.indexOf("Opera/6")!=-1)) ? 1 : 0; 
var is_netscape = (navigator.userAgent.indexOf('Netscape') >= 0) ? 1 : 0;

function fetch_remote_page(url,action)
{ 
	if (url.length > 0)
	{
		act=action;
		requestURL = url;
		xmlHttp = GetXmlHttpObject(stateChangeHandler);
		xmlHttp_Get(xmlHttp, requestURL);
	}
	else 
	{
		alert('Invalid data');
	}
}

function stateChangeHandler()
{
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete')
	{
		var str = xmlHttp.responseText;
		str = trim(str);
		if(str!="")
		{
			var CountryData = str.split("###");
			var tmpArr = CountryData[0].split("~");
		}
		switch(act)
		{
			case "GetArea" :
				if(str!="")
				{
					if(tmpArr!="")
					var AreaDataRow = tmpArr.length;
				}
				var AreaCombo = document.getElementById('Area');
				var AreaComboLength = document.getElementById('Area').options.length;
				
				for(var i=0;i<AreaComboLength;i++) 
				{
					AreaCombo.remove(AreaCombo.options[i]);
				}
				var opt = document.createElement('option');
				opt.text = "Select Locality";
				
				opt.value = "0";
				 try
				  {
					 AreaCombo.add(opt,null); // standards compliant
				  }
					catch(ex)
				  {
					 AreaCombo.add(opt); // IE only
				  }
				for(var i=0;i<AreaDataRow;i++)
				{
					AreaData = tmpArr[i].split("^");
					AreaID = AreaData[0];
					AreaName = AreaData[1];
					var opt = document.createElement('option');
					opt.text = AreaName;
					opt.value = AreaID
					
					  try
					  {
						 AreaCombo.add(opt,null); // standards compliant
					  }
						catch(ex)
					  {
						 AreaCombo.add(opt); // IE only
					  }
				}
				break;
				
			case "GetState" :
				if(str!="")
				{
					if(tmpArr!="")
					var StateDataRow = tmpArr.length;
				}
				var StateCombo = document.getElementById('StateID');
				var StateComboLength = document.getElementById('StateID').options.length;
				
				for(var i=0;i<StateComboLength;i++) 
				{
					StateCombo.remove(StateCombo.options[i]);
				}
				var opt = document.createElement('option');
				opt.text = "Select State";
				
				opt.value = "0";
				 try
				  {
					 StateCombo.add(opt,null); // standards compliant
				  }
					catch(ex)
				  {
					 StateCombo.add(opt); // IE only
				  }
				for(var i=0;i<StateDataRow;i++)
				{
					StateData = tmpArr[i].split("^");
					StateID = StateData[0];
					StateName = StateData[1];
					var opt = document.createElement('option');
					opt.text = StateName;
					opt.value = StateID
					
					  try
					  {
						 StateCombo.add(opt,null); // standards compliant
					  }
						catch(ex)
					  {
						 StateCombo.add(opt); // IE only
					  }
				}
				break;
				
				case "GetCity" :
					if(str!="")
					{
						if(tmpArr!="")
						var CityDataRow = tmpArr.length;
					}
					var CityCombo = document.getElementById('CityID');
					var CityComboLength = document.getElementById('CityID').options.length;
					
					for(var i=0;i<CityComboLength;i++) 
					{
						CityCombo.remove(CityCombo.options[i]);
					}
					var opt = document.createElement('option');
					opt.text = "Select City";
					
					opt.value = "0";
					 try
					  {
						 CityCombo.add(opt,null); // standards compliant
					  }
						catch(ex)
					  {
						 CityCombo.add(opt); // IE only
					  }
					for(var i=0;i<CityDataRow;i++)
					{
						CityData = tmpArr[i].split("^");
						CityID = CityData[0];
						CityName = CityData[1];
						var opt = document.createElement('option');
						opt.text = CityName;
						opt.value = CityID
						
						  try
						  {
							 CityCombo.add(opt,null); // standards compliant
						  }
							catch(ex)
						  {
							 CityCombo.add(opt); // IE only
						  }
					}
					break;
					case "GetRange" :
						if(str!="")
						{
							if(tmpArr!="")
							var BudgetDataRow = tmpArr.length;
						}
						var disp = "";
						var flag = 0;
						if(is_ie) {
							disp = 'block';
						}
						else {
							disp = 'table-row';
						}
						
						if(document.getElementById('trRentRange').style.display == disp)
						{
							var BudgetCombo = document.getElementById('ToRent');
							document.getElementById('ToRent').disabled = false;
							var BudgetComboLength = document.getElementById('ToRent').options.length;
						}
						else
						{
							var BudgetCombo = document.getElementById('To');
							document.getElementById('To').disabled = false;
							var BudgetComboLength = document.getElementById('To').options.length;
						}
						
						
						for(var i=0;i<BudgetComboLength;i++) 
						{
							BudgetCombo.remove(BudgetCombo.options[i]);
						}
						/*if(document.getElementById("trRentRange").style.display == disp  && document.getElementById('FromRent').value == "4999")
						{
							var opt = document.createElement('option');
							opt.text = "Max Price";
							
							opt.value = "";
							 try
							  {
								 BudgetCombo.add(opt,null); // standards compliant
							  }
								catch(ex)
							  {
								 BudgetCombo.add(opt); // IE only
							  }	
							 
							document.getElementById('ToRent').disabled = true;
							flag = 1;
							
							
						}
						else if(document.getElementById("trRentRange").style.display != disp && document.getElementById('From').value == "999999")
						{
							var opt = document.createElement('option');
							opt.text = "Max Price";
							
							opt.value = "";
							 try
							  {
								 BudgetCombo.add(opt,null); // standards compliant
							  }
								catch(ex)
							  {
								 BudgetCombo.add(opt); // IE only
							  }	
							  document.getElementById('To').disabled = true;
							  flag = 1;
						}*/
						if(flag == 0) { 
							for(var i=0;i<BudgetDataRow;i++)
							{
								BudgetData = tmpArr[i].split("^");
								BudgetID = BudgetData[0];
								BudgetName = BudgetData[1];
								var opt = document.createElement('option');
								opt.text = BudgetName;
								opt.value = BudgetID
								
								  try
								  {
									 BudgetCombo.add(opt,null); // standards compliant
								  }
									catch(ex)
								  {
									 BudgetCombo.add(opt); // IE only
								  }
							}
						}
						if(str == "")
						{
							var opt = document.createElement('option');
							opt.text = "Max Price";
							
							opt.value = "";
							 try
							  {
								 BudgetCombo.add(opt,null); // standards compliant
							  }
								catch(ex)
							  {
								 BudgetCombo.add(opt); // IE only
							  }	
							 
							if(document.getElementById('trRentRange').style.display == disp)
							{
								document.getElementById('ToRent').disabled = true;
							}
							else 
							{
								document.getElementById('To').disabled = true;
							}
						}
						
						break;
						case "GetBudget" :
							if(str!="")
							{
								if(tmpArr!="")
								var BudgetDataRow = tmpArr.length;
							}
							var disp = "";
							var flag = 0;
							if(is_ie) {
								disp = 'block';
							}
							else {
								disp = 'table-row';
							}
							if(document.getElementById('trRentRange1').style.display == disp)
							{
								var BudgetCombo = document.getElementById('ToRent1');
								document.getElementById('ToRent1').disabled = false;
								var BudgetComboLength = document.getElementById('ToRent1').options.length;
							}
							else
							{
								var BudgetCombo = document.getElementById('To1');
								document.getElementById('To1').disabled = false;
								var BudgetComboLength = document.getElementById('To1').options.length;
							}
							
							
							for(var i=0;i<BudgetComboLength;i++) 
							{
								BudgetCombo.remove(BudgetCombo.options[i]);
							}
							if(document.getElementById("trRentRange1").style.display == disp  && document.getElementById('FromRent1').value == "4999")
							{
								var opt = document.createElement('option');
								opt.text = "Max Price";
								
								opt.value = "";
								 try
								  {
									 BudgetCombo.add(opt,null); // standards compliant
								  }
									catch(ex)
								  {
									 BudgetCombo.add(opt); // IE only
								  }	
								 
								document.getElementById('ToRent1').disabled = true;
								flag = 1;
								
								
							}
							else if(document.getElementById("trRentRange1").style.display != disp && document.getElementById('From1').value == "999999")
							{
								var opt = document.createElement('option');
								opt.text = "Max Price";
								
								opt.value = "";
								 try
								  {
									 BudgetCombo.add(opt,null); // standards compliant
								  }
									catch(ex)
								  {
									 BudgetCombo.add(opt); // IE only
								  }	
								  document.getElementById('To1').disabled = true;
								  flag = 1;
							}
							if(flag == 0) { 
								for(var i=0;i<BudgetDataRow;i++)
								{
									BudgetData = tmpArr[i].split("^");
									BudgetID = BudgetData[0];
									BudgetName = BudgetData[1];
									var opt = document.createElement('option');
									opt.text = BudgetName;
									opt.value = BudgetID
									
									  try
									  {
										 BudgetCombo.add(opt,null); // standards compliant
									  }
										catch(ex)
									  {
										 BudgetCombo.add(opt); // IE only
									  }
								}
							}
							if(str == "")
							{
								var opt = document.createElement('option');
								opt.text = "Max Price";
								
								opt.value = "";
								 try
								  {
									 BudgetCombo.add(opt,null); // standards compliant
								  }
									catch(ex)
								  {
									 BudgetCombo.add(opt); // IE only
								  }	
								 
								if(document.getElementById('trRentRange1').style.display == disp)
								{
									document.getElementById('ToRent1').disabled = true;
								}
								else 
								{
									document.getElementById('To1').disabled = true;
								}
							}
							
							break;
		}
	}
}

function xmlHttp_Get(xmlhttp, url)
{
	xmlhttp.open('GET', url, true);
	xmlhttp.send(null);
}

function GetXmlHttpObject(handler)
{
	var objXmlHttp = null;
	if (is_ie)
	{
		var strObjName = (is_ie5) ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP';
		try
		{
			objXmlHttp = new ActiveXObject(strObjName);
			objXmlHttp.onreadystatechange = handler;
		}
		catch(e)
		{
			alert('IE detected, but object could not be created. Verify that active scripting and activeX controls are enabled');
			return;
		}
	}
	else if (is_opera)
	{
		alert('Opera detected. The page may not behave as expected.');
		return;
	}
	else
	{
		objXmlHttp = new XMLHttpRequest();
		objXmlHttp.onload = handler;
		objXmlHttp.onerror = handler;
	}
	return objXmlHttp;
}

function Initialize(){var initstring = "";initstring+="<style type='text/css'>";initstring+=".body {";initstring+="font-family: Verdana, Arial, Helvetica, sans-serif;";initstring+="font-size: 12px;";initstring+="font-weight: normal;";initstring+="color: #666666;";initstring+="}";initstring+=".btn{";initstring+="font-family: Verdana, Arial, Helvetica, sans-serif;";initstring+="font-size: 11px;";initstring+="color: #FFFFFF;";initstring+="background: #839A32;";initstring+="}";initstring+="</style>";initstring+="<div id='upvs_quote_area' style='height:140;width:600;overflow:auto'>";initstring+="<table width='100%' border='0' cellspacing='0' cellpadding='0'>";initstring+="<tr>";initstring+="<td class='body' width='180'>Shipping Material Weight : </td>";initstring+="<td class='body'><input type='text' name='weight' id='weight' style='border:1px solid #000000'>&nbsp;lbs</td>";initstring+="</tr>";initstring+="<tr>";initstring+="<td class='body'>&nbsp;</td>";initstring+="<td class='body'>&nbsp;</td>";initstring+="</tr>";initstring+="<tr>";initstring+="<td class='body' width='180'>Enter your zip code : </td>";initstring+="<td><input type='text' name='destination_zip' id='destination_zip' style='border:1px solid #000000'></td>";initstring+="</tr>";initstring+="<tr> ";initstring+="<td height='30' class='body' width='180'><input type='button' name='Submit' value='GET QUOTE' class='btn' onClick='submit_quote_data();'></td>";initstring+="<td class='body'>&nbsp;</td>";initstring+="</tr>";initstring+="</table>";initstring+="</div>";document.write(initstring);}function rightTrim(strValue){var objRegExp = /^([\w\W]*)(\b\s*)$/;if(objRegExp.test(strValue)){strValue = strValue.replace(objRegExp, '$1');}return strValue;}function leftTrim(strValue){var objRegExp = /^(\s*)(\b[\w\W]*)$/;if(objRegExp.test(strValue)){strValue = strValue.replace(objRegExp, '$2');}return strValue;}function trim(strValue){var objRegExp = /^(\s*)$/;if(objRegExp.test(strValue)){strValue = strValue.replace(objRegExp, '');if( strValue.length == 0)return strValue}objRegExp = /^(\s*)([\W\w]*)(\b\s*$)/;if(objRegExp.test(strValue)){strValue = strValue.replace(objRegExp, '$2');}return strValue;}function submit_quote_data(){var objRegExp  = /(^\d{5}$)|(^\d{5}-\d{4}$)/;if(trim(document.getElementById('weight').value)=="")alert("Please enter the weight of shipping material");else if(isNaN(trim(document.getElementById('weight').value)))alert("Weight of shipping material should be numeric");else if(trim(document.getElementById('destination_zip').value)=="")alert("Please enter destination ZIP Code");else if(!objRegExp.test(trim(document.getElementById('destination_zip').value)))alert("Please enter a valid ZIP Code");else{fetch_remote_page(trim(document.getElementById('destination_zip').value), trim(document.getElementById('weight').value));		document.getElementById('upvs_quote_area').innerHTML = "<br><br><br><br>Please wait .....";	}}
