<SCRIPT language=javascript>

gradualfadeObjects = new Object();
gradualfadeTimers = new Object();

function gradualfade(object, final, speed, change){
if (!document.all)
return
    if (object != "[object]"){
        setTimeout("gradualfade("+object+","+final+","+speed+","+change+")",0);
        return;
    }
        
    clearTimeout(gradualfadeTimers[object.sourceIndex]);
    
    diff = final-object.filters.alpha.opacity;
    direction = 1;
    if (object.filters.alpha.opacity > final){
        direction = -1;
    }
    change=Math.min(direction*diff,change);
    object.filters.alpha.opacity+=direction*change;
    if (object.filters.alpha.opacity != final){
        gradualfadeObjects[object.sourceIndex]=object;
        gradualfadeTimers[object.sourceIndex]=setTimeout("gradualfade(gradualfadeObjects["+object.sourceIndex+"],"+final+","+speed+","+change+")",speed);
        gradualfadeTimers[object.sourceIndex]=setTimeout("gradualfade(gradualfadeObjects["+object.sourceIndex+"],"+final+","+speed+","+change+")",speed);
    }
}


function deleteMsg()
        { 
          
        }           
    function newPopUp(newurl,newname,param) 
        {
        
        apopup = window.open(newurl,newname,param);
        }
    function ControllaCF(cf)
    {
        var validi, i, s, set1, set2, setpari, setdisp;
        if( cf == '' ) 
        {
       
        }
        else
        {
            cf = cf.toUpperCase();
            if( cf.length != 16 )
            {
                alert('Codice Fiscale non valido');
                return false;
            }
            validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
            for( i = 0; i < 16; i++ )
            {
                if( validi.indexOf( cf.charAt(i) ) == -1 )
                {
                    alert('Codice Fiscale non valido');
                    return false;
                }
            }
            set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
            set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
            setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
            setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
            s = 0;
            for( i = 1; i <= 13; i += 2 )
                {
                s += setpari.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
                }
            for( i = 0; i <= 14; i += 2 )
                {
                s += setdisp.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
                }
            if( s%26 != cf.charCodeAt(15)-'A'.charCodeAt(0) )
            {
                alert('Codice Fiscale non valido');
                return false;
            }
        }
        return true;
    }
        
    function ControllaPIVA(pi)
    {
        if ( pi == '' )
        {
        
        }
        else
        {
            if ( pi.length != 11 )
            {
                alert('Partita Iva non valida');
                return false;
            }
            validi = "0123456789";
            for ( i = 0; i < 11; i++ )
            {
                if ( validi.indexOf( pi.charAt(i) ) == -1 )
                {
                    alert('Partita Iva non valida');
                    return false;
                }
            }
            s = 0;
            for ( i = 0; i <= 9; i += 2 )
                {
                s += pi.charCodeAt(i) - '0'.charCodeAt(0);
                }
            for ( i = 1; i <= 9; i += 2 )
                {
                c = 2*( pi.charCodeAt(i) - '0'.charCodeAt(0) );
                if( c > 9 )  c = c - 9;
                s += c;
                }
            if ( ( 10 - s%10 )%10 != pi.charCodeAt(10) - '0'.charCodeAt(0) )
            {
                alert('Partita Iva non valida');
                return false;
            }
        }
        return true;
    }
            
        function checksubmit()
        {
            if (ControllaPIVA(document.form.p_iva.value))
            {
                return(ControllaCF(document.form.cod_fiscale.value));
            }
            else
            {
                alert('Partita Iva non valida');
                return false;
            }
        }
        


/******************************************
********** Start function checkForm ******
******************************************/

function checkForm(formName){
        if(isEmail(formName)){
            return false;
        }
        if(isFull(formName)){
            return false;
        }
        if(isNumeric(formName)){
            return false;
        }
        if(isData(formName)){
            return false;
        }
        if (Obbligatori_Yes (formName)){
           return false;
        }
        //alert (document.form2.privacy[0].checked)
}

// funzione che verifica, in un radiobox, se ho selezionato quello con valore "si" (nelle impostazioni del radio[0] devo mettere "si" e nel radio[1] "no")
function Obbligatori_Yes (formName)
{
   var strErr = '';
   for (i=0; i<ElencoCampiObbligatori_Yes.length; i++){
       with(eval("document.forms['" + formName + "']")){
            if (ifExist(formName, ElencoCampiObbligatori_Yes[i])){
               myObj = eval("elements." + ElencoCampiObbligatori_Yes[i]);
               // se � selezionato il no
               if (myObj[1].checked)
               {
                   strErr += "\n" + ElencoCampiObbligatori_YesDes[i];
               }

            }
       }
   }
   if (strErr!='') {
        alert(strErrObbligatori_Yes);
        return true;
    }
    else{
        return false;
    }
}



/*
 *Problema con gli oggetti SELECT
 * SELECT.length restituisce un numero uguale al numero di OPTION
 * quindi viene interpretata come una collectio. x questo all'interno 
 * del ciclo -->for(j=0;j<myObj.length;j++)<-- viene gestita l'eccezione
 */

 
function isFull(formName){
    var strErr = '';
    var skipName = '';//gestione SELECT
    var normalCycle = true;
    
    strErr = isFullGetName();
    
    for (i=0; i<ElencoCampiObbligatori.length; i++){
//      myObj =ElencoCampiObbligatori[i];
        
        
        with(eval("document.forms['" + formName + "']")){
            if (ifExist(formName, ElencoCampiObbligatori[i])){
                //cerco di inserire in myObj la collection dei campi con lo stesso nome
                myObj = eval("elements." + ElencoCampiObbligatori[i]);
                //se nn � una collection 
                if(myObj.length==undefined){
                    //alert(myObj.length + " " + myObj.name + " " + myObj.type);
                    if(myObj.type=='checkbox'){
                        if(!checkReqCheckBox(formName,ElencoCampiObbligatori[i])){
                            strErr += "\n" + ElencoCampiObbligatoriDes[i];
                        }
                    }
                    else{   
                        if ((eval(ElencoCampiObbligatori[i] + ".value == ''")) || (eval(ElencoCampiObbligatori[i] + ".value == '-1'"))){
                            strErr += "\n" + ElencoCampiObbligatoriDes[i];
                            changeColor(formName,ElencoCampiObbligatori[i],'ERROR');
                        }
                        else{
                            changeColor(formName,ElencoCampiObbligatori[i],'OK');
                        }   
                    }
                }
                
                //altrimenti itero x tutti gli elementi
                else{
                    //alert(myObj.length + " " + myObj[0].name + " " + myObj[0].type);
                    if(myObj[0].type=='checkbox'){
                        if(!checkReqCheckBox(formName,ElencoCampiObbligatori[i])){
                            strErr += "\n" + ElencoCampiObbligatoriDes[i];
                        }
                    }
                    else{
                        for(j=0;j<myObj.length;j++){
                            //se l'elemento � "SELECT"
                            if(myObj.type == 'select-one'){
                                normalCycle = false;
                                oText = myObj.options[myObj.selectedIndex].value;
                                //alert(oText);
                            }
                            else{
                                normalCycle = true;
                                oText = myObj[j].value;
                            }
                            //fine gestione SELECT
                            
                            if(myObj.name!=skipName || normalCycle){
                                //alert(oText);
                                skipName = myObj.name;
                                if ((oText == '') || (oText == '-1')){
                                    if(strErr=='' || (strErr!='' && myObj.type == 'select-one')){
                                        strErr += "\n" + ElencoCampiObbligatoriDes[i];
                                    }
                                    changeColor(formName,"elements." + ElencoCampiObbligatori[i] + "[" + j + "]",'ERROR');
                                }
                                else{
                                    changeColor(formName,"elements." + ElencoCampiObbligatori[i] + "[" + j + "]",'OK');
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    if (strErr!='') {
        alert(strErrObbligatori + strErr);
        return true;
    }
    else{
        return false;
    }
}


function isFullGetName(){
    var strErr = '';
    for (i=0; i<ElencoCampiGetName.length; i++){
        if(!checkReqCheckBoxGetName(ElencoCampiGetName[i])){
            strErr += "\n" + ElencoCampiGetNameDes[i];
        }
    }
    /*
    if (strErr!='') {
        alert(strErrObbligatori + strErr);
        return true;
    }
    else{
        return false;
    }
    */
    return strErr;
}




function isNumeric(formName){
    
    var strErr = '';
    for (i=0; i<ElencoCampiNumerici.length; i++){
        with(eval("document.forms['" + formName + "']")){

            if (ifExist(formName, ElencoCampiNumerici[i])){
                //cerco di inserire in myObj la collection dei campi con lo stesso nome
                myObj = eval("elements." + ElencoCampiNumerici[i]);
                //se nn � una collection ma ho un solo campo myObj=undefined
                if(myObj.length==undefined){
                    if (isNaN(eval(ElencoCampiNumerici[i]+ ".value.replace('.', ',')")) && isNaN(eval(ElencoCampiNumerici[i]+ ".value.replace(',', '.')"))){
                        strErr += "\n" + ElencoCampiNumericiDes[i];
                        changeColor(formName,ElencoCampiNumerici[i],'ERROR');
                    }
                    else{
                        changeColor(formName,ElencoCampiNumerici[i],'OK');
                    }   
                }
                //altrimenti itero x tutti gli elementi
                else{
                    for(j=0;j<myObj.length;j++){
                        if (isNaN(myObj[j].value.replace('.', ',')) && isNaN(myObj[j].value.replace(',', '.'))){
                            if(strErr==''){
                                strErr += "\n" + ElencoCampiNumericiDes[i];
                            }
                            changeColor(formName,"elements." + ElencoCampiNumerici[i] + "[" + j + "]",'ERROR');
                        }
                        else{
                            changeColor(formName,"elements." + ElencoCampiNumerici[i] + "[" + j + "]",'OK');
                        }
                    }
                }
            }
        }
    } 
    if (strErr!='') {
        alert(strErrNumerici + strErr);
        return true;
    }
    else{
        return false;
    }
}

function isData(formName){
    var strErr = '';
    for (i=0; i<ElencoCampiData.length; i++){
        with(eval("document.forms['" + formName + "']")){
            if (ifExist(formName, ElencoCampiData[i])){
                //cerco di inserire in myObj la collection dei campi con lo stesso nome
                myObj = eval("elements." + ElencoCampiData[i]);
                //se nn � una collection ho un solo campo 
                if(myObj.length==undefined){
                    if(!checkData(eval(ElencoCampiData[i]+ ".value"))){
                        strErr += "\n" + ElencoCampiDataDes[i];
                        changeColor(formName,ElencoCampiData[i],'ERROR');
                    }
                    else{
                        changeColor(formName,ElencoCampiData[i],'OK');
                    }
                }
                //altrimenti itero x tutti gli elementi
                else{
                    for(j=0;j<myObj.length;j++){
                        if(!checkData(myObj[j].value)){
                            if(strErr==''){
                                strErr += "\n" + ElencoCampiDataDes[i];
                            }
                            changeColor(formName,"elements." + ElencoCampiData[i] + "[" + j + "]",'ERROR');
                        }
                        else{
                            changeColor(formName,"elements." + ElencoCampiData[i] + "[" + j + "]",'OK');
                        }
                    }
                }
            }
        }   
    }
    if (strErr!='') {
        alert(strErrData + strErr);
        return true;
    }
    else{
        return false;
    }
}

function checkData(obj){
    if (obj != ''){
        gg=obj.substr(0,2);
        mm=obj.substr(3,2);
        aa=obj.substr(6,2);
        strdata=gg+"/"+mm+"/"+aa;
        data = new Date(aa,mm-1,gg);
        daa=data.getYear().toString();
        dmm=(data.getMonth()+1).toString();
        dmm=dmm.length==1?"0"+dmm:dmm;
        dgg=data.getDate().toString();
        dgg=dgg.length==1?"0"+dgg:dgg;
        dddata=dgg+"/"+dmm+"/"+daa;
        if (dddata!=strdata){
            return false;
        }
        else{
            return true;
        }
    }
    else{
        return true;    
    }
}


function isEmail(formName) {
    var strErr = '';
    for (i=0; i<ElencoCampiMail.length; i++){
        with(eval("document.forms['" + formName + "']")){

            if (ifExist(formName, ElencoCampiMail[i])){
                //cerco di inserire in myObj la collection dei campi con lo stesso nome
                myObj = eval("elements." + ElencoCampiMail[i]);
                //se nn � una collection ma ho un solo campo myObj=undefined
                if(myObj.length==undefined){
                    mailText = eval(ElencoCampiMail[i]+ ".value");
                    if(mailText!=""){
                        if (checkMail(mailText)){
                            strErr += "\n" + ElencoCampiMailDes[i];
                            changeColor(formName,ElencoCampiMail[i],'ERROR');
                        }
                        else{
                            changeColor(formName,ElencoCampiMail[i],'OK');
                        }   
                    }
                }
                //altrimenti itero x tutti gli elementi
                else{
                    for(j=0;j<myObj.length;j++){
                        mailText = eval(myObj[j]+ ".value");
                        if(mailText!=""){
                            if (checkMail(mailText)){
                                if(strErr==''){
                                    strErr += "\n" + ElencoCampiMailDes[i];
                                }
                                changeColor(formName,"elements." + ElencoCampiMail[i] + "[" + j + "]",'ERROR');
                            }
                            else{
                                changeColor(formName,"elements." + ElencoCampiMail[i] + "[" + j + "]",'OK');
                            }
                        }
                    }
                }
            }
        }
    } 
    if (strErr!='') {
        alert(strErrMail + strErr);
        return true;
    }
    else{
        return false;
    }   
}

/*
 * controllo se la mail � valida
 */
function checkMail(obj){
    if(obj.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
        return false;
    else
        return true;
}


/*
 * controllo se ALMENO un checkBox � selezionato
 */
function checkReqCheckBox(formName,checkBox){
    with(eval("document.forms['" + formName + "']")){
        myObj = eval("elements." + checkBox);
        //se nn � una collection 
        if(myObj.length==undefined){
            //alert(eval(checkBox + ".checked"));
            if (eval(checkBox + ".checked")){
                return true;
            }
        }
        else{
            for(j=0;j<myObj.length;j++){
                if (eval(checkBox + "[j].checked")){
                    return true;
                }
            }
        }
    }
    return false;
}

/*
 * controllo se ALMENO un checkBox � selezionato [dedicata a getElementByName()]
 */
function checkReqCheckBoxGetName(checkBox){
    //referenza all'oggetto
    //il tag getElementsByName restituisce una collection
    myObj = document.getElementsByName(checkBox);
    //se nn � una collection 
    if(myObj.length==undefined){
        if (myObj.checked){
            return true;
        }
    }
    else{
        for(j=0;j<myObj.length;j++){
            if (myObj[j].checked){
                return true;
            }
        }
    }
    return false;
}


function ifExist(formName, fieldName){
    var numCont;
    var myItemsLength = eval("document.forms['" + formName + "'].elements.length");
    for (numCont = 0; numCont < myItemsLength; numCont ++){
        if (eval("document.forms['" + formName + "'].elements[numCont].name") == fieldName){
            return true;
        }
    }
}
function deleteRow(QueryString){
    if (confirm(strAreYouSure)){
        return true;
    }
    else{
        return false;
    }
}
function changeColor(formName, formField, event){
    //alert("document.forms['" + formName + "']." + formField + ".style.backgroundColor='#75A1D0'");
    if(event=='ERROR'){
        eval("document.forms['" + formName + "']." + formField + ".style.backgroundColor='#75A1D0'");
    }
    else{
        eval("document.forms['" + formName + "']." + formField + ".style.backgroundColor='#fafafa'");
    }
}
/******************************************
********** End function checkform ******
******************************************/
</script>

<SCRIPT language="javascript">
    //CONFERMA X CANCELLAZIONE RECORD
    function deleteRow()
        {
            if(confirm("Sei sicuro di voler cancellare questo record?"))
            {
                return true;
            }
            else
            {
                return false;
            }
        }
</SCRIPT>

<!--@@@@@VARIABILI SESSIONE --><!--@@@@@BROWSER=364969187 -->

<script language="javascript">AC_FL_RunContent = 0;</script>
<script src="http://www.comifar.it/AC_RunActiveContent.js" language="javascript"></script>
<script language="JavaScript">
<!--
function buildArray() {
  var a = buildArray.arguments;
  for (i=0; i<a.length; i++) {
    this[i] = a[i];
  }
  this.length = a.length;
}
var urls1 = new buildArray("",
"http://www.gruppocomifar.it/",
"http://www.difarma.it/",
"http://www.afam.it/",
"http://www.spem.it/",
"https://www.spemcartavalore.it/",
"http://www.optimasalute.it/",
"http://www.valoresalute.it/",
"http://www.lagalenicainfarmacia.it/")

function go(which) {
  n = which.selectedIndex;
  url=which.options[n].value;  
  finestra = window.open(urls1[url],"","");
  finestra.focus();       
}
// -->
</script>

<SCRIPT LANGUAGE="JavaScript">
                function newPopcredits(newurl) {
                apopup = window.open(newurl,"nome","toolbar=no,location=no,directories=no,status=no,scrollbars=no,resizable=no,copyhistory=no,width=338,height=365");}
</SCRIPT>