
function show_calendar(str_target, lang, str_datetime){
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=="es"){
var arr_months = ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"];
var week_days = ["Dom", "Lun", "Mar", "Mi&eacute;", "Jue", "Vie", "S&aacute;b"];
}
else if (lang=="fr"){
var arr_months = ["Janvier", "F&eacute;vrier", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aoūt", "Septembre", "Octobre", "Novembre", "D&eacute;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", "Oktober", "November", "Dezember"];
var week_days = ["Son", "Mon", "Mar", "Mit", "Don", "Fre", "Sam"];
}
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=\"../font.css\" type=\"text/css\">\n" +
                              "</head>\n" +
                              "<body bgcolor=\"#CDDAA4\">\n" +
                              "<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" width=\"100%\">\n<Tbody>\n" +
                              "<tr><td bgcolor=\"#FFFFFF\">\n" +
                              "<table cellspacing=\"1\" cellpadding=\"2\" border=\"0\" width=\"100%\">\n" +
                              "<tr class=\"corpo\" >\n <td bgcolor=\"#0053A1\" align=\"center\" valign=\"middle\"><a href=\"javascript:window.opener.show_calendar('" +
					str_target +
					"', '"+ lang +"', '" +
					dt2dtstr(dt_prev_month) +
                              " ' + document.cal.time.value);\""+
                              " title=\"" +
                              arr_months[dt_datetime.getMonth()-1] +
                              "\"><font color=\"#ffff00\">&laquo;</font></a></td>\n" +
                              " <td bgcolor=\"#0053A1\" colspan=\"5\" align=\"center\" valign=\"middle\">" +
                              "<font color=\"#ffffff\">" +
                              arr_months[dt_datetime.getMonth()] +
                              " " +
                              dt_datetime.getFullYear() +
                              "</font></td>\n" +
                              " <td bgcolor=\"#0053A1\" align=\"center\" valign=\"middle\"><a href=\"javascript:window.opener.show_calendar('" +
                              str_target +
					"', '"+ lang +"', '" +
                              dt2dtstr(dt_next_month) +
                              " ' + document.cal.time.value);\"" +
                              " title=\"" +
                              arr_months[dt_datetime.getMonth()+1] +
                              "\"><font color=\"#ffff00\">&raquo;</font></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\">" +
    "<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 += "<form name=\"cal\">\n<tr><td colspan=\"7\" style=\"margin:0px;\">" +
                "<input type=\"hidden\" name=\"time\" value=\""+dt2tmstr(dt_datetime) +
                "\"></td></tr>\n</form>\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=190,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);
}





function validmodulo (){
var errore = 0;
if (document.theForm.nome.value==""){
alert("Attenzione inserire il proprio Nome.\nAttention..insert your Surname")
document.theForm.nome.focus()
errore = 1;
return false
}
if(theForm.nome.value.indexOf('"') != -1 || theForm.nome.value.indexOf("?") != -1 || theForm.nome.value.indexOf("%") != -1) {
alert('Hai inserito dei caratteri non ammessi nel campo Nome!\nAttention..check field Surname');
document.theForm.nome.focus()
errore = 1;
return false
}

if (document.theForm.cognome.value==""){
alert("Attenzione inserire il proprio Cognome.\nAttention..insert your Name")
document.theForm.cognome.focus()
errore = 1;
return false
}
if(theForm.cognome.value.indexOf('"') != -1 || theForm.cognome.value.indexOf("?") != -1 || theForm.cognome.value.indexOf("%") != -1) {
alert('Hai inserito dei caratteri non ammessi nel campo Cognome!\nAttention..check field Name');
document.theForm.cognome.focus()
errore = 1;
return false
}

if (document.theForm.indirizzoutente.value==""){
alert("Attenzione inserire il tuo Indirizzo.\nAttention..insert your Address")
document.theForm.indirizzoutente.focus()
errore = 1;
return false
}
if(theForm.indirizzoutente.value.indexOf('"') != -1 || theForm.indirizzoutente.value.indexOf("?") != -1 || theForm.indirizzoutente.value.indexOf("%") != -1) {
alert('Hai inserito dei caratteri non ammessi nel campo Indirizzo!\nAttention..check field Address');
document.theForm.indirizzoutente.focus()
errore = 1;
return false
}

if (document.theForm.cittautente.value==""){
alert("Attenzione inserire la tua Cittą.\nAttention..insert Town")
document.theForm.cittautente.focus()
errore = 1;
return false
}
if(theForm.cittautente.value.indexOf('"') != -1 || theForm.cittautente.value.indexOf("?") != -1 || theForm.cittautente.value.indexOf("%") != -1) {
alert('Hai inserito dei caratteri non ammessi nel campo Cittą!\nAttention..check field Town');
document.theForm.cittautente.focus()
errore = 1;
return false
}

if (document.theForm.telefono.value==""){
alert("Attenzione inserire il Telefono.\nAttention..insert your Phone / Mobile Phone")
document.theForm.telefono.focus()
errore = 1;
return false
}
if(theForm.telefono.value.indexOf('"') != -1 || theForm.telefono.value.indexOf("?") != -1 || theForm.telefono.value.indexOf("%") != -1 || theForm.telefono.value.indexOf("'") != -1) {
alert('Hai inserito dei caratteri non ammessi nel campo Telefono!\nAttention..check field Telephone');
document.theForm.telefono.focus()
errore = 1;
return false
}
for (var i = 0; i < theForm.telefono.value.length; i++) {
var ch1 = theForm.telefono.value.substring(i, i + 1);
if ((ch1 < "0" || "9" < ch1) & ( ch1 != "+") & (ch1 != ' ') & ( ch1 != ".")){
alert("\nCaratteri non consentiti nel campo Telefono.\nPer favore inserisci correttamente il N.Telefonico o Cell.");
document.theForm.telefono.focus()
errore = 1;
return false
}
}


var re = new RegExp("^[!#$&'*+/-9=?A-Z^-~-]+(\\.[!#$&'*+/-9=?A-Z^-~-]+)*@[!#$&'*+/-9=?A-Z^-~-]+(\\.[!#$&'*+/-9=?A-Z^-~-]+)+$","i");
var email=document.theForm.emailutente.value;
if (email==""){
alert("Attenzione inserire la tua Email.\nAttention..insert Email")
document.theForm.emailutente.focus()
errore = 1;
return false
}
if (!email.match(re)){
alert("Attenzione l\'Email non č valida!\n\nAttention, Email not correct.");
document.theForm.emailutente.focus()
errore = 1;
return false
}
if(email.indexOf('"') != -1 || email.indexOf("?") != -1 || email.indexOf("%") != -1 || email.indexOf("'") != -1) {
alert('Hai inserito dei caratteri non ammessi nel campo Email!\nAttention..check field Email');
document.theForm.emailutente.focus()
errore = 1;
return false
}

if (document.theForm.nazione.value=="0"){
alert("Attenzione inserire la tua Nazionalitą.\nAttention..insert the Country")
document.theForm.nazione.focus()
errore = 1;
return false
}
if (document.theForm.nazione.value=="Italia" && document.theForm.prov.value=="0"){
alert("Attenzione inserire la Provincia.\nAttention..insert the Province")
document.theForm.prov.focus()
errore = 1;
return false
}

if (document.theForm.arrivo.value==""){
alert("Please insert the Check In !")
document.theForm.arrivo.focus()
errore = 1;
return false
}

if (document.theForm.partenza.value==""){
alert("Please insert the Check Out !")
document.theForm.partenza.focus()
errore = 1;
return false
}


if (document.theForm.vartrattamento.value=="0"){
alert("Attenzione scegliere il Trattamento.\nAttention..insert Service")
document.theForm.vartrattamento.focus()
errore = 1;
return false
}

var totpersone = 0;
var totpax = document.theForm.npersone.value;
var adulti=document.theForm.adulti.value;
var ragazzi=document.theForm.ragazzi.value;
var bambini=document.theForm.bambini.value;
if (adulti=="0" && ragazzi=="0" && bambini=="0"){
alert("Attenzione inserire il numero delle persone.\nPlease insert the N.of People !")
document.theForm.adulti.focus()
errore = 1;
return false
document.theForm.ragazzi.focus()
return false
errore = 1;
document.theForm.bambini.focus()
errore = 1;
return false
}
totpersone = parseInt(adulti) + parseInt(bambini) + parseInt(ragazzi)
if (totpersone > totpax){
alert("Attenzione il numero max di persone inserite č superiore ai posti letto selezionati.\nAttention..the number of people is greater to the number of selected beds.")
document.theForm.adulti.focus()
errore = 1;
return false
}


//----------------ho disabilitato questo controllo, in questo modo possono inserire n. persone
//inferiore ai posti letto selezionati
//if (totpersone < totpax){
//alert("Attenzione il numero max di persone inserite č inferiore ai posti letto selezionati.\nAttention..the number of people is lower to the number of selected beds.")
//document.theForm.adulti.focus()
//errore = 1;
//return false
//}


if (totpax==0 || totpax==""){
alert("Attenzione scegli una tipologia di alloggio.\nAttention..choose a typology of lodging.")
errore = 1;
return false
}
if (errore==0){
document.theForm.submit.value = "Please Wait..";
document.theForm.submit.disabled = true;
}
}

//funzione che abilita la select della provincia
function ableprov(){
if (document.theForm.nazione.options[document.theForm.nazione.options.selectedIndex].value=="Italia"){
document.theForm.prov.disabled = false;
}
else{
document.theForm.prov.disabled = true;
document.theForm.prov.options.selectedIndex = 0;
}
}


//funzione controllo data partenza in caso di casa estiva in form di prenotazione
function checkdate(){
if (document.theForm.partenza.options.selectedIndex < document.theForm.arrivo.options.selectedIndex)
document.theForm.partenza.options.selectedIndex = document.theForm.arrivo.options.selectedIndex;
}


//Funzione per il calcolo delle persone ed i posti letto nel form di prenotazione
function calcpax(ncamere){
var totpax = 0;
var el = document.theForm.elements;
for ( var n = 0 ; n < ncamere ; n++ )
{
totpax += parseInt(el["px_" + n].value) * parseInt(el["rm_" + n].value);
}
document.theForm.npersone.value = totpax;
}

var checkobj
function agreesubmit(el){
checkobj=el
if (document.all||document.getElementById){
for (i=0;i<checkobj.form.length;i++){  
var tempobj=checkobj.form.elements[i]
if(tempobj.type.toLowerCase()=="submit")
tempobj.disabled=!checkobj.checked
}
}
}


// funzione per far comparire una pop-up con all'interno una foto di dimensioni variabili
function popimmagine(str){
searchWin = window.open(str,'Guardafoto','scrollbars=auto,resizable=no,status=no,location=no,toolbar=no');
}


// funzione per far apparire la descrizione delle immagini in + lingue
function sH(str,event) {
		if (document.all) {
			document.all["Desc"].innerHTML = "" + str;
			document.all["Desc"].style.pixelLeft = (document.body.scrollLeft + event.clientX) + 10;
			document.all["Desc"].style.pixelTop = (document.body.scrollTop + event.clientY) + 10;
			document.all["Desc"].style.visibility = "visible";
		} else if (document.getElementById) {
			document.getElementById("Desc").innerHTML = "" + str;
			document.getElementById("Desc").style.left = event.pageX + 10;
			document.getElementById("Desc").style.top = event.pageY + 10;
			document.getElementById("Desc").style.visibility = "visible";
		}
	}

	function hH() {
      document.getElementById("Desc").innerHTML = "";
      document.getElementById("Desc").style.visibility="hidden";
	}


// script per visualizzare la descrizione delle news del sistema gestionale
function mostra(id){
var classe = Array('m0','m1','m2');
for (indice=0;indice<3;indice++){
if (indice==id){
document.getElementById(classe[indice]).style.display = '';
}
else{
document.getElementById(classe[indice]).style.display = 'none';
}
}
}
