﻿// JScript File
	var Pri=new Number("1.5")
	var Sep
	var NonSep
	if (isNaN(Pri))
	{
		Sep=","
		NonSep="."
	}
	else
	{
		Sep="."
		NonSep=","
	}
var tempo;
var ricorrenza = 5 * 60 * 1000;
var mute=false;

function checkUnique(r){
    var frm = document.forms[0];
    var i=0;
    if(r.checked){
        for(i=0; i<frm.length; i++){
            if(frm[i].id){
                if(frm[i].id.indexOf('rdbNominativo')>0){
                    frm[i].checked=false;
                }
            }
        }
        r.checked = true;
    }
}

function checkNumberN(Pr)
{
	if (Pr!="")
	{
		var Prezzo=new Number(Pr)
		if (!isNaN(Prezzo))
		{
			return Pr
		}
		else
		{
			return ""
		}
	}
	else
	{
		return ""
	}
}


function checkRea(Pr){
    var ret='';
	if (Pr!=''){
	    ret = checkNumberN(Pr);
	    if(ret==''){
	        var re = new RegExp('^[A-Za-z]{6}[0-9]{2}[A-Za-z]{1}[0-9]{2}[A-Za-z]{1}[0-9]{3}[A-Za-z]{1}$');
	        if(Pr.match(re)){
	            ret=Pr;
	        }
	    }
	}
	return ret;
}


function checkPrice(Pr)
{
	if (Pr!="")
	{
		var Prezzo=new Number(Pr.replace(NonSep,Sep))
		if (!isNaN(Prezzo))
		{
			if (Prezzo==Math.round(Prezzo))
			{
				return (Math.round(Prezzo*100)/100).toString() + Sep + "00"
			}
			else
			{
				if (Prezzo==Math.round(Prezzo*10)/10)
				{
					return (Math.round(Prezzo*100)/100).toString() + "0" 
				}
				else
				{
					return Math.round(Prezzo*100)/100
				}
			}
		}
		else
		{
			return ""
		}
	}
	else
	{
		return ""
	}
}

function CheckHour(fuzz){
    var rit = "";
    fuzz = fuzz.replace(/\./g,":");
    var a = fuzz.indexOf(":", 0);
    if(a == 0){
        fuzz= '00' + fuzz;
        a = fuzz.indexOf(":", 0);
    }else if (a < 0){
        fuzz= fuzz + ':00';
        a = fuzz.indexOf(":", 0);
    }else if (a == fuzz.length - 1){
        fuzz= fuzz + '00';
        a = fuzz.indexOf(":", 0);
    }
    var ora = new Number(fuzz.substring(0,a));
    var minu = new Number(fuzz.substring(a+1,fuzz.length));
    if(!(isNaN(ora) || isNaN(minu))){
        if (ora >=0 && ora<24 && minu>=0 && minu<=59){
            var oraS = "00" + ora.toString(10);
            var minuS = "00" + minu.toString(10);
            oraS=oraS.substr((oraS.length)-2,2);
            minuS=minuS.substr((minuS.length)-2,2);
            rit = oraS + ':' + minuS;
        }
    }
    return rit;
}


function CheckDate(obj){
    var Data,a,b,D1,D2,D3, Data1,Data2,Data3
  	  Data=new String(obj)
      Data=trim(Data.replace(/-/g,"/"))
	  a=Data.indexOf("/",1)
	  if(a==-1 && Data.length==8){
          Data = Data.substr(0,2) + "/" + Data.substr(2,2) + "/" + Data.substr(4,4);
    	  a=Data.indexOf("/",1)
	  }
      b=Data.indexOf("/",a+1)
	if ((b!=-1) && (a!=-1))
	{
		D1=new Number(Data.substring(0,a))
		D2=new Number(Data.substring(a+1,b))
		D3=new Number(Data.substring(b+1,Data.length))
		if (D1>31 || D2>12 || D3<1000 || isNaN(D1) || isNaN(D2) || isNaN(D3))
		{
   			return ""
		}
    		else
		{
			Data1="00" + D1.toString(10)
			Data1=Data1.substr((Data1.length)-2,2)
			Data2="00" + D2.toString(10)
			Data2=Data2.substr(Data2.length-2,2)
			Data3=D3.toString(10)
			Data3=Data3.substring(Data3.length-4,4)
			var gino=Data1 + "/" + Data2 + "/" + Data3
				return gino 
		}
	}
	else
	{
		return ""
	}
}


function trim(s){
    return s.replace(/(^\s*)|(\s*$)/g, '')
}


function CheckDate2(obj)
{
var Data,a,b,D1,D2,D3, Data1,Data2,Data3
  	  Data=new String(obj)
          Data=Data.replace(/-/g,"/")
	  a=Data.indexOf("/",1)
      b=Data.indexOf("/",a+1)
	if (a!=-1)
	{
		if (b!=-1)
		{
			D1=new Number(Data.substring(0,a))
			D2=new Number(Data.substring(a+1,b))
			D3=new Number(Data.substring(b+1,Data.length))
		}
		else
		{
			D2=new Number(Data.substring(0,a))
			D3=new Number(Data.substring(a+1,Data.length))
		}
		if (D2>12 || D3<1000 || isNaN(D2) || isNaN(D3))
		{
	   		return ""
		}
	    	else
		{
			Data2="00" + D2.toString(10)
			Data2=Data2.substr(Data2.length-2,2)
			Data3=D3.toString(10)
			Data3=Data3.substring(Data3.length-4,4)
			return Data2 + "/" + Data3 
		}
	}
	else
	{
		return ""
	}
}




function checkNumber(Pr)
{
	if (Pr!="")
	{
		var Prezzo=new Number(Pr)
		if (!isNaN(Prezzo))
		{
			Prezzo=Math.floor(Math.abs(Prezzo))
			return Prezzo.toString(10)
		}
		else
		{
			return ""
		}
	}
	else
	{
		return ""
	}
}

function checkFloat(Pr)
{
	if (Pr!="")
	{
		var Prezzo=new Number(Pr)
		if (!isNaN(Prezzo))
		{
			return Prezzo.toString(10)
		}
		else
		{
			return ""
		}
	}
	else
	{
		return ""
	}
}

function gestfAbil(
    rdbFattCommittente,
    /*rdbFattIntestatario,
    rdbFattAltro,*/

    txtfRagioneSociale,
    txtfIndirizzo,
    txtfCap,
    txtfCitta,
    txtfProvincia,
    txtfPiva,
    txtfCodiceFiscale,
    lblfRagioneSociale,
    lblfIndirizzo,
    lblfCap,
    lblfCitta,
    lblfProvincia,
    lblfPiva,
    lblfCodiceFiscale
){

    txtfRagioneSociale.disabled = rdbFattCommittente.checked;
    txtfIndirizzo.disabled = rdbFattCommittente.checked;
    txtfCap.disabled = rdbFattCommittente.checked;
    txtfCitta.disabled = rdbFattCommittente.checked;
    txtfProvincia.disabled = rdbFattCommittente.checked;
    txtfPiva.disabled = rdbFattCommittente.checked;
    txtfCodiceFiscale.disabled = rdbFattCommittente.checked;
    
    lblfRagioneSociale.disabled = rdbFattCommittente.checked;
    lblfIndirizzo.disabled = rdbFattCommittente.checked;
    lblfCap.disabled = rdbFattCommittente.checked;
    lblfCitta.disabled = rdbFattCommittente.checked;
    lblfProvincia.disabled = rdbFattCommittente.checked;
    lblfPiva.disabled = rdbFattCommittente.checked;
    lblfCodiceFiscale.disabled = rdbFattCommittente.checked;
    
}

function gestsAbil(
    rdbSpedMano,
    rdbSpedIntestatario,
    rdbSpedAltro,
    lblSpedMano,
    lblSpedIntestatario,
    lblSpedAltro,
    chkSpedizioneCartaceo,
    txtNomeDestinatario,
    txtsRagioneSociale,
    txtsIndirizzo,
    txtsCap,
    txtsCitta,
    txtsProvincia,
    lblsRagioneSociale,
    lblsIndirizzo,
    lblsCap,
    lblsCitta,
    lblsProvincia
){

    rdbSpedMano.disabled = !chkSpedizioneCartaceo.checked,
    rdbSpedIntestatario.disabled = !chkSpedizioneCartaceo.checked,
    rdbSpedAltro.disabled = !chkSpedizioneCartaceo.checked,

    lblSpedMano.disabled = !chkSpedizioneCartaceo.checked,
    lblSpedIntestatario.disabled = !chkSpedizioneCartaceo.checked,
    lblSpedAltro.disabled = !chkSpedizioneCartaceo.checked,

    txtNomeDestinatario.disabled = !(rdbSpedMano.checked && chkSpedizioneCartaceo.checked)

    txtsRagioneSociale.disabled = !(!rdbSpedMano.checked && chkSpedizioneCartaceo.checked);
    txtsIndirizzo.disabled = !(!rdbSpedMano.checked && chkSpedizioneCartaceo.checked);
    txtsCap.disabled = !(!rdbSpedMano.checked && chkSpedizioneCartaceo.checked);
    txtsCitta.disabled = !(!rdbSpedMano.checked && chkSpedizioneCartaceo.checked);
    txtsProvincia.disabled = !(!rdbSpedMano.checked && chkSpedizioneCartaceo.checked);
    
    lblsRagioneSociale.disabled = !(!rdbSpedMano.checked && chkSpedizioneCartaceo.checked);
    lblsIndirizzo.disabled = !(!rdbSpedMano.checked && chkSpedizioneCartaceo.checked);
    lblsCap.disabled = !(!rdbSpedMano.checked && chkSpedizioneCartaceo.checked);
    lblsCitta.disabled = !(!rdbSpedMano.checked && chkSpedizioneCartaceo.checked);
    lblsProvincia.disabled = !(!rdbSpedMano.checked && chkSpedizioneCartaceo.checked);
    
}

function postRequest(Url, method, pars){
    var ritorno = "";
    var xmlhttp=null;
    if (window.XMLHttpRequest)
    {
        xmlhttp=new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
        xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
    }
    if (xmlhttp!=null){
        xmlhttp.open(method, Url, false);
        xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        xmlhttp.send(pars);
        ritorno =  xmlhttp.responseText;
    }              
    return ritorno  
}


function getIndirizzoInfo(
    nomeProp
){
    var rit = new Array(7);
    rit[0]='';
    rit[1]='';
    rit[2]='';
    rit[3]='';
    rit[4]='';
    rit[5]='';
    rit[6]='';
    rit[7]='';
    if (nomeProp!=''){
        var Url="";
        Url="getIndirizzo.aspx";
        var pars = "";
        pars = "nc=" + encodeURIComponent(nomeProp);
        var resp = '';
        resp = postRequest(Url, 'POST', pars);
        if(resp!=''){
            var rito = resp.split("§");
            if (rito.length > 2){
                var a = '' + rito[0];
                rit[0]= a;
                a = '' + rito[1];
                rit[1]= a;
                a = '' + rito[2];
                rit[2]= a;
                a = '' + rito[3];
                rit[3]= a;
                a = '' + rito[4];
                rit[4]= a;
                a = '' + rito[5];
                rit[5]= a;
                a = '' + rito[6];
                rit[6]= a;
                a = '' + rito[7];
                rit[7]= a;
            }
        }
    }
    return rit;
}

function confrontaDati(
    nuoviDati,
    ragioneSociale,
    indirizzo,
    citta,
    cap,
    provincia,
    partitaIva,
    codiceFiscale,
    idIndirizzo
){
    if(nuoviDati){
        if(nuoviDati[7]!=''){
            var copia = false;
            if(indirizzo.value=='' && citta.value==''
             && cap.value=='' && provincia.value=='' && partitaIva.value==''
             && codiceFiscale.value==''){
                copia=true;
            }
            if(! copia){
                if(
                        ragioneSociale.value.toLowerCase() != nuoviDati[0].toLowerCase() || 
                        indirizzo.value.toLowerCase() != nuoviDati[1].toLowerCase() || 
                        citta.value.toLowerCase() != nuoviDati[2].toLowerCase() ||
                        cap.value.toLowerCase() != nuoviDati[3].toLowerCase() || 
                        provincia.value.toLowerCase() != nuoviDati[4].toLowerCase() || 
                        partitaIva.value.toLowerCase() != nuoviDati[5].toLowerCase() ||
                        codiceFiscale.value.toLowerCase() != nuoviDati[6].toLowerCase()){
                    var mex='';
                    mex = mex + 'Vuoi sostituire i dati attualmente impostati\n';
                    mex = mex + '\t' + ragioneSociale.value + '\n';
                    mex = mex + '\t' + indirizzo.value + '\n';
                    mex = mex + '\t' + cap.value + ' ' + citta.value + '(' + provincia.value + ')\n';
                    mex = mex + '\ncon quelli trovati nell\'archivio?\n';
                    mex = mex + '\t' + nuoviDati[0] + '\n';
                    mex = mex + '\t' + nuoviDati[1] + '\n';
                    mex = mex + '\t' + nuoviDati[3] + ' ' + nuoviDati[2] + '(' + nuoviDati[4] + ')\n';
                    copia=confirm(mex);
                }
            }
            if(copia){
                ragioneSociale.value = nuoviDati[0];
                indirizzo.value = nuoviDati[1];
                citta.value = nuoviDati[2];
                cap.value = nuoviDati[3];
                provincia.value = nuoviDati[4];
                partitaIva.value = nuoviDati[5];
                codiceFiscale.value = nuoviDati[6];
                idIndirizzo.value = nuoviDati[7];
            }
        }else{
            idIndirizzo.value = '';
        }
    }else{
        idIndirizzo.value = '';
    }
}

function checkCanone(can){
	var rit = true;
	if (
		can.value=='' 
	){
		alert("E\' necessario specificare la cifra per la quale si richiede il rinnovo.");
		rit=false;
	}
	return rit;
}

function gestLabel(
            radio, 
            label
){
    label.style.display = "block";
    if(radio.checked){
        label.style.display = "none";
    }
}

function gestLabel2(
            cb,
            radio, 
            citta,
            label
){
    label.style.display = "block";
    if(radio.checked || trim(citta.value).toLowerCase()=='milano' || !cb.checked){
        label.style.display = "none";
    }
}

var xmlhttpAs;

function postRequestAsync(Url, method, pars){
    var ritorno = "";
    if(xmlhttpAs){
        try{
            xmlhttpAs.abort();
            xmlhttpAs = null
        }catch(err){}
    }
    if (window.XMLHttpRequest)
    {
        xmlhttpAs=new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
        xmlhttpAs=new ActiveXObject('Microsoft.XMLHTTP');
    }
    if (xmlhttpAs){
        if(xmlhttpAs.readyState==0){
            xmlhttpAs.open(method, Url, true);
            xmlhttpAs.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
            xmlhttpAs.onreadystatechange = gestAnswer;
            xmlhttpAs.send(pars);
        }
    }              
    return ritorno;
}

function getOuterHTML(node){
    return node.outerHTML || new XMLSerializer().serializeToString(node);
}


function setOuterHtml(d, v){
    var e = document.createElement("div");
    var root = null;
    e.innerHTML = v;
    for(var i=0; i<e.childNodes.length; i++) {
        if(e.childNodes[i].nodeType == 1) {
            root = e.childNodes[i];
            break;
        }
    }
    if(root)
        d.parentNode.replaceChild(root, d);
}

function postMessage(){
    var idOrdine = document.forms[0].idOrdine.value;
    var txtTitolo = document.forms[0].txtTitolo;
    var txtMessaggio = document.forms[0].txtMessaggio;
    if(trim(txtTitolo.value)!='' && trim(txtMessaggio.value)!='' && trim(idOrdine)){
        stopInterval();
        document.getElementById('siNoCaption').innerHTML='Invio nuovo messaggio';
        document.getElementById('SiNoTesto').innerHTML='Sei certo di voler inviare il messaggio?';
        document.getElementById('SiNoOK').onclick=function (){
            postMessageDavvero();
            return false;
        }
        document.getElementById('SiNoAnnulla').onclick=function (){
            startInterval();
            showDialog('dvSiNo', false);
            return false;
        }
        showDialog('dvSiNo', true) ;
    }else{
        showDialog('dvManca', true) ;
    }
    return false;
}


function postMessageDavvero(){
    mute = true;
    var idOrdine = document.forms[0].idOrdine.value;
    showDialog('dvSiNo', false) ;
    document.getElementById('prgTesto').innerHTML='Messaggio in fase di invio...';
    showDialog('dvProgress', true) 
    var txtTitolo = document.forms[0].txtTitolo;
    var txtMessaggio = document.forms[0].txtMessaggio;
    try{
        var Url="";
        Url="insMessaggio.aspx";
        var pars = "";
        pars = "ido=" + encodeURIComponent(idOrdine);
        pars = pars + "&s=" + encodeURIComponent(txtTitolo.value);
        pars = pars + "&t=" + encodeURIComponent(txtMessaggio.value);
        postRequestAsync(Url, 'POST', pars);
    }
    catch(err){
        mute = false;
        gestErrore(err)
    }
    return false;
}


function gestAnswer(){
    if(xmlhttpAs){
        if(xmlhttpAs.readyState==4){
            try{
                var txtTitolo = document.forms[0].txtTitolo;
                var txtMessaggio = document.forms[0].txtMessaggio;
                if(xmlhttpAs.status==200){
                    var resp = xmlhttpAs.responseText;
                    xmlhttpAs.abort();
                    xmlhttpAs = null;
                    if(resp!=''){
                        if(resp.substring(0,3)!='ERR'){
                            var sep = "|||";
                            var r = document.getElementById('risposta');
                            var d = r.parentNode;
                            if(resp.indexOf(sep)>=0){
                                var a = resp.split(sep);
                                var f = false;
                                for (ind=0;ind<a.length;ind++){
                                    if (trim(a[ind])!=''){
                                        var idDiv = '';
                                        var st =  a[ind].toString().indexOf("id='mex");
                                        if (st >= 0){
                                            var sto = a[ind].toString().indexOf("'", st + 5);
                                            idDiv = a[ind].substring(st + 4,sto);
                                        }
                                        if(!document.getElementById(idDiv)){
                                            var n = document.createElement("div");
                                            d.insertBefore(n,r);
                                            setOuterHtml(n, a[ind]);
                                            f=true;
                                        }
                                    }
                                }
                                if(f && !mute){
                                    showDialog('dvInfo', true) ;
                                }
                                if ( f && mute){
                                    txtTitolo.value = document.forms[0].precTitolo.value;
                                    txtMessaggio.value = '';
                                }
                            }else{
                                var n = document.createElement("div");
                                d.insertBefore(n,r);
                                setOuterHtml(n, resp);

                                
                                txtTitolo.value = document.forms[0].precTitolo.value;
                                txtMessaggio.value = '';
                            }
                        }else{
                            throw resp.substring(4);
                        }
                    }
                    unsetMessaggi();
                    showDialog('dvProgress', false) ;
                }else{
                    throw xmlhttpAs.statusText;
                }
            }catch(err){
                gestErrore(err)
            }
            mute = false;
            startInterval();
        }
    }
}


function gestErrore(erro){
                showDialog('dvProgress', false) 

                var e = '';
                if(erro.description){
                    e = erro.description;
                }else{
                    e = erro;
                }

                
                document.getElementById('errTesto').innerHTML = e;
                showDialog('dvErrore', true) 
}

function getNuoviMessaggi(){
    var idOrdine = document.forms[0].idOrdine.value;
    try{
        var Url="";
        Url="insMessaggio.aspx";
        var pars = "";
        pars = "ido=" + encodeURIComponent(idOrdine);
        postRequestAsync(Url, 'POST', pars);
    }
    catch(err){
        gestErrore(err)
    }
    return false;
}

function unsetMessaggi(){
    var idOrdine = document.forms[0].idOrdine.value;
    try{
        var Url="";
        Url="unsMessaggio.aspx";
        var pars = "";
        pars = "ido=" + encodeURIComponent(idOrdine);
        var resp = postRequest(Url, 'POST', pars);
        if(resp!=''){
            throw resp;
        }
    }
    catch(err){
       // gestErrore(err)
    }
    return false;
}


function startInterval(){
    if(!tempo){
        tempo = setInterval('getNuoviMessaggi()', ricorrenza);
    }
}

function stopInterval(){
    clearInterval(tempo);
    tempo=null;
}

function mexResize(){
    var windowHeight = getWindowHeight();
    var windowWidth = getWindowWidth();
    var height1=0;
    var height2=0;
    var height3=20;
    try{
        var dimensions = $('tHead').getDimensions();
        height1 = dimensions.height;
        height2 = windowHeight - (height1 + height3);
        document.getElementById('dvM').style.height = height2.toString(10) + 'px';
    }catch(err){
        gestErrore(err)
    }
}

function setTop(component){
    if(document.getElementById(component)){
        var totHeight = $('dvM').getDimensions().height;
        var arr = $(component).positionedOffset();
        document.getElementById('dvM').scrollTop =  (arr[1] - $('tHead').getDimensions().height - 2);    
    }
}

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 getWindowWidth() {
	var windowWidth = 0;
	if (typeof(window.innerWidth) == 'number') {
		windowWidth = window.innerWidth;
	}
	else {
		if (document.documentElement && document.documentElement.clientWidth) {
			windowWidth = document.documentElement.clientWidth;
		}
		else {
			if (document.body && document.body.clientWidth) {
				windowWidth = document.body.clientWidth;
			}
		}
	}
	return windowWidth;
}

var d;

function showDialog(pName, show) {

	if (document.getElementById) {
		var contentElement = document.getElementById(pName);
        if(show){
	        posDialog(pName)
	        contentElement.style.display='block';
			d=pName;
			window.onscroll = posD;
		}else{
			contentElement.style.display='none';
			window.onscroll = null;
		}
	}
}

function posDialog(pName) {
	if (document.getElementById) {
	    var contentElement = document.getElementById(pName);
	    if(contentElement){
		var t = getScrollTop();
		var l = getScrollLeft();
		if (t<0){
			t=0;
		}
		if (l<0){
			l=0;
		}
		contentElement.style.top = t + 'px';
		contentElement.style.left = l + 'px';
	    }
	}
}

function posD() {
	posDialog(d);
}

function getScrollTop(){
    if(typeof pageYOffset!= 'undefined'){
        //most browsers
        return pageYOffset;
    }
    else{
        var B= document.body; //IE 'quirks'
        var D= document.documentElement; //IE with doctype
        D= (D.clientHeight)? D: B;
        return D.scrollTop;
    }
}

function getScrollLeft(){
    if(typeof pageXOffset!= 'undefined'){
        //most browsers
        return pageXOffset;
    }
    else{
        var B= document.body; //IE 'quirks'
        var D= document.documentElement; //IE with doctype
        D= (D.clientWidth)? D: B;
        return D.scrollLeft;
    }
}

