
function Srvy(wt, postshop, dprt, dest, pinf)
{
	var p_top = (screen.height-250)/2;
	var p_left = (screen.width-250)/2;
	var url = '/pub/agent.dll?qscr=srvy&fshp=' + postshop + '&spwt=' + wt;
	if (dprt != null) {url = url + '&dprt=' + escape(dprt);}
	if (dest != null) {url = url + '&dest=' + escape(dest);}
	if (pinf != null) {url = url + '&pinf=' + escape(pinf);}
	var srvy_pop = window.open(url,'srvy','top='+p_top+',left='+p_left+',location=no,toolbar=no,directories=no,menubar=no,resizable=no,scrollbars=no,status=no,width=332,height=362');
	if (srvy_pop)
	{
		if (postshop)
		{
			srvy_pop.blur();
			window.focus();
		}
		else
		{
			srvy_pop.focus();
		}
	}
}
//----------------------------------------------------------------------------------------------------//
function QualifiedForSurvey(wt, postshop, window, rate, dprt, dest, pinf)
{
	if (IsArranging(GCV('user')))	
	{
		return false;
	}

	if (ShownSurveyBefore(window))	
	{
		return false;
	}

	var srvysVal = GCV('srvys');	
	var a_srvysVal = srvysVal.split(",");
	if (a_srvysVal.length == 3)
	{
		var shoppingMask = a_srvysVal[1];
		var purchaseMask = a_srvysVal[2];
	}
	else
	{	
		var shoppingMask = 0;
		var purchaseMask = 0;
	}
	
	var mask = 1 << wt
	var bSampledBefore = postshop ? ((mask & shoppingMask) ? true : false) : ((mask & purchaseMask) ? true : false);
	if (bSampledBefore)
	{
		return false;
	}
	
	postshop ? (shoppingMask |= mask) : (purchaseMask |= mask);
	setCookie('srvys','v.1,' + shoppingMask + ',' + purchaseMask,'','/','','');

	var rndMax = 1;
	var rndNum = Math.random();
	var sampleRate = ((rndMax/10000.00) * rate);
	if (rndNum < sampleRate)
	{
		Srvy(wt, postshop, dprt, dest, pinf);
	}
}
//----------------------------------------------------------------------------------------------------//
function y2k(num) {return (num<1000) ? num+1900 : num;}
//----------------------------------------------------------------------------------------------------//
function setCookie(name, value, expires, path, domain, secure)
{
	document.cookie = name + '=' + escape(value) + ((expires)?(';expires=' + expires):'') + ((path)?';path=' + path:'') + ((domain)?';domain=' + domain:'') + ((secure && (secure == true))?'; secure':''); // Set the cookie, adding any parameters that were specified.
}
//----------------------------------------------------------------------------------------------------//
function DDiff(d1,d2)
{
    var diff = Date.UTC(y2k(d1.getYear()),d1.getMonth(),d1.getDate(),0,0,0) -
			   Date.UTC(y2k(d2.getYear()),d2.getMonth(),d2.getDate(),0,0,0);
    return diff/1000/60/60/24;
}
//----------------------------------------------------------------------------------------------------//
function ShownSurveyBefore(window)
{	
	curDate = new Date();
	var lscStr = GCV('lsrvy');
	if (lscStr != "")
	{
		var dateStr = lscStr;
		var start = lscStr.indexOf(",");
		if (start != -1) {start += 1; dateStr = lscStr.substring(start, lscStr.length);}
		var lscDate = new Date(dateStr);
		return (DDiff(curDate,lscDate) < window);
	}
	else
	{
		return false;
	}
}
//----------------------------------------------------------------------------------------------------//
function IsArranging(val)
{
	if (val == '')
		return false;
	
	var a_val = val.split(',');
	if (a_val.length >= 2)
	{
		return ((a_val[1] >= 1) ? true : false);
	}
	else
	{
		return false;
	}
}
//----------------------------------------------------------------------------------------------------//
function GCV(cookie)
{
	var firstChar, lastChar, fullCookie;
	var cv = '';
	
	fullCookie = document.cookie;
	if (fullCookie == '')
		return returnVal;
		
	firstChar = fullCookie.indexOf(cookie) 
	var equalChar = firstChar + cookie.length;
	if ((firstChar != -1) && (fullCookie.charAt(equalChar) == '='))
	{	
		firstChar += cookie.length + 1;	
		lastChar = fullCookie.indexOf(';', firstChar); 
		if (lastChar == -1)
			lastChar = fullCookie.length;
		cv = unescape(fullCookie.substring(firstChar, lastChar));
	}

	return cv;
}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;}}
	var b = DE('BundleType').value;
	if(b=='3'){hw('4');return;}
	if(b=='7'){hw('5');return;}
	if(b=='6'){hw('6');return;}
	if(b=='5'){hw('7');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">' + GetGL('tci','Select from top destinations:') + '<br/>' + GetDD('tci',arrTD,TCityId,'large','',' onchange="Rem(this);"') + '</div>');
			sb.Concat('<div class="bl1">');
			sb.Concat('<div class="flmed">' + GetGL('mon','Departing in:') + '<br/>' + GetM(18,MDate,'','',' onchange="Rem(this);"') + '</div>');
			sb.Concat('<div class="frmed">' + GetGL('crl','Cruise line:') + '<br/>' + GetDD('crl',arrCL,Cruiseline,'','',' onchange="Rem(this);CS();"') + '</div>');
			sb.Concat('</div>');
			sb.Concat('<div class="bl1">');
			sb.Concat('<div class="fl"><input id="res" name="res" type="checkbox" ' + (document.all ? 'class="chkIE" ':'class="chkFF" ') + '" onclick="SetRes();" /></div>');
			sb.Concat('<div class="fl"><label for="res">Check to see if I qualify for residency, previous cruiser, or senior rates</label></div>');
			sb.Concat('</div>');
			sb.Concat('<div class="clearer"></div>');			
	        break;
		case 'A':
			var j = parseInt(arrACities.length / 2);
			sb.Concat('<div class="bl3"><b>Pick a location:</b></div>');
			sb.Concat('<div class="bl1a">' + GetACity(arrACities[0],'left') + '</div>');
			for (var i = 1; i <= j; i++)
			{
				if (i == j)
				{
					sb.Concat('<div class="bl1">');
				}
				else
				{
					sb.Concat('<div class="bl1a">');
				}
				
				sb.Concat(GetACity(arrACities[i],"left"));
				
				if ( (i + j) <= arrACities.length )
				{
					sb.Concat(GetACity(arrACities[i + j],"right"));
				}
				sb.Concat('</div>');
			}			
			sb.Concat('<div class="bl1" style="padding-bottom:14px;">');
			sb.Concat('<div class="fl"><input id="tci-1" name="tci" type="radio" class="' + strChkClass + '" value="-1" onclick="DE(\'tcy\').focus();Rem(this);" /><label for="tci-1">Other City:</label></div>');
			sb.Concat('<div class="fr"><input id="tcy" name="tcy" value="" type="text" maxlength="100" style="width:180px;" onfocus="this.select();DE(\'tci-1\').checked=true;" onchange="Rem(this)" /></div>');
			sb.Concat('</div>');
			sb.Concat('<div class="bl"><b>When will you be there?</b></div>');
			sb.Concat('<div class="bl1">');
			sb.Concat('<div class="flmed">' + GetGL('fdt','Check-in:') + '<br/>' + GetDt('H','F') + '</div>');
			sb.Concat('<div class="frmed">' + GetGL('tdt','Check-out:') + '<br/>' + GetDt('H','T') + '</div>');
			sb.Concat('</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 + '" ';}
	var nextMonth = new Date(dt.setMonth(dt.getMonth() + 1,1));
	if (dd == '' && n == 18)
	{		
		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="' + nextMonth.getMonth() + '-' + nextMonth.getFullYear() +'">Select a date</option>';}
	if (n == 18){t = t + '<option value="1/1/4501">All dates</option>';}
	for (i = 0; i < n; i++) 
		{
			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('divCC',1);SetIH('divCC','<div class="bl1">' + GetGL('ccl','Car type:') + '<br/>' + GetDD('ccl',arrCC,CCl,'','',' onchange="Rem(this);"') + '</div><div class="clearer"></div>');}
		else{SH('divCC',0);}
	}
}

function GetR(j)
{
	var t = '';
	var tt = '';
	rooms = GetRC();
	t = t + '<select id="rrr" name="rrr"' + j + '>';
	for (i = minR; i < (maxR + 1); i++)
	{
		tt = i == 9 ? '+' : '';
		if (i == rooms){t = t + '<option value=' + i + ' selected>' + i + tt + '</option>';}
		else {t = t + '<option value=' + i + '>' + i + tt +'</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 == '4') || (cwid == '5') || (cwid == '6')){maxC = 5;}	else{maxC = 6;}
	if (cwid == '2')
	{
	    if (rooms == 9){maxA = 99; minA = 9;maxC = 99;}
	    else {maxA = 14; minA = 1;}
	}
	else
	{
	    maxA = 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">');
		        if (s)
					sb.Concat('<div class="flrasc1"><br/>' + GetGL('rrr','Rooms:') + '<br/>' + GetR(' onfocus="HCal();" onchange="Rem(this);SetRASC(' + n + ',' + s + ');"') + '</div>');
				else
					sb.Concat('<div class="flrasc1">' + GetGL('rrr','Rooms:') + '<br/>' + GetR(' onfocus="HCal();" onchange="Rem(this);SetRASC(' + n + ',' + s + ');"') + '</div>');									
		        
				if (rooms == 1 || rooms == 9)
		        {
	                sb.Concat('<div class="flrasc2">&nbsp;</div>');
	            }
		        else
		        {
					if(s)
	                	sb.Concat('<div class="flrasc2"><br/><br/>Room ' + j + '</div>');
					else
						sb.Concat('<div class="flrasc2"><br/>Room ' + j + '</div>');
	            }
				
				if(s)
				{
					sb.Concat('<div class="flrasc1">' + GetGL('rad1','Adults <br/>' + t + ':') + '<br/>' + GetA(j,s,' onchange="Rem(this);"') + '</div>');
					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>');					
				}
				else
				{
					sb.Concat('<div class="flrasc">' + GetGL('rad1','Adults ' + t + ':') + '<br/>' + GetA(j,s,' onchange="Rem(this);"') + '</div>');					
					sb.Concat('<div class="flrasc">' + GetGL('rch1','Children (0-18):') + '<br/>' + GetC(j,' onchange="Rem(this);SetCA(' + n + ',' + s + ');"') + '</div>');
				}		        

		        sb.Concat('</div>');
		        if(rooms == 9) {break;}
	        }
	        else
	        {
		        sb.Concat('<div class="bl1">');
				if (s)
				{
			        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>');					
				}
				else
				{
			        sb.Concat('<div class="flrasc1">&nbsp;</div>');
			        sb.Concat('<div class="flrasc2">Room ' + j + '</div>');
			        sb.Concat('<div class="flrasc">' + GetA(j,s,' onchange="Rem(this);"') + '</div>');
			        sb.Concat('<div class="flrasc">' + 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('divRASC',1);SetIH('divRASC',h);}
		else{SH('divRASC',0);}
	}
	if (rooms == 9)
	{
	    SH('divCA',0);
	}
	else
	{
		SetCA(n,s);
	} 
	if (cwid==2){SetST(cwid);}
	CheckFfPu(cwid);
}

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 (rooms == '9'){return;}
	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('divCA',1);SetIH('divCA',h);;if(s){ChildUpdate()};}
		else{SH('divCA',0);}
	}
	CheckFfPu(cwid);  
}

function GetRC()
{
	if(nR > maxR){return maxR;}else{return nR;}
}

var GetCAText = (function()
{
    var t, tt;
    
    function __init()
    {
        t = ['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.'];    
        tt = ['<b>Specify ages of children at time of travel:</b><br>',''];
    }
    
    return function(n)
    {
        if(n > 1) return;
        if(t == undefined  && tt == undefined){__init();}
        
        tt[1]=t[n];
        return  tt.join('');
    }        
})();

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 + '</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('divHBWinf',1);}
		else{SH('divHBWinf',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()
{
    sb.Reset();
    sb.Concat('<div style="float:right;">');
    sb.Concat('<div style="clear:both;">');
    sb.Concat('<div style="float:left;">');
    sb.Concat('<div class="wizBtnLB" onclick="SF();" onmouseover="stmo(\'' + SText + '\');">');
    sb.Concat('<div class="wizBtnRB">');
    sb.Concat('<div class="wizBtnMB">' + SText + '</div>');
    sb.Concat('</div></div></div></div>');    
    if(cwid == '1' && !bFlex)
    {
        sb.Concat('<div style="clear:both;">');
        sb.Concat('<div style="float:left;margin-top:8px;">');
        sb.Concat('<div class="wizBtnLB" onclick="SFBundle(3);" onmouseover="stmo(\'Search for Flight \+ Hotel \');">');
        sb.Concat('<div class="wizBtnRB">');
        sb.Concat('<div class="wizBtnMB">Search for Flight + Hotel</div>');
        sb.Concat('</div></div></div></div>');
    }
    sb.Concat('</div>');
    sb.Concat('<div class="clearer"></div>');

    SetIH('divWst',sb.GetValue());
}

function stmo(wst){window.status = wst;}

function SetTeleMessage()
{
	var tele = '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 && navigator.appVersion.indexOf('MSIE 8.0') == -1){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 '<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,'',' autocomplete="off" onchange="Rem(this);" onfocus="HCal();this.select();"','100');}
	else if (n == 'T'){return GetGI('tcy',GetDestination(),c,'',' autocomplete="off" onchange="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);UpdDt(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 UpdDt(e)
{    
    switch(e.id)
    {
        case "fdt":
            var f = DE('fdt');
            var t = DE('tdt');
            break;
        case "pfd":
            var f = DE('pfd');
            var t = DE('ptd');
            break;
        default:
            var f = null;
            var t = null;
            break;
    }

    if(null!=f&&null!=t&&null!=GetInputDate(f.value)&&(null==GetInputDate(t.value)||GetInputDate(f.value)>GetInputDate(t.value))){t.value=f.value;}    
}

function GetT(t,n)
{
    var d = FTime;
    var a = arrT1;
	var c = (t=='HC') ? '':'small' ; 
    if(n == 'T'){d = TTime;}
    if(t == 'C' || t == 'HC'){a = arrCT;if((d.indexOf('AM') < 0 && d.indexOf('PM') < 0) || d == '0AM'){d = '1030AM';}}
	if (n == 'F'){return GetDD('ftt',a,d,c,'',' onchange="Rem(this);" onfocus="HCal();"');}
	else if (n == 'T'){return GetDD('ttt',a,d,c,'',' 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(id,s){var e = DE(id);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')
	{
		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'){el.select();ShowCalendar(el,el,DE('fdt'),CalS,CalE);}
	if (id.substr(0,3) == 'pfd'){el.select();ShowCalendar(el,el,DE('fdt'),CalS,CalE);}
	if (id.substr(0,3) == 'ptd'){el.select();ShowCalendar(el,el,DE('pfd'),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':177,'2':177,'3':177,'4':177,'5':177,'6':177,'7':177,'8':177,'9':177};
	QualifiedForSurvey(aWiz[cwid], true, 45, aRate[cwid]);
	return;
}

function SFBundle(bundleId)
{
    DE("BundleType").value = bundleId;
    SF();
}

function SF()
{
	SrvyCheck();
	MacIEHack();
	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 rel="nofollow" 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>';
}

function MacIEHack()
{
    var dd;
    var nc = 0;
    var ua = navigator.userAgent;
    if(ua.indexOf('MSIE') > -1 && ua.indexOf('Mac') > -1)
    {
	    switch (cwid)
	    {
	        case '1':case '7':case '2':case '4':case '5':case '6':
	            aRA = GetDefault('A').split(',');
	            aRS = GetDefault('S').split(',');
	            aRC = GetDefault('C').split(',');
	            aRCA = GetDefault('CA');
	            for(var i = 1; i <= nR; i++)
	            {
	                dd = DE('rad' + i);
	                aRA[i-1] = dd.options[dd.selectedIndex].value;
	                dd = DE('rse' + i);
	                if(dd!=null){aRS[i-1] = dd.options[dd.selectedIndex].value;}
	                dd = DE('rch' + i);
	                nc = dd.options[dd.selectedIndex].value;
	                aRC[i-1] = nc;
	                if (nc > 0)
	                {
                        for (var j = 1; j <= nc; j++)
                        {
                            dd = DE('rca' + i + '_' + j);
                            aRCA[i-1][j-1] = dd.options[dd.selectedIndex].value;
                        }
	                }
	            }
		        DE('aRA').value = aRA.join('|');
		        DE('aRS').value = aRS.join('|');
		        DE('aRC').value = aRC.join('|');
		        DE('aRCA').value = aRCA.join('|');
	            break;
	        case '3':case '8':case '9':
	            break;
	    }
	    if(cwid!='2'&&cwid!='8'&&cwid!='9')
	    {
	        dd=DE('ftt');DE('FTime').value=dd.options[dd.selectedIndex].value;
	        dd=DE('ttt');DE('TTime').value=dd.options[dd.selectedIndex].value;
	    }
	    if(cwid=='8'){dd=DE('mon');DE('MDate').value=dd.options[dd.selectedIndex].value;}
    }
}

function ecsf(){document.ec.submit();}
function ece(e){var k;if(e.keyCode){k=e.keyCode;}if(e.which){k=e.which;}if(k=='13'){e.cancelBubble=true;ecsf();}}

function getObj(objID)
{
    if (document.getElementById) {return document.getElementById(objID);}
    else if (document.all) {return document.all[objID];}
    else if (document.layers) {return document.layers[objID];}
}

var g_rgFreeEventElements=new Array();
g_rgFreeEventElements[0] = window;
function AddFreeEventElement(elm){FreeEventsOnUnLoad(); g_rgFreeEventElements[g_rgFreeEventElements.length]=elm;}
var g_clearElementProps = ['onmouseover','onmouseout','onmousedown','onmouseup','onmousemove','onclick','onkeypress','onkeydown','onkeyup','onblur','onfocus',];
var g_fFreeEventOnUnLoad = false;
function FreeEventsOnUnLoad()
{
	if (!g_fFreeEventOnUnLoad)
	{
	    if (window.attachEvent){window.attachEvent("onunload", function(){var el;for(var d = g_rgFreeEventElements.length;d--;){el = g_rgFreeEventElements[d];for(var c = g_clearElementProps.length;c--;){el[g_clearElementProps[c]] = null;}}});}
	    g_fFreeEventOnUnLoad=true;	
	}
}


function GetACity(v,f)
{	
	var t = v.split('|');	
	var tcls = (f == 'right') ? 'frmed' : 'flmed';		
	return '<div class="' + tcls + '"><input id="tci' + t[0] + '" name="tci" type="radio" class="' + strChkClass + '" value="' + t[0] + '" onclick="DE(\'tcy\').value=\'\';Rem(this);" /><label for="tci' + t[0] + '">' + t[1] + '</label></div>';
}

var bFfstLoaded = '0';
var bFfst = '';

var pwid = '';
var cwid = '';
var bB = true;
var bFlex = false;

var FCity = '';
var TCity = '';
var FTLA = '';
var TTLA = '';
var	TCityId = '6022969';

var FDate = 'mm/dd/yy';
var TDate = 'mm/dd/yy';
var MDate = '';
var CalS = '';
var CalE = '';

var FTime = '362';
var TTime = '362';

var rooms = 1;
var minR = 1;
var maxR = 9;
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('6023184|Africa','203|Alaska','6050677|Asia','13|Bahamas','20|Bermuda','6023742|Canada - New England','6022969|Caribbean','6023743|Caribbean - Eastern','6023744|Caribbean - Southern','6023745|Caribbean - Western','6022967|Europe','213|Hawaii','6023183|Mediterranean','6050655|Mexico','6049796|Northern Europe','6023753|Panama Canal','6050676|South America','6023738|South Pacific','-3|Transatlantic','6023746|US Pacific Coast','-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 arrCT = ['12AM|12:00 AM','1230AM|12:30 AM','1AM|1:00 AM','130AM|1:30 AM','2AM|2:00 AM','230AM|2:30 AM','3AM|3:00 AM','330AM|3:30 AM','4AM|4:00 AM','430AM|4:30 AM','5AM|5:00 AM','530AM|5:30 AM','6AM|6:00 AM','630AM|6:30 AM','7AM|7:00 AM','730AM|7:30 AM','8AM|8:00 AM','830AM|8:30 AM','9AM|9:00 AM','930AM|9:30 AM','10AM|10:00 AM','1030AM|10:30 AM','11AM|11:00 AM','1130AM|11:30 AM','12PM|12:00 PM','1230PM|12:30 PM','1PM|1:00 PM','130PM|1:30 PM','2PM|2:00 PM','230PM|2:30 PM','3PM|3:00 PM','330PM|3:30 PM','4PM|4:00 PM','430PM|4:30 PM','5PM|5:00 PM','530PM|5:30 PM','6PM|6:00 PM','630PM|6:30 PM','7PM|7:00 PM','730PM|7:30 PM','8PM|8:00 PM','830PM|8:30 PM','9PM|9:00 PM','930PM|9:30 PM','10PM|10:00 PM','1030PM|10:30 PM','11PM|11:00 PM','1130PM|11:30 PM'];
//var arrT2 = new Array('361|Morning','362|Any','721|Noon','1081|Evening');

var nextFocus = null;

var arrCL = ['-1|Show all','1|Carnival','2|Celebrity','4|Crystal','5|Cunard','6|Disney','7|Holland America','8|Norwegian','9|Princess','10|Royal Caribbean'];
var arrSH = new Array(10);
arrSH[0] = ['-1|Show all'];
arrSH[1] = ['-1|Show all','2|Carnival Conquest','3|Carnival Destiny','192|Carnival Dream','4|Carnival Ecstasy','5|Carnival Elation','6|Carnival Fantasy','7|Carnival Fascination','160|Carnival Freedom','135|Carnival Glory','9|Carnival Imagination','10|Carnival Inspiration','12|Carnival Legend','147|Carnival Liberty','138|Carnival Miracle','13|Carnival Paradise','14|Carnival Pride','15|Carnival Sensation','16|Carnival Spirit','182|Carnival Splendor','17|Carnival Triumph','139|Carnival Valor','18|Carnival Victory','8|Holiday'];
arrSH[2] = ['-1|Show all','176|Azamara Journey','177|Azamara Quest','184|Celebrity Solstice','19|Century','20|Constellation','191|Equinox','21|Galaxy','23|Infinity','25|Mercury','24|Millennium','26|Summit'];
arrSH[3] = ['-1|Show all','99|Crystal Serenity','37|Crystal Symphony'];
arrSH[4] = ['-1|Show all','102|Queen Mary 2','175|Queen Victoria'];
arrSH[5] = ['-1|Show all','38|Disney Magic','39|Disney Wonder'];
arrSH[6] = ['-1|Show all','40|Amsterdam','179|Eurodam','41|Maasdam','158|Noordam','103|Oosterdam','43|Prinsendam','44|Rotterdam','45|Ryndam','46|Statendam','47|Veendam','48|Volendam','49|Westerdam','50|Zaandam','51|Zuiderdam'];
arrSH[7] = ['-1|Show all','53|Norwegian Dawn','201|Norwegian Epic','174|Norwegian Gem','190|Norwegian Jade','148|Norwegian Jewel','60|Norwegian Majesty','171|Norwegian Pearl','58|Norwegian Sky','142|Norwegian Spirit','52|Norwegian Star','59|Norwegian Sun','137|Pride of America'];
arrSH[8] = ['-1|Show all','134|Caribbean Princess','62|Coral Princess','165|Crown Princess','64|Dawn Princess','132|Diamond Princess','169|Emerald Princess','67|Golden Princess','61|Grand Princess','131|Island Princess','69|Pacific Princess','65|Regal Princess','178|Royal Princess','185|Ruby Princess','133|Sapphire Princess','63|Sea Princess','72|Star Princess','71|Sun Princess','107|Tahitian Princess'];
arrSH[9] = ['-1|Show all','75|Adventure of the Seas','76|Brilliance of the Seas','77|Enchantment of the Seas','78|Explorer of the Seas','157|Freedom of the Seas','79|Grandeur of the Seas','183|Independence of the Seas','130|Jewel of the Seas','80|Legend of the Seas','167|Liberty of the Seas','81|Majesty of the Seas','129|Mariner of the Seas','82|Monarch of the Seas','84|Navigator of the Seas','193|Oasis of the Seas','85|Radiance of the Seas','86|Rhapsody of the Seas','128|Serenade of the Seas','88|Sovereign of the Seas','87|Splendour of the Seas','89|Vision of the Seas','91|Voyager of the Seas'];

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;if(DE("LsFOverride")){DE("LsFOverride").value="true";}break;
		case 'tcy':if(n == ''){TCity = el.value;DE('TCity').value = TCity;if(DE("LsTOverride")){DE("LsTOverride").value="true";}}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;
		case 'ffst':DE('bFfst').value = el.value;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 GetDestination(){
	var sDestination;
	if(DE("LsTOverride") && DE("LsTOverride").value == ""){
		switch(cwid){
			case "1":
			case "7":
				sDestination = DE("LsFlightDestName").value;
				break;
			case "2":
				switch(cst){
					case "1":sDestination = DE("LsAtlas").value;break;
					case "2":sDestination = DE("LsFlightDestName").value;break;
					case "3":sDestination = DE("LsHotel").value;break;
				}
				break;
			case "3":
				switch(cst){
					case "2":sDestination = DE("LsFlightDestName").value;break;
					case "3":sDestination = DE("LsHotel").value;break;
				}
				break;
			case "4":
			case "5":
			case "6":
				sDestination = DE("LsAtlas").value;
				break;
			case "9":
				sDestination = DE("LsHotel").value;
				break;
		}
	}
	else{
		sDestination = DE("TCity").value;
	}
	return sDestination;
}

var m_FFO;
function FFO()
{
    
	if (undefined === m_FFO)
    {
		if (DE('bFfstAB').value > 0)
		{
			m_FFO = [
				'<div class="ffo clearfix">',
				'<div class="ffonew"></div>',
				'<div class="ffoopt">',
				'<div class="tST">Show me:</div>',
				'',
				'</div>',
				'</div>'
			];
		}
		else
		    m_FFO = [];
    }
    if (DE('bFfstAB').value > 0)
    {
		if (bFfstLoaded == 0)
		{
			bFfst = DE('bFfstDefault').value;
			DE('bFfst').value = bFfst;
			bFfstLoaded = 1;
		}
        var m_FFOpt = ['1|Flights then hotels','0|Hotels with a suggested flight'];
        var m_evt = ' onclick="SetFfst();Rem(this);"';
        var m_strChkClass = (document.all) ? 'chkIE' : 'chkFF';
        m_evt += ' class="' + m_strChkClass + '"';
        m_FFO[4] = GetRD('ffst',m_FFOpt,'','','',m_evt)
    }
	else
	{
		DE('bFfst').value = 0;
	}
    return m_FFO.join('');
} 

function SetFfst()
{
    var m_strChkClass = (document.all) ? 'chkIE' : 'chkFF';
    if (DE('divFF')) {
        if(DE('ffst_1').checked)
        {
            DE('bFfst').value = '1'
            DE('ffst_1').parentNode.style.fontWeight = "bold";
            DE('ffst_0').parentNode.style.fontWeight = "normal";
            
        }
        else
        {
            DE('bFfst').value = '0'
            DE('ffst_1').parentNode.style.fontWeight = "normal";
            DE('ffst_0').parentNode.style.fontWeight = "bold";
            
        }
    }
    
    bFfst = DE('bFfst').value;
    
}

function InitFfst(id)
{
	if (!DE('bFfstAB')) {return;}
	if (DE('bFfstAB').value > 0) {
	    if (id == 4) {
	        if (DE('divFF')) {
	            DE('divFF').style.display = 'block';
	            SetIH('divFF', FFO());
	            DE('ffst_' + DE('bFfst').value).checked = true;
	            if (typeof(expFFCO) != 'undefined') 
                    setTimeout('expFFCO.show("divFF");', 200);
            }
            SetFfst();
	    }
	    else
	    {
	        if (DE('divFF')) {
	            DE('divFF').style.display = 'none';
	            SetIH('divFF', '');
	        }
	        if (typeof(expFFCO) != 'undefined')
                setTimeout('expFFCO.hide();', 200);
	    }
	}
}

function CheckFfPu(id)
{
    if (id == 4 && (typeof(expFFCO) != 'undefined') && expFFCO.Visible){
        expFFCO.show('divFF');
    }
}
var Airline = '';
var Class = '3';
var bNS = '0';
var bCP = '0';
var arrAL = ['|No Preference','A3 |Aegean Airlines','EI |Aer Lingus','2K |AeroGal','AR |Aerolineas Argentinas','AM |Aeromexico','VV |Aerosvit Airlines','AC |Air Canada','CA |Air China','UX |Air Europa','AF |Air France','AI |Air India','JM |Air Jamaica','KM |Air Malta','NZ |Air New Zealand','AP |Air One','FJ |Air Pacific','TN |Air Tahiti Nui','TS |Air Transat','AB |airberlin','FL |AirTran Airways','AS |Alaska Airlines','AZ |Alitalia','NH |All Nippon Airways','AA |American Airlines','OZ |Asiana Airlines','OS |Austrian Airlines','AV |Avianca','BD |bmi','BA |British Airways','SN|Brussels Airlines','BW |Caribbean Airlines','CX |Cathay Pacific','KX |Cayman Airways','CI |China Airlines','CZ |China Southern Airlines','CO |Continental','CM |Copa Airlines','OK |Czech Airlines','DL |Delta','MS |Egyptair','LY |El Al','EK |Emirates','ET |Ethiopian Airlines','EY|Etihad Airways','GJ |Eurofly','BR |EVA Airways','AY |Finnair','F9 |Frontier','HU |Hainan Air','GF |Gulf Air','HA |Hawaiian Airlines','IB |Iberia','FI |Icelandair','JL |Japan Airlines','9W |Jet Airways','B6 |JetBlue Airways','IT |Kingfisher Airlines','KL |KLM','KE |Korean Air','LR |LACSA','LA |LAN Airlines','4M|LAN Argentina','XL |LAN Ecuador','LP |LAN Peru','LO |LOT-Polish Airlines','LH |Lufthansa','MH |Malaysia Airlines','MA |Malev Hungarian Airlines','MP |Martinair Holland','MX |Mexicana','OA |Olympic','PR |Philippine Airlines','QF |Qantas Airways','QR |Qatar Airways','RJ |Royal Jordanian','SK |SAS','S4 |SATA International','SA |South African Airways','JK |Spanair','SY |Sun Country Airlines','LX |Swiss International Air Lines','TA |TACA','JJ |Tam Brazilian Airlines','TP |Tap Portugal','TG |Thai Air International','TK |Turkish Airlines','UA |United','US |US Airways','VA |V Australia','VN |VietNam Airlines','VX |Virgin America','VS |Virgin Atlantic','WS |WestJet'];
var arrAC = ['3|Economy / Coach','2|Business','1|First Class'];
var minD = 1;
var maxD = 5;
var maxD1 = 3;
var aFCity = GetDefaultF('FCity').split(',');
var aTCity = GetDefaultF('TCity').split(',');
var aFDate = GetDefaultF('FDate').split(',');
var aFTime = GetDefaultF('FTime').split(',');
var pst = ''; 
var cst = '';
var bB = true;
function GetDefaultF(E)
{
	var t = '';
	switch (E)
	{
		case 'FCity':for (var i = minD; i < (maxD + 1); i++){t = t + ',';}break;
		case 'TCity':for (var i = minD; i < (maxD + 1); i++){t = t + ',';}break;
		case 'FDate':for (var i = minD; i < (maxD + 1); i++){t = t + 'mm/dd/yy,';}break;
		case 'FTime':for (var i = minD; i < (maxD + 1); i++){t = t + '362,';}break;
		default:break;
	}
	return t.substr(0,t.length-1);
}

var Street = '';
var TCity1 = '';
var State = '';
var Zip = '';
var HName = '';
var StarR = '0';


var TCityD = '(same as pick-up)';
var CCl = 'NoPreference';
var Vendor = '';
var DC = '1';
var Radius = '10';
var CorpC = '';
var CoupC = '';
var RateC = '';
var OtherC = '';
var imgHand = new Image;
imgHand.src = '/eta/seath2.gif';
var arrV = ['|-- Select from the list --','AC|ACE Rent A Car','AD|Advantage Rent-A-Car','AL|Alamo Rent A Car','ZI|Avis','ZD|Budget','ZR|Dollar Rent A Car','EY|Economy Rent a Car','ET|Enterprise','EP|Europcar','FX|Fox Rental Cars','ZE|Hertz','ZL|National Car Rental','ZA|Payless','SX|Sixt','ZT|Thrifty Car Rental','SV|U-Save'];
var arrVv = ['|-- Select from the list --','AC|ACE Rent A Car','AD|Advantage Rent-A-Car','AL|Alamo Rent A Car','ZD|Budget','ZR|Dollar Rent A Car','EY|Economy Rent a Car','ET|Enterprise','EP|Europcar','FX|Fox Rental Cars','ZE|Hertz','ZL|National Car Rental','ZA|Payless','SX|Sixt','ZT|Thrifty Car Rental'];
var arrDC = ['1|No, I don’t have a discount code.','2|Corporate or Contracted Rate (Code required)','3|Special or Advertised Rate (Code required)'];
var arrRD = ['1|1 mile','2|2 miles','5|5 miles','10|10 miles','25|25 miles'];
var arrE = ['0','0','0','0','0','0','0'];
var arrV1 = {
'AC' : 'Ace Car Rental Plan|Corporate or Association Discount| |Rate Code| ',
'AD' : 'Advantage FASTART Personal ID|FASTART Organization ID| |Rate Code| ',
'AL' : 'Alamo Quicksilver ID|Alamo Corporate ID|Coupon Code|Rate Code|I.D. #',
'ZD' : 'Budget Fastbreak or Budget Perfect Drive|Budget CorpRate Discount (BCD)|Coupon or Association BCD #|Rate Plan| ',
'ZR' : 'Dollar Car Rental Plan|Dollar CD| |Promotional Code| ',
'EY' : 'Economy Rent a Car Frequent Customer Plan|Corporate Disount Number| |Rate Code| ',
'ET' : 'Enterprise Car Rental Plan|Corporate or Association Discount|Coupon Code|Promotional Rate Code| ',
'EP' : 'Europcar Car Rental Plan|Corporate or Association Discount|Coupon Code|Promotional Rate Code| ',
'FX' : 'Fox Frequent Customer Plan|Corporate Disount Number|Coupon Code|Rate Code| ',
'SV' : 'U-Save Car Rental Plan| |Coupon Number|Rate Code| ',
'ZE' : 'Hertz #1 Club or Hertz #1 Gold Club|Corporate Discount (CDP, AAA Discount Number)|Promotion Coupon Code or Number|Rate (RQ) Code| ',
'ZL' : 'National Emerald Club|National Car Rental Contract ID or Association Discount|Coupon ID #|Product or Rate code| ',
'ZA' : 'Payless Car Rental Plan|Corporate or Association Discount|Coupon Code|Promotional Rate Code| ',
'SX' : 'Sixt Car Express|Corporate or Association Discount|Coupon Number|Rate Code| ',
'ZT' : 'Thrifty Car Rental\'s Blue Chip Express|Corporate Discount| |PC # or Rate code| ',
'ZI' : 'Avis Wizard| |CPN Number|Rate Code| '
};



var Recidency = '0';
var StarRC = '0';
var Cruiseline = '';
var bSE = '0';
var bPC = '0';
var CLength = '0'
var Port = 'Show all';
var Ship = '';
var arrE = [];

var arrLE = ['0|Any length','1|1-2 nights','2|3-5 nights','3|6-9 nights','4|10-14 nights','5|15+ nights'];
var arrST1 = ['0|-- Select a state --','202|Alabama','203|Alaska','204|Arizona','205|Arkansas','206|California','31|Canada','207|Colorado','208|Connecticut','209|Delaware','210|District of Columbia','211|Florida','212|Georgia','213|Hawaii','214|Idaho','215|Illinois','216|Indiana','217|Iowa','218|Kansas','219|Kentucky','220|Louisiana','221|Maine','222|Maryland','223|Massachusetts','224|Michigan','225|Minnesota','226|Mississippi','227|Missouri','228|Montana','229|Nebraska','230|Nevada','231|New Hampshire','232|New Jersey','233|New Mexico','234|New York','235|North Carolina','236|North Dakota','237|Ohio','238|Oklahoma','239|Oregon','240|Pennsylvania','241|Rhode Island','242|South Carolina','243|South Dakota','244|Tennessee','245|Texas','246|Utah','247|Vermont','248|Virginia','249|Washington','250|West Virginia','251|Wisconsin','252|Wyoming'];

arrACities = ['603224|Anaheim','178239|Boston','179995|Cancun','178248|Chicago','180074|Hawaii - Big Island','180077|Honolulu (Oahu)','181552|Jamaica','180075|Kauai','178276|Las Vegas','178279|London','178280|Los Angeles','180032|Los Cabos','180073|Maui','178286|Miami/Ft. Lauderdale','601784|Nassau (Bahamas)','178293|New York','178294|Orlando','179898|Paris','179899|Rome','178304|San Diego','178305|San Francisco'];


var PFDate = 'mm/dd/yy';
var PTDate = 'mm/dd/yy';
var bPart = '0';
var bFfst = '';
var bFfstLoaded = '0';
var arrSTYPELabel = ['','1','2','3','4','5'];	// search type labels
var arrSTYPE = ['','1','1','2','1','1'];	// search types
var arrAO = ['','0','0','0','0','0','0','0','0','0'];	// array to store show|hide additional option
var ActTci = '';document.onclick = HCal;

function hw(id)
{	    
	var t;
	cwid = id;
	SetTI();
	SetCst();    
		
	if (V()){ return;}
	if ('1'==id || '7'==id)
	{
	    t = DE('flx');
	    if(t) {bFlex = DE('flx').checked;}	    
    }

    if(cwid == '3'){SH1('divCC',1);SH1('divCA',1);}else{SH1('divCC',0);SH1('divCA',0);}
    if(cwid == '8'){SH1('divRes',1);} else {SH1('divRes',0);}
    if(cwid == '1' || cwid == '3' || cwid == '7' || cwid == '8' || cwid == '9') {SH1('divWho',0);} else {{SH1('divWho',1);}}	
	DE('r' + id).checked = true;
	
    SO();
	SetSearchType();	
	SetFW();

	if (DE('bIE6') && DE('bIE6').value=='1') 
	{
		SHSelect('divWBody','0');
		var _wtimer = setInterval(function(){
			hw2();
			clearInterval(_wtimer);
		},		
		25);
	}
	else
	{
		hw2();
	}
}

function hw2()
{
	BuildFields();	
	SetST(cwid);
	pwid = cwid;	
	if(cwid < 6){arrSTYPE[cwid] = cst; DE('SType').value = arrSTYPE.join('|');  }	
	if(cwid == '8'){CS();}
}



function SHSelect(parentID,sh)
{		
	var ieSelects = DE(parentID).getElementsByTagName('select');
	var j;
	for (j=0; j<ieSelects.length; j++) 
	{		

		ieSelects[j].style.visibility = (sh == '1') ? 'visible' : 'hidden';		
	}
}

function SetCst()
{
	if (parseInt(cwid) < 6)
	{        
	    if (pwid==cwid)
	    {
	        if (cwid == '1')
	        {
	            if ( DE('typ_3').checked ) { cst = '3'; }
	            else if ( DE('typ_2').checked ) { cst = '2'; }  
	            else { cst = '1'; }
	        }
			else if (cwid == '4' || cwid == '5')
			{				 
				cst = '1';			
			}
	        else
	        {
	            t = DE('typ');
	            cst = t.options[t.selectedIndex].value;
	        }
	    }
	    else
	    {
	        cst = arrSTYPE[cwid];
	    }
	}		
}



function SetTI()
{
	var t = (cwid == '8') ? 'Cruise options:' : 'Trip information:';	
	SetIH('divTI',t);
}

function V()
{
	var bRepeated = false;
	
    switch(cwid)
    {        
        case '1':           
			if (cwid == pwid)
			{
				if (cst == 1) 
				{					
					var t = DE('flx');
					bRepeated = (arrSTYPE[cwid] == cst) && (t.checked == bFlex);
				}
				else
				{
					bRepeated = (arrSTYPE[cwid] == cst);
				}
			}
            break;            
        case '2':
        case '3':            
			bRepeated = (cwid == pwid) && (arrSTYPE[cwid] == cst);
            break;
        case '7':
			if (cwid == pwid)
			{
				bRepeated = (DE('flx').checked == bFlex);				
			}
        	break;
        default:               	
            bRepeated = (cwid == pwid);
            break;
    }
	
	return bRepeated;
}


function SetFW()
{    
    if(''!=pwid){DE('l'+pwid).style.fontWeight='normal';}
    DE('l'+cwid).style.fontWeight='bold';
}

var GetYL = (function(){
    var m_html = ['<div class="tST bl0 pb4">','','</div>'];
    return function(t){m_html[1] = t;return m_html.join('');}
})();


var GetSrchType = (function(){
    var m_html1, m_html45, m_arrFltST;	     
	var m_style = ['style="vertical-align:middle;float:left;margin:0 10px 0 ', (document.all) ? '-4px;"': '0;"'].join('');
    
    function _init1() {
        m_arrFltST = ['1|Roundtrip','2|One way','3|Multiple destinations'];		
        m_html1 = ['<div class="ST pb10" >',''/*GetYL('Trip Information:')*/,''/*GetGL('typ','Flight type: (e.g. one way, multiple destinations)')*/,'<!--br/-->','', '</div>'];
    }
    
    function _init45()
    {                
		var _js = ' onclick="document.location.href=\'/pub/agent.dll?qscr=cmsh&cdst=2\';" ';
		m_html45 = [
			'<div class="ST pb10">',
			'<div ',m_style,' ><input type="radio" name="typ" id="typ_1" value="1" /><label for="typ_1">One destination</label></div>',
			'<div ',m_style,_js,'><input type="radio" name="typ" id="typ_2" value="2" ',_js,' /><label for="typ_2">Two destinations</label></div>',
			'</div>'
			];		
    }
    
    return function() {
		if(bB) 
		{
			var _SType = DE('SType').value.split('|');
			for(var i=0; i < _SType.length; i++)
			{
				arrSTYPE[i] = _SType[i];				
			}					
			cst = arrSTYPE[cwid]; 
		}				
		
        switch(cwid)
        {
            case '1':
                if (m_html1 === undefined) {_init1();if(DE('FDate').value != 'mm/dd/yy' && DE('TDate').value == 'mm/dd/yy'){arrSTYPE[cwid]='2';cst='2';}}   
                m_html1[4] = GetRD('typ',m_arrFltST,cst,'med',m_style,' onclick="hw(\'1\');Rem(this);SetFocus(this);" ');
                return m_html1.join('');
                break;
            case '4':case'5':
                if (m_html45 === undefined) {_init45();}
                return m_html45.join('');
                break;
            default:break;                                
        }
        return '';
    }
})();

function SetFocus(obj)
{
	if(obj)
	{
		if (DE('bIE6') && DE('bIE6').value=='1') 
		{			
			var _focustimer = setInterval(function(){
				DE(obj.id).focus();;
				clearInterval(_focustimer);
			},		
			25);
		}
		else
		{
			DE(obj.id).focus();
		}				
	}		
}

function GetRD(id,arr,d,c,s,j)
{
    var i, it;    
    var h = [];
    for(i = 0; i < arr.length; i++)
    {            
        it = arr[i].split('|');
        h[h.length] = ['<div ',s,'>'].join('');
        h[h.length] = ['<input type="radio" name="',id,'" value="',it[0],'" id="',id,'_',it[0],'" ',j,' />'].join('');
        h[h.length] = ['<label for="',id,'_',it[0],'" >',it[1],'</label>'].join('');
        h[h.length] = '</div>';
    }
    return h.join('');
}

function BuildFields()
{
	//switch (pwid){case '4':case '5':switch (cwid){case '4':case '5':if(!bB){pwid = cwid;return;};break;}break;}
	if (bB)
	{
	    GetSavedValues();
	}	
	
	SetIH('divWFields',GetFieldsHTML());	
	switch(cwid)
	{
	    case '1':	        
	        DE('typ_'+cst).checked = true;
	        break;
	    case '3':case '7':
	        BuildDC();
	        break;
	    case '4':case '5':
			DE('typ_'+cst).checked = true;
	        if(bPart == '1'){SetPart();}
	        break;			
        case '8':
            if(Recidency == '1') DE('res').checked = true;SetRes();
            break;
        case '9':
			if (DE("LsTOverride").value == ""){
				if (DE("LsAtlasRegionId").value != "" && DE("tci"+DE("LsAtlasRegionId").value)){
					DE("tci"+DE("LsAtlasRegionId").value).checked = true; DE("tcy").value="";
				}
				else{
					DE('tci-1').checked = true;
					DE("tcy").value = GetDestination();
				}
			}			
			else if (TCity !== undefined && TCity.length > 2)
			{
				var _arr, i;
				for(i = 0; i < arrACities.length; i++)
				{
					_arr = arrACities[i].split('|');
					
					if ( TCity.toUpperCase() == _arr[1].toUpperCase() )
					{
						DE('tci'+_arr[0]).checked = true;
						if (ActTci != _arr[0])
						{
							DE('tciAct').value = ActTci = _arr[0];
						}
						break;
					}
				}				
				
				if(i == arrACities.length )
				{
					DE('tci-1').checked = true;
					DE('tcy').value = GetDestination();
				}				
			}
			else
			{
	            if (ActTci != '')
	            {				
	                var t = DE('tci'+ActTci);
	                if (t) {t.checked = true; DE('tcy').value='';}
	                else 
					{
						DE('tci-1').checked = true;
						if ('-1' != ActTci ) DE('tcy').value = ActTci;
					}
	            }				
			}
            break;
	    default:break;
	}

	BuildRASC();
	SetMOT(cwid);
	if ('1'==arrAO[cwid]){SetAO()};
	
    InitFfst(cwid);
	bB = false;
}

function BuildRASC()
{
	switch (pwid){case '1':case '4':case '5':switch (cwid){case '1':case '4':case '5':if (bB){return ''};break;}break;}
	var n = 0;
	switch (cwid)
	    {
	        case '1':case '7':n = 1;break;
	        case '2':case '4':case '5':case '6':n = 2;break;
	        case '3':case '8':n = 0;break;
	        default:n = 0;break;
	    }
	var s = true;
	if (cwid == '2' || cwid == '6'){s = false;minA = 1;}else{minA = 0;}
	if (cwid == '2'){maxR = 9;}else{maxR = 3;}
	SetRASC(n,s);
}


var GetFieldsHTML = (function(){
    
    var m_lblWW = GetYL('When and where?');
    var m_evtRem = ' onchange="Rem(this);"';
    var m_evtHCal = ' onfocus="HCal();this.select();" onchange="Rem(this);"';
    var m_strChkClass = (document.all) ? 'chkIE' : 'chkFF';
    
    var m_F, m_FL, m_FFlex,
        m_C,m_arrCarST,
        m_HC, m_Cr,
        m_A, m_A_aCity,
        m_H,m_HMain_cst4, m_HSTL, m_arrHotST ;
    
    function _GetFFDiv(chked)
    {
        if (m_FFlex === undefined)
        {
            m_FFlex = ['<div id="divFlex" class="bl0 pb2"><div class="bl0"><input id="flx" name="flx" type="checkbox" ',
                    '',
                    ' class="',
                    m_strChkClass,
                    '" onclick="hw(\'',
                    '',
                    '\');Rem(this);"/><label for="flx">My dates are flexible (popular US routes only)</label></div><div class="clearer"></div></div>'
            ];
        }
        m_FFlex[1] = chked ? ' checked ' : '';
        m_FFlex[5] = cwid;
        return m_FFlex.join('');        
    }
    
    function _F(t)
    {        
        if (undefined === m_F)
        {
            m_F =[
                '<div class="bl1">',
                '<div class="flmed">',
                GetGL('fcy','Leaving from:'),
                '<br/>',
                '',// GetCy(t,'F'),4
                '</div>',
                '<div class="frmed">',
                GetGL('tcy','Going to:'),
                '<br/>',
                '',//GetCy(t,'T'),9
                '</div>',
                '</div>',
                '<div class="bl1">',
                '<div class="flmed">',
                '<div class="fl">',
                GetGL('fdt','Departing:'),
                '<br/>',
                '',//GetDt(t,'F'),17
                '</div>',
                '<div class="fr">',
                GetGL('ftt','Time:'),
                '<br/>',
                '',//GetT(t,'F'),22
                '</div>',
                '</div>',
                '<div class="frmed">',
                '<div class="fl">',
                GetGL('tdt','Returning:'),
                '<br/>',
                '',//GetDt(t,'T'),29
                '</div>',
                '<div class="fr">',
                GetGL('ttt','Time:'),
                '<br/>',
                '',//GetT(t,'T'),34
                '</div>',
                '</div>',
                '</div>',
                '' // 38
            ];                        
        }
        m_F[4]  = GetCy(t,'F');
        m_F[9]  = GetCy(t,'T');
        m_F[17] = GetDt(t,'F');
        m_F[22] = GetT(t,'F');
        m_F[29] = GetDt(t,'T');
        m_F[34] = GetT(t,'T');
        m_F[38] = (t == 'FHC') ? _FHC() : '';
        
        return m_F.join('');
    }   
    
    var m_FHC;
    function _FHC()
    {
		var partIndex = 1;
        if (undefined === m_FHC)
        {
            m_FHC = [
					'<div class="bl1">',
					'',
				   '</div>','<div class="bl1" id="divPart" style="display:none;"></div>','<div class="clearer"></div>'
			];
        }
        m_FHC[partIndex] = GetCB('prt','1','I only need a hotel for part of my trip',bPart,'','',' onclick="SetPart();Rem(this)"',''); 
        return m_FHC.join('');
    } 
    
    function _FL()
    {
        if (undefined === m_FL)
        {        
            var m_FLtt = ['Don\'t see the city you\'re looking for?','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.'];
            m_FL = [
                '<div class="bl1">',
                GetGL('fct','Leaving from:'),
                '<br/>',
                '',
                '</div>',
                '<div class="bl1">',
                GetGL('tct','Going to:'),
                '<br/>',
                '',
                '</div>',
                '<div class="bl1" >',
                GetTT(m_FLtt[0],m_FLtt[0],m_FLtt[1],0,'','',true),
                '</div>',
                '<div class="bl1">',
                '<div class="flmed">',
                GetGL('mon','Departure month:'),
                '<br/>',
                '',
                '</div>',
                '<div class="frmed">',
                GetGL('trl','Trip length:'),
                '<br/>',
                '',
                '</div></div><div class="clearer"></div>'
            ];
        }
        m_FL[3] = GetDD('fct',arrFD,FTLA,'large','',m_evtRem);
        m_FL[8] = GetDD('tct',arrFD,TTLA,'large','',m_evtRem);
        m_FL[17] = GetM(nm,MDate,'','',m_evtRem);
        m_FL[22] = GetDD('trl',arrTL,TL,'','',m_evtRem);
        return m_FL.join('');
    }        
   
    function _Address()
    {
        if (undefined === m_HMain_cst4)
        {
            m_HMain_cst4 = [
                '<div class="bl1">',
                '<div class="flmed">',
                '<div class="fl">',
                GetGL('tct','City:'),
                '<br/>',
                '',//GetGI('tct',TCity1,'','',' onfocus="HCal();this.select();" onchange="Rem(this);"','100'),5
                '</div>',
                '</div>',
                '<div class="frmed">',
                '<div class="fl">',
                GetGL('tst','State:'),
                '<br/>',
                '',//GetDD('tst',arrST,State,'small','',' onchange="Rem(this);"'),12
                '</div>',
                '<div class="fr">',
                GetGL('tzp','ZIP code:'),
                '<br/>',
                '',//GetGI('tzp',Zip,'small','',' onfocus="HCal();this.select();" onchange="Rem(this);"','5'),17
                '</div>',
                '</div>',
                '</div>'                                     
            ];
        }
        m_HMain_cst4[5]=GetGI('tct',TCity1,'','',m_evtHCal,'100');
        m_HMain_cst4[12]=GetDD('tst',arrST,State,'small','',m_evtRem);
        m_HMain_cst4[17]=GetGI('tzp',Zip,'small','',m_evtHCal,'5');
        return m_HMain_cst4.join('');        
    }
    
    function _H(t) // this is for the main launch page
    {
        if (undefined === m_H)
        {
            m_H = [
                GetGL('typ','Find hotels near:'),
                '<br/>',
                '',//GetDD('typ',arrHotST,cst,'med','',' onchange="hw(\'2\');" '), 2               
                '<div class="bl1 pt4">',
                '',//switch (cst),4
                '<br/>',
                '',//cst = 4 if/else,6
                '</div>',
                '',//if(cst == '4'),8                
                '<div class="bl1">',
                '<div class="flmed">',
                GetGL('fdt','Check-in:'),
                '<br/>',
                '',//GetDt('H','F'),13
                '</div>',
                '<div class="frmed">',
                GetGL('tdt','Check-out:'),
                '<br/>',
                '',//GetDt('H','T'),18
                '</div>',
                '</div>',
                '<div class="clearer"></div>'
            ];    
            
            m_HSTL ={
                '1':GetGL('tcy','What city?'),
                '2':GetGL('tcy','What airport? (Ex. New York, JFK)'),
                '3':GetGL('tcy','What attraction? (Ex. Statue of Liberty)'),
                '4':GetGL('tsr','Street address or intersection:')
            };
            
            m_arrHotST = ['1|A city','2|An airport','3|An attraction','4|A U.S. address'];            
        }
        
        m_H[2] = GetDD('typ',m_arrHotST,cst,'med','',' onchange="hw(\'2\');" ');
        m_H[4] = m_HSTL[cst];
        m_H[6] = cst == '4' ? 
            GetGI('tsr',Street,'large','',m_evtHCal,'255'):
            GetGI('tcy',GetDestination(),'large','',m_evtHCal,'100'); 
        m_H[8] = cst == '4' ? _Address() : '';
        m_H[13] = GetDt('H','F');
        m_H[18] = GetDt('H','T');
        
        return m_H.join('');
    }
    
    function _C()
    {
        if(undefined === m_C)
        {
            m_C = [
                GetGL('typ','Find car rentals near:'),
                '<br/>',
                '',//GetDD('typ',arrCarST,cst,'med','',' onchange="hw(\'3\');" '),2
                '',// cst,3
                '<div class="bl1">',
                '<div class="flmed">',
                '<div class="fl">',
                GetGL('fdt','Pick-up on:'),
                '<br/>',
                '',//GetDt('C','F'),9
                '</div>',
                '<div class="fr">',
                GetGL('ftt','Time:'),
                '<br/>',
                '',//GetT('C','F'),14
                '</div>',
                '</div>',
                '<div class="frmed">',
                '<div class="fl">',
                GetGL('tdt','Drop-off on:'),
                '<br/>',
                '',//GetDt('C','T'),21
                '</div>',
                '<div class="fr">',
                GetGL('ttt','Time:'),
                '<br/>',
                '',//GetT('C','T'),26
                '</div></div></div><div class="clearer"></div>'
            ];            
            
            m_CST = {
                '2':[
                    '<div class="bl1 pt4">',
                    '<div class="flmed" title="e.g. DEN, or Denver">',
                    GetGL('tcy','What airport?'),
                    '<br/>',
                    '', // GetGI('tcy',TCity,'','',' onfocus="HCal();this.select();" onchange="Rem(this);"','100'),4
                    '</div>',
                    '<div class="frmed" title="e.g. DEN, or Denver">',
                    GetGL('tcy1','Drop-off airport or city:'),
                    '<br/>',
                    '',// GetGI('tcy1',TCityD,'','',' onfocus="HCal();this.select();" onchange="Rem(this);"','100'),9
                    '</div></div>'
                ],
                '3':[
                    '<div class="bl1 pt4">',
                    '<div class="flmed" title="e.g. New York or Times Square">',
                    GetGL('tcy','What place?'),
                    '<br/>',
                    '', // GetGI('tcy',TCity,'','',' onfocus="HCal();this.select();" onchange="Rem(this);"','100'),4
                    '</div>',
                    '<div class="frmed">',
                    GetGL('rds','Find cars within:'),
                    '<br/>',
                    '',//GetDD('rds',arrRD,Radius,'','',' onchange="Rem(this);"'),9
                    '</div>','</div>'
                ],
                '4':[
                    '<div class="bl1 pt4">',
                    GetGL('tsr','Street:'),
                    '<br/>',
                    '',//GetGI('tsr',Street,'large','',' onfocus="this.select();" onchange="Rem(this);"','255'),3
                    '</div>',
                    '', // _Address(),5
                    '<div class="bl1">',
					GetGL('rds','Find cars within:'),
					'<br/>',
					'', // 9
					'</div>'					
                ] 
            };
            
            m_arrCarST = ['2|An airport','3|A place','4|A U.S. address'];            

        }
        //m_evtHCal
        m_C[2] = GetDD('typ',m_arrCarST,cst,'med','',' onchange="hw(\'3\');" ');
        
        switch (cst)
        {
            case '2':
                m_CST['2'][4] = GetGI('tcy',GetDestination(),'','',m_evtHCal,'100');
                m_CST['2'][9] = GetGI('tcy1',TCityD,'','',m_evtHCal,'100');
                break;
            case '3':
                m_CST['3'][4] = GetGI('tcy',GetDestination(),'','',m_evtHCal,'100');
                m_CST['3'][9] = GetDD('rds',arrRD,Radius,'','',m_evtRem)               
                break;
            case '4':
                m_CST['4'][3] = GetGI('tsr',Street,'large','',m_evtHCal,'255');
                m_CST['4'][5] = _Address();                
				m_CST['4'][9] = GetDD('rds',arrRD,Radius,'','',' onchange="Rem(this);"');
                break;
            default:break;                
        }
        
        m_C[3] = m_CST[cst].join('');
        m_C[9] = GetDt('C','F');
        m_C[14] = GetT('C','F');
        m_C[21] = GetDt('C','T');
        m_C[26] = GetT('C','T');        
        
        return m_C.join('');     
    }
    
    function _HC(t)
    {
        if(m_HC === undefined)
        {
            m_HC = [
                '<div class="bl1">',
                GetGL('tcy','What location?'),
                '<br/>',
                '', // GetCy('H','T') 3
                '</div>',				
				'<div class="bl1"><div class="flmed">',
                GetGL('fdt','Hotel check-in:'),
                '<br/>',
                '', // GetDt(t,'F') 8
                '</div>',
				'<div class="frmed">',
                GetGL('ftt','Car pick-up time:'),
                '<br/>',
                '', // GetT('C','F') 13
                '</div></div>',				
				'<div class="bl1 pb8"><div class="flmed">',
                GetGL('tdt','Hotel check-out:'),
                '<br/>',
                '', // GetDt(t,'T') 18
                '</div>',
				'<div class="frmed">',
                GetGL('ttt','Car drop-off time:'),
                '<br/>',
                '', // GetT('C','T') 23
                '</div></div>'				
            ];
        }
        m_HC[3] = GetCy('H','T');
        m_HC[8] = GetDt('H','F');
        m_HC[13] = GetT('HC','F');
        m_HC[18] = GetDt('H','T') ;
        m_HC[23] = GetT('HC','T');
        return m_HC.join('');
    }    
    
    function _Cr()
    {
        if(m_Cr === undefined)
        {
            m_Cr = [
                '<div class="bl1">',
                GetGL('tci','Select from top destinations:'),
                '<br/>',
                '', // GetDD('tci',arrTD,TCityId,'large','',' onchange="Rem(this);"'), 3
                '</div><div class="bl1"><div class="flmed">',
                GetGL('mon','Departure month:'),
                '<br/>',
                '', // GetM(18,MDate,'','',' onchange="Rem(this);"') 7
                '</div><div class="frmed">',
                GetGL('crl','Cruise line:'),
                '<br/>',
                '', // GetDD('crl',arrCL,Cruiseline,'','',' onchange="Rem(this);CS();"') 11 
                '</div></div><div class="bl1"><div class="fl">',
                '<div class="bl1">',
                '<div class="flmed">',
                GetGL('cle','Cruise Length:'),
                '<br/>',
                '', // GetDD('cle',arrLE,CLength,'','',m_evtRem) 17
                '</div>',
                '<div class="frmed" id="divShip">',
                GetGL('shi','Ship:'),
                '<br/>',
                '', // GetDD('shi',arrSH[DE('crl').selectedIndex],Ship,'','',m_evtRem) 22
                '</div>',
                '</div>',
                '</div></div><div class="bl1"><div class="fl">',
                '<input id="res" name="res" type="checkbox" class="',
                m_strChkClass,
                '" onclick="SetRes();Rem(this);" /></div>',
                '<div ><label for="res">Check to see if I qualify for residency, previous cruiser, or senior rates</label></div>',
                '</div><div class="clearer"></div>'
            ];
        }
        

        m_Cr[3] = GetDD('tci',arrTD,TCityId,'large','',m_evtRem);
        m_Cr[7] = GetM(18,MDate,'','',m_evtRem);
        m_Cr[11] = GetDD('crl',arrCL,Cruiseline,'','',' onchange="Rem(this);CS();"');
        m_Cr[17] = GetDD('cle',arrLE,CLength,'','',m_evtRem);
        m_Cr[22] = GetDD('shi',arrSH[0],Ship,'','',m_evtRem);
        return m_Cr.join('');        
    }
    
    function _A_GetACity(v,f)
    {	
        if (m_A_aCity === undefined)
        {
            m_A_aCity = [
                '<div class="',
                '',
                '"><input id="tci',
                '',
                '" name="tci" type="radio" class="',
                m_strChkClass,
                '" value="',
                '',
                '" onclick="DE(\'tcy\').value=\'\';Rem(this);" /><label for="tci',
                '',
                '" id="lbltci',
				'',
				'">',
                '', 
                '</label></div>'
            ];
        }
	    var t = v.split('|');
	    m_A_aCity[1] = (f == 'right') ? 'frmed' : 'flmed';
	    m_A_aCity[3] = m_A_aCity[7] = m_A_aCity[9] = m_A_aCity[11] = t[0];
        m_A_aCity[13] = t[1];	    	
	    return m_A_aCity.join('');
    }
    
    function _A_GetCities()
    {
        var j = parseInt(arrACities.length / 2);
        var t = [];        
		
		
        for (var i = 1; i <= j; i++)
		{
			t[t.length] = '<div class="bl0">'; 
            t[t.length] = _A_GetACity(arrACities[i],'left');
				
			if ( (i + j) <= arrACities.length ) 
			{ 
			    t[t.length] = _A_GetACity(arrACities[i + j],'right');
            }			
			t[t.length] = '<div class="clearer"></div>';
			t[t.length] = '</div>';			
        }
        return t.join('');		
    }
    
    function _A()
    {
        if (m_A === undefined)
        {
			m_A = [
				'<div class="bl0" style="margin-bottom:2px;">Find activities in:</div>',
				'<div class="bl0">',
				_A_GetACity(arrACities[0],'left'),
				'<div class="clearer"></div></div>',
				_A_GetCities(),
				'<div class="bl0" style="padding-bottom:6px;">',
				'<div class="fl"><input id="tci-1" name="tci" type="radio" class="',
				m_strChkClass,
				'" value="-1" onclick="DE(\'tcy\').focus();Rem(this);" /><label for="tci-1">Other City:</label></div>',
				'<div class="fr"><input id="tcy" name="tcy" value="" type="text" maxlength="100" style="width:180px;" onfocus="this.select();DE(\'tci-1\').checked=true;" onchange="Rem(this)" /></div>',
				'<div class="clearer"></div></div>',
                '<div class="bl0" style="height:40px;">',
                '<div class="flmed">',
                GetGL('fdt','From:'),
                '<br/>',
                '',//GetDt('H','F'),15
                '</div>',
                '<div class="frmed">',
                GetGL('tdt','To:'),
                '<br/>',
                '',//GetDt('H','T'),20
                '</div>',
                '<div class="clearer"></div></div>',
                ''
			];
        }
		        
        m_A[15] = GetDt('H','F');
        m_A[20] = GetDt('H','T');
        return m_A.join('');		
    }

    return function()
    {
        var t = [];
        t[t.length] = GetSrchType();
        t[t.length] = '';//GetYL('When and where?');
        
        switch(cwid)
        {
            case '1':case '7':
                if (cwid == '7'){cst='1';}
                switch (cst)
                {
                    case '1':
                        t[t.length] = _GetFFDiv(bFlex);
                        t[t.length] = bFlex ? _FL() : _F('F');
                        break;
                    case '2':
                        t[t.length] = GetMDHTML(1);
                        break;
		            case '3':
	                    if (DE('md').value == '1'){maxD1 = maxD;}
			            for(var i = minD; i < (maxD1 + 1); i++)
			            {
                            t[t.length] = '<div class="bl2" style="color:#cc6600;font-weight:bold;">Flight ';
                            t[t.length] = i;
                            t[t.length] = '</div>';
                            t[t.length] = GetMDHTML(i);
			            }
			            if(maxD1 == 3)
			            {
                            t[t.length] = '<div class="bl1" style="padding-bottom:12px;"><a rel="nofollow" id="amd" href="javascript:md();" onkeydown="md();return false;">Need more flights and destinations?</a></div>';
			            }
			            break;                                
                    default:
                        t[t.length] = _F('F');
                        break;
                }                
                break;
            case '4':case '5':
                t[t.length] = _F('FHC');
                break;
            case '2':
                t[t.length] = _H('H');
                break;
            case '3':
                t[t.length] = _C();
                break;
            case '6':
                t[t.length] = _HC('HC');
                break;
            case '8':
                t[t.length] = _Cr();
                break;                
            case '9':
                t[t.length] = _A();
                break;      
            default:break;                          
        }       
		
        return t.join('');
    }
})();

function GetSavedValues()
{   
	GetSavedValuesG();	
    var v;
    v = DE('ao').value;if(v != '') arrAO = v.split('|');
    v = DE('aFCity').value;if (v != '') {aFCity = v.split('|');}aFCity[0] = FCity;
    v = DE('aTCity').value;if (v != '') {aTCity = v.split('|');}aTCity[0] = TCity;
    v = DE('aFDate').value;if (v != '') {aFDate = v.split('|');}aFDate[0] = FDate;
    v = DE('aFTime').value;if (v != '') {aFTime = v.split('|');}aFTime[0] = FTime;
    switch(cwid)
    {
        case '1':
	        v = DE('Airline').value;if (v != '') {Airline = v;}
	        v = DE('Class').value;if (v != '') {Class = v;}
	        v = DE('bNS').value;if (v != '') {bNS = v;}
	        v = DE('bCP').value;if (v != '') {bCP = v;}
	        bFlex = DE('bFlex').value == '1' ? true : false;
            break;    
        case '3':
	        v = DE('TCityD').value;if (v != '') {TCityD = 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('Radius').value;if (v != '') {Radius = v;}
	        v = DE('CarC').value;if (v != '') {CCl = v;}
	        v = DE('Vendor').value;if (v != '') {Vendor = v;}
	        v = DE('DC').value;if (v != '') {DC = v;}
	        v = DE('CorpC').value;if (v != '') {CorpC = v;}
	        v = DE('CoupC').value;if (v != '') {CoupC = v;}
	        v = DE('RateC').value;if (v != '') {RateC = v;}
	        v = DE('OtherC').value;if (v != '') {OtherC = v;}
	        v = DE('Equipment').value;if (v != '') {arrE = v.split(',');}                    
	        break;
        case '8':
	        v = DE('TCityId').value;if (v != '') {TCityId = v;}
	        v = DE('MDate').value;if (v != '') {MDate = v;}
	        v = DE('Cruiseline').value;if (v != '') {Cruiseline = v;}
	        v = DE('State').value;if (v != '') {State = v;}
	        v = DE('ro').value;if (v!= '') {Recidency = v; }
	        v = DE('bSE').value;if (v != '') {bSE = v;}
	        v = DE('bPC').value;if (v != '') {bPC = v;}
	        v = DE('PC').value;if (v != '') {arrE = v.split(',');}else{for(var i = 1; i < arrCL.length; i++){arrE[i] = '0';}}
	        v = DE('CLength').value;if (v != '') {CLength = v;}
	        v = DE('StarRC').value;if (v != '') {StarRC = v;}
	        v = DE('Port').value;if (v != '') {Port = v;}
	        v = DE('Ship').value;if (v != '') {Ship = v;}        
            break;	        
        case '2':
	        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;}        
            break;        
        case '4':case '5':case '6':
	        v = DE('PFDate').value;if (v != '') {PFDate = v;}
	        v = DE('PTDate').value;if (v != '') {PTDate = v;}
	        v = DE('bPart').value;if (v != '') {bPart = v;}        
	        v = DE('bFfst').value;if (v != '') {bFfst = v;}
            break;
        case '7':
            bFlex = DE('bFlex').value == '1' ? true : false;
	        v = DE('Airline').value;if (v != '') {Airline = v;}
	        v = DE('Class').value;if (v != '') {Class = v;}
	        v = DE('bNS').value;if (v != '') {bNS = v;}
	        v = DE('bCP').value;if (v != '') {bCP = v;}			
            break;            
        case '9':
            v = DE('tciAct').value;if (v != '') {ActTci = v;}
            break;
        default:break;
    }    
}

function Rem(el)
{     
    RemG(el);
    var n = el.id.substr(3);
    if(n == ''){n = 1;}	
	switch(cwid)
	{
        case '1':
	        switch (el.id.substr(0,3))
	        {
		        case 'fcy':aFCity[n - 1] = el.value;DE('aFCity').value = aFCity.join('|');FCity = aFCity[0];DE('FCity').value = FCity;FTLA = FCity.toUpperCase();DE('FTLA').value = FTLA;break;
		        case 'tcy':aTCity[n - 1] = el.value;DE('aTCity').value = aTCity.join('|');TCity = aTCity[0];DE('TCity').value = TCity;TTLA = TCity.toUpperCase();DE('TTLA').value = TTLA;break;
		        case 'fdt':aFDate[n - 1] = el.value;DE('aFDate').value = aFDate.join('|');FDate = aFDate[0];DE('FDate').value = FDate;break;
		        case 'ftt':aFTime[n - 1] = el.value;DE('aFTime').value = aFTime.join('|');FTime = aFTime[0];DE('FTime').value = FTime;break;        		
		        case 'fct':aFCity[0] = el.options[el.selectedIndex].text;DE('aFCity').value = aFCity.join('|');FCity = aFCity[0];DE('FCity').value = FCity;break;
		        case 'tct':aTCity[0] = el.options[el.selectedIndex].text;DE('aTCity').value = aTCity.join('|');TCity = aTCity[0];DE('TCity').value = TCity;break;        		
		        case 'aln':Airline = el.value;DE('Airline').value = Airline;break;
		        case 'acl':Class = el.value;DE('Class').value = Class;break;
		        case 'nos':if(el.checked){bNS = '1';}else{bNS = '0';}DE('bNS').value = bNS;break;
		        case 'chp':if(el.checked){bCP = '1';}else{bCP = '0';}DE('bCP').value = bCP;break;
		        case 'flx':if(el.checked){DE('bFlex').value='1';bFlex=true;}else{DE('bFlex').value='0';bFlex=false;}break;
		        default:break;
	        }        
            break;
        case '2':
	        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;
		        default:break;
	        }        
            break;            
        case '3': 
	        switch (el.id.substr(0,3))
	        {
		        case 'tcy':if(n != ''){TCityD = el.value;DE('TCityD').value = TCityD;}break;
		        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 'rds':Radius = el.value;DE('Radius').value = Radius;break;
		        case 'ccl':CCl = el.value;DE('CarC').value = CCl;break;
		        case 'ven':Vendor = el.value;DE('Vendor').value = Vendor;break;
		        case 'dcd':DC = el.value;DE('DC').value = DC;break;
		        case 'coc':CorpC = el.value;DE('CorpC').value = CorpC;break;
		        case 'cpc':CoupC = el.value;DE('CoupC').value = CoupC;break;
		        case 'rtc':RateC = el.value;DE('RateC').value = RateC;break;
		        case 'otc':OtherC = el.value;DE('OtherC').value = OtherC;break;
		        case 'equ':if(el.checked){arrE[n] = '1';}else{arrE[n] = '0';}DE('Equipment').value = arrE.join(',');break;
		        default:break;
	        }                   
            break;
        case '4':case '5':
	        switch (el.id.substr(0,3))
	        {
		        case 'pfd':PFDate = el.value;DE('PFDate').value = PFDate;break;
		        case 'ptd':PTDate = el.value;DE('PTDate').value = PTDate;break;
		        case 'prt':DE('bPart').value = el.checked ? '1' : '';break;		        
		        default:break;
	        }
	        break;
        case '7':
            switch (el.id.substr(0,3))
            {				
				case 'flx':if(el.checked){DE('bFlex').value='1';bFlex=true;}else{DE('bFlex').value='0';bFlex=false;}break;
		        case 'nos':if(el.checked){bNS = '1';}else{bNS = '0';}DE('bNS').value = bNS;break;
		        case 'chp':if(el.checked){bCP = '1';}else{bCP = '0';}DE('bCP').value = bCP;break;
		        case 'aln':Airline = el.value;DE('Airline').value = Airline;break;
		        case 'acl':Class = el.value;DE('Class').value = Class;break;                
                default:break;
            }        	        
        case '8':            
	        switch (el.id.substr(0,3))
	        {
		        case 'crl':Cruiseline = el.value;DE('Cruiseline').value = Cruiseline;break;
		        case 'tst':State = el.value;DE('State').value = State;break;
		        case 'sen':if(el.checked){bSE = '1';}else{bSE = '0';}DE('bSE').value = bSE;break;
		        case 'prc':if(el.checked){bPC = '1';}else{bPC = '0';}DE('bPC').value = bPC;break;
		        case 'pcl':if(el.checked){arrE[n] = '1';}else{arrE[n] = '0';}DE('PC').value = arrE.join(',');break;
		        case 'cle':CLength = el.value;DE('CLength').value = CLength;break;
		        case 'str':StarRC = el.value;DE('StarRC').value = StarRC;break;
		        case 'por':Port = el.value;DE('Port').value = Port;break;
		        case 'shi':Ship = el.value;DE('Ship').value = Ship;break;
		        case 'res':if(el.checked){DE('ro').value = Recidency = '1';}else{DE('ro').value = Recidency = '0';} break;
		        default:break;
	        }        	           
	        break;
        case '9':
            switch (el.id.substr(0,3))
            {                
                case 'tci':
					DE('tciAct').value = ActTci = el.value;
					if (ActTci != '-1') DE('TCity').value = TCity = aTCity[0] = DE('lbltci'+ActTci).innerHTML;
					DE("LsTOverride").value="true";
					break;
				case 'tcy':
					DE('TCity').value = TCity = DE('tciAct').value = aTCity[0] = ActTci = el.value;
					DE("LsTOverride").value="true";
					break;
                default:break;
            }
			DE('aTCity').value = aTCity.join('|');
            break;	        
        default:break;
	}
}




var SetMOT = (function()
{
    var m_t = {
        '1':'Airline, first or business class, nonstop only',
        '2':'Hotel name, hotel class',
        '3':'Special equipment',
		'7':'Airline, first or business class, nonstop only'
    };    
    
    var m_div = 'divO1';        
    var m_lbl1 = GetYL('Additional options:');
    var m_html = [
		m_lbl1,
        '<a rel="nofollow" href="#" onmouseover="window.status=\'',
        '',
        '\';return(true);" onmouseout="window.status=\'\'" onclick="SetAO(\'1\');" onkeydown="if(event.keyCode==13){SetAO(\'1\')};return true;">',
        '',
        '</a>'        
    ];
    
    return function(id)
    {       
		var isFFlex = (cwid == 1 && cst == 1 && bFlex) || (cwid == 7 && bFlex); 
        if( ('1' == id && !isFFlex) || ('7' == id && !isFFlex) || '2' == id || '3' == id)
        {
            SH1(m_div,1);            
            m_html[2] = m_html[4] = m_t[id];
            SetIH(m_div, m_html.join('') );
        }
        else
        {
            SH1(m_div,0);
        }
    };
})();


function SetAO()
{		    
	if (cwid == 1 && cst == 1 && bFlex) 
	{
		SH1('divO1',0);
		return;
	}
	
	SetIH('divO1',GetAOHTML());
	switch(cwid)
	{
		case '3':
			DE('imgH1').src = imgHand.src;
			DE('imgH2').src = imgHand.src;
			break;
        default:break;			
	}		
	arrAO[cwid]='1';
	DE('ao').value = arrAO.join('|');	
}

var SetST = (function()
{
    var m_t = {
    '1':'Search for flights',
    '2':'Search for hotels',
    '3':'Search for cars',
    '4':'Search for Flight + Hotel',
    '5':'Search for Flight + Hotel + Car',
    '6':'Search for Hotel + Car',
    '7':'Search for Flight + Car',
    '8':'Search for cruises',
    '9':'Search for activities'
    };    
    
    var m_html_btn= [                
        '<div class="fr">',
        '<div style="clear:both;">',
        '<div class="fl" ',
        '', // style 3
        '>',
        '<div tabindex="0" class="wizBtnLB" ', 
        '', //event 6       
        '" onmouseover="stmo(\'',
        '', // label 8
        '\');">',        
        '<div class="wizBtnRB">',
        '<div class="wizBtnMB">',
        '', // label 12
        '</div>',
        '</div></div></div></div>',
        '</div><div class="clearer"></div>'
    ];        
    
    var m_h9r = 'Request 9+ hotel rooms';
    var m_div = 'divWst';
    var m_e = ' onclick="SF();" ';
    var m_e4 = [' onclick="SFBundle(','',');" onkeypress="if(event.keyCode==13){SFBundle(','',');}" '];
    var m_btmStyle = ' style="margin-top:8px;" ';
    var m_html = ['',''];

    function SetSTG2(text,evt,style)
    {   if ('' == text) return '';        
        m_html_btn[3] = ('' != style ) ? style : '';
        m_html_btn[6] = ('' != evt ) ? evt : '';        
        m_html_btn[8] = m_html_btn[12] = text;        
        return m_html_btn.join('');       
    }
    function SetSTGBtn2(text,evt,style)
    {
        if ('' == text) return '';        
        var m_html_btn2 = new Array(); 
        m_html_btn2[0] = m_html_btn[0];
        m_html_btn2[1] = m_html_btn[1];
        m_html_btn2[2] = m_html_btn[2];
        m_html_btn2[3] = ('' != style ) ? style : '';
        m_html_btn2[4] = m_html_btn[4];
        m_html_btn2[5] = m_html_btn[5].replace('wizBtnLB', 'wizBtn2LB');
        m_html_btn2[6] = ('' != evt ) ? evt : '';        
        m_html_btn2[7] = m_html_btn[7];
        m_html_btn2[8] = m_html_btn[12] = text;        
        m_html_btn2[9] = m_html_btn[9];
        m_html_btn2[10] = m_html_btn[10].replace('wizBtnRB', 'wizBtn2RB');
        m_html_btn2[11] = m_html_btn[11].replace('wizBtnMB', 'wizBtn2MB');
        m_html_btn2[12] = m_html_btn[12];
        m_html_btn2[13] = m_html_btn[13];
        m_html_btn2[14] = m_html_btn[14];
        m_html_btn2[15] = m_html_btn[15];
        return m_html_btn2.join('');       
    }
    
    return function(id)
    {	
        if (id == '1' && !bFlex && cst == '1' )		
        {
			m_e4[1] = m_e4[3] = '3';
            m_html[0] = SetSTG2(m_t[id], m_e, '');
            if (m_html[1] == '') m_html[1] = SetSTGBtn2(m_t['4'], m_e4.join('') , m_btmStyle);
            SetIH(m_div,m_html.join(''));
        }
        else
        {
            if (id == '2' && rooms == 9) { SetIH(m_div, SetSTG2(m_h9r,m_e,''));}
            else if (id == 4 || id == 5) { SetIH(m_div, SetSTGBtn2(m_t[id],m_e,''));}                
            else { SetIH(m_div, SetSTG2(m_t[id],m_e,''));}                
        }
    };
})();


function GetRASCCAString()
{
	var k = '';
	switch (cwid)
	{
		case '1':
		case '7':
			k += '&NumRoom=1';
			k += '&NumAdult=' + aRA[0];
			k += '&NumSenior=' + aRS[0];
			if (aRC[0] > 0)
			{
				k += '&NumChild=' + aRC[0];
				for (var i = 0; i < aRC[0]; i++)
				{
					k += '&Child' + (i + 1) + 'Age=' + aRCA[0][i];
				}
				if (Inf == 's'){k += '&InfantInSeat=1';}
				else{k += '&InfantInSeat=2';}
			}
			break;
		case '2':
		case '4':
		case '5':
		case '6':
			k += '&NumRoom=' + nR;
			for (var i = 0; i < nR; i++)
			{
				if (nR == 1){k += '&NumAdult=' + aRA[i];k += '&NumSenior=' + aRS[i];}
				else{k += '&NumAdult' + (i + 1) + '=' + aRA[i];k += '&NumSenior' + (i + 1) + '=' + aRS[i];}
				if (aRC[i] > 0)
				{
					if (nR == 1){k += '&NumChild=' + aRC[i];}
					else{k += '&NumChild' + (i + 1) + '=' + aRC[i];}
					for (var j = 0; j < aRC[i]; j++)
					{
						if (i == 0){k += '&Child' + (j + 1) + 'Age=' + aRCA[i][j];}
						else{k += '&Rm' + (i + 1) + 'Child' + (j + 1) + 'Age=' + aRCA[i][j];}
					}
				}
			}
			if (Inf == 's'){k += '&InfantInSeat=1';}
			else{k += '&InfantInSeat=2';}
			break;		
		default:break;
	}
	return k;
}

function GetCruiseDatesString()
{
	var k = '';
	if (MDate == '1/1/4501'){k = '&sdat=1/1/4501';}
	else
	{
		var aD = MDate.split('-');
		var cd = new Date();
		if ((aD[0]==cd.getMonth()) && (aD[1]==cd.getFullYear())){k += '&sdat=' + (cd.getMonth() + 1) + '/' + cd.getDate() + '/' + cd.getFullYear();}
		else{k += '&sdat=' + (parseInt(aD[0]) + 1) + '/1/' + aD[1];}
	}
	return k;
}


var GetAOHTML = (function()
{
    var m_tl,       // array of all label 1 
        m_ti,       // array of all label 2
        m_te,       // array of all tooltip text
        m_t8,       // array of additional label for cruise 
        m_html1,    // array to hold ao html cwid 1, 2 or so on	
        m_html2,
        m_html3,
        m_html8,
		m_arrCurStar
    ;   
    
    var m_style = (document.all) ? 'margin-left:-4px;' : 'margin-left:-1px;';
    var m_evt = ' onchange="Rem(this);"';
	var m_aolbl = GetYL('Additional options:');
    
    function _init()
    {
        m_tl = {'1':'More info','3':'Availability and cost info','8':'Choosing Preferences'};
        m_ti = {'1':'No preference search','3':'Availability and cost of special equipment','8':'Choosing Preferences'};
        m_te = {
                '1':'A no preference search covers those airlines to which Expedia has access, which is most airlines. The flights displayed are those for which Expedia	was able to confirm availability. By searching for flights on just one airline, you may be able to find additional choices and possibly even lower prices.',
                '3':'Special equipment options may not be available for all cars or at all rental locations. Your selection(s) will be sent to the car vendor as a request; they are not guaranteed. <b>Before you depart, be sure to confirm with the car vendor that your requested equipment will be available. Please note that the car vendor may apply additional charges for the equipment you select.</b>',
                '8':'You may restrict your search by designating ship and port preferences. However, keep in mind that choosing detailed search criteria often decreases the number of cruises we are able to find for you. To find more cruises, please limit the number of preferences you choose.'                
            };
    }
    
    function _init1()
    {          
        m_html1 = [
                m_aolbl,
				'<div class="bl2">Low fare note: To increase your chances of finding low fares, leave the following unchecked.</div>',
                '<div class="bl1" style="padding-bottom:0px;">',
                '',
                '</div>',
                '<div class="bl1" style="padding-bottom:12px;">',
                '',
                '</div>',
                '<div class="bl3">',
                '<div class="flmed">',
                GetGL('aln','Airline:'),
                '<br/>',
                '',
                '</div>',
                '<div class="frmed">',
                GetGL('acl','Class:'),
                '<br/>',
                '',
                '</div>',
                '</div>',
                '<div class="bl1">',
                GetTT(m_tl['1'],m_ti['1'],m_te['1'],250,'','',true),
                '</div>',
                '<div class="clearer"></div>'
            ];    
    }
    
    function _init2()
    {
        m_html2 = [
			m_aolbl,
            '<div class="bl1" style="padding-top:3px;">',
            '<div class="flmed">',
            GetGL('hnm','Hotel name:'),
            '<br/>',
            '',
            '</div>',
            '<div class="frmed"><a href="/pub/agent.dll?qscr=hgen&hfnm=H_VHW_default.htx&rhtx=HTX_HOTVSRCH#class">Hotel class:</a><br/>',
            '',
            '</div>',
            '</div>',
            '<div class="clearer"></div>'
        ];
    }
    
    function _init3()
    {   
        m_html3 = [
			m_aolbl,
            '<div class="bl1" style="padding-top:3px;">Do you need any special equipment?</div>',
            '<div class="bl1">',
            GetTT(m_tl['3'],m_ti['3'],m_te['3'],275,'','',true),
            '</div>',
            '<div class="fl">',
            '<div class="flmed">',
            '',
            '</div>',
            '<div class="frmed">',
            '',
            '</div>',
            '</div>',
            '<div class="fl">',
            '<div class="flmed">',
            '',
            '</div>',
            '<div class="frmed">',
            '',
            '</div>',
            '</div>',
            '<div class="fl">',
            '<div class="flmed">',
            '',
            '<img id="imgH1" src="" alt="" style="margin-left:3px;"/></div>',
            '<div class="frmed">',
            '',
            '<img id="imgH2" src="" alt="" style="margin-left:2px;"/></div>',
            '</div>',
            '<div class="fl">',
            '',
            '</div>',
            '<div class="clearer"></div>'
        ];
    }
    
    return function()
    {
        if (m_tl === undefined) {_init();}
        switch(cwid)
        {
            case '1':
			case '7':
                if (m_html1 === undefined) {_init1();}
                m_html1[3] = GetCB('nos','','Nonstop only',bNS,'',m_style,m_evt);
                m_html1[6] = GetCB('chp','','Avoid most change penalties',bCP,'',m_style,m_evt);
                m_html1[12] = GetDD('aln',arrAL,Airline,'','',m_evt);
                m_html1[17] = GetDD('acl',arrAC,Class,'','',m_evt);
                return m_html1.join('');
                break;
            case '2':
                if (m_html2 === undefined) {_init2();}
                m_html2[5] = GetGI('hnm',HName,'','',' onfocus="HCal();this.select();" onchange="Rem(this);"','80');
                m_html2[8] = GetDD('str',arrSR,StarR,'','',m_evt);
                return m_html2.join('');
                break;
            case '3':
                if (m_html3 === undefined) {_init3();}
                m_html3[7] = GetCB('equ0','I','Infant car seat',arrE[0],'','',m_evt,'');
                m_html3[10] = GetCB('equ1','T','Toddler car seat',arrE[1],'','',m_evt,''); 
                m_html3[15] = GetCB('equ2','S','Ski rack',arrE[2],'','',m_evt,'');
                m_html3[18] = GetCB('equ3','W','Snow chains',arrE[3],'','',m_evt,'');
                m_html3[23] = GetCB('equ4','L','Left hand control',arrE[4],'','',m_evt,'');
                m_html3[26] = GetCB('equ5','R','Right hand control',arrE[5],'','',m_evt,'');
                m_html3[30] = GetCB('equ6','N','Navigational system',arrE[6],'','',m_evt,'');
                return m_html3.join('');
                break;
            default:return '';break;
        }
    };    
})(); // end GetAOHTML()

var GetResHTML = (function(){
    var m_html, m_tt_sen, m_evt, m_prclbl; 
    
    function _init()
    {
        m_tt_sen = [
            'Someone in my party is a ',
            GetTT(
                'senior',
                'Senior rates',
                'For most cruise lines the senior age is 55. Any exceptions will be noted when you select your cabin category.',
                200,'','',false)
            ];

        m_html = [
                '<div class="bl1">To see if you qualify for any special rates, please give us a little more information (optional):</div>',
                '<div class="bl1">',
                GetGL('tst','Where do you live?'),
                '<br/>',
                '', // 4: GetDD('tst',arrST1,State,'','',' onchange="Rem(this);"'),
                '</div>',
                '<div class="fl">',
                '', // 7: GetCB('sen','','Someone in my party is a ' + GetTT(tl,ti,te,200,'','',false),bSE,'','',' onchange="Rem(this);"','')
                '</div>',
                '<div class="bl1">',
                '', // 10: GetCB('prc','','Someone in my party has cruised before',bPC,'','',' onclick="SetCL();" onchange="Rem(this);"','')
                '</div>',
                '<div class="bl1" id="divCL" style="display:none;"></div>',
                '<div class="clearer"></div>'
            ];    
            
        m_evt = [
            ' onchange="Rem(this);"',
            ' onclick="SetCL();" onchange="Rem(this);"'
        ];
        
        m_prclbl = 'Someone in my party has cruised before';
    }

    return function ()
    {
        if(m_html === undefined){_init();}
        
        m_html[4] = GetDD('tst',arrST1,State,'','',m_evt[0]);
        m_html[7] = GetCB('sen','',m_tt_sen.join(''),bSE,'','',m_evt[0],'');
        m_html[10] = GetCB('prc','',m_prclbl,bPC,'','',m_evt[1],'');
        
        return m_html.join('');
    }
        
})();

function SetRes()
{
    id = 'divRes';
    if(DE('res').checked)
    {
        DE('ro').value = '1';
        SH1(id,1);
	    SetIH(id,GetResHTML());
	    SetCL();
    }
    else
    {
        DE('ro').value = '0';
        SH1(id,0);
    }
}

function SetCL()
{
    var id = 'divCL';
    var t = [];
    var a;
    var arrCL1 = arrCL.slice(1);

    if(DE('prc').checked)
    {
        t[t.length] = '<div class="bl1">Which lines have you cruised with?</div>';
        var j = Math.round(arrCL1.length/2);
	    for (var i = 0; i < j; i++) 
		{
	        a = arrCL1[i].split('|');
	        t[t.length] = '<div class="fl">';
	        if(typeof(arrCL1[i + j]) != 'undefined')
	        {
	            t[t.length] = '<div class="flmed">' + GetCB('pcl' + i,a[0],a[1],arrE[i],'','',' onchange="Rem(this);"','') + '</div>';
	            a = arrCL1[i + j].split('|');
	            t[t.length] = '<div class="frmed">' + GetCB('pcl' + (i + j),a[0],a[1],arrE[i + j],'','',' onchange="Rem(this);"','') + '</div>';
	        }
	        else
	        {
	            t[t.length] = GetCB('pcl' + i,a[0],a[1],arrE[i],'','',' onchange="Rem(this);"','');
	        }
	        t[t.length] = '</div>';
		} 
        SH1(id,1);
        SetIH(id,t.join(''));
    }
    else
    {
        SH1(id,0);
    }
}

function CS()
{
	var id = 'divShip';
    if(DE('crl').selectedIndex == 0)
    {
        DE('shi').selectedIndex = 0;
        SH1(id,0);
    }
    else
    {
        SH1(id,1);
        SetIH(id,GetGL('shi','Ship:') + '<br/>' + GetDD('shi',arrSH[DE('crl').selectedIndex],Ship,'','',' onchange="Rem(this);"'));
    }

}

var GetMDHTML = (function(){
    var m_html, m_evt, m_n = 0;    
    
    function _init()
    {
        m_evt = [
                ' autocomplete="off" onfocus="HCal();this.select();" onchange="Rem(this);"',
                ' onblur="Rem(this);" onclick="event.cancelBubble=true;SC(this);" onfocus="SC(this);"',
                ' onfocus="HCal();" onchange="Rem(this);"'
            ];    
            
        m_html = [
                '<div class="bl1">',
                '<div class="flmed">',
                '', 
                '<br/>',
                '', 
                '</div>',
                '<div class="frmed">',
                '', 
                '<br/>',
                '', 
                '</div>',
                '</div>',
                '<div class="bl1" style="padding-bottom:14px;">',
                '<div class="flmed">',
                '<div class="fl">',
                '', 
                '<br/>',
                '', 
                '</div>',
                '<div class="fr">',
                '', 
                '<br/>',
                '', 
                '</div>',
                '</div>',            
                '</div>',
                '<div class="clearer"></div>'
            ];    
    }
    
    return function(i)
    {    
        if (m_html === undefined) { _init(); }        
        if (i > 1) 
		{ 
			m_n  = i; 
		} 
		else
		{ 
			m_n  = '';
		}	
		
        m_html[2] = GetGL('fcy' + m_n,'Leaving from:');
        m_html[4] = GetGI('fcy' + m_n, aFCity[i - 1],'','',m_evt[0],'100');
        m_html[7] = GetGL('tcy' + m_n,'Going to:');
        if(DE("LsTOverride").value == "" && i == 1){
			m_html[9] = GetGI('tcy' + m_n, GetDestination(),'','',m_evt[0],'100');
		}
		else{
			m_html[9] = GetGI('tcy' + m_n, aTCity[i - 1],'','',m_evt[0],'100');
		}
		
		m_html[15] = GetGL('fdt' + m_n,'Departing:');
        m_html[17] = GetGI('fdt' + m_n, aFDate[i - 1],'small','',m_evt[1],'12');
        m_html[20] = GetGL('ftt' + m_n,'Time:');
        m_html[22] = GetDD('ftt' + m_n,arrT1, aFTime[i - 1],'small','',m_evt[2]);
        return m_html.join('');
    }
})();

function md()
{
    DE('md').value = '1';
    maxD1 = maxD;
    pwid = '';
    hw('1');
}

function GetDefaultF(E)
{
	var t = '';
	switch (E)
	{
		case 'FCity':for (var i = minD; i < (maxD + 1); i++){t += ',';}break;
		case 'TCity':for (var i = minD; i < (maxD + 1); i++){t += ',';}break;
		case 'FDate':for (var i = minD; i < (maxD + 1); i++){t += 'mm/dd/yy,';}break;
		case 'FTime':for (var i = minD; i < (maxD + 1); i++){t += '362,';}break;
	}
	return t.substr(0,t.length-1);
}

function BuildDC()
{
    var d = 'divCC';
    var t = ''; 
        
	switch (cwid)
	{
	    case '3':
	        t += GetYL('Rental car preferences:');
			t += '<div class="bl1">' + GetGL('ccl','Car type:') + '<br/>' + GetDD('ccl',arrCC,CCl,'large','',' onchange="Rem(this);"') + '</div>';
			t += '<div class="bl1">' + GetGL('dcd','Do you have a discount code?') + '<br/>' + GetDD('dcd',arrDC,DC,'large','',' onchange="Rem(this);SetV();"') + '</div>';
			t += '<div class="bl1" id="divV" style="display:none;"></div>';
			t += '<div class="bl1" id="divDC" style="display:none;"></div>';
			t += '<div class="clearer"></div>';
	        break;
	    case '7':
			t += GetYL('Rental car preferences:');
			t += '<div class="bl1">' + GetGL('ccl','Car type:') + '<br/>' + GetDD('ccl',arrCC,CCl,'large','',' onchange="Rem(this);"') + '</div>';
			t += '<div class="clearer"></div>';
	        break;
		default:break;
	}			
    if(t != ''){SH1(d,1);SetIH('divCC',t);
    if(cwid == '3'){SetV();}}else{SH1(d,0);}    
    
}
function SetV()
{   
    var t = GetGL('ven','Rental car company:') + '<br/>';
	switch (DC)
	{
	    case '1':
			t = t + GetV(Vendor,'large','',' onchange="Rem(this);"');
	        break;
	    case '2':
			t = t + GetDD('ven',arrVv,Vendor,'large','',' onchange="Rem(this);SetDC();"');
	        break;
	    case '3':
			t = t + GetDD('ven',arrV,Vendor,'large','',' onchange="Rem(this);SetDC();"');
	        break;
		default:break;
    }
    SH1('divV',1);
    SetIH('divV',t);
    SetDC();
}

function GetV(d,c,s,j)
{
    var c1 = 'class="med" ';
    var s1 = '';
	if(c != ''){c1 = 'class="' + c + '" ';}
	if(s != ''){s1 = 'style="' + s + '" ';}
	var t = ['<select id="ven" name="ven" ',c1,s1,j,'><optgroup label="Preferred Vendors"><option value="">Preferred Vendors</option><option value="ZD">Budget</option><option value="ZR">Dollar Rent A Car</option><option value="ET">Enterprise</option><option value="EP">Europcar</option><option value="ZE">Hertz</option><option value="ZA">Payless</option><option value="ZT">Thrifty Car Rental</option></optgroup><optgroup label="More Companies"><option value="AC">ACE Rent A Car</option><option value="AD">Advantage Rent-A-Car</option><option value="AL">Alamo Rent A Car</option><option value="ZI">Avis</option><option value="EY">Economy Rent a Car</option><option value="FX">Fox Rental Cars</option><option value="ZL">National Car Rental</option><option value="SX">Sixt</option><option value="SV">U-Save</option></optgroup></select>'].join('');
	return t.replace('value="' + d + '"','selected="selected" value="' + d + '"');
}

function SetDC()
{    
    var d = DE('divDC');
    var t = '';
    var t1 = '';
    var t2 = '';
    var t3 = '';
    var a;
    
    var v = DE('ven');   

    if(v.selectedIndex > 0)
    {
        a = arrV1[v.options[v.selectedIndex].value].split('|');
        if(DE('dcd').value == '2')
        {
	        t += '<div class="bl1">' + GetGL('coc',a[1] + ':') + '<br/>' + GetGI('coc',CorpC,'','',' onchange="Rem(this);"','100') + '</div>';
        }
        if(DE('dcd').value == '3')
        {
	        if(a[2] != ' '){a[2] = GetGL('cpc',a[2] + ':') + '<br/>' + GetGI('cpc',CoupC,'','',' onchange="Rem(this);"','100');}
	        if(a[3] != ' '){a[3] = GetGL('rtc',a[3] + ':') + '<br/>' + GetGI('rtc',RateC,'','',' onchange="Rem(this);"','100');}
	        if(a[4] != ' '){a[4] = GetGL('otc',a[4] + ':') + '<br/>' + GetGI('otc',OtherC,'','',' onchange="Rem(this);"','100');}
	        if(a[3] != ' ')
	        {
	            t1 = a[3];
	            if(a[2] != ' ')
	            {
	                t2 = a[2];
	                if(a[4] != ' ')
	                {
	                    t3 = a[4];
	                }
	            }
	        }
	        else if(a[2] != ' ')
	        {
	            t1 = a[2];
	            if(a[4] != ' ')
	            {
	                t2 = a[4];
	            }
	        }
	        else if(a[4] != ' ')
	        {
	            t1 = a[4];
	        }
	        if(t1 != '' && t2 != '')
	        {
	            t += '<div class="bl1">';
	            t += '<div class="flmed">' + t1 + '</div>';
	            t += '<div class="frmed">' + t2 + '</div>';
	            t += '</div>';
	            if(t3 != '')
	            {
	                t += '<div class="bl1">' + t3 + '</div>';
	            }
	        }
	        else if(t1 != '')
	        {
	            t += '<div class="bl1">';
	            t += '<div class="flmed">' + t1 + '</div>';
	            if(t3 != '')
	            {
	                t += '<div class="frmed">' + t3 + '</div>';
	            }
	            t += '</div>';
	        }
	        else if(t2 != '')
	        {
	            t += '<div class="bl1">';
	            t += '<div class="flmed">' + t2 + '</div>';
	            if(t3 != '')
	            {
	                t += '<div class="frmed">' + t3 + '</div>';
	            }
	            t += '</div>';
	        }
	        else if(t3 != '')
	        {
	            t += '<div class="bl1">' + t3 + '</div>';
	        }
        }
        t += '<div class="clearer"></div>';
    } 
    if(t != ''){SH1('divDC',1);SetIH('divDC',t);}else{SH1('divDC',0);}
}



function SetPart() 
{
    var id = 'divPart';
    if(DE('prt').checked)
    {
        bPart = '1';
        DE('bPart').value = '1';
        SH1(id,1);
	    SetIH(id,GetPartialHTML());
    }
    else
    {
        bPart = '0';
        DE('bPart').value = '0';
        SH1(id,0);
    }
}

var GetPartialHTML = (function(){
    var m_html = [
        '<div class="bl2">When do you need a hotel? (Check-in and check-out dates must be within dates of travel.)</div>',
        '<div class="bl1">',
        '<div class="flmed">',
        GetGL('pfd','Check-in:'),
        '<br/>',
        '',
        '</div>',
        '<div class="frmed">',
        GetGL('ptd','Check-out:'),
        '<br/>',
        '',
        '</div></div>'];
    var m_evt = [
        ' onblur="Rem(this);UpdDt(this);" onclick="event.cancelBubble=true;SC(this);" onfocus="SC(this);"',
        ' onblur="Rem(this);" onclick="event.cancelBubble=true;SC(this);" onfocus="SC(this);"'
    ];        
    return function()
    {
        m_html[5] =  GetGI('pfd',PFDate,'','',m_evt[0],'12');
        m_html[10] = GetGI('ptd',PTDate,'','',m_evt[1],'12');
        return m_html.join('');
    }
})();

function SH1(id,s){var e = DE(id);if(s){e.style.display = 'block';}else{e.style.display = 'none';}}function GetDowStart() {return 0;}function GetDateFmt() {return "mmddyy";}function GetDateSep() {return "/";}
function ShowCalendar(eP,eD,eDP,dmin,dmax)
{
	SCal(eP,eD,eDP,dmin,dmax);
}
function ShowCalSimp(fm,eD,eDP,dmin,dmax){
 if(!dmin)dmin='3/1/2005';if(!dmax)dmax='1/25/2006';
 if(fm){SetNextFocus(objNext(fm,eD));SetPrevFocus(objPrev(fm,eD));}
 SCal(eD,eD,eDP,dmin,dmax);
}

var zz, zv, d, fTSR;
d = new Date();
fTSR=0;
zv = d.getTime();
zz = "&zz="+zv;

var gBF=false;
function GoTo(u){window.top.location = u + zz;}
function Go(u){window.top.location = u;} 

function BF(){gBF=true;}

function Foci(o){if(!gBF && IsVis(o)){o.focus();}}

function IsVis(o)
{
	if(!o || o.type=="hidden")
	return false;
	
	while(o && o.style && o.style.display!='none')
	{
	o = o.parentNode;	
	}
	return !o || !o.style;
}


function TEK(a,evt){	
	var keycode;
	if (window.event){ keycode = window.event.keyCode; evt = window.event;}
	else if(evt) {keycode = evt.which;}
	else {return true;}
	if(13==keycode){evt.cancelBubble = true; evt.returnValue = false; eval(a);}
	}

function getObj(objID)
	{
	if (document.getElementById) {return document.getElementById(objID);}
	else if (document.all) {return document.all[objID];}
	else if (document.layers) {return document.layers[objID];}
	}
	
function objNext(f,d)
{
	var fFnd=false,el=f.elements,i=0;
	for(;i < el.length;i++)
	{
	if('hidden'!=el[i].type && false==el[i].disabled && IsVis(el[i]) && fFnd)return el[i];
	if(d.id==el[i].id)fFnd=true;
	}
	return null;
}
function objPrev(f,d)
{
	var fFnd=false,el=f.elements,i=el.length - 1;
	for(;i >= 0;i--)
	{
	if('hidden'!=el[i].type && false==el[i].disabled && IsVis(el[i]) && fFnd)return el[i];
	if(d.id==el[i].id)fFnd=true;
	}
	return null;
}

function DoNothing() {return false;}var cF=null;var cW=null;var g_tid=0;var g_cP,g_eD,g_eDP,g_dmin,g_dmax;
var nextFocus;var g_fNoCal=false;

function getEventObj(e){if(!e)e=window.event;return e;}

function stopBubble(e){e=getEventObj(e);e.cancelBubble=true;if(e.stopPropagation)e.stopPropagation();}

function CB(){stopBubble(event);}

function SCal(cP,eD,eDP,dmin,dmax){
 clearTimeout(g_tid);
 if(g_fNoCal){g_fNoCal=false;return;}
	if(g_calShown && eD==g_eD){return;}
	g_calShown = true;
	g_calCB = null;
 g_cP=cP;
 g_eD=eD;
 g_eDP=eDP;
 g_dmin=dmin;
 g_dmax=dmax;
 WaitCal();}
function CancelCal(){clearTimeout(g_tid);if(!cF)cF=getObj('CalFrame');cF.style.visibility="hidden";cF.style.display="none";g_calShown=false;}
function WaitCal()
{ 
 if(!cW)cW=frames['CalFrame'];

 if(null==cW||null==cW.g_fCL||false==cW.g_fCL){
	g_tid=setTimeout("WaitCal()", 200);
	}
 else{
 if(!cF)cF=getObj('CalFrame');
	cF.style.visibility="hidden";
	setTimeout("DoCal()",1);
	}
}
function DoCal(){PosCal(g_cP);
if(!cW)cW=frames['CalFrame'];
cW.DoCal(g_eD,g_eDP,g_dmin,g_dmax);}

function getScrollTop()
{
	if(document.documentElement.scrollTop) return document.documentElement.scrollTop;
	if(document.body.scrollTop) return document.body.scrollTop;
	if(window.pageYOffset) return window.pageYOffset;
	return 0;
}

function getWinHeight()
{
	if(window.innerHeight) return window.innerHeight;
	if(document.documentElement.clientHeight) return document.documentElement.clientHeight;
	if(document.body.clientHeight) return document.body.clientHeight;
	return 0;
}

function PosCal(cP)
{
	var dB=document.body;var eL=0;var eT=0;
    if(!cF)cF=getObj('CalFrame');
	for(var p=cP;p&&p.tagName!='BODY';p=p.offsetParent){eL+=p.offsetLeft;eT+=p.offsetTop;}
	var eH=cP.offsetHeight;var dH=parseInt(cF.style.height);var sT=getScrollTop();
	if(eT-dH>=sT&&eT+eH+dH>getWinHeight()+sT)eT-=dH;else eT+=eH;
	cF.style.left=eL+'px';cF.style.top=eT+'px';
}

function SetNextFocus(e){nextFocus=e;if(nextFocus)nextFocus.onfocus=CancelCal;}
function SetPrevFocus(e){if(e)e.onfocus=CancelCal;}

function FGoNextFocus(){if(nextFocus){nextFocus.focus();return true;}return false;}

function CalSetFocus(e){if(e){g_fNoCal=true;e.focus();setTimeout("EndCalFocus()", 200);}}
function EndCalFocus(){g_fNoCal=false;}

function CalDateSet(eInp,d,m,y,giveFocus)
{
	var ds=GetDateSep();
	var fmt=GetDateFmt();

	if(fmt=="mmddyy")eInp.value=m+ds+d+ds+y;
	else if(fmt=="ddmmyy")eInp.value=d+ds+m+ds+y;
	else eInp.value=y+ds+m+ds+d;
	if(!giveFocus)
	CalSetFocus(eInp);
}

var g_calShown = false;
function SetCalShown(fcshown){g_calShown=fcshown;}

var g_calCB;
function CalendarCallback(){if(g_calCB)g_calCB();}
function SetCalendarCallback(cb){g_calCB=cb;}


function GetInputDate(t)
{
	if (!t) return null;
	if(!t.length) return null;
	t=t.replace(/\s+/g,"");
	if(t.match(/[^-|\d|\.|\/]/)) return null;
	var rgt=t.split(/-|\.|\//);
	for(var i=0;i<rgt.length;i++) rgt[i]=parseInt(rgt[i],10);
	if(!rgt[1]) return null;
	var m,d,y;
	var fmt=GetDateFmt();
	if(fmt=="yymmdd")
	{
	if(!rgt[2]) return null;
	m=rgt[1];d=rgt[2];y=rgt[0];
	}
	else
	{
	if(fmt=="mmddyy"){m=rgt[0];d=rgt[1];}
	else{m=rgt[1];d=rgt[0];}//fmt=="ddmmyy"
	if(rgt[2])y=rgt[2];
	else y=DefYr(m-1,d);
	}
	m-=1;if(y<100)y+=2000;
	if(y<1601||y>4500||m<0||m>11||d<1||d>GetMonthCount(m,y))return null;
	return new Date(y,m,d);
}

var rM=new Array(12);rM[0]=rM[2]=rM[4]=rM[6]=rM[7]=rM[9]=rM[11]=31;rM[3]=rM[5]=rM[8]=rM[10]=30;rM[1]=28;
function GetMonthCount(m,y){var c=rM[m];if((1==m)&&IsLY(y))c++;return c;}
function IsLY(y){if(0==y%4&&((y%100!=0)||(y%400==0)))return true;else return false;}
function DefYr(m,d){var dt=new Date();var yC=(dt.getYear()<1000)?1900+dt.getYear():dt.getYear();if(m<dt.getMonth()||(m==dt.getMonth()&&d<dt.getDate()))yC++;return yC;}// Flights first pop-up v.1
if (expFFCO === undefined) {
	var expFFCO = {
	    Visible:false,
		HeaderCopy:'2 Ways to Save on Flight + Hotel',
		Copy:'<p><span class="emph ffnew">Show flights then hotels:</span></p>'
		    + '<p>Build your own trip. Select your flights first, then<br/>pick your hotel.</p>'
		    + '<p><span class="emph">- OR -</span></p>'
		    + '<p><span class="emph">Show hotels with a suggested flight:</span></p>'
		    + '<p>Expedia helps build your trip quickly by showing hotels<br/>'
		    + 'paired with a suggested flight.</p>',
		coords:{popupX:0, popupY:0},        
		triggerElement:null,
		popupDiv:null,
		popupDivPaddingVert:-50,
		popupDivPaddingHoriz:-26,
		previousDivHeight:0,
		isInited:false,
		prevEventObj:null,
		init:function()
		{debugalert('init');
            //this.checkFTLA();
            this.createDiv();
            //this.createIF();				
			//this.createArrow();
			this.isInited = true;
		},		
        show:function(el)
        {debugalert('show');
		    (typeof el == 'string')?el = document.getElementById(el):el = el;

			if (!this.isInited)
			{
				this.init();
			}
            this.triggerElement = el
            this._show();
        },	
        hide:function()
        {debugalert('hide');   
            if (this.popupDiv != null)this.popupDiv.style.display = 'none';
            this.Visible = false;
        },
        _show:function()
        {debugalert('_show');       
			this.setCoords();      			
			var _top = this.triggerElement.offsetTop + this.triggerElement.offsetParent.offsetTop + this.coords.popupY + 'px';
            var _left = this.coords.popupX + 'px';						
            
            this.popupDiv.style.top = _top;
            this.popupDiv.style.left = _left;		
			this.popupDiv.style.visibility ='hidden';
            this.popupDiv.style.display = 'block';
            this.check();
		
			this.popupDiv.style.visibility ='visible';
			this.Visible = true;
						
        },					
        createDiv:function()
        {debugalert('createDiv');           
            if(this.popupDiv == null)
            {
                this.popupDiv = document.createElement('div');
                this.popupDiv.id = 'ff-div';
            	this.popupDiv.innerHTML = this.createContent();				
                this.popupDiv.style.zIndex = '9992';
                this.popupDiv.style.display = 'none';
                this.popupDiv.style.position= 'absolute';                
                document.body.appendChild(this.popupDiv);
                if (DE('CalFrame'))
                    DE('CalFrame').style.zIndex = '9993';
            }
        },
		createContent:function()
        { debugalert('createContent');
			return [
					'<div id="ff-wrapper" class="clearfix">',
						'<div id="ff-left">',
						'</div>',
						'<div id="ff-middle">',
							'<div id="ff-middle-top" class="clearfix">',
								'<div id="ff-middle-top-header">',
								    this.HeaderCopy,
								'</div>',
								'<div id="ff-middle-top-close" onclick="expFFCO.hide();">&nbsp;</div>',
							'</div>',
							'<div id="ff-middle-content">',
								this.Copy,
							'</div>',
						'</div>',
						'<div id="ff-right">',
						'</div>',
					'</div>'
                	].join('');
        },	
		setCoords:function()
		{debugalert('setCoords');
			var el = this.triggerElement;
			var elOffsetTop = 0;
			var elOffsetLeft = 0;
            while (el != null)
            {
                elOffsetTop += el.offsetTop;
                elOffsetLeft += el.offsetLeft;
                el = el.offsetParent; 
            }
			var elWidth = this.triggerElement.offsetWidth;
			var elHeight = this.triggerElement.offsetHeight;
			var popupWidth = this.popupDiv.offsetWidth;			
			var popupHeight = this.popupDiv.offsetHeight;			
			//Position the popup vertically
			this.coords.popupY = this.popupDivPaddingVert;
			
			// Position popup horizontal			
			this.coords.popupX = elOffsetLeft + elWidth + this.popupDivPaddingHoriz;
			
			this.previousDivHeight = this.popupDiv.offsetHeight;        			
		},
		check:function()
        {debugalert('check');
            var newOFHeight = this.popupDiv.offsetHeight;
            if (this.previousDivHeight != newOFHeight)
            {
                this._show();
            }
             
        }    
    };    
}
var ALERT_DEBUG = false;
function debugalert(str){if(ALERT_DEBUG)alert(str);}