$(document).ready(function() {
    $(".dealercard-win").hide();
    $(".dealercard-win").click(closeDealerCard);
    $(".dealercard-title-btn").click(closeDealerCard);
    
    $.fn.maphilight.defaults = {
        fill: true,
        fillColor: '000044',
        fillOpacity: 0.2,
        stroke: true,
        strokeColor: '000088',
        strokeOpacity: 1,
        strokeWidth: 1,
        fade: true,
        alwaysOn: false,
        customizedClick: true,
        onClick: mapclicked
    };
    $('.map').maphilight();
    showMap('dealers/by-dealers-usa.html');
});

mapclicked = function(e) {
    var url = $(this).attr("href");
    var titletxt = $(this).attr("title") || $(this).attr("alt") || "Dealers";
    $(".dealercard-title-text").html(titletxt);
    if(url.substr(0,1)!="#") {
        $.get(url, function(data) {
            $(".dealercard-details").html(data);
            var queryString = url.replace(/^[^\?]+\??/,'');
            var params = parseQuery( queryString );
            
            TB_WIDTH = (params['width']*1) + 30 || 230; //defaults to 330 if no paramaters were added to URL
            TB_HEIGHT = (params['height']*1) + 40 || 200; //defaults to 220 if no paramaters were added to URL
            TB_LEFT = parseInt(e.pageX)+10;
            TB_TOP = parseInt(e.pageY)+10;
            
            $(".dealercard-win").css({height: TB_HEIGHT+"px", width: TB_WIDTH+"px"});
            $(".dealercard-win").css({left: TB_LEFT+"px", top: TB_TOP+"px"});
            
            $(".dealercard-details").css({height: ((TB_HEIGHT - parseInt($(".dealercard-title").css("height")) + "px"))});
            
            $(".dealercard-win").toggle("slow");
        });
    }
    return false;
}

closeDealerCard = function(e){
    $(".dealercard-details").html("&nbsp;");
    $(".dealercard-win").hide("slow");
}

//borrowed from ThickBox plugin
function parseQuery( query ) {
   var Params = {};
   if ( ! query ) {return Params;}// return empty object
   var Pairs = query.split(/[;&]/);
   for ( var i = 0; i < Pairs.length; i++ ) {
      var KeyVal = Pairs[i].split('=');
      if ( ! KeyVal || KeyVal.length != 2 ) {continue;}
      var key = unescape( KeyVal[0] );
      var val = unescape( KeyVal[1] );
      val = val.replace(/\+/g, ' ');
      Params[key] = val;
   }
   return Params;
}

