/*
 FILE JS PRINCIPALE PER IL SITO AMATORI
*/

var ua = navigator.userAgent.toLowerCase();
var isStrict = document.compatMode == 'CSS1Compat',
    isOpera = ua.indexOf("opera") > -1,
    isIE = ua.indexOf('msie') > -1,
    isIE7 = ua.indexOf('msie 7') > -1,
    isBorderBox = isIE && !isStrict,
    isSafari = (/webkit|khtml/).test(ua),
    isSafari3 = isSafari && !!(document.evaluate),
    isGecko = !isSafari && ua.indexOf('gecko') > -1,
    isWindows = (ua.indexOf('windows') != -1 || ua.indexOf('win32') != -1),
    isMac = (ua.indexOf('macintosh') != -1 || ua.indexOf('mac os x') != -1),
    isLinux = (ua.indexOf('linux') != -1);

/*Trippetto per Riconoscere IE6 con JQuery*/
var isIE6 = false;
jQuery.each(jQuery.browser, function(i, val) {
	if(jQuery.browser.msie && jQuery.browser.version.substr(0,1)<="6") {
		isIE6 = true;
	}	
});     
    
var getViewportHeight = function(){
  var height = window.innerHeight; // Safari
  var mode = document.compatMode;
  if((mode || isIE) && !isOpera){
      height = isStrict ? document.documentElement.clientHeight : document.body.clientHeight;
  }
  return height;
};
var getViewportWidth = function(){
  var width = window.innerWidth; // Safari
  var mode = document.compatMode;
  if(mode || isIE){
      width = isStrict ? document.documentElement.clientWidth : document.body.clientWidth;
  }
  return width;
};
var getDocumentHeight = function(){
  var scrollHeight = isStrict ? document.documentElement.scrollHeight : document.body.scrollHeight;
  return Math.max(scrollHeight, getViewportHeight());
};
var getDocumentWidth = function(){
  var scrollWidth = isStrict ? document.documentElement.scrollWidth : document.body.scrollWidth;
  return Math.max(scrollWidth, getViewportWidth());
};

/*Bottone credits*/
var InitPage = function(){
	var CreditsWidth = jQuery('#Credits').width();
	var CreditsHeight = jQuery('#Credits').height();
	jQuery('#btnCredits').click(
		function(event) {
			event.preventDefault();
			jQuery('#Flash object').css('visibility','hidden');
			var width = (getViewportWidth() - CreditsWidth)/2;//210
			var height = (getViewportHeight() - CreditsHeight)/2;
			jQuery('#Fondo').prepend("<div id='Overlay' style='opacity:0;display:block;position:absolute;top:0;left:0;width:"+getDocumentWidth()+"px;height:"+getDocumentHeight()+"px;background-color:#000;'></div>");
			jQuery('#Overlay').fadeTo(500,0.8);
			if (isIE6) {
				jQuery('html,body').animate({scrollTop: 0}, 1000);
				jQuery('#Credits').css('position','absolute');
			}
			jQuery('#Credits').css('left',width+'px').css('top',height+'px').show("blind",{direction:"vertical"},500);
		});
	jQuery('#Chiudi').click(
		function(event) { 
			event.preventDefault();
			jQuery('#Credits').hide("blind",{direction:"vertical"},500); 
			jQuery('#Overlay').fadeTo(500,0,function(){jQuery('#Overlay').remove()});
		});
	jQuery('#Colonna2 p a[target=_blank]').attr('target','');
}

var InitBottonieraCat = function(){
	jQuery('dt.SottoCat').click(function(event) {
		event.preventDefault();
		jQuery(this).next('dd').slideToggle('fast');
	});
	jQuery('#ResetTerritorio').click(function(event) {
		jQuery('#Colonna1 div.Box').html('<img src="'+PATH_LAYOUT_AJAX+'ajax-loader.gif" alt="loading..." />');
		jQuery.get(PATH_AJAX+'resetColonna1.php',function(data){
			jQuery('#Colonna1 div.Box').html(data);
		});
	});
	jQuery('#ResetProposte').click(function(event) {
		jQuery('#Colonna3 div.BoxInterno').html('<img src="'+PATH_LAYOUT_AJAX+'ajax-loader.gif" alt="loading..." />');
		jQuery.get(PATH_AJAX+'resetColonna3.php',function(data){
			jQuery('#Colonna3 div.BoxInterno').html(data);
		});
	});
}

/*Fumetto Approfondimenti*/
var InitApprofondimenti = function(){
	jQuery('#Colonna2 p a[href=#]').click(function(event) {
		jQuery('#PupupApp').remove();
		event.preventDefault();
		mouseX = event.pageX-355;
		mouseY = event.pageY-210;
		jQuery('#Colonna2').append('<div id="PupupApp" style="top:'+mouseY+'px;left:'+mouseX+'px;"><img src="'+PATH_LAYOUT_AJAX+'ajax-loader.gif" alt="loading..." /></div>');
		var thisElement = jQuery(this);
		jQuery.get(PATH_AJAX+'approfondimenti.php?app='+thisElement.text(),function(data){
			jQuery('#PupupApp').html(data);
			jQuery('.Close').click(function(event) {
				event.preventDefault();
				jQuery('#PupupApp').remove();
			});
		});	
	});
}

/*************** Funzioni Pagina Mappa *******************/
var gmarkers = [];
var htmls = [];
var side_bar_html = '';
var paginazione_html = '';
var j = 0;
var dimpag = 4

function myclick(i) {
  gmarkers[i].openInfoWindowHtml(htmls[i]);
}

// A function to create the marker and set up the event window
function createMarker(point,name,html,link,icon) {
  var marker = new GMarker(point,{icon:icon});
  GEvent.addListener(marker, "click", function() {
    marker.openInfoWindowHtml('<h2><a href="'+link+'">'+name +'</a></h2><div style="padding:5px 0 0 0;width:200px;">'+html+'</div>');
  });
  gmarkers[j] = marker;
  htmls[j] = '<h2><a href="'+link+'">'+name +'</a></h2><div style="padding:5px 0 0 0;width:200px;">'+html+'</div>';
  side_bar_html += '<a name="a'+j+'"></a><li><img src="'+PATH_LAYOUT_AJAX+'flag.jpg" alt="Flag'+j+'" /><div><a href="javascript:myclick('+j+')">'+name+'</a><br/>'+html+'</div></li>';
  j++;
  return marker;
}

function InitPaginazione(){
	jQuery('#Paginazione a').click(function(event) {
		event.preventDefault();
		jQuery('#Paginazione a').removeClass('Attivo');
		jQuery(this).addClass('Attivo');
		window.location.href = jQuery(this).attr('href');
	});
}


function caricaPuntiMappa(doc) {	
	if (GBrowserIsCompatible()) {
		var map = new GMap2(document.getElementById("Mappa"));
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.setCenter(new GLatLng(45.100000,15.200000),8);
	  var bounds = new GLatLngBounds();
	  //icona personalizzata
		var icon = new GIcon();
		icon.iconSize = new GSize(29, 32);
		icon.iconAnchor = new GPoint(14, 16);
		icon.infoWindowAnchor = new GPoint(29, 32);
		flag = new GIcon(icon,PATH_LAYOUT_AJAX+'flag.png'); 
		//parso l'xml
		var xmlDoc = GXml.parse(doc);
		var markers = xmlDoc.documentElement.getElementsByTagName("marker");
		var righeTot = markers.length;
		if (righeTot != 0) {
			for (var i = 0; i < righeTot; i++) {
				var lat = parseFloat(markers[i].getAttribute("lat"));
				var lng = parseFloat(markers[i].getAttribute("lng"));
				var point = new GLatLng(lat,lng);
				var html = markers[i].getAttribute("html");
				var label = markers[i].getAttribute("label");
				var link = markers[i].getAttribute("link");
				// create the marker
				var marker = createMarker(point,label,html,link,flag);
				map.addOverlay(marker);
				bounds.extend(point);
			}
			//paginazione
			for(p=1;p<=Math.ceil(righeTot/dimpag);p++){
				if (p == 1) strClass = ' class="Attivo"'; else strClass = '';
				paginazione_html += '<a href="#a'+((p*dimpag)-dimpag)+'"'+strClass+'>'+p+'</a>, ';
			}
			side_bar_html = '<h1>Hai trovato:</h1><ul>' + side_bar_html + '</ul><div id="Paginazione"></div>';
			jQuery('#ElencoPunti').html(side_bar_html);
		  jQuery('#Paginazione').html(paginazione_html.slice(0,-2));
		  InitPaginazione();
			map.setZoom(map.getBoundsZoomLevel(bounds));
			map.setCenter(bounds.getCenter());
		} else {
			jQuery('#Paginazione').empty();		
			jQuery('#ElencoPunti').html('<p>La ricerca che hai effettuato non ha restituito nessuna localit&agrave;</p>');
			map.setCenter(new GLatLng(45.100000,15.200000),8);
		}
	}
}

/*funzione che ricerca i punti in base ai valori della form*/
function RicercaPunti() {
	if ((jQuery('#iCat').val() == 0) && (jQuery('#iSottoCat').val() == 0) && (jQuery('#strTxt').val() == '')){
		jQuery('#ElencoPunti').html('<p>Utilizza la form in alto per scoprire il territorio della Croazia sulla mappa!</p>');
	} else {
		jQuery('#SearchMap').attr('src',PATH_LAYOUT_AJAX+'ajax-loader.gif');
		  jQuery.get(PATH_AJAX+'getPuntiMappa.php?iCat='+jQuery('#iCat').val()+'&iSottoCat='+jQuery('#iSottoCat').val()+'&strTxt='+jQuery('#strTxt').val(),function(data){
		  	jQuery('#ElencoPunti').empty();
		  	side_bar_html = '';
		  	paginazione_html = '';
		  	j = 0;
		  	caricaPuntiMappa(data);
		  	jQuery('#SearchMap').attr('src',PATH_LAYOUT_AJAX+'vai.gif');
		});
	}
}

var InitMappa = function(){
	jQuery('#iCat').change(function(event) {
		jQuery('#iSottoCat').html('<option value="0">loading...</option>');
	  jQuery.get(PATH_AJAX+'getSottoCat.php?iCat='+jQuery(this).val(),function(data){
			jQuery('#iSottoCat').html(data);
		});
		RicercaPunti();
	});
	jQuery('#iSottoCat').change(function(event) {
		RicercaPunti();
	});
	jQuery('#SearchMap').click(function(event) {
		event.preventDefault();
		RicercaPunti();  
	});
}