﻿    
    function addLoadEvent(func) {
        var oldonload = window.onload;
        if (typeof window.onload != 'function') {
            window.onload = func;
        } else {
            window.onload = function() {
                if (oldonload) {
                    oldonload();
                }
                func();
            }
        }
    }

    function addResizeEvent(func) {
        var oldonresize = window.onresize;
        if (typeof window.onresize != 'function') {
            window.onresize = func;
        } else {
            window.onresize = function() {
                if (oldonresize) {
                    oldonresize();
                }
                func();
            }
        }
    }
    
    function getWindowHeight() {
			var windowHeight = 0;
			if (typeof(window.innerHeight) == 'number') {
				windowHeight = window.innerHeight;
			}
			else {
				if (document.documentElement && document.documentElement.clientHeight) {
					windowHeight = document.documentElement.clientHeight;
				}
				else {
					if (document.body && document.body.clientHeight) {
						windowHeight = document.body.clientHeight;
					}
				}
			}
			return windowHeight;
		}
		function setFooter() {

			if (document.getElementById) {
				var windowHeight = getWindowHeight();
				if (windowHeight > 0) {
					var contentHeight = document.getElementById('mainContainer').offsetHeight;
					var footerElement = document.getElementById('bottomContainer');
					var footerHeight  = footerElement.offsetHeight;
					if (windowHeight - (contentHeight + footerHeight) >= 0) {
						footerElement.style.top = (windowHeight - (contentHeight + footerHeight)) + 'px';
					}
					else {
						footerElement.style.top = '0px';
					}
				}
			}
		}

        function externalLinks() {
         if (!document.getElementsByTagName) return;
         var anchors = document.getElementsByTagName('a');
         for (var i=0; i<anchors.length; i++) {
           var anchor = anchors[i];
           if (anchor.getAttribute('href') &&
               anchor.getAttribute('rel') == 'external')
             anchor.target = '_blank';
         }
        } 
    
        function MM_jumpMenu(targ,selObj,restore){ //v3.0
            eval(targ+'.location="'+selObj.options[selObj.selectedIndex].value+'"');
            if (restore) selObj.selectedIndex=0;
        }

        function highlight(el) {
            el.className += 'inputerror';
        }
        function unlight() {
            var ins = document.getElementById('form1').getElementsByTagName('input');
            for(var i = 0; i < ins.length; i++) {
                ins[i].className = ins[i].className.replace('inputerror', '')
            }
            var ins = document.getElementById('form1').getElementsByTagName('select');
                for(var i = 0; i < ins.length; i++) {
                ins[i].className = ins[i].className.replace('inputerror', '')
            }
        }

        function showErrors(txt) {
             var errors = document.getElementById('errors');
             errors.style.display='block';
             errors.innerHTML = '';
             errors.innerHTML = '<p>Prego voler compilare correttamente il formulario indicando anche i seguenti campi obbligatori:</p><ul>' + txt + '</ul>';
        }


        function submitNewsletterForm() {  
            document.getElementById('emailN').className = '';
            var valid = true;
            var errors ='';
            if(!validAddress(document.getElementById('emailN').value)) {
                highlight(document.getElementById('emailN'));
                errors = 'indirizzo E-Mail non valido!';
                valid = false;
            }
            if(valid){
                document.formNewsletter.submit();
            } else {
                document.getElementById('emailN').value = errors;
            }
        }

        function submitDeleteNewsletterForm() {  
            document.getElementById('emailND').className = '';
            var valid = true;
            var errors ='';
            if(!validAddress(document.getElementById('emailND').value)) {
                highlight(document.getElementById('emailND'));
                errors = 'indirizzo E-Mail non valido!';
                valid = false;
            }
            if(valid){
                document.deleteNewsletter.submit();
            } else {
                document.getElementById('emailND').value = errors;
            }
        }
        
        function submitAffiliationForm() {
            
            unlight();
            var valid = true;
            var errors ='';
            
            if(document.getElementById('ragionesociale').value.length < 1) {
                highlight(document.getElementById('ragionesociale'));
                errors = errors + '<li>Ragione sociale</li>';
                valid = false;
            }
            if(document.getElementById('titolareoresponsabile').value.length < 1) {
                highlight(document.getElementById('titolareoresponsabile'));
                errors = errors + '<li>Titolare o responsabile</li>';
                valid = false;
            }
            if(document.getElementById('indirizzo').value.length < 1) {
                highlight(document.getElementById('indirizzo'));
                errors = errors + '<li>Indirizzo</li>';
                valid = false;
            }
            if(document.getElementById('nap').value.length < 1) {
                highlight(document.getElementById('nap'));
                errors = errors + '<li>NAP</li>';
                valid = false;
            } 
            if(document.getElementById('localita').value.length < 1) {
                highlight(document.getElementById('localita'));
                errors = errors + '<li>Localit&agrave;</li>';
                valid = false;
            } 
            if(valid){
                document.form1.submit();
            } else {
                showErrors(errors);
            }

        }


        function validAddress(email) {
            var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
            return reg.test(email);
        }

        function submitContactForm() {
            
            unlight();
            var valid = true;
            var errors ='';
            
            if(document.getElementById('textRichiesta').value=='0') {
                highlight(document.getElementById('textRichiesta'));
                errors = errors + '<li>Tipo richiesta</li>';
                valid = false;
            }
            if(document.getElementById('textUtente').value=='0') {
                highlight(document.getElementById('textUtente'));
                errors = errors + '<li>Tipo utente</li>';
                valid = false;
            }
            if(document.getElementById('textCognome').value.length < 1) {
                highlight(document.getElementById('textCognome'));
                errors = errors + '<li>Cognome</li>';
                valid = false;
            }
            if(document.getElementById('textNome').value.length < 1) {
                highlight(document.getElementById('textNome'));
                errors = errors + '<li>Nome</li>';
                valid = false;
            } 
            if(!validAddress(document.getElementById('textEmail').value)) {
                highlight(document.getElementById('textEmail'));
                errors = errors + '<li>E-Mail</li>';
                valid = false;
            }
            if(document.getElementById('note').value.length < 1) {
                highlight(document.getElementById('note'));
                errors = errors + '<li>Note</li>';
                valid = false;
            } 
            if(valid){
                document.form1.submit();
            } else {
                showErrors(errors);
            }
 
        }

		addLoadEvent(setFooter);
        addResizeEvent(setFooter);
        addLoadEvent(externalLinks);
               
               
               
        //addLoadEvent(toRelativePath);       
        function toRelativePath() {
         if (!document.getElementsByTagName) return;
         var anchors = document.getElementsByTagName('a');
         for (var i=0; i<anchors.length; i++) {
           var anchor = anchors[i];
           if (anchor.getAttribute('href',2)){
             if ((anchor.getAttribute('href',2).search(/http/i)== -1)&&(anchor.getAttribute('href').search(/mailto/i)== -1)&&(anchor.getAttribute('href',2).search(/javascript/i)== -1)&&!(anchor.getAttribute('href',2).search(/#/i)==0)){anchor.href='/new'+anchor.getAttribute('href',2);}
            }
         }
         var links = document.getElementsByTagName('link');
         for (var i=0; i<links.length; i++) {
           var link = links[i];
           if (link.getAttribute('href',2)){
             if ((link.getAttribute('href').search(/http/i)== -1)){link.href='/new'+link.getAttribute('href');}
            }
         }
         var imgs = document.getElementsByTagName('img');
         for (var i=0; i<imgs.length; i++) {
           var img = imgs[i];
           if (img.getAttribute('src',2)){
             if ((img.getAttribute('src',2).search(/\/images/i)== 0)){img.src='/new'+img.getAttribute('src',2);}
            }
         }
     }


     var clockID = 0;
     function UpdateClock() {
         if (clockID) {
             clearTimeout(clockID);
             clockID = 0;
         }
         var tDate = new Date();
         var hours, minutes, seconds;
         hours = tDate.getHours();
         minutes = tDate.getMinutes();
         seconds = tDate.getSeconds();
         if (hours < 10) { hours = "0" + hours; }
         if (minutes < 10) { minutes = "0" + minutes; }
         if (seconds < 10) { seconds = "0" + seconds; }
         document.getElementById('time').innerHTML = hours + ":" + minutes + ":" + seconds;
         clockID = setTimeout("UpdateClock()", 1000);
     }
     function StartClock() { clockID = setTimeout("UpdateClock()", 500); }
     function KillClock() {
         if (clockID) {
             clearTimeout(clockID);
             clockID = 0;
         }
     }

     addLoadEvent(setClock);
     function setClock() {
         if (document.getElementById("time")) { StartClock() };
     }
     window.onunload = function() {
        if (document.getElementById("time")) { KillClock() };
    };


    function YY_checkform() { //v4.65
        //copyright (c)1998,2002 Yaromat.com
        var args = YY_checkform.arguments; var myDot = true; var myV = ''; var myErr = ''; var addErr = false; var myReq;
        for (var i = 1; i < args.length; i = i + 4) {
            if (args[i + 1].charAt(0) == '#') { myReq = true; args[i + 1] = args[i + 1].substring(1); } else { myReq = false }
            var myObj = MM_findObj(args[i].replace(/\[\d+\]/ig, ""));
            myV = myObj.value;
            if (myObj.type == 'text' || myObj.type == 'password' || myObj.type == 'hidden') {
                if (myReq && myObj.value.length == 0) { addErr = true }
                if ((myV.length > 0) && (args[i + 2] == 1)) { //fromto
                    var myMa = args[i + 1].split('_'); if (isNaN(parseInt(myV)) || myV < myMa[0] / 1 || myV > myMa[1] / 1) { addErr = true }
                } else if ((myV.length > 0) && (args[i + 2] == 2)) {
                    var rx = new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-z]{2,4}$"); if (!rx.test(myV)) addErr = true;
                } else if ((myV.length > 0) && (args[i + 2] == 3)) { // date
                    var myMa = args[i + 1].split("#"); var myAt = myV.match(myMa[0]);
                    if (myAt) {
                        var myD = (myAt[myMa[1]]) ? myAt[myMa[1]] : 1; var myM = myAt[myMa[2]] - 1; var myY = myAt[myMa[3]];
                        var myDate = new Date(myY, myM, myD);
                        if (myDate.getFullYear() != myY || myDate.getDate() != myD || myDate.getMonth() != myM) { addErr = true };
                    } else { addErr = true }
                } else if ((myV.length > 0) && (args[i + 2] == 4)) { // time
                    var myMa = args[i + 1].split("#"); var myAt = myV.match(myMa[0]); if (!myAt) { addErr = true }
                } else if (myV.length > 0 && args[i + 2] == 5) { // check this 2
                    var myObj1 = MM_findObj(args[i + 1].replace(/\[\d+\]/ig, ""));
                    if (myObj1.length) myObj1 = myObj1[args[i + 1].replace(/(.*\[)|(\].*)/ig, "")];
                    if (!myObj1.checked) { addErr = true }
                } else if (myV.length > 0 && args[i + 2] == 6) { // the same
                    var myObj1 = MM_findObj(args[i + 1]);
                    if (myV != myObj1.value) { addErr = true }
                }
            } else
                if (!myObj.type && myObj.length > 0 && myObj[0].type == 'radio') {
                var myTest = args[i].match(/(.*)\[(\d+)\].*/i);
                var myObj1 = (myObj.length > 1) ? myObj[myTest[2]] : myObj;
                if (args[i + 2] == 1 && myObj1 && myObj1.checked && MM_findObj(args[i + 1]).value.length / 1 == 0) { addErr = true }
                if (args[i + 2] == 2) {
                    var myDot = false;
                    for (var j = 0; j < myObj.length; j++) { myDot = myDot || myObj[j].checked }
                    if (!myDot) { myErr += '* ' + args[i + 3] + '\n' }
                }
            } else if (myObj.type == 'checkbox') {
                if (args[i + 2] == 1 && myObj.checked == false) { addErr = true }
                if (args[i + 2] == 2 && myObj.checked && MM_findObj(args[i + 1]).value.length / 1 == 0) { addErr = true }
            } else if (myObj.type == 'select-one' || myObj.type == 'select-multiple') {
                if (args[i + 2] == 1 && myObj.selectedIndex / 1 == 0) { addErr = true }
            } else if (myObj.type == 'textarea') {
                if (myV.length < args[i + 1]) { addErr = true }
            }
            if (addErr) { myErr += '* ' + args[i + 3] + '\n'; addErr = false }
        }
        if (myErr != '') { alert('Le seguenti informazioni sono incomplete e/o contengono errori:\t\t\t\t\t\n\n' + myErr) }
        document.MM_returnValue = (myErr == '');
    }
    function MM_findObj(n, d) { //v4.0
        var p, i, x; if (!d) d = document; if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
            d = parent.frames[n.substring(p + 1)].document; n = n.substring(0, p);
        }
        if (!(x = d[n]) && d.all) x = d.all[n]; for (i = 0; !x && i < d.forms.length; i++) x = d.forms[i][n];
        for (i = 0; !x && d.layers && i < d.layers.length; i++) x = MM_findObj(n, d.layers[i].document);
        if (!x && document.getElementById) x = document.getElementById(n); return x;
    }
