
// JavaScript Document
//##############################################################
var outputArray_one_leg = new Array();
var outputArray_round_trip = new Array();
var outputArray = new Array();
var newSeparatedTimes = new Array();
var lonArray = new Array();
var latArray = new Array();
var descs = new Array();
var cities = new Array();
var countries = new Array();
var pax = new Array(); // pax or patients [both are the same]
//new controls
var accompanyingPersons = new Array();
var weightCapacity = new Array();
var kgsTons = new Array();
//end new controls
var oneLeg_roundTrip = new Array();
var airportID;
//#############################################################
function validateAddLeg( formName ){
	var error = false;
	var form = document.getElementById(formName);
	var hops = document.getElementById('num_hops');
	
	//just 7 legs
	if( hops.value < 6 ){
			//fields to validate array
			leDetails = new Array();
			//leDetails[0] = 'from1';
			leDetails[0] = 'ctl00_content_book1_txt_From1';
			//leDetails[1] = 'to1';
			leDetails[1] = 'ctl00_content_book1_txt_To1';
			leDetails[2] = 'fly_after';
			leDetails[3] = 'fly_before';
			
			//calculate start
			if( hops.value == 0 ){
				start = 0;
				//alert('validate 4');
			}else{
				start = 1;
				//alert('validate 3');
			}
			
			for( i = start ; i < leDetails.length-2 ; i++ ){//alert(start);
					fItem = document.getElementById(leDetails[i]);
					//alert(fItem.value);
					if( fItem.value == '' || fItem.value == 'Enter city name...' ){
						error = true;
						fItem.style.border = '1px solid #FF0000';
						msg = 'Insufficient entries. Please complete your specification.';
					}else{
						fItem.style.border = '1px solid #AFAFAF';
					}
			}
			
			//alert(error);
			//make sure it passes the empti validation first
			if( ! error ){
			    for( j = 0 ; j < leDetails.length-1 ; j++ ){
			            if( j == 0 || j == 1 ){
			                s = document.getElementById(leDetails[j]);
					        //n = document.getElementById(leDetails[j]+'_suggest');
					        n = document.getElementById(leDetails[j]);
					        if( n.value == 0 ){
					            error = true;
						        s.style.border = '1px solid #FF0000';
						        msg = 'Please select airport from list.';
					        }else{
						        s.style.border = '1px solid #AFAFAF';
					        }
					    }
			    }
			}
			
			
			//check if 2 airports r the same
			fItem_01 = document.getElementById(leDetails[0]);
			fItem_02 = document.getElementById(leDetails[1]);
			if(fItem_02.value != '' && fItem_02.value != ''){
			    if( fItem_01.value == fItem_02.value && fItem_01.value != 'Enter city name...' && fItem_02.value != 'Enter city name...' ){
				    error = true;
				    fItem_01.style.border = '1px solid #FF0000';
				    fItem_02.style.border = '1px solid #FF0000';
				    //msg = 'Airports can\'t be the same.';
				    msg = 'Please select different departure and arrival airports.';
			    }else{
				    //fItem_01.style.border = '1px solid #AFAFAF';
				    //fItem_02.style.border = '1px solid #AFAFAF';
				    
				    // check **********************************************************
				    var s = 0;
		            //check if date is after or equal 2day
		            var isEnteredDateValid = isPast( leDetails[2] , 't_time_multi_leg' ); // true | false
		            //alert(isEnteredDateValid);
        			
		            //if it's not [2day or after]
		            if(! isEnteredDateValid && $( leDetails[2] ).value != '' ){
		                //raise error flag
		                error = true;
		                document.getElementById(leDetails[2]).style.border = '1px solid #FF0000';
		                //msg = 'Date can\'t be in the past.';
		                msg = 'Selected date precedes previous leg date.';
		                //exit function
		                //return;
		            }else{
        			
		                    //check for time if we r on the same date of flight post
		                    //var isToday_ = isToday( leDetails[2] );
			                //alert(isToday_);
            			    
		                    //if( isToday_ ){
		                        //var isHoursOk = checkHours( 't_time_multi_leg' );
		                        //alert( isHoursOk );
		                    //}
        			    			    
		                    //alert("date is 2day or after, proceed with rest of dates in array");
		                    //if hops.value > 0
		                    //check for the last date against the new entered date
        			        
    			            //alert("hops value = "+hops.value);
		                    if( hops.value > 0 ){
        			        
			                    // check dates for the last entered date against the new entered date
			                    // v for valid
			                    last_date = 'last_date';
			                    v_1 = checkDates( last_date , leDetails[2] , 't_time_multi_leg' ); // true | false
					            //alert(v_1);
			                    //checkDates( last_date , leDetails[2] ); // true | false
			                    //v_1 = true;
                				
			                    date_000 = document.getElementById(leDetails[2]);
			                    date_001 = document.getElementById(last_date);
                				
                				if( $( leDetails[2] ).value != '' ){
			                        //cause error or set s=0 to proceed..
			                        if( v_1 ){//valid
				                        //date_000.style.border = '1px solid #AFAFAF';
				                        s = 0;
			                        }else{//not valid
				                        error = true;
				                        s = 1;
				                        date_000.style.border = '1px solid #FF0000';
		                                //msg = 'Date can\'t be before the last leg\'s date.';
		                                msg = 'Please select different date and time other than the previous leg.';
			                        }
			                    }else{
			                        error = true;
				                    date_000.style.border = '1px solid #FF0000';
			                        msg = 'Please enter a correct date.';
			                    }
		                    }
        			
		                    if( s == 0 ){
			                    // check dates
			                    // v for valid
			                    //v_2 = checkDates( leDetails[2] , leDetails[3] ); // true | false
			                    v_2 = true;
			                    date_01 = document.getElementById(leDetails[2]);
			                    //date_02 = document.getElementById(leDetails[3]);
			                    if( v_2 ){
				                    date_01.style.border = '1px solid #AFAFAF';
				                    //date_02.style.border = '1px solid #AFAFAF';
			                    }else{
				                    error = true;
				                    date_01.style.border = '1px solid #FF0000';
				                    //date_02.style.border = '1px solid #FF0000';
			                    }
		                    }
		            }
		            //***********************************************************************
		            
			    }
			}
			
			
			
			//alert(s);
			if( error == true){ //error
			
					document.getElementById('msg').className = 'red';
					
					//if( s == 1 ){
					//    document.getElementById('msg').innerHTML = 'Date error..';
					//    s = 0;
					//}else document.getElementById('msg').innerHTML = 'Cannot save leg';
					document.getElementById('msg').innerHTML = msg;
					
			}else{ // no errors
					document.getElementById('msg').innerHTML = '&nbsp;';
					
					//validate airports
					var ap1 = validateAirport( leDetails[0] ); // just return true | false
                    var pFromMultiLeg = $('ctl00_content_book1_hdn_From1').value.split('|');
					ap1_lon = pFromMultiLeg[1];
					ap1_lat = pFromMultiLeg[2];
					desc1 = pFromMultiLeg[5];
					city1 = pFromMultiLeg[3];
					country1 = pFromMultiLeg[4];
					//ap1_lon = tempIDArrayFrom[1];
					//ap1_lat = tempIDArrayFrom[2];
					//desc1 = tempIDArrayFrom[5];
					//city1 = tempIDArrayFrom[3];
					//country1 = tempIDArrayFrom[4];
						
					var ap2 = validateAirport( leDetails[1] ); // just return true | false
					var pToMultiLeg = $('ctl00_content_book1_hdn_To1').value.split('|');
					ap2_lon = pToMultiLeg[1];
					ap2_lat = pToMultiLeg[2];
					desc2 = pToMultiLeg[5];
					city2 = pToMultiLeg[3];
					country2 = pToMultiLeg[4];
					//ap2_lon = tempIDArrayTo[1];
					//ap2_lat = tempIDArrayTo[2];
					//desc2 = tempIDArrayTo[5];
					//city2 = tempIDArrayTo[3];
					//country2 = tempIDArrayTo[4];
					
					errorIdentifier1 = 'w_from';
					errorIdentifier2 = 'w_to';
					
					//var saveToArray = airportOutput( ap1 , ap2 , errorIdentifier1 , errorIdentifier2 ); // (return true | false) && (xcute code)
	                var saveToArray = true;				
					
					//everything is ok, proceed and save to the array
					//alert(saveToArray);
					if( saveToArray ){
						//srart adding @ index = num_hops
						startingIndex = +hops.value*4;
						//alert(startingIndex);
						k = 0;
						
						for( j=startingIndex ; j<startingIndex+4 ; j++ ){
							//inject the array with the values
							//alert(document.getElementById(leDetails[k]).value);
							
							outputArray[j] = document.getElementById(leDetails[k]).value;
							k++;
						}
						
						//inject the pax||patients [both r the same]
						//pax[+hops.value] = document.getElementById('pax_multi_leg').value;
						
						//prepare custom values for controls
						var current_tab = $('current_tab').value;
						
						if(current_tab == 1){
						    /*
						    alert(document.getElementById('pax_multi_leg').value);
						    alert(document.getElementById('accompany_1').value);
						    alert(document.getElementById('unit1').value);
						    alert(document.getElementById('kgs_tons1').value);
						    */
						    
						    //inject the pax||patients [both r the same]
						    pax[+hops.value] = document.getElementById('pax_multi_leg').value;
						    accompanyingPersons[+hops.value] = -1;
						    kgsTons[+hops.value] = -1;
						    weightCapacity[+hops.value] = -1;	
						    				    
						}else if(current_tab == 2){
						    //inject the pax||patients [both r the same]
						    pax[+hops.value] = document.getElementById('pax_multi_leg').value;
						    accompanyingPersons[+hops.value] = document.getElementById('accompany_3').value;
						    kgsTons[+hops.value] = -1;
						    weightCapacity[+hops.value] = -1;
						    
						}else if(current_tab == 3){
						    pax[+hops.value] = -1;
						    accompanyingPersons[+hops.value] = document.getElementById('accompany_3').value;
						    kgsTons[+hops.value] = document.getElementById('kgs_tons3').value;
						    weightCapacity[+hops.value] = document.getElementById('unit3').value;
						    
						}
						
						//inject the lon , lat arrays with values from XML
						if( hops.value == 0 ){//add 2 array values
						
							//lon , lat
							lonArray[+hops.value] = ap1_lon;
							latArray[+hops.value] = ap1_lat;
							lonArray[+hops.value+1] = ap2_lon;
							latArray[+hops.value+1] = ap2_lat;
						    //desc
						    descs[+hops.value] = desc1;
						    descs[+hops.value+1] = desc2;
						    //city
						    cities[+hops.value] = city1;
						    cities[+hops.value+1] = city2;
						    //country
						    countries[+hops.value] = country1;
						    countries[+hops.value+1] = country2;
						    
						    //add time [new] 22-05-2008
						    newSeparatedTimes[+hops.value] = document.getElementById('t_time_multi_leg').value;
						    
						    
						    //change the add leg btn to add another leg
						    //submit_multi_leg
						    document.getElementById('submit_multi_leg').value = 'Add another leg';
						
						}else{//add just 1 array value, the last lon, lat
						    
						    // lon , lat
							lonArray[+hops.value+1] = ap2_lon;
							latArray[+hops.value+1] = ap2_lat;
						    //desc
						    descs[+hops.value+1] = desc2;
						    //city
						    cities[+hops.value+1] = city2;
						    //country
						    countries[+hops.value+1] = country2;
						    
						    //add time [new] 22-05-2008
						    newSeparatedTimes[+hops.value] = document.getElementById('t_time_multi_leg').value;
						}
						
						//show airport icon
						//showAirportIcon( hops.value , document.getElementById(leDetails[0]).value , hops.value );
						document.getElementById('graph').style.display = 'block';
						drawGraph(document.getElementById(leDetails[0]).value,document.getElementById(leDetails[1]).value,document.getElementById(leDetails[2]).value,document.getElementById('t_time_multi_leg').value);
						
						//hide FROM control and replace it with span with value of the TO from the last entered leg
						//alert(document.getElementById(leDetails[1]).value);
						document.getElementById(leDetails[0]).value = document.getElementById(leDetails[1]).value.toUpperCase();
						document.getElementById(leDetails[0]).readOnly = true;
						document.getElementById(leDetails[0]).disabled = true;
						
						if(document.getElementById(leDetails[0]+'_ac'))
						document.getElementById(leDetails[0]+'_ac').style.display = 'none';
						if(document.getElementById(leDetails[1]+'_ac'))
						document.getElementById(leDetails[1]+'_ac').style.display = 'block';
						
						//fill last_date with the last entered date
						document.getElementById('last_date').value = document.getElementById(leDetails[2]).value + " " + document.getElementById('t_time_multi_leg').value;
						//alert(document.getElementById('last_date').value);
						
						//empty form fields
						emptyFields();
						
						//increase num_hops by 1
						hops.value = +hops.value+1;
						//alert(hops.value);
						
						//show success msg
						document.getElementById('msg').className = 'green';
						document.getElementById('msg').innerHTML = 'Leg added successfully';
						
						//empty floating tooltips
						document.getElementById('fixedtipdiv5').innerHTML = '';
						document.getElementById('fixedtipdiv6').innerHTML = '';
						
						
						
					}
			}
			//alert(s);
	}else{ //xceeded 7 legs
				document.getElementById('msg').className = 'red';
				document.getElementById('msg').innerHTML = 'Maximum 6 legs per Trip';
	}
}
//##############################################################
//function clearReservation(){
    //alert("Success!");
//}
//##############################################################
function d( id , x ){

    //today
    var today = new Date();
    
    //increase today's date +1
    var datePlusOneObj = today.setDate( today.getDate() + 1 );
    
    //convert milliseconds to date/time
    var readableDateObj = new Date( parseFloat( datePlusOneObj ) );
    var readableDateObjToLocale = readableDateObj.toLocaleString();
    
    //create a new date from the date+1
    var newDate = new Date( readableDateObjToLocale );
    
    var month = newDate.getMonth()+1;
    var day = newDate.getDate();
    var year = newDate.getFullYear();
    //alert( newDate.getDate() );
    //alert( newDate.getMonth()+1 );
    //alert( newDate.getFullYear() );
    
    //prepare time params
    /*var curdate = new Date();
    var m_names = new Array("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12");
    var month = curdate.getMonth();
    var day = curdate.getDate();
    var year = curdate.getFullYear();*/
    
    //check for browser culture [new]
    var browser = navigator.userAgent.toLowerCase();
    var IE = browser.indexOf('msie');
    var FF = browser.indexOf('firefox');
    var lang;
    
    if( IE != -1 && FF == -1 ){//IE
        lang = navigator.userLanguage;
    }else{//FF and other
        lang = navigator.language;
    }
    
    lang = lang.toLowerCase().indexOf('en-us') > -1;
    //alert( lang );
    
    //if( lang ){//en-us
    var defaultCulture = $('ctl00_content_clientculture').value;
    
    if( defaultCulture == 1 ){//US
        //if(x) var cd = m_names[month] + '/' + (+day+x) + '/' + year;
        //else var cd = m_names[month] + '/' + (+day+1) + '/' + year;
        
        var cd = month + '/' + day + '/' + year;
        
    }else{
        //if(x) var cd = (+day+x) + '/' + m_names[month] + '/' + year;
        //else var cd = (+day+1) + '/' + m_names[month] + '/' + year;
        
        var cd = day + '/' + month + '/' + year;
        
    }
    
    //set the value in the textbox
    $( id ).value = cd;
}
//##############################################################
/*
 * Date Format 1.2.2
 * (c) 2007-2008 Steven Levithan <stevenlevithan.com>
 * MIT license
 * Includes enhancements by Scott Trenda <scott.trenda.net> and Kris Kowal <cixar.com/~kris.kowal/>
 *
 * Accepts a date, a mask, or a date and a mask.
 * Returns a formatted version of the given date.
 * The date defaults to the current date/time.
 * The mask defaults to dateFormat.masks.default.
 */
var dateFormat = function () {
	var	token = /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,
		timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,
		timezoneClip = /[^-+\dA-Z]/g,
		pad = function (val, len) {
			val = String(val);
			len = len || 2;
			while (val.length < len) val = "0" + val;
			return val;
		};

	// Regexes and supporting functions are cached through closure
	return function (date, mask, utc) {
		var dF = dateFormat;

		// You can't provide utc if you skip other args (use the "UTC:" mask prefix)
		if (arguments.length == 1 && (typeof date == "string" || date instanceof String) && !/\d/.test(date)) {
			mask = date;
			date = undefined;
		}

		// Passing date through Date applies Date.parse, if necessary
		date = date ? new Date(date) : new Date();
		if (isNaN(date)) throw new SyntaxError("invalid date");

		mask = String(dF.masks[mask] || mask || dF.masks["default"]);

		// Allow setting the utc argument via the mask
		if (mask.slice(0, 4) == "UTC:") {
			mask = mask.slice(4);
			utc = true;
		}

		var	_ = utc ? "getUTC" : "get",
			d = date[_ + "Date"](),
			D = date[_ + "Day"](),
			m = date[_ + "Month"](),
			y = date[_ + "FullYear"](),
			H = date[_ + "Hours"](),
			M = date[_ + "Minutes"](),
			s = date[_ + "Seconds"](),
			L = date[_ + "Milliseconds"](),
			o = utc ? 0 : date.getTimezoneOffset(),
			flags = {
				d:    d,
				dd:   pad(d),
				ddd:  dF.i18n.dayNames[D],
				dddd: dF.i18n.dayNames[D + 7],
				m:    m + 1,
				mm:   pad(m + 1),
				mmm:  dF.i18n.monthNames[m],
				mmmm: dF.i18n.monthNames[m + 12],
				yy:   String(y).slice(2),
				yyyy: y,
				h:    H % 12 || 12,
				hh:   pad(H % 12 || 12),
				H:    H,
				HH:   pad(H),
				M:    M,
				MM:   pad(M),
				s:    s,
				ss:   pad(s),
				l:    pad(L, 3),
				L:    pad(L > 99 ? Math.round(L / 10) : L),
				t:    H < 12 ? "a"  : "p",
				tt:   H < 12 ? "am" : "pm",
				T:    H < 12 ? "A"  : "P",
				TT:   H < 12 ? "AM" : "PM",
				Z:    utc ? "UTC" : (String(date).match(timezone) || [""]).pop().replace(timezoneClip, ""),
				o:    (o > 0 ? "-" : "+") + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4),
				S:    ["th", "st", "nd", "rd"][d % 10 > 3 ? 0 : (d % 100 - d % 10 != 10) * d % 10]
			};

		return mask.replace(token, function ($0) {
			return $0 in flags ? flags[$0] : $0.slice(1, $0.length - 1);
		});
	};
}();

// Some common format strings
dateFormat.masks = {
	"default":      "ddd mmm dd yyyy HH:MM:ss",
	shortDate:      "m/d/yy",
	mediumDate:     "mmm d, yyyy",
	longDate:       "mmmm d, yyyy",
	fullDate:       "dddd, mmmm d, yyyy",
	shortTime:      "h:MM TT",
	mediumTime:     "h:MM:ss TT",
	longTime:       "h:MM:ss TT Z",
	isoDate:        "yyyy-mm-dd",
	isoTime:        "HH:MM:ss",
	isoDateTime:    "yyyy-mm-dd'T'HH:MM:ss",
	isoUtcDateTime: "UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"
};

// Internationalization strings
dateFormat.i18n = {
	dayNames: [
		"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat",
		"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"
	],
	monthNames: [
		"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec",
		"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
	]
};

// For convenience...
Date.prototype.format = function (mask, utc) {
	return dateFormat(this, mask, utc);
};
//##############################################################
function getArray(){
    x=''; //alert(outputArray.length);
	for(i=0;i<outputArray.length;i++){
		x += outputArray[i]+' - ';
	}
	alert(x);
}
function getQueryString(){

    // Parse the current page's querystring
    var qs = window.location.search.substring(1);
    return qs;

}
//##############################################################
function checkDates( date1 , date2 , _time ){//last_date,leDetails[2]
    
	var valid = false;
	var today = new Date();
	var m_names = new Array("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12");
    var month = today.getMonth();
    var day = today.getDate();
    var year = today.getFullYear();
    
    var hrs = today.getHours();
    var minutes = today.getMinutes();
    var ampm = "AM";
    if (hrs > 11 ) ampm = "PM";
    if (hrs > 12)	hrs -= 12; 
    
    var defaultCulture = $('ctl00_content_clientculture').value;
    //alert(defaultCulture);
    
    if( defaultCulture == 1 ){//US
    
        cd = m_names[month] + '/' + day + '/' + year + ' ' + hrs + ':' + minutes + ' ' + ampm;
        //alert('US');
        //alert(cd);
        //prepare date1
        //y = $(date1).value.split(" ");//alert(y[0]);alert(y[1]);
        
        //alert( $(date1).value );
        //alert( $(date2).value + ' ' + $(_time).value );
        x = compareDates( $(date2).value + ' ' + $(_time).value , 'M/d/y h:m a' , $(date1).value , 'M/d/y h:m a' );
        //alert(x);
        
    }else{//GB
    
        cd1 = day + '/' + m_names[month] + '/' + year + ' ' + hrs + ':' + minutes + ' ' + ampm;
        //alert('GB');
        //alert(cd1);
        //alert( $(_date).value );
        //y = $(date1).value.split(" ");
        //alert(y[0]);alert(y[1]);
        //alert( isDate( cd1 , 'd/MM/y' ) );
        //alert( $(_date).value );
        //alert( isDate( $(_date).value , 'dd/MM/y' ) );
        //alert( $(date1).value );
        //alert( $(date2).value + ' ' + $(_time).value );
        //alert(y.replace(',',' '));
        
        x = compareDates( $(date2).value + ' ' + $(_time).value  , 'd/M/y h:m a' , $(date1).value , 'd/M/y h:m a' );
        //alert(x);
    }
    
    if( x == 1 ) valid = true;
    else valid = false;
    //alert(valid);
    
    //if ( d2_const < d1 ) valid = true;
    
    return valid;

}
//##############################################################
function isPast( _date , _time ){
    //alert($(_time).value);
    //alert($(_date).value);
	var dateTime = document.getElementById( _date ).value + " " + document.getElementById( _time ).value;
	var d1 = new Date( dateTime );
	//var d1 = d1_.toLocaleDateString();
	
	var today = new Date();
	var m_names = new Array("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12");
    var month = today.getMonth();
    var day = today.getDate();
    var year = today.getFullYear();
    
    var hrs = today.getHours();
    var minutes = today.getMinutes();
    var ampm = "AM";
    if (hrs > 11 ) ampm = "PM";
    if (hrs > 12)	hrs -= 12;


    var valid = false;
    
    var defaultCulture = $('ctl00_content_clientculture').value;
    //alert(defaultCulture);
    
    if( defaultCulture == 1 ){//US
    
        cd = m_names[month] + '/' + day + '/' + year + ' ' + hrs + ':' + minutes + ' ' + ampm;
        //alert('US');
        //alert(cd);
        //alert( $(_date).value + ' ' +  $(_time).value );
        x = compareDates( cd , 'M/d/y h:m a' , $(_date).value + ' ' +  $(_time).value , 'M/d/y h:m a' );//h:m a
        //alert(x);
        
    }else{//GB
    
        cd1 = day + '/' + m_names[month] + '/' + year + ' ' + hrs + ':' + minutes + ' ' + ampm;
        //alert('GB');//
        //alert(cd1);
        //alert( $(_date).value + ' ' +  $(_time).value );
                
        //alert( isDate( cd1 , 'd/MM/y' ) );
        //alert( $(_date).value + ' ' +  $(_time).value );
        //alert( isDate( $(_date).value , 'd/MM/y' ) );
        
        x = compareDates( cd1 , 'd/M/y h:m a' , $(_date).value + ' ' + $(_time).value , 'd/M/y h:m a' );
        //alert(x);
    }
    
    if( x == 0 ) valid = true;
    else valid = false;
    //alert(valid);
    
    return valid;

}
//##############################################################
/*function isToday( _date ){
    
    //alert( _date );
    
	var d1 = new Date( document.getElementById( _date ).value );
	var today = new Date();
	var valid = false;

//alert("d1 =" +d1);
//alert("today =" +today);

    if ( d1 == today ) valid = true; //alert("correct");
    //else alert("wrong");
    
    return valid;

}*/
//##############################################################
/*function checkHours( hr ){
    //today
    var x = new Date();
    now = x.getHours();
    valid = false;
    //alert(y);
    
    //the time selected
    //var ts = document.getElementById( hr ).value;
    //operate on the string from the time menu
    
    //alert(ts);
    newTime = operateOnTime( hr );
    //alert(newTime);
    
    //compare times
    if( newTime >= now ){
        valid = true;
    }
    
    return valid;
    
}*/
//##############################################################
/*function operateOnTime( t ){
    //the time selected
    var ts = document.getElementById( t ).value;
    
    //length of menu value
    newTS = ts.length;
    
    //cut the constant ':00 PM'
    length_to_be_sliced = newTS-6;
    
    //slice AM/PM
    AMPM = ts.substring( newTS-2 , newTS );
    //alert(AMPM);
    if( AMPM == 'AM' ) increase = 0;
    else increase = 12;
    
    //slice the hrs from the entire string
    newTS_ = ts.substring( 0 , length_to_be_sliced );
    //alert(newTS_);
    
    //apply am|pm 
    newTS__ = (+newTS_) + increase;
    //alert(xnewTS_);
    
    return newTS__;
}*/
//##############################################################
function validateEditLeg( formName ){
	var error = false;
	var form = document.getElementById(formName);
	var editable = document.getElementById('editable');

			//fields to validate array
			leDetails = new Array();
			leDetails[0] = 'from1';
			leDetails[1] = 'to1';
			leDetails[2] = 'fly_after1';
			//leDetails[3] = 'fly_before1';
			v=1;
			var newValues = new Array();
			
			for( i = 0 ; i < leDetails.length ; i++ ){
					editSpan = document.getElementById('src'+v+'_edit').style.display;
					fItem = document.getElementById(leDetails[i]);
						
					if( editSpan == 'block' ){
							//check for empty, then get the values
							if( fItem.value == '' ){
								error = true;
								fItem.style.border = '1px solid #FF0000';
							}else{
								fItem.style.border = '1px solid #AFAFAF';
								//get the cotrol value
								newValues[i] = fItem.value;
							}
					}else{
							//get the span values as it's not edited
							newValues[i] = document.getElementById(leDetails[i]+'_src').innerHTML;
					}
					//alert(newValues[i]);
					v++;
			}
			
			// check dates
			// v for valid
			//v = checkDates( leDetails[2] , leDetails[3] ); // true | false
			v = true;
			date_01 = document.getElementById(leDetails[2]);
			//date_02 = document.getElementById(leDetails[3]);
			if( v ){
				date_01.style.border = '1px solid #AFAFAF';
    			//date_02.style.border = '1px solid #AFAFAF';
			}else{
			    error = true;
			    date_01.style.border = '1px solid #FF0000';
				//date_02.style.border = '1px solid #FF0000';
			}
			
			if( error == true ){ //error
					document.getElementById('msg_edit').className = 'red';
					document.getElementById('msg_edit').innerHTML = 'Insufficient entries. Please complete your specification';
			}else{ // no errors
					document.getElementById('msg_edit').innerHTML = '&nbsp;';
					//validate airports
					//var ap1 = validateAirport( newValues[0] , 'a' ); // just return true | false
					//var ap2 = validateAirport( newValues[1] , 'b' ); // just return true | false
					var ap1 = newValues[0];
					var ap2 = newValues[1];
					//errorIdentifier1 = 'w_from1';
					//errorIdentifier2 = 'w_to1';
					
					//var saveToArray = airportOutput( ap1 , ap2 , errorIdentifier1 , errorIdentifier2 ); // (return true | false) && (xcute code)
	                var saveToArray = true;				
					
					//everything is ok, proceed and save to the array
					//alert(saveToArray);
					if( saveToArray ){
						//srart updating @ index = editable
						startingIndex = +editable.value*4;
						k = 0;
						
						for( j=startingIndex ; j<startingIndex+4 ; j++ ){
							//inject the array with the values
							outputArray[j] = newValues[k];
							k++;
						}
						//update time [new] 22-05-2008
						newSeparatedTimes[+editable.value] = document.getElementById('t_time_multi_leg_edit').value;
						
						field_ = document.getElementById('src3_edit');
						//alert(field_.style.display);
						if( field_.style.display == 'block' || field_.style.display == '' ){//alert('k');
						    //update time again in graph [new] 02-06-2008
						    document.getElementById('d').innerHTML = document.getElementById('fly_after1').value;
						    document.getElementById('t').innerHTML = document.getElementById('t_time_multi_leg_edit').value;
		                    document.getElementById('fly_after1_src').innerHTML = newValues[2];
						    document.getElementById('span1').innerHTML = document.getElementById('t_time_multi_leg_edit').value;				
						}
						
						//close any open inPlaceEditor
						resetInPlaceEditorControls();
						
						//update the correspondent span value in the legs nav
						//src = document.getElementById(leDetails[0]);
						//e = document.getElementById('editable');
						//target = 'x' + e.value;
						//document.getElementById( target ).innerHTML = '&nbsp;' + src.value;
						
						//assign new values to their correspondent divs
						document.getElementById('from1_src').innerHTML = newValues[0];
						document.getElementById('to1_src').innerHTML = newValues[1];
						//if( field_.style.display == 'block' || field_.style.display == '' ){alert('k');
						    //document.getElementById('fly_after1_src').innerHTML = newValues[2];
						    //document.getElementById('span1').innerHTML = document.getElementById('t_time_multi_leg_edit').value;
		                //}				
						//document.getElementById('fly_before1_src').innerHTML = newValues[3];
						
						//show success msg
						document.getElementById('msg_edit').className = 'green';
						document.getElementById('msg_edit').innerHTML = 'Leg updateed successfully';
						
						//reset the t_type to be submitted
						document.getElementById('t_type').value = 2;
						
						//enable the big submit btn
	                    document.getElementById('submit_trip').disabled = false;
						
					}
			}
}
/*//##############################################################
//is airports valid?
function validateAirport( airportName , edit ){
	var exist = false;
	if( edit ) airport = airportName;
	else airport = document.getElementById( airportName ).value;
	
	for( i=0 ; i < airportsArray.length ; i++ ){
		if( airportsArray[i] == airport ){
			exist = true;
			break;
		}
	}
	
	return exist;
}*/
//##############################################################
//is airports valid?
function validateAirport( airportName , edit ){
//	var exist = false;
//	
//	if( edit ) airport = airportName;
//	else airport = document.getElementById( airportName ).value.toUpperCase();
//	
//	//connect to xml file
//	//load all airport nodes from the xml
//	var allItemsFromXML = xmlDoc.getElementsByTagName("airport");
//	//alert(allItemsFromXML.length);
//	//search it
//	for( i=0 ; i < allItemsFromXML.length ; i++ ){
//		//get code attribute for each airport in the xml
//		var attr = trim(allItemsFromXML[i].getAttribute('code').toUpperCase());

//		//compare the entered value against the XML
//		if( attr == airport ){
			exist = true;
//			airportID = i;
//			break;
//		}
//	}
	
	return exist;
}
//##############################################################
//display visuals on errors
//this function can b ntegrated into [validateAirport()] but i separated it
function airportOutput( a1 , a2 , err1 , err2 ){
	if( a1 && a2 ){
		//hide the error identifiers if they r visible
		document.getElementById(err1).style.display = 'none';
		document.getElementById(err2).style.display = 'none';
		
		return true;
	}else{
		//errors, show error identifiers, or hide them if corrected
		if(! a1 ) document.getElementById(err1).style.display = 'inline';
		else document.getElementById(err1).style.display = 'none';
		
		if(! a2 ) document.getElementById(err2).style.display = 'inline';
		else document.getElementById(err2).style.display = 'none';
		
		return false;
	}
}
//##############################################################
function emptyFields(){
	
		leDetails = new Array();
		leDetails[0] = 'ctl00_content_book1_txt_From1';
		leDetails[1] = 'ctl00_content_book1_txt_To1';
		//leDetails[2] = 'fly_after';
		//leDetails[3] = 'fly_before';
		
		for( i = 1 ; i < leDetails.length ; i++ ){
				fItem = document.getElementById(leDetails[i]);
				fItem.value = '';
		}
}
//##############################################################
function showAirportIcon( clickID , airportName , startingIndex ){//alert(startingIndex);
	var airportsDiv = document.getElementById('div_planes');
	airportsDiv.style.display = 'block';
	if( clickID == 0 ){
		airportsDiv.innerHTML += '<span id="y'+startingIndex+'" class="nav" title="Click to edit" onclick="showEdit('+startingIndex+');"><img class="img" src="images/plane.png" width="30" height="29" /><span id="x'+startingIndex+'"> '+airportName+'</span></span>';
	}else{
		airportsDiv.innerHTML += '<span id="y'+startingIndex+'" class="nav" title="Click to edit" onclick="showEdit('+startingIndex+');"><img class="img" src="images/arrow.png" width="20" height="20" /><img class="img" src="images/plane.png" width="30" height="29" /><span id="x'+startingIndex+'"> '+airportName+'</span></span>';
	}
}
//##############################################################
function emptyFields_(){
    //reset hop counter
	document.getElementById('num_hops').value = 0;
	//hide the map
	document.getElementById('map_status').value = 0;
	//set type to one leg
	document.getElementById('t_type').value = 0;
	document.getElementById('one_leg').checked = true;
	//enable the big submit btn
	document.getElementById('submit_trip').disabled = false;
}
//##############################################################
function showEdit( index ){//alert(index);
	showAddEdit('edit','add');
	showHideTypes('edit',3);
	document.getElementById('graph').style.display = 'block';
	//disable the big submit btn
	document.getElementById('submit_trip').disabled = true;
	//document.getElementById('vmaps_container').style.display = 'block';
	getValues( index );
	resetInPlaceEditorControls();
	document.getElementById('editable').value = index;
	//visuals
	//setActiveTab( index );
}
//##############################################################
function setActiveTab( tabID ){
	resetAllTabs();
	document.getElementById( 'y' + tabID ).style.border = '1px solid #AFAFAF';
	document.getElementById( 'y' + tabID ).style.borderTop = '1px solid #000';
}
//##############################################################
function resetAllTabs(){
	var limit = document.getElementById('num_hops');
	for( i=0 ; i<limit.value ; i++ ){
		document.getElementById( 'y' + i ).style.border = '0px solid';
	}
}
//##############################################################
//edit 
function showAddEdit( a , b ){
	document.getElementById( a ).style.display = 'block';
	document.getElementById( b ).style.display = 'none';
	
	//enable the big submit btn
	document.getElementById('submit_trip').disabled = false;
	
	//resetAllTabs();
}
//##############################################################
function getValues( id ){	
	//will work backwords coz we started the index with 1
	//if the starting index was 0, then it works forward
	var startingIndex = id*4;//i.e. [ 0,1,2,3 || 4,5,6,7 ] now is [ 3,2,1,0 || 7,5,4,3]
	
	//fields to validate array [le=leg]
	leDetails = new Array();
	leDetails[0] = 'from1_src';
	leDetails[1] = 'to1_src';
	leDetails[2] = 'fly_after1_src';
	//leDetails[3] = 'fly_before1_src';
	c = 0;
	//alert(outputArray[startingIndex]);
	for( i=startingIndex ; i<startingIndex+4-1 ; i++ ){//alert(outputArray[i]);
		//assign values to spans
		//alert(c);
		document.getElementById(leDetails[c]).innerHTML = outputArray[i];
		c++;
	}
	//correction to fill the inPlaceEditor with data to compare dates
	document.getElementById('fly_after1').value = document.getElementById(leDetails[2]).innerHTML;
	//document.getElementById('fly_before1').value = document.getElementById(leDetails[3]).innerHTML;
	
	//time append to date
	document.getElementById('span1').innerHTML = newSeparatedTimes[id];
}
//##############################################################
function inPlaceEditor( spanID , src , showOrHide ){
	if( showOrHide == 's' ){//show the editor
		document.getElementById( spanID ).style.display = 'none';
		document.getElementById( spanID + '_edit' ).style.display = 'block';
		//add value in the text field
		document.getElementById( src ).value = document.getElementById( src + '_src' ).innerHTML;
		//var interval = setInterval( listen , 10 );//listen to any change
	}else if( showOrHide == 'h' ){//hide the editor
		document.getElementById( spanID ).style.display = 'block';
		document.getElementById( spanID + '_edit' ).style.display = 'none';
		//clearInterval( listen );//disable listening to don't load the browser & memory[performance issue]		
	}
}
//##############################################################
function resetInPlaceEditorControls(){
	inPlaceEditor('src1','','h');
	inPlaceEditor('src2','','h');
	inPlaceEditor('src3','','h');
	//inPlaceEditor('src4','','h');
}
//##############################################################
function validateOneLeg(){
			leDetails1 = new Array();
			//leDetails1[0] = 'from_one_leg';
			//leDetails1[1] = 'to_one_leg';
			leDetails1[0] = 'ctl00_content_book1_txt_From';
			leDetails1[1] = 'ctl00_content_book1_txt_To';
			leDetails1[2] = 'fly_after_one_leg';
			leDetails1[3] = 'fly_before_one_leg';
			var saveToArray = false;
			var error = false;
			
			for( i = 0 ; i < leDetails1.length-1 ; i++ ){
					fItem = document.getElementById(leDetails1[i]);
					if( fItem.value == '' || fItem.value == 'Enter city name...' ){
						error = true;
						fItem.style.border = '1px solid #FF0000';
						msg = 'Insufficient entries. Please complete your specification.';
					}else{
						fItem.style.border = '1px solid #AFAFAF';
					}
					
					
			}
			
			//alert(error);
			//make sure it passes the empti validation first
			if( ! error ){
			    for( j = 0 ; j < leDetails1.length-1 ; j++ ){
			            if( j == 0 || j == 1 ){
			                s = document.getElementById(leDetails1[j]);
					        //n = document.getElementById(leDetails1[j]+'_suggest');
					        n = document.getElementById(leDetails1[j]);
					        if( n.value == 0 ){
					            error = true;
						        s.style.border = '1px solid #FF0000';
						        msg = 'Please select airport from list.';
					        }else{
						        s.style.border = '1px solid #AFAFAF';
					        }
					    }
			    }
			}
			
			//check if 2 airports r the same
			fItem_01 = document.getElementById(leDetails1[0]);
			fItem_02 = document.getElementById(leDetails1[1]);
			if( fItem_01.value == fItem_02.value && fItem_01.value != 'Enter city name...' && fItem_02.value != 'Enter city name...' ){
				error = true;
				fItem_01.style.border = '1px solid #FF0000';
				fItem_02.style.border = '1px solid #FF0000';
				//msg = 'Airports can\'t be the same.';
				msg = 'Please select different departure and arrival airports.';
			}else{
				//fItem_01.style.border = '1px solid #AFAFAF';
				//fItem_02.style.border = '1px solid #AFAFAF';
			}
			
			var isEnteredDateValid = isPast( leDetails1[2] , 't_time_one_leg' ); // true | false
			//alert(isEnteredDateValid);
			
			//if it's not [2day or after]
			if(! isEnteredDateValid ){
			    //raise error flag
			    error = true;
			    document.getElementById(leDetails1[2]).style.border = '1px solid #FF0000';
			    msg = 'Reservations cannot be in the past.';
			    //exit function
			    //return;
			}else{
			        // check dates
			        // v for valid
			        //v = checkDates( leDetails[2] , leDetails[3] ); // true | false
			        v = true;
			        date_01 = document.getElementById(leDetails1[2]);
			        //date_02 = document.getElementById(leDetails[3]);
			        if( v ){
				        //date_01.style.border = '1px solid #AFAFAF';
    			        //date_02.style.border = '1px solid #AFAFAF';
			        }else{
			            error = true;
			            date_01.style.border = '1px solid #FF0000';
			            msg = 'Reservations cannot be in the past.';
				        //date_02.style.border = '1px solid #FF0000';
			        }
			        
			}
			
			if( error == true){ //error
					document.getElementById('mp_msg').className = 'red';
					//document.getElementById('mp_msg').innerHTML = 'Insufficient entries. Please complete your specification';
					document.getElementById('mp_msg').innerHTML = msg;
			}else{ // no errors
					document.getElementById('mp_msg').innerHTML = '&nbsp;';
					//validate airports
					//var ap1 = validateAirport( leDetails[0] ); // just return true | false
					//var ap2 = validateAirport( leDetails[1] ); // just return true | false
					//var ap1 = true;
					//var ap2 = true;
						
						//empty floating tooltips
						document.getElementById('fixedtipdiv1').innerHTML = '';
						document.getElementById('fixedtipdiv2').innerHTML = '';
					
					//errorIdentifier1 = 'w_from_one_leg';
					//errorIdentifier2 = 'w_to_one_leg';
					
					//saveToArray = airportOutput( ap1 , ap2 , errorIdentifier1 , errorIdentifier2 ); // (return true | false) && (xcute code)
	                saveToArray = true;				
			}
			return saveToArray;
}
//##############################################################
function drawTripsOneLeg(){
	var c = document.getElementById('inside');
	var trips_ol = '';
	leDetails = new Array();
	//leDetails1[0] = 'from_one_leg';
	//leDetails1[1] = 'to_one_leg';
	leDetails[0] = 'ctl00_content_book1_txt_From';
	leDetails[1] = 'ctl00_content_book1_txt_To';
	leDetails[2] = 'fly_after_one_leg';
	leDetails[3] = 'fly_before_one_leg';
	leDetails[4] = 't_time_one_leg';

	//append entire maps to inside
	//cc = document.getElementById("inside");
	c.innerHTML = '<span id="entire_map" style="border: 1px solid; height:270px; width:100%;float:left;">Loading...</span><br /><br />';
			
    //other data	
	//c.innerHTML += '<span><span class="dheader">From:<br />To:<br />Fly after:<br />PAX:</span><span>'+document.getElementById(leDetails[0]).value+'<br />'+document.getElementById(leDetails[1]).value+'<br />'+document.getElementById(leDetails[2]).value+' '+document.getElementById(leDetails[4]).value+'<br />'+document.getElementById('pax_one_leg').value+'</span></span>';

            trips_ol += '<div style="border:0px solid red; width:260px; float:left;">';
		    trips_ol += '<div class="trip-summary-data-block"><div class="trip-summary-label">From:</div> '+$(leDetails[0]).value+'</div>';
		    trips_ol += '<div class="trip-summary-data-block"><div class="trip-summary-label">To:</div>'+$(leDetails[1]).value+'</div>';
		    trips_ol += '<div class="trip-summary-data-block"><div class="trip-summary-label">Fly after:</div>'+$(leDetails[2]).value+' '+ $(leDetails[4]).value+'</div>';
		    //trips_ol += '<div style="border:0px solid red;">Fly back after:'+$(leDetails[4]).value+' '+ $(leDetails[7]).value+'</div>';
		    
		    
                var current_tab = $('current_tab').value;
				if(current_tab == 1){				    
				    //inject the pax||patients [both r the same]
				    pax = document.getElementById('pax_one_leg').value;
				    accompanyingPersons = -1;
				    kgsTons = -1;
				    weightCapacity = -1;	
				    				    
				}else if(current_tab == 2){
				    //inject the pax||patients [both r the same]
				    pax = document.getElementById('pax_one_leg').value;
				    accompanyingPersons = document.getElementById('accompany_1').value;
				    kgsTons = -1;
				    weightCapacity = -1;
				    
				}else if(current_tab == 3){
				    pax = -1;
				    accompanyingPersons = document.getElementById('accompany_1').value;
				    kgsTons = document.getElementById('kgs_tons1').value;
				    weightCapacity = document.getElementById('unit1').value;
				    
				}	
						
						
		    if(pax != -1) trips_ol += '<div class="trip-summary-data-block"><div class="trip-summary-label">PAX:</div>'+pax+'</div>';
		    if(accompanyingPersons != -1) trips_ol += '<div class="trip-summary-data-block"><div class="trip-summary-label">AccPersons:</div>'+accompanyingPersons+'</div>';
		    if(weightCapacity != -1) trips_ol += '<div class="trip-summary-data-block"><div class="trip-summary-label">Capacity:</div>'+weightCapacity+'</div>';
		    if(kgsTons != -1){
		        if(kgsTons == 0) kgsTons_ = 'KGs';
		        if(kgsTons == 1) kgsTons_ = 'Tons';
		        trips_ol += '<div class="trip-summary-data-block"><div class="trip-summary-label">Weight:</div>'+kgsTons_+'</div>';
		    }
		    
		trips_ol += '</div>';
	c.innerHTML += trips_ol;	
	
	
    init_map_with_lines2( 'one_leg' );

}
//##############################################################
function validateRoundTrip(){
			leDetails = new Array();
			//leDetails[0] = 'from_round_trip';
			//leDetails[1] = 'to_round_trip';
			leDetails[0] = 'ctl00_content_book1_txt_From_round_trip';
			leDetails[1] = 'ctl00_content_book1_txt_To_round_trip';
			leDetails[2] = 'fly_after_round_trip';
			//leDetails[3] = 'fly_before_round_trip';
			leDetails[3] = 'fly_back_after_round_trip';
			leDetails[4] = 'fly_back_before_round_trip';
			var saveToArray = false;
			var error = false;
			
			for( i = 0 ; i < leDetails.length-1 ; i++ ){
					fItem = document.getElementById(leDetails[i]);
					//empty, or == enter city name, or validating the second date field
					if( fItem.value == '' || fItem.value == 'Enter city name...' ){//alert(i);
						error = true;
						fItem.style.border = '1px solid #FF0000';
						msg = 'Insufficient entries. Please complete your specification.';
					}else{
						fItem.style.border = '1px solid #AFAFAF';
					}
			}
			
			//alert(error);
			//make sure it passes the empti validation first
			if( ! error ){
			    for( j_ = 0 ; j_ < leDetails.length-1 ; j_++ ){
			            if( j_ == 0 || j_ == 1 ){
			                s_ = document.getElementById(leDetails[j_]);
					        //n_ = document.getElementById(leDetails[j_]+'_suggest');
					        n_ = document.getElementById(leDetails[j_]);					        
					        if( n_.value == 0 ){
					            error = true;
						        s_.style.border = '1px solid #FF0000';
						        msg = 'Please select airport from list.';
					        }else{
						        s_.style.border = '1px solid #AFAFAF';
					        }
					    }
			    }
			}
			
			//check if 2 airports r the same
			fItem_01 = document.getElementById(leDetails[0]);
			fItem_02 = document.getElementById(leDetails[1]);
			if( fItem_01.value == fItem_02.value && fItem_01.value != 'Enter city name...' && fItem_02.value != 'Enter city name...' ){
				error = true;
				fItem_01.style.border = '1px solid #FF0000';
				fItem_02.style.border = '1px solid #FF0000';
				//msg = 'Airports can\'t be the same.';
				msg = 'Please select different departure and arrival airports.';
			}else{
				//fItem_01.style.border = '1px solid #AFAFAF';
				//fItem_02.style.border = '1px solid #AFAFAF';
			}
			//**************************************************************************************************
			//if the second fields is empty
//			if( $( leDetails[3] ).value == '' ){
//				error = true;
//				$( leDetails[3] ).style.border = '1px solid #FF0000';
//				//fItem_02.style.border = '1px solid #FF0000';
//				msg = 'Make sure you enter valid dates.';
//			}else{
//				//fItem_01.style.border = '1px solid #AFAFAF';
//				//fItem_02.style.border = '1px solid #AFAFAF';
//			}
			
			var isEnteredDateValid1 = isPast( leDetails[2] , 't_time1_round_trip' ); // true | false
			//alert(isEnteredDateValid);
			
			//if it's not [2day or after]
			if(! isEnteredDateValid1 ){
			    //raise error flag
			    error = true;
			    $(leDetails[2]).style.border = '1px solid #FF0000';
			    msg = 'Reservations cannot be in the past.';
			    //exit function
			    //return;
			}else{}
			        var isEnteredDateValid2 = isPast( leDetails[3] , 't_time2_round_trip' ); // true | false
			        
			        //if it's not [2day or after]
			        if(! isEnteredDateValid2 ){
			            //raise error flag
			            error = true;
			            $(leDetails[3]).style.border = '1px solid #FF0000';
			            msg = 'Reservations cannot be in the past.';
			            //exit function
			            //return;
			        }else{}
			                // check dates
			                // v for valid
//			                v = checkDates( leDetails[2] , leDetails[3] ); // true | false
//			                date_01 = document.getElementById(leDetails[2]);
//			                date_02 = document.getElementById(leDetails[3]);
//			                if( v ){
//				                date_01.style.border = '1px solid #AFAFAF';
//    			                date_02.style.border = '1px solid #AFAFAF';
//			                }else{
//			                    error = true;
//			                    date_01.style.border = '1px solid #FF0000';
//				                date_02.style.border = '1px solid #FF0000';
//			                    //msg = 'The After date can\'t preceed the Before date.';
//			                }
			       // }
			//}
			//**************************************************************************************************	
			if( error == true){ //error
					document.getElementById('mp_msg').className = 'red';
					//document.getElementById('mp_msg').innerHTML = 'Insufficient entries. Please complete your specification';
					document.getElementById('mp_msg').innerHTML = msg;
			}else{ // no errors
					document.getElementById('mp_msg').innerHTML = '&nbsp;';
					//validate airports
					//var ap1 = validateAirport( leDetails[0] ); // just return true | false
					//var ap2 = validateAirport( leDetails[1] ); // just return true | false
					
					//errorIdentifier1 = 'w_from_round_trip';
					//errorIdentifier2 = 'w_to_round_trip';
						
						//empty floating tooltips
						document.getElementById('fixedtipdiv3').innerHTML = '';
						document.getElementById('fixedtipdiv4').innerHTML = '';
					
					//saveToArray = airportOutput( ap1 , ap2 , errorIdentifier1 , errorIdentifier2 ); // (return true | false) && (xcute code)
	                saveToArray = true;				
			}
			return saveToArray;
}
//##############################################################
function drawTripsRoundTrip(){
	var c = document.getElementById('inside');
	var trips_rt = '';
	leDetails = new Array();
	//leDetails[0] = 'from_round_trip';
	//leDetails[1] = 'to_round_trip';
	leDetails[0] = 'ctl00_content_book1_txt_From_round_trip';
	leDetails[1] = 'ctl00_content_book1_txt_To_round_trip';
	leDetails[2] = 'fly_after_round_trip';
	leDetails[3] = 'fly_before_round_trip';
	leDetails[4] = 'fly_back_after_round_trip';
	leDetails[5] = 'fly_back_before_round_trip';
	leDetails[6] = 't_time1_round_trip';
	leDetails[7] = 't_time2_round_trip';
	
    //append entire maps to inside
	//cc = document.getElementById("inside");
	c.innerHTML = '<span id="entire_map" style="border: 1px solid; height:270px; width:100%;float:left;">Loading...</span><br /><br />';
	
	//c.innerHTML += '<span><span class="dheader" style="width: 100px;">From:<br />To:<br />Fly after:<br />Fly back after:<br />PAX:</span><span>'+document.getElementById(leDetails[0]).value+'<br />'+document.getElementById(leDetails[1]).value+'<br />'+document.getElementById(leDetails[2]).value+' '+document.getElementById(leDetails[6]).value+'<br />'+document.getElementById(leDetails[4]).value+' '+document.getElementById(leDetails[7]).value+'<br />'+document.getElementById('pax_round_trip').value+'</span></span>';

		trips_rt += '<div style="border:0px solid red; width:260px; float:left;">';
		    trips_rt += '<div class="trip-summary-data-block"><div class="trip-summary-label">From:</div> '+$(leDetails[0]).value+'</div>';
		    trips_rt += '<div class="trip-summary-data-block"><div class="trip-summary-label">To:</div>'+$(leDetails[1]).value+'</div>';
		    trips_rt += '<div class="trip-summary-data-block"><div class="trip-summary-label">Fly after:</div>'+$(leDetails[2]).value+' '+ $(leDetails[6]).value+'</div>';
		    trips_rt += '<div class="trip-summary-data-block"><div class="trip-summary-label">Fly back after:</div>'+$(leDetails[4]).value+' '+ $(leDetails[7]).value+'</div>';
		    
		    
                var current_tab = $('current_tab').value;
				if(current_tab == 1){				    
				    //inject the pax||patients [both r the same]
				    pax = document.getElementById('pax_round_trip').value;
				    accompanyingPersons = -1;
				    kgsTons = -1;
				    weightCapacity = -1;	
				    				    
				}else if(current_tab == 2){
				    //inject the pax||patients [both r the same]
				    pax = document.getElementById('pax_round_trip').value;
				    accompanyingPersons = document.getElementById('accompany_2').value;
				    kgsTons = -1;
				    weightCapacity = -1;
				    
				}else if(current_tab == 3){
				    pax = -1;
				    accompanyingPersons = document.getElementById('accompany_2').value;
				    kgsTons = document.getElementById('kgs_tons2').value;
				    weightCapacity = document.getElementById('unit2').value;
				    
				}	
						
						
		    if(pax != -1) trips_rt += '<div class="trip-summary-data-block"><div class="trip-summary-label">PAX:</div>'+pax+'</div>';
		    if(accompanyingPersons != -1) trips_rt += '<div class="trip-summary-data-block"><div class="trip-summary-label">AccPersons:</div>'+accompanyingPersons+'</div>';
		    if(weightCapacity != -1) trips_rt += '<div class="trip-summary-data-block"><div class="trip-summary-label">Capacity:</div>'+weightCapacity+'</div>';
		    if(kgsTons != -1){
		        if(kgsTons == 0) kgsTons_ = 'KGs';
		        if(kgsTons == 1) kgsTons_ = 'Tons';
		        trips_rt += '<div class="trip-summary-data-block"><div class="trip-summary-label">Weight:</div>'+kgsTons_+'</div>';
		    }
		    
		trips_rt += '</div>';
	c.innerHTML += trips_rt;	

    init_map_with_lines2( 'round_trip' );	
}
//##############################################################
//IE 6 fix, showHide select lists
//function selectList( state ){

//    var pax_menu = document.getElementById('ddlPAX');
//    var tTimeOneLeg = document.getElementById('t_time_one_leg');
//    var tTime1RoundTrip = document.getElementById('t_time1_round_trip');
//    var tTime2RoundTrip = document.getElementById('t_time2_round_trip');
//    var tTimeMultiLeg = document.getElementById('t_time_multi_leg');
//    //var tTime1RoundTrip = document.getElementById('ddlPAX');

//    if (navigator.userAgent.indexOf('MSIE') != -1) {
//    
//        //alert('IE');
//    
//        //hide the drop-down menus for IE 6
//        pax_menu.style.display = state;
//        tTimeOneLeg.style.display = state;
//        tTime1RoundTrip.style.display = state;
//        tTime2RoundTrip.style.display = state;
//        tTimeMultiLeg.style.display = state;
//        
//    }

//}
function selectListShowHide( state ){//alert('hi');
    
    var f = document.forms[0].elements;
    var count = f.length;
    
    for (i=0; i<count; i++){
        
        if( f[i].type == 'select-one' ){
            
            f[i].style.display = state;
        }
            
    }
    
}
//##############################################################
function showTrip(){
	var tType = document.getElementById('t_type');
	//alert(tType.value);
	if( tType.value == 0 ){//1 leg
			var vol = validateOneLeg();
			//var vol = true;
			//alert(vol);
			if( vol ){//validation function returns true, xcute here
				document.getElementById('container').style.display = 'block';
				document.getElementById('ccontent').style.display = 'block';
				document.getElementById('inside').innerHTML = '';
				//document.getElementById('advanced_search').style.display = 'none';
				drawTripsOneLeg();
    			//hide the pax menu for IE 6
                //selectList('none');
                selectListShowHide('none');
			}
	}else if( tType.value == 1 ){//round trip
			var vrt = validateRoundTrip();
			//var vrt = true;
			//alert(vrt);
			if( vrt ){//validation function returns true, xcute here
				document.getElementById('container').style.display = 'block';
				document.getElementById('ccontent').style.display = 'block';
				//document.getElementById('advanced_search').style.display = 'none';
				document.getElementById('inside').innerHTML = '';
				drawTripsRoundTrip();
    			//hide the pax menu for IE 6
                //selectList('none');
                selectListShowHide('none');
			}
	}else if( tType.value == 2 ){//multi leg
			//if array is not empty, show layer, xcute function to show contents
			//alert(outputArray.length);
			if( outputArray.length != 0 ){
				document.getElementById('container').style.display = 'block';
				document.getElementById('ccontent').style.display = 'block';
				//document.getElementById('advanced_search').style.display = 'none';
				document.getElementById('inside').innerHTML = '';
				drawTrips();
    			//hide the pax menu for IE 6
                //selectList('none');
                selectListShowHide('none');
				//init_map_with_lines();
			}else alert('You have to add at least one leg to your trip!');
	}
}
//##############################################################
function drawTrips(){
	//divide by 4
	//for on the result
	//if j=1, style1
	//if j=2, style2
	//j=1
	//draw span with style
	var limit = outputArray.length/4;
	//alert(limit);
	var c = document.getElementById('inside');
	var style = '';
	var br = '';
	j=1;
	start = 0;
	var trips = '';
	
	// add the map for all legs
	c.innerHTML += '<span id="entire_map" style="border: 1px solid; height:270px; width:100%;float:left;">Loading...</span><br /><br />';
	
	for( i=0 ; i < limit ; i++ ){
		trips += '<div style="border:0px solid red; width:260px; float:left; margin-bottom:15px;">';
		    trips += '<div class="trip-summary-data-block"><div class="trip-summary-label">From:</div>'+outputArray[start]+'</div>';
		    trips += '<div class="trip-summary-data-block"><div class="trip-summary-label">To:</div>'+outputArray[start+1]+'</div>';
		    trips += '<div class="trip-summary-data-block"><div class="trip-summary-label">Departure:</div>'+outputArray[start+2]+' '+ newSeparatedTimes[i]+'</div>';
		    if(pax[i] != -1) trips += '<div class="trip-summary-data-block"><div class="trip-summary-label">PAX:</div>'+pax[i]+'</div>';
		    if(accompanyingPersons[i] != -1) trips += '<div class="trip-summary-data-block"><div class="trip-summary-label">AccPersons:</div>'+accompanyingPersons[i]+'</div>';
		    if(weightCapacity[i] != -1) trips += '<div class="trip-summary-data-block"><div class="trip-summary-label">Capacity:</div>'+weightCapacity[i]+'</div>';
		    if(kgsTons[i] != -1){
		        if(kgsTons[i] == 0) kgsTons_ = 'KGs';
		        if(kgsTons[i] == 1) kgsTons_ = 'Tons';
		        trips += '<div class="trip-summary-data-block"><div class="trip-summary-label">Weight:</div>'+kgsTons_+'</div>';
		    }
		trips += '</div>';
		start += 4;
	}
	c.innerHTML += trips;
	//alert(c.innerHTML);
	
	init_map_with_lines();
}
//##############################################################
function lClose( id ){
	document.getElementById( id ).style.display = 'none';
}
//##############################################################
var ajax_combined = '';
function submitContentAjax(){
	//alert('This is a PROTOTYPE version.\n\nIn the real version, the application will send user selections to the ASP.NET code as a concatenated string!');
	var type = document.getElementById( 't_type' );
	ajax_combined = '';
	var current_tab = $('current_tab').value;
	
	if( type.value == 0 ){
		
		leDetails = new Array();
		//leDetails[0] = 'from_one_leg';
		//leDetails[1] = 'to_one_leg';
		leDetails[0] = 'ctl00_content_book1_txt_From';
		leDetails[1] = 'ctl00_content_book1_txt_To';
			
		leDetails[2] = 'fly_after_one_leg';
		leDetails[3] = 'fly_before_one_leg';
		xx = 't_time_one_leg';
		pax_one_leg = 'pax_one_leg';
		
		for( i=0 ; i < leDetails.length ; i++ ){
		    
		    if( i == 2 ) ajax_combined += document.getElementById( leDetails[i] ).value + ' ' + document.getElementById( xx ).value;
		    else ajax_combined += document.getElementById( leDetails[i] ).value;
		    
			if( i < leDetails.length-1 ) ajax_combined += '@';
			
			//add pax
			if( i == 3 ){			
			    if(current_tab == 1){
			        var pax1 = $( pax_one_leg ).value;
	                var accompany = -1;
	                var capacity_menu = -1;
	                var capacity_textbox = -1;
	            }else if(current_tab == 2){
			        var pax1 = $( pax_one_leg ).value;
		            var accompany = $('accompany_1').value;
		            var capacity_menu = -1;
		            var capacity_textbox = -1;
	            }else if(current_tab == 3){
			        var pax1 = -1;
		            var accompany = $('accompany_1').value;
		            var capacity_menu = $('kgs_tons1').value;
		            var capacity_textbox = $('unit1').value;	
	            }
	
	            //pax 
	            ajax_combined +=  '@' + pax1;
	            
			    //accompanyingPersons
			    ajax_combined += '@' + accompany;
    			
			    //weightCapacity
			    ajax_combined += '@' + capacity_textbox;
    			
			    //kgsTons
			    ajax_combined += '@' + capacity_menu;
			}
		}
		
	}else if( type.value == 1 ){
		
		leDetails = new Array();
		//leDetails[0] = 'from_round_trip';
		//leDetails[1] = 'to_round_trip';
		leDetails[0] = 'ctl00_content_book1_txt_From_round_trip';
		leDetails[1] = 'ctl00_content_book1_txt_To_round_trip';
		leDetails[2] = 'fly_after_round_trip';
		leDetails[3] = 'fly_before_round_trip';
		//leDetails[4] = 'from_round_trip';
		//leDetails[5] = 'to_round_trip';
		leDetails[4] = 'ctl00_content_book1_txt_From_round_trip';
		leDetails[5] = 'ctl00_content_book1_txt_To_round_trip';
		leDetails[6] = 'fly_back_after_round_trip';
		leDetails[7] = 'fly_back_before_round_trip';
		yy = 't_time1_round_trip';
		zz = 't_time2_round_trip';
		//pax1 = 'pax_round_trip';
		
		
		for( i=0 ; i < leDetails.length ; i++ ){
			//if( i < leDetails.length-1 ) ajax_combined += '@';
			if( i % 4 == 0 ){
				if( i != 0 ) ajax_combined += '-';
			}else ajax_combined += '@';
			
			if( i == 2 ) 
			    ajax_combined += document.getElementById( leDetails[i] ).value + ' ' + document.getElementById( yy ).value;
			else if( i == 6 ) 
			    ajax_combined += document.getElementById( leDetails[i] ).value + ' ' + document.getElementById( zz ).value;
			else
			    ajax_combined += document.getElementById( leDetails[i] ).value;
			    
			//add pax
		    if( i == 3 || i == 7 ){
		        if(current_tab == 1){
			        var pax2 = $( 'pax_round_trip' ).value;
	                var accompany = -1;
	                var capacity_menu = -1;
	                var capacity_textbox = -1;
	            }else if(current_tab == 2){
			        var pax2 = $( 'pax_round_trip' ).value;
		            var accompany = $('accompany_2').value;
		            var capacity_menu = -1;
		            var capacity_textbox = -1;
	            }else if(current_tab == 3){
			        var pax2 = -1;
		            var accompany = $('accompany_2').value;
		            var capacity_menu = $('kgs_tons2').value;
		            var capacity_textbox = $('unit2').value;	
	            }
	            //pax 
	            ajax_combined +=  '@' + pax2;
	            
			    //accompanyingPersons
			    ajax_combined += '@' + accompany;
    			
			    //weightCapacity
			    ajax_combined += '@' + capacity_textbox;
    			
			    //kgsTons
			    ajax_combined += '@' + capacity_menu;
		    }
		}
		
	}else if( type.value == 2 ){
	
	    r=0;
	    mm=0;
	    //alert(outputArray.length);
		for( i=0 ; i < outputArray.length ; i++ ){
			    
			if( i % 4 == 0 ){
			    
				if( i != 0 ){
				    
				    ajax_combined += '-';
				}
			}else ajax_combined += '@';
			
			//add time
			if( i == 2 || i == 6 || i == 10 || i == 14 || i == 18 || i == 22 | i == 26 ){
			
			    ajax_combined += outputArray[i] + ' ' + newSeparatedTimes[r];
			    r++;
			    
			}else{
			
			    ajax_combined += outputArray[i];
			    
			}
			
			//add pax
			if( i == 3 || i == 7 || i == 11 || i == 15 || i == 19 || i == 23 | i == 27 ){
			//alert(pax.length);
			    ajax_combined += '@' + pax[mm];
			
			    //accompanyingPersons
			    ajax_combined += '@' + accompanyingPersons[mm];
    			
			    //weightCapacity
			    ajax_combined += '@' + weightCapacity[mm];
    			
			    //kgsTons
			    ajax_combined += '@' + kgsTons[mm];
			    
			    //r++;
			    mm++;
			    
			}
		}
		
	}	
	
	

	var current_small_tab = +type.value+1;
	if(current_tab == 1){
	    var accompany = '';
	    var capacity_menu = '';
	    var capacity_textbox = '';
	}else if(current_tab == 2){
		var accompany = $('accompany_' + current_small_tab).value;
		var capacity_menu = '';
		var capacity_textbox = '';
	}else if(current_tab == 3){
		var accompany = $('accompany_' + current_small_tab).value;
		var capacity_menu = $('kgs_tons' + current_small_tab).value;
		var capacity_textbox = $('unit' + current_small_tab).value;	
	}
	ajax_combined += '&req_type=' + current_tab + '&Accompany=' + accompany + '&Capacity=' + capacity_textbox + '&Unit=' + capacity_menu;
	//ajax_combined += '&req_type=' + current_tab;
	
	//alert(ajax_combined);
	
	//a variable that will hold the index number of the selected radio button
	//var dPAX = document.getElementById('aspnetForm').elements['ddlPAX'].value;
	//alert(dPAX.value);
	var shared = document.getElementById('aspnetForm').elements['shared'];
	var stopOvers = document.getElementById('aspnetForm').elements['stopovers'];
		
//    for (var j=0; j < shared.length; j++){
//       if ( shared[j].checked ){
//          var shared_val = shared[j].value;
//          //alert(shared_val);
//      }
//   }
   
//   for (var k=0; k < stopOvers.length; k++){
//       if ( stopOvers[k].checked ){
//          var stopOvers_val = stopOvers[k].value;
//          //alert(stopOvers_val);
//      }
//   }
   
	//build other controls values
	//mohamedIbrahimString = type.value + '0012^';
	//mohamedIbrahimString = type.value + shared.value + stopOvers.value + dPAX + '^';
	mohamedIbrahimString = type.value + shared.value + stopOvers.value + '^';
	//alert( mohamedIbrahimString + ajax_combined );
	//redirect
	//alert(mohamedIbrahimString + ajax_combined);
	redirect( mohamedIbrahimString + ajax_combined );
}
//##############################################################
//function isInteger (s){
//  var i;

//  if (isEmpty(s))
//  if (isInteger.arguments.length == 1) return 0;
//  else return (isInteger.arguments[1] == true);

//  for (i = 0; i < s.length; i++)
//  {
//     var c = s.charAt(i);

//     if (!isDigit(c)) return false;
//  }

//  return true;
//}
//function isEmpty(s){
//  return ((s == null) || (s.length == 0))
//}

//function isDigit (c){
//  return ((c >= "0") && (c <= "9"))
//}
//##############################################################
//radio btns
function showHideTypes( div_id , val ){//edit,3
	var iDiv = document.getElementById( div_id );
	var tType = document.getElementById( 't_type' );
	var mpMSG = document.getElementById( 'mp_msg' );
	var divArray = new Array('one_leg_div','round_trip_div','add','edit');
	
	if( div_id != 'add' ){
		show = 'none';
	}else{
		if( outputArray.length >0 ) show = 'block';
		else show = 'none';
	}
	document.getElementById( 'graph' ).style.display = show;
	document.getElementById( 'vmaps_container_close' ).style.display = show;
	//document.getElementById( 'vmaps_container' ).style.display = show;
	
	for( i=0 ; i<divArray.length ; i++ ){
		document.getElementById(divArray[i]).style.display = 'none';
	}
	iDiv.style.display = 'block';
	tType.value = val;
	mpMSG.innerHTML = '';
	
	//assign dates
	if( val == 0 ) d('fly_after_one_leg');
	else if( val == 1 ){ d('fly_after_round_trip'); d('fly_back_after_round_trip',2); }
	else if( val == 2 ) d('fly_after');
	
	//FF, ASPX Templates correction
	//Update => May 21, 2008 : deleted due to new discovery of CSS attributes [ overflow && position ]
	var cF = document.getElementById('c_form');
	var f = document.getElementById('f');
//	if( val == 1 ){ cF.style.height = '320px'; f.style.marginTop = '0px';}
//	else if( val == 2 ){ cF.style.height = '380px'; f.style.marginTop = '15px';}
//	else if( val == 3 ){ cF.style.height = '330px'; f.style.marginTop = '0px';}
	//if( val == 0 ){ cF.style.height = '270px';}
	//else if( val == 1 ){ cF.style.height = '310px';}
	//else if( val == 2 ){ cF.style.height = '290px';}
	
	//determine to show the map or not
	var map = document.getElementById('map_status');
	var map_cont = document.getElementById('vmaps_container');
	//still displayed when clicking edit [26-08-2008]
	if( map.value == 1 && div_id == 'add' ) map_cont.style.display = 'block';
	else map_cont.style.display = 'none';
	
	//resetAllTabs();
	//alert(tType.value);
}
//##############################################################
function sHelp( src , target , text ){
	var t = document.getElementById( target );
	var s = document.getElementById( src );
	
	if( t.style.display == 'none' ){
		t.style.display = 'block';
		s.innerHTML = '- ' + text;
	}else{
		t.style.display = 'none';
		s.innerHTML = '+ ' + text;		
	}
}
//##############################################################
function showMSVirtMaps( airport , lon_lat_index ){
	var vmaps_container = document.getElementById('vmaps_container');
	//var airport_code = document.getElementById('airport_code');
	var close_ = document.getElementById('vmaps_container_close');
	
	//show map div + close btn
	vmaps_container.style.display = 'block';
	close_.style.display = 'block';
	
	//write the airport code above the map
	//airport_code.innerHTML = airport;
	
	//set map_status to 1
	document.getElementById('map_status').value = 1;
	
	//draw google map
	//init(37.4419, -122.1419);
	//init( lonArray[lon_lat_index] , latArray[lon_lat_index] );
	init( airport , lon_lat_index );
}
//##############################################################
function setUserCulture(){
    //clientCulture = document.getElementById('ctl00_content_clientculture');
    //alert(document.getElementById('ctl00_content_clientculture').value);
    //alert('hi');
    giDatePos = document.getElementById('ctl00_content_clientculture').value;
    
    //alert(giDatePos);
}
//window.setTimeout( setUserCulture , 10000 );
//##############################################################
function saveMe(){
    http.open( 'get', 'WebForm2.aspx?cc=1' , true );
    http.onreadystatechange = function (){};
	http.send( null );
}
//##############################################################
function clearReservation(){

    /*
    alert('1)'+tempIDArrayFrom.length);
    alert('2)'+tempIDArrayTo.length);
    
    alert('3)'+outputArray_one_leg.length);
    alert('4)'+outputArray_round_trip.length);
    alert('5)'+outputArray.length);
    //alert('5a)'+leDetails.length);
    //alert('5b)'+leDetails1.length);
    
    alert('6)'+lonArray.length);
    alert('7)'+latArray.length);
    
    alert('8)'+descs.length);
    alert('9)'+cities.length);
    alert('10)'+countries.length);
    alert('11)'+pax.length);
    alert('12)'+airports.length);
    
    alert('13)'+tmpCode.length);
    alert('14)'+tmpLat.length);
    alert('15)'+tmpLon.length);
    alert('16)'+tmpCity.length);
    alert('17)'+tmpCountry.length);
    alert('18)'+tempArrayFromAdvancedSearch.length);
    
    //alert('19)'+temp_.length);
    //alert('20)'+path.length);
    alert('21)'+oneLeg_roundTrip.length);
    //alert('22)'+newValues.length);
    //alert('23)'+newSeparatedTimes.length);
    */
    
    
    
    //empty arrays
    tempIDArrayFrom.length = 0;
    tempIDArrayTo.length = 0;
    
    outputArray_one_leg.length = 0;
    outputArray_round_trip.length = 0;
    outputArray.length = 0;
    
    lonArray.length = 0;
    latArray.length = 0;
    
    descs.length = 0;
    cities.length = 0;
    countries.length = 0;
    pax.length = 0;
    airports.length = 0;
    
    tmpCode.length = 0;
    tmpLat.length = 0;
    tmpLon.length = 0;
    tmpCity.length = 0;
    tmpCountry.length = 0;
    tempArrayFromAdvancedSearch.length = 0;
    oneLeg_roundTrip.length = 0;
    
    //empty hiddens
    $('num_hops').value = 0;
	//
	$('editable').value = '';
	//switch between 3 different forms
	$('t_type').value = 0;
	//show/hide google map
	$('map_status').value = 0;
	//
	$('s_').value = '';
	//comparing dates in operator
	$('last_date').value = '';
	//
	$('asearch_selected_id').value = '';
	//advanced search hiddens
	$('from_one_leg_as').value = 0;
	$('to_one_leg_as').value = 0;
	$('from_round_trip_as').value = 0;
	$('to_round_trip_as').value = 0;
	$('from1_as').value = 0;
	$('to1_as').value = 0;
	//identify if from/to values r selected from suggest or not
	$('from_one_leg_suggest').value = 0;
	$('to_one_leg_suggest').value = 0;
	$('from_round_trip_suggest').value = 0;
	$('to_round_trip_suggest').value = 0;
	$('from1_suggest').value = 0;
	$('to1_suggest').value = 0;
    
    //empty graph
    $('graph').innerHTML = '<span style="float:left;"><strong>Your trip legs:<br />Click to view on map</strong></span>';
    
    //hide map, graph
    $('graph').style.display = 'none';
    $('vmaps_container').style.display = 'none';
        
    //empty registration form textboxes
    $('from_one_leg').value = '';
    $('to_one_leg').value = '';
    $('from_round_trip').value = '';
    $('to_round_trip').value = '';
    $('from1').value = '';
    $('to1').value = '';
    
    //enable multileg from if disabled
    $('from1').disabled = false;
    
    //run watermark function
    //this is made on [./html_forms/index.html] line 500 using inputWatermark() function
    
    //hide [find nearby airports]
    $('from_one_leg_nearby').style.display = 'none';
    $('to_one_leg_nearby').style.display = 'none';
    $('from_round_trip_nearby').style.display = 'none';
    $('to_round_trip_nearby').style.display = 'none';
    $('from1_nearby').style.display = 'none';
    $('to1_nearby').style.display = 'none';
    
    //show first form [one leg]
    showHideTypes( 'one_leg_div' , 0 );
    $('one_leg').checked = true;
    
}
//##############################################################
function gotoURL(url , target){ //true==new window, false==same window
    if(target) window.open(url);
    else location.href = url;
}
//##############################################################
function trimText(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
