//funzione che mi permette di centrare la popup
function resizeWin(Larghezza,Altezza){
var sizeH= Altezza;
var sizeW= Larghezza;
var posH=0;
var posW=0;

if (sizeH<=screen.height)
sizeH=30+sizeH;
if (sizeW<=screen.width)
sizeW=30+sizeW
self.resizeTo(sizeW,sizeH);
if (((screen.height-sizeH)/2)>0)
posW=((screen.height-sizeH)/2);
if (((screen.width-sizeW)/2)>0)
posH=((screen.width-sizeW)/2);
self.moveTo(posW,posH);
}


//funzione per disabilitare e cambiare il testo sul tasto submit nel momento di invio dati
function disabilita(){
document.forms[0].submit.value = "Attendere..";
document.forms[0].submit.disabled = true;
}


//funzione per disabilitare e cambiare il testo sul tasto submit nel momento di invio dati (modulo REGISTRA.ASP)
function disabilita2(){
document.forms[1].submit.value = "Attendere..";
document.forms[1].submit.disabled = true;
}





//funzione per nascondere/rendere visibile informazioni
function chiudi(nome)
{
  var stato = document.getElementById("tbl" + nome).style.display;
 
  if (stato != "none") 
    {
      // Nascondo la riga
      document.getElementById("tbl" + nome).style.display = "none";
    }
}
function apri(nome)
{
  var statoapri = document.getElementById("tbl" + nome).style.display;
 
  if (statoapri == "none")
    {
      // Visualizzo la riga
      document.getElementById("tbl" + nome).style.display = "";
    }
}


//funzione per nascondere/rendere visibile l'Help in ADMIN
function WM_toggle(id){
if (document.all){
if(document.all[id].style.display == 'none'){
document.all[id].style.display = '';
} else {
document.all[id].style.display = 'none';
}
return false;
} else if (document.getElementById){
if(document.getElementById(id).style.display == 'none'){
document.getElementById(id).style.display = 'block';
} else {
document.getElementById(id).style.display = 'none';
}
return false;
}
}



//funzione che mi visualizza le pop up nascoste nelle maschere di ricerca
/***********************************************
* Drop Down/ Overlapping Content- © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

function getposOffset(overlay, offsettype){
var totaloffset=(offsettype=="left")? overlay.offsetLeft : overlay.offsetTop;
var parentEl=overlay.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}

function overlay(curobj, subobjstr, opt_position){
if (document.getElementById){
var subobj=document.getElementById(subobjstr)
subobj.style.display=(subobj.style.display!="block")? "block" : "none"
var xpos=getposOffset(curobj, "left")+((typeof opt_position!="undefined" && opt_position.indexOf("right")!=-1)? -(subobj.offsetWidth-curobj.offsetWidth) : 0) 
var ypos=getposOffset(curobj, "top")+((typeof opt_position!="undefined" && opt_position.indexOf("bottom")!=-1)? curobj.offsetHeight : 0)
subobj.style.left=xpos+"px"
subobj.style.top=ypos+"px"
return false
}
else
return true
}

function overlayclose(subobj){
document.getElementById(subobj).style.display="none"
}




//funzione che mi controlla il form di BOOKING ONLINE
function checkForm(lang){

if (lang=="en"){
var Advise_1 = "The Arrival Date is wrong...please check !!";
var Advise_2 = "The Departure Date is wrong...please check !!";
var Advise_3 = "Attention !! The arrival date is inferior to today !!";
var Advise_4 = "Attention !! The daparture date is inferior to today !!";
var Advise_5 = "Attention !! The departure date is inferior to the arrival date !!";
var Advise_6 = "Attention !! Insert at least 3 characters in the field of Destination !!";
}
else {
var Advise_1 = "Il Giorno di Arrivo è errato.. !!";
var Advise_2 = "Il Giorno di Partenza è errato... !!";
var Advise_3 = "Attenzione !! Il Giorno di Arrivo è inferiore alla data odierna !!";
var Advise_4 = "Attenzione !! Il Giorno di Partenza è inferiore alla data odierna !!";
var Advise_5 = "Attenzione !! Il Giorno di Partenza è inferiore al Giorno di Arrivo !!";
var Advise_6 = "Attenzione !! Inserire almeno 3 caratteri nel campo Città !!";
}


var year = document.forms[0].checkin_year.value;
var month = document.forms[0].checkin_month.value - 1;
var day = document.forms[0].checkin_monthday.value;
var dt = new Date(year, month, day);

if (dt.getFullYear() != year || dt.getMonth() != month || dt.getDate() != day){
alert(Advise_1);
document.forms[0].checkin_monthday.focus();
return false;
}

var year2 = document.forms[0].checkout_year.value;
var month2 = document.forms[0].checkout_month.value - 1;
var day2 = document.forms[0].checkout_monthday.value;
var dt2 = new Date(year2, month2, day2);
if (dt2.getFullYear() != year2 || dt2.getMonth() != month2 || dt2.getDate() != day2){
alert(Advise_2);
document.forms[0].checkout_monthday.focus();
return false;
}

var now = new Date();
var today = new Date(now.getFullYear(), now.getMonth(), now.getDate());
if (dt < today){
alert(Advise_3);
document.forms[0].checkin_monthday.focus();
return false;
}
var now = new Date();
var tomorrow = new Date(now.getFullYear(), now.getMonth(), now.getDate());
if (dt2 < tomorrow){
alert(Advise_4);
document.forms[0].checkout_monthday.focus();
return false;
}
if (dt2 <= dt){
alert(Advise_5);
document.forms[0].checkout_monthday.focus();
return false;
}
var ss = document.forms[0].ss.value.length;
if (ss < 3){
alert(Advise_6);
document.forms[0].ss.focus();
return false;
}
return true;
}



//funzione che mi serve per far visualizzare la galleria fotografica presente nella scheda delle strutture
function showPhoto (imgSrc, imgCont){
    if (document.getElementById){
        var c = document.getElementById(imgCont);
        if (c.style.display != "block"){
            c.innerHTML = '<img src="' + imgSrc + '" width="200" height="200" border="1" alt="Photo Gallery">';
        }
		else {
            c.innerHTML = '<img src="img/spazio.gif" border="0" width="1" height="1" alt="Hotel in Venezia">';
            c.style.display="none";
        }
    }
}



//funzione per contare i caratteri e fermare inserimento nella textarea
function textCounter(field, countfield, maxlimit) {
if (field.value.length > maxlimit) {
field.value = field.value.substring(0, maxlimit);
} else {
countfield.value = maxlimit - field.value.length;
}
}


//funzione che mi apre pop-up (vedi: POP GOOGLE)
function openwindow2(Url, Wid, Hei){
window.open (Url, '', 'toolbar=no,status=yes,menubar=no,scrollbars=yes,fullscreen=no,resizable=no,width='+Wid+',height='+Hei);
}



//funzione che utilizzo nel MODULO A_Strutture, per azzerare/disattivare il contratto
function resettacampi(IdUtente,Preferito){
if(document.forms[0].delcontratto.value==1){
document.forms[0].idutente.value = 0;
document.forms[0].strpreferito.value = 0;
}
if(document.forms[0].delcontratto.value==0){
document.forms[0].idutente.value = IdUtente;
document.forms[0].strpreferito.value = Preferito;
}
}


//funzione che utilizzo nel MODULO Add_Rotator, per azzerare/disattivare il contratto
function resettacampi2(IdUtente,Attiva){
if(document.forms[0].delcontratto.value==1){
document.forms[0].idutente.value = 0;
document.forms[0].strattiva.value = 1;
}
if(document.forms[0].delcontratto.value==0){
document.forms[0].idutente.value = IdUtente;
document.forms[0].strattiva.value = Attiva;
}
}




//funzione che serve ad attivare i check box anche cliccando sul testo/immagine corrispondente
function changeBox(cbox) {
box = eval(cbox);
box.checked = !box.checked;
if (box.disabled==true){
box.checked = false;
}
}






function show_calendar(str_target, lang, str_datetime){
var lang = lang;
if (lang=="en"){
var arr_months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
var week_days = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
}
else if (lang=="fr"){
var arr_months = ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"];
var week_days = ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"];
}
else if (lang=="de"){
var arr_months = ["Januar", "Februar", "M&auml;rz", "April", "Mai", "Juni", "Juli", "August", "September", "Okctober", "November", "Dezember"];
var week_days = ["Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam"];
}
else if (lang=="es"){
var arr_months = ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"];
var week_days = ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "S&aacute;b"];
}
else{
var arr_months = ["Gennaio", "Febbario", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"];
var week_days = ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab"];
}

var n_weekstart = 0; // day week starts from (normally 0 or 1)
 
var dt_datetime = ((str_datetime == null || str_datetime == "") ? new Date() : str2dt(str_datetime));
 
var dt_prev_month = new Date(dt_datetime);
dt_prev_month.setMonth(dt_datetime.getMonth() - 1);
 
var dt_next_month = new Date(dt_datetime);
dt_next_month.setMonth(dt_datetime.getMonth() + 1);
 
var dt_firstday = new Date(dt_datetime);
dt_firstday.setDate(1);
dt_firstday.setDate(1 - (7 + dt_firstday.getDay() - n_weekstart) % 7);
 
var dt_lastday = new Date(dt_next_month);
dt_lastday.setDate(0);
 
  // html generation (feel free to tune it for your particular application)
  // print calendar header
  var str_buffer = new String("<html>\n" +
                              "<head>\n" +
                              "<title>Calendar</title>\n" +
					"<LINK rel=\"stylesheet\" href=\"../css/style.css\" type=\"text/css\">\n" +
                              "</head>\n" +
                              "<body>\n" +
                              "<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" width=\"100%\">\n<Tbody>\n" +
                              "<tr><td bgcolor=\"#000000\">\n" +
                              "<table cellspacing=\"1\" cellpadding=\"2\" border=\"0\" width=\"100%\">\n" +
                              "<tr>\n <td bgcolor=\"#0000ff\"><a href=\"javascript:window.opener.show_calendar('" +
                              str_target +
					"', '"+ lang +"', '" +
                              dt2dtstr(dt_prev_month) +
                              " ' + document.cal.time.value);\">" +
                              "<img src=\"../img/freccia_sx2.gif\" width=\"10\" height=\"9\" border=\"0\"" +
                              " alt=\"" +
                              arr_months[dt_datetime.getMonth()-1] +
                              "\"></a></td>\n" +
                              " <td bgcolor=\"#0000ff\" colspan=\"5\" align=\"center\" valign=\"middle\">" +
                              "<font color=\"#FFFF80\" class=\"corpo\">" +
                              arr_months[dt_datetime.getMonth()] +
                              " " +
                              dt_datetime.getFullYear() +
                              "</font></td>\n" +
                              " <td bgcolor=\"#0000ff\" align=\"right\"><a href=\"javascript:window.opener.show_calendar('" +
                              str_target +
					"', '"+ lang +"', '" +
                              dt2dtstr(dt_next_month) +
                              " ' + document.cal.time.value);\">" +
                              "<img src=\"../img/freccia_dx2.gif\" width=\"10\" height=\"9\" border=\"0\"" +
                              " alt=\"" +
                              arr_months[dt_datetime.getMonth()+1] +
                              "\"></a></td>\n</tr>\n");
 
  var dt_current_day = new Date(dt_firstday);
 
  // print weekdays titles
  str_buffer += "<tr>\n";
 
  for ( var n = 0 ; n < 7 ; n++)
    str_buffer += " <td bgcolor=\"#CCCCCC\" align=\"center\">" +
    "<font color=\"white\" class=\"corpo\">" +
    week_days[(n_weekstart + n) % 7] +
    "</font></td>\n";
 
  // print calendar table
  str_buffer += "</tr>\n";
  while (dt_current_day.getMonth() == dt_datetime.getMonth() ||
         dt_current_day.getMonth() == dt_firstday.getMonth())
    {
      // print row heder
      str_buffer += "<tr>\n";
 
      for ( var n_current_wday = 0 ; n_current_wday < 7 ; n_current_wday++)
        {
          if (dt_current_day.getDate() == dt_datetime.getDate() &&
              dt_current_day.getMonth() == dt_datetime.getMonth())
              // print current date
              str_buffer += " <td bgcolor=\"#FF0000\" align=\"right\">";
          else if (dt_current_day.getDay() == 0 || dt_current_day.getDay() == 6)
                   // weekend days
                   str_buffer += " <td bgcolor=\"#E0ECE8\" align=\"right\">";
          else // print working days of current month
               str_buffer += " <td bgcolor=\"white\" align=\"right\">";

          if (dt_current_day.getMonth() == dt_datetime.getMonth())
              // print days of current month

              str_buffer += "<a href=\"javascript:window.opener." +
                            str_target +
                            ".value='" + dt2dtstr(dt_current_day) + "'; window.close();\">" +
                            "<font color=\"black\" class=\"corpo\">";
          else // print days of other months
               str_buffer += "<a href=\"javascript:window.opener." +
                             str_target +
                             ".value='" + dt2dtstr(dt_current_day) + "'; window.close();\">" +
                             "<font color=\"gray\" class=\"corpo\">";
 
          str_buffer += dt_current_day.getDate() + "</font></a></td>\n";
          dt_current_day.setDate(dt_current_day.getDate() + 1);
        }
 
      // print row footer
      str_buffer += "</tr>\n";
    }

  // print calendar footer
  str_buffer += "<tr bgcolor=\"#000000\" ><td colspan=\"7\" height=\"15\" class=\"corpo2\" align=\"center\" valign=\"middle\" bgcolor=\"#0000ff\">\n<form name=\"cal\" style=\"margin:0px;\">" +
                "<input type=\"hidden\" name=\"time\" value=\""+dt2tmstr(dt_datetime) +
                "\"><a href=\"javascript:window.close();\"><font color=\"#FFFF80\">Close Window</font></a>\n" +
		    "</form>\n</td></tr>\n" +
                "</Tbody>\n</table>\n" +
                "</td>\n</tr>\n</Tbody>\n</table>\n" +
                "</body>\n" +
                "</html>\n";

 
  var vWinCal = window.open("", "Calendario", "width=250,height=205,status=no,resizable=yes,top=200,left=200");
  vWinCal.opener = self;
  var calc_doc = vWinCal.document;
  calc_doc.write(str_buffer);
  calc_doc.close();
}
 
// datetime parsing and formatting routimes. modify them if you wish other datetime format
function str2dt(str_datetime)
{
  var re_date = /^(\d{1,2})\/(\d{1,2})\/(\d{4})\s+(\d{1,2})\:(\d{1,2})\:(\d{1,2})$/;
 
  if (!re_date.exec(str_datetime)) return(alert("Invalid Datetime format: " + str_datetime));
 
  return(new Date (RegExp.$3, RegExp.$2-1, RegExp.$1, RegExp.$4, RegExp.$5, RegExp.$6));
}

function dt2dtstr(dt_datetime){
//var dt = dt_datetime.getDate() + "-";

var day = dt_datetime.getDate();
var month = dt_datetime.getMonth() + 1;
var dt = ((day < 10) ? "0" + day : day) + "/";
dt += ((month < 10) ? "0" + month : month);
dt += "/" + dt_datetime.getFullYear();
return(dt);
}
 
function dt2tmstr(dt_datetime){
var dt = dt_datetime.getHours() + ":";
dt += ((dt_datetime.getMinutes() < 10) ? "0" + dt_datetime.getMinutes() : dt_datetime.getMinutes()) + ":";
dt += ((dt_datetime.getSeconds() < 10) ? "0" + dt_datetime.getSeconds() : dt_datetime.getSeconds());
return(dt);
}



//funzione per TEXTAREA con PULSANTI di formattazione
var codeLighter = function() {
				// andr3a [ www.3site.it ] [ andrea@3site.it ]
				var used = Array();
				function codeLighter_add(str) {
					var codeLighterTextarea_add = '';
					var to_span = 'novalue';
					if(!document.getElementById('codeTextarea')) {
						alert('You need a TEXTAREA with id="codeTextarea" to use these buttons!');
					}
					if(document.getElementById('codeLighterTextareaSpanChecker')!=null) {
						to_span = document.getElementById('codeLighterTextareaSpanChecker').innerHTML;
						to_span = parseInt(to_span);
					}
					if(document.getElementById('codeLighter' + str).value == '['+str+']') {
						codeLighterTextarea_add = '['+str+']';
						document.getElementById('codeLighter' + str).value = '[/'+str+']';
						this.total.push('[/'+str+']');
						if(to_span!='novalue') {
document.getElementById('codeLighterTextareaSpanChecker').innerHTML = (to_span+1);
						}
					}
					else {
						for(var a=(this.total.length-1); a>=0; a--) {
							codeLighterTextarea_add += this.total[a];
							var my_str = this.total[a].substr(2, (this.total[a].length-3));
							document.getElementById('codeLighter' + my_str).value = '['+my_str+']';
							if(to_span!='novalue') {
								to_span--;
							}
							if(my_str==str) {
								break;
							}
						}
						if(this.total.length==0) {
					codeLighterTextarea_add += '[/'+str+']';
					document.getElementById('codeLighter' + str).value = '['+str+']';
							if(to_span!='novalue') {
								to_span--;
							}
						}
						this.total = Array();
						if(to_span!='novalue') {
		document.getElementById('codeLighterTextareaSpanChecker').innerHTML = to_span;
						}
					}
	document.getElementById('codeTextarea').value += codeLighterTextarea_add;
	document.getElementById('codeTextarea').focus();
					return true;
				}
				function codeLighter_closeTags(ar) {
					var to_span = 'novalue';
					for(var a=(ar.length-1); a>=0; a--) {
						document.getElementById('codeTextarea').value += ar[a];
						var my_str = ar[a].substr(2, (ar[a].length-3));
						document.getElementById('codeLighter' + my_str).value = '['+my_str+']';
					}
					this.total = Array();
					if(document.getElementById('codeLighterTextareaSpanChecker')!=null) {
						to_span = document.getElementById('codeLighterTextareaSpanChecker').innerHTML;
						to_span = parseInt(to_span);
					}
					if(to_span!='novalue') {
						document.getElementById('codeLighterTextareaSpanChecker').innerHTML = '0';
				}
					document.getElementById('codeTextarea').focus();
				}
				function codeLighter_maxChars() {
					if(this.counter!=false) {
					var check_len = document.getElementById('codeTextarea').value.length;
						var rest_len = 0;
						if ( check_len >= this.counter ) {
							document.getElementById('codeTextarea').value = document.getElementById('codeTextarea').value.substring(0, this.counter);
						}
						else {
							rest_len = this.counter - check_len;
						}
						document.getElementById('codeLighterTextareaSpanCounter').innerHTML = rest_len;
					}
					else {
						document.getElementById('codeLighterTextareaSpanCounter').innerHTML = document.getElementById('codeTextarea').value.length;
					}
				}
				this.total = used;
				this.add = codeLighter_add;
				this.close = codeLighter_closeTags;
				this.maxChars = codeLighter_maxChars;
				this.counter = false;
			}
			var codeLighter = new codeLighter();



function inshr(numero){
if (numero=="0"){
//document.forms[0].messaggio.value = document.forms[0].messaggio.value + "[HR]";
document.getElementById('codeTextarea').value += "[HR]";
document.getElementById('codeTextarea').focus();
return true;
}
}


function OpenPreviewWindow(sezione){
if (sezione=="0"){
if (document.getElementById('codeTextarea').length != 0 && document.getElementById('codeTextarea').value != ''){
document.cookie ='Messaggio = ' + escape(document.getElementById('codeTextarea').value);
document.cookie ='Messaggio2 = ';
document.cookie ='Messaggio3 = ';
document.cookie ='Messaggio4 = ';
window.open('anteprima.asp', 'preview', 'scrollbars=yes,width=630,height=500,left=90')
}
else{
alert("Per visualizzare un\'anteprima,\ndovresti inserire del testo..\nNon credi..!?!?");
return false
}
}
}


//funzione che mi permette di resettare i campi SELECT presenti nella sezione UPDATE DB in Pannello di Controllo
function setselect(valore){
var el = document.forms[1].elements;
for(j=1; j<9; j++){
if (j!=valore) el["valori"+ j].value=0;
}
}



//funzione che serve per togliere il messaggio di attesa caricamento pagina presente in: scheda e booking_online
function finish(){
document.getElementById("loading").style.visibility = "hidden";
}



//funzione che mi permette di ridimensionare le immagini in Schede Turistiche se superano una determinata larghezza
function ridimensiona(){ 
for (imm in document.images){ 
img = document.images[imm] 
if (img.className=="b_illustration"){ 
if (img.width > 530){ 
img.width=530
} 
//if (img.height> 600){ 
//img.height = 600 
//} 
} 
} 
}



//funzione per selezionare e deselezionare i record da inviare la MAIL di Richieta Rinnovo Contratto su Sezione ADMIM
function checkall(theform,checkname,thestate){
var el_collection=eval("document.forms.theform."+checkname)
for (c=0;c<el_collection.length;c++)
el_collection[c].checked=thestate
}


//funzione per selezionare e deselezionare i campi che utilizzo per la creazione dei contratti di visibilità
function checkcampi(selObj){
if (document.forms[0].tipo_servizio.value=="Contratto Plus"){
document.getElementById("tbl_struttura").style.display = "";
document.getElementById("tbl_redirect").style.display = "none";
selObj.form.redirect.value = '';
selObj.form.idstruttura.disabled = false;
selObj.form.redirect.disabled = true;
}
else if (document.forms[0].tipo_servizio.value=="Servizio Add-Rotator"){
document.getElementById("tbl_struttura").style.display = "none";
document.getElementById("tbl_redirect").style.display = "";
selObj.form.idstruttura.value = 0;
selObj.form.idstruttura.disabled = true;
selObj.form.redirect.disabled = false;
}
else {
document.getElementById("tbl_struttura").style.display = "none";
document.getElementById("tbl_redirect").style.display = "none";
selObj.form.redirect.value = '';
selObj.form.idstruttura.value = 0;
selObj.form.idstruttura.disabled = true;
selObj.form.redirect.disabled = true;
}
}


//funzione che mi permette di aggiornare i campi DATA INIZIO e DATA FINE contratto
function mettiscadenza(obj){
var i = obj.selectedIndex;
if( i>=0 ) {
var e = obj.options[i];
obj.form.dal.value = e.getAttribute("datainizio");
obj.form.al.value = e.getAttribute("datafine");
}
}


//funzione utilizzata nella sezione SEGNALAZIONI per copiare i medesimi contenuti nel record originario
function pasttxt(nome){
document.forms[0].elements[nome+2].value = document.forms[0].elements[nome].value;
if (nome=="latitudine") {
document.forms[0].longitudine2.value = document.forms[0].longitudine.value;
}
}


//funzione utilizzata nella sezione EVENTI x utenti per copiare i medesimi contenuti nel record originario
function pasttxt2(nome){
document.forms[1].elements[nome+2].value = document.forms[1].elements[nome].value;
}


//funzione utilizzata nella sezione Seleziona_Categoria per resettare i campi Email e Url
function settacampi(str,link,email){
if (str!=0){
document.forms[0].link.value = "";
document.forms[0].email.value = "";
}
else{
document.forms[0].link.value = link;
document.forms[0].email.value = email;
}
}


//funzione che utilizzo nel MODULO SEGNALA STRUTTURA, per far visualizzare/nascondere campo LINK SITO MOBILE
function sitomobile(obj){
if(obj.value==1){
document.getElementById("link_mobile").style.display = "";
}
else{
document.getElementById("link_mobile").style.display = "none";
}
}
