var PFDate = 'mm/dd/yy';
var PTDate = 'mm/dd/yy';
var bPart = '0';
var bFfst = '0';

document.onclick = HCal;

function hw(id)
{
	if(id == ''){id='7';}
	cst = DE('typ').options[DE('typ').selectedIndex].value;
	if ((id == pwid) && (pst == cst) && (bFlex == DE('flx').checked)){return;}
	if (cst == '2'){DE('typ').options[0].selected = true;document.location.href = '/pub/agent.dll?qscr=cmsh&cdst=2&rdct=1';}
	cwid = id;
	DE('r' + id).checked = true;
	if(cwid == '6' || cwid == '7'){SH(DE('divWrs'),0);}else{SH(DE('divWrs'),1);}
    SO();
	SetSearchType();
	SetST(cwid);
	if(cwid == '7'){SH(DE('divFlex'),1);}else{SH(DE('divFlex'),0);}
	if(cwid == '6'){SH(DE('divNote'),1);}else{SH(DE('divNote'),0);}
	bFlex = DE('flx').checked;
	BuildFields();
	pwid = cwid;
	pst = cst;
}

function BuildFields()
{
	switch (pwid){case '4':case '5':switch (cwid){case '4':case '5':if(!bB){pwid = cwid;return;};break;}break;}
	if (bB){GetSavedValues();}
	bB = false;
	SetIH('divWFields',GetFieldsHTML());
	if ((cwid == '4' || cwid == '5') && bPart == '1'){SetPart();}
	BuildRASC();
	SetCC();
}
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;maxC=6;break;
	        case '2':case '4':case '5':case '6':n = 2;maxC=5;break;
	        default:n = 0;break;
	    }
	var s = true;
	if (cwid == '2' || cwid == '6'){s = false;minA = 1;}else{minA = 0;}
	if (cwid == '2'){maxR = 8;}else{maxR = 3;}
	SetRASC(n,s);
}

function GetFieldsHTML()
{
    var t = '';   
	switch (cwid)
	{
		case '4':case '5':
		    t = GetFields('FHC');
			if (DE('bFfstAB').value == 1)
			{
				bFfst = DE('bFfstDefault').value;
				DE('bFfst').value = bFfst;
				t = t + '<div class="bl1">' + GetCB('ffst','1','Show me flights first',bFfst,'','',' onclick="SetFfst();Rem(this)"','') + '</div>';
			}
			else
			{
			    bFfst = 0;
				DE('bFfst').value = bFfst;			
			}			
	        t = t + '<div class="bl1">' + GetCB('prt','1','I only need a hotel for part of my trip',bPart,'','',' onclick="SetPart();"','') + '</div>';
	        t = t + '<div class="bl1" id="divPart" style="display:none;"></div>';
	        t = t + '<div class="clearer"></div>';
		    break;
		case '6':t = GetFields('HC');break;
		case '7':if(bFlex){t = GetFields('FL');}else{t = GetFields('F');}break;
	}
	return t;
}

function SetFfst()
{
    if(DE('ffst').checked)
    {
        bFfst = '1';
        DE('bFfst').value = '1'
    }
    else
    {
        bFfst = '0';
        DE('bFfst').value = '0'
    }
}

function SetPart()
{
    if(DE('prt').checked)
    {
        bPart = '1';
        DE('bPart').value = '1';
        SH(DE('divPart'),1);
	    SetIH('divPart',GetPartialHTML());
    }
    else
    {
        bPart = '0';
        DE('bPart').value = '0';
        SH(DE('divPart'),0);
    }
}

function GetPartialHTML()
{
    var t = '';
    t = t + '<div class="bl2">When do you need a hotel? (Check-in and check-out dates must be within dates of travel.)</div>';
	t = t + '<div class="bl1">';
	t = t + '<div class="flmed">' + GetGL('pfd','Check-in:') + '<br/>' + GetGI('pfd',PFDate,'','',' onblur="Rem(this);UpdDt(this);" onclick="event.cancelBubble=true;SC(this);" onfocus="SC(this);"','12') + '</div>';
	t = t + '<div class="frmed">' + GetGL('ptd','Check-out:') + '<br/>' + GetGI('ptd',PTDate,'','',' onblur="Rem(this);" onclick="event.cancelBubble=true;SC(this);" onfocus="SC(this);"','12') + '</div>';
	t = t + '</div>';
    return t;
}


function SetST(id)
{
	switch (id)
	{
		case '4':SText = 'Search for flights + hotels';break;
		case '5':SText = 'Search for flights + hotels + cars';break;
		case '6':SText = 'Search for hotels + cars';break;
		case '7':SText = 'Search for flights + cars';break;
	}
	SetSTG();
}

function Rem(el)
{
	RemG(el);
	var n = el.id.substr(3);
	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 'ffst':DE('bFfst').value = el.checked ? '1' : '0';
	}
}

function GetSavedValues()
{
	GetSavedValuesG();
	var v;
	v = DE('PFDate').value;if (v != '') {PFDate = v;}
	v = DE('PTDate').value;if (v != '') {PTDate = v;}
	v = DE('bPart').value;if (v != '') {bPart = v;}
}