/** FUNZIONI */
function avvertenza() {
    if (cambiamento && confirm("Le informazioni sulle camere relative al mese visualizzato sono state modificate.\nVuoi salvare tali modifiche prima di procedere?")) {
        salva();
    }
}

function hideLoad() {
    if(document.getElementById('centerMessage')){
        document.getElementById('centerMessage').style.display='none';
        document.getElementById('traspbg').style.display='none';
    }
}

function handleEnter(field, event) {
    var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
    if (keyCode == 13) {
        var i;
        for (i = 0; i < field.form.elements.length; i++)
            if (field == field.form.elements[i])
		break;
        i = (i + 1) % field.form.elements.length;
        field.form.elements[i].focus();
        return false;
    }
    else
        return true;
}

/*********************************************************************************/

function checkMinValue(value,minChar){
    if(value.length < minChar)
        return false
    else
        return true
}

function mySubmit(f) {
    var form = document.getElementById(f);
    with(form){
        for(var x=0; x < elements.length;x++){
            elements[x].style.border="1px solid #663333";
            var validation = elements[x].alt;
            if(elements[x].type == "select-one"){
                validation =elements[x].title;
            }
            if(validation){
                var validator = validation.split('|');
                switch (validator[0]){
                    case '*':						
                        if (elements[x].value == "") {														
                            elements[x].style.border="1px solid red";
                            alert(validator[1]);
                            elements[x].focus();
                            return;
                        }
                        if(!checkMinValue(elements[x].value,2)){
                            elements[x].style.border="1px solid red";
                            alert("Attenzione devono essere inseriti minimo 2 caratteri");
                            elements[x].focus();
                            return;								
                        }
                        if((validator[2] != "") && (elements[x].value == validator[2])){											
                            elements[x].style.border="1px solid red";
                            alert(validator[1]);
                            elements[x].focus();
                            return;
                        }
                        break;
                    case '#':
                        if (elements[x].value == "") {							
                            elements[x].style.border="1px solid red";
                            alert(validator[1]);
                            elements[x].focus();
                            return;
                        }else{
                            var number =elements[x].value.replace(/[\,\.]/g,"");
                            if(isNaN(number)){												
                                alert("Inserire un numero")
                                if(elements[x].type != "hidden"){
                                    elements[x].style.border="1px solid red";
                                    elements[x].focus();
                                    elements[x].value="";
                                }
                                return;						
                            }
                        }					
                        break;
                    case 'compare':
                        var first  = elements[x].value;
                        var sel    = elements[validator[1]];
                        var second = elements[sel.name].options[sel.selectedIndex].value;
                        if(first == ""){											
                            elements[x].style.border="1px solid red";
                            alert(validator[2]);
                            elements[x].focus();
                            return;						
                        }
                        var number =first.replace(/[\,\.]/g,"");
                        if(isNaN(number)){
                            elements[x].style.border="1px solid red";
                            alert("Il campo deve essere un numero");
                            elements[x].focus();
                            return;						
                        }

                        if(second < first){							
							
                            elements[x].style.border="1px solid red";
                            alert("Attenzione l'importo è più grande della classifica selezionata");
                            elements[x].focus();
                            return;
                        }
						
                        break;
                    case 'select':
                        var result = elements[x].options[elements[x].selectedIndex].value;
                        if(result==validator[1]){
                            elements[x].style.border="1px solid red";
                            alert(validator[2]);
                            elements[x].focus();							
                            return;
                        }
                        break;
                    case 'radio':
                        var result = elements[x].checked;
                        if(result != true){						
                            elements[x].style.border="1px solid red";
                            alert(validator[1]);
                            elements[x].focus();
                            return;
                        }
						
                        break;
                    case 'email':
                        var string = elements[x].value;
                        if(string ==""){
                            elements[x].style.border="1px solid red";
                            alert(validator[1]);	
                            elements[x].focus();
                            return;
                        }
                        if (string.search(/^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$/) == -1){							
                            elements[x].style.border="1px solid red";
                            alert("Attenzione email non valida");
                            elements[x].focus();
                            return;
                        }
                        break;
                    case 'dataInPast':
                        var time = elements[x].value.split('/');
                        var day  = elements[time[0]].value;
                        var mon  = elements[time[1]].value;
                        var yea  = elements[time[2]].value;
						
                        var today = new Date();
                        var check = new Date();
						
                        check.setFullYear(yea,mon-1,day);
						
                        if(today.getTime() > check.getTime()){
                            alert(validator[1]);		
                            return;
                        }
						
                        if(check.getDate() != day){
                            alert(validator[2]);		
                            return;						
                        }
                        break;
                    case 'dataCompare':
                        var time     = elements[x].value.split('|');
                        var arrivo   = time[0].split('/');
                        var data1 = new Date();
                        data1.setFullYear(elements[arrivo[2]].value,elements[arrivo[1]].value-1,elements[arrivo[0]].value); 
                        var partenza = time[1].split('/');
                        var data2 = new Date();
                        data2.setFullYear(elements[partenza[2]].value,elements[partenza[1]].value-1,elements[partenza[0]].value); 
                        if(data2.getTime() < data1.getTime()){
                            alert(validator[1]);		
                            return;								
                        }
                        var data3 = new Date();
                        data3 = data1.setMonth(data1.getMonth()+2);
                        if(data2.getTime() > data3){
                            alert("L'intervallo di tempo selezionato è troppo grande");
                            return;
                        }
                        break;
                    case 'dataCompareIT':
                        var time     = elements[x].value.split('|');						
                        var arrivo   = time[0].split('/');					
						
                        var stringaArrivo = elements[arrivo].value.split('/');						 
                        var data = new Date()              				  
                        var dataArrivo = new Date(stringaArrivo[2],stringaArrivo[1]-1,stringaArrivo[0])
						  
                        var partenza = time[1].split('/');
                        var stringaPartenza = elements[partenza].value.split('/');
                        var dataPartenza = new Date(stringaPartenza[2],stringaPartenza[1]-1,stringaPartenza[0]);
             
                        if(dataPartenza.getTime() < dataArrivo.getTime()){
                            alert(validator[1]);		
                            return;								
                        }
                        break;
                }				
            }
	}
		
	form.submit();
    }
}

function gotoUrl(message){
    if(confirm(message)){
        /*window.location.href = website;*/
        return true;
    }else{
        return false;
    }
}

// Invia il form
function send(thisform){
    mySubmit(thisform);
}

// Ripristina il form
function ripristina(thisform){
    var form = window.document.forms[thisform];
    form.reset();
}

function ripristinaAll(){
    var forms = window.document.getElementsByTagName("form");
    for(var i=0;i<forms.length;i++){
        if(forms[i].name != "")
            ripristina(forms[i].name);
    }		
}

function popup(website){

    var windowprops='width=1,height=1,scrollbars=yes,status=no,resizable=yes,location=no'
    var leftdist = 10;   
    var topdist = 10; 
    var lunghezza = 650;
    var altezza = 700;
	
    if(lunghezza == 0){
        lunghezza = window.screen.availWidth;
    }
    if(altezza == 0){
        altezza = window.screen.availHeight;
    }
	
    if (window.resizeTo&&navigator.userAgent.indexOf("Opera")==-1) {
        var sizer = window.open("","","left=" + leftdist + ",top=" + topdist +","+ windowprops);	
        sizer.resizeTo(lunghezza, altezza);
        sizer.location = website;
    }
    else
        window.open(website,'mywindow');	
}
/*********************************************************************************/

function nextDay(formName){
    var form = window.document.forms[formName];
    var day = form.Aday.options[form.Aday.selectedIndex].value;
    var mon = form.Amonth.options[form.Amonth.selectedIndex].value;
    var yea = form.Ayear.options[form.Ayear.selectedIndex].value;
		
    var thisDate = new Date();
    thisDate.setFullYear(yea,mon-1,day);
				
    form.Aday.value 	= thisDate.getDate();
    form.Amonth.value = thisDate.getMonth() +1;
    form.Ayear.value 	= thisDate.getFullYear();
		
    var newDate=new Date();
    day = parseInt(day)+1;
    newDate.setFullYear(yea,mon-1,day);
		
    form.Pday.value 	= newDate.getDate();
    form.Pmonth.value = newDate.getMonth() +1;
    form.Pyear.value 	= newDate.getFullYear();
}

