// JavaScript Document
////Ajax related method

var path = "";

var popularCityName="";

function validDisplay(selectedValue)
{	

	if(selectedValue =="IN")	
	{
		if(document.getElementById("ajaxZone").value!='E' && 
		document.getElementById("ajaxZone").value!='J' && document.getElementById("ajaxZone").value!='' && 
		document.getElementById("ajaxZone").value!='Y' && document.getElementById("ajaxZone").value!='F' && 
		document.getElementById("ajaxZone").value!='L')
		{		
		
			document.getElementById("subLocation").style.display = 'inline';
			document.getElementById("newSubLocation").style.display = 'inline';
			if(document.getElementById("ajaxChannel").value=='R')
			document.getElementById("scDistrict").style.visibility = 'hidden';
			
		}
		document.getElementById("popularCity").style.visibility = 'visible';					
	}
	else
	{
		if(document.getElementById("ajaxZone").value!='E' && document.getElementById("ajaxZone").value!='J' && document.getElementById("ajaxZone").value!='' && document.getElementById("ajaxZone").value!='Y' && document.getElementById("ajaxZone").value!='F' && document.getElementById("ajaxZone").value!='L')
		{		
			document.getElementById("subLocation").style.display = 'none';		
			
			document.getElementById("newSubLocation").style.display = 'none';
			
			if(selectedValue=="US" && document.getElementById("ajaxChannel").value=='R')
				document.getElementById("scDistrict").style.visibility = 'visible';						
		}
		
		document.getElementById("popularCity").style.visibility = 'hidden';				
	}
}




function loadStates(selectBox, targetDiv, pt)
{	
	var requestParameters = null;
	path =pt;
	
	var url = path+"/LocationLoaderServlet";
	var selectedValue = selectBox[selectBox.selectedIndex].value;
	
	validDisplay(selectedValue);
	
	//dependentCity.getElementsByTagName("SELECT")[0].options.length=1;
	
	requestParameters = "optionName=" + $(targetDiv).getElementsByTagName("SELECT")[0].name + "&selectedValue=" + selectedValue;
	
	if(document.getElementById("ajaxZone").value=='Y')
		requestParameters = requestParameters +"&zoneCode=Y";
	
	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);
	Element.update(dependentCity,obj.cityData);
	
	if(selectedValue=="IN")
	{
		Element.update(dependentSubLocation,obj.sublocationData);
	}
	
	if(document.getElementById("ajaxZone").value=='Y')
		Element.update(stateLabel,"<font class='star'>*</font>"+obj.stateLabel);
	else
		Element.update(stateLabel,obj.stateLabel);

	
	if(document.getElementById("ajaxChannel").value=='M' || document.getElementById("ajaxChannel").value=='A' || document.getElementById("ajaxChannel").value=='R' 
	|| document.getElementById("ajaxChannel").value=='P' || document.getElementById("ajaxChannel").value=='L' ||
	document.getElementById("ajaxZone").value=='J' || document.getElementById("ajaxZone").value=='F')
	{	
		Element.update(priceCode,obj.currencyLabel);
	}
	if(document.getElementById("ajaxChannel").value=='M')
		Element.update(priceCode1,obj.currencyLabel);
		
	document.getElementById("locationImage").style.visibility = 'hidden';
	}
	});
}

function reportAjaxError() 
{
  alert("Cannot retrieve dependent options")
  document.getElementById("locationImage").style.visibility = 'hidden';
}
		
function loadCities(selectBox, targetDiv,pt) 
{

	var country = dependentCountry.getElementsByTagName("SELECT")[0].value;
	if(path=="")
	path = pt;
		
	var requestParameters = null;
	
	var url = path+"/LocationLoaderServlet";
	
	requestParameters = "countryName="+country+ "&optionName=" + $(targetDiv).getElementsByTagName("SELECT")[0].name + "&selectedValue=" + selectBox[selectBox.selectedIndex].value;
	if(document.getElementById("ajaxZone").value=='Y')
		requestParameters = requestParameters +"&zoneCode=Y";
		
	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);
	document.getElementById("locationImage").style.visibility = 'hidden';
	
	if(popularCityName!="")
	{
		assignCity();
	}
	}
	});
}
		  
function loadSubLocation(selectBox, targetDiv, stateDiv,pt) 
{

	if(document.getElementById("ajaxZone").value!='E' && document.getElementById("ajaxZone").value!='J' && document.getElementById("ajaxZone").value!='F')
	{
		var country = dependentCountry.getElementsByTagName("SELECT")[0].value;
		
		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';
		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]);
		Element.update('dependentSubLocation', obj.resultData);
		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';
	}
	
}



///Contact section 
function loadContactStates(selectBox, targetDiv, pt)
{
	
	var requestParameters = null;
	path =pt;
	
	var url = path+"/ContactLoaderServlet";
	var selectedValue = selectBox[selectBox.selectedIndex].value;
	dependentContactCity.getElementsByTagName("SELECT")[0].value="Anywhere";
	
	dependentContactCity.getElementsByTagName("SELECT")[0].options.length=1;
	
	requestParameters = "optionName=" + $(targetDiv).getElementsByTagName("SELECT")[0].name + "&selectedValue=" + selectedValue;
	dependentContactState.getElementsByTagName("SELECT")[0].disabled = true;
	dependentContactCity.getElementsByTagName("SELECT")[0].disabled = true;
	document.getElementById("contactImage").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);
	Element.update(dependentContactCity,obj.cityData);
	Element.update(contactStateLabel,obj.stateLabel);
	document.getElementById("contactImage").style.visibility = 'hidden';
	}
	});
}


function loadContactCities(selectBox, targetDiv,pt) 
{

	var country = dependentContactCountry.getElementsByTagName("SELECT")[0].value;
	if(path=="")
	path = pt;
		
	var requestParameters = null;
	
	var url = path+"/ContactLoaderServlet";
	
	requestParameters = "countryName="+country+ "&optionName=" + $(targetDiv).getElementsByTagName("SELECT")[0].name + "&selectedValue=" + selectBox[selectBox.selectedIndex].value;
	document.getElementById("contactImage").style.visibility = 'visible';
	dependentContactCity.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);
	document.getElementById("contactImage").style.visibility = 'hidden';
	}
	});
}



////popular cities

var wp=window.parent;
var popularcityframe=null;
function GetCityFrame(){if (!popularcityframe)popularcityframe=wp.getObj('popularCityFrame');return popularcityframe;}
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 loadPopularFrame(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("popularCityFrame").style.visibility = 'visible';
	document.getElementById("popularCityFrame").style.display = 'inline';
}
/*
function CloseCity()
{
	
	if(GetCityFrame()!=null)
	{	
		GetCityFrame().style.visibility='hidden';
		GetCityFrame().style.display='none';
	}
	
}
*/

function CloseCity()
{
	document.getElementById("mn").className="menuNormal";
	if(GetCityFrame()!=null)
	{	
		GetCityFrame().style.visibility='hidden';
		GetCityFrame().style.display='none';
	}
	
}

function setLocation(locValue)
{
	if(locValue==2)
		document.getElementById("locationOption2").checked = true;
	if(locValue==3)
		document.getElementById("locationOption3").checked = true;
}


//This section is related to handle popular cities


function loadLocation(stateValue,cityVal, pt)
{
	if(path=="")	
		path = pt;
	
	dependentState.getElementsByTagName("SELECT")[0].value=stateValue;

	loadCities(dependentState.getElementsByTagName("SELECT")[0],'dependentCity','');
	
	popularCityName = cityVal;
	
	CloseCity();
	
}

function assignCity()
{	
	
	dependentCity.getElementsByTagName("SELECT")[0].value=popularCityName;
	
	if(document.getElementById("ajaxZone").value!='E' && document.getElementById("ajaxZone").value!='J')
	{
		loadSubLocation(dependentCity.getElementsByTagName("SELECT")[0], 'dependentSubLocation', '',''); 
	}
	popularCityName="";
}
