// JavaScript Document
////Ajax related method

var path = "";

function validDisplay(selectedValue)
{

	if(selectedValue=='US')
	{
		document.getElementById("metroArea").style.display = 'inline';
		document.getElementById("radioOption").style.display = 'inline';
		document.getElementById("locationOption1").checked = true;				
	}
	else
	{
		document.getElementById("metroArea").style.display = 'none';
		document.getElementById("radioOption").style.display = 'none';				
	}
		
	if(selectedValue =="IN")	
	{

		if(document.getElementById("ajaxZone").value=='S' || document.getElementById("ajaxZone").value=='B' ||
		 document.getElementById("ajaxZone").value=='R' || document.getElementById("ajaxZone").value=='M' 
		|| document.getElementById("ajaxZone").value=='A' || document.getElementById("ajaxZone").value=='A')
		{
			document.getElementById("subLocation").style.visibility = 'visible';
			
		}
		document.getElementById("popularCity").style.visibility = 'visible';					
	}
	else
	{
		document.getElementById("subLocation").style.visibility = 'hidden';				
		document.getElementById("popularCity").style.visibility = 'hidden';				
	}
}



function loadStates(selectBox, targetDiv, targetDiv1, pt)
{
	
	var requestParameters = null;
	path =pt;
	
	var url = path+"/LocationLoaderServlet";
	var selectedValue = selectBox[selectBox.selectedIndex].value;
	
	//dependentCity.getElementsByTagName("SELECT")[0].options.length=1;
	
	//if(selectedValue =="IN")
	//	dependentSubLocation.getElementsByTagName("SELECT")[0].options.length=1;
	
	validDisplay(selectedValue);	
	
	requestParameters = "optionName=" + $(targetDiv).getElementsByTagName("SELECT")[0].name + "&selectedValue=" + selectedValue;
	dependentState.getElementsByTagName("SELECT")[0].disabled = true;
	dependentCity.getElementsByTagName("SELECT")[0].disabled = true;

	document.getElementById("locationImage").style.visibility = 'visible';
	var ajax = new Ajax.Request(
	url, {
	method: "post",
	parameters: requestParameters,
	onFailure: reportAjaxError,
	onSuccess: function(request) {
	var obj = eval('(' + ajax.transport.responseText + ')');

	Element.remove($(targetDiv).getElementsByTagName("SELECT")[0]);
	Element.update(targetDiv, obj.resultData);
	
	
	if(selectedValue=="US")
	{
		Element.update(targetDiv1,obj.metroData);
	}
		
	Element.update(stateLabel,obj.stateLabel);
		
	Element.update(priceCode,obj.currencyLabel)
		
	Element.update(dependentCity,obj.cityData);
	
	if(selectedValue=="IN")
	{
	
		if(obj.checkData=='noSublocations')
		{
			Element.update(dependentSubLocation,obj.sublocationData);
			document.getElementById("subLocation").style.visibility = 'hidden';
		}
	}
	
	document.getElementById("locationImage").style.visibility = 'hidden';
	}
	});
}

function reportAjaxError() 
{
  alert("Cannot retrieve dependent options")
}
		
function loadCities(selectBox, targetDiv,pt) 
{
	//var country = dependentCountry.getElementsByTagName("SELECT")[0].value;
	var country = document.getElementById("locationCountry").value;
	if(path=="")
	path = pt;
	//stateMetroChange("S");
	//dependentCity.getElementsByTagName("SELECT")[0].options.length=1;
	
	//if(country =="IN")
		//dependentSubLocation.getElementsByTagName("SELECT")[0].options.length=1;
	
	if(country=="US")
		document.getElementById("locationOption1").checked = true;
	
	var requestParameters = null;
	
	var url = path+"/LocationLoaderServlet";
	
	requestParameters = "countryName="+country+ "&optionName=" + $(targetDiv).getElementsByTagName("SELECT")[0].name + "&selectedValue=" + selectBox[selectBox.selectedIndex].value;
	dependentCity.getElementsByTagName("SELECT")[0].disabled = true;
	//if(country =="IN")
	//	dependentSubLocation.getElementsByTagName("SELECT")[0].disabled = true;
	
	document.getElementById("locationImage").style.visibility = 'visible';
	dependentCity.getElementsByTagName("SELECT")[0].disabled = true;
	
	var ajax = new Ajax.Request(
	url, {
	method: "post",
	parameters: requestParameters,
	onFailure: reportAjaxError,
	onSuccess: function(request) {
	var obj = eval('(' + ajax.transport.responseText + ')');
	Element.remove($(targetDiv).getElementsByTagName("SELECT")[0]);
	Element.update(targetDiv, obj.resultData);
	if(country=="IN")
	{
		Element.update(dependentSubLocation,obj.sublocationData);
		document.getElementById("subLocation").style.visibility = 'visible';
		
		if(obj.checkData=='noSublocations')
		{
		
			Element.update(dependentSubLocation,obj.sublocationData);
			document.getElementById("subLocation").style.visibility = 'hidden';
		}
	
	}
	document.getElementById("locationImage").style.visibility = 'hidden';
	if(popularCityValue!="")
	setCity();
	}
	});
}
		  
function loadSubLocation(selectBox, targetDiv, stateDiv,pt) 
{
	
	var country = document.getElementById("locationCountry").value;
	
	if(country=="IN")
	{
		var state = dependentState.getElementsByTagName("SELECT")[0].value;
		
		var requestParameters = null;
		if(path=="" )
			path=pt;
		var url = path+"/LocationLoaderServlet";
		
		requestParameters = "countryName="+country+ "&state="+state+"&optionName=" + dependentSubLocation.getElementsByTagName("SELECT")[0].name + "&selectedValue=" + selectBox[selectBox.selectedIndex].value;
		document.getElementById("locationImage").style.visibility = 'visible';
		dependentSubLocation.getElementsByTagName("SELECT")[0].disabled = true;
		
		var ajax = new Ajax.Request(
		url, {
		method: "post",
		parameters: requestParameters,
		onFailure: reportAjaxError,
		onSuccess: function(request) {
		var obj = eval('(' + ajax.transport.responseText + ')');
		Element.remove(dependentSubLocation.getElementsByTagName("SELECT")[0]);
		
		if(obj.checkData=='noSublocations')
		{
			
			Element.update('dependentSubLocation', obj.resultData);
			document.getElementById("subLocation").style.visibility = 'hidden';
		}
		else if(country=='IN')
		{
		
			if(document.getElementById("ajaxZone").value=='S' || document.getElementById("ajaxZone").value=='B' ||
			 document.getElementById("ajaxZone").value=='R' || document.getElementById("ajaxZone").value=='M' 
			|| document.getElementById("ajaxZone").value=='A' || document.getElementById("ajaxZone").value=='P')
			{
				Element.update('dependentSubLocation', obj.resultData);
				document.getElementById("subLocation").style.visibility = 'visible';
			}	
		}
		document.getElementById("locationImage").style.visibility = 'hidden';
		
		}
		});
	}
}




function loadCats(selectBox, targetDiv, level,pt,zoneCode, channelCode) 
{
	
	
	 var requestParameters = null;
	 if(path=="")
	 	path = pt;
	 
     var url = path+"/CategoriesLoadServlet";
	 var selectedValue = selectBox[selectBox.selectedIndex].value;
	 
	 var level1="";
	 var level2="";
	 var level3="";
	if(level==2)
	 level1 = dependentLevel1.getElementsByTagName("SELECT")[0].value;
	
	if(level==3)
	{
		level1 = dependentLevel1.getElementsByTagName("SELECT")[0].value;

		level2 = dependentLevel2.getElementsByTagName("SELECT")[0].value;
		}
	if(level==4)
	{
		level1 = dependentLevel1.getElementsByTagName("SELECT")[0].value;

		level2 = dependentLevel2.getElementsByTagName("SELECT")[0].value;

		level3 = dependentLevel3.getElementsByTagName("SELECT")[0].value;
	}
	clearCatCombo(level);
	
	requestParameters = "level="+level+"&level1="+level1.replace('&','*')+"&level2="+level2.replace('&','*')+"&level3="+level3.replace('&','*')+"&zoneCode="+zoneCode+"&channelCode="+channelCode;
	document.getElementById("categoriesImage").style.visibility = 'visible';
	  var ajax = new Ajax.Request(
			  url, {
		  method: "post",
		  parameters: requestParameters,
		  onFailure: reportAjaxError,
		  onSuccess: function(request) {
			  var obj = eval('(' + ajax.transport.responseText + ')');
			
			if(obj.error!=null && obj.error!="")
					alert(obj.error);
					
			  if(obj.dataCheck =="Y")
			  {
			  
			  Element.remove($(targetDiv).getElementsByTagName("SELECT")[0]);
			  Element.update(targetDiv, obj.categories);
			
			document.getElementById("dependentLevel"+level).style.visibility = 'visible';		  
			}
			else
			{
				document.getElementById("dependentLevel"+level).style.visibility = 'hidden';
				document.getElementById("dependentLevel"+level).getElementsByTagName("SELECT")[0].disabled = true;
						  
			}
			document.getElementById("categoriesImage").style.visibility = 'hidden';
			
		  }
		  
	  });
	  
}

function clearCatCombo(level)
{	

	if(level==2)
	{		
		document.getElementById("dependentLevel2").style.visibility = 'hidden';
		document.getElementById("dependentLevel3").style.visibility = 'hidden';
		document.getElementById("dependentLevel4").style.visibility = 'hidden';
		
		dependentLevel2.getElementsByTagName("SELECT")[0].disabled = false;
		
		dependentLevel3.getElementsByTagName("SELECT")[0].disabled = true;
		dependentLevel4.getElementsByTagName("SELECT")[0].disabled = true;
		
		
	}
	else if(level==3)
	{
		document.getElementById("dependentLevel4").style.visibility = 'hidden';
		dependentLevel3.getElementsByTagName("SELECT")[0].disabled = false;
		dependentLevel4.getElementsByTagName("SELECT")[0].disabled = true;
	}
	else if(level==4)
	{
		dependentLevel4.getElementsByTagName("SELECT")[0].disabled = false;
		document.getElementById("dependentLevel4").style.visibility = 'hidden';
	}
	
}


var wp=window.parent;
var cityframe=null;
function GetCityFrame(){if (!cityframe)cityframe=wp.getObj('CityFrame');return cityframe;}
function getObj(objID)
{
	if (document.getElementById) {return document.getElementById(objID);}
	else if (document.all) {return document.all[objID];}
	else if (document.layers) {return document.layers[objID];}
}


//This function will assign th source to the frame dynamically.
function loadCityFrame(iframeName, url)
{	
var countryCode = dependentCountry.getElementsByTagName("SELECT")[0].value;

var path = url+"/jsp/popular_cities.jsp?countryCode="+countryCode;
  if ( window.frames[iframeName] ) 
	{
		window.frames[iframeName].location = path; 
	}
	cityShow();
//	setTimeout('cityShow()',1000);		

 }

//This function is used to open the city frame 
function cityShow()
{

	document.getElementById("CityFrame").style.visibility = 'visible';
	document.getElementById("CityFrame").style.display = 'inline';
}

function CloseCity()
{
	document.getElementById("mn").className="menuNormal";
	if(GetCityFrame()!=null)
	{	
		GetCityFrame().style.visibility='hidden';
		GetCityFrame().style.display='none';
	}
	
}

function setLocation(locValue)
{
	stateMetroChange("M");
	if(locValue==2)
		document.getElementById("locationOption2").checked = true;
	if(locValue==3)
		document.getElementById("locationOption3").checked = true;
}


//This section is related to handle popular cities

var popularCityValue="";

function loadLocation(stateValue,cityVal, pt)
{
	if(path=="")	
		path = pt;
	
	dependentState.getElementsByTagName("SELECT")[0].value=stateValue;

	loadCities(dependentState.getElementsByTagName("SELECT")[0],'dependentCity','');

	popularCityValue = cityVal;
	
	CloseCity();
	
}
function setCity()
{	
	dependentCity.getElementsByTagName("SELECT")[0].value=popularCityValue;
	
	loadSubLocation(dependentCity.getElementsByTagName("SELECT")[0], 'dependentSubLocation', '',''); 
	
	popularCityValue="";
}

function stateMetroChange(optionValue)
{	
	if(optionValue=="S")
	{
		document.getElementById("locationOption1").checked = true;
		dependentMetroArea.getElementsByTagName("Select")[0].selectedIndex=-1;
		document.getElementById("locationZipCode").value="";
	}
	else if(optionValue=="M")
	{
		
		dependentState.getElementsByTagName("Select")[0].selectedIndex=0;
		
		//dependentState.getElementsByTagName("Select")[0].value="";
		loadCities(dependentState.getElementsByTagName("SELECT")[0],'dependentCity','');
		//document.getElementById("locationZipCode").value="";
		
		document.getElementById("locationOption2").checked = true;
	}
	else if(optionValue=="Z")
	{
		dependentMetroArea.getElementsByTagName("Select")[0].selectedIndex=-1;
		dependentState.getElementsByTagName("Select")[0].selectedIndex=0;
		
//		dependentState.getElementsByTagName("Select")[0].value="";
		loadCities(dependentState.getElementsByTagName("SELECT")[0],'dependentCity','');
		document.getElementById("locationOption3").checked = true;

	}
}


