var locationType='';
var destObj='';
var new_option  = document.createElement('option');
var input_val='';
var bStoreCaption=0;

//prompt the user for custom state or city if not found on the list
function ask_input(host, destId, dependencyId, dependencyCaption, locType, msg){
	locationType=locType;
	if(dependencyId!=''){
		dependencyObj=document.getElementById(dependencyId);
		if(dependencyObj.value==''){
			alert('Please select ' + dependencyCaption + ' first');
			return;
		}
	}
	var input_val=prompt(msg, '');
	if (input_val!=null && input_val!=""){
		destObj=document.getElementById(destId);
		destObj.disabled=true;
		countryId=document.getElementById('country_id').value;
		stateId=document.getElementById('state_id').value;
		
		friendly_input_val = input_val;

		//create friendly url
		var str = "";
		var i;
		var exp_reg = new RegExp("[" + validchars + separator + "]");
		var exp_reg_space = new RegExp("[ ]");
		friendly_input_val.toString();
		for (i=0 ; i<friendly_input_val.length; i++) {
			if (exp_reg.test(friendly_input_val.charAt(i))) {
				str = str + friendly_input_val.charAt(i);
			} else {
				if (exp_reg_space.test(friendly_input_val.charAt(i))) {
					if (str.charAt(str.length-1) != separator) {
						str = str + separator;
					}
				}
			}
		}
		if (str.charAt(str.length-1) == separator) str = str.substr(0, str.length-1);
		friendly_input_val = str.toLowerCase();

		r=Math.random();
		url = host + "/scripts/server_scripts/store_custom_locations.php?input_val="+ input_val + "&locationType=" + locationType + "&countryId=" + countryId + "&stateId=" + stateId + "&friendly_url=" + friendly_input_val + "&r=" + r;
		makeRequest(url);
	}
}


//Ajax callback for adding state and city through user input
function alertContents() {
	if (http_request.readyState == 4) {						
		if (http_request.status == 200) {
			the_response = http_request.responseXML;
			var xmlDoc = the_response;
			var arr_locationId = xmlDoc.getElementsByTagName('locationId');
			var arr_locationCaption = xmlDoc.getElementsByTagName('locationCaption');
			var arr_isDuplicate = xmlDoc.getElementsByTagName('isDuplicate');

			locationId = arr_locationId[0].firstChild.nodeValue;
			locationCaption = arr_locationCaption[0].firstChild.nodeValue;
			isDuplicate = parseInt(arr_isDuplicate[0].firstChild.nodeValue);
			destObj.disabled=false;

			if(locationCaption!='' && isDuplicate==0){
				new_option  = document.createElement('option');
				new_option.value=locationId;					
				new_option.text=locationCaption;
				new_option.selected=true;

				if(locationType=='location_state'){
					if(state_caption_Obj=document.getElementById('state'))
						state_caption_Obj.value=locationCaption;
				}
				if(locationType=='location_region'){
					if(city_caption_Obj=document.getElementById('city'))
						city_caption_Obj.value=locationCaption;
				}


				try{
					destObj.add(new_option,null);		//standards compliant
				}catch(ex){
					destObj.add(new_option);			//IE only
				}					
			}
			if(isDuplicate==1){
				mx_options=destObj.options.length;
				for(i=0; i<mx_options; i++){
					if(destObj.options[i].value==locationId){
						destObj.options[i].selected="true"; break;						
					}
				}
			}
			return;
		}else{
			//alert('Error:404.');
		}
	}
}

function storeValue(obj, destID){
	destObj=document.getElementById(destID);
	if(obj.value!='')destObj.value=obj.options[obj.selectedIndex].text;			
}

function moveValue(obj, destID){
	destObj=document.getElementById(destID);
	if(obj.value!='')destObj.value=obj.value;
}