var Street = '';
var TCity1 = '';
var State = '';
var Zip = '';
var HName = '';
var StarR = '0';

var pst = '';
var cst = '';
var bB = true;
//var bC = true;

//window.onload = I;
document.onclick = HCal;

function hw(id)
{
	cst = DE('typ').options[DE('typ').selectedIndex].value;
	if ((id == pwid) && (pst == cst)){return;}
	cwid = id;
	DE('r' + id).checked = true;
    SO();
	SetSearchType();
	SetST(cwid);
	SetTeleMessage();
	if(cwid != '2'){SH(DE('divWrs'),0);SH(DE('divWOptions'),0);}else{SH(DE('divWrs'),1);SH(DE('divWOptions'),1);}
	BuildFields();
	pwid = cwid;
	pst = cst;
}

function BuildFields()
{
	switch (pwid){case '4':case '5':switch (cwid){case '4':case '5':if(!bB){pwid = cwid;return;};break;}break;}
	if (bB){GetSavedValues();}
    SO();
	SetIH('divWFields',GetFieldsHTML());
	BuildRASC();
	if (bB && DE('ao').value == '1'){SetAO();}
	bB = false;
}

function BuildRASC()
{
	if(pwid == cwid){return;}
	switch (pwid){case '4':case '5':switch (cwid){case '1':case '4':case '5':if (bB){return ''};break;}break;}
	var n = 0;
	switch (cwid)
	    {
	        case '2':n = 2;maxC=6;break;
	        case '4':case '5':case '6':n = 2;maxC=5;break;
	        default:n = 0;break;
	    }
	var s = true;
	if (cwid == '2' || cwid == '6'){s = false;minA = 1;}else{minA = 0;}
	if (cwid == '2'){maxR = 8;}else{maxR = 3;}
	SetRASC(n,s);
}

function GetFieldsHTML()
{
	var s = '';
    var t = '';   
	switch (cwid)
	{
		case '2':
	        switch (cst)
	        {
		        case '1':s = 'Destination:<br/>';break;
		        case '2':s = 'Airport name: (Ex. New York, JFK):<br/>';break;
		        case '3':s = 'Attraction name: (Ex. Statue of Liberty):<br/>';break;
		        case '4':s = 'Street address or intersection:<br/>';break;
	        }
            t = t + '<div class="bl1">';
            if(cst == '4'){t = t + s + GetGI('tsr',Street,'large','',' onchange="Rem(this);"','255');}
            else{t = t + s + GetGI('tcy',TCity,'large','',' onchange="Rem(this);"','100');}
            t = t + '</div>';
            if(cst == '4')
            {
		        t = t + '<div class="bl1">';
		        t = t + '<div class="flmed">';
		        t = t + '<div class="fl">City:<br/>' + GetGI('tct',TCity1,'','',' onchange="Rem(this);"','100') + '</div>';
		        t = t + '</div>';
		        t = t + '<div class="frmed">';
		        t = t + '<div class="fl">State:<br/>' + GetDD('tst',arrST,State,'small','',' onchange="Rem(this);"') + '</div>';
		        t = t + '<div class="fr">ZIP code:<br/>' + GetGI('tzp',Zip,'small','',' onchange="Rem(this);"','5') + '</div>';
		        t = t + '</div>';
		        t = t + '</div>';
            }
            t = t + '<div class="bl1">';
            t = t + '<div class="flmed">';
            t = t + 'Check-in:<br/>' + GetDt('H','F');
            t = t + '</div>';
            t = t + '<div class="frmed">';
            t = t + 'Check-out:<br/>' + GetDt('H','T');
            t = t + '</div>';
            t = t + '</div>';
            t = t + '<div class="clearer"></div>';
		    break;
        case '4':case '5':t = GetFields('F');break;
        case '6':t = GetFields('HC');break;
		default:t = '';break;
	}
	return t;
}

function SetAO()
{
    DE('ao').value = '1';
	SetIH('divO1',GetAOHTML());
}

function GetAOHTML()
{
	sb.Reset();
	sb.Concat('<div class="bl1" style="padding-top:3px;">');
	sb.Concat('<div class="flmed">Hotel name:<br/>' + GetGI('hnm',HName,'','',' onchange="Rem(this);"','80') + '</div>');
	sb.Concat('<div class="frmed"><a href="/pub/agent.dll?qscr=hgen&hfnm=H_VHW_default.htx&rhtx=HTX_HOTVSRCH&#class">Hotel class:</a><br/>' + GetDD('str',arrSR,StarR,'','',' onchange="Rem(this);"') + '</div>');
	sb.Concat('</div>');
    sb.Concat('<div class="clearer"></div>');
	return sb.GetValue();
}

function SetST(id)
{
	switch (id)
	{
		case '2':SText = 'Search for hotels';break;
		case '4':SText = 'Search for hotels and flights';break;
		case '5':SText = 'Search for hotels, flights and cars';break;
		case '6':SText = 'Search for hotels and cars';break;
	}
	SetSTG();
}

function Rem(el)
{
	RemG(el);
	var n = el.id.substr(3);
	switch (el.id.substr(0,3))
	{
		case 'tsr':Street = el.value;DE('Street').value = Street;break;
		case 'tct':TCity1 = el.value;DE('TCity1').value = TCity1;break;
		case 'tst':State = el.value;DE('State').value = State;break;
		case 'tzp':Zip = el.value;DE('Zip').value = Zip;break;
		case 'hnm':HName = el.value;DE('HName').value = HName;break;
		case 'str':StarR = el.value;DE('StarR').value = StarR;break;
	}
}

function GetSavedValues()
{
	GetSavedValuesG();
	var v;
	v = DE('Street').value;if (v != '') {Street = v;}
	v = DE('TCity1').value;if (v != '') {TCity1 = v;}
	v = DE('State').value;if (v != '') {State = v;}
	v = DE('Zip').value;if (v != '') {Zip = v;}
	v = DE('HName').value;if (v != '') {HName = v;}
	v = DE('StarR').value;if (v != '') {StarR = v;}
}


//////////////////////////////////////////////////////////////////


var pwid = '';
var cwid = '';
var bB = true;
var bFlex = false;

var FCity = '';
var TCity = '';
var FTLA = '';
var TTLA = '';
var	TCityId = '6022969';

var FDate = 'dd/mm/yy';
var TDate = 'dd/mm/yy';
var MDate = '';
var CalS = '';
var CalE = '';

var FTime = '362';
var TTime = '362';

var rooms = 1;
var minR = 1;
var maxR = 8;
var minA = 0;
var maxA = 6;
var minS = 0;
var maxS = 6;
var minC = 0;
var maxC = 6;

var nR = 1;
var aRA;
var aRS;
var aRC;
var aRCA;
var Inf = 'l';

var TL = '';
var CCl = 'NoPreference';
var SText = 'Search for flights';

var tl = '';
var ti = '';
var te = '';
var nm = 12;

var arrColors = new Array('Red', 'Lime', 'Yellow', 'Aqua', 'Blue', 'Green', 'White','Silver', 'Teal', 'Orange', 'Pink');
var arrMN = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July','August', 'September', 'October', 'November', 'December');
var arrCC = new Array('NoPreference|No Preference','Economy|Economy','Compact|Compact','Midsize|Midsize','Standard|Standard','FullSize|Full Size','Premium|Premium','Luxury|Luxury','Convertible|Convertible','Minivan|Minivan','SUV|Sport Utility Vehicle','SportsCar|Sports Car');
var arrSR = new Array('0|Show all','10|1 Star or more','20|2 Stars or more','30|3 Stars or more','40|4 Stars or more','50|5 Stars');
var arrFD = new Array('|-Select from the list-','ATL|Atlanta, GA (ATL-Hartsfield Intl.)','AUS|Austin, TX (AUS-Austin-Bergstrom International Airport)','BWI|Baltimore, MD (BWI-Baltimore Washington)','BOS|Boston, MA (BOS-Logan Intl.)','CLT|Charlotte, NC (CLT-Douglas Intl.)','ORD|Chicago, IL (ORD-O\'Hare)','CLE|Cleveland, OH (CLE-Hopkins Intl.)','CMH|Columbus, OH (CMH-Port Columbus Intl.)','DFW|Dallas, TX (DFW-Dallas-Fort Worth Intl.)','DEN|Denver, CO (DEN-Denver Intl.)','DTW|Detroit, MI (DTW-Wayne County)','FLL|Fort Lauderdale, FL (FLL)','RSW|Fort Myers, FL (RSW-Southwest Florida Regional)','BDL|Hartford, CT (BDL-Bradley Intl.)','HNL|Honolulu, Oahu, HI (HNL-Honolulu Intl.)','IAH|Houston, TX (IAH-Bush Intercontinental)','IND|Indianapolis, IN (IND-Indianapolis Intl.)','JAX|Jacksonville, FL (JAX-Jacksonville Intl.)','MCI|Kansas City, MO (MCI-Kansas City Intl.)','LAS|Las Vegas, NV (LAS-McCarran Intl.)','LAX|Los Angeles, CA (LAX-Los Angeles Intl.)','MIA|Miami, FL (MIA-Miami Intl.)','MSP|Minneapolis, MN (MSP-Minneapolis-St. Paul Intl.)','BNA|Nashville, TN (BNA)','MSY|New Orleans, LA (MSY-New Orleans Intl.)','JFK|New York, NY (JFK-Kennedy)','LGA|New York, NY (LGA-LaGuardia)','EWR|Newark, NJ (EWR-Newark International Airport)','OAK|Oakland, CA (OAK-Oakland Intl.)','SNA|Orange County, CA (SNA-John Wayne Intl.)','MCO|Orlando, FL (MCO-Orlando Intl.)','PHL|Philadelphia, PA (PHL-Philadelphia Intl.)','PHX|Phoenix, AZ (PHX-Sky Harbor Intl.)','PIT|Pittsburgh, PA (PIT-Greater Pittsburgh Intl.)','PDX|Portland, OR (PDX-Portland Intl.)','RDU|Raleigh, NC (RDU-Raleigh Durham Intl.)','RNO|Reno, NV (RNO-Reno-Tahoe International)','SLC|Salt Lake City, UT (SLC-Salt Lake City Intl.)','SAT|San Antonio, TX (SAT-San Antonio Intl.)','SAN|San Diego, CA (SAN-Lindbergh Field)','SFO|San Francisco, CA (SFO-San Francisco Intl.)','SJC|San Jose, CA (SJC-San Jose Intl.)','SEA|Seattle, WA (SEA-Seattle Tacoma)','STL|St. Louis, MO (STL-Lambert-St. Louis Intl.)','TPA|Tampa, FL (TPA-Tampa Intl.)','DCA|Washington, DC (DCA-Ronald Reagan National)','IAD|Washington, DC (IAD-Dulles)','PBI|West Palm Beach, FL (PBI-Palm Beach Intl.)');
var arrTL = new Array('0,1,10|1 - 10 nights','1,0,0|Weekend','0,2,4|2 - 4 nights','0,3,5|3 - 5 nights','0,5,7|5 - 7 nights','0,7,10|7 - 10 nights','0,1,1|1 night','0,2,2|2 nights','0,3,3|3 nights','0,4,4|4 nights','0,5,5|5 nights','0,6,6|6 nights','0,7,7|7 nights','0,8,8|8 nights','0,9,9|9 nights','0,10,10|10 nights');
var arrTD = new Array('6023185|Africa','203|Alaska','6023099|Asia','6023738|Australia-South Pacific','13|Bahamas','20|Bermuda','6023742|Canada-New England-NY','6022969|Caribbean','6023743|Caribbean-Eastern','6023744|Caribbean-Southern','6023745|Caribbean-Western','6022967|Europe','213|Hawaii','500010|India-Indian Ocean','6023183|Mediterranean','117|Mexico','6023182|Middle East','500001|North America','6023756|North Pacific','-2|Nowhere (no port stops)','6023753|Panama Canal','6023117|South America','-3|Transatlantic','-4|Transpacific','-5|World');
//var arrST = new Array('|- Any State -','AL|AL-Alabama','AK|AK-Alaska','AZ|AZ-Arizona','AR|AR-Arkansas','CA|CA-California','CO|CO-Colorado','CT|CT-Connecticut','DE|DE-Delaware','DC|DC-District of Columbia','FL|FL-Florida','GA|GA-Georgia','HI|HI-Hawaii','ID|ID-Idaho','IL|IL-Illinois','IN|IN-Indiana','IA|IA-Iowa','KS|KS-Kansas','KY|KY-Kentucky','LA|LA-Louisiana','ME|ME-Maine','MD|MD-Maryland','MA|MA-Massachusetts','MI|MI-Michigan','MN|MN-Minnesota','MS|MS-Mississippi','MO|MO-Missouri','MT|MT-Montana','NE|NE-Nebraska','NV|NV-Nevada','NH|NH-New Hampshire','NJ|NJ-New Jersey','NM|NM-New Mexico','NY|NY-New York','NC|NC-North Carolina','ND|ND-North Dakota','OH|OH-Ohio','OK|OK-Oklahoma','OR|OR-Oregon','PA|PA-Pennsylvania','RI|RI-Rhode Island','SC|SC-South Carolina','SD|SD-South Dakota','TN|TN-Tennessee','TX|TX-Texas','UT|UT-Utah','VT|VT-Vermont','VA|VA-Virginia','WA|WA-Washington','WV|WV-West Virginia','WI|WI-Wisconsin','WY|WY-Wyoming');
var arrST = new Array('|--','AL|AL','AK|AK','AZ|AZ','AR|AR','CA|CA','CO|CO','CT|CT','DE|DE','DC|DC','FL|FL','GA|GA','HI|HI','ID|ID','IL|IL','IN|IN','IA|IA','KS|KS','KY|KY','LA|LA','ME|ME','MD|MD','MA|MA','MI|MI','MN|MN','MS|MS','MO|MO','MT|MT','NE|NE','NV|NV','NH|NH','NJ|NJ','NM|NM','NY|NY','NC|NC','ND|ND','OH|OH','OK|OK','OR|OR','PA|PA','RI|RI','SC|SC','SD|SD','TN|TN','TX|TX','UT|UT','VT|VT','VA|VA','WA|WA','WV|WV','WI|WI','WY|WY');
//var arrT1 = new Array('12AM|12:00 AM','1AM|1:00 AM','2AM|2:00 AM','3AM|3:00 AM','4AM|4:00 AM','5AM|5:00 AM','6AM|6:00 AM','7AM|7:00 AM','8AM|8:00 AM','9AM|9:00 AM','10AM|10:00 AM','11AM|11:00 AM','12PM|12:00 PM','1PM|1:00 PM','2PM|2:00 PM','3PM|3:00 PM','4PM|4:00 PM','5PM|5:00 PM','6PM|6:00 PM','7PM|7:00 PM','8PM|8:00 PM','9PM|9:00 PM','10PM|10:00 PM','11PM|11:00 PM','361|Morning','362|Any','721|Noon','1081|Evening');
var arrT1 = new Array('362|Any','12AM|12 AM','1AM|1 AM','2AM|2 AM','3AM|3 AM','4AM|4 AM','5AM|5 AM','6AM|6 AM','7AM|7 AM','8AM|8 AM','9AM|9 AM','10AM|10 AM','11AM|11 AM','12PM|12 PM','1PM|1 PM','2PM|2 PM','3PM|3 PM','4PM|4 PM','5PM|5 PM','6PM|6 PM','7PM|7 PM','8PM|8 PM','9PM|9 PM','10PM|10 PM','11PM|11 PM','361|Morn.','721|Noon','1081|Eve.');
//var arrT2 = new Array('361|Morning','362|Any','721|Noon','1081|Evening');

var nextFocus = null;

function GetDefault(E)
{
	var t = '';
	var d = '2';
	var a = new Array();
	
	switch (E)
	{
		case 'A':if(cwid == '1' || cwid == '7'){d = '1';}for (var i = minR; i < (maxR + 1); i++){if (i != maxR){t = t + d + ',';}else{t = t + d;}}return t;break;
		case 'S':for (var i = minR; i < (maxR + 1); i++){if (i != maxR){t = t + '0,';}else{t = t + '0';}}return t;break;
		case 'C':for (var i = minR; i < (maxR + 1); i++){if (i != maxR){t = t + '0,';}else{t = t + '0';}}return t;break;
		case 'CA':
			for (var i = 1; i < (maxC + 1); i++){if (i != maxC){t = t + '-1,';}	else{t = t + '-1';}};
			for (var i = 0; i < maxR; i++){a[i] = t.split(',');}return a;break;
		case 'FT':return '362||11AM|361|361|11AM|362||';break;
		case 'TT':return '362||11AM|1081|1081|11AM|362||';break;
	}
}

var sb = new SB();
var sb1 = new SB();

function RemG(el)
{
	var n = el.id.substr(3);
	switch (el.id.substr(0,3))
	{
		case 'fcy':FCity = el.value;DE('FCity').value = FCity;break;
		case 'tcy':if(n == ''){TCity = el.value;DE('TCity').value = TCity;}break;
		case 'tci':TCityId = el.value;DE('TCityId').value = TCityId;break;
		case 'fct':FTLA = el.value;DE('FTLA').value = FTLA;break;
		case 'tct':TTLA = el.value;DE('TTLA').value = TTLA;break;
		case 'fdt':FDate = el.value;DE('FDate').value = FDate;break;
		case 'tdt':TDate = el.value;DE('TDate').value = TDate;break;
		case 'mon':MDate = el.value;DE('MDate').value = MDate;break;
		case 'ftt':FTime = el.value;DE('FTime').value = FTime;break;
		case 'ttt':TTime = el.value;DE('TTime').value = TTime;break;
		case 'trl':TL = el.value;DE('TL').value = TL;break;
		case 'ccl':CCl = el.value;DE('CarC').value = CCl;break;
		case 'rrr':nR = el.options[el.selectedIndex].value;DE('nR').value = nR;break;
		case 'rad':aRA[n - 1] = el.options[el.selectedIndex].value;DE('aRA').value = aRA.join('|');break;
		case 'rse':aRS[n - 1] = el.options[el.selectedIndex].value;DE('aRS').value = aRS.join('|');break;
		case 'rch':aRC[n - 1] = el.options[el.selectedIndex].value;DE('aRC').value = aRC.join('|');break;
		case 'rca':n = n.split('_');aRCA[n[0] - 1][n[1] - 1] = el.options[el.selectedIndex].value;DE('aRCA').value = aRCA.join('|');break;
		case 'rIS':if (el.checked){Inf = 's';}DE('Inf').value = Inf;break;
		case 'rIL':if (el.checked){Inf = 'l';}DE('Inf').value = Inf;break;
	}
}

function GetSavedValuesG()
{
	var v;
	v = DE('FCity').value;if (v != '') {FCity = v;}
	v = DE('TCity').value;if (v != '') {TCity = v;}
	v = DE('TCityId').value;if (v != '') {TCityId = v;}
	v = DE('FTLA').value;if (v != '') {FTLA = v;}
	v = DE('TTLA').value;if (v != '') {TTLA = v;}
	v = DE('FDate').value;if (v != '') {FDate = v;}
	v = DE('TDate').value;if (v != '') {TDate = v;}
	v = DE('MDate').value;if (v != '') {MDate = v;}
	v = DE('FTime').value;if (v != '') {FTime = v;}
	v = DE('TTime').value;if (v != '') {TTime = v;}
	v = DE('CarC').value;if (v != '') {CCl = v;}
	v = DE('nR').value;if (v != '') {nR = v;}
	v = DE('aRA').value;if (v != '') {aRA = v.split('|');}
	v = DE('aRS').value;if (v != '') {aRS = v.split('|');}
	v = DE('aRC').value;if (v != '') {aRC = v.split('|');}
	v = DE('aRCA').value;if (v != '') {aRCA = v.split('|');for (var j = 0; j < aRCA.length; j++){aRCA[j] = aRCA[j].split(',');}}
	v = DE('Inf').value;if (v != '') {Inf = v;}
	CalS = DE('CalS').value;
	CalE = DE('CalE').value;

	var sdt = new Date(CalS);
	var edt = new Date(CalE);
	var j = 0;
	var sm = sdt.getMonth() + 1;
	var em = 12;
	if(sdt.getYear() == edt.getYear())
	{
	    em = edt.getMonth() + 1;
	}
	for (var i = sm;i <= em;i++)
	{
	    j = j + 1;
	}
	if(edt.getYear() > sdt.getYear())
	{
	    for (var i = 1;i <= edt.getMonth() + 1;i++)
	    {
	        j = j + 1;
	    }
	}
    if(j > 0){nm = j;}
}

///////////////////////////////////////////////////////////////////////

function I()
{  
    //CancelCal();
    if(DE('r1')!=null){if(DE('r1').checked){hw('1');return;}}
    if(DE('r2')!=null){if(DE('r2').checked){hw('2');return;}}
    if(DE('r3')!=null){if(DE('r3').checked){hw('3');return;}}
    if(DE('r4')!=null){if(DE('r4').checked){hw('4');return;}}
    if(DE('r5')!=null){if(DE('r5').checked){hw('5');return;}}
    if(DE('r6')!=null){if(DE('r6').checked){hw('6');return;}}
    if(DE('r7')!=null){if(DE('r7').checked){hw('7');return;}}
    if(DE('r8')!=null){if(DE('r8').checked){hw('8');return;}}
    if(DE('r9')!=null){if(DE('r9').checked){hw('9');return;}}
    //hw('');
}

function SO()
{
	var p = '';
	if(typeof(bPageHasDCCoreOffer) != 'undefined')
	{
        if(bPageHasDCCoreOffer)
	    {
	        switch (cwid)
	        {
	            case '1':case '7':p = 'Flight';break;
	            case '2':p = 'Hotel';break;
	            case '3':p = 'Car';break;
	            case '4':case '5':case '6':p = 'Package';break;
	            case '8':p = 'Cruise';break;
	            case '9':p = 'Activity';break;
	        }
	        setOffer(p);
        }
    }
}

function GetFields(t)
{
	sb.Reset();
	switch (t)
	{
	    case 'F':
	    case 'FH':
	    case 'FHC':
	    case 'FC':
			sb.Concat('<div class="bl1">');
			sb.Concat('<div class="flmed">' + GetGL('fcy','Leaving from:') + '<br/>' + GetCy(t,'F') + '</div>');
			sb.Concat('<div class="frmed">' + GetGL('tcy','Going to:') + '<br/>' + GetCy(t,'T') + '</div>');
			sb.Concat('</div>');
			sb.Concat('<div class="bl1">');
			sb.Concat('<div class="flmed">');
			sb.Concat('<div class="fl">' + GetGL('fdt','Departing:') + '<br/>' + GetDt(t,'F') + '</div>');
			sb.Concat('<div class="fr">' + GetGL('ftt','Time:') + '<br/>' + GetT(t,'F') + '</div>');
			sb.Concat('</div>');
			sb.Concat('<div class="frmed">');
			sb.Concat('<div class="fl">' + GetGL('tdt','Returning:') + '<br/>' + GetDt(t,'T') + '</div>');
			sb.Concat('<div class="fr">' + GetGL('ttt','Time:') + '<br/>' + GetT(t,'T') + '</div>');
			sb.Concat('</div>');
			sb.Concat('</div>');
	        break;
	    case 'FL':
            tl = 'Don\'t see the city you\'re looking for?';
            ti = tl;
            te = 'Flexible-date searches are currently available only for our most popular routes. You can still search for flights in the usual way by putting in your departure and return dates.';
			sb.Concat('<div class="bl1">' + GetGL('fct','Leaving from:') + '<br/>' + GetDD('fct',arrFD,FTLA,'large','',' onchange="Rem(this);"') + '</div>');
			sb.Concat('<div class="bl1">' + GetGL('tct','Going to:') + '<br/>' + GetDD('tct',arrFD,TTLA,'large','',' onchange="Rem(this);"') + '</div>');
            sb.Concat('<div class="bl1" style="padding-bottom:12px;">' + GetTT(tl,ti,te,0,'','',true) + '</div>');
			sb.Concat('<div class="bl1">');
			sb.Concat('<div class="flmed">' + GetGL('mon','Departure month:') + '<br/>' + GetM(nm,MDate,'','',' onchange="Rem(this);"') + '</div>');
			sb.Concat('<div class="frmed">' + GetGL('trl','Trip length:') + '<br/>' + GetDD('trl',arrTL,TL,'','',' onchange="Rem(this);"') + '</div>');
			sb.Concat('</div>');
            sb.Concat('<div class="clearer"></div>');
	        break;
	    case 'H':
			sb.Concat('<div class="bl1">' + GetGL('tcy','Destination:') + '<br/>' + GetCy(t,'T') + '</div>');
			sb.Concat('<div class="bl1">');
			sb.Concat('<div class="flmed">' + GetGL('fdt','Check-in:') + '<br/>' + GetDt(t,'F') + '</div>');
			sb.Concat('<div class="frmed">' + GetGL('tdt','Check-out:') + '<br/>' + GetDt(t,'T') + '</div>');
			sb.Concat('</div>');
	        break;
	    case 'C':
            sb.Concat('<div class="bl1">');
            sb.Concat('<div class="flmed">' + GetGL('tcy','Pick-up location:') + '<br/>' + GetCy(t,'T') + '</div>');
            sb.Concat('<div class="frmed">' + GetGL('ccl','Car type:') + '<br/>' + GetDD('ccl',arrCC,CCl,'','',' onchange="Rem(this);"') + '</div>');
            sb.Concat('</div>');
            sb.Concat('<div class="bl1">');
            sb.Concat('<div class="flmed">');
            sb.Concat('<div class="fl">' + GetGL('fdt','Pick-up:') + '<br/>' + GetDt(t,'F') + '</div>');
            sb.Concat('<div class="fr">' + GetGL('ftt','Time:') + '<br/>' + GetT(t,'F') + '</div>');
            sb.Concat('</div>');
            sb.Concat('<div class="frmed">');
            sb.Concat('<div class="fl">' + GetGL('tdt','Drop-off:') + '<br/>' + GetDt(t,'T') + '</div>');
            sb.Concat('<div class="fr">' + GetGL('ttt','Time:') + '<br/>' + GetT(t,'T') + '</div>');
            sb.Concat('</div>');
            sb.Concat('</div>');
	        break;
	    case 'HC':
			sb.Concat('<div class="bl1">' + GetGL('tcy','Destination:') + '<br/>' + GetCy('H','T') + '</div>');
			sb.Concat('<div class="bl1">');
			sb.Concat('<div class="flmed">');
			sb.Concat('<div class="fl">' + GetGL('fdt','Check-in:') + '<br/>' + GetDt(t,'F') + '</div>');
			sb.Concat('<div class="fr">' + GetGL('ftt','Pick-up:') + '<br/>' + GetT('C','F') + '</div>');
			sb.Concat('</div>');
			sb.Concat('<div class="frmed">');
			sb.Concat('<div class="fl">' + GetGL('tdt','Check-out:') + '<br/>' + GetDt(t,'T') + '</div>');
			sb.Concat('<div class="fr">' + GetGL('ttt','Drop-off:') + '<br/>' + GetT('C','T') + '</div>');
			sb.Concat('</div>');
			sb.Concat('</div>');
	        break;
	    case 'Cr':
			sb.Concat('<div class="bl1" style="padding-bottom:10px;">');
			sb.Concat('<b>Note:</b> Cruise air and hotel stays are offered after you select the cruise.');
			sb.Concat('</div>');
			sb.Concat('<div class="bl1">' + GetGL('tci','Select a top destination:') + '<br/>' + GetDD('tci',arrTD,TCityId,'large','',' onchange="Rem(this);"') + '</div>');
			sb.Concat('<div class="bl1">' + GetGL('mon','Departing in:') + '<br/>' + GetM(18,MDate,'','',' onchange="Rem(this);"') + '</div>');
	        break;
	}
    sb.Concat('<div class="clearer"></div>');
	return sb.GetValue();
}

function GetM(n,d,c,s,j)
{
	var dt = new Date();
	var y = dt.getFullYear();
	var dd = d;
    var c1 = 'class="med" ';
    var s1 = '';
	if(c != ''){c1 = 'class="' + c + '" ';}
	if(s != ''){s1 = 'style="' + s + '" ';}
	if (dd == '' && n == 18)
	{
		var nextMonth = new Date(dt.setMonth(dt.getMonth() + 1,1));
		dd = nextMonth.getMonth() + '-' + nextMonth.getFullYear();
	}
	dt = new Date();
	var t = '<select id="mon" name="mon" ' + c1 + s1 + j +'>';
	if (n == 18){t = t + '<option value="1/1/4501">All dates</option>';}
	for (i = 0; i < n; i++) 
		{
			if (dt.getFullYear() == y){t = t + '<option value="' + dt.getMonth() + '-' + dt.getFullYear() +'">' + arrMN[dt.getMonth()] + '</option>';}
			else{t = t + '<option value="' + dt.getMonth() + '-' + dt.getFullYear() +'">' + arrMN[dt.getMonth()] + ' ' + dt.getFullYear() + '</option>';}
			dt.setMonth(dt.getMonth() + 1,1);
		} 
	t = t + '</select>';
	return t.replace('value="' + dd + '"','value="' + dd + '" selected="selected"');
}

function SetCC()
{
    var d = DE('divCC');
	if (d != null)
	{
		if (cwid == '7'){SH(d,1);d.innerHTML = '<div class="bl1">' + GetGL('ccl','Car type:') + '<br/>' + GetDD('ccl',arrCC,CCl,'','',' onchange="Rem(this);"') + '</div><div class="clearer"></div>';}
		else{SH(d,0);}
	}
}

function GetR(j)
{
	var t = '';
	rooms = GetRC();
	t = t + '<select id="rrr" name="rrr"' + j + '>';
	for (i = minR; i < (maxR + 1); i++) 
		{
			if (i == rooms){t = t + '<option value=' + i + ' selected>' + i + '</option>';}
			else{t = t + '<option value=' + i + '>' + i + '</option>';}
		} 
	t = t + '</select>';
	return t;
}

function GetA(r,s,j)
{
	var t = '';
	var nA = parseInt(aRA[r - 1]);
	if (s==false)
	{
		var nS = parseInt(aRS[r - 1]);
		if ((nA + nS) <= maxA){nA = nA + nS;}
	}
	if (nA > maxA){nA = 1;}
	var ddName = 'rad' + r;
	t = t + '<select id="' + ddName + '" name="' + ddName + '"' + j + '>';
	for (i = minA; i < (maxA + 1); i++) 
		{
			if (i == nA){t = t + '<option value=' + i + ' selected>' + i + '</option>';}
			else{t = t + '<option value=' + i + '>' + i + '</option>';}
		} 
	t = t + '</select>';
	return t;
}

function GetS(r,j)
{
	var t = '';
	var ddName = 'rse' + r;
	t = t + '<select id="' + ddName + '" name="' + ddName + '"' + j + '>';

	for (i = minS; i < (maxS + 1); i++) 
		{
			if (i ==  aRS[r - 1]){t = t + '<option value=' + i + ' selected>' + i + '</option>';}
			else{t = t + '<option value=' + i + '>' + i + '</option>';}
		} 
	t = t + '</select>';
	return t;
}

function GetC(r,j)
{
	var t = '';
	var s = '';
	if(aRC[r - 1] > maxC){s = maxC;}else{s = aRC[r - 1];}
	var ddName = 'rch' + r;
	t = t + '<select id="' + ddName + '" name="' + ddName + '"' + j + '>';
	for (i = minC; i < (maxC + 1); i++) 
		{
			if (i == s){t = t + '<option value=' + i + ' selected>' + i + '</option>';}
			else{t = t + '<option value=' + i + '>' + i + '</option>';}
		} 
	t = t + '</select>';
	return t;
}

function GetCA(r,c,j)
{
	var t = '';
	var ddName = 'rca' + r + '_' + c;
	t = t + '<select id="' + ddName + '" name="' + ddName + '" ' + j + '>';
	if (aRCA[r - 1][c - 1] == -1){t = t + '<option value="-1" selected>-?-</option>';}
	else{t = t + '<option value="-1">-?-</option>';}
	if (aRCA[r - 1][c - 1] == 0){t = t + '<option value="0" selected>&lt;1</option>';}
	else{t = t + '<option value="0">&lt;1</option>';}
	for (i = 1; i < 19; i++) 
		{
			if (i ==  aRCA[r - 1][c - 1]){t = t + '<option value=' + i + ' selected>' + i + '</option>';}
			else{t = t + '<option value=' + i + '>' + i + '</option>';}
		} 
	t = t + '</select>';
	return t;
}

function SetRASC(n,s)
{
	var h = '';
	var t = '(19+)';
	if(s){t = '(19-64)'};
	
	if(DE('aRA').value == ''){aRA = GetDefault('A').split(',');}
	if(DE('aRS').value == ''){aRS = GetDefault('S').split(',');}
	if(DE('aRC').value == ''){aRC = GetDefault('C').split(',');}
	if(DE('aRCA').value == ''){aRCA = GetDefault('CA');}

	rooms = GetRC();
	
	if (cwid == '2'){maxA = 14;}else{maxA = 6;}
	if ((cwid == '4') || (cwid == '5') || (cwid == '6')){maxC = 5;}	else{maxC = 6;}
	
	sb.Reset();
	if (n == 1)
	{
		sb.Concat('<div class="bl1">');
		sb.Concat('<div class="flrasc">' + GetGL('rad1','Adults ' + t + ':') + '<br/>' + GetA(1,s,' onchange="Rem(this);"') + '</div>');
		sb.Concat('<div class="flrasc">' + GetGL('rse1','Seniors (65+):') + '<br/>' + GetS(1,' onchange="Rem(this);"') + '</div>');
		sb.Concat('<div class="flrasc">' + GetGL('rch1','Children (0-18):') + '<br/>' + GetC(1,' onchange="Rem(this);SetCA(' + n + ',' + s + ');"') + '</div>');
		sb.Concat('</div>');
        sb.Concat('<div class="clearer"></div>');
	}
	else if (n == 2)
	{
        for (var j = 1; j < (parseInt(rooms) + 1); j++)
        {
	        if (j == 1)
	        {
		        sb.Concat('<div class="bl1">');
		        sb.Concat('<div class="flrasc1"><br/>' + GetGL('rrr','Rooms:') + '<br/>' + GetR(' onfocus="HCal();" onchange="Rem(this);SetRASC(' + n + ',' + s + ');"') + '</div>');
		        if (rooms == 1)
			        {
		                sb.Concat('<div class="flrasc2">&nbsp;</div>');
		            }
		        else
			        {
		                sb.Concat('<div class="flrasc2"><br/><br/>Room ' + j + '</div>');
		            }
		        sb.Concat('<div class="flrasc1">' + GetGL('rad1','Adults <br/>' + t + ':') + '<br/>' + GetA(j,s,' onchange="Rem(this);"') + '</div>');
		        if(s)
		        {
		            sb.Concat('<div class="flrasc1">' + GetGL('rse1','Seniors <br/>(65+):') + '<br/>' + GetS(j,' onchange="Rem(this);"') + '</div>');
		        }
		        sb.Concat('<div class="flrasc3">' + GetGL('rch1','Children <br/>(0-18):') + '<br/>' + GetC(j,' onchange="Rem(this);SetCA(' + n + ',' + s + ');"') + '</div>');
		        sb.Concat('</div>');
	        }
	        else
	        {
		        sb.Concat('<div class="bl1">');
		        sb.Concat('<div class="flrasc1">&nbsp;</div>');
		        sb.Concat('<div class="flrasc2">Room ' + j + '</div>');
		        sb.Concat('<div class="flrasc1">' + GetA(j,s,' onchange="Rem(this);"') + '</div>');
		        if(s)
		        {
		            sb.Concat('<div class="flrasc1">' + GetS(j,' onchange="Rem(this);"') + '</div>');
		        }
		        sb.Concat('<div class="flrasc3">' + GetC(j,' onchange="Rem(this);SetCA(' + n + ',' + s + ');"') + '</div>');
		        sb.Concat('</div>');
	        }
        }
        sb.Concat('<div class="clearer"></div>');
    }
    h = sb.GetValue();
    var d = DE('divRASC');
	if (d != null)
	{
		if (h != ''){SH(d,1);d.innerHTML = h;}
		else{SH(d,0);}
	}
    SetCA(n,s);
}

function SetCA(n,s)
{
	sb.Reset();
	var h = '';
	var nC = 0;
	var ddC;
	var i;
	var j;
	var cat = 1;
	var CA = false;
	var cu = '';
	rooms = GetRC();
	if (n > 0)
	{
	    for (i = 1; i < (parseInt(rooms) + 1); i++)
		    {
			    ddC = DE('rch' + i);
			    if (ddC != null){nC = parseInt(ddC.options[ddC.selectedIndex].value);if (nC > 0){CA = true;break;}}
		    }
	}
	if (CA)
	{
		if (n == 1){cat = 0;}
		if (s){cu = 'ChildUpdate();';}
		sb.Concat('<div class="bl3">' + GetCAText(cat) + '</div>');
		if(n == 1)
		{
			ddC = DE('rch1');
			nC = parseInt(ddC.options[ddC.selectedIndex].value);
			sb.Concat('<div class="bl1">');
			for (i = 1; i < (nC + 1); i++)
			{
		        sb.Concat('<div class="flca1">' + GetGL('rca1_' + i,'Child ' + i + ':') + '<br/>' + GetCA(1,i,' onchange="Rem(this);' + cu + '"') + '</div>');
			}
			sb.Concat('</div>');
			sb.Concat(GetInfantHTML());
		}
		else if(n == 2)
		{
			for (j = 1; j < (parseInt(rooms) + 1); j++)
			{
				ddC = DE('rch' + j);
				if (ddC != null)
				{
					nC = parseInt(ddC.options[ddC.selectedIndex].value);
					if (nC > 0)
					{
			            sb.Concat('<div class="bl1">');
		                sb.Concat('<div class="flca"><br/>Room ' + j + '</div>');
			            sb.Concat('<div class="flca2">');
				        for (i = 1; i < (nC + 1); i++)
				        {
		                    sb.Concat('<div class="flca1">' + GetGL('rca' + j + '_' + i,'Child ' + i + ':') + '<br/>' + GetCA(j,i,' onchange="Rem(this);' + cu + '"') + '</div>');
				        }
			            sb.Concat('</div>');
			            sb.Concat('</div>');
                        sb.Concat('<div class="clearer"></div>');
					}
				}
			}
			sb.Concat(GetInfantHTML());
		}
        sb.Concat('<div class="clearer"></div>');
        sb.Concat('<div class="clearer"></div>');
	}
    h = sb.GetValue();
    var d = DE('divCA');
	if (d != null)
	{
		if (h != ''){SH(d,1);d.innerHTML = h;if(s){ChildUpdate()};}
		else{SH(d,0);}
	}
}

function GetRC()
{
	if(nR > maxR){return maxR;}else{return nR;}
}

function GetCAText(n)
{
    var t = new Array('We will search for any applicable airfare discounts.<br><a href="/pub/agent.dll?qscr=hgen&rhtx=HTX_FLTSRCH_RT&hfnm=h_FW_default.htx&#travs">Airline age rules and unaccompanied minors</a>', 'Discounts may be offered to children of certain ages.');
	return '<b>Specify ages of children at time of travel:</b><br>' + t[n];
}

function GetInfantHTML()
{
	var t = '';
	var Check1 = '';
	var Check2 = '';
	if (Inf == 'l'){Check2 = 'checked="checked"';}
	if (Inf == 's'){Check1 = 'checked="checked"';}
	var cl = 'chkFF';
	if (document.all){cl = 'chkIE'}
	t = t + '<div id="divHBWinf" class="bl2" style="display:none;padding-top:8px;">';
	t = t + '<b>Infants (under 2):</b><br/>';
	t = t + '<input id="rIL" name="infs" type="radio" value="2" ' + Check2 + ' onclick="Rem(this);" class="' + cl + '" /><label for="rIL">laps</label>&nbsp;&nbsp;';
	t = t + '<input id="rIS" name="infs" type="radio" value="1" ' + Check1 + ' onclick="Rem(this);" class="' + cl + '" /><label for="rIS">seats</label>';
	//t = t + '<input id="rIL" type="radio" value="2" name="infs" ' + Check2 + ' onclick="Rem(this);" />laps';
	//t = t + '<input id="rIS" type="radio" value="1" name="infs" ' + Check1 + ' onclick="Rem(this);" />seats';
	t = t + '</div>';
	return t;
}

function ChildUpdate()
{
	var bI = false;
	var nCA = -1;
	for (var i = 1; i < (maxR + 1); i++)
	{
		for (var j = 1; j < (maxC + 1); j++)
		{
			dd = DE('rca' + i + '_' + j);
			if (dd != null)
			{
				nCA = dd.options[dd.selectedIndex].value;
				if ((nCA == 0) || (nCA == 1)){bI = true;break;}
			}
		}
		if (bI){break;}
	}
	dd = DE('divHBWinf');
	if (dd != null)
	{
		if (bI){SH(dd,1);}
		else{SH(dd,0);}
	}
}

function SetSearchType()
{
	var b = DE('BundleType');
	if (cwid == '1'){b.value = 1;}
	if (cwid == '2'){b.value = 2;}
	if (cwid == '3'){b.value = 4;}
	if (cwid == '4'){b.value = 3;}
	if (cwid == '5'){b.value = 7;}
	if (cwid == '6'){b.value = 6;}
	if (cwid == '7'){b.value = 5;}
	if (cwid == '8'){b.value = 8;}
	if (cwid == '9'){b.value = 9;}
}

function SetSTG()
{
	var st = '<a href="#" onmouseover="stmo(SText);return true;" onmouseout="stmo(\'\');return true;" onclick="SF();return false;">' + SText + '</a>';
	SetIH('divWst',st);
}

function stmo(wst){window.status = wst;}

function SetTeleMessage()
{
	var tele = DE('divTele');
	switch (cwid)
	{
		case '1':case '2':case '3':case '7':case '8':case '9':SH(tele,0);break;
		case '4':case '5':case '6':SH(tele,1);break;
	}
}

function GetGI(i,d,c,s,j,m)
{
    var c1 = 'class="med" ';
    var s1 = '';
    var m1 = 'maxlength="255"';
	if(document.all){s1 = 'margin-top:-1px;margin-bottom:-1px;';}
	if(c != ''){c1 = 'class="' + c + '" ';}
	if(s != '' || s1 != ''){s1 = 'style="' + s + s1 + '" ';}
	if(m != ''){m1 = 'maxlength="' + m + '" ';}
	return '<input id="' + i + '" name="' + i + '" value="' + d + '" type="text" ' + m1 + c1 + s1 + j + ' />';
}

function GetGL(i,t){return '<label for="' + i +'" style="cursor:default;">' + t + '</label>';}

function GetDD(i,a,d,c,s,j)
{
    var a1;
    var d1 = '';
    var c1 = 'class="med" ';
    var s1 = '';
	if(c != ''){c1 = 'class="' + c + '" ';}
	if(s != ''){s1 = 'style="' + s + '" ';}
	for (var k = 0; k < a.length; k++) 
		{
			a1 = a[k].split('|');
			d1 = d1 + '<option value="' + a1[0] + '">' + a1[1] + '</option>';
		} 
    d1 = '<select id="' + i + '" name="' + i + '" ' + c1 + s1 + j + '>' + d1 + '</select>';
	return d1.replace('value="' + d + '"','selected="selected" value="' + d + '"');
}

function GetCB(i,v,t,d,c,s,j)
{
	var chk = '';
	var v1 = '';
    var c1 = 'class="med" ';
    var c2 = 'class="chkFF" ';
    if(document.all){c2 = 'class="chkIE" ';}
    var s1 = '';
	if(v != ''){v1 = 'value="' + v + '" ';}
	if(c != ''){c1 = 'class="' + c + '" ';}
	if(s != ''){s1 = 'style="' + s + '" ';}
	if(d == '1'){chk = 'checked="checked" ';}
	//return '<label ' + c1 + '><input id="' + i + '" name="' + i.substr(0,3) + '" type="checkbox" ' + v1 + chk + s1 + j + ' />' + t + '</label>';
	
	return '<input id="' + i + '" name="' + i.substr(0,3) + '" type="checkbox" ' + v1 + chk + c2 + s1 + j + ' /><label for="' + i +'" ' + c1 + '>' + t + '</label>';
}

function GetCy(t,n)
{
    var c = '';
    if(t == 'H'){c = 'large';}
	if (n == 'F'){return GetGI('fcy',FCity,c,'',' onblur="Rem(this);" onfocus="HCal();this.select();"','100');}
	else if (n == 'T'){return GetGI('tcy',TCity,c,'',' onblur="Rem(this);" onfocus="HCal();this.select();"','100');}
}

function GetDt(t,n)
{
    var c = 'small';
    if(t == 'H'){c = '';}
	if (n == 'F'){return GetGI('fdt',FDate,c,'',' onblur="Rem(this);" onclick="event.cancelBubble=true;SC(this);" onfocus="SC(this);"','12');}
	else if (n == 'T'){return GetGI('tdt',TDate,c,'',' onblur="Rem(this);" onclick="event.cancelBubble=true;SC(this);" onfocus="SC(this);"','12');}
}

function GetT(t,n)
{
    var d = FTime;
    var a = arrT1;
    if(n == 'T'){d = TTime;}
    if(t == 'C'){a = arrT1.slice(0,25).slice(1,25);if(d.indexOf('AM') < 0 && d.indexOf('PM') < 0){d = '11AM';}}
	if (n == 'F'){return GetDD('ftt',a,d,'small','',' onchange="Rem(this);" onfocus="HCal();"');}
	else if (n == 'T'){return GetDD('ttt',a,d,'small','',' onchange="Rem(this);" onfocus="HCal();"');}
}

function sd(e,c)
{
   var t = '';
   if(c != ''){t = ' class="' + c + '"';}
   return '<div' + t + '>' + e + '</div>';
}

function SetIH(id,v){var e = DE(id);e.innerHTML = '';e.innerHTML = v;}

function Trim(s)
{
	var st = s.toString();
	while(st.charAt(0) == ' '){st = st.substring(1);}
	while(st.charAt(st.length - 1) == ' '){st = st.substring(0,st.length-2);}
	return st;
}

function DE(el){return document.getElementById(el);}

function SH(e,s){if(s){e.style.display = 'block';}else{e.style.display = 'none';}}

var aS = new Array();
function SB(){this.Concat = Concat;this.GetValue = GetValue;this.Reset = Reset;}
function Concat(StringToConcat){this.aS[this.aS.length] = StringToConcat;}
function GetValue(){return this.aS.join('');}
function Reset(){this.aS = null;this.aS = new Array();}

function SC(el)
{
	if (DE('CalFrame') == null){return;}
	var id = el.id;
	var n = el.id.substr(3);
	if (id.substr(0,3) == 'fdt')
	{
		if (cwid == '2' || cwid == '9'){nextFocus=DE('tdt');}
		else{nextFocus=DE('ftt' + n);}
		el.select();
		if(n == ''){ShowCalendar(el,el,null,CalS,CalE);}
		else if(n == '2'){ShowCalendar(el,el,DE('fdt'),CalS,CalE);}
		else{ShowCalendar(el,el,DE('fdt' + (n - 1)),CalS,CalE);}
	}
	if (id.substr(0,3) == 'tdt')
	{
		if (cwid == '2'){nextFocus=DE('rrr');}
		else if (cwid == '9'){nextFocus=DE('sub');}
		else{nextFocus=DE('ttt');}
		el.select();
		ShowCalendar(el,el,DE('fdt'),CalS,CalE);
	}
}

function HCal(e)
{
	var c = DE('CalFrame');
	//if (c!=null){SH(c,false);}
	if (c!=null){CancelCal();}
	var d;
	d = DE('fdt');
	if (d!=null){d.value = d.value;}
	d = DE('tdt');
	if (d!=null){d.value = d.value;}
}

function SrvyCheck()
{
	var aWiz = {'1':'1','2':'4','3':'3','4':'9','5':'9','6':'9','7':'9','8':'6','9':'28'};
	var aRate = {'1':58,'2':159,'3':1491,'4':331,'5':331,'6':331,'7':331,'8':2500,'9':500};
	QualifiedForSurvey(aWiz[cwid], true, 45, aRate[cwid]);
	return;
}

function SF()
{
	SrvyCheck();
	document.Wiz.submit();
}

function enter(e){var k;if(e.keyCode){k=e.keyCode;}if(e.which){k=e.which;}if(k=='13'){e.cancelBubble=true;SF();}}

function GetTT(tl,ti,te,w,bc,i,f)
{
    var w1 = 250;
    var bc1 = '666666';
    var i1 = '/eta/tip_icon.gif';
    var i2 = '';
    if(f){i2 = '<img src="/eta/tip_icon.gif" alt="" style="margin-right:3px;" />';}
    
    if(w != ''){w1 = w;}
    if(bc != ''){bc1 = bc;}
    if(i != ''){i1 = i;}

    return i2 + '<a href="#" onmouseover="stmo(\'' + tl.replace(/\'/g,'\\\'') + '\');return true;" onmouseout="stmo(\'\');return true;" onclick="event.cancelBubble=true;STT(this,\'' + ti.replace(/\'/g,'\\\'') + '\',\'' + te.replace(/\'/g,'\\\'') + '\',' + w1 + ',\'' + bc1 + '\',\'' + i1 + '\');return false;">' + tl + '</a>';
}
