function rollOver(imageObj, newSrc) {
	imageObj.src = newSrc
}

function openModalDialog(url,width,height) {
	if (height==null) height = 350
	var modalNew = window.open(url,"_blank","scrollbars=yes,height="+height+",width="+width+",resizable=yes,status=yes,toolbar=no,menubar=no,location=no")
	modalNew.focus();
}

function openMap(url,width,height) {
	if (height==null) height = 350
	var modalNew = window.open(url,"vistaMappa","scrollbars=yes,height="+height+",width="+width+",resizable=yes,status=yes,toolbar=no,menubar=no,location=no")
	modalNew.focus();
}

function openCatalogo(IDinserzione) {
	if (IDinserzione!=null)
		var winCatalogo = window.open("/admin/catalogoImmagini.asp?IDinserzione="+IDinserzione,"winCatalogo","scrollbars=yes,height=350,width=600,resizable=yes,status=yes,toolbar=no,menubar=no,location=no")
	else
		var winCatalogo = window.open("/admin/catalogoImmagini.asp","winCatalogo","scrollbars=yes,height=350,width=600,resizable=yes,status=yes,toolbar=no,menubar=no,location=no")
	winCatalogo.focus();
}

function open360Degrees(IDinserzione) {
	if (IDinserzione!=null) {
		var win360Degrees = window.open("/admin/360Degrees.asp?IDinserzione="+IDinserzione,"win360Degrees","scrollbars=yes,height=600,width=650,resizable=yes,status=yes,toolbar=no,menubar=no,location=no")
		win360Degrees.focus();
	}
}

function openVideoView(videopath) {
	if (videopath!=null) {
		var winVideoView = window.open("/video.asp?video="+videopath,"winVideoView","scrollbars=yes,height=500,width=650,resizable=yes,status=yes,toolbar=no,menubar=no,location=no")
		winVideoView.focus();
	}
}

function openVtView(videopath) {
	if (videopath!=null) {
		var winVideoView = window.open(videopath,"winVtView","scrollbars=no,height=600,width=800,resizable=no,status=no,toolbar=no,menubar=no,location=no")
		winVideoView.focus();
	}
}

function open360DegreesView(IDinserzione) {
	if (IDinserzione!=null) {
		var win360DegreesView = window.open("/360Degrees.asp?IDinserzione="+IDinserzione,"win360DegreesView","scrollbars=yes,height=500,width=650,resizable=yes,status=yes,toolbar=no,menubar=no,location=no")
		win360DegreesView.focus();
	}
}

function openEditor(tabella,campo,id,nomeid,ext) {
	if (ext==null)
		ext=""
	var winEditor = window.open("/include/JS/popupEditor.asp?tabella="+tabella+"&campo="+campo+"&id="+id+"&nomeid="+nomeid+"&ext="+ext,"winEditor","scrollbars=yes,height=350,width=600,resizable=yes,status=yes,toolbar=no,menubar=no,location=no")
	winEditor.focus();
}

function espandi(divName,img) {
	divToExpand = document.all.item(divName)
	if (divToExpand.style.display == "") {
		divToExpand.style.display = "none"
		img.src = "/images/espandi.gif"
	}
	else {
		divToExpand.style.display = ""
		img.src = "/images/contrai.gif"
	}
}

function fillSelect(obj,from,to,step,startBox,max) {
	if (obj.options.selectedIndex>=0)
		last = parseInt(obj.options[obj.options.selectedIndex].value)
	else
		last = 0
	if (isNaN(to))
		to = max;
	len = obj.options.length;
	for (i=0;i<len;i++) {
		obj.options.remove(0);
	}
	n = (to-from)/step;
	num = from;
	if (!startBox) num += step;
	for (i=0;i<n;i++) {
		var oOption = document.createElement("OPTION");
		obj.options.add(oOption);
		oOption.innerText = num;
		oOption.value = num;
		if (num == last)
			oOption.selected = true;
		else
			oOption.selected = false;
		num += step;
	}
	if (!startBox) {
		var oOption = document.createElement("OPTION");
		obj.options.add(oOption);
		oOption.innerText = "Oltre";
		oOption.value = '';
		if (isNaN(last))
			oOption.selected = true;
	}
}

function eliminaInserzione(id) {
	if (id!=null)
		if (confirm("Vuoi eliminare l'inserzione?\nTUTTE LE INFORMAZIONI RELATIVE ALL'INSERZIONE SARANNO ELIMINATE!!!!"))
			document.location = "elimina_inserzione.asp?IDinserzione="+id
			//alert("eliminazione disabilitata")
}

function eliminaOfferta(id) {
	if (id!=null)
		if (confirm("Vuoi eliminare l'offerta?\nTUTTE LE INFORMAZIONI RELATIVE ALL'OFFERTA SARANNO ELIMINATE!!!!"))
			document.location = "elimina_offerta.asp?IDofferta="+id
			//alert("eliminazione disabilitata")
}


function modificaInserzione(id) {
	if (id==null)
		document.location = "aggiungi_inserzione.asp"
	else
		if (confirm("Vuoi modificare i dati dell'inserzione?"))
			document.location = "modifica_dati.asp?IDinserzione="+id
}

function modificaOfferta(id) {
	if (id==null)
		document.location = "aggiungi_offerta.asp"
	else
		if (confirm("Vuoi modificare i dati dell'offerta?"))
			document.location = "modifica_offerta.asp?IDofferta="+id
}

function modificaPrezziInserzione(id) {
	if (id!=null)
		if (confirm("Vuoi modificare i prezzi dell'inserzione?"))
			document.location = "modifica_prezzi.asp?IDinserzione="+id
}

function richiediInfo(id) {
	if (id!=null) {
		var infoWindow = window.open("/richiediInfo.asp?IDrisorsa="+id,"infoWindow","scrollbars=auto,height=540,width=600,resizable=yes,status=yes,toolbar=no,menubar=no,location=no")
		infoWindow.focus();
	}
}

function richiediInfoOfferta(id) {
	if (id!=null) {
		var infoWindow = window.open("/richiediInfoOfferta.asp?IDofferta="+id,"infoOfertaWindow","scrollbars=auto,height=540,width=600,resizable=yes,status=yes,toolbar=no,menubar=no,location=no")
		infoWindow.focus();
	}
}


function richiediDisp(id) {
	if (id!=null) {
		var dispWindow = window.open("/richiediDisp.asp?IDrisorsa="+id,"dispWindow","scrollbars=yes,height=540,width=600,resizable=no,status=yes,toolbar=no,menubar=no,location=no")
		dispWindow.focus();
	}
}

function caparraOnline(id) {
	if (id!=null) {
		var dispWindow = window.open("/caparraOnline.asp?IDrisorsa="+id,"dispWindow","scrollbars=yes,height=540,width=600,resizable=no,status=yes,toolbar=no,menubar=no,location=no")
		dispWindow.focus();
	}
}

function alphaBlending(foreground,background,alpha) {
	//algoritmo: a(r1,g1,b1) + (1 - a) * (r2,g2,b2)
	alpha = alpha.toFixed(2)
	alpha_1 = 1 - alpha
	alpha_1 = alpha_1.toFixed(2)
	if (foreground.indexOf("#")>-1) {
		foreground = foreground.substr(1);
	}
	if (background.indexOf("#")>-1) {
		background = background.substr(1);
	}
	var subFcolor = "", subBcolor="", subAcolor = ""
	if ((alpha<1)) {
		R = Math.round(alpha * parseInt(foreground.substr(0,2),16))
		G = Math.round(alpha * parseInt(foreground.substr(2,2),16))
		B = Math.round(alpha * parseInt(foreground.substr(4,2),16))
		if (R < 16) subFcolor += "0" + R.toString(16); else subFcolor += R.toString(16);
		if (G < 16) subFcolor += "0" + G.toString(16); else subFcolor += G.toString(16);
		if (B < 16) subFcolor += "0" + B.toString(16); else subFcolor += B.toString(16);
		R = Math.round(alpha_1 * parseInt(background.substr(0,2),16))
		G = Math.round(alpha_1 * parseInt(background.substr(2,2),16))
		B = Math.round(alpha_1 * parseInt(background.substr(4,2),16))
		if (R < 16) subBcolor += "0" + R.toString(16); else subBcolor += R.toString(16);
		if (G < 16) subBcolor += "0" + G.toString(16); else subBcolor += G.toString(16);
		if (B < 16) subBcolor += "0" + B.toString(16); else subBcolor += B.toString(16);
		R = Math.round(parseInt(subFcolor.substr(0,2),16)+parseInt(subBcolor.substr(0,2),16))
		G = Math.round(parseInt(subFcolor.substr(2,2),16)+parseInt(subBcolor.substr(2,2),16))
		B = Math.round(parseInt(subFcolor.substr(4,2),16)+parseInt(subBcolor.substr(4,2),16))
		if (R < 16) subAcolor += "0" + R.toString(16); else subAcolor += R.toString(16);
		if (G < 16) subAcolor += "0" + G.toString(16); else subAcolor += G.toString(16);
		if (B < 16) subAcolor += "0" + B.toString(16); else subAcolor += B.toString(16);
		return "#" + subAcolor
	}
	else
		return foreground
}

function goPage(form,n) {
	form.page.value = n;
	form.submit();
}

function toggleDatesDiv(id) {
	dates = id.split("|")
	var divColl = TDDATES.children.tags("DIV")
	if (divColl!=null) {
		DIVmodificadate.style.display = ""
		for (i=0;i<divColl.length;i++) {
			if ((divColl[i].id=="DIVDATES"+dates[0]+dates[1])) {
				divColl[i].style.display=""
			}
			else {
				divColl[i].style.display="none"
			}
		}
	}
}

function togglePrezziDiv(id) {
	id = id.substr(9)
	var divColl = TDPREZZI.children.tags("DIV")
	if (divColl!=null) {
		DIVmodificaprezzi.style.display = ""
		for (i=0;i<divColl.length;i++) {
			if ((divColl[i].id=="DIVPREZZI"+id)) {
				divColl[i].style.display=""
			}
			else {
				divColl[i].style.display="none"
			}
		}
	}
}

function closeDIVmodificadate() {
	if (confirm("Attenzione!!!\nChiudendo, le date del listino non saranno salvate!"))
		DIVmodificadate.style.display = "none"
}

function closeDIVmodificaprezzi() {
	if (confirm("Attenzione!!!\nChiudendo, i prezzi del listino non saranno salvati!"))
		DIVmodificaprezzi.style.display = "none"
}

function deleteStagione(idfascia) {
	if (confirm("Attenzione!!!\nEliminando la stagione tutti i prezzi di tutte le risorse riferite alla stagione saranno eliminate!!!!\nContinuare?"))
		document.location = "/admin/delete_stagione.asp?IDfascia=" + idfascia
}

function muoviStagione(idfascia,direction) {
	if (confirm("Attenzione!!!\nVuoi veramente spostare la stagione?"))
		document.location = "/admin/move_stagione.asp?IDfascia=" + idfascia + "&direction=" + direction
}

function eliminaPeriodo(form) {
	if (confirm("Attenzione!!!\nVuoi veramente cancellare il periodo?")) {
		form.elimina.value = "1";
		form.submit();
	}
}

function eliminaOpzione(form) {
	if (confirm("Attenzione!!!\nVuoi veramente cancellare l'opzione?")) {
		form.elimina.value = "1";
		form.submit();
	}
}

function aggiungiOpzione(id) {
	if (confirm("Attenzione!!!\nVuoi veramente aggiungere un'opzione?")) {
		document.location = "/admin/immobili/aggiungi_opzione.asp?IDinserzione=" + id
	}
}


function checkPoints(field) {
	e = event.keyCode
	if (e==188||e==110||e==190) {
		event.returnValue=false
		field.value = field.value + ","
	}
}

function send(form) {
	prosegui = false;
	if (form!=null) {
		if (form) {
			prosegui = true;
			for (i=0;i<form.elements.length;i++) {
				ID = form.elements[i].id;
				if ((ID.substr(0,1) == "M")&&(isEmpty(form.elements[i]))) {
					alert("Compilare tutti i campi obbligatori: \'"+ID.substr(4)+"\'");
					if (form.elements[i].type!='hidden') {
						form.elements[i].focus();
					}
					prosegui = false;
					break;
				}
				switch (ID.substr(1,3)) {
					case "eN_":
						if (!(isEuro(form.elements[i]))) {
							alert("Inserire un prezzo valido nel campo \'"+ID.substr(4)+"\'");
							form.elements[i].focus();
							prosegui = false;
						}
						break;
					case "pN_":
						if (!(isPeriodo(form.elements[i].value))) {
							alert("Inserire un periodo valido nel campo \'"+ID.substr(4)+"\'");
							form.elements[i].focus();
							prosegui = false;
						}
						break;
					case "eF_":
						if (!(ctrlEmail(form.elements[i]))) {
							alert("Inserire un indirizzo e-mail valido nel campo \'"+ID.substr(4)+"\'");
							form.elements[i].focus();
							prosegui = false;
						}
						break;
					case "uF_":
						if (!(isWWW(form.elements[i]))) {
							alert("Inserire un indirizzo web valido nel campo \'"+ID.substr(4)+"\'");
							form.elements[i].focus();
							prosegui = false;
						}
						break;
					case "pF_":
						if (form.elements[i].value.length<5) {
							alert("Inserire una password di almeno 5 caratteri!");
							form.elements[i].focus();
							prosegui = false;
						} else {
							if (form.elements[i].value!=eval("form."+ form.elements[i].name +"2.value")) {
								alert("La password e la password di controllo non coincidono, controllare il campo \'"+ID.substr(4)+"\'");
								form.elements[i].focus();
								prosegui = false;
							}
						}
						break;
					case "PF_":
						if (form.elements[i].value!=eval("form."+ form.elements[i].name +"2.value")) {
							alert("La password e la password di controllo non coincidono, controllare il campo \'"+ID.substr(4)+"\'");
							form.elements[i].focus();
							prosegui = false;
						}
						break;
					// Controllo data 1 se maggiore di data2 e di oggi (Dati in formato GG/MM/AAAA)
					case "DN_":
						var strData1 = form.dal.value.split("/")
						var Data1 = new Date(strData1[2], (strData1[1] - 1), strData1[0])
						var toDay = new Date();  // Recupera la data odierna.
						if (Data1<toDay) {
							alert("La data deve essere maggiore di oggi, controllare il campo \'"+ID.substr(4)+"\'");
							form.elements[i].focus();
							prosegui = false;
						}else{
							if (!isEmpty(form.al)) {
								strData2 = form.al.value.split("/")
								Data2 = new Date(strData2[2], (strData2[1] - 1), strData2[0])
								if (Data2<=Data1) {
									alert("La seconda data deve essere maggiore della prima, controllare il campo \'"+form.al.id.substr(4)+"\'");
									form.elements[i].focus();
									prosegui = false;
								}
							}
						}
						break;
					case "nF_":
						if (!(isNumber(form.elements[i]))) {
							alert("Inserire un numero valido nel campo \'"+ID.substr(4)+"\'");
							form.elements[i].focus();
							prosegui = false;
						}
						break;
					case "iF_":
						if (!(isNumberInt(form.elements[i]))) {
							alert("Inserire un numero intero valido nel campo \'"+ID.substr(4)+"\'");
							form.elements[i].focus();
							prosegui = false;
						}
						break;
					case "fN_":
						if (!(isFloatNumber(form.elements[i]))) {
							alert("Inserire un numero valido nel campo \'"+ID.substr(4)+"\'");
							form.elements[i].focus();
							prosegui = false;
						}
						break;
					case "sS_":
						if (!(isRightString(form.elements[i].value))) {
							alert("Sono accettati solo caratteri alfanumerici nel campo \'"+ID.substr(4)+"\'");
							form.elements[i].focus();
							prosegui = false;
						}
						break;
					case "sO_":
						if (isEmpty(form.elements[i].options[form.elements[i].selectedIndex])) {
							alert("Scegliere una voce per il menu a tendina \'"+ID.substr(4)+"\'");
							form.elements[i].focus();
							prosegui = false;
						}
						break;
					case "cA_":
						if (form.elements[i].value.length>5) {
							alert("Inserire correttamente il CAP nel campo \'"+ID.substr(4)+"\ (solo 5 caratteri)'");
							form.elements[i].focus();
							prosegui = false;
						}
						break;
					case "cT_":
						if (!isTel(form.elements[i])) {
							alert("Inserire correttamente il numero di telefono nel campo \'"+ID.substr(4)+"\'");
							form.elements[i].focus();
							prosegui = false;
						}
						break;
					case "cB_":
						if (!form.elements[i].checked) {
							alert("Selezionare il checkbox \'"+ID.substr(4)+"\'");
							form.elements[i].focus();
							prosegui = false;
						}
						break;
				}
				if (!prosegui) {
					return false
					break;
				}
			}
		}
	}
	return prosegui;
}

function duplicateFileName(name1, name2) { 
	logoj = name1;
	imagej = name2;
	if (logoj.length > 0 && imagej.length > 0) {
		logoj = logoj.substring(slat(logoj), logoj.length)
		imagej = imagej.substring(slat(imagej), imagej.length)
		if (logoj == imagej) {
			return true
		}
	}
	return false
}

function ctrlString(field, minchar, maxchar){
	value = field.value;
	if (minchar!=null) {
		if (value.length<minchar) {
			field.focus();
			return false;
		}
	}
	if (maxchar!=null) {
		if (value.length>maxchar) {
			field.focus();
			return false;
		}
	}
	return true
}

function ctrlEmail(field) {
	str = field.value;
	if (str.length==0) {
		return true
	}
	var pass = 0;
	if (window.RegExp) {
		var tempStr = "a";
		var tempReg = new RegExp(tempStr);
		if (tempReg.test(tempStr)) pass = 1;
	}
	if (!pass) return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
	var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
	var r2 = new RegExp("^[a-zA-Z0-9\\.\\!\\#\\$\\%\\&\\'\\*\\+\\-\\/\\=\\?\\^\\_\\`\\{\\}\\~]*[a-zA-Z0-9\\!\\#\\$\\%\\&\\'\\*\\+\\-\\/\\=\\?\\^\\_\\`\\{\\}\\~]\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,4})(\\]?)$");
	return (!r1.test(str) && r2.test(str));
}

function isEmpty(field) {
	str = field.value;
	if (str.replace(/(^\s*)|(\s*$)/g, "")!='') {
		return false
	} else {
		return true
	}
}

function isEmptyValue(value) {
	if (value.replace(/(^\s*)|(\s*$)/g, "")!='') {
		return false
	} else {
		return true
	}
}

function ReplaceApic(field){
	str = field.value;
	re = /'|‘|’|"|“|”|„|“/gi;
	field.value = str.replace(re, "");
}

//controlla se sono presenti caratteri non standard
function FindBadChars(field){
	str = field.value;
	re = /=|'|‘|’|"|“|”|„|“|<|>|%|@/gi;
	return str.search(re, "");
}

function isWWW(field) {
	var data = field.value;
	if (data.length>0){
		var re = /^[http:\/\/]{1}.*(\.){1}/i;
		return(re.test(data));
	} else return true
}

function isNumber(field) {
	var data = field.value;
	if (data.length>0){
		var re = /[^0-9]/gi;
		return(!re.test(data));
	}else return true
}

function isNumberInt(field) {
	var data = field.value;
	if (data.length>0){
		var rez = /^[\+|\-]{0,1}[\d]*$/;
		return(rez.test(data))
	} else return true
}

function isFloatNumber(field) {
	var data = field.value;
	if (data.length>0){
		var rez = /^[\+|\-]{0,1}[\d]*[\.]?[\d]*$/;
		return(rez.test(data))
	} else return true
}

function isEuro(field) {
	var data = field.value;
	if (data.length>0){
		var rez = /^[\+|\-]{0,1}[\d]*[\,]?[\d]*$/;
		return(rez.test(data))
	} else return true
}


function isTel(field) {
	var data = field.value;
	if (data.length>0){
		var rez = /[^\d\+\.\(\)\-\/ ]/gi;
		return(!rez.test(data))
	} else return true
}


function isSimpleString(stringa){
	var re = /[^a-z0-9]/gi;
	return(!re.test(stringa));
}


function isImageTypeCorrect(url_string){
	if (url_string.length>0){
		var point_index = url_string.indexOf ('.');
		if ( point_index == -1) return false;
		var extension = url_string.substr(point_index).toLowerCase();
		if (( extension != ".gif") && ( extension != ".jpeg") && ( extension != ".jpg")) return false;
		return true;
	}else{
		return true;
	}
}

function isCodiceFiscale(stringa) {
	var re = /^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$/;
	Codice=Trim(stringa.toUpperCase());
	return(re.test(Codice));
}

function isPartitaIva(stringa) {
	var re = /^\d{5}\d{6}$/;
	Codice=Trim(stringa.toUpperCase());
	return(re.test(Codice));
}

function Trim(stringa){
	reTrim=/\s+$|^\s+/g;
	return stringa.replace(reTrim,"");
}


function isRightString(stringa) {
	if (stringa.length>0){
		var regExp = /[^a-zA-Z0-9\(\)_\-\+ .]/gi;
		return(!regExp.test(stringa));
	}else return true
}

function isPeriodo(stringa) {
	var re = /^\d{1,2}\/\d{1,2}$/gi;
	if (re.test(stringa)) {
		pos = stringa.indexOf("/")
		giorno = stringa.substr(0,pos)
		mese = stringa.substr(pos+1,stringa.length)
		if ((giorno>0)&&(giorno<=31)&&(mese>0)&&(mese<=12))
			return true;
		else
			return false;
	}
	else
		return false;
}