﻿var map;
var mapinit = false;
var maparray = new Array();

var currentId = 0;

maparray["bo"] = [];
maparray["ata"] = [];
maparray["gora"] = [];

$(function () {
	var x = $(".cycle").jCarouselLite({
		btnNext: ".cycle-right",
		btnPrev: ".cycle-left",
		auto: 6000,
		speed: 1000,
		easing: "easeInOut"
	});

	/* Main menu open/close */

	$(".menu ul li ul").hide();
	$(".menu ul li.current ul").show();
	$(".menu ul .toplevel h2 > a").click(function () { openMenuItem($(this).parents("li")); });


	$(".showdescription").click(function () {
		showDescription();
	});
	$(".showmap").click(function () {
		showMap();
	});
	$('.map').hide();
	Cufon.replace(".productcontainer h1, .tipscontainer h1");
	Cufon.replace(".searchform h3, .daydivider h3");
	Cufon.replace(".sitemap-boataresa h3,.sitemap-gora h3,.sitemap-ovrigt h3");
	Cufon.replace(".box h2");
	Cufon.replace(".recommended h2");
	Cufon.replace(".commentsh2");


	$("#control-bo").toggle(function () { showClosest("bo"); }, function () { hideClosest("bo"); });
	$("#control-ata").toggle(function () { showClosest("ata"); }, function () { hideClosest("ata"); });
	$("#control-gora").toggle(function () { showClosest("gora"); }, function () { hideClosest("gora"); });

	$.datepicker.setDefaults($.datepicker.regional['sv']);
	$("#datepicker-from").datepicker({
		showOn: 'button',
		buttonImage: 'images/button-calendar.gif',
		buttonImageOnly: true,
		onSelect: function (dateText, inst) {
			$("#datepicker-to").datepicker('option', 'minDate', $(this).datepicker('getDate'));
		}
	});
	$("#datepicker-to").datepicker({
		showOn: 'button',
		buttonImage: 'images/button-calendar.gif',
		buttonImageOnly: true,
		onSelect: function (dateText, inst) {
			$("#datepicker-from").datepicker('option', 'maxDate', $(this).datepicker('getDate'));
		}
	});
	/*	if ($.cookie("VisitUmea-BookmarksList") != "open") {
	$(".bookmarks-list").hide();
	}
	else {
	$(".showbookmarks").css("backgroundImage", "url(images/widget-down.gif)");
	} */
	$(".showbookmarks").click(function () {

		if ($(".bookmarks ul").is(":visible")) {
			$.cookie("VisitUmea-BookmarksList", null);
			$(".showbookmarks").css("backgroundImage", "url(images/widget-up.gif)");
			$(".showbookmarks").removeClass("opened");
			$(".bookmarks-list").slideUp({ duration: 300, easing: "easeInQuad" });
		}
		else {
			$.cookie("VisitUmea-BookmarksList", "open", { expires: 1 });
			$(".showbookmarks").css("backgroundImage", "url(images/widget-down.gif)");
			$(".showbookmarks").addClass("opened");
			$(".bookmarks-list").slideDown({ duration: 300, easing: "easeOutQuad" });
		}
	});
	$.getJSON("WeatherJSON.aspx", function (data) {
		$(".weather").css("backgroundImage", "url(media/weather/" + data.symbolnr + ".png)");
		$(".weather-info").text(data.temperature + "°C");
	});
	$("#blogcontent").load("LatestBlogPost.aspx");
	populateFavourites();
	if (checkIfInFavourites(currentId)) {
		$(".addToFavourites").hide();
		$(".deleteFromFavourites").show();
	}
	$(".bookmarks-print").click(function () {
		var bookmarksstr = "";
		var thebookmarks = getFavouritesArray();
		for (j = 0; j < thebookmarks.length; j++) {
			if (j > 0) bookmarksstr += ",";
			bookmarksstr += thebookmarks[j].id;
		}
		document.location.href = "/PrintProductList.aspx?productids=" + bookmarksstr;
	});
	$(".weather").click(function () {
		document.location.href = $("#weatherlink").attr("href");
	});
	$(".bookings a").hover(function () {
		$(this).find("img").fadeTo(200, 0.7);
	}, function () {
		$(this).find("img").fadeTo(200, 1);
	});
	$(".menu ul li h2 > a").hover(function () {
		$(this).fadeTo(200, 0.7);
	}, function () {
		$(this).fadeTo(200, 1);
	});

});
var imageLoaded = 0;
function showMap() {
    $(".showdescription").removeClass("selected");
    $(".showmap").addClass("selected");
    $(".productImage").hide();
    $(".map").show(1, function() {
        if (!mapinit) {
            map.checkResize();
            map.setCenter(new google.maps.LatLng(latitude, longitude), 13);
            mapinit = true;
        }
    });
    //$(".mapcontrols").slideDown({ duration: 300, easing: "easeOutQuad" });
}
function showDescription() {
    $(".showdescription").addClass("selected");
    $(".showmap").removeClass("selected");
    $(".productImage").show();
    $(".map").hide();
    //$(".mapcontrols").slideUp({ duration: 300, easing: "easeInQuad" });
}

function showClosest(typ) {
    showMap();
    $("#control-" + typ).css("backgroundImage", "url(images/icons/map-" + typ + "-small-active.png)");
    $.getScript("GetCloseProductsJson.aspx?type=" + typ + "&latitude=" + latitude + "&longitude=" + longitude, function() {
        var baseIcon = new google.maps.Icon(G_DEFAULT_ICON);
        baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
        baseIcon.iconSize = new GSize(29, 43);
        baseIcon.shadowSize = new GSize(49, 43);
        baseIcon.iconAnchor = new GPoint(14, 41);
        baseIcon.infoWindowAnchor = new GPoint(9, 2);
        baseIcon.image = "http://www.visitumea.plakat.se/images/icons/map-" + typ + ".png";
        markerOptions = { icon: baseIcon };
        for (j = 0; j < productObj.products.length; j++) {
            var point = new google.maps.LatLng(parseFloat(productObj.products[j].latitude.replace(",", ".")), parseFloat(productObj.products[j].longitude.replace(",", ".")));
            var p = new google.maps.Marker(point, markerOptions);
            p.theId = productObj.products[j].id;
            p.theName = productObj.products[j].name;
            p.thePosition = point;
            google.maps.Event.addListener(p, "click", function() {
                var html = "<h1>" + this.theName + "</h1>";
                html += "<p><a href=\"Product.aspx?id=" + this.theId + "\">Läs mer</a></p>";
                html += "<p><a href=\"#\" onclick=\"addToFavourites('" + this.theName + "','" + this.theId + "');return false;\">Lägg till i Mina favoriter</a></p>";
              
                map.openInfoWindowHtml(this.thePosition, html);
            });
            map.addOverlay(p);
            maparray[typ].push(p);
        }
    });
}
function hideClosest(typ) {
    showMap();
    $("#control-" + typ).css("backgroundImage", "url(images/icons/map-" + typ + "-small.png)");

    for (j = 0; j < maparray[typ].length; j++) {
        map.removeOverlay(maparray[typ][j]);
    }
}

function openMenuItem(item) {
    var vis = $(item).find("ul").is(":visible");
    $(".menu ul .toplevel ul").slideUp({ duration: 500, easing: "easeOutQuad" });
    if (!vis) $(item).find("ul").slideDown({ duration: 500, easing: "easeOutQuad" });
}
function initMap() {
	
    map = new google.maps.Map2(document.getElementById("map"));
    var declat = parseFloat(latitude.replace(",", "."));
    var declong = parseFloat(longitude.replace(",", "."));
    map.setCenter(new google.maps.LatLng(latitude, longitude), 13);
    var point = new google.maps.LatLng(latitude, longitude);
    var hereicon = new google.maps.Icon();
    hereicon.image = "http://www.visitumea.plakat.se/images/icons/map-youarehere.png";
    hereicon.iconSize = new google.maps.Size(41, 62);
    hereicon.iconAnchor = new google.maps.Point(20, 58);
    hereicon.shadow = "http://www.google.com/mapfiles/shadow50.png";
    hereicon.shadowSize = new GSize(70, 53);
    var markerOptions = { icon: hereicon };
    map.addOverlay(new google.maps.Marker(point, markerOptions));
    var customUI = map.getDefaultUI();
    customUI.maptypes.physical = false;
    customUI.controls.largemapcontrol3d = true;
    customUI.controls.maptypecontrol = true;
    map.setUI(customUI);
   }
function initMapAndPrint() {
	$(".map").show();
	initMap();
}
function populateFavourites() {
    $(".bookmarks-list ul").empty();
    var favouritesArray = getFavouritesArray();
    if (favouritesArray != false) {
        for (j = 0; j < favouritesArray.length; j++) {
            if (favouritesArray[j].title != "undefined" && favouritesArray[j].id != "undefined") {
            	var listitem = $("<li><a href=\"#\" class=\"deletefavourite\" onclick=\"deleteFromFavourites('" + favouritesArray[j].title + "'," + favouritesArray[j].id + ");return false;\"><img src=\"images/favourites-close.gif\" border=\"0\"></a><a href=\"Product.aspx?id=" + favouritesArray[j].id + "\">" + favouritesArray[j].title + "</a></li>");
                $(".bookmarks-list ul").append(listitem);
            }
            else {
                favouritesArray.splice(j, 1);
            }   
        }
    }
}
function addToFavourites(title, id) {
    if (!checkIfInFavourites(id)) {
        var favouritesArray = getFavouritesArray();
        if (favouritesArray == false) favouritesArray = [];
        favouritesArray.push({ id: id, title: title });
        saveCookie(favouritesArray);
        populateFavourites();
    }
    var blend = [
        { param: "border-color", colorList: ["#dd5417", "#cccccc"], cycles: 1, fps: 20, isFade: false },
        { param: "color", colorList: ["#dd5417", "#000000"], cycles: 1, fps: 10, isFade: false }
    ];
        $(".bookmarks").colorBlend(blend);
    if (id == currentId.toString()) {
        $(".addToFavourites").hide();
        $(".deleteFromFavourites").show();
    }
}
function checkIfInFavourites(id) {
    var favouritesArray = getFavouritesArray();
    var isInFavourites = false;
    for(j=0;j<favouritesArray.length;j++) {
        if (favouritesArray[j].id == id) {
            isInFavourites = true;
            break;
        }
    }
    return isInFavourites;
}
function getFavouritesArray() {
   var objarr = [];
   var favstr = $.cookie("VisitUmea-Favourites");
   if (favstr != undefined && favstr != "") {
       var favarr = favstr.split("|");
       for (j = 0; j < favarr.length; j++) {
           var favitem = favarr[j].split("#");
           if(favitem[0] != "undefined" && favitem[1] != "undefined") {
               objarr.push({ id: favitem[1], title: favitem[0] });
           }
       }
   }
   else return false;
   return objarr;
}
function deleteFromFavourites(title,id) {
    var favouritesArray = getFavouritesArray();
    var newArray = [];
    for (j = 0; j < favouritesArray.length; j++) {
        if (favouritesArray[j].id != id) {
            newArray.push(favouritesArray[j]);
        }
    }
    saveCookie(newArray);

    $(".bookmarks-list li:has(a[href*='" + id + "'])").slideUp(200, function() { populateFavourites(); });
    if (id == currentId) {
        $(".addToFavourites").show();
        $(".deleteFromFavourites").hide();
    }
}
function saveCookie(favouritesArray) {
    serstr = "";
    for (j = 0; j < favouritesArray.length; j++) {
        if (j > 0) serstr += "|";
        serstr += favouritesArray[j].title + "#" + favouritesArray[j].id;
    }
    $.cookie("VisitUmea-Favourites", serstr, { expires: 365 });
}

/*tipsaMail*/
function tipsaOmProdukt(productName, externalLink) {
    var tipsString = $("#tipsa_message").html();

    if (productName != '')
        tipsString = tipsString.replace('[*produkt*]', productName);

    if (externalLink != '')
        tipsString = tipsString.replace('[*externlänk*]', externalLink);

    
    $("#tipsa_message").html(tipsString);
    $("#div_tipsamail").slideToggle('slow');
}