var markers = [];
var markerClusterer = null;
var campcenter = null;
var map = false;
var mapoverview = false;
var lang_bigmap = '';
var campID = 0;
var pictureDat = false;

var defaultDocTitle = document.title;
var currentdisplay = 0;

function gLoad() {
	// alert(campData.sites[0].id);
	var NAFlong = parseNAF(rawNAFlong);
	var NAFlat = parseNAF(rawNAFlat);
	if (GBrowserIsCompatible())
	{
		map = new GMap2(document.getElementById("minimapcanvas"));
		// map.addControl(new GLargeMapControl());
		// map.addControl(new GMapTypeControl());
		campcenter = new GLatLng(NAFlong, NAFlat);
		map.setCenter(campcenter,10);
		map.setUIToDefault();
		
		var icon = new GIcon(G_DEFAULT_ICON);
		icon.iconSize = new GSize(22,32);
		icon.image = "http://www.nafcamp.no/campingplasser/bilder/cchart.png";
		map.addOverlay(new GMarker(campcenter,icon));
	}
	lang_bigmap = $("a#getBigMap").html;
	$("a#getBigMap").click( function(event) { showBigMap();event.preventDefault();});
	$("a#closeBigMap").click( function(event) { closeBigMap();event.preventDefault();});
	
	$("body").append("<div class=\"iconexplaincontainer\"></div>");
	$(window).resize(function(){ $(".iconexplaincontainer *").remove();});
	$(".zGico").hover(function(e) {
				var pos = $(this).offset();
				var xPos = pos.left - 90;
				if(xPos < 10) xPos = 10;
				var yPos = pos.top - 75;
				var yPosStart = yPos - 10;
				var explainID = $(this).attr('id').replace('zic_','');
				//alert(explainID);
				if( $("#icexp_"+explainID).length  )
				{
				}
				else
				{
					var largeIconID = 'zicL_'+explainID;
					var txt = $(this).attr("title");
					if(txt.length > 60)
					{
						txt = '<span style="font-size:9px;">'+txt+'</span>';
					}
					var hoverText = "<span class=\"zGicoL ui-corner-all\" id="+ largeIconID + " style=\"float: left;position: relative;\"><\/span>" +txt;
					$(".iconexplaincontainer").append('<div class="iconexplain" id="icexp_'+explainID+'">'+ hoverText +'</div>');
					$("#icexp_"+explainID).css({top:yPosStart,left:xPos});
					
					$("div.iconexplain #icexp_"+explainID).html(hoverText);
				}
				$("#icexp_"+explainID).animate({opacity: "show", top: yPos }, "fast");
				
			}, function(e) {
				var pos = $(this).offset();
				var yPos = pos.top - 85;
				var explainID = $(this).attr('id').replace('zic_','icexp_');
				$("#"+explainID).animate({opacity: "hide", top: yPos}, "fast");
		});
	getCampPics();
	
}

function getCampPics() {
	pictureDat = false;
	$.ajax({
		method: "GET",
		url: "/campingplasser/gmapdata.php",
		beforeSend: function(){
						
					},
		complete: function(){
			// $("#map_loading_details").fadeOut("fast");
			},
		data: "lang="+lang+"&get=moreimages&cp=" + campID + "&max=10" ,
		success: function (data) {
			eval('pictureDat = ' + data);
			renderPics();
		}
	});
}

function renderPics(){
	if(pictureDat.pano != '0')
	{
		eval('PanoPics = '+pictureDat.pano);
	}
	else
	{
		PanoPics = false;
	}
	var i=0;
	if(pictureDat.imgs.length > 0)
	{
		for(i=0;i<pictureDat.imgs.length;i++)
		{
			renderGenThumb({img_url: pictureDat.imgs[i],thumb_url: pictureDat.imgs[i]}, i);
		}
	}
	if(PanoPics != false)
	{
		for(var p=0;p< PanoPics.photos.length;p++)
		{
			renderPanoramicoThumb(PanoPics.photos[p], p, i);
			i++;
		}
	}
}

function renderGenThumb(thumb, id) {
	$("div#campimgs #thumbs").append('<div id="mapPanoT'+ id +'" class="panoThumb"><div class="thmb_inner"><img id="pt_'+id+'" src="'+ thumb.thumb_url +'" alt=" " /></div></div>');
	$("div#mapPanoT"+id).click(function(evt){
							displayFullGenPicture(id);
							evt.preventDefault();
						});
	$("div#mapPanoT"+id).bind("mouseenter", function() { $(this).css("background-color", "#f2d200") });
	$("div#mapPanoT"+id).bind("mouseleave", function() { $(this).animate( { backgroundColor: "white" }, 1000)});
}

function renderPanoramicoThumb(photo, picid,id) {
	$("div#campimgs #thumbs").append('<div id="mapPanoT'+ id +'" class="panoThumb"><div class="thmb_inner"><img id="pt_'+id+'" src="'+ photo.photo_file_url +'" alt="'+ photo.photo_title +'" /></div></div>');
	$("div#mapPanoT"+id).click(function(evt){
							displayFullPanoPicture(picid);
							evt.preventDefault();
						});
	$("div#mapPanoT"+id).bind("mouseenter", function() { $(this).css("background-color", "#f2d200") });
	$("div#mapPanoT"+id).bind("mouseleave", function() { $(this).animate( { backgroundColor: "white" }, 1000)});
}

function showBigMap() {
	$("div#openbigmap").hide("fast");
	$("div#ZC_minikart").toggleClass('minimap');
	$("div#closebigmap").show("fast");
	
	$("div#minimapcanvas").animate({
					"height": "400px"}, 300);
	// setTimeout('$("div#campCoords").toggleClass("onmap");', 400);
	// setTimeout('$("div#ZC_minikart").toggleClass("bigmap");', 600);
	setTimeout("map.setUIToDefault();", 600);
	setTimeout("map.checkResize();", 600);
	setTimeout("map.panTo(campcenter);", 600);
	setTimeout("mapoverview = new GOverviewMapControl();map.addControl(mapoverview);", 600);
}

function closeBigMap() {
	$("div#minimapcanvas").animate({
					"height": "160px"}, 150);
	map.removeControl(mapoverview);
	$("div#closebigmap").hide("fast");
	$("div#openbigmap").show("fast");
	// $("div#ZC_minikart").toggleClass('bigmap');
	// $("div#campCoords").toggleClass('onmap');
	// setTimeout('$("div#ZC_minikart").toggleClass("minimap");', 450);
	setTimeout("map.checkResize();", 200);
	setTimeout("map.setUIToDefault();", 200);
	setTimeout("map.panTo(campcenter);", 350);
}

function showExp(id, txt){
	$("#"+ id).html(txt);
	$("#"+ id).css("visibility", "visible");
}
function reset(id){
	$("#" + id).css("visibility", "hidden");
}
function parseNAF (dmm) {
	// var reg = new RegExp('/\d+/g');
	// var lt = dmm.match(reg);
	var lt = dmm.split('\xB0');
	var deg = lt[0];
	var decims = lt[1];
	decims = decims.split(' ');
	var mins = decims[1];
	
	return (deg*1.0) + mins/60.0;
}
function dec2gps (dec, human) {
	var decstr = dec.toString();
	var pts = decstr.split('\.');
	var deg = parseInt(pts[0]);
	var mins = (dec - deg)*60;
	switch(human)
	{
		case 'human':
		default:
			return deg + '&#176; '+ truncGPS(mins);
		break;
		case false:
			return deg + ' '+ truncGPS(mins);
		break;
	}
}