
var ONE = {};

/*

ONE.schools = {};


ONE.schools.formatResult = function(aResultItem, sQuery) {

   var sKey = aResultItem[0]; // the entire result key

   var sKeyQuery = sKey.substr(0, sQuery.length); // the query itself
   var sKeyRemainder = sKey.substr(sQuery.length); // the rest of the result

   var aMarkup = ["<div id='ysearchresult'>",
      "<span style='font-weight:bold'>",
      sKeyQuery,
      "</span>",
      sKeyRemainder,
      "</div>"];

  return (aMarkup.join(""));
};


function myAutoComplete(f_input, container, datasource, fi_school_input) {

    this.oAutoComp = new YAHOO.widget.AutoComplete( 
        f_input, container, datasource 
    );

    this.oAutoComp.prehighlightClassName = "yui-ac-prehighlight";
    this.oAutoComp.typeAhead = false;
    this.oAutoComp.useShadow = true;
    this.oAutoComp.forceSelection = false;
    this.oAutoComp.formatResult = ONE.schools.formatResult;

    this.oAutoComp.oForm = document.getElementById(f_input).form;

    this.oAutoComp.itemSelectEvent.subscribe(this.signupSelectHandler) 

    this.oAutoComp.unmatchedItemSelectEvent.subscribe(this.clearSelectHandler) 
    this.oAutoComp.textboxFocusEvent.subscribe(this.clearSelectHandler) 

    if ( fi_school_input == undefined ) {
        fi_school_input = 'school_id';
    }

    this.oAutoComp.fi_school_input_name = fi_school_input;

};

myAutoComplete.prototype.clearSelectHandler = function(sType, aArgs) {
    var oAutoComp = aArgs[0];
    var f_school = this.oForm;
    f_school[oAutoComp.fi_school_input_name].value = '';
};

myAutoComplete.prototype.signupSelectHandler = function(sType, aArgs) {
    var oAutoComp = aArgs[0];
    var aData = aArgs[2]; 
    var f_school = this.oForm;
    f_school[oAutoComp.fi_school_input_name].value = aData[1];
};

*/

/*
 * <script type="text/javascript">
 *
 *   var quick = new myAutoComplete(
 *           "fi_quick_signup_school", 
 *           "quick_signup_school_container", 
 *          ONE.schools.ds_schools
 *   );
 */

function selectAll(id) {

    var el = document.getElementById(id);

    el.focus();
    el.select();

}

function toggleClassYear() {

    var fi_graduated = $('#fi_graduated')[0];
    
    var affilation = $('#fi_affiliation').val();

    if ( /^(Student|Alum)$/.test(affilation) )  {
        $('#fi_graduated').show('slow');
        $('#fi_graduated').each( function(i) { this.options[0].selected = 1 } );
    }
    else {
        $('#fi_graduated').hide('slow');
    }
}

function schoolSelected(el) {
    var school_id = el.extra[0];
    $(el).parents('form').each( function(i) { 
        if ( this.school_id != undefined ) {
            this.school_id.value = school_id 
        }
        else if ( this.Q_school_id != undefined ) {
            this.Q_school_id.value = school_id
        }
    });
}

jQuery(
    function() {
        $('#fi_affiliation').change( function() { toggleClassYear() } );
        $('.ac_schools').autocomplete('/campus/schools.pl', {
            onItemSelect: schoolSelected
        });
    }
);

