//==============================================================================
wiresJS.toggle_fna = function (status)
{
    $("#fna, #fnn, #fnp").attr ("disabled", status);
}

//==============================================================================
wiresJS.toggle_timewindow = function (status)
{
    $ ("#timewindow").attr ("disabled", status);
}

//==============================================================================
wiresJS.triptype_onchange = function (url, selector)
{
    if (!url || 
        url == "" || 
        !selector) {
        return; 
    }
    
    var selected = selector.value;
    if (selected != "MULTIPLE" && selected != "STEPBYSTEP") 
    {
        if ("ONEWAY"==selected || "ROUNDTRIP"==selected) {
          var outmonth= wiresJS.getSelectField(undefined, "outmonth");
          var outday = wiresJS.getSelectField(undefined, "outday");
          var outampm= wiresJS.getSelectField(undefined, "outampm");
          var outhour= wiresJS.getSelectField(undefined, "outhour");
          
          var retday = wiresJS.getSelectField(undefined, "retday");
          var retampm= wiresJS.getSelectField(undefined, "retampm");
          var rethour= wiresJS.getSelectField(undefined, "rethour");
          
          //get container
          var container_elements = retday.parents("tr").eq(0);;

          
          if ("ONEWAY"==selected) {
            
            //attach change events
            outday.change( function () {
              retday.val($(this).val());
            } );
            if (outampm && undefined!=outampm) {
              outampm.change( function () {
                retampm.val($(this).val());
              } );
            }
            outhour.change( function () {
              rethour.val($(this).val());
              if (outampm && undefined!=outampm && ""==$(this).val()) {
                outampm.val("AM");
              }
            } );
            
            
            //hide
            container_elements.prev().hide();
            container_elements.hide();
            wiresJS.PopUpAnnotatedListResize();
          }
          else if ("ROUNDTRIP"==selected) {
            //attach/detach change events
            outday.unbind( 'change' );
            outhour.change( function () {
              if (outampm && undefined!=outampm && ""==$(this).val()) {
                outampm.val("AM");
              }
            } );
            if (outampm && undefined!=outampm) {
              outampm.unbind( 'change' );
            }
            
            //show
            container_elements.prev().show();
            container_elements.show();
            wiresJS.PopUpAnnotatedListResize();
          }
          
          outmonth.change();
          outday.change();
          outhour.change();
          if (outampm && undefined!=outampm) {
            outampm.change();
          }
        }

        return; 
    }
    
    var params = "";
    $ ("#loccountry, #loccurrency, #loclanguage").each (function () {
        params += "&" + this.name + "=" + this.value;
    });
    
    var form = selector.form; 
    params += "&do_multiprefs=yes&leg1fromcity=" + form.fromcity.value + "&leg2fromcity=" + form.tocity.value;
    
    if (selected == "STEPBYSTEP") {
        params += "&do_stepbystep=yes&maxflightsshown=" + form.maxflightsshown.value;
    }
    
    window.location.href = url + params;    
}

//==============================================================================
wiresJS.selectAnyTime = function (selector)
{
    if (!selector)
        return; 
    
    if (selector.selectedIndex != 0) 
        return; 
    
    var name = selector.name; 
    var re = /^(.*)hour$/;
    var matches = re.exec (name); 
    
    var ampmname = matches[1] + "ampm"; 
    $("#" + ampmname).each (function () {
        this.selectedIndex = 0;
    });
}

//==============================================================================
wiresJS.verifyAirlineSelection = function (selector) 
{
    if (selector.selectedIndex == 1)
        return; 
    
    $("form select[name='carriercodes']").each (function () {
        if (this.selectedIndex == 1) {
            this.selectedIndex = 0;
        }
    });
}

//==============================================================================
$(document).ready (function () {
    $ ("form").submit (function () {
        var form = this;
        
        $("input:hidden[name$='anytime']", form).remove ();
        $("select[name$='hour']", form).each (function () {
            if (this.selectedIndex == 0) {
                $ (form).append ($ ("<input type='hidden' name='" + this.name + "anytime" + "' value='Y'>"));
            }
        });
        
        return true;
    });
});

//==============================================================================
wiresJS.setTimewindow = function ()
{
    if (!$("#do_power_shedules").attr("checked")) {
        $ ("#timewindow").attr ("disabled",true);
    }
}
