


function productSelect(array, arrayIndex, select){
    
    for  (var i=0; i<array.length; i++){
        var option = new Option(array[i], arrayIndex[i]);
        if (select.id=="brands_select"){
          option.onmouseup='model_selector.brandClick(arrayIndex[i])';   
        } else {
          option.onmouseup='model_selector.modelClick(arrayIndex[i])';
        }
        select.options[select.options.length] = option;
    }
    
}
function clearSelect(select){
    var options = select.options;
    for (var i=1; i< options.length;){
      options[i] = null;
    }
    return select;
}  

function isExist(brandsArray, title){
    var i=0;
    while (i<brandsArray.length){
            if ( brandsArray[i] == title) {
                return i;
            }
            i++;
    }
    return -1;

}
  
 function modelSelector(brand_titles, model_titles, urls ){
    this.brand_titles = brand_titles;
    this.model_titles = model_titles; 
    this.urls = urls;
    
    this.brandClick = function(brand_index){
        var models_select = document.getElementById('models_select');
        var modelsArray = new Array();
        var modelsIndex = new Array();
        clearSelect( models_select );
        if (brand_index < 0) {
            productSelect(modelsArray, modelsIndex, models_select );
            return;
        } else {    
            var temp = this.brand_titles[brand_index];
            var i=brand_index;
            while (i<this.brand_titles.length){
                if (temp == this.brand_titles[i]){
                    modelsArray.push(this.model_titles[i]);
                    modelsIndex.push(i);
                    
                } 
                i++;
            }
            if (modelsArray.length>0){
                productSelect(modelsArray, modelsIndex, models_select);
            }
        }
        var link = document.getElementById('selectorLink');
        link.href= '#';
        
    }
    
    this.modelClick = function(model_index){
        var link = document.getElementById('selectorLink');
        if (model_index < 0) {
            link.href= '#';
            return;
        }
        link.href = this.urls[model_index];
    }
    
    this.getBrands = function(){
        var brands_select = document.getElementById('brands_select');
        var i=0;
        var temp;
        var brandsArray = new Array();
        var brandsIndex = new Array();
        
        if (this.brand_titles.length > 0){
            brandsArray.push(this.brand_titles[0]);
            brandsIndex.push(0);
            temp = this.brand_titles[0];
        }
        
        while (i<this.brand_titles.length){
           if (this.brand_titles[i] && ( this.brand_titles[i] != temp) && (this.brand_titles[i].length>0) && (isExist(brandsArray, this.brand_titles[i]) <0 ) ) {
                brandsArray.push(this.brand_titles[i]);
                temp = this.brand_titles[i];
                brandsIndex.push(i);
            }
            i++;
        }
        if (brandsArray.length>0){
var tempor = productSelect(brandsArray, brandsIndex, brands_select);
        }
    }
}

