/// <reference path="jquery-1.3.2-vsdoc2.js" />

function tellError(msg, url, linenumber)
{
  alert('Error message= '+msg+'\nURL= '+url+'\nLine Number= '+linenumber);
  return true;
}

function blockError(){return true;}

var mapresort;
var whichresort;
var dotresort;

var previousresort = " ";
var currentresort = "no resort";

var urlParams = {};
(function () {
    var e,
        a = /\+/g,  // Regex for replacing addition symbol with a space
        r = /([^&;=]+)=?([^&;]*)/g,
        d = function (s) { return decodeURIComponent(s.replace(a, " ")); },
        q = window.location.search.substring(1);

    while (e = r.exec(q))
       urlParams[d(e[1])] = d(e[2]);
})();

function initMap()
{
    // window.onerror = blockError;
    // window.onerror = tellError;
    
    mapresort = false;

    // setup hover states for map dots and righthand side navigation
    $("ul#worldmapmenu a.maplink4").hover(
                      function(){ showInfo( $(this).attr("rel"),true ) },
                      function(){ hideInfo( $(this).attr("rel"),true ) }
    );

    $("div#mappanel a.maplink5").hover(
                      doBoth,
                      function() { hideInfo($(this).attr("rel")); }
    );

    
    // now wire up the hyperlinks
    // load the resort info
    // $("div#mappanel a.maplink5").mouseover(loadResortDetail);
        
    // back to world map link
    $("a#worldmapview").click(hideResortDetail);

    $("a.resort_close_link").click(hideResortDetail);
    $("div.resort_close").click(hideResortDetail);

    $(".mapdot").click(function(e) { e.preventDefault(); });
}

function doBoth(e) {
    showInfo($(this).attr("rel"), false);
    loadResortDetail(e);
}

function showInfo(dotImageName, displayPanel) {
    if ((dotresort != "") && (dotresort != dotImageName)) {
        setDot(dotresort, "/imgs/tdot.gif");
    }
    if (dotresort != dotImageName) {
        setDot(dotImageName, "/imgs/red_dot.gif");
        if (displayPanel) {
            showPanel(dotImageName);
        }
    }
    dotresort = dotImageName;
    mapresort = true;
}

function hideInfo(dotImageName) {
    if (!mapresort) {
        setDot(dotImageName, "/imgs/tdot.gif");
    }
    else {
        setDot(dotImageName, "/imgs/red_dot.gif");
    }

    hidePanel(dotImageName);
    mapresort = false;
}

function showPanel(dotImageName) {
    var resortname = dotImageName.replace("dot2", "info");
    $(".mapdot").css("display", "none");
    $("a[rel=" + dotImageName + "]").css("display", "inline");
    $("#" + resortname).css("display", "block");
}

function hidePanel(dotImageName) {
    var resortname = dotImageName.replace("dot2", "info");
    $(".mapdot").css("display", "inline");
    $("#" + resortname).css("display", "none");
}

function setDot(dotImageName,imageSrc) {
  $("img#"+dotImageName).attr("src",imageSrc);
}

function loadResortDetail(e) {
    e.preventDefault();

    var el;
    el = e.target;
    if (e.target.nodeName == "IMG") {
        el = e.target.parentNode;
    }
    setDot(dotresort, "/imgs/red_dot.gif");

    var name = $(el).parent().attr("id");
    name = name.substr(name.indexOf("_") + 1);
    whichresort = "#resort_" + name;
    currentresort = whichresort;
    if (currentresort != previousresort) {
        hideResortDetail();
        // mapresort = true;
        $(currentresort).fadeIn("fast");
        previousresort = currentresort;
    }
    setDot(dotresort, "/imgs/red_dot.gif");

}

function hideResortDetail(e) {
    if (e) { e.preventDefault(); }


    $(".resort_detail").css("display", "none");

//    if (mapresort) {
//        if (whichresort != "") {
//            $(whichresort).css("display","none");
//        }
//        mapresort = false;
//    }
    // whichresort = ""
    setDot(dotresort, "/imgs/tdot.gif");
}


$(document).ready(function(){
   initMap();
 });

