<!-- 

var listing_style = "states";

var states = new Array(); 
states["AZ"] = "Arizona";
states["CA"] = "California";
states["CT"] = "Connecticut";
states["DC"] = "District of Columbia";
states["DE"] = "Delaware";
states["FL"] = "Florida";
states["GA"] = "Georgia";
states["IL"] = "Illinois";
states["MA"] = "Massachusetts";
states["MD"] = "Maryland";
states["NC"] = "North Carolina";
states["NJ"] = "New Jersey";
states["NV"] = "Nevada";
states["NY"] = "New York";
states["OH"] = "Ohio";
states["PA"] = "Pennsylvania";
states["SC"] = "South Carolina";
states["VA"] = "Virginia";
states["WA"] = "Washington";
states["BC"] = "British Columbia";
states["BCN"] = "Baja California"; 
 //-->

<!--
var b_cities = new Array('Albany, NY', 'Anaheim, CA', 'Anderson, SC', 'Arlington, VA', 'Atlanta, GA', 'Baltimore, MD', 'Bellingham Airport, WA', 'Bethesda, MD', 'Boston, MA', 'Buffalo, NY', 'Camarillo Outlet, CA', 'Cambridge, MA', 'Capitol Heights, MD', 'Chandler, AZ', 'Charlotte, NC', 'Chicago, IL', 'Cincinnati, OH', 'Clinton, MD', 'Columbia, SC', 'Cupertino, CA', 'Dayton, OH', 'Dover, DE', 'Fairfax, VA', 'Greensboro, NC', 'Greenville, SC', 'Hagerstown, MD', 'Hampton, VA', 'Harrisburg, PA', 'Hartford, CT', 'Hollywood, CA', 'JFK Airport, NY', 'John Wayne Airport, CA', 'King of Prussia, PA', 'Kingston, NY', 'Kissimmee, FL', 'LAX Airport or Hotels, CA', 'LGA Airport, NY', 'Lake Forest, CA', 'Lancaster, PA', 'Las Vegas, NV', 'Liverpool, NY', 'Los Angeles, CA', 'Mebane, NC', 'Miami, FL', 'Mohegan Sun Casino, CT', 'New Haven, CT', 'New York, NY', 'Newport News, VA', 'Norfolk, VA', 'Norwich, CT', 'Oakland, CA', 'Orange, CA', 'Orlando, FL', 'Palm Springs, CA', 'Philadelphia, PA', 'Phoenix, AZ', 'Pittsburgh, PA', 'Raleigh, NC', 'Richmond, VA', 'Rochester, NY', 'Rockville, MD', 'Rosemead, CA', 'San Diego Balboa Park, CA', 'San Diego, CA', 'San Fernando, CA', 'San Francisco, CA', 'San Jose, CA', 'San Leandro, CA', 'San Ysidro, CA', 'Santa Barbara, CA', 'Santa Monica, CA', 'Seattle Airport, WA', 'Seattle, WA', 'Smyrna, DE', 'Spartanburg, SC', 'Springfield, VA', 'State College, PA', 'Syracuse, NY', 'Tempe, AZ', 'Tulalip, WA', 'Turning Stone Casino, NY', 'Tysons Corner, VA', 'Union City, NJ', 'Vancouver, BC', 'Virginia Beach, VA', 'Washington, DC', 'Westminster, CA', 'Wheaton, MD', 'Wilmington, DE', 'Woodbury Outlets, NY', 'York, PA', 'Yosemite, CA');
var g_bus = new Object;
var total_cities = b_cities.length;
for (i=0; i<total_cities; i++)
  g_bus[b_cities[i]] = new Array;

g_bus['Albany, NY'][0] = 'New York, NY';
g_bus['Anaheim, CA'][0] = 'Hollywood, CA';
g_bus['Anaheim, CA'][1] = 'John Wayne Airport, CA';
g_bus['Anaheim, CA'][2] = 'LAX Airport or Hotels, CA';
g_bus['Anaheim, CA'][3] = 'Las Vegas, NV';
g_bus['Anaheim, CA'][4] = 'Los Angeles, CA';
g_bus['Anaheim, CA'][5] = 'San Diego, CA';
g_bus['Anderson, SC'][0] = 'Atlanta, GA';
g_bus['Anderson, SC'][1] = 'Charlotte, NC';
g_bus['Arlington, VA'][0] = 'New York, NY';
g_bus['Atlanta, GA'][0] = 'Anderson, SC';
g_bus['Atlanta, GA'][1] = 'Charlotte, NC';
g_bus['Atlanta, GA'][2] = 'Greenville, SC';
g_bus['Atlanta, GA'][3] = 'New York, NY';
g_bus['Atlanta, GA'][4] = 'Spartanburg, SC';
g_bus['Baltimore, MD'][0] = 'New York, NY';
g_bus['Baltimore, MD'][1] = 'Philadelphia, PA';
g_bus['Bellingham Airport, WA'][0] = 'Vancouver, BC';
g_bus['Bethesda, MD'][0] = 'New York, NY';
g_bus['Boston, MA'][0] = 'Hartford, CT';
g_bus['Boston, MA'][1] = 'Mohegan Sun Casino, CT';
g_bus['Boston, MA'][2] = 'New Haven, CT';
g_bus['Boston, MA'][3] = 'New York, NY';
g_bus['Boston, MA'][4] = 'Philadelphia, PA';
g_bus['Boston, MA'][5] = 'Washington, DC';
g_bus['Buffalo, NY'][0] = 'New York, NY';
g_bus['Camarillo Outlet, CA'][0] = 'Los Angeles, CA';
g_bus['Cambridge, MA'][0] = 'New York, NY';
g_bus['Capitol Heights, MD'][0] = 'Atlantic City, NJ';
g_bus['Chandler, AZ'][0] = 'Los Angeles, CA';
g_bus['Chandler, AZ'][1] = 'Rosemead, CA';
g_bus['Chandler, AZ'][2] = 'Westminster, CA';
g_bus['Charlotte, NC'][0] = 'Anderson, SC';
g_bus['Charlotte, NC'][1] = 'Atlanta, GA';
g_bus['Charlotte, NC'][2] = 'Greenville, SC';
g_bus['Charlotte, NC'][3] = 'New York, NY';
g_bus['Charlotte, NC'][4] = 'Spartanburg, SC';
g_bus['Chicago, IL'][0] = 'New York, NY';
g_bus['Cincinnati, OH'][0] = 'New York, NY';
g_bus['Clinton, MD'][0] = 'Atlantic City, NJ';
g_bus['Columbia, SC'][0] = 'New York, NY';
g_bus['Cupertino, CA'][0] = 'Los Angeles, CA';
g_bus['Dayton, OH'][0] = 'New York, NY';
g_bus['Dover, DE'][0] = 'New York, NY';
g_bus['Fairfax, VA'][0] = 'Atlantic City, NJ';
g_bus['Greensboro, NC'][0] = 'New York, NY';
g_bus['Greenville, SC'][0] = 'Atlanta, GA';
g_bus['Greenville, SC'][1] = 'Charlotte, NC';
g_bus['Hagerstown, MD'][0] = 'New York, NY';
g_bus['Hampton, VA'][0] = 'New York, NY';
g_bus['Harrisburg, PA'][0] = 'New York, NY';
g_bus['Hartford, CT'][0] = 'Boston, MA';
g_bus['Hartford, CT'][1] = 'New York, NY';
g_bus['Hollywood, CA'][0] = 'Anaheim, CA';
g_bus['Hollywood, CA'][1] = 'Las Vegas, NV';
g_bus['Hollywood, CA'][2] = 'San Diego, CA';
g_bus['Hollywood, CA'][3] = 'San Francisco, CA';
g_bus['Hollywood, CA'][4] = 'San Leandro, CA';
g_bus['JFK Airport, NY'][0] = 'New York, NY';
g_bus['John Wayne Airport, CA'][0] = 'Anaheim, CA';
g_bus['King of Prussia, PA'][0] = 'New York, NY';
g_bus['Kingston, NY'][0] = 'New York, NY';
g_bus['Kissimmee, FL'][0] = 'Miami, FL';
g_bus['LAX Airport or Hotels, CA'][0] = 'Anaheim, CA';
g_bus['LAX Airport or Hotels, CA'][1] = 'Las Vegas, NV';
g_bus['LAX Airport or Hotels, CA'][2] = 'San Diego, CA';
g_bus['LGA Airport, NY'][0] = 'New York, NY';
g_bus['Lake Forest, CA'][0] = 'Las Vegas, NV';
g_bus['Lancaster, PA'][0] = 'New York, NY';
g_bus['Las Vegas, NV'][0] = 'Anaheim, CA';
g_bus['Las Vegas, NV'][1] = 'Hollywood, CA';
g_bus['Las Vegas, NV'][2] = 'LAX Airport or Hotels, CA';
g_bus['Las Vegas, NV'][3] = 'Lake Forest, CA';
g_bus['Las Vegas, NV'][4] = 'Los Angeles, CA';
g_bus['Las Vegas, NV'][5] = 'Orange, CA';
g_bus['Las Vegas, NV'][6] = 'San Fernando, CA';
g_bus['Las Vegas, NV'][7] = 'San Ysidro, CA';
g_bus['Las Vegas, NV'][8] = 'Tijuana, BCN';
g_bus['Liverpool, NY'][0] = 'New York, NY';
g_bus['Los Angeles, CA'][0] = 'Anaheim, CA';
g_bus['Los Angeles, CA'][1] = 'Camarillo Outlet, CA';
g_bus['Los Angeles, CA'][2] = 'Chandler, AZ';
g_bus['Los Angeles, CA'][3] = 'Citadel Outlet, CA';
g_bus['Los Angeles, CA'][4] = 'Cupertino, CA';
g_bus['Los Angeles, CA'][5] = 'Desert Hills Outlet, CA';
g_bus['Los Angeles, CA'][6] = 'Disneyland, CA';
g_bus['Los Angeles, CA'][7] = 'Getty Museum, CA';
g_bus['Los Angeles, CA'][8] = 'Knotts Berry Farm, CA';
g_bus['Los Angeles, CA'][9] = 'Las Vegas, NV';
g_bus['Los Angeles, CA'][10] = 'Oakland, CA';
g_bus['Los Angeles, CA'][11] = 'Ontario Mills Outlet, CA';
g_bus['Los Angeles, CA'][12] = 'Palm Springs, CA';
g_bus['Los Angeles, CA'][13] = 'Phoenix, AZ';
g_bus['Los Angeles, CA'][14] = 'Ronald Reagan Museum, CA';
g_bus['Los Angeles, CA'][15] = 'San Diego Balboa Park, CA';
g_bus['Los Angeles, CA'][16] = 'San Diego Zoo, CA';
g_bus['Los Angeles, CA'][17] = 'San Diego, CA';
g_bus['Los Angeles, CA'][18] = 'San Fernando, CA';
g_bus['Los Angeles, CA'][19] = 'San Francisco, CA';
g_bus['Los Angeles, CA'][20] = 'San Jose, CA';
g_bus['Los Angeles, CA'][21] = 'San Leandro, CA';
g_bus['Los Angeles, CA'][22] = 'San Ysidro, CA';
g_bus['Los Angeles, CA'][23] = 'Santa Barbara, CA';
g_bus['Los Angeles, CA'][24] = 'Sea World, CA';
g_bus['Los Angeles, CA'][25] = 'Six Flags Magic Mountain, CA';
g_bus['Los Angeles, CA'][26] = 'Tempe, AZ';
g_bus['Los Angeles, CA'][27] = 'Tijuana, BCN';
g_bus['Mebane, NC'][0] = 'New York, NY';
g_bus['Miami, FL'][0] = 'Kissimmee, FL';
g_bus['Miami, FL'][1] = 'Orlando, FL';
g_bus['Mohegan Sun Casino, CT'][0] = 'New York, NY';
g_bus['New Haven, CT'][0] = 'Boston, MA';
g_bus['New Haven, CT'][1] = 'Philadelphia, PA';
g_bus['New York, NY'][0] = 'Albany, NY';
g_bus['New York, NY'][1] = 'Arlington, VA';
g_bus['New York, NY'][2] = 'Atlanta, GA';
g_bus['New York, NY'][3] = 'Baltimore, MD';
g_bus['New York, NY'][4] = 'Bethesda, MD';
g_bus['New York, NY'][5] = 'Boston, MA';
g_bus['New York, NY'][6] = 'Buffalo, NY';
g_bus['New York, NY'][7] = 'Cambridge, MA';
g_bus['New York, NY'][8] = 'Charlotte, NC';
g_bus['New York, NY'][9] = 'Chicago, IL';
g_bus['New York, NY'][10] = 'Cincinnati, OH';
g_bus['New York, NY'][11] = 'Columbia, SC';
g_bus['New York, NY'][12] = 'Dayton, OH';
g_bus['New York, NY'][13] = 'Dover, DE';
g_bus['New York, NY'][14] = 'Greensboro, NC';
g_bus['New York, NY'][15] = 'Hagerstown, MD';
g_bus['New York, NY'][16] = 'Hampton, VA';
g_bus['New York, NY'][17] = 'Harrisburg, PA';
g_bus['New York, NY'][18] = 'Hartford, CT';
g_bus['New York, NY'][19] = 'JFK Airport, NY';
g_bus['New York, NY'][20] = 'King of Prussia, PA';
g_bus['New York, NY'][21] = 'Kingston, NY';
g_bus['New York, NY'][22] = 'LGA Airport, NY';
g_bus['New York, NY'][23] = 'Lancaster, PA';
g_bus['New York, NY'][24] = 'Liverpool, NY';
g_bus['New York, NY'][25] = 'Mebane, NC';
g_bus['New York, NY'][26] = 'Mohegan Sun Casino, CT';
g_bus['New York, NY'][27] = 'Newport News, VA';
g_bus['New York, NY'][28] = 'Norfolk, VA';
g_bus['New York, NY'][29] = 'Norwich, CT';
g_bus['New York, NY'][30] = 'Philadelphia, PA';
g_bus['New York, NY'][31] = 'Pittsburgh, PA';
g_bus['New York, NY'][32] = 'Raleigh, NC';
g_bus['New York, NY'][33] = 'Richmond, VA';
g_bus['New York, NY'][34] = 'Rochester, NY';
g_bus['New York, NY'][35] = 'Rockville, MD';
g_bus['New York, NY'][36] = 'Smyrna, DE';
g_bus['New York, NY'][37] = 'State College, PA';
g_bus['New York, NY'][38] = 'Syracuse, NY';
g_bus['New York, NY'][39] = 'Turning Stone Casino, NY';
g_bus['New York, NY'][40] = 'Virginia Beach, VA';
g_bus['New York, NY'][41] = 'Washington, DC';
g_bus['New York, NY'][42] = 'Wilmington, DE';
g_bus['New York, NY'][43] = 'Woodbury Outlets, NY';
g_bus['New York, NY'][44] = 'York, PA';
g_bus['Newport News, VA'][0] = 'New York, NY';
g_bus['Norfolk, VA'][0] = 'New York, NY';
g_bus['Norwich, CT'][0] = 'New York, NY';
g_bus['Oakland, CA'][0] = 'Los Angeles, CA';
g_bus['Orange, CA'][0] = 'Las Vegas, NV';
g_bus['Orlando, FL'][0] = 'Miami, FL';
g_bus['Palm Springs, CA'][0] = 'Los Angeles, CA';
g_bus['Philadelphia, PA'][0] = 'Baltimore, MD';
g_bus['Philadelphia, PA'][1] = 'Boston, MA';
g_bus['Philadelphia, PA'][2] = 'New Haven, CT';
g_bus['Philadelphia, PA'][3] = 'New York, NY';
g_bus['Philadelphia, PA'][4] = 'Richmond, VA';
g_bus['Philadelphia, PA'][5] = 'Washington, DC';
g_bus['Phoenix, AZ'][0] = 'Los Angeles, CA';
g_bus['Phoenix, AZ'][1] = 'Rosemead, CA';
g_bus['Phoenix, AZ'][2] = 'Westminster, CA';
g_bus['Pittsburgh, PA'][0] = 'New York, NY';
g_bus['Raleigh, NC'][0] = 'New York, NY';
g_bus['Richmond, VA'][0] = 'New York, NY';
g_bus['Richmond, VA'][1] = 'Philadelphia, PA';
g_bus['Richmond, VA'][2] = 'Washington, DC';
g_bus['Rochester, NY'][0] = 'New York, NY';
g_bus['Rockville, MD'][0] = 'New York, NY';
g_bus['Rosemead, CA'][0] = 'Chandler, AZ';
g_bus['Rosemead, CA'][1] = 'Phoenix, AZ';
g_bus['Rosemead, CA'][2] = 'Tempe, AZ';
g_bus['San Diego Balboa Park, CA'][0] = 'Los Angeles, CA';
g_bus['San Diego, CA'][0] = 'Anaheim, CA';
g_bus['San Diego, CA'][1] = 'Hollywood, CA';
g_bus['San Diego, CA'][2] = 'LAX Airport or Hotels, CA';
g_bus['San Diego, CA'][3] = 'Los Angeles, CA';
g_bus['San Fernando, CA'][0] = 'Las Vegas, NV';
g_bus['San Fernando, CA'][1] = 'Los Angeles, CA';
g_bus['San Francisco, CA'][0] = 'Hollywood, CA';
g_bus['San Francisco, CA'][1] = 'Los Angeles, CA';
g_bus['San Francisco, CA'][2] = 'Santa Monica, CA';
g_bus['San Francisco, CA'][3] = 'Yosemite, CA';
g_bus['San Jose, CA'][0] = 'Los Angeles, CA';
g_bus['San Leandro, CA'][0] = 'Hollywood, CA';
g_bus['San Leandro, CA'][1] = 'Los Angeles, CA';
g_bus['San Leandro, CA'][2] = 'Santa Monica, CA';
g_bus['San Ysidro, CA'][0] = 'Las Vegas, NV';
g_bus['Santa Barbara, CA'][0] = 'Los Angeles, CA';
g_bus['Santa Monica, CA'][0] = 'San Francisco, CA';
g_bus['Santa Monica, CA'][1] = 'San Leandro, CA';
g_bus['Seattle Airport, WA'][0] = 'Vancouver, BC';
g_bus['Seattle, WA'][0] = 'Vancouver, BC';
g_bus['Smyrna, DE'][0] = 'New York, NY';
g_bus['Spartanburg, SC'][0] = 'Atlanta, GA';
g_bus['Spartanburg, SC'][1] = 'Charlotte, NC';
g_bus['Springfield, VA'][0] = 'Atlantic City, NJ';
g_bus['State College, PA'][0] = 'New York, NY';
g_bus['Syracuse, NY'][0] = 'New York, NY';
g_bus['Tempe, AZ'][0] = 'Los Angeles, CA';
g_bus['Tempe, AZ'][1] = 'Rosemead, CA';
g_bus['Tempe, AZ'][2] = 'Westminster, CA';
g_bus['Tulalip, WA'][0] = 'Vancouver, BC';
g_bus['Turning Stone Casino, NY'][0] = 'New York, NY';
g_bus['Tysons Corner, VA'][0] = 'Atlantic City, NJ';
g_bus['Union City, NJ'][0] = 'Washington, DC';
g_bus['Vancouver, BC'][0] = 'Bellingham Airport, WA';
g_bus['Vancouver, BC'][1] = 'Seattle Airport, WA';
g_bus['Vancouver, BC'][2] = 'Seattle, WA';
g_bus['Vancouver, BC'][3] = 'Tulalip, WA';
g_bus['Virginia Beach, VA'][0] = 'New York, NY';
g_bus['Washington, DC'][0] = 'Atlantic City, NJ';
g_bus['Washington, DC'][1] = 'Boston, MA';
g_bus['Washington, DC'][2] = 'New York, NY';
g_bus['Washington, DC'][3] = 'Norfolk, VA';
g_bus['Washington, DC'][4] = 'Philadelphia, PA';
g_bus['Washington, DC'][5] = 'Richmond, VA';
g_bus['Washington, DC'][6] = 'Union City, NJ';
g_bus['Washington, DC'][7] = 'Virginia Beach, VA';
g_bus['Washington, DC'][8] = 'Wilmington, DE';
g_bus['Westminster, CA'][0] = 'Chandler, AZ';
g_bus['Westminster, CA'][1] = 'Phoenix, AZ';
g_bus['Westminster, CA'][2] = 'Tempe, AZ';
g_bus['Wheaton, MD'][0] = 'Atlantic City, NJ';
g_bus['Wilmington, DE'][0] = 'New York, NY';
g_bus['Wilmington, DE'][1] = 'Washington, DC';
g_bus['Woodbury Outlets, NY'][0] = 'New York, NY';
g_bus['York, PA'][0] = 'New York, NY';
g_bus['Yosemite, CA'][0] = 'San Francisco, CA';
///////////// function
function update_bus_from()
{
	var bf_obj = get_bus_from_obj();
	while(bf_obj.hasChildNodes())
	{
		bf_obj.removeChild(bf_obj.lastChild);

	}
	bf_obj.options[0] = new Option("Departure City","");
	if(listing_style == 'states')
	{
		bus_listing_states(bf_obj);
	}
	else
	{
		//document.getElementById("listing_style").checked = false;
		bus_listing_cityes(bf_obj);
	}
}

function bus_listing_cityes(bf_obj)
{
	for (var i=0; i<b_cities.length; i++)
	{
		var j = i+1;
		bf_obj.options[j] = new Option(b_cities[i], b_cities[i]);
	}
}

function bus_listing_states(bf_obj)
{
	var opg_arr = new Array();
	for (var opg in states )
	{
		opg_arr[opg] = document.createElement("optgroup");
		opg_arr[opg].label = states[opg];
	}
	for (var i=0; i<b_cities.length; i++)
	{
		var j = i+1;
		var o = document.createElement("option");
		var arr = b_cities[i].split(/,\s+/);
		o.value = b_cities[i];
		o.innerHTML = arr[0];
		var short_state = arr[1];
		if(opg_arr[short_state])
			opg_arr[short_state].appendChild(o);

	}
	for(var opg in opg_arr) {
		opg_arr[opg].label = states[opg];
		if(opg_arr[opg].hasChildNodes())
			bf_obj.appendChild(opg_arr[opg]);
	}
}

function change_r_date(d)
{
    if (document.bus_search)
    {
		if (document.bus_search.b_roundtrip.checked == false)
		{
			document.bus_search.return_date.value = '';
		}
		else
		{
			if (d == "")
			{
				d = "N/A";
			}
			var f_count = document.forms.length;
			for (var i=0; i<f_count; ++i)
			{
				if (document.forms[i].r_date)
				{
					document.forms[i].r_date.value = d;
				}
			}
		}
    }
}

function change_passengers(n)
{
    if (document.bus_search)
    {
        var f_count = document.forms.length;
        for (var i=0; i<f_count; ++i)
        {
            if (document.forms[i].vol)
            {
                document.forms[i].vol.value = n;
            }
        }
    }
}

function select_oneway(no_update)
{
	if (document.bus_search)
	{
		document.bus_search.return_date.value = '';
		conditional_update();
	}
}

function select_roundtrip(d)
{
	if (document.bus_search)
	{
		var rd_obj = document.bus_search.return_date;
		if (d == null)
		{
			d = document.bus_search.filter_date.value;
			var darray = d.split("-");
			var start_d = new Date(darray[0], darray[1]-1, darray[2]);
			var r_d = new Date(start_d.valueOf() + 172800000);
			var m = r_d.getMonth() + 1;
			if (m < 10)
			{
				m = "0" + m;
			}
			var dt = r_d.getDate();
			if (dt < 10)
			{
				dt = "0" + dt;
			}
			rd_obj.value = r_d.getFullYear() + '-' + m + '-' + dt;
		}
		conditional_update();
	}
}

function enable_roundtrip()
{
        if (document.bus_search)
        {
                document.bus_search.b_roundtrip.checked = true;
                var t_obj = document.getElementById("timeList");
                if (t_obj && t_obj.innerHTML != "")
                {
                        t_obj.innerHTML = "";
                }
                br_cal.select(document.bus_search.return_date,'br_date','yyyy-MM-dd');
        }
}

function select_preset()
{
	if (document.bus_search && document.bus_search.sbus_from)
	{
		document.bus_search.sbus_from.disabled = true;
		document.bus_search.sbus_to.disabled = true;
		document.bus_search.bus_from.disabled = false;
		document.bus_search.bus_to.disabled = false;
	}
}

function select_search()
{
    if (document.bus_search && document.bus_search.sbus_from)
    {
		document.bus_search.sbus_from.disabled = false;
		document.bus_search.sbus_to.disabled = false;
		document.bus_search.bus_from.disabled = true;
		document.bus_search.bus_to.disabled = true;
	}
}
///////////////////////////// list by states //////////

function list_by_states(f) {

	var bt_obj = get_bus_to_obj();
	var f_states = new Array();
	var opg_arr = new Array();

	for (var i=0; i<g_bus[f].length; i++)
	{

		var citys_arr = g_bus[f][i].split(/,\s+/);
		citys_arr.push(g_bus[f][i]);
		opg_arr.push(citys_arr);
		if( f_states.toString().indexOf(citys_arr[1])<0 ){

			f_states.push(citys_arr[1]);
		}

	}

	var opg_obj = new Array();

	for(var st in states ) {

		if(f_states.toString().indexOf(st) > -1){


			var opt = document.createElement("optgroup");

			for(var j=0; j<opg_arr.length; j++) {

				var o = document.createElement("option");
				o.value = opg_arr[j][2];

				o.innerHTML = opg_arr[j][0];

				if(st == opg_arr[j][1]) {

					opt.label = states[st];

					opt.appendChild(o);
				}
			}
			opg_obj.push(opt);

		}
	}

	for(var opg in opg_obj) {

		if(opg_obj[opg].hasChildNodes())
			bt_obj.appendChild(opg_obj[opg]);

	}
}

//////////////////////////////////// list_by_cities
function list_by_cities(f) {

		var bt_obj = get_bus_to_obj();

	if (f)
		{

		for (var i=0; i<g_bus[f].length; i++)
		{
			var j = i+1;
        	bt_obj.options[j] = new Option(g_bus[f][i], g_bus[f][i]);
	}
	}

}

function update_bus_to(f)
{
	var bt_obj = get_bus_to_obj();

	while(bt_obj.hasChildNodes())
	{
		bt_obj.removeChild(bt_obj.lastChild);

	}
	var op = document.createElement("option");
	op.value = "";
	op.style.color = '#555555';
	op.innerHTML = "Arrival City";

	bt_obj.appendChild(op);
	if (f)
    {
		if(g_bus[f].length >10 && listing_style == 'states')
		{
			list_by_states(f);
		}
		else
		{
			list_by_cities(f);
        }
	}
	conditional_clear();
}

function get_bus_from_obj()
{
	return window.document.bus_search.bus_from;
}

function get_sbus_from_obj()
{
       	return window.document.bus_search.sbus_from;
}

function get_bus_to_obj()
{
	return window.document.bus_search.bus_to;
}

function get_sbus_to_obj()
{
	return window.document.bus_search.sbus_to;
}

function set_selected(obj, v)
{
    for (var i=0; i<obj.options.length; i++)
    {
        if (obj.options[i].value == v)
        {
            obj.options.selectedIndex = i;
            return i;
        }
    }
    return -1;
}

function update_bus_from_to(f, t)
{
    var bf_obj = get_bus_from_obj();
    var index = 0;
    var sbus_from = document.getElementById("sbus_from_id");
    var sbus_to = document.getElementById("sbus_to_id");
    if (f)
    {
		if (g_bus[f] instanceof Array )
		{
			index = set_selected(bf_obj, f);
			if (sbus_from != null)
			{
				sbus_from.value = bf_obj.options[index].value;
			}
		}
    }
    else
    {
		index = bf_obj.selectedIndex;
		if (index > 0)
		{
			f = bf_obj.options[index].value;
		}
    }
    if (t)
    {
		if (g_bus[f] instanceof Array)
		{
			update_bus_to(f);
			var bt_obj = get_bus_to_obj();
			index = set_selected(bt_obj, t);
			if (index > -1 &&  sbus_to != null)
			{
				sbus_to.value = bt_obj.options[index].value;
			}
    	}
    }
    else if (index > 0)
    {
       	update_bus_to(f);
    }
    return 0;
}

function jump_or_clear()
{
    var bf_obj = get_bus_from_obj();
    var bt_obj = get_bus_to_obj();
    var fv = bf_obj.options[bf_obj.selectedIndex].value;
    var tv = bt_obj.options[bt_obj.selectedIndex].value;
    if (fv == "Los Angeles, CA")
    {
    	if (tv == "Six Flags Magic Mountain, CA")
    	{
    		return ga("http://www.gotobus.com/cs/c1379/shuttleservice/latosixflagsmagicmountainroundtripshuttlebus.html");
    	}
    	if (tv == "Disneyland, CA")
    	{
    		return ga("http://www.gotobus.com/cs/c1379/shuttleservice/latodisneylandroundtripshuttlebus.html");
    	}	
    	if (tv == "Knott's Berry Farm, CA")
    	{
    		return ga("http://www.gotobus.com/cs/c1379/shuttleservice/latoknott_sberryfarmroundtripshuttlebus.html");
    	}	
    	if (tv == "Ontario Mills Outlet, CA")
    	{
    		return ga("http://www.gotobus.com/cs/c1379/shuttleservice/latoontariomillsoutletroundtripshuttlebus.html");
    	}	
    	if (tv == "Desert Hills Outlet, CA")
    	{
    		return ga("http://www.gotobus.com/cs/c1379/shuttleservice/latodeserthillsoutletroundtripshuttlebus.html");
    	}	
    	if (tv == "Citadel Outlet, CA")
    	{
    		return ga("http://www.gotobus.com/cs/c1379/shuttleservice/latocitadeloutletroundtripshuttlebus.html");
    	}	
    	if (tv == "Ronald Reagan Museum, CA")
    	{
    		return ga("http://www.gotobus.com/cs/c1379/shuttleservice/latoronaldreaganmuseumroundtripshuttlebus.html");
    	}	
    	if (tv == "Getty Museum, CA")
    	{
    		return ga("http://www.gotobus.com/cs/c1379/shuttleservice/latogettymuseumroundtripshuttlebus.html");
    	}	
    	if (tv == "Sea World, CA")
    	{
    		return ga("http://www.gotobus.com/cs/c1379/shuttleservice/latoseaworldroundtripshuttlebus.html");
    	}	
    	if (tv == "San Diego Zoo, CA")
    	{
    		return ga("http://www.gotobus.com/cs/c1379/shuttleservice/latosandiegozooroundtripshuttlebus.html");
    	}	
    }
    if (tv == "Turning Stone Casino, NY")
    {
        if (fv == "Albany, NY")
        {
            return ga("http://www.gotobus.com/cs/c1259/albanytoturningstonecasino/");
        }

    }
    if (tv == "Mohegan Sun Casino, CT")
    {
        if (fv == "Boston, MA")
        {
            return ga("http://www.gotobus.com/sunshine/boston_mohegansuntour/");
        }
    }
    else if (tv == "Atlantic City, NJ")
    {
        if (fv == "Newark, DE" || fv == "Wilmington, DE" || fv == "New Castle, DE")
        {
            return ga("http://www.gotobus.com/creativetravel/");
        }
        if (fv == "Washington, DC" || fv == "Fairfax, VA" || fv == "Springfield, VA" || fv == "Wheaton, MD" || fv == "Bethesda, MD")
        {
            return ga("http://www.gotobus.com/rexbus/daytriptotajmahalatlanticcity/");
        }
	if (fv == "Capitol Heights, MD" || fv == "Clinton, MD" || fv == "Tysons Corner, VA")
        {
            return ga("http://www.gotobus.com/rexbus/daytriptotajmahalatlanticcity/daytriptotajmahalatlanticcity.html");
        }
    }
    else if (tv == "Reno, NV")
    {
        if (fv == "San Francisco, CA")
        {
            return ga("http://www.gotobus.com/usasia/sanfrancisco___reno/");
        }
    }
    else if (fv == "San Diego, CA")
    {
        if (tv == "Viejas Casino, CA" || tv == "Sycuan Casino, CA")
        {
            return ga("http://www.gotobus.com/sunfuntours/");
        }
    }
    else if (tv == "Foxwoods Casino, CT")
    {
		return ga("http://www.gotobus.com/shortline/citytour/foxwoodsresortandcasino1_daytour.html");
    }
    else if (tv == "Philadelphia Park Casino, PA" || tv == "Philly Park Casino, PA")    {
        return ga("http://www.gotobus.com/skybus/philadelphiaparkcasinotour/");
    }
    conditional_clear();
}

function conditional_clear()
{
	var t_obj = document.getElementById("timeList");
	if (t_obj)
	{
	    t_obj.innerHTML = "";
	}
}

function get_departure_date()
{
	return document.bus_search.filter_date;
}

function get_return_date()
{
	return document.bus_search.return_date;
}

function check_bus_data()
{
	if (document.bus_search.option.value == "Select")
	{
		if (document.bus_search.bus_from.value == "")
		{
			alert("Please select a valid Departure City!");
			document.bus_search.bus_from.focus();
			return false;
		}
		if (document.bus_search.bus_to.value == "")
		{
			alert("Please select a valid Arrival City!");
			document.bus_search.bus_to.focus();
			return false;
		}
	}
	else if (document.bus_search.option.value == "Search")
	{
		if (document.bus_search.sbus_from.value == "")
		{
			alert("Please enter a valid Departure City!");
			document.bus_search.sbus_from.focus();
			return false;
		}
		if (document.bus_search.sbus_to.value == "")
		{
			document.bus_search.sbus_to.focus();
			alert("Please enter a valid Arrival City!");
			return false;
		}
	}
    if (document.bus_search.filter_date.value == "")
    {
        alert("Please select a valid Departure Date!");
        document.bus_search.filter_date.focus();
        return false;
    }
    if (document.bus_search.b_roundtrip.checked == true && document.bus_search.return_date.value == "")
    {
        alert("Please select a valid Return Date!");
        document.bus_search.return_date.focus();
        return false;
    }
	return true;
}

function pickdaterange()
{
    var dateObj = document.getElementById("beforethisdate");
    var dateFilter = dateObj.options[dateObj.selectedIndex].value;
    if (document.bus_search && document.bus_search.filter_date)
    {
        document.bus_search.filter_date.value = dateFilter;
    }
    server_update();
    window.document.getElementById("beforethisdate").focus();
}

function conditional_update()
{
	var t_obj = document.getElementById("timeList");
	if (t_obj && t_obj.innerHTML != "")
	{
		server_update();
	}
}

function server_update()
{
	var from;
	var to;
	var vfrom;
	var vto;
	var vopt;
	var bss_id='';
	if (document.bus_search.option && document.bus_search.option.value == "Hidden")
	{
		from = document.bus_search.bus_from.value;
		to   = document.bus_search.bus_to.value;
		vopt = "option=Hidden";
        vfrom = "&bus_from=";
        vto = "&bus_to=";
	}
	else if (document.bus_search.option.value == "Select")
	{
		var bus_from_obj = get_bus_from_obj();
		if (bus_from_obj && bus_from_obj.value != "")
		{
			from = bus_from_obj.value;
		}
		else
		{
			conditional_clear();
			return;
		}
   		var bus_to_obj = get_bus_to_obj();
		if (bus_to_obj && bus_to_obj.value)
		{
			to = bus_to_obj.value;
		}
		else
		{
			conditional_clear();
			return;
		}
        vfrom = "&bus_from=";
        vto = "&bus_to=";
        vopt = "option=Select";
	}
	else
	{
		from = document.bus_search.sbus_from.value;
		to   = document.bus_search.sbus_to.value;
        vfrom = "&sbus_from=";
        vto = "&sbus_to=";
        vopt = "option=Search";
	}
	var date_obj = window.document.bus_search.filter_date;
	var date = "";
	if (date_obj)
	{
		date = date_obj.value;
	}
	else
	{
		date_obj = window.document.getElementById("beforethisdate");
		if (date_obj)
		{
            date = date_obj.value;
		}
    }
	var depart_bss = window.document.getElementById("depart_bss_id");
    if (depart_bss && depart_bss.value)
	{
        bss_id = "&depart_bss=" + depart_bss.value;
	}
	var arrival_bss = window.document.getElementById("arrival_bss_id");
    if (arrival_bss && arrival_bss.value)
	{
        bss_id = bss_id + "&arrival_bss=" + arrival_bss.value;
	}
	var keep_scale_param = ''
	var depart_scale_obj = window.document.getElementById("depart_bss_scale");
	if (depart_scale_obj && depart_scale_obj.value)
	{
		keep_scale_param = "&depart_scale=" + depart_scale_obj.value;
	}
	var depart_center_obj = window.document.getElementById("depart_bss_center");
	if (depart_center_obj && depart_center_obj.value)
	{
		keep_scale_param = keep_scale_param + "&depart_center=" + depart_center_obj.value;
	}
	var arrival_scale_obj = window.document.getElementById("arrival_bss_scale");
	if (arrival_scale_obj && arrival_scale_obj.value)
	{
		keep_scale_param = keep_scale_param + "&arrival_scale=" + arrival_scale_obj.value;
	}
	var arrival_center_obj = window.document.getElementById("arrival_bss_center");
	if (arrival_center_obj && arrival_center_obj.value)
	{
		keep_scale_param = keep_scale_param + "&arrival_center=" + arrival_center_obj.value;
	}
	var price_param='';
	if (typeof(price) != 'undefined')
	{
		var min_price_temp = 0;
		if (document.bus_search && document.bus_search.min_price)
		{
			min_price_temp = parseInt(document.bus_search.min_price.value);
		}
		if (document.bus_search && document.bus_search.left_point)
		{
			price_param = "&left_point=" + price.getSldPoint();
		}
		if (document.bus_search && document.bus_search.right_point)
		{
			price_param = price_param + "&right_point=" + price.getSldRightPoint();
		}
		if (document.bus_search && document.bus_search.max_price)
		{
			var temp_price_int = parseInt(price.getSldRightPoint()) + min_price_temp;
			price_param = price_param + "&max_price=" + temp_price_int;
		}
		if (document.bus_search && document.bus_search.lowest_price)
		{
			var temp_price_int = parseInt(price.getSldPoint()) + min_price_temp;
			price_param = price_param + "&lowest_price=" + temp_price_int;
		}
	}
	var time_param='';
	if (typeof(time_obj) != 'undefined')
	{
		if (document.bus_search && document.bus_search.time_left)
		{
			time_param = "&time_left=" + time_obj.getSldPoint();
		}
		if (document.bus_search && document.bus_search.time_right)
		{
			time_param = time_param + "&time_right=" + time_obj.getSldRightPoint();
		}		
	}
	var op_url = "";
//	if(flag == 0) commented by Jimmy Oct 16, 2009
	var operator_obj = window.document.getElementById("operatorList");
	if (operator_obj && operator_obj.value != "")
	{
		op_url = "&operator=" + operator_obj.value;
	}	
	var q_url = "";
	if (window.document.bus_search.quantity && window.document.bus_search.quantity.value > 1)
	{
		var quantity = window.document.bus_search.quantity.value;
		q_url = "&quantity=" + quantity;
	}
	var rt_url = "";
	var return_url = "";
	var roundtrip = -1;
	if (window.document.bus_search.roundtrip)
	{
	    if (document.bus_search.roundtrip[1].checked == true)
	    {
		roundtrip = 1;
	    }
	    else
	    {
	        roundtrip = 0;
	    }
        }
        if (document.bus_search.option && document.bus_search.option.value != "Hidden")
	{
            var return_obj = window.document.bus_search.return_date;
            if (return_obj)
            {
                var return_date = return_obj.value;
                return_url = "&return_date=" + return_date;
	    }
	    if (roundtrip < 0)
	    {
	       roundtrip = 1;
	    }
	}
	else
	{
	    roundtrip = 0;
	}
	rt_url = "&roundtrip=" + roundtrip;
        var nm_url = "";
        if (window.document.bus_search.nm && window.document.bus_search.nm.value != '')
        {
                var nm = window.document.bus_search.nm.value;
                nm_url = "&nm=" + nm;
        }
        var st_url = "";
        if (window.document.bus_search.st && window.document.bus_search.st.value != '')
        {
                var st = window.document.bus_search.st.value;
                st_url = "&st=" + st;
        }
    var selected_url = "&s_pid=" + document.getElementById("pid").value;
    if(document.getElementById("b_roundtrip").checked ==true)
    {

    	var pid_return_obj = document.getElementById("pid_return");
    	if (pid_return_obj != null)
    	{
    	 	selected_url = selected_url + "&s_return_pid=" + document.getElementById("pid_return").value;
    	}
    }
    ga("/cgi-bin/bus.cgi?" + vopt + vfrom + from + vto + to + "&filter_date=" + date + op_url + q_url + rt_url + return_url + nm_url + st_url+selected_url+price_param+bss_id+keep_scale_param+time_param);
}

function assignOperator(operator)
{
    var operatorObj = window.document.getElementById("operatorList");
	for (var i=0; i<operatorObj.options.length; i++)
	{
		if (operatorObj.options[i].value == operator)
        {
	        operatorObj.options[i].selected = true;
		    operatorFilter = operator;
		}
		else
		{
			operatorObj.options[i].selected = false;
		}
	}
	server_update();
}

function reverse_from_to()
{
    var option_obj = document.bus_search.option;
    if (option_obj)
    {
		var to   = document.bus_search.bus_from.value;
		var from = document.bus_search.bus_to.value;
		if (from)
		{
			update_bus_from_to(from, to);
			conditional_clear();
		}
	}
}

function copy_select_to_search()
{
    var f_obj = document.bus_search.bus_from;
    var t_obj = document.bus_search.bus_to;
    var sf_obj = document.bus_search.sbus_from;
    var st_obj = document.bus_search.sbus_to;
    if (t_obj.selectedIndex > 0)
    {
        st_obj.value = t_obj.options[t_obj.selectedIndex].value;
    }
    else
    {
    	st_obj.value = "Arrival City";
    }

    if (f_obj.selectedIndex > 0)
    {
        sf_obj.value = f_obj.options[f_obj.selectedIndex].value;
    }
    else
    {
    	sf_obj.value = "Departure City";
    }
}

function copy_search_to_select()
{
    var sf_obj = document.bus_search.sbus_from;
    var st_obj = document.bus_search.sbus_to;
    update_bus_from_to(sf_obj.value, st_obj.value);
}

function bus_where_switch()
{
    var option_obj = document.bus_search.option;
    if (option_obj)
    {
        conditional_clear();
        var select = document.getElementById("select_where");
        var search = document.getElementById("search_where");
        if (option_obj.value == "Select")
        {
            option_obj.value = "Search";
	    if (select && search)
            {
                select.className = "ivyDivHidden";
                search.className = "ivyDivShow";
            }
            copy_select_to_search();
            document.getElementById("bus_choice_switch").innerHTML = "Switch to Select";
        }
        else
        {
            option_obj.value = "Select";
            if (select && search)
            {
                select.className = "ivyDivShow";
                search.className = "ivyDivHidden";
            }
            copy_search_to_select();
            document.getElementById("bus_choice_switch").innerHTML = "Switch to Text";
        }
    }
}

function bus_departure_date_clicked(y,m,d)
{
	if (m < 10) m = '0' + m;
	if (d < 10) d = '0' + d;
	document.bus_search.filter_date.value = y + '-' + m + '-' + d;
	conditional_update();
}

function fast_day_select(day,isdepart)
{
	if (document.bus_search && document.bus_search.filter_date)
    {
    	if (isdepart)
    	{
        	document.bus_search.filter_date.value = day;
        }
        else
    	{
    		document.bus_search.return_date.value = day;    		
    	}
    	document.getElementById("bus_search").submit();
    }
}

function bus_return_date_clicked(y,m,d)
{
        if (m < 10) m = '0' + m;
        if (d < 10) d = '0' + d;
        document.bus_search.return_date.value = y + '-' + m + '-' + d;
        conditional_update();
}

function validate_form_selections(f)
{
    for (var i=0, j=f.elements.length; i<j; i++)
    {
        var t = f.elements[i].type;
        if (t.match(/select/))
		{
		    if (f.elements[i].value == '')
			{
				alert("Please Select " + f.elements[i].name + "!");
                f.elements[i].focus();
				return false;
			}
        }
    }
    if (f.Date != null && f.Date.value == '')
    {
        alert("Please select a valid Date!");
        return false;
    }
    if (f.time != null && f.time.value < 1.01)
    {
        return confirm("Important: It is a new date after passing 12:00am.\nYou have selected a very early schedule on " + f.Date.value + ".  Please confirm.");
    }
}

function check_oneway_image()
{
	if (document.getElementById('b_oneway').checked == true)
	{
		rd_popup.showPopup('r_text_date');
	}
	else
	{
		br_cal.select(document.bus_search.return_date,'br_date','yyyy-MM-dd');
	}
}

function check_oneway_text()
{
	if (document.getElementById('b_oneway').checked == true)
	{
		rd_popup.showPopup('r_text_date');
	}
}


function select_operator(operator)
{
	var old_index = document.getElementById("operatorList").selectedIndex;
	if (document.getElementById("b_roundtrip").checked)
	{
		select_operator_change(operator)
		if (document.getElementById("operatorList").selectedIndex != old_index)
		{
			server_update();
		}
	}
}

function select_operator_change(operator)
{
	var obj_operatorlist = document.getElementById("operatorList");
	for(var i=0;i<obj_operatorlist.length-1;i++)
	{
		if (obj_operatorlist.options[i].value == operator)
		{
			obj_operatorlist.selectedIndex =i;
			if(operator == "")
			{
				document.getElementById("pid").value = "";
			}
		}
	}
	if (document.getElementById("b_roundtrip").checked)
	{
		var obj_operatorlist_return = document.getElementById("operatorList_return");
		if (obj_operatorlist_return !=null)
		{
			for(var j=0;j<obj_operatorlist_return.length-1;j++)
			{
				if (obj_operatorlist_return.options[j].value == operator)
				{
					obj_operatorlist_return.selectedIndex =j;
					if(operator == "")
					{
						document.getElementById("pid_return").value = "";
					}
				}
			}
		}
	}

}


function set_hidden_value(return_spec,pid)
{
	document.getElementById("Date" + return_spec).value = document.getElementById('date'+pid).value;
	var time = document.getElementById("time"+ pid).value;
	var operator = document.getElementById("operator" + pid).value;
	var obj_pid = document.getElementById("pid" + return_spec);
	var obj_time =document.getElementById("time" + return_spec);

	var discount_obj = document.getElementById("Discount" + return_spec);
	var depart_obj = document.getElementById("Departure_form" + return_spec);
	var current_vol_obj = document.getElementById("vol" + return_spec + pid);
	var arrival_obj = document.getElementById("Arrival_form" + return_spec);
	var vol_obj = document.getElementById("vol" + return_spec);

	var departure_value;
	var discount_value;
	var arrival_value;
	var dd_arrival_value;
	var dd_departure_value;
	var has_operator;

	var arrival_pid_obj = document.getElementById('Arrival' + return_spec + pid);
	var departure_pid_obj = document.getElementById('Departure' + return_spec + pid);
	var discount_pid_obj = document.getElementById('Discount' + return_spec + pid);
	var operatorList_obj = document.getElementById("operatorList"  + return_spec);
	var dd_arrival_obj = document.getElementById("dd" + pid + "_Arrival");
	var dd_depart_obj = document.getElementById("dd" + pid + "_Departure");
        var st_obj = document.getElementById("st");

	if (arrival_pid_obj != null  )
	{
		arrival_value = arrival_pid_obj.value;
	}

	if (departure_pid_obj != null  )
	{
		departure_value = departure_pid_obj.value;
	}

	if (discount_pid_obj != null  )
	{
		discount_value = discount_pid_obj.value;
	}

	if (operatorList_obj != null && st_obj.value < 1)
	{
		has_operator = "true";
	}

	if (dd_arrival_obj != null  )
	{
		dd_arrival_value = dd_arrival_obj.value;
	}

	if (dd_depart_obj != null  )
	{
		dd_departure_value = dd_depart_obj.value;
	}

	depart_obj.value = departure_value;
	discount_obj.value = discount_value;
	arrival_obj.value = arrival_value;
	if (dd_arrival_value)
	{
		arrival_obj.value = dd_arrival_value ;
	}
	if(dd_departure_value)
	{
		depart_obj.value = dd_departure_value;
	}
	obj_pid.value = pid;
	obj_time.value = time;
	vol_obj.value = current_vol_obj.value;
 	if ( has_operator )
	{
		select_operator(operator);
	}
}

function obj_value_change(value,current_pid,return_spec,operator)
{
	var pid_obj = document.getElementById("pid"+return_spec);
	var selected_pid = pid_obj.value;
	if (selected_pid =="" || current_pid != selected_pid)
	{
		document.getElementById("radselect" + return_spec + current_pid).checked =true;
		pid_obj.value = current_pid;
		var operatorList_obj = document.getElementById("operatorList"  + return_spec);
		if (operatorList_obj !=null)
		{
			select_operator(operator);
		}
	}
	set_hidden_value(return_spec,current_pid)
}


function validate_form()
{
	var pid = document.getElementById("pid").value;

	if(pid=="")
	{
		alert("Please select a departure schedule.");
		return false;
	}
	var depart_obj = document.getElementById('Departure_form');
	if (depart_obj.value =="")
	{
		alert("Please select a departure point from the drop down menu.");
		document.getElementById('Departure' + pid).focus();
		return false;
	}
	var arrival_obj = document.getElementById('Arrival' + pid);
	var departure_obj = document.getElementById('Departure' + pid);
	var discount_obj = document.getElementById('Discount' + pid);
	var ddl_arrival_obj = document.getElementById('dd' + pid + '_Arrival');
	var ddl_departure_obj = document.getElementById('dd' + pid + '_Departure');



	if (departure_obj != null  )
	{
		if (departure_obj.value =='')
		{
			alert("Please select a departure point from the drop down menu.");
        	departure_obj.focus();
			return false;
		}
	}

	if (ddl_departure_obj != null)
	{
		if (ddl_departure_obj.value =='')
		{
			alert("Please select a departure point from the drop down menu.");
        	ddl_departure_obj.focus();
			return false;
		}
		else
		{
			document.getElementById("Departure_form").value = ddl_departure_obj.value;
		}
	}

	if (arrival_obj != null  )
	{
		if ( arrival_obj.value =='' )
		{
			alert("Please Select Arrival of departure schedule!");
        	arrival_obj.focus();
			return false;
		}
	}

	if (ddl_arrival_obj != null)
	{
		if(ddl_arrival_obj.value =='')
		{
			alert("Please Select Arrival of departure schedule!");
        	ddl_arrival_obj.focus();
			return false;
		}
		else
		{
			document.getElementById("Arrival_form").value = ddl_arrival_obj.value;
		}
	}



	if (discount_obj != null)
	{
		if(discount_obj.value =='')
		{
			alert("Please Select Discount of departure schedule!");
        	discount_obj.focus();
			return false;
		}
	}

	if (document.getElementById("b_roundtrip").checked ==true)
	{
		var pid = document.getElementById("pid_return").value;
		if(document.getElementById("frmsearch").pid_return.value=="")
		{
			alert("Please select a return schedule.");
			return false;
		}
		var depart_obj_return = document.getElementById('Departure_form_return');
		if (depart_obj_return.value =="")
		{
			alert("Please select a departure point from the drop down menu.");
			document.getElementById('Departure_return' + pid).focus();
			return false;
		}

		var arrival_return_obj = document.getElementById('Arrival_return' + pid);
		var departure_return_obj = document.getElementById('Departure_return' + pid);
		var discount_return_obj = document.getElementById('Discount_return' + pid);
		var ddl_arrival_return_obj = document.getElementById('dd' + pid + '_Arrival');
		var ddl_departure_return_obj = document.getElementById('dd' + pid + '_Departure');


		if (departure_return_obj != null  )
		{
			if (departure_return_obj.value =='')
			{
				alert("Please select a departure point from the drop down menu.");
	        	departure_return_obj.focus();
				return false;
			}
		}

		if (ddl_departure_return_obj != null)
		{
			if (ddl_departure_return_obj.value =='')
			{
				alert("Please Select Reparture of return schedule!");
	        	ddl_departure_return_obj.focus();
				return false;
			}
			else
			{
				document.getElementById("Departure_form_return").value = ddl_departure_return_obj.value;
			}
		}

		if (arrival_return_obj != null  )
		{
			if ( arrival_return_obj.value =='' )
			{
				alert("Please Select Arrival of return schedule!");
	        	arrival_return_obj.focus();
				return false;
			}
		}


		if (ddl_arrival_return_obj != null)
		{
			if(ddl_arrival_return_obj.value =='')
			{
				alert("Please Select Arrival of return schedule!");
	        	ddl_arrival_return_obj.focus();
				return false;
			}
			else
			{
				document.getElementById("Arrival_form_return").value = ddl_arrival_return_obj.value;
			}
		}


		if (discount_return_obj != null)
		{
			if(discount_return_obj.value =='')
			{
				alert("Please Select Discount of return schedule!");
	        	discount_return_obj.focus();
				return false;
			}
		}


	}
	return true;
}

function form_submit()
{
	if (validate_form())
	{
		document.getElementById("frmsearch").submit();
	}
	else
	{
		return false;
	}
}

function pickdaterange_return()
{
    var dateObj = document.getElementById("beforethisdate_return");
    var dateFilter = dateObj.options[dateObj.selectedIndex].value;
    if (document.bus_search && document.bus_search.return_date)
    {
        document.bus_search.return_date.value = dateFilter;
    }
    server_update();
    window.document.getElementById("beforethisdate_return").focus();
}

function get_dynamic_price(pid,service_date,quick)
{
	document.getElementById("dynamic_price" + pid).innerHTML = "<font color='red'>Pricing..</font>";
	if(window.XMLHttpRequest) {
		dynamic_xml = new XMLHttpRequest();
	} else {
		dynamic_xml = new ActiveXObject("MSXML2.XMLHTTP");
	}
	var url = '/cgi-bin/ajax.cgi?type=dynamic_price&pid=' + pid + '&service_date=' + service_date + '&quick=' + quick;
	dynamic_xml.open("GET", url, true);
	dynamic_xml.onreadystatechange = function() {response_dynamic_price(pid);}
	dynamic_xml.setRequestHeader("If-Modified-Since","0");
	dynamic_xml.send("");
}

function response_dynamic_price(pid)
{
	if (dynamic_xml.readyState == 4)
	{
		var response = dynamic_xml.responseText;
		document.getElementById("dynamic_price" + pid).innerHTML = response;
	}
}

function dynamic_image(pid)
{
	var dynamic_image_html = document.getElementById("dynamic_price_hidden" + pid).innerHTML;
	document.getElementById("dynamic_price" + pid).innerHTML = dynamic_image_html;

}

function show_dynamic(pid)
{
	if (document.getElementById("return_flag" + pid ).value =="return")
	{
		get_dynamic_price(pid,document.getElementById('beforethisdate_return').value,1);
	}
	else
	{
		get_dynamic_price(pid,document.getElementById('beforethisdate').value,1);
	}
	setTimeout("dynamic_image('" + pid + "')",600000);
}

function show_dynamic_prices(pids, service_date, return_pids, return_date)
{
	if(window.XMLHttpRequest) {
		dynamic_xml_all = new XMLHttpRequest();
	} else {
		dynamic_xml_all = new ActiveXObject("MSXML2.XMLHTTP");
	}
	var url = '/cgi-bin/get_ajax_content.cgi?type=dynamic_prices&pids=' + pids + '&service_date=' + service_date + '&return_pids=' + return_pids + '&return_date=' + return_date;
	dynamic_xml_all.open("GET", url, true);
	dynamic_xml_all.onreadystatechange = function() {response_dynamic_prices(pids, return_pids);}
	dynamic_xml_all.setRequestHeader("If-Modified-Since","0");
	dynamic_xml_all.send("");
}

function response_dynamic_prices(pids, return_pids)
{
	if (dynamic_xml_all.readyState == 4)
	{
		var response = dynamic_xml_all.responseText;
		var arr_response = response.split("|");
		var index = 0;
		if (pids != '')
		{
			var pids_array = pids.split("|");
			for(i = 0; i < pids_array.length; i++)
			{
				document.getElementById("dynamic_price" + pids_array[i]).innerHTML = arr_response[i];
				index++;
			}
		}
		if (return_pids != '')
		{
			var return_pids_array = return_pids.split("|");
			for(i = 0; i < return_pids_array.length; i++)
			{
				document.getElementById("dynamic_price" + return_pids_array[i]).innerHTML = arr_response[i+index];
			}
		}
	}
}

//-->
