// Last modified 2010-01-12 by Emil Eriksson

// Minicep script created for SAS Sverige by joakim.everstin@sas.se 2008
// Modified with month and year merged, and weekdays attached to date 2008-08-21

/* Definable variables in URL
intro = intro text in the header of the CEP
origins = builds origin list (all,common or string e.g UME-LLA-KRN etc.)
originDefault = sets the default origin
destinations = builds destination list (all,international,europe,intercont,domestic or string e.g CHI-NYC-SEA etc.)
destinationDefault = sets the default destination
outDays = days ahead calculated from current date
inDays = days ahead calculated from outDays
outDate = default out date e.g 20080616
inDate = default in date e.g 20080618
allowOW = display triptypes "roundtrip" and oneway (0 = not visible, 1 = visible)
langCode = Set Language 1 = EN, 2 = SV
WT.seg_4 = webtrends segment 4 id
WT.mc_id = web trends marketing id
*/

// Translate month integer to month text
var months = new Array('0|0|0','1|Jan|jan','2|Feb|feb','3|Mar|mar','4|Apr|apr','5|May|maj','6|Jun|jun','7|Jul|jul','8|Aug|aug','9|Sep|sep','10|Oct|okt','11|Nov|nov','12|Dec|dec');

// Translate day integer to day text
var days = new Array('0|Su|sö','1|Mo|må','2|Tu|ti','3|We|on','4|Th|to','5|Fr|fr','6|Sa|lö');
days.toLowerCase;

// Build airports Array of ALL SAS destinations
var airports = new Array();
airports["GOT"] = "G&ouml;teborg";
airports["KLR"] = "Kalmar";
airports["KRN"] = "Kiruna";
airports["CPH"] = "K&ouml;penhamn";
airports["LLA"] = "Lule&aring;";
airports["MMX"] = "Malm&ouml;";
airports["NRK"] = "Norrk&ouml;ping";
airports["RNB"] = "Ronneby/Karlskrona";
airports["SFT"] = "Skellefte&aring;";
airports["STO"] = "Stockholm";
airports["SDL"] = "Sundsvall/H&auml;rn&ouml;sand";
airports["UME"] = "Ume&aring;";
// Added 100112
airports["VBY"] = "Visby";
airports["OSD"] = "&Aring;re/&Ouml;stersund";
airports["AGH"] = "&Auml;ngelholm/Helsingborg";
// Change 081215
//airports["OER"] = "&Ouml;rnsk&ouml;ldsvik";
airports["AMS"] = "Amsterdam";
// Added 081218
//airports["AYT"] = "Antalya";
// Removed 090211
//airports["AYT"] = "Antalya";
airports["ATH"] = "Aten";
airports["BCN"] = "Barcelona";
airports["BGO"] = "Bergen";
airports["BER"] = "Berlin";
airports["TXL"] = "Berlin";
airports["BHX"] = "Birmingham";
airports["BRU"] = "Bryssel";
airports["DXB"] = "Dubai";
airports["DUB"] = "Dublin";
// Added 081218
// Removed 090213
//airports["DBV"] = "Dubrovnik"
airports["DUS"] = "Dusseldorf";
airports["EDI"] = "Edinburgh";
airports["FRA"] = "Frankfurt";
airports["GVA"] = "Gen&eacute;ve";
airports["HAM"] = "Hamburg";
airports["HEL"] = "Helsingfors";
// Change 100112
airports["IST"] = "Istanbul";
// Change 090130
//airports["KTT"] = "Kittil&auml;/Levi";
airports["CPH"] = "K&ouml;penhamn";
airports["LON"] = "London";
airports["LYS"] = "Lyon";
airports["AGP"] = "Malaga";
airports["MLA"] = "Malta";
airports["MAN"] = "Manchester";
airports["MIL"] = "Milano";
airports["MOW"] = "Moskva";
airports["MUC"] = "M&uuml;nchen";
airports["NCE"] = "Nice";
airports["OSL"] = "Oslo";
airports["PMI"] = "Palma";
airports["PAR"] = "Paris";
airports["PRG"] = "Prag";
airports["ROM"] = "Rom";
airports["SPU"] = "Split";
airports["LED"] = "St Petersburg";
airports["SVG"] = "Stavanger";
// Added 090304
airports["TOS"] = "Troms&ouml;";
airports["TRD"] = "Trondheim";
airports["ZAG"] = "Zagreb";
airports["ZRH"] = "Z&uuml;rich";
airports["BKK"] = "Bangkok";
airports["CHI"] = "Chicago";
// Added 091020
// Changed 100112
airports["AAL"] = "&Aring;lborg";
airports["AAR"] = "&Aring;rhus";
airports["BLQ"] = "Bologna";
airports["CAG"] = "Cagliari";
airports["PMO"] = "Palermo";
airports["VCE"] = "Venedig";
airports["BLL"] = "Billund";
airports["KRP"] = "Karup";
airports["SGD"] = "S&ouml;nderborg";
airports["AES"] = "&Aring;lesund";
airports["BHX"] = "Birmingham";
airports["LUX"] = "Luxemburg";
airports["RNN"] = "Bornholm - R&oslash;nne";
airports["PMO"] = "Palermo";
airports["CAG"] = "Cagliari";

// Removed 090302
//airports["DEL"] = "Delhi";
airports["LAS"] = "Las Vegas";
airports["LAX"] = "Los Angeles";
airports["MIA"] = "Miami";
airports["NYC"] = "New York";
airports["EWR"] = "New York";
airports["ORL"] = "Orlando";
airports["BJS"] = "Peking";
airports["SAN"] = "San Diego";
airports["SFO"] = "San Francisco";
airports["SEA"] = "Seattle";
airports["TYO"] = "Tokyo";
airports["WAS"] = "Washington";
airports["VIE"] = "Wien";
// Added 091116
airports["OSK"] = "Oskarshamn";
airports["KSD"] = "Karlstad";
airports["JKG"] = "J&ouml;nk&ouml;ping";
airports["VXO"] = "V&auml;xj&ouml;";
airports["KTT"] = "Kittil&auml;";
airports["HAD"] = "Halmstad";
airports["BLE"] = "Borl&auml;nge";
// Added 091204
airports["ALF"] = "Alta";
airports["ANX"] = "Andenes";
airports["BVG"] = "Berlev&aring;g";
airports["BOO"] = "Bod&oslash;";
airports["BNN"] = "Br&oslash;nn&oslash;ysund";
airports["BJF"] = "B&aring;tsfjord";
airports["FDE"] = "F&oslash;rde";
airports["HFT"] = "Hammerfest";
airports["EVE"] = "Harstad-Narvik";
airports["HAA"] = "Hasvik";
airports["HAU"] = "Haugesund";
airports["HVG"] = "Honningsv&aring;g";
airports["KKN"] = "Kirkenes";
airports["KSU"] = "Kristiansund";
airports["LKL"] = "Lakselv";
airports["LKN"] = "Leknes";
airports["LYR"] = "Longyearbyen";
airports["MEH"] = "Mehamn";
airports["MQN"] = "Mo I Rana";
airports["MOL"] = "Molde";
airports["MJF"] = "Mosj&oslash;en";
airports["OSY"] = "Namsos";
airports["NVK"] = "Narvik";
airports["RVK"] = "R&oslash;rvik";
airports["SDN"] = "Sandane";
airports["TRF"] = "Sandefjord";
airports["SSJ"] = "Sandnessj&oslash;en";
airports["SOG"] = "Sogndal";
airports["SKN"] = "Stokmarknes";
airports["SVJ"] = "Svolv&aelig;r";
airports["SOJ"] = "S&oslash;rkjosen";
airports["VDS"] = "Vads&oslash;";
airports["VAW"] = "Vard&oslash;";
airports["HOV"] = "&Oslash;rsta-Volda";



// Declare GET variables by variable name
function getVar(name)
         {
         get_string = document.location.search;         
         return_value = '';
         
         do { //This loop is made to catch all instances of any get variable.
            name_index = get_string.indexOf(name + '=');
            
            if(name_index != -1)
              {
              get_string = get_string.substr(name_index + name.length + 1, get_string.length - name_index);
              
              end_of_value = get_string.indexOf('&');
              if(end_of_value != -1)                
                value = get_string.substr(0, end_of_value);                
              else                
                value = get_string;                
                
              if(return_value == '' || value == '')
                 return_value += value;
              else
                 return_value += ', ' + value;
              }
            } while(name_index != -1)
            
         //Restores all the blank spaces.
         space = return_value.indexOf('+');
         while(space != -1)
              { 
              return_value = return_value.substr(0, space) + ' ' + 
              return_value.substr(space + 1, return_value.length);
							 
              space = return_value.indexOf('+');
              }
          
         return(return_value);  
}

// Set intro text
var intro = getVar('intro');
var strReplaceAll = intro;
// Replace _ sign with space
var intIndexOfMatch = strReplaceAll.indexOf( "%20" );
 
while (intIndexOfMatch != -1){
	strReplaceAll = strReplaceAll.replace( "%20", " " );
	intIndexOfMatch = strReplaceAll.indexOf( "%20" );
}

// Replace ?
var intIndexOfMatch = strReplaceAll.indexOf( "%C3%A5" );
 
while (intIndexOfMatch != -1){
	strReplaceAll = strReplaceAll.replace( "%C3%A5", "?" );
	intIndexOfMatch = strReplaceAll.indexOf( "%C3%A5" );
}

// Replace ?
var intIndexOfMatch = strReplaceAll.indexOf( "%C3%85" );
 
while (intIndexOfMatch != -1){
	strReplaceAll = strReplaceAll.replace( "%C3%85", "?" );
	intIndexOfMatch = strReplaceAll.indexOf( "%C3%85" );
}

// Replace ?
var intIndexOfMatch = strReplaceAll.indexOf( "%C3%A4" );
 
while (intIndexOfMatch != -1){
	strReplaceAll = strReplaceAll.replace( "%C3%A4", "?" );
	intIndexOfMatch = strReplaceAll.indexOf( "%C3%A4" );
}

// Replace ?
var intIndexOfMatch = strReplaceAll.indexOf( "%C3%84" );
 
while (intIndexOfMatch != -1){
	strReplaceAll = strReplaceAll.replace( "%C3%84", "?" );
	intIndexOfMatch = strReplaceAll.indexOf( "%C3%84" );
}

// Replace ?
var intIndexOfMatch = strReplaceAll.indexOf( "%C3%B6" );
 
while (intIndexOfMatch != -1){
	strReplaceAll = strReplaceAll.replace( "%C3%B6", "?" );
	intIndexOfMatch = strReplaceAll.indexOf( "%C3%B6" );
}

// Replace ?
var intIndexOfMatch = strReplaceAll.indexOf( "%C3%96" );
 
while (intIndexOfMatch != -1){
	strReplaceAll = strReplaceAll.replace( "%C3%96", "?" );
	intIndexOfMatch = strReplaceAll.indexOf( "%C3%96" );
}

var introText = strReplaceAll;

// Set origin list (all,common or string i.e UME-LLA-KRN etc.)
var origins = getVar('origins');
if(origins == "") {
	var origins = "all";
}
var originLen = origins.length;
originLen = originLen / 4;

// Set origin default
var originDefault = getVar('originDefault');
originDefault = originDefault.toUpperCase();
if(originLen < 1 && originDefault == "" && origins != "all" && origins != "common") {
	originDefault = origins.toUpperCase();

}
if(originDefault == "") {
	var originDefault = "STO";
}

// Set destinations (all,domestic,europe,intercont or string i.e CHI-NYC etc.)
var destinations = getVar('destinations');
if(destinations == "") {
	var destinations = "all";
}
var destLen = destinations.length;
destLen = destLen / 4; 

// Set destination default
var destinationDefault = getVar('destinationDefault');
destinationDefault = destinationDefault.toUpperCase();
if(destLen < 1 && destinationDefault == "" && destinations != "all" && destinations != "europe" && destinations != "intercont" && destinations != "domestic") {
	destinationDefault = destinations.toUpperCase();
}

// Set default out days ahead of current date.
var outDays = getVar('outDays');
if(outDays == "") {
	var outDays = 0;
}

// Set default in days ahead of out day.
var inDays = getVar('inDays');
if(inDays == "") {
	var inDays = 0;
}

// Get Out date
var outDate = getVar('outDate');

// Get In date
var inDate = getVar('inDate');

// Set display properties for OW choice
var allowOW = getVar('ow');
if(allowOW == "") {
	var allowOW = 1;
}

// Set Language 1 = EN, 2 = SV
var langCode = getVar('langCode');
if(langCode == "") {
	var langCode = 2;
}

// Set Webtrends marketing id
var WT_mc_id = getVar('WT.mc_id');


// Set Webtrends segment 4 id
var WT_seg_4 = getVar('WT.seg_4');


// Determine base date (todays date)
var d = new Date();
var day = d.getDate();
var month = d.getMonth() + 1;
// Test Year break
//var month = 12;
var year = d.getFullYear();


function dayReturn(y,m,d,lang) {
	var year = y;
	var month = m - 1;
	var day = d;
	var myDate=new Date();
	myDate.setFullYear(year,month,day);
	var day = myDate.getDay();
	var textDay = days[day].split("|");
	return textDay[lang];
	
}

function calcMaxDays(month,year) {
	// Calculate MAX days in month
	switch(month) {
		case 1:
			return 31;
			break;
		case 2:
			// Make exception for leap year
			if(year == 2008 || year == 2012 || year == 2016) {
				return 29;
			} else {
				return 28;
			}
			break;
		case 3: 
			return 31;
			break;
		case 4: 
			return 30;
			break;
		case 5:
			return 31;
			break;
		case 6:
			return 30;
			break;
		case 7:
			return 31;
			break;
		case 8:
			return 31;
			break;
		case 9:
			return 30;
			break;
		case 10:
			return 31;
			break;
		case 11:
			return 30;
			break;
		case 12:
			return 31;
			break
			
	}
}

function addOption(selectbox,text,value ) {
	var selectbox = document.getElementById(selectbox);
	var optn = document.createElement("OPTION");
	optn.text = text;
	optn.value = value;
	selectbox.options.add(optn);
}

// Update number of days and weekdays when month selection changes
function updateDays(io,newMonth) {
	var ioDay = io+ "Day";
	var ioYear = io+ "Year";
	var monthYear = newMonth.split(",");
	var selectedDay = document.getElementById(ioDay).value;
	var month = parseInt(monthYear[0]);
	var year = parseInt(monthYear[1]);
	var currentLength = document.getElementById(ioDay).options.length;
	var newLength = calcMaxDays(month,year);

	var i;
	for(i=document.getElementById(ioDay).options.length-1;i>=0;i--) {
		document.getElementById(ioDay).remove(i);
	}
	var i;
	for(i=1;i<=newLength;i++) {
		if(i < 10) {
			il = "0"+ i;
		} else {
			il = i;
		}
		var dayTxt = dayReturn(year,month,i,langCode);
		var text = il+ " "+ dayTxt;
		addOption(ioDay,text,i);		
	
	}
	document.getElementById(ioDay).value = selectedDay;
}

// Calculate outDate
outDay = parseInt(day) + parseInt(outDays);
outMaxDays = calcMaxDays(month);
if(outDay > outMaxDays) {
	outDay = outDay - outMaxDays;
	if(month == 12) {
		outMonth = 1;
		outYear = year + 1;
	} else {
		outMonth = month + 1;
		outYear = year;
	}
} else {
	if(outDate != "") {
		outDay = parseInt(outDate.substr(6,2),10);
		outMonth = parseInt(outDate.substr(4,2),10);
		outYear = parseInt(outDate.substr(0,4),10);
	} else {
		outDay = outDay;
		outMonth = month;
		outYear = year;
	}
}
// End outDate



// Calculate inDate
var inDay = parseInt(outDay) + parseInt(inDays);
var inMaxDays = calcMaxDays(outMonth);
if(inDay > inMaxDays) {
	inDay = inDay - inMaxDays;
	if(outMonth == 12) {
		inMonth = 1;
		inYear = outYear + 1;
	} else {
		inMonth = outMonth + 1;
		inYear = outYear;
	}
} else {
	if(inDate != "") {
		inDay = parseInt(inDate.substr(6,2),10);
		inMonth = parseInt(inDate.substr(4,2),10);
		inYear = parseInt(inDate.substr(0,4),10);
	} else {	
		inDay = inDay;
		inMonth = outMonth;
		inYear = outYear;
	}
}
// End inDate

function daySelect(io) {
	var dayLabel = io+ "Day";	

	if(io == "out") {
		document.writeln("<select name='"+ dayLabel+ "' id='"+ dayLabel+ "' style='width: 55px;font-family:Arial;font-size:11px;' onchange='javascript:document.getElementById(\"inDay\").value=this.value;' >\n");

	} else {
		document.writeln("<select name='"+ dayLabel+ "' id='"+ dayLabel+ "' style='width: 55px;font-family:Arial;font-size:11px;'>\n");
	}
	
	
	if(io == "out") {
		if(outMonth == month) {
			xx = parseInt(day);
		} else {
			xx = 0;
		}
		for(x = xx; x <= outMaxDays; x++) {
			outDayTxt = dayReturn(outYear,outMonth,x,langCode);
			if(x != 0) {
				if(x < 10) {
					var xl = "0"+ x;
				} else {
					var xl = x;
				}
				
				if(outDay == x) {
					document.writeln("<option value='"+ x+ "' selected>"+ xl+ " "+ outDayTxt+ "</option>\n");
				} else {
					document.writeln("<option value='"+ x+ "'>"+ xl+ " "+ outDayTxt+ "</option>\n");
					
				}
			}
		}
	} else {

		if(inMonth == month) {
			xx = parseInt(day);
		} else {
			xx = 0;
		}
		for(x = xx; x <= inMaxDays; x++) {
			inDayTxt = dayReturn(inYear,inMonth,x,langCode);
			if(x != 0) {
				if(x < 10) {
					var xl = "0"+ x;
				} else {
					var xl = x;
				}
				
				if(inDay == x) {
					document.writeln("<option value='"+ x+ "' selected>"+ xl+ " "+ inDayTxt+ "</option>\n");
				} else {
					document.writeln("<option value='"+ x+ "'>"+ xl+ " "+ inDayTxt+ "</option>\n");
					
				}
			}
		}
	}
	document.writeln("</select>");
}

function monthSelect(io) {

	var monthLabel = io+ "Month";

	if(io == "out") {
		document.writeln("<select name='"+ monthLabel+ "' id='"+ monthLabel+ "' style='width: 85px;font-family:Arial;font-size:11px;' onchange='javascript:document.getElementById(\"inMonth\").value=this.value;updateDays(\"out\",this.value);updateDays(\"in\",this.value);' >\n");
	
	} else {
		document.writeln("<select name='"+ monthLabel+ "' id='"+ monthLabel+ "' style='width: 85px;font-family:Arial;font-size:11px;' onchange='updateDays(\"in\",this.value);'>\n");
	}
	
	if(io == "out") {
		if(outDate != "" || outDays != "") {
			outMonth++;
		}

		var om = month-1;
		var oYear = year;
		for (x = 0; x < 13; x++) {
			if(om > 12) {
				om = 1;
				oYear = oYear+1;
			}
			var monthElem = months[om].split("|");
			om++;
			if(x != 0) {
				if(om == outMonth && oYear == outYear) {
				   document.writeln("<option value='" + monthElem[0]+ ","+ oYear+ "' selected='selected'>"+ monthElem[langCode]+ " "+ oYear+ "</option>\n");
				} else {
				   document.writeln("<option value='" + monthElem[0]+ ","+ oYear+ "'>"+ monthElem[langCode]+ " "+ oYear+ "</option>\n");
				}
			}

			
		}
	} else {
		if(inDate != "" || inDays != "") {
			inMonth++;
		} else {
			inMonth = outMonth;
		}

		var im = month-1;
		var iYear = year;
		for (x = 0; x < 13; x++) {
			if(im > 12) {
				im = 1;
				iYear = iYear+1;
			}
			var monthElem = months[im].split("|");
			im++;
			if(x != 0) {
				if(im == inMonth && iYear == inYear) {
				   document.writeln("<option value='" + monthElem[0]+ ","+ iYear+ "' selected='selected'>"+ monthElem[langCode]+ " "+ iYear+ "</option>\n");
				} else {
				   document.writeln("<option value='" + monthElem[0]+ ","+ iYear+ "'>"+ monthElem[langCode]+ " "+ iYear+ "</option>\n");
				}
			}
		}
	}	
	document.writeln("</select>\n");

}

// Render origin list
function originSelect() {
	document.writeln("<select name='origin' id='origin' onchange='javascript:setValue(\"org\",this.value)' style='font-size:11px;width:143px;font-family:Arial, Helvetica, sans-serif;'>\n");

	if(origins == "all") {
		document.writeln("<option value='GOT'>G&ouml;teborg</option>\n");
		document.writeln("<option value='KLR'>Kalmar</option>\n");
		document.writeln("<option value='KRN'>Kiruna</option>\n");
		document.writeln("<option value='CPH'>K&ouml;penhamn</option>\n");
		document.writeln("<option value='LLA'>Lule&aring;</option>\n");
		document.writeln("<option value='MMX'>Malm&ouml;</option>\n");
		// Change 081023
		document.writeln("<option value='NRK'>Norrk&ouml;ping</option>\n");
		document.writeln("<option value='RNB'>Ronneby/Karlskrona</option>\n");
		document.writeln("<option value='SFT'>Skellefte&aring;</option>\n");
		document.writeln("<option value='STO'>Stockholm</option>\n");
		document.writeln("<option value='SDL'>Sundsvall/H&auml;rn&ouml;sand</option>\n");
		document.writeln("<option value='UME'>Ume&aring;</option>\n");
		// Added 100112
		document.writeln("<option value='VBY'>Visby</option>\n");
		document.writeln("<option value='OSD'>&Aring;re/&Ouml;stersund</option>\n");
		document.writeln("<option value='AGH'>&Auml;ngelholm/Helsingborg</option>\n");
		// Change 081215
		//document.writeln("<option value='OER'>&Ouml;rnsk&ouml;ldsvik</option>\n");
			
	} else if(origins == "common") {
		document.writeln("<option value='GOT'>G&ouml;teborg</option>\n");
		document.writeln("<option value='CPH'>K&ouml;penhamn</option>\n");
		document.writeln("<option value='MMX'>Malm&ouml;</option>\n");
		document.writeln("<option value='STO'>Stockholm</option>\n");
	
	} else {
		origins = origins.toUpperCase();
		if(originLen > 0) {
			var originsString = origins.split("-");
			var originsArray = new Array();
			var originStart = 0;
			while(originStart < originLen) {
				originsArray[originStart] = originsString[originStart];
				originStart++;
			}
			var x;
			for(x in originsArray) {
				var iata = originsArray[x];
				var airportName = airports[iata];
				document.writeln("<option value='"+ iata+ "'>"+ airportName+ "</option>\n");
			}
		
		} else {
			var airportName = airports[origins];
			document.writeln("<option value='"+ origins+ "'>"+ airportName+ "</option>\n");
		}
	}
	
	document.writeln("</select>\n");
	
}

// Render destination list
function destinationSelect() {
	
	document.writeln("<select name='destination' id='destination' onchange='javascript:setValue(\"dest\",this.value)' style='font-size:11px;width:143px;font-family:Arial, Helvetica, sans-serif;'>");
	if(destLen > 1 || destinations == "all") {
		document.writeln("<option value='' selected='selected'>-- V&auml;lj resm&aring;l --</option>\n");
	}
	
	if(destinations == "all" || destinations == "international" || destinations == "europe" || destinations == "intercont" || destinations == "domestic" || destinations == "beyond" || destinations == "gotspec") {
		if(destinations == "all" || destinations == "domestic") {
			document.writeln("<optgroup label='Inrikes'>\n");
			document.writeln("<option value='GOT'>G&ouml;teborg</option>\n");
			document.writeln("<option value='KLR'>Kalmar</option>\n");
			document.writeln("<option value='KRN'>Kiruna</option>\n");
			//document.writeln("<option value='CPH'>K&ouml;penhamn</option>\n");
			document.writeln("<option value='LLA'>Lule&aring;</option>\n");
			document.writeln("<option value='MMX'>Malm&ouml;</option>\n");
			document.writeln("<option value='RNB'>Ronneby/Karlskrona</option>\n");
			document.writeln("<option value='SFT'>Skellefte&aring;</option>\n");
			document.writeln("<option value='STO'>Stockholm</option>\n");
			document.writeln("<option value='SDL'>Sundsvall/H&auml;rn&ouml;sand</option>\n");
			document.writeln("<option value='UME'>Ume&aring;</option>\n");
			// Added 100112
			document.writeln("<option value='VBY'>Visby</option>\n");
			document.writeln("<option value='OSD'>&Aring;re/&Ouml;stersund</option>\n");
			document.writeln("<option value='AGH'>&Auml;ngelholm/Helsingborg</option>\n");
			// Change 081215
			//document.writeln("<option value='OER'>&Ouml;rnsk&ouml;ldsvik</option>\n");
			document.writeln("</optgroup>\n");
		}

    
    if(destinations == "all" || destinations == "international" || destinations == "europe") {
			document.writeln("<optgroup label='Europa'>\n");
			document.writeln("<option value='AMS'>Amsterdam</option>\n");
			// Removed 090211
      // document.writeln("<option value='AYT'>Antalya</option>\n");
			document.writeln("<option value='ATH'>Aten</option>\n");
			document.writeln("<option value='BCN'>Barcelona</option>\n");
			document.writeln("<option value='BGO'>Bergen</option>\n");
			document.writeln("<option value='TXL'>Berlin</option>\n");
			document.writeln("<option value='BRU'>Bryssel</option>\n");
			document.writeln("<option value='DUB'>Dublin</option>\n");
			// Removed 090213
      // document.writeln("<option value='DBV'>Dubrovnik</option>\n");
			document.writeln("<option value='DUS'>Dusseldorf</option>\n");
			document.writeln("<option value='EDI'>Edinburgh</option>\n");
			document.writeln("<option value='FRA'>Frankfurt</option>\n");
			document.writeln("<option value='GVA'>Gen&eacute;ve</option>\n");
			document.writeln("<option value='HAM'>Hamburg</option>\n");
			document.writeln("<option value='HEL'>Helsingfors</option>\n");
			// Change 100112
      			document.writeln("<option value='IST'>Istanbul</option>\n");
			// Change 090130
      // document.writeln("<option value='KTT'>Kittil&auml;/Levi</option>\n");
			document.writeln("<option value='CPH'>K&ouml;penhamn</option>\n");
			document.writeln("<option value='LON'>London</option>\n");
			document.writeln("<option value='AGP'>Malaga</option>\n");
			document.writeln("<option value='MLA'>Malta</option>\n");
			document.writeln("<option value='MAN'>Manchester</option>\n");
			document.writeln("<option value='MIL'>Milano</option>\n");
			document.writeln("<option value='SVO'>Moskva</option>\n");
			document.writeln("<option value='MUC'>M&uuml;nchen</option>\n");
			document.writeln("<option value='NCE'>Nice</option>\n");
			document.writeln("<option value='OSL'>Oslo</option>\n");
			document.writeln("<option value='PMI'>Palma</option>\n");
			document.writeln("<option value='PAR'>Paris</option>\n");
			document.writeln("<option value='PRG'>Prag</option>\n");
			document.writeln("<option value='ROM'>Rom</option>\n");
			document.writeln("<option value='SPU'>Split</option>\n");
			document.writeln("<option value='LED'>St Petersburg</option>\n");
			document.writeln("<option value='SVG'>Stavanger</option>\n");
			// Added 090304
      document.writeln("<option value='TOS'>Troms&ouml</option>\n");
			document.writeln("<option value='TRD'>Trondheim</option>\n");
			document.writeln("<option value='ZAG'>Zagreb</option>\n");
			document.writeln("<option value='ZRH'>Z&uuml;rich</option>\n");
			document.writeln("</optgroup>\n");
		}
		

	if(destinations == "all" || destinations == "international" || destinations == "intercont") {
			document.writeln("<optgroup label='&Ouml;vriga v&auml;rlden'>\n");
			document.writeln("<option value='CHI'>Chicago</option>\n");
			// Removed 090302
      //document.writeln("<option value='DEL'>Delhi</option>\n");
			document.writeln("<option value='DXB'>Dubai</option>\n");			
			document.writeln("<option value='BKK'>Bangkok</option>\n");
			document.writeln("<option value='NYC'>New York</option>\n");
			document.writeln("<option value='BJS'>Peking</option>\n");
			document.writeln("<option value='SEA'>Seattle</option>\n");
			document.writeln("<option value='TYO'>Tokyo</option>\n");
			document.writeln("<option value='WAS'>Washington</option>\n");
			document.writeln("</optgroup>\n");
		}
		
		if(destinations == "beyond") {
			document.writeln("<option value='ATL'>Atlanta</option>\n");
			document.writeln("<option value='AUS'>Austin</option>\n");
			document.writeln("<option value='BWI'>Baltimore</option>\n");
			document.writeln("<option value='BOS'>Boston</option>\n");
			document.writeln("<option value='CLT'>Charlotte</option>\n");
			document.writeln("<option value='CHI'>Chicago</option>\n");
			document.writeln("<option value='CVG'>Cincinnati</option>\n");
			document.writeln("<option value='CLE'>Cleveland</option>\n");
			document.writeln("<option value='DFW'>Dallas</option>\n");
			document.writeln("<option value='DEN'>Denver</option>\n");
			document.writeln("<option value='DTW'>Detroit</option>\n");
			document.writeln("<option value='FLL'>Fort Lauderdale</option>\n");
			document.writeln("<option value='GSO'>Greensboro</option>\n");
			document.writeln("<option value='HOU'>Houston</option>\n");
			document.writeln("<option value='IND'>Indianapolis</option>\n");
			document.writeln("<option value='MKC'>Kansas City</option>\n");
			document.writeln("<option value='LAS'>Las Vegas</option>\n");
			document.writeln("<option value='LAX'>Los Angeles</option>\n");
			document.writeln("<option value='MEM'>Memphis</option>\n");
			document.writeln("<option value='MIA'>Miami</option>\n");
			document.writeln("<option value='MSP'>Minneapolis</option>\n");
			document.writeln("<option value='BNA'>Nashville</option>\n");
			document.writeln("<option value='NYC'>New York</option>\n");
			document.writeln("<option value='MSY'>New Orleans</option>\n");
			document.writeln("<option value='ORF'>Norfolk</option>\n");
			document.writeln("<option value='ORL'>Orlando</option>\n");
			document.writeln("<option value='PHL'>Philadelphia</option>\n");
			document.writeln("<option value='PHX'>Phoenix</option>\n");
			document.writeln("<option value='PIT'>Pittsburgh</option>\n");
			document.writeln("<option value='PDX'>Portland</option>\n");
			document.writeln("<option value='RDU'>Raleigh</option>\n");
			document.writeln("<option value='SAC'>Sacramento</option>\n");
			document.writeln("<option value='STL'>St Louis</option>\n");
			document.writeln("<option value='SLC'>Salt Lake City</option>\n");
			document.writeln("<option value='SAN'>San Diego</option>\n");
			document.writeln("<option value='SFO'>San Francisco</option>\n");
			document.writeln("<option value='SJC'>San Jose</option>\n");
			document.writeln("<option value='SNA'>Santa Ana</option>\n");
			document.writeln("<option value='SEA'>Seattle</option>\n");
			document.writeln("<option value='TPA'>Tampa</option>\n");
			document.writeln("<option value='TUS'>Tucson</option>\n");
			document.writeln("<option value='WAS'>Washington</option>\n");
		}
		
		if(destinations == "gotspec") {
		
			//document.writeln("<option value='BCN'>Barcelona</option>\n");
			document.writeln("<option value='BHX'>Birmingham</option>\n");
			document.writeln("<option value='DUS'>D&uuml;sseldorf</option>\n");
			document.writeln("<option value='FRA'>Frankfurt</option>\n");
			document.writeln("<option value='HAM'>Hamburg</option>\n");
			document.writeln("<option value='HEL'>Helsingfors</option>\n");
			document.writeln("<option value='CPH'>K&ouml;penhamn</option>\n");
			document.writeln("<option value='LON'>London</option>\n");
			document.writeln("<option value='LLA'>Lule&aring;</option>\n");
			document.writeln("<option value='LYS'>Lyon</option>\n");
			//document.writeln("<option value='AGP'>Malaga</option>\n");
			document.writeln("<option value='MAN'>Manchester</option>\n");
			document.writeln("<option value='MUC'>M&uuml;nchen</option>\n");
			document.writeln("<option value='OSL'>Oslo</option>\n");
			document.writeln("<option value='PRG'>Prag</option>\n");
			document.writeln("<option value='RIX'>Riga</option>\n");
			document.writeln("<option value='STO'>Stockholm</option>\n");
			document.writeln("<option value='SDL'>Sundsvall</option>\n");
			document.writeln("<option value='TLL'>Tallinn</option>\n");
			document.writeln("<option value='VBY'>Visby</option>\n");
			document.writeln("<option value='ZRH'>Z&uuml;rich</option>\n");
			document.writeln("<option value='OSD'>&Aring;re/&Ouml;stersund</option>\n");
		}
	
	} else {
		destinations = destinations.toUpperCase();
		if(destLen > 0) {
			var destinationsString = destinations.split("-");
			var destinationsArray = new Array();
			var destinationstart = 0;
			while(destinationstart < destLen) {
				destinationsArray[destinationstart] = destinationsString[destinationstart];
				destinationstart++;
			}
			var x;
			for(x in destinationsArray) {
				var iata = destinationsArray[x];
				var airportName = airports[iata];
				document.writeln("<option value='"+ iata+ "'>"+ airportName+ "</option>\n");
			}
		
		} else {
			var airportName = airports[destinations];
			document.writeln("<option value='"+ destinations+ "'>"+ airportName+ "</option>\n");
		}
	}
	
	document.writeln("</select>\n");

}

function clearFrame(id) {
	var elemId = id;
	document.getElementById(elemId).style.border='0';
}

// Change button color
function buttonSwitch(action) {
	if(action == 1) {
		document.getElementById("button1").style.background = "url(/images/icons/i_button_red_m.gif) repeat-x";
		document.getElementById("button2").style.background = "url(/images/icons/i_button_red_l.gif) no-repeat";
		document.getElementById("button3").style.background = "url(/images/icons/i_button_red_r.gif) no-repeat right top";
	} else {
		document.getElementById("button1").style.background = "url(/images/icons/i_button_blue_m.gif) repeat-x";
		document.getElementById("button2").style.background = "url(/images/icons/i_button_blue_l.gif) no-repeat";
		document.getElementById("button3").style.background = "url(/images/icons/i_button_blue_r.gif) no-repeat right top";
	}
}

function setValue(id,val) {
	var elemId = id;
	var elemVal = val;
	document.getElementById(elemId).value = elemVal;
}

function showHideIn(val) {
	if(val == 1) {
		document.getElementById('inboundDate').style.display = 'block';
	} else {
		document.getElementById('inboundDate').style.display = 'none';
	}
}

// Render the form
function renderForm() {
	
	/*
	if(outDate != "") {
		//document.getElementById('outYear').value = outDate.substr(0,4);
		document.getElementById('outMonth').value = parseInt(outDate.substr(4,2))+ ","+ outDate.substr(0,4);
		document.getElementById('outDay'). value = parseInt(outDate.substr(6,2));
	}

	if(inDate != "") {
		//document.getElementById('inYear').value = inDate.substr(0,4);
		document.getElementById('inMonth').value = parseInt(inDate.substr(4,2))+ ","+ inDate.substr(0,4);
		document.getElementById('inDay'). value = parseInt(inDate.substr(6,2));
	}
	
	if(outDate != "" && inDate == "") {
		document.getElementById('inYear').value = outDate.substr(0,4);
		document.getElementById('inMonth').value = parseInt(outDate.substr(4,2));
		document.getElementById('inDay'). value = outDate.substr(6,2);		
	}
	*/
	
	document.getElementById('origin').value = originDefault;
	document.getElementById('destination').value = destinationDefault;
	if(allowOW == 0) {
		document.getElementById('tripType').style.display = "none";
	}
}

// Validate and submit form
function submitform() {
	var outDay = document.getElementById('outDay').value;
	if(outDay < 10) {
		var outDay = "0"+ outDay;
	}
	var outMonthYear = document.getElementById('outMonth').value.split(",");
	var outMonth =  outMonthYear[0];
	var monthOutElem = months[outMonth].split("|");
	var outTextMonth = monthOutElem[1].toUpperCase();
	var outYear = outMonthYear[1];
	//document.getElementById('out').value = outDay+ outTextMonth+ outYear.substr(2,2);
	if(outMonth.length == 1) {
		document.getElementById('out').value = outYear+ '-0'+ outMonth+ '-'+ outDay;
	} else {
		document.getElementById('out').value = outYear+ '-'+ outMonth+ '-'+ outDay;
	}
	var inDay = document.getElementById('inDay').value;
	if(inDay < 10) {
		var inDay = "0"+ inDay;
	}
	var inMonthYear = document.getElementById('inMonth').value.split(",");
	var inMonth = inMonthYear[0];
	var monthInElem = months[inMonth].split("|");
	var inTextMonth = monthInElem[1].toUpperCase()
	var inYear = inMonthYear[1];
	var ret = document.getElementById('inboundDate').style.display;
	if(ret != "none") {
		//document.getElementById('ret').value = inDay+ inTextMonth+ inYear.substr(2,2);
		if(inMonth.length == 1) {
			document.getElementById('ret').value = inYear+ '-0'+ inMonth+ '-'+ inDay;
		} else {
			document.getElementById('ret').value = inYear+ '-'+ inMonth+ '-'+ inDay;
		}
	}
	var origin = document.getElementById('org').value;
	if(origin == "") {
		document.getElementById('org').value = document.getElementById('origin').value;
	}
	var destination = document.getElementById('dest').value;
	if(destination == "") {
		document.getElementById('dest').value = document.getElementById('destination').value
	}
	var destination = document.getElementById('dest').value;
	var adults = parseInt(document.getElementById('adt').value);
	var child_2_11 = parseInt(document.getElementById('chd_2-11').value);
	var child_12_15 = parseInt(document.getElementById('chd_12-15').value);
	var infants = parseInt(document.getElementById('inf').value);	
	var pax = adults + child_2_11 + child_12_15;

	errCount = 0;
	var msg = 'F\u00F6ljande information saknas f\u00F6r att kunna s\u00F6ka resor:';
	
	if(destination == '') {
		msg = msg+ '\n- Destination';
		errCount++;
	}
	
	if(ret != "none") {
		if(outMonth == inMonth) {
			if(inDay - outDay < 0) {
				msg = '\n- Hemresan kan inte ske f\u00F6re utresan!';
				errCount++;
			}
		}
	}
		
	if(pax > 9) {
		msg = '\n- Antalet passagerare f\u00E5r inte \u00F6verstiga 9!';
		errCount++;
	}
	
	if(infants > adults) {
		msg = '\n- Antalet sp\u00E4dbarn f\u00E5r inte \u00F6verstiga antalet vuxna!';
		errCount++;
	}
		
	if(errCount > 0) {
		alert(msg);
	
	} else {
		document.getElementById('WT.mc_id').value = WT_mc_id;
		document.getElementById('WT.seg_4').value = WT_seg_4;
		document.getElementById('fastLaneForm').submit();
	}
}
