/* PLAYGROUND */
var optGroupColor="#e5056f";
var calOneOrCalTwo=0;
//var firstTime=0;
/* */  


//functions for populating OandD pairs
var oldElement;
function Airport(k,l,m,n,o){
	this.airportCode=k;
	this.airportDisplay=l;
	this.dunno=m;
	this.airportCountryCode=n;
	this.airportName=o;
	this.origins;
	this.destinations;
}
Airport.toString=function(){
return this.airportDisplay;
}
var fullAirportList = null;
function populateOrigin(id,list){
  list=orderListAlphabetical(list);
	var element = document.getElementById(id);

	clearOriginOrDestination(id);
	var itemCount=list.length;
	var isGroup=false;
	var optGroup=null;
	for ( var i = 0; i < itemCount;i++) {
		var item = list[i];	
    //alert(list[i]);	
		if(item.indexOf('-----') < 0){		 
			var airport=getAirportByAirportDisplay(item);
			
			//if(airport.destinations.length > 0){
				var airportCode=airport.airportCode;
				
				objOption=document.createElement("option");				
				var airportName=APTNAME[airportCode]!=undefined?APTNAME[airportCode]:airport.airportDisplay;
				objOption.innerHTML =airportName+" ["+airportCode+"]";
				objOption.value =airportCode;
				
				/* PLAYGROUND */
        switch (i) {
          case  0: objGruppo=document.createElement("optgroup"); objGruppo.label="ITALIA";                 objGruppo.style.color=optGroupColor; element.appendChild(objGruppo); break;
          case 15: objGruppo=document.createElement("optgroup"); objGruppo.label="FRANCIA";                objGruppo.style.color=optGroupColor; element.appendChild(objGruppo); break;
          case 16: objGruppo=document.createElement("optgroup"); objGruppo.label="TURCHIA";                objGruppo.style.color=optGroupColor; element.appendChild(objGruppo); break;
          case 19: objGruppo=document.createElement("optgroup"); objGruppo.label="SPAGNA";                 objGruppo.style.color=optGroupColor; element.appendChild(objGruppo); break;
          case 22: objGruppo=document.createElement("optgroup"); objGruppo.label="GRECIA";                 objGruppo.style.color=optGroupColor; element.appendChild(objGruppo); break;
          //case XX: objGruppo=document.createElement("optgroup"); objGruppo.label="REPUBBLICA DI MACEDONIA";objGruppo.style.color=optGroupColor; element.appendChild(objGruppo); break;
          case 32: objGruppo=document.createElement("optgroup"); objGruppo.label="RUSSIA";                 objGruppo.style.color=optGroupColor; element.appendChild(objGruppo); break;
          case 34: objGruppo=document.createElement("optgroup"); objGruppo.label="CUBA";                   objGruppo.style.color=optGroupColor; element.appendChild(objGruppo); break;
          case 38: objGruppo=document.createElement("optgroup"); objGruppo.label="JAMAICA";                objGruppo.style.color=optGroupColor; element.appendChild(objGruppo); break;
          case 39: objGruppo=document.createElement("optgroup"); objGruppo.label="REPUBBLICA DOMINICANA";  objGruppo.style.color=optGroupColor; element.appendChild(objGruppo); break;
          case 41: objGruppo=document.createElement("optgroup"); objGruppo.label="MESSICO";                objGruppo.style.color=optGroupColor; element.appendChild(objGruppo); break;
          case 42: objGruppo=document.createElement("optgroup"); objGruppo.label="BIRMANIA";               objGruppo.style.color=optGroupColor; element.appendChild(objGruppo); break;
          //case XX: objGruppo=document.createElement("optgroup"); objGruppo.label="BRASILE";                objGruppo.style.color=optGroupColor; element.appendChild(objGruppo); break;
          //case XX: objGruppo=document.createElement("optgroup"); objGruppo.label="BAHAMAS";                objGruppo.style.color=optGroupColor; element.appendChild(objGruppo); break;
          case 43: objGruppo=document.createElement("optgroup"); objGruppo.label="THAILANDIA";             objGruppo.style.color=optGroupColor; element.appendChild(objGruppo); break;
          case 45: objGruppo=document.createElement("optgroup"); objGruppo.label="SEYCHELLES";             objGruppo.style.color=optGroupColor; element.appendChild(objGruppo); break;
          case 46: objGruppo=document.createElement("optgroup"); objGruppo.label="KENYA";                  objGruppo.style.color=optGroupColor; element.appendChild(objGruppo); break;
          
          default: objGruppo="DEFAULT";
        }
        //objGruppo.style.color=optGroupColor; 
        //element.appendChild(objGruppo);
        //element.appendChild(objGruppo);objGruppo.style.color=optGroupColor;        
        /* */ 

				
        /*
				if(airportName.toUpperCase().indexOf(airport.airportDisplay.toUpperCase())<0 && 
				airport.airportDisplay.toUpperCase().indexOf(airportName.toUpperCase())<0){ 
					airportName=airport.airportDisplay+" - "+ airportName;   
				}			
				*/			
				
				objOption.setAttribute('id','oanddOption');
				if(element){
          element.appendChild(objOption);
        }
			//}	
		} 
		else{
			optGroup = document.createElement('optgroup');
			optGroup.label = item;
			//optGroup.style.color="#ff0000";
			optGroup.setAttribute('id','oanddCountryOption');
			if(element)
			element.appendChild(optGroup);
		}
    
	}
} 

/* -------------------------------------------------------------------------------------------------------------------------- orderListAlphabetical */
function orderListAlphabetical(list){
  newList = new Array(); 
  for (i = 0; i < list.length; i++) {
    switch (list[i]) {
      case 'FCO': position =  0; break;
      case 'BRI': position =  1; break;
      case 'BLQ': position =  2; break;
      //case 'BDS': position =  2; break;
      case 'CAG': position =  3; break;
      case 'CTA': position =  4; break;
      case 'GOA': position =  5; break;
      case 'SUF': position =  6; break;
      case 'LMP': position =  7; break;
      case 'LIN': position =  8; break;
      case 'MXP': position =  9; break;
      case 'PMO': position = 10; break;
      case 'PNL': position = 11; break;
      case 'REG': position = 12; break;
      case 'TRN': position = 13; break;
      case 'VRN': position = 14; break;      
            
      case 'NCE': position = 15; break;
      
      case 'AYT': position = 16; break;
      case 'BJV': position = 17; break;      
      case 'SAW': position = 18; break;
      
      //case 'GRX': position = 15; break;
      case 'IBZ': position = 19; break;
      case 'MAH': position = 20; break;
      case 'PMI': position = 21; break;
      
      //case 'SKP': position = 14; break;
      
      case 'PVK': position = 22; break;
      case 'CFU': position = 23; break;
      case 'HER': position = 24; break;
      case 'AOK': position = 25; break;
      case 'KGS': position = 26; break;
      case 'JMK': position = 27; break;
      case 'RHO': position = 28; break;
      case 'SMI': position = 29; break;
      case 'JTR': position = 30; break;
      case 'JSI': position = 31; break;

      case 'SVO': position = 32; break;
      case 'LED': position = 33; break;

      case 'CYO': position = 34; break;
      case 'HAV': position = 35; break;
      case 'HOG': position = 36; break;
      //case 'SNU': position = 21; break;
      case 'SCU': position = 37; break;      

      case 'MBJ': position = 38; break;

      case 'LRM': position = 39; break;
      case 'AZS': position = 40; break;

      case 'CUN': position = 41; break;
      
      case 'RGN': position = 42; break;      
      
      //case 'FOR': position = 36; break;
      //case 'NAT': position = 37; break;
      //case 'BPS': position = 38; break;
      //case 'SLZ': position = 38; break;
      //case 'SSA': position = 39; break;
      
      case 'BKK': position = 43; break;
      case 'HKT': position = 44; break;
      
      case 'SEZ': position = 45; break;
      
      case 'MBA': position = 46; break;

      default: position = 47;
    }
    newList[position]=list[i];
  }
  return newList;
}
/* */

function populateDestination(id,list){
  /* PLAYGROUND */
  list=orderListAlphabetical(list);
  var newArray = new Array(); 
  for(var i = 0; i<list.length; i++){ 
      if (list[i]){ 
        newArray.push(list[i]); 
    } 
  }
  list=newArray;
  /* */   
  
  var element = document.getElementById(id);	
	clearOriginOrDestination(id);
	var itemCount=list.length;
	var isGroup=false;
	var optGroup=null;
	
  /* PLAYGROUND */
  var whatCountry="none";
  /* */
  
  for ( var i = 0; i < itemCount;i++) {
		var item = list[i];		
		if(item.indexOf('-----') < 0){
			var airport=getAirportByAirportDisplay(item);
			//if(airport.destinations.length > 0){
				var airportCode=airport.airportCode;      
//				alert (airportCode); 
				objOption=document.createElement("option");  
				var airportName=APTNAME[airportCode]!=undefined?APTNAME[airportCode]:airport.airportDisplay;
				/*
				if(airportName.toUpperCase().indexOf(airport.airportDisplay.toUpperCase())<0 && 
				airport.airportDisplay.toUpperCase().indexOf(airportName.toUpperCase())<0){ 
					airportName=airport.airportDisplay+" - "+ airportName; 
				}		
				*/
				objOption.innerHTML =airportName+" ["+airportCode+"]";;//airport.airportDisplay+
				objOption.value =airportCode;			
				objOption.setAttribute('id','oanddOption');

        //alert(airport.airportCountryCode);

        /* PLAYGROUND */
        if (airport.airportCountryCode!=whatCountry){
  				whatCountry=airport.airportCountryCode;
          switch (airport.airportCountryCode) {
            case "IT": objGruppo=document.createElement("optgroup"); objGruppo.label="ITALIA";                   break;
            case "FR": objGruppo=document.createElement("optgroup"); objGruppo.label="FRANCIA";                  break;
            case "TR": objGruppo=document.createElement("optgroup"); objGruppo.label="TURCHIA";                  break;
            case "ES": objGruppo=document.createElement("optgroup"); objGruppo.label="SPAGNA";                   break;
            case "RM": objGruppo=document.createElement("optgroup"); objGruppo.label="REPUBBLICA DI MACEDONIA";  break;
            case "GR": objGruppo=document.createElement("optgroup"); objGruppo.label="GRECIA";                   break;
            case "CU": objGruppo=document.createElement("optgroup"); objGruppo.label="CUBA";                     break;
            case "JA": objGruppo=document.createElement("optgroup"); objGruppo.label="JAMAICA";                  break;
            case "DO": objGruppo=document.createElement("optgroup"); objGruppo.label="REPUBBLICA DOMINICANA";    break;
            //case "BA": objGruppo=document.createElement("optgroup"); objGruppo.label="BAHAMAS";                  break;
            case "MX": objGruppo=document.createElement("optgroup"); objGruppo.label="MESSICO";                  break;
            //case "BR": objGruppo=document.createElement("optgroup"); objGruppo.label="BRASILE";                  break;            
            case "BI": objGruppo=document.createElement("optgroup"); objGruppo.label="BIRMANIA";                 break;
            case "TH": objGruppo=document.createElement("optgroup"); objGruppo.label="THAILANDIA";               break;
            
            case "RU": objGruppo=document.createElement("optgroup"); objGruppo.label="RUSSIA";                   break;
            case "SC": objGruppo=document.createElement("optgroup"); objGruppo.label="SEYCHELLES";               break;
            case "KE": objGruppo=document.createElement("optgroup"); objGruppo.label="KENYA";                    break;
            default: objGruppo="DEFAULT";
          }
          objGruppo.style.color=optGroupColor; element.appendChild(objGruppo);        
        }
        /* */
        
				if(element)
				element.appendChild(objOption);  
			//}
				 	 						
		}
		else{
			optGroup = document.createElement('optgroup');
			optGroup.label = item;
			//optGroup.style.color="#4068AA";
			optGroup.setAttribute('id','oanddCountryOption');
			if(element)
			element.appendChild(optGroup);
			
		} 		
	}        
	
	}
	
	
	
	function adjustOnsizeChange(element){
	if(document.all){
		element.onmouseover=new Function("adjustWidth(this)");
		element.onfocus=new Function("adjustWidth(this)");	
		element.onblur=	new Function("resetWidth(this)");
	}
	}
function adjustWidth(element){	
		if(oldElement!=element){		
			element.oldwidth=element.style.width
			element.style.width="auto";
			if(oldElement!=null){
			 		 
			resetWidth(oldElement);
			}		
			
		
	}	 
	oldElement=element;
} 
function resetWidth(element){
element.style.width=element.oldwidth
window.status=element.style.width

}

function clearOriginOrDestination(id){
	var element = document.getElementById(id);
	if(element!=null){
		if(element.length == 1){
			return;
		}	
		while (element.length > 1){ 	
			var eachGroup = element.firstChild;
			eachGroup = eachGroup.nextSibling;	
			eachGroup = eachGroup.nextSibling;		
		 	element.removeChild(eachGroup);			
    	}	
    }
}
function getFullAirportList() {
	if (fullAirportList == null) {
		fullAirportList = getDisplayListFromAirportList(airports);
	}
	
	return fullAirportList;
}
function getDisplayListFromAirportList(airportList) {
	var list = new Array();
	var counter=0;
	var config=COUNTRY_CONGIF;
	
	for (i = 0; i < airportList.length; i++) {
		if(COUNTRY_CONGIF=='yes'){
			if(typeof (airportList[i]) == 'string'){
				list[i]=airportList[i];
			}
			else{			
				list[i] =airportList[i].airportCode//airportList[i].airportDisplay;		
			}
		}
		else{
			if(!(typeof (airportList[i]) == 'string')){
				list[counter] =airportList[i].airportCode//airportList[i].airportDisplay;	
				counter=counter+1
			}
		}
	}
	 if(COUNTRY_CONGIF!='yes'){
    list.sort();
   }
	return list;
}

function getAirportByAirportDisplay(airportDisplay) {
	var airport = null;
	for (var i = 0; i < airports.length; i++) {
		if (airports[i].airportCode == airportDisplay || airports[i].airportDisplay == airportDisplay) {
			airport = airports[i];
			break;
		}
	}
	return airport;
}
function getAirportByAirportCode(airportCode) {
	var airport = null;
	for (var i = 0; i < airports.length; i++) {
		if (airports[i].airportCode == airportCode) {
			airport = airports[i];
			break;
		}
	}
	return airport;
}
function getAirportDisplayByAirportCode(airportCode) {
	var airportDisplay = null;
	var airport = getAirportByAirportCode(airportCode);
	if (airport != null)
	{
		airportDisplay = airport.airportDisplay;
	}
	return airportDisplay;
}
function getAirportCodeByAirportDisplay(airportDisplay) {
	var airportCode = null;
	var airport = getAirportByAirportDisplay(airportDisplay);
	if (airport != null)
	{
		airportCode = airport.airportCode;
	}
	return airportCode;
}
function isUSAirport(airportDisplay)
{
	var isUSAirport = false;
	var airport = getAirportByAirportDisplay(airportDisplay);
	if(airport != null)
	{
		var airportCountryCode = airport.airportCountryCode;
		if(airportCountryCode == 'US')
		{
			isUSAirport = true;
		}
	}
	return isUSAirport;
}
function airportOriginList(destination) {
	if (isBlank(destination)) {
		return getFullAirportList();
	} else {
		var airport = getAirportByAirportDisplay(destination);
		if (airport == null) {
			return getFullAirportList();
		} else {
			return getDisplayListFromAirportList(airport.origins);
		}
	}
}
function airportDestinationList(origin) {
	if (isBlank(origin)) {
		return getFullAirportList();
	} else {
		var airport = getAirportByAirportDisplay(origin);
		if (airport == null) {
			return getFullAirportList();
		} else {
			return getDisplayListFromAirportList(airport.destinations);
		}
	}
}
function isBlank(s) {
	if (s == null) {
		return true;
	} else {
		var chars = "\t\n ";
		var blank = true;
		for (i = 0; i < s.length; i++) {
			if (chars.indexOf(s.charAt(i)) == -1) {
				blank = false;
				break;
			}
		}
		return blank;
	}
}
function originChange(originId,destnId){
	var originElement = document.getElementById(originId);	
	var destnElement = document.getElementById(destnId);
	var selOriginAirport = originElement.options[originElement.selectedIndex].value; 
	clearOriginOrDestination(destnId);
	var destnList=airportDestinationList(selOriginAirport);
	populateDestination(destnId,destnList);	
}
//functions for populating OandD pairs

/* ------------------------------------------------------------------------------------------------------------------------------------- PLAYGROUND */
function originChangeReservations(originId,destnId){
alert("a");

/*
	var originElement = document.getElementById(originId);	
	var destnElement = document.getElementById(destnId);
	alert(originId);
  var selOriginAirport = originElement.options[originElement.selectedIndex].value; 
	clearOriginOrDestination(destnId);
	var destnList=airportDestinationList(selOriginAirport);
	populateDestination(destnId,destnList);	
*/
}
	
