$(function() {
    $('a[rel*=external]').click( function() {
    	var merchant = $(this).attr('class'); 
    	pageTracker._trackPageview('/merchants/'+merchant+'');     
        window.open(this.href);
        return false;
    });
});

$(document).ready(function(){
    $(".acountrytoggle").click(function () {
      $(".countrytoggle").slideToggle("fast");
      $(this).text($(this).text() == 'Minder landen' ? 'Meer landen' : 'Minder landen');
    });
     $(".aareatoggle").click(function () {
      $(".areatoggle").slideToggle("fast");
      $(this).text($(this).text() == 'Minder regio\'s' ? 'Meer regio\'s' : 'Minder regio\'s');

    });   
      $(".acitytoggle").click(function () {
      $(".citytoggle").slideToggle("slow");
      $(this).text($(this).text() == 'Minder steden' ? 'Meer steden' : 'Minder steden');
    }); 
      $(".amoreinfotoggle").click(function () {
      $(".moreinfotoggle").slideToggle("slow");
    }); 
      $("#ahotspottoggle").click(function () {
          $("#hotspottoggle").slideToggle("fast");
        });     
      
      
     
 });

function getZonRegions(countrycode) {
	$(".zoekform select[name='area_url']").html('<option>Lijst wordt opgehaald...</option>');
	$("select[name='city_url']").html('<option>Lijst wordt opgehaald...</option>');
    $.get("ajax/area.php?countryurl=" + countrycode, function(data){
	    $(".zoekform select[name='area_url']").html(data);
	});
    getZonPlaces(false);
}

function getZonPlaces(regioncode) {
    $.get("ajax/city.php?countryurl=" + $('#country').val() + "&areaurl=" + regioncode, function(data){
	    $("select[name='city_url']").html(data);
	});
}


function showDescriptionTab(){
	$('#descriptionli').addClass("selected");
	
	$('[id$=beschrijvingen]').css('display', 'block');
	
	$('[id$=fotos]').css('display', 'none');
	$("#imageli").removeClass('selected'); 
	
	$('[id$=buurt]').css('display', 'none');
	$("#regionli").removeClass('selected'); 	
	
	$('[id$=regio]').css('display', 'none');
	$("#mapli").removeClass('selected');  	
	
	$('[id$=reviews]').css('display', 'none');
	$("#reviewli").removeClass('selected'); 	
	
}

function showRegionTab(){
	$('#regionli').addClass("selected");
	
	$('[id$=beschrijvingen]').css('display', 'none');
	$("#descriptionli").removeClass('selected');   
	
	$('[id$=fotos]').css('display', 'none');
	$("#imageli").removeClass('selected'); 
	  	
	$('[id$=buurt]').css('display', 'block'); 
	 
	$('[id$=regio]').css('display', 'none');
	$("#mapli").removeClass('selected');  	
	
	$('[id$=reviews]').css('display', 'none');
	$("#reviewli").removeClass('selected'); 		
}


function showImageTab(){
	$('#imageli').addClass("selected");
		
	$('[id$=beschrijvingen]').css('display', 'none');
	$("#descriptionli").removeClass('selected'); 
		
	$('[id$=fotos]').css('display', 'block');
	
	$('[id$=buurt]').css('display', 'none');
	$("#regionli").removeClass('selected'); 	
	
	$('[id$=regio]').css('display', 'none');
	$("#mapli").removeClass('selected');  
	
	$('[id$=reviews]').css('display', 'none');
	$("#reviewli").removeClass('selected'); 		
}

function showMapTab(){
	
	$('#mapli').addClass("selected");	
	
	$('[id$=beschrijvingen]').css('display', 'none');
	$("#descriptionli").removeClass('selected');
	
	$('[id$=fotos]').css('display', 'none');
	$("#imageli").removeClass('selected'); 
	
	$('[id$=buurt]').css('display', 'none');
	$("#regionli").removeClass('selected'); 	
	
	$('[id$=regio]').css('display', 'block');

	$('[id$=reviews]').css('display', 'none');
	$("#reviewli").removeClass('selected'); 	
}

function showReviewTab(){	
	$('#reviewli').addClass("selected");	
	$('[id$=reviews]').css('display', 'block');

	$('[id$=beschrijvingen]').css('display', 'none');
	$("#descriptionli").removeClass('selected');
	
	$('[id$=fotos]').css('display', 'none');
	$("#imageli").removeClass('selected'); 
	
	$('[id$=buurt]').css('display', 'none');
	$("#regionli").removeClass('selected'); 	
	
	$('[id$=regio]').css('display', 'none');
	$("#mapli").removeClass('selected');  

}

//function to hide the tool tip
function hideToolTip () {
  toolTip.style.visibility="hidden";
};

//function to show the tool tip
function showToolTip(marker) {
  toolTip.innerHTML = marker.tooltip;
  var point=map.getCurrentMapType().getProjection().fromLatLngToPixel(map.getBounds().getSouthWest(),map.getZoom());
  var offset=map.getCurrentMapType().getProjection().fromLatLngToPixel(marker.getPoint(),map.getZoom());
  var anchor=marker.getIcon().iconAnchor;
  var width=marker.getIcon().iconSize.width;
  var pos = new GControlPosition(G_ANCHOR_BOTTOM_LEFT, new GSize(offset.x - point.x - anchor.x + width,- offset.y + point.y +anchor.y)); 
  pos.apply(toolTip);
  toolTip.style.visibility="visible";
}; 



//load Google Map
function load(country, area, city, stars) {
  if (GBrowserIsCompatible()) {
  	var map = new GMap2(document.getElementById("googlemap"));
	var geocoder = new GClientGeocoder();
	map.setCenter(new GLatLng(0,0),0);
	map.setMapType(G_PHYSICAL_MAP);
	geocoder.setBaseCountryCode("nl");

	//add controls
    map.addControl(new GMapTypeControl());

	//create randomnumber to prevent caching and retrieve xml file
    if(city != '' && city != 'false')
    {
       GDownloadUrl("xml/hotellist.php?country="+country+"&area="+area+"&city="+city+"&stars="+stars, function(data, responseCode) {
    	    var xml = GXml.parse(data);
    		
    		//store markers in markers array
    	    var markers 	= xml.documentElement.getElementsByTagName("marker");
    	    var markerimage = xml.documentElement.getElementsByTagName("markerimage");
    	    
    	    //create bounds
    	    var bounds = new GLatLngBounds();
    		        		
    		//loop over the markers array
    		  for (var i = 0; i < markers.length; i++) {
    			    var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
    			                            parseFloat(markers[i].getAttribute("lng")));
    			    bounds.extend(point);
    	    		
    			    // create marker icon
    	    		var icon = new GIcon();
    	    		icon.iconSize = new GSize(markerimage[i].getAttribute("width"), markerimage[i].getAttribute("height"));
    	    		icon.iconAnchor = new GPoint(6, 20);
    	    		icon.infoWindowAnchor = new GPoint(5, 1);
    		   		icon.image = markerimage[i].getAttribute("url");
    			    
    		        var html 	 = markers[i].getAttribute("html");
    		        var deeplink = markers[i].getAttribute("deeplink");
    		        var marker 	 = createMarker(point, html, icon, deeplink);
    		        map.addOverlay(marker);
    				map.addControl(new GMapTypeControl());
    			  }
    		  	// end loop
    		  
    	      // ===== determine the zoom level from the bounds =====
    		  var zoomlevel = map.getBoundsZoomLevel(bounds);

    		   map.setZoom(zoomlevel);
    		   map.setCenter(bounds.getCenter());
    	       map.setUIToDefault();
    	       map.disableScrollWheelZoom();
  		      
    		  }
    		); //close GDownloadUrl
    	
    }else{
	    GDownloadUrl("xml/citylist.php?country="+country+"&area="+area+"&city="+city, function(data, responseCode) {
	    var xml = GXml.parse(data);
	
		//store markers in markers array
	    var markers = xml.documentElement.getElementsByTagName("marker");
	
	    //create bounds
	    var bounds = new GLatLngBounds();
	
		//loop over the markers array
		  for (var i = 0; i < markers.length; i++) {
			  
				// create marker icon
				var icon = new GIcon();
				
				icon.image = "http://dev.jongerenreis.com/images/markers/city.png";
				icon.iconSize = new GSize(15, 20);
				icon.iconAnchor = new GPoint(6, 20);
				icon.infoWindowAnchor = new GPoint(5, 1);			  
			    var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
			                            parseFloat(markers[i].getAttribute("lng")));
			    //map.addOverlay(new GMarker(point));
			    bounds.extend(point);
	
		        var html 	 = markers[i].getAttribute("html");
		        var deeplink = markers[i].getAttribute("deeplink");
		        var marker 	 = createMarker(point, html, icon, deeplink);
		        map.addOverlay(marker);
				map.addControl(new GMapTypeControl());
			  }
		  	// end loop
		  
	      // ===== determine the zoom level from the bounds =====
		  var zoomlevel = map.getBoundsZoomLevel(bounds);
	
		   if (zoomlevel > 10) { zoomlevel = 10;  }
		   
		   map.setZoom(zoomlevel);
	
	       // ===== determine the centre from the bounds ======
		   map.setZoom(zoomlevel);
		   map.setCenter(bounds.getCenter());
	       map.setUIToDefault();
	       map.disableScrollWheelZoom();

		  }
		); //close GDownloadUrl
    }

//Create marker and set up event window
function createMarker(point,html,icon, deeplink){
  var marker = new PdMarker(point,icon);
  GEvent.addListener(marker, "click", function() {
	  window.location=deeplink;
  }); 
  GEvent.addListener(marker, 'mouseover', function() {
		marker.setTooltip(html);
   }); 
  return marker;
}

  } //close GBrowserIsCompatible
} //close load


var headline_count;
var headline_interval;
var old_headline = 0;
var current_headline = 0;

$(document).ready(function(){
  headline_count = $("div.headline").size();
  $("div.headline:eq("+current_headline+")").css('top','5px');

  headline_interval = setInterval(headline_rotate,5000); //time in milliseconds
  $('#newsitems').hover(function() {
    clearInterval(headline_interval);
  }, function() {
    headline_interval = setInterval(headline_rotate,5000); //time in milliseconds
    headline_rotate();
  });
});

function headline_rotate() {
  current_headline = (old_headline + 1) % headline_count; 
  $("div.headline:eq(" + old_headline + ")").animate({top: -205},"slow", function() {
    $(this).css('top','210px');
  });
  $("div.headline:eq(" + current_headline + ")").show().animate({top: 5},"slow");  
  old_headline = current_headline;
}
