// JavaScript Document

var BrowserDetect = {
  init: function () {
    this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
    this.version = this.searchVersion(navigator.userAgent)
    || this.searchVersion(navigator.appVersion)
    || "an unknown version";
    this.OS = this.searchString(this.dataOS) || "an unknown OS";
  },
  searchString: function (data) {
    for (var i=0;i<data.length;i++)	{
      var dataString = data[i].string;
      var dataProp = data[i].prop;
      this.versionSearchString = data[i].versionSearch || data[i].identity;
      if (dataString) {
        if (dataString.indexOf(data[i].subString) != -1)
          return data[i].identity;
      }
      else if (dataProp)
        return data[i].identity;
    }
  },
  searchVersion: function (dataString) {
    var index = dataString.indexOf(this.versionSearchString);
    if (index == -1) return;
    return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
  },
  dataBrowser: [
  {
    string: navigator.userAgent,
    subString: "OmniWeb",
    versionSearch: "OmniWeb/",
    identity: "OmniWeb"
  },
  {
    string: navigator.vendor,
    subString: "Apple",
    identity: "Safari"
  },
  {
    prop: window.opera,
    identity: "Opera"
  },
  {
    string: navigator.vendor,
    subString: "iCab",
    identity: "iCab"
  },
  {
    string: navigator.vendor,
    subString: "KDE",
    identity: "Konqueror"
  },
  {
    string: navigator.userAgent,
    subString: "Firefox",
    identity: "Firefox"
  },
  {
    string: navigator.vendor,
    subString: "Camino",
    identity: "Camino"
  },
  {		// for newer Netscapes (6+)
    string: navigator.userAgent,
    subString: "Netscape",
    identity: "Netscape"
  },
  {
    string: navigator.userAgent,
    subString: "MSIE",
    identity: "Explorer",
    versionSearch: "MSIE"
  },
  {
    string: navigator.userAgent,
    subString: "Gecko",
    identity: "Mozilla",
    versionSearch: "rv"
  },
  { 		// for older Netscapes (4-)
    string: navigator.userAgent,
    subString: "Mozilla",
    identity: "Netscape",
    versionSearch: "Mozilla"
  }
  ],
  dataOS : [
  {
    string: navigator.platform,
    subString: "Win",
    identity: "Windows"
  },
  {
    string: navigator.platform,
    subString: "Mac",
    identity: "Mac"
  },
  {
    string: navigator.platform,
    subString: "Linux",
    identity: "Linux"
  }
  ]

};
BrowserDetect.init();

//Give the pixel number without the px
function getPixels(str){
  var ind = str.indexOf('px');
  str = str.substring(0, ind);
  var pixels = parseInt(str);
  return pixels;
}

function isDefinedElement(id){
  return document.getElementById(id)!=undefined;
}
function gup(href, name ) {
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var tmpURL = href;
  var results = regex.exec( tmpURL );
  if( results == null )    return "";  else    return results[1];
}

var animationspeed = 200;
var magibg;
var magibghome = -1200;
var magibgoffset = 84;

$(document).ready(function() {
  if($(".splash").length > 0) {


    magicbg = $(".splash .footerbg");
    $(".splash .modelnames table td").splashcat();

    $("#bgstuff a.close").click(function() {
      //reset everything
      $("#bgstuff").hide(animationspeed);
      $(".splash .modelselector").css({
        'height' : '50px'
      });
      magicbg.animate({
        "left" : (magibghome) + "px"
      }, animationspeed)
      $(".splash .category_models").hide(animationspeed);
      $(".splash .modelnames table td img").animate({
        "height" : "15px"
      }, animationspeed);
    });

    $("div.modelselector").mouseleave(function() {
      $("#bgstuff a.close").trigger('click');
    });

    
  }

  if($(".carlist").length > 0) {
    $("div.category div.car").carinfo();
  }
});

$.fn.carinfo = function() {
  var onpopup = false;
  var onitem = false;
  var t;
  return this.each(function() {
    var car = $(this);
    var popup = $("#carlist-popup");

    car.mouseenter(function() {
      onitem = true;
      var position = car.offset();
      popup.find("div.carlist-popup-content").html(car.find("div.infoboxcontent").html());
      popup.css({"left": (position.left + 105), "top": (position.top - 27)}).show();
    });

    car.mouseleave(function() {
      onitem = false;
      t = setTimeout(function() {
        if(!onitem && !onpopup)
          popup.hide();
      }, 200);
    });

    popup.mouseenter(function() {
      onpopup = true;
    });

    popup.mouseleave(function() {
      onpopup = false;
      t = setTimeout(function() {
        if(!onitem && !onpopup)
          popup.hide();
      }, 200);
    });

  });
}

$.fn.splashcat = function(options) {
  return this.each(function() {
    var cat = $(this);
    var width = cat.innerWidth();
    var id = cat.attr("id").substr(9);
    var position = cat.position();

    cat.mouseenter(function() {
      $("#bgstuff").show(animationspeed);
      $(".splash .modelselector").css({
        'height' : '400px'
      });
      $(".splash .modelnames table td img").stop();
      $(".splash .modelnames table td img").animate({
        "height" : "15px"
      }, animationspeed);

      cat.find("img").stop().animate({
        "height" : "20px"
      }, animationspeed);
      magicbg.stop();
      magicbg.animate({
        "left" : (magibghome + position.left + (width / 2) + magibgoffset) + "px"
      }, animationspeed, "swing")

      $(".splash .category_models").stop(false, true);
      $(".splash .category_models").hide();
      $(".splash #models_" + id).show(animationspeed);
    });

  });
}