var mkL='Select Make';
var mL='Select Model';
//*****************************************************************************
// FUNCTION DECLARATION: setMk()
// event handler, called after the user selects from the year drop down

function setMk(fyr,fmk,fmdl) {
    //var f=document.form;
    var year=fyr.options[fyr.selectedIndex].value;
    
    if (fyr.selectedIndex == 0) {
        clearOptions(fmk);
        fmk.options[0] = new Option(mkL,"");
        clearOptions(fmdl);
        fmdl.options[0] = new Option(mL,"");
        fmk.selectedIndex = 0;
        fmdl.selectedIndex = 0;
        return;
    }

    clearOptions(fmk);
    fmk.options[0] = new Option(mkL,"");
    var mkList=getMkL(year);
    for(var i=0; i<mkList.length; i++){
        fmk.options[fmk.options.length] = new Option(mkList[i],mkList[i]);
    }

    fmk.options.selectedIndex = 0;
    clearOptions(fmdl);
    fmdl.options[0] = new Option(mL,"");
    fmdl.options.selectedIndex = 0;
}

// *****************************************************************************
// FUNCTION DECLARATION: setM()
// event handler, called after the user selects from the make drop down

function setM(fyr,fmk,fmdl) {
    //var f=document.form;
    var year=fyr.options[fyr.selectedIndex].value;
    var make=fmk.options[fmk.selectedIndex].value;
    
    if (fmk.selectedIndex == 0) {
        clearOptions(fmdl);
        fmdl.options[0] = new Option(mL,"");
        fmdl.selectedIndex = 0;
        return;
    }
    
    clearOptions(fmdl);
    fmdl.options[0] = new Option(mL,"");
    
    var mdList=getModelList(year,make);
    for (var i=0; i<mdList.length; i++) {
        fmdl.options[fmdl.options.length] = new Option(mdList[i],mdList[i]);
    }
    fmdl.options.selectedIndex = 0;
    // ERROR:TODO  Sort screws index up for some reason
    //SortBox(f.model);
}

// *****************************************************************************
// FUNCTION DECLARATION: setY()
// event handler, called upon page load

function setY(fyr,fmk,fmdl) {
    //var f=document.form;
    var yearList;
    
    clearOptions(fyr);
    fyr.options[0] = new Option('Year',"");
    for (var j=0; j<yr.length; j++) {
       fyr.options[fyr.options.length] = new Option(yr[j], yr[j]);
    }
    fyr.options.selectedIndex = 0;
}
function getYI(year) {
    for (var i=0; i<yr.length; i++) {
        if (yr[i] == year) return i;
    }
    return -1;
}
function getMakeIndex(make) {
    for (var i=0; i<mk.length; i++) {
        if (mk[i] == make) return i;
    }
    return -1;
}
function clearOptions(oM)
{
	for (i=0; i<oM.options.length; i++)
		oM.options[i] = null;
	oM.options.length = 0;
}
function getMkL(year) {
    var list=new Array();
    var index=getYI(year);
    for (var i=0; i<yk[index].length; i++){
        list[list.length]=mk[yk[index][i]];
    }
    return list;
}
function getModelList(year,make) {
    var list=new Array();
    var yindex=getYI(year);
    var mindex=getMakeIndex(make);
    for (var i=0; i<yk[yindex].length; i++){
        if(yk[yindex][i] == mindex) {
            for (var j=0; j<yd[yindex][i].length; j++)
                list[list.length]=md[yd[yindex][i][j]];
        }
    }
    return list;
}

function SortBox(box)  {
var temp_opts = new Array();
var temp = new Object();
for(var i=0; i<box.options.length; i++)  {
temp_opts[i] = box.options[i];
}
for(var x=0; x<temp_opts.length-1; x++)  {
for(var y=(x+1); y<temp_opts.length; y++)  {
if(temp_opts[x].text > temp_opts[y].text)  {
temp = temp_opts[x].text;
temp_opts[x].text = temp_opts[y].text;
temp_opts[y].text = temp;
      }
   }
}
for(var i=0; i<box.options.length; i++)  {
box.options[i].value = temp_opts[i].value;
box.options[i].text = temp_opts[i].text;
   }
}


