var xmlHttp

/*Generate Cities list for selected Province and dispay it in select menu
 */
function getCities(strProv) {

	var provID = strProv.value;
	var cities = document.getElementById('cities');
	
	if (provID != "") {
		
		xmlHttp=GetXmlHttpObject();
		
		if (xmlHttp==null) {
			alert ("Your browser does not support the XMLHttpRequest object.");
			return
		}
		
		
		var url = "/store/wireless/coverage/coverage_getcities.asp";
		url += "?provID="+provID;	

		xmlHttp.open("GET",url,false);
		xmlHttp.setRequestHeader('Content-Type',  "text/xml");
		
		xmlHttp.send(null);
		
		xmlResponse = xmlHttp.responseText;
		
		//split reponse into array
		arrResponse = xmlResponse.split("|");
		
		//further split array into city & id combo
		var arrCities = new Array()	
		for(var i = 0; i < arrResponse.length -1; i++) {
			arrCities[i] = arrResponse[i].split("=");
		}
		
		while (cities.options.length > 0)
			cities.remove(0);
		
		// Add a dummy option to the zip code drop-down list.
		var optionHeader = new Option ('Select City', '');
		
		try {
			cities.add(optionHeader, cities.options[cities.options.length]);
		}
		catch(ex) {
		// For IE.
			cities.add(optionHeader,1);
		}
		
		// Insert Cities for Provinces
		for (var i = 0; i < arrCities.length; i++) {
			
			var city = new Option (strConvert(arrCities[i][1]), arrCities[i][0]);

			try {
				cities.add(city, cities.options[cities.options.length]);
			}
			catch(ex) {
				// For IE.
				cities.add(city,i+1);
			}
			
		}
	}
	else{
		while (cities.options.length > 0)
			cities.remove(0);
		
		// Add a dummy option to the zip code drop-down list.
		var optionHeader = new Option ('Select City', '');
	
		try {
			cities.add(optionHeader, cities.options[cities.options.length]);
		}
		catch(ex) {
		// For IE.
			cities.add(optionHeader,1);
		}
	}
}

/*Generate and display coverage rating for selected City
 */
function getCoverage(strCity){
	var cityID = strCity.value;
	xmlHttp=GetXmlHttpObject();
		
	if (xmlHttp==null) {
		alert ("Your browser does not support the XMLHttpRequest object.");
		return
	}
	
	var url = "/store/wireless/coverage/coverage_getsignal.asp";
	url += "?cityID="+cityID;	
	
	xmlHttp.open("GET",url,false);
	xmlHttp.send(null);
	
	strResponse = xmlHttp.responseText;

	//split reponse into array
	arrResponse = strResponse.split("+");
	
	var currentSignal = document.getElementById("signal");
	var firstSignal = currentSignal.firstChild;

	var currentService = document.getElementById("service");
	var firstService = currentService.firstChild;
	
	var srvcLbl = document.getElementById("serviceLbl");
	var srvcLblFirstChild = srvcLbl.firstChild;
	
	if(firstSignal && firstService && srvcLblFirstChild) {
		// nodes exists
		
		//display the selected city's signal image
		var signal = document.createElement('img');
		signal.setAttribute('src', arrResponse[2]);
		signal.setAttribute('alt', arrResponse[3]);
		signal.setAttribute('width', arrResponse[4]);
		signal.setAttribute('height', arrResponse[5]);
		
		var newService = document.createElement("span");
		var newServiceType = document.createTextNode(arrResponse[6]);
		newService.appendChild(newServiceType);

		currentSignal.removeChild(firstSignal);
		currentService.removeChild(firstService);
		
		currentSignal.appendChild(signal);
		currentService.appendChild(newService);
		
		var newServiceLbl
		var newServiceLblChild
		
		if (arrResponse[6] != "") {
			newServiceLbl = document.createElement("strong");
			newServiceLblChild = document.createTextNode("Available Services:");
		}
		else {
			newServiceLbl = document.createElement("span");
			newServiceLblChild = document.createTextNode(arrResponse[3]);
		}

		newServiceLbl.appendChild(newServiceLblChild);
		srvcLbl.removeChild(srvcLblFirstChild);
		srvcLbl.appendChild(newServiceLbl);

	}
		
}

/*Create request object to retrive required values
 */
function GetXmlHttpObject() { 
  var objXMLHttp=null
  
  try {
    objXMLHttp = new ActiveXObject("Msxml2.XMLHTTP"); //later IE
  } catch (e) {
	  try {
		objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP"); //earlier IE
	  } catch (e) {
		  objXMLHttp = null;
	  }
  }
  
  if (objXMLHttp==null) {
	objXMLHttp=new XMLHttpRequest() //IE7, Firefox, Safari
  }
  return objXMLHttp
}
