
var _url_base = "charterform/ajax_airportsearch.aspx";

/**
 * Provides suggestions for state names (USA).
 * @class
 * @scope public
 */
function Suggestions() {

}

/**
 * Request suggestions for the given autosuggest control. 
 * @scope protected
 * @param oAutoSuggestControl The autosuggest control to provide suggestions for.
 */
 
var cAutoSuggestControl;



Suggestions.prototype.requestSuggestions = function (oAutoSuggestControl /*:AutoSuggestControl*/,
                                                          bTypeAhead /*:boolean*/) {
                                                          
    _input = oAutoSuggestControl.textbox.name;
    
    var sTextboxValue = oAutoSuggestControl.textbox.value.toLowerCase();
    
    //alert(sTextboxValue.length);
    
   if (sTextboxValue.length > 2){
  
		_url = _url_base + "?search=" + sTextboxValue;
		_url += "&input=" + _input;
		json_request('SEARCHSUGGEST',_url);
		
	} else {
		oAutoSuggestControl.hideSuggestions();
	}

};





function SEARCHSUGGEST(jsonData) {

	var local=jsonData;
	
	var aSuggestions = [];
	
	var sTextboxValue = cAutoSuggestControl.textbox.value.toLowerCase();
	 
	if (local[1].suggest) {
		
		var str = local[1].suggest.split("|");
		
		// limit displayed list
		var limit = 15;
		if (str.length >= limit) strLength = limit;
		else strLength = str.length - 1;
     
       for (var i=0; i <= strLength; i++) { 
	
           //if (str[i].toLowerCase().indexOf(sTextboxValue) >= 0) {
	
               aSuggestions.push(str[i]);

           //} 
       }

		//provide suggestions to the control
		cAutoSuggestControl.autosuggest(aSuggestions, false);
		jsonObj.removeScriptTag();
	}
    
}



//Click function
function setSearch(_input) {
	
	value = cAutoSuggestControl.textbox.value
	_name = cAutoSuggestControl.textbox.id
	
	_input = _name.substring(5,_name.length);
	
		try {
			code = /\(\w{3}\)?/.exec(value)[0].replace(/[\(\)]/g,"")
		} catch (ex) { 
			// regex might not always be possible
			// submit overridden value
			code = value
		}
		code = code.replace(/,/g," ");
		document.getElementById("code_"+_input).value = code;
		document.getElementById("name_"+_input).value = value;

	try {	
	
			if (getRadioValue("routetype") == "RT") {

				if (_input.indexOf("d_city_1") > -1) {
					document.getElementById("name_a_city_2").value = value;
					document.getElementById("code_a_city_2").value = code;
				}
				if (_input.indexOf("a_city_1") > -1) {
					document.getElementById("name_d_city_2").value = value;
					document.getElementById("code_d_city_2").value = code;
				}
			}
		} catch (ex) { 
			// alert(ex.message);
			// the radio buttons wil not always be here
		}

}





// showhide return calendar
function rtnCalendar(_state) {
	switch(_state) {
	 case "on":
		showEle('rtnDate_label');
		showEle('rtnDate_calendar');
		break;
	case "off":
		hideEle('rtnDate_label');
		hideEle('rtnDate_calendar');
		break;
	}
}


// add ROUTE
var segCounter = 1;


function rmvAllRoute() {
	strHTML = '';
	if (segCounter > 1) {
		for (i=segCounter;i>=2;i--) {
			document.getElementById("next_segment_" + i).innerHTML = strHTML;
		}
	}
	segCounter = 1;
}

function rmvRoute(_seg) {
	strHTML = '';
	segCounter--;
	document.getElementById("table_segment_" + _seg).style.display = "none";
}

function addRoute(_seg,_mc) {
	proceed = false;
	
	if (_seg == 2) {
		if (segCounter > 2) {
			// segments already exist
			proceed = false
		} else {
			// remove and redraw the second segment
			rmvAllRoute();
			proceed = true;
		}
		
	} else {
		proceed = true
	}
	
	if ((proceed) && (segCounter <= 5)) {

		prevSeg = _seg;
		prevSeg--;
		
		nextSeg = _seg;
		nextSeg++;

		segCounter++;
		
		strHTML = '';
		strHTML += '<table cellspacing="0" cellpadding="1" border="0" class="gfForm" id="table_segment_'+ _seg + '">';
		strHTML += '<tr>';
		strHTML += '<td valign="top">';
		
		// depart
			strHTML += '<input type="hidden" name="code_d_city" id="code_d_city_'+ _seg +'" /><input class="winXp" type="text" style="width:200px" name="name_d_city" id="name_d_city_'+ _seg +'" onblur="setSearch(this)"  autocomplete="off" /><br>';

		
		strHTML += '</td>';
		strHTML += '<td> &nbsp;&nbsp; to &nbsp;&nbsp; </td>';
		strHTML += '<td valign="top">';
		
		// return
			strHTML += '<input type="hidden" name="code_a_city" id="code_a_city_'+ _seg +'" /><input class="winXp" type="text" style="width:200px" name="name_a_city" id="name_a_city_'+ _seg +'" onblur="setSearch(this)"  autocomplete="off" /><br>';
		
		strHTML += '</td>';
		
		
		
		strHTML += '<td> &nbsp;&nbsp;</td>';
		strHTML += '<td valign="top">';
			strHTML += '<div name="anchor_'+ _seg +'" id="anchor_'+ _seg +'" style="height:20px;" onClick="getCalendar_NEXT(\'t_date_'+ _seg +'\',\'anchor_'+ _seg +'\'); return false;" ><input READONLY class="winXp" type="text" style="width:85px;" name="t_date" id="t_date_'+ _seg +'" required="true" errortext="Segment '+ _seg +' Travel Date" onFocus="getCalendar_NEXT(\'t_date_'+ _seg +'\',\'anchor_'+ _seg +'\'); return false;"  /><a href="javascript:;"><img style="padding:0px 0px 0px 0px;" align="top" src="charterform/images/icon_calendarpopup.gif" alt="Travel Date" width="19" height="18" border="0" onClick="getCalendar_NEXT(\'t_date_'+ _seg +'\',\'anchor_'+ _seg +'\'); return false;" /></a></div>';
		strHTML += '</td>';
		
		strHTML += '<td> &nbsp;&nbsp;&nbsp;&nbsp;</td>';
		strHTML += '<td id="btn_addroute_'+ _seg +'">'
		if (_mc) {
			// multi-city
			strHTML += '<input type="button" value=" + " style="width:25px;" onclick="addRoute('+ nextSeg +',true)" />';
			strHTML += '<input type="button" value=" - " style="width:25px;" onclick="rmvRoute('+ _seg +')" />';
		}
		strHTML += '</td>';	
		
		strHTML += '</tr>';
		strHTML += '</table>';
		strHTML += '<div id="next_segment_'+ nextSeg + '"></div>';
		document.getElementById("next_segment_" + _seg).innerHTML = strHTML;
		
		var oTextbox = new AutoSuggestControl(document.getElementById("name_d_city_" + _seg), new Suggestions());
		var oTextbox = new AutoSuggestControl(document.getElementById("name_a_city_" + _seg), new Suggestions());
		
	}

	strHTML = '';


}
