// JavaScript Document

function stampa(target){
	//$(target).jqprint();
	$("#"+target).jqprint();  
}

function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|\\\\s)" + className + "(\\\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}

function Left(str, n) {
	if (n <= 0)
		return "";
	else if (n > String(str).length)
		return str;
	else
		return String(str).substring(0,n);
}

function Right(str, n) {
	if (n <= 0)
		return "";
	else if (n > String(str).length)
		return str;
	else
		return String(str).substring((String(str).length-n),String(str).length);
}




////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///	GESTORE DI CHIAMATE ASINCRONE (GCA)
/// sviluppato da Marco Campanelli
///
///	ISTRUZIONI
///	GCA utilizza la libreria jQuery nella versione jquery-1.3.2.min.js. E' necessario dunque includere tale 
///	libreria prima di utilizzare GCA.
///
///	ARGOMENTI
///
/// myUrl:		è la pagina da caricare dinamicamente eventualmente compresa di percorso e variabili in GET

///	myMethod:	è il metodo di trasporto dati. Accetta GET o POST

/// idForm:		è l'id del form da inviare (lasciare vuoto nel caso di invii in GET)

/// obb:		è la sequenza di campi obbligatori nel formato 0,1,2... (lasciare vuoto nel caso non ci siano 
///				campi obbligatori o in caso di invii in GET)

///	myTarget:	è il DIV dove verrà caricato il file.

///	clear:		valore boleano. True o 1 elimina il contenuto del DIV target prima di caricare 
///				la pagina al suo interno. False o 0 aggiunge al contenuto preesistente la pagina caricata.
///
///	ESEMPI
///	Richiesta pagina GET
///	<a href="javascript:loadObj('pagina.asp?miaVariabile1=mioValore1&miaVariabile2=mioValore2','GET','','','divBersaglio','1');" title="il mio link">il mio link</a>
///	L'esempio carica la pagina "pagina.asp" dentro il div che ha id="divBersaglio" inviando le 2 coppie "variabile" "valore"
///
///	Richiesta pagina POST
///	<a href="javascript:loadObj('pagina.asp?miaVariabile1=mioValore1','POST','clienti','0,1','divBersaglio','1');" title="il mio link">il mio link</a>
///	L'esempio carica in POST la pagina "pagina.asp" dentro il div che ha id="divBersaglio" inviando in GET variabile1=valore1 e 
///	in POST tutti i dati del form che ha come id="clienti". Il valore "0,1" di obb specifica che nel caso il primo o il secondo elemento
///	della form assuma valore='' la richiesta non verrà completata.
///
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///
///
///


function loadObj(myUrl,myMethod,idForm,obb,myTarget,clear){
    
	//////////////////////////////////////
	///// OGGETTO LOADING
	//////////////////////////////////////

	forceRandom = Math.random()*99999999;
	forceRandom = Math.round(forceRandom);
	
	nSize=18;
	sUnit="px";
	
	myLoadObj=	"<script src='js/loading/loading.js'></script>"+
				"<div style='position: relative; float: left; width: 100%; padding: 25px;'>"+
					"<div id='imgLoad' style='position: relative; float: left; width: "+nSize+sUnit+"; padding-right: 8px;'>"+
						"<div id='imgLoad1' style='position: relative; width: "+nSize+sUnit+"; display: block;'>"+
							"<img src='js/loading/img/1.png' width='"+nSize+"' height='"+nSize+"' />"+
						"</div>"+
						"<div id='imgLoad2' style='position: relative; width: "+nSize+sUnit+"; display: none;'>"+
							"<img src='js/loading/img/2.png' width='"+nSize+"' height='"+nSize+"' />"+
						"</div>"+
						"<div id='imgLoad3' style='position: relative; width: "+nSize+sUnit+"; display: none;'>"+
							"<img src='js/loading/img/3.png' width='"+nSize+"' height='"+nSize+"' />"+
						"</div>"+
						"<div id='imgLoad4' style='position: relative; width: "+nSize+sUnit+"; display: none;'>"+
							"<img src='js/loading/img/4.png' width='"+nSize+"' height='"+nSize+"' />"+
						"</div>"+
						"<div id='imgLoad5' style='position: relative; width: "+nSize+sUnit+"; display: none;'>"+
							"<img src='js/loading/img/5.png' width='"+nSize+"' height='"+nSize+"' />"+
						"</div>"+
						"<div id='imgLoad6' style='position: relative; width: "+nSize+sUnit+"; display: none;'>"+
							"<img src='js/loading/img/6.png' width='"+nSize+"' height='"+nSize+"' />"+
						"</div>"+
						"<div id='imgLoad7' style='position: relative; width: "+nSize+sUnit+"; display: none;'>"+
							"<img src='js/loading/img/7.png' width='"+nSize+"' height='"+nSize+"' />"+
						"</div>"+
						"<div id='imgLoad8' style='position: relative; width: "+nSize+sUnit+"; display: none;'>"+
							"<img src='js/loading/img/8.png' width='"+nSize+"' height='"+nSize+"' />"+
						"</div>"+
					"</div>"+
					"<div style='position:relative; float:left; width: 50px; padding-top: 0px; color: #ccc;'>loading...</div>"+
				"</div>";
	//////////////////////////////////////
	
	
	//////////////////////////////////////
	///// FUNZIONI AJAX
	//////////////////////////////////////
	function beforeFunction(){
		$("#"+myTarget).empty();
		if(clear==true){$("#"+myTarget).empty();}
		$("#"+myTarget).append(myLoadObj);
	}
	
	function successFunction(data){
		//clearInterval(timerID);
		if(clear==true){$("#"+myTarget).empty();}
		$("#"+myTarget).append(data);
	}
	//////////////////////////////////////
	
	

	forceRandom = Math.random()*99999999;
	forceRandom = Math.round(forceRandom);
	if (Right(myUrl,4)=='.asp'){
		myUrlDef = myUrl+'?forceRand='+forceRandom;
	}else{
		myUrlDef = myUrl+'&forceRand='+forceRandom;
	}
	
	//////////////////////////////////////
	///// CONTROLLO I CAMPI OBBLIGATORI PER L'INVIO IN POST
	//////////////////////////////////////
	if(myMethod=='POST'){
		error = 0;
		if(obb!=''){
			//var obbArray = obb.split(',');
			myLoop=0;
			$("#"+idForm+" [nNumber]").each(function(){
				if($(this).val()==''){
					//for(k=0;k<obbArray.length;k++) {
					//	if(myLoop==(obbArray[k])) {
							error++;
							alert('Il campo '+$(this).attr("alert")+' e\' vuoto.');
					//	}
					//}
				}
				myLoop=myLoop+1;
		  	});
		}
		//////////////////////////////////////
		
		
		if(error==0) {
			//////////////////////////////////////
			///// INVIO POST
			//////////////////////////////////////
			$.ajax({
				type: myMethod,
				url: myUrlDef,
				data: $("#"+idForm).serialize(),
				dataType: "html",
				beforeSend: function() { 
					beforeFunction();
				},
				success: function(data){
					successFunction(data);
				}
			});
			//////////////////////////////////////
		}
		
    }else{
		//////////////////////////////////////
		///// INVIO GET
		//////////////////////////////////////
        $.ajax({
            type: myMethod,
            url: myUrlDef,
            dataType: "html",
			beforeSend: function() { 
				beforeFunction();
			},
            success: function(data){
                successFunction(data);
            }
        });
		//////////////////////////////////////
    }
}

///
///
///
////////////////////////////////////////////////////////////////////



function liquidRemove(myObj){
	if($(myObj).prev("canvas").val()==''){
		$(myObj).prev("canvas").remove();
	}else{
		$(myObj).prev("div").remove();
	}	
}



function RefreshImage(valImageId) {
	var objImage = document.images[valImageId];
	if (objImage == undefined) {
		return;
	}
	var now = new Date();
	objImage.src = objImage.src.split('?')[0] + '?x=' + now.toUTCString();
	
	$("input[name='captchacode']").attr("value","");
	$("#exeCaptcha").empty();
}



function mailInviata(target){
	myLink='prenotaEvento.asp?step=3';
	loadObj(myLink,'GET','','',target,1);
}


function verPass(verNam1,verNam2,pageToLoad,method,idForm,obb,target,clear) {
	pass1 = document.getElementsByName(verNam1)[0].value;
	pass2 = document.getElementsByName(verNam2)[0].value;
	if(pass1!=pass2) {
		alert('I campi password non corrispondono');
	} else {
		loadObj(pageToLoad,method,idForm,obb,target,clear);
		//submitIt(idForm,obb);
	}
}


function verificaExt(ext,target) {
	nomeFile = document.getElementById(target).value;
	extFile = nomeFile.split('.');
	extLow = ext;
	extFirstUp = ext.substring(0,1).toUpperCase();
	extUp = ext.toUpperCase();
	if(extFile[(extFile.length-1)]==extLow || extFile[(extFile.length-1)]==extFirstUp || extFile[(ext.length-1)]==extUp) {
	} else {
		alert('Il file selezionato non è un file '+ext+'. Selezionare solo file '+ext+'.');
		document.getElementById(target).value = '';
	}
}

//function controlloLog() {
	//document.getElementById('logForm').submit();
	//completeAHAH.ahah('controlloLog.asp','errorLog','0','GET');
//}

function redirectMain() {
	document.location.href='index.asp?zona=2';
}

function submitIt(nomeForm,obb) {
	myForm = document.getElementById(nomeForm);
	myFormElements = myForm.elements;
	//obbArray = new Array();
	var obbArray = obb.split(',');
	//alert(obbArray[2]);
	error = 0;
	for(i=0;i<myFormElements.length;i++) {
		//document.getElementById("cont_"+myFormElements[i].name).style.backgroundColor = '';
		if(myFormElements[i].value=="") {
			for(k=0;k<obbArray.length;k++) {
				if(i==(obbArray[k])) {
					error++;
					//document.getElementById("cont_"+myFormElements[i].name).style.backgroundColor = '';
					alert('Il campo '+myFormElements[i].id+' e\' vuoto.');
				}
				
			}
		}
		
	}
	if(error==0) {
		myForm.submit();
	}
}

function verificaJPG() {
	nomeFile = document.getElementsByName('imgtmb')[0].value;
	ext = nomeFile.split('.');
	if(ext[(ext.length-1)]=='jpg' || ext[(ext.length-1)]=='Jpg' || ext[(ext.length-1)]=='JPG') {
	} else {
		alert('L\'immagine selezionata non &egrave; un JPG. Selezionare solo immagini formato JPG.');
		document.getElementsByName('imgtmb')[0].value = '';
	}
}

function resetIt(nomeForm) {
	form = document.getElementById(nomeForm);
	myFormElements = form.elements;
	for(i=0;i<myFormElements.length;i++) {
		if(document.getElementById("cont_"+myFormElements[i].name)){
			document.getElementById("cont_"+myFormElements[i].name).style.backgroundColor = '';
		}
	}
	form.reset();
}

function submitForm(form) {
	myForm = document.getElementById(form);
	myForm.submit();
}


function rollBtt(stato,btt) {
	myBtt = document.getElementById(btt);
	if(stato==1) {
		myBtt.style.color = 'black';
	} else {
		myBtt.style.color = 'white';
	}
}

function goToPage(pag) {
	if (loaded == 1) {
		document.location.href = 'index.asp?zona='+pag;
	}
}

function gotoAHAH(url,target) {
	completeAHAH.ahah(url,target,'0','GET');
}


//FUNZIONI DELLA HOME


function controlloCampi() {
	var stopIt = 0;
	var form = document.contact;
	var nome = form.nome.value;
	var cognome = form.cognome.value;
	var azienda = form.azienda.value;
	var indirizzo = form.indirizzo.value;
	var cap = form.cap.value;
	var citta = form.citta.value;
	var tel = form.tel.value;
	var email = form.email.value;
	var oggettoMsg = form.oggettoMsg.value;
	var corpoMsg = form.corpoMsg.value;
	corpoMsg.replace("\r","<br />");
	
	//CONDIZION
	
	if (nome == "") {
		alert("non hai inserito il nome");
		stopIt = 1;
	}
	if (cognome == "") {
		alert("non hai inserito il cognome");
		stopIt = 1;
	}
	if (email == "") {
		alert("non hai inserito la mail");
		stopIt = 1;
	}
	if (oggettoMsg == "") {
		alert("non hai inserito l'oggetto");
		stopIt = 1;
	}
	if (corpoMsg == "") {
		alert("non hai inserito il corpo del messaggio");
		stopIt = 1;
	}
	if (stopIt == 0) {

				
		//Applico replace per sostituire Pippo con Pluto
		corpoMsg = corpoMsg.replace(/\n/g, '<br>');
		
		
		//alert(corpoMsg);
		completeAHAH.ahah('popup.asp?step=2&nome='+nome+'&cognome='+cognome+'&azienda='+azienda+'&indirizzo='+indirizzo+'&cap='+cap+'&citta='+citta+'&tel='+tel+'&email='+email+'&oggettoMsg='+oggettoMsg+'&corpoMsg='+corpoMsg,'popup','0','GET');
		//ahah('insertCliente.asp','toDb');
	}
}


//FUNZIONI DELLA GALLERY
function allineaImg(target) {

	//hImg = element.offsetHeight;
	hImg=$("#"+target).innerHeight();
	//wImg = element.offsetWidth;
	wImg=$("#"+target).innerWidth();
	
	//hBox = document.getElementById('out'+target).clientHeight;
	hBox=$("#out"+target).innerHeight();
	//wBox = document.getElementById('out'+target).clientWidth;
	wBox=$("#out"+target).innerWidth();
	
	//alert('hBox:'+hBox+'px - wBox:'+wBox+'px');
	
	topImg=(hBox-hImg)/2;
	leftImg=(wBox-wImg)/2;
	
	//$("#"+target).css('margin-Left', leftImg+'px');
	//alert('top:'+topImg+'px - left:'+leftImg+'px');
	$("#out"+target).css("z-index","1500");
	$("#"+target).css("z-index","1200");
	$("#"+target).css("margin-top",topImg+"px");
	$("#"+target).css("margin-left",leftImg+"px");
}

sel = 0;

function inizializzaGallery(iniSel,lrg) {
	document.getElementById('navS').style.display = 'none';
	document.getElementById('navD').style.display = 'none';
	
	wFoto = document.getElementById('lrg').clientWidth;
	hFoto = document.getElementById('lrg').clientHeight;
	
	element = document.getElementById('lrgCont');
	bytefx.alpha(element, 0);
	//element.style.height = hFoto+'px';
	//alert(hFoto);
	if(hFoto != '') {
		document.getElementById('loading').style.paddingTop = ((hFoto/2)-15)+'px';
	} else {
		document.getElementById('loading').style.paddingTop = '180px';
	}
	document.getElementById('loading').style.display = 'block';
	document.getElementById('loading').innerHTML = '<img src="img/loading.gif" border="0" />';

	element = document.getElementById('outtmb'+iniSel);
	element.style.borderColor = '#ec651d';
	if(sel != '' || sel != iniSel) {
		element = document.getElementById('outtmb'+sel);
		element.style.borderColor = '#0094D3';
	}
	
	//document.getElementById('titTxt').innerHTML = txtXS;
	//document.getElementById('descTxt').innerHTML = txtS;
	
	document.getElementById('lrg').src = lrg;
	//document.getElementById('lrgCont').style.display = 'block';
	sel = iniSel;
}


function galleryLoaded(maxForPage) {
	document.getElementById('loading').innerHTML = '';
	document.getElementById('loading').style.display = 'none';
	element = document.getElementById('lrgCont');
	bytefx.fade(element, 0, 100, 15, function(){
		//document.getElementById('loading').style.display = 'none';
	});
	
	wFoto = document.getElementById('lrg').clientWidth;
	hFoto = document.getElementById('lrg').clientHeight;
	
	document.getElementById('nav').style.width = (wFoto+30)+'px';
	document.getElementById('nav').style.marginLeft = ((document.getElementById('zoom').clientWidth-(wFoto+30))/2)+'px';
	
	sel = sel*1;
	actImg = document.getElementById('img'+sel).value;
	//tImg = document.getElementsByName('totImg')[0].value;
	//tImg=tImg*1;
	//maxForPage=maxForPage*1;
	
	//if(maxForPage>=tImg) {
//		maxImg = maxForPage;
//	} else {
//		maxImg = tImg;
//	}
//	alert(maxForPage);

	myForm = document.getElementsByName('zzzForm')[0];
	myFormEl = myForm.elements;
	myFormTotEl = myFormEl.length-1;
	
	if(maxForPage>=myFormTotEl) {
		maxImg = myFormTotEl;
	} else {
		maxImg = maxForPage;
	}
	//alert(maxImg);
	
	
	if(sel == 0) {
		document.getElementById('navS').style.display = 'none';
		document.getElementById('navD').style.display = 'block';
		nextImg = document.getElementById('img'+(sel+1)).value;
		document.getElementById('navD').href = 'javascript:inizializzaGallery("'+(sel+1)+'","'+nextImg+'")';
	} else if(sel >= maxImg) {
		document.getElementById('navS').style.display = 'block';
		document.getElementById('navD').style.display = 'none';
		prevImg = document.getElementById('img'+(sel-1)).value;
		document.getElementById('navS').href = 'javascript:inizializzaGallery("'+(sel-1)+'","'+prevImg+'")';
	} else {
		document.getElementById('navS').style.display = 'block';
		document.getElementById('navD').style.display = 'block';
		prevImg = document.getElementById('img'+(sel-1)).value;
		nextImg = document.getElementById('img'+(sel+1)).value;
		document.getElementById('navS').href = 'javascript:inizializzaGallery("'+(sel-1)+'","'+prevImg+'")';
		document.getElementById('navD').href = 'javascript:inizializzaGallery("'+(sel+1)+'","'+nextImg+'")';
	}
}

function tmbOn(id) {
	document.getElementById('outtmb'+id).style.borderColor = '#66ff00';
}

function tmbOff(id) {
	if(sel !== id) {
		document.getElementById('outtmb'+id).style.borderColor = '#2f4f4f';
	}
}

function tmbClick(id,txtXS,txtS,lrg) {
	document.getElementById('outtmb'+sel).style.borderColor = '#ccc';
	document.getElementById('outtmb'+id).style.borderColor = '#ec651d';
	sel = id;
	document.getElementById('titTxt').innerHTML = txtXS;
	document.getElementById('descTxt').innerHTML = txtS;
	document.getElementById('lrg').src = 'mdb-database/Media/'+lrg;
}

function loadPage(nPage) {
	completeAHAH.ahah('tmbGallery.asp?page='+nPage,'tmb','0','GET');
}


