
$(document).ready(function() {
  $('#topmenu > ul').superfish({
    animation:{opacity:'show'},
    speed:400,
    autoArrows:false,
    dropShadows:false
  });
}); 

var bodystyles_arr=new Array();
bodystyles_arr["Sedan"]=new Array(1,2,5,8);
bodystyles_arr["Wagon"]=new Array(1,3);
bodystyles_arr["Coupe"]=new Array(1,4,6,9);
bodystyles_arr["Convertible"]=new Array(7,10,11);
bodystyles_arr["SUV"]=new Array(12,13,14,15,16);

function oc(a){
  var o = {};
  for(var i=0;i<a.length;i++){
    o[a[i]]='';
  }
  return o;
}

function inArray(needle, haystack) {
  if($.isArray(haystack)){
    var length = haystack.length;
    for(var i = 0; i < length; i++) {
      if(haystack[i] == needle) return true;
    }
    return false;
  }
  return false;
}

function capFirstLetter(string){
  var s ;
  s = string ;
  var firstchar = s.substr(0, 1);
  var restofchar = s.substr(1);

  var newString = firstchar.toUpperCase() + restofchar.toLowerCase();

  return newString;
}

function translate(value){

  var replace = new Array("ESTATE","SALOON","SUV","MPV");
  var by = new Array("Wagon","Sedan","SUV","Crossover");
  var str = '';
  if(value!=''){
    if(inArray(value,replace)){
      for(var i=0;i<replace.length;i++){
        if(replace[i]==value){
          str =value.replace(replace[i],by[i]);
        }
      }
    }else{
      str = capFirstLetter(value);
    }
  }else{
    alert('Translation failed');
  }

  return str;
}

$(function(){$(".menuitem3 .right > ul:first-child a").hoverIntent(
  function () {
    for(var k in bodystyles_arr){
      if(k!=this.name){
        for(var s in bodystyles_arr[k]){
          if(inArray(bodystyles_arr[k][s],bodystyles_arr[this.name])===false){
            $(".menuclassid_"+bodystyles_arr[k][s]).animate({opacity: 0.1}, 700 );
          }
        }
      }
    }
  },
  function () {
    for(var k in bodystyles_arr){
      if(k!=this.name){
        for(var s in bodystyles_arr[k]){
          if(inArray(bodystyles_arr[k][s],bodystyles_arr[this.name])===false){
            $(".menuclassid_"+bodystyles_arr[k][s]).animate({opacity: 1}, 700 );
          }
        }
      }
    }
  }
)});

function padout(number) { return (number < 10) ? '0' + number : number; }

var classmenu_data = '';
var selectedclass_id = '';
var selectedclass = '';

var class_config = {
  sensitivity: 3,
  interval: 300,
  over: classin,
  timeout: 500,
  out: classout
};
$(function(){$(".menuitem3 .left h2 + ul li").hoverIntent(class_config)});

  function classin() {
    var values;
    values = new Array();
    selectedclass_id = $(this).children('a').attr('rel');

    var val;
    val = new Array();
    val['name']='listtype';
    val['value']='class_model_bodystyle';
    values[0] = val ;

    var val;
    val = new Array();
    val['name']='class';
    val['value']=$(this).children('a').attr('rel');
    values[1] = val ;

    var val;
    val = new Array();
    val['name']='make';
    val['value']='26';
    values[2] = val;

    ajaxPostValuesAsXML(values,'class_menu','ajax','classmenu');
    $('.menuitem3 .class').css('display','none');
    $('.menuitem3 .model').css('display','block');
  }
  function classout() {
    $(function(){$(".menuitem3 .model").hover(
      function () {
        $('.menuitem3 .class').css('display','none');
        $('.menuitem3 .model').css('display','block');
      },
      function () {
        $('.menuitem3 .class').css('display','block');
        $('.menuitem3 .model').css('display','none');
      }
    )});
  }



function classmenu(field){
  //DEBUG: alert(unescape(field));

  classmenu_data = eval("(" + unescape(field) + ")");
  //selectedclass = classmenu_data[0]['CLASSNAME'];

  //DEBUG: classmenu2();

  $('.menuitem3 .model').html('<img class="loader" src="/img/loaderSkin.gif" alt=""/>');
  $.get('/cgi-bin/mbusa/mbusa_json_models.cgi?class='+selectedclass_id, function(data) {
    classmenu2(data);
  });
}

function getError(){
  $('.menuitem3 .model').html('<div class="error">I\'m sorry but there has been an error while processing your request. Please try again later.</div>');
}

function classmenu2(field){

  //DEBUG: alert(unescape(field));
  //DEBUG: alert(unescape(classmenu_data));

  var data = eval("(" + unescape(field) + ")");

  if(data.length<1){
    var timeoutID = window.setTimeout(getError, 1000);
  }

  for(a in data){
    selectedclass = a;
  }

  var str = '';
  var class_arr = {
    'C-Class':['Sedan','Coupe','Wagon'],
    'E-Class':['Wagon','Coupe','Sedan'],
    'S-Class':['Sedan'],
    'CLK-Class':['Coupe','Convertible'],
    'CLS-Class':['Sedan'],
    'CL-Class':['Coupe'],
    'SL-Class':['Convertible'],
    'SLK-Class':['Convertible'],
    'GLK-Class':['SUV'],
    'M-Class':['SUV'],
    'GL-Class':['SUV'],
    'G-Class':['SUV'],
    'R-Class':['Crossover']
  };

  str+= '<span>'+selectedclass+'</span>';
  for(a in data[selectedclass]){
    var model_list = '';
    var minprice_arr = new Array();
    var maxprice_arr = new Array();
    var bodystyle = translate(a);
    //DEBUG: alert(a+'='+bodystyle+inArray(bodystyle,class_arr[selectedclass]));

    if( inArray(bodystyle,class_arr[selectedclass])===true ){
      for ( b in data[selectedclass][a] ){
        var usr_value = '';
        var count = '00';
        var url = '';

        if(classmenu_data!=null){
          for(c in classmenu_data){
            //DEBUG: alert('BODY: '+classmenu_data[c]['BODYSTYLE']+'='+a+' MODEL:'+class_arr[selectedclass][a][b]['name']+'='+classmenu_data[c]['MODELNAME']);
            if(classmenu_data[c]['BODYSTYLE']==bodystyle  && data[selectedclass][a][b]['name']==classmenu_data[c]['MODELNAME']){
              count = padout(classmenu_data[c]['COUNT']);

              if(classmenu_data[c]['MINPRICE']>0 && classmenu_data[c]['MAXPRICE']>0){
                minprice_arr.push(classmenu_data[c]['MINPRICE']);
                maxprice_arr.push(classmenu_data[c]['MAXPRICE']);
              }
            }
          }
        }

          usr_value = data[selectedclass][a][b]['name'];
          if(count!='00'){
            url = '/used/'+usr_value+'/used-mercedes-'+usr_value+'-for-sale-'+classmenu_data[0]['TOWN']+'-'+classmenu_data[0]['STATENAME'];
            count = '['+count+']';
          }else{
            url = '/inventory/inventory_inquiries?vclass='+selectedclass+'&model='+usr_value;
            count = '*['+count+']';
          }

          model_list+='<li><a href="'+url.replace(' ','-').toLowerCase()+'">'+usr_value+' <span>'+count+'</span></a></li>';
      }

      str+= '<div>';
      str+= '<img src="/img/menu/'+selectedclass+'-'+bodystyle.replace(' ','-')+'_gry.png" alt="" />';
      str+= '<h5>'+selectedclass+' '+bodystyle+'</h5>';
      if(minprice_arr!=''){
        str+= '<span>from $'+Math.min.apply(null,minprice_arr)+' to $'+Math.max.apply(null,maxprice_arr)+'</span>';
      }
      str+= '<ul>';
      //str+= '<li><a href="#">View all <span></span></a></li>';
      str+= model_list;
      str+= '</ul></div>';
    }
  }

  str+= '<div class="info">*Currently none available but click to inquire directly</div>';

  $('.menuitem3 .model').html(str);
}