function ajaxConnect( strURL, method, formID ) {
	if ( method == undefined ) {
		method = "get";
	}
	var xmlHttpReq = false;
	if ( window.XMLHttpRequest ) {
		xmlHttpReq = new XMLHttpRequest();
	} else if ( window.ActiveXObject ) {
		xmlHttpReq = new ActiveXObject( "Microsoft.XMLHTTP" );
	} else {
		alert( "Il browser in uso non supporta la tecnologia Ajax" );
	}
	if ( method.toLowerCase() == "get" && formID != undefined ) {
	    strURL += ( ( strURL.indexOf( "?" ) == - 1 ) ? "?" : "&" ) + getquerystring( formID );
	}
	xmlHttpReq.open( method, strURL );
	xmlHttpReq.setRequestHeader( "Content-Type", "application/x-www-form-urlEncoded" );
	if ( formID != undefined && method.toLowerCase() == "post" ) {
	    xmlHttpReq.send( getquerystring( formID ) ); 
	} else {
	    xmlHttpReq.send( null ); 
	}
	xmlHttpReq.onreadystatechange = function() {
		if ( xmlHttpReq.readyState == 4 ) {
			eval( xmlHttpReq.responseText );
		}
	};
}
function getquerystring( formID ) {
	var form = document.getElementById( formID );
	var querystring = "";
	function GetElemValue( name, value ) {
		querystring += ( querystring.length > 0 ? "&" : "" ) + escape( name ).replace( /\+/g, "%2B" ) + "=" + escape( value ? value : "" ).replace( /\+/g, "%2B" );
	}
	var elemArray = form.elements;
	for ( var i = 0; i < elemArray.length; i++ ) {
		var element = elemArray[i];
		var elemType = element.type.toUpperCase();
		var elemName = element.name;
		if ( elemName ) {
			switch ( elemType ) {
				case "TEXT":
				case "TEXTAREA":
				case "PASSWORD":
				case "BUTTON":
				case "RESET":
				case "SUBMIT":
				case "FILE":
				case "IMAGE":
				case "HIDDEN":
					GetElemValue( elemName, element.value );
				break;
				case "CHECKBOX":
					if ( element.checked ) {
						GetElemValue( elemName, element.value ? element.value : "On" );
					}
				break;
				case "RADIO":
					if ( element.checked ) {
						GetElemValue( elemName, element.value );
					}
				break;
				default:
					if ( elemType.indexOf( "SELECT" ) != -1 ) {
						for ( var j = 0; j < element.options.length; j++ ) {
							var option = element.options[j];
							if ( option.selected ){
								GetElemValue( elemName, option.value ? option.value : option.text );
							}
						}
					}
				break;
			}
		}
	}
	return querystring;
}
function ajax( url ) {
	url += ( ( url.indexOf( "?" ) == - 1 ) ? "?" : "&" ) + "output=ajax";
	ajaxConnect( url );
}
function spedisci( email ) {
	location = "mailto:" + email.replace( "[presso]", "@" );
}
function addEvent( obj, ev, fn ){
	if ( obj.addEventListener ) {
		obj.addEventListener( ev, fn, false );
	} else if ( obj.attachEvent ) {
		obj.attachEvent('on'+ev, fn);
	} else {
		if ( typeof( obj['on' + ev] ) == 'function' ){
			var f = obj['on' + ev];
			obj['on' + ev] = function(){if(f)f();fn();};
		}
		else obj['on' + ev] = fn;
	}
}
function externalLinks() { 
	if ( ! document.getElementsByTagName ) {
		return;
	}
	var anchors = document.getElementsByTagName( "a" );
	for ( var i = 0; i < anchors.length; i++ ) {
		var anchor = anchors[i];
		if ( anchor.getAttribute( "href" ) && anchor.getAttribute( "rel" ) == "external" ) {
			anchor.target = "_blank";
		}
	} 
}
function enableField( enable, formID, fieldName ) {
	if ( form = document.getElementById( formID ) ) {
		form[fieldName].disabled = enable;
	}
}
function validateEmail( email ) {
	var emailReg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/;
	var emailReg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,6}|[0-9]{1,3})(\]?)$/;
	return ! emailReg1.test( email ) && emailReg2.test( email );
}
function radioValue( oggettoRadio ) {
	for ( var i = 0; i < oggettoRadio.length; i++ ) {
		if ( oggettoRadio[i].checked ) {
			return oggettoRadio[i].value;
		}
	}
}
function validaRichiesta( form ) {
	campiObbligatori = {	"contatto[Email]" : "Email",
							"contatto[Nome]" : "Nome",
							"contatto[Cognome]" : "Cognome",
							"contatto[Telefono]" : "Telefono",
							"GiornataPreferita" : "Giornata preferita" };
	errore = "";
	for ( i in campiObbligatori ) {
		switch ( i ) {
			case "contatto[Email]":
				if ( ! validateEmail( form[i].value ) ) {
					errore += "Inserire un indirizzo e-mail valido\n";
				}
			break;
			case "GiornataPreferita":
				if ( ! radioValue( form[i] ) ) {
					errore += "Scegliere la giornata preferita per la prova\n";
				}
			break;
			default:
				if ( form[i].value == "" ) {
					errore += "Compilare correttamente il campo " + campiObbligatori[i] + "\n";
				}
			break;
		}
	}
	if ( errore ) {
		alert( errore );
		return false;
	}
	
}
function setScrollPane() {
	$(function() {
		$('.scroll-pane').jScrollPane({scrollbarWidth: 30});
	});
}
function mostravela() {
	document.getElementById( "vela" ).style.display = "block";
	document.getElementById( "barca" ).style.display = "none";
}
function mostrabarca () {
	document.getElementById( "barca" ).style.display = "block";
	document.getElementById( "vela" ).style.display = "none";
}
function mappa() {
	win = window.open( "mappa.html", "mappa", "width=460,height=400" );
	win.focus();
}
function elencoVideo( querystring ) {
	ajaxConnect( "/ajax/elenco-video.php?" + querystring );
	return false;
}
function elencoPhotostories( querystring ) {
	ajaxConnect( "/ajax/elenco-photostories.php?" + querystring );
	return false;
}
function cambiaFoto( idContenitore, src, srcZoom ) {
	if ( document.getElementById( idContenitore ) ) {
		var html = '<img src="' + src + '" alt="Foto" />';
		if ( srcZoom ) {
			html = '<a href="javascript:zoom(\'' + srcZoom + '\')">' + html + '</a>';
		}
		document.getElementById( idContenitore ).innerHTML = html;
	}
}
function strpos( haystack, needle) {
	var i = ( haystack + "" ).indexOf( needle, 0 );
	return i === - 1 ? false : i;
}
function zoom( src ) {
	var maschera = document.getElementById( "maschera" );
	maschera.style.display = "block";
	maschera.style.height = ( document.height || document.body.offsetHeight ) + "px";
	pagina = location.href;
	cut = strpos( pagina, "#" );
	if ( cut !== false ) {
		pagina = pagina.substr( 0, cut );
	}
	location = pagina + "#container";
	ajaxConnect( "/ajax/zoom.php?src=" + src );
}
function chiudiZoom() {
	document.getElementById( "maschera" ).style.display = "none";
	document.getElementById( "zoomContainer" ).style.display = "none";
}
function zoomImmagine( identificatore ) {
	var content = document.getElementById( "content" );
	var maschera = document.getElementById( "maschera" );
	maschera.style.display = "block";
	maschera.style.height = ( content.offsetHeight + content.offsetTop ) + "px";
	pagina = location.href;
	cut = strpos( pagina, "#" );
	if ( cut !== false ) {
		pagina = pagina.substr( 0, cut );
	}
	location = pagina + "#container";
	ajaxConnect( "/ajax/zoom-immagine.php?identificatore=" + identificatore );
}
function chiudiZoomImmagine() {
	document.getElementById( "maschera" ).style.display = "none";
	document.getElementById( "dettaglioImmagine" ).style.display = "none";
}
function immagineMedia( identificatore, immagine ) {
	document.getElementById( "immagineMediaDiv" ).innerHTML = '<a href="javascript:zoomImmagine(' + identificatore + ')"><img src="' + immagine + '" alt="Foto" /></a>';
}
function nascondiCopriFlickr() {
	document.getElementById( "copriFlickr" ).style.display = "none";
}
function mostraNextPrev() {
	if ( document.getElementById( "next" ) ) {
		document.getElementById( "next" ).style.visibility = "visible";
	}
	if ( document.getElementById( "prev" ) ) {
		document.getElementById( "prev" ).style.visibility = "visible";
	}
}
function nascondiNextPrev() {
	if ( document.getElementById( "next" ) ) {
		document.getElementById( "next" ).style.visibility = "hidden";
	}
	if ( document.getElementById( "prev" ) ) {
		document.getElementById( "prev" ).style.visibility = "hidden";
	}
}
function stampa() {
	window.print();
}
function apriChiudiDiv( divID, azione ) {
	document.getElementById( divID ).style.display = ( azione == "apri" ? "block" : "none" );
}
addEvent( window, "load", externalLinks );
