
/* --- check forms --- */
function check_email (emailAddress) {
    var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
    return re.test(emailAddress);
}

function check_field (f)
{
    var field = trim(f);
    if (field.length == 0) {
        return false;
    }
    else {
        return true;
    }
}
function validateEmail(id,msgArea,msg,alertText)
{
    // check the first email address ( the exclamation means "not" )
    field = document.getElementById (id);
    if(!check_email(field.value)){
        showMsg (msgArea,msg,alertText,true);
        // change the color of text field
        field.style.borderColor = "red";
        field.focus(); 
        // make sure the form is not submitted
        return false;
    }
    else {
        return true;
    }
}

function validateEmails(template, msgArea,msg,alertErrorText, alertVoidText)
{
    var areValid = true;
    var noFields = true;
   	for (var i=1;i<100;i++) {
        emailField = document.getElementById(template+i);
        if (emailField != null) {
            noFields = false;
            if(!check_email(emailField.value)){
                areValid = false;
                // change the color of text field
                emailField.style.borderColor = "red";
                emailField.focus(); 
            }
        }
    }
    if (noFields) {
        showMsg (msgArea,msg,alertVoidText,false);
        return false;
    }
    if (!areValid) {
        showMsg (msgArea,msg,alertErrorText,true);
        // make sure the form is not submitted
        return false;    
    }
}

function validateDynamicFields(template, msgArea,msg,alertErrorText, alertVoidText)
{
    var areValid = true;
    var noFields = true;
   	for (var i=1;i<100;i++) {
        field = document.getElementById(template+i);
        if (field != null) {
            noFields = false;
            if(!check_field(field.value)){
                areValid = false;
                // change the color of text field
                field.style.borderColor = "red";
                field.focus(); 
            }
        }
    }
    if (noFields) {
        showMsg (msgArea,msg,alertVoidText,false);
        return false;
    }
    if (!areValid) {
        showMsg (msgArea,msg,alertErrorText,true);
        // make sure the form is not submitted
        return false;    
    }
}

function validateField(id,msgArea,msg,alertText,isError)
{
    field = document.getElementById(id);
    if(!check_field(field.value)){
        showMsg(msgArea, msg, alertText,isError);
        // change the color of text field
        field.style.borderColor = "red";
        field.focus();
        // make sure the form is not submitted
        return false;
    }
    else {
        return true;
    }
}

function validateTextarea(id,msgArea,msg,alertText,isError)
{
    field = document.getElementById(id);
    if(!check_texta(field.value)){
    showMsg(msgArea, msg, alertText,isError);
    // change the color of text field
    field.style.borderColor = "red";
    field.focus();
    // make sure the form is not submitted
    return false;
    }
    else {
        return true;
    }
}
function check_texta(f)
{
    if (f) {
        var field = trim(f);
        if (field.length == 0) {
            return false;
        } else {
            return true;
        }
    } else {
        return false;
    }
}

function showMsg (msgArea, msg, msgText,isError)
{
    displayArea = document.getElementById (msgArea);
    displayElement =  document.getElementById (msg);
    displayArea.style.display = "";
    if (isError) {
        displayArea.style.backgroundColor="#FF6666";
    }
    else {
        displayArea.style.backgroundColor="#FFFF99";    
    }
    if (!isDOMCompliant) {
        alert (msgText);
    }
    else {
        changeElementText (msg,msgText);
        //document.location.href="#top";    
    }
}

function isDOMCompliant ()
{
        return (document.getElementsByTagName && document.createElement);
}


/* -- others -- */



function transition(prev,next) {
//   new Effect.Fade('next-photo');
//   new Effect.Fade('prev-photo');
//   new Effect.Fade('photo-nav');
document.getElementById('photo-nav').style.display='none';
   new Effect.toggle(prev,'blind');
   new Effect.toggle(next,'blind',{delay:1});
//   new Effect.Appear('next-photo',{delay:1.2});
//   new Effect.Appear('prev-photo',{delay:1.2});
//   new Effect.Appear('photo-nav',{delay:1.2});
    setTimeout("document.getElementById('photo-nav').style.display='block'",2050);
}
function calculaData(id, any,mes,dia) {
    document.getElementById(id).value=any;
    if (mes=='Jan') {document.getElementById(id).value+="01";}
    else if (mes=='Feb') {document.getElementById(id).value+="02";}
    else if (mes=='Mar') {document.getElementById(id).value+="03";}
    else if (mes=='Apr') {document.getElementById(id).value+="04";}
    else if (mes=='May') {document.getElementById(id).value+="05";}
    else if (mes=='Jun') {document.getElementById(id).value+="06";}
    else if (mes=='Jul') {document.getElementById(id).value+="07";}
    else if (mes=='Aug') {document.getElementById(id).value+="08";}
    else if (mes=='Sep') {document.getElementById(id).value+="09";}
    else if (mes=='Oct') {document.getElementById(id).value+="10";}
    else if (mes=='Nov') {document.getElementById(id).value+="11";}
    else if (mes=='Dec') {document.getElementById(id).value+="12";}
    else {document.getElementById(id).value+="00";}

    if (dia>9)  {    document.getElementById(id).value+=dia;}
    else        {    document.getElementById(id).value=document.getElementById(id).value+"0"+dia;}

}

function month2str(month) {
var mes="";
    switch (month) {
    case 0 : mes="Jan"; break;
    case 1 : mes="Feb"; break; 
    case 2 : mes="Mar"; break; 
    case 3 : mes="Apr"; break; 
    case 4 : mes="May"; break; 
    case 5 : mes="Jun"; break; 
    case 6 : mes="Jul"; break; 
    case 7 : mes="Aug"; break; 
    case 8 : mes="Sep"; break; 
    case 9 : mes="Oct"; break; 
    case 10 : mes="Nov"; break;
    case 11 : mes="Dec"; break; 
    }
    return mes;
 }
       
function ordenaAgenda(idIn,max,n) {
    var valors=new Array();
    var elements= new Array();
    for (var i=1; i<=n;i++) {
        valors[i]=document.getElementById(idIn+i).value;
        elements[i]=document.getElementById(idIn+i);        
    }
    //valors.sort();
    var exit;
    var menu='menu-one';
    for (var i=1; i<=n; i++){
        //for (var j=1;j<=n; j++) {           
        //    if (elements[j].value==valors[i]) {                   
                    if (valors[i]>=document.getElementById(max).value) {
                        //document.write("<li class="+menu+" id='li_"+j+"'><a href='"+document.getElementById('link'+j).value +"'>"+document.getElementById('title'+j).value+"</a></li>");
                        document.write("<li class="+menu+" id='li_"+i+"'><a href='"+document.getElementById('link'+i).value +"'>"+document.getElementById('title'+i).value+"</a></li>");
                        if (menu=='menu-one') {menu='menu-two';} else {menu='menu-one';}
                    }
        //    }
        //}
    }
}

function mostraFarmacia(idIn,max,n) {
    var valors=new Array();
    var elements= new Array();
    for (var i=1; i<=n;i++) {
        valors[i]=document.getElementById(idIn+i).value;
        elements[i]=document.getElementById(idIn+i);        
    }
    valors.sort();
    
    
    var menu='menu-one';
    for (var i=0; i<n; i++){
        for (var j=1;j<=n; j++) {
            if (elements[j].value==valors[i]) {
                if (valors[i]==document.getElementById(max).value) {
                    document.write("<li class="+menu+" id='li_"+j+"'>"
                    +"<span id=\"nomfarmacia\">"+document.getElementById('nomfarmacia'+j).value+"</span>"
                    +"<span>"+document.getElementById('carrer'+j).value+"</span>"
                    +"<span>"+"("+document.getElementById('barri'+j).value+")"+"</span>"
                    +"<span>"+document.getElementById('tlf'+j).value+"</span>"
                    +"</li>");
                    if (menu=='menu-one') {menu='menu-two';} else {menu='menu-one';}
                }
            }
        }
    }
}



function getMes(id) {
var mes="";
    switch (id) {
        case 0 : mes="Enero"; break;
        case 1 : mes="Febrero"; break; 
        case 2 : mes="Marzo"; break; 
        case 3 : mes="Abril"; break; 
        case 4 : mes="Mayo"; break; 
        case 5 : mes="Junio"; break; 
        case 6 : mes="Julio"; break; 
        case 7 : mes="Agosto"; break; 
        case 8 : mes="Septiembre"; break; 
        case 9 : mes="Octubre"; break; 
        case 10 : mes="Noviembre"; break;
        case 11 : mes="Diciembre"; break; 
    }
    return mes;

}

function getMesCa(id) {
var mes="";
    switch (id) {
        case 0 : mes="Gener"; break;
        case 1 : mes="Febrer"; break; 
        case 2 : mes="Març"; break; 
        case 3 : mes="Abril"; break; 
        case 4 : mes="Maig"; break; 
        case 5 : mes="Juny"; break; 
        case 6 : mes="Juliol"; break; 
        case 7 : mes="Agost"; break; 
        case 8 : mes="Setembre"; break; 
        case 9 : mes="Octubre"; break; 
        case 10 : mes="Novembre"; break;
        case 11 : mes="Desembre"; break; 
    }
    return mes;
}

function verFoto(id, nfotos) {
var element;
    for (var i=1;i<=nfotos;i++) {
        element=document.getElementById('L'+i+'L');
        document.getElementById('photo-nav').style.display='none';
        new Effect.BlindUp(element);
    }
    element=document.getElementById('L'+id+'L');
    setTimeout("document.getElementById('photo-nav').style.display='block'",2050);
    new Effect.BlindDown(element,{delay:1});
}

function printNoticia(description) {
    
    var paraules=description.split(" ");
        if (paraules.length>15) {
            for (var i=0; i<15; i++) {
                document.write(paraules[i]);
                document.write(' ');
            }
        } else {
            document.write(description);
    }
    if (paraules.length>1) {document.write('...');}
}
/* ===== funcions de chat ======= */
function mostrarun(nom,id) {
    element=document.getElementById(nom+id);
    element.style.display='block';
}

function ocultartots(nom,total) {
    var element;
    for (var i=1;i<=total; i++) {
        element=document.getElementById(nom+i);
        element.style.display='none';
    }
}

function mostrar(nom,total,index,nelements) {
    ocultartots(nom,total);
    for (var i=index; i<(index+nelements); i++) {
        if (i<=total) {
            mostrarun(nom, i);
        } 
    }
}

/* ====== formularis ======= */

function validaComentaris() {
var e=true;
var f=true;
var t=true;
var i=true;
    
    f=validateField('nom1', 'msgerror','message','Por favor, indique el nombre', 'Por favor, indique el nombre');
    i=validateField('titol1', 'msgerror','message','Por favor, indique el t\355tulo', 'Por favor, indique el t\355tulo');
    e=validateEmail('email1', 'msgerror','message','El e-mail indicado no es valido', 'Por favor, indique su e-mail');
    t=validateTextarea('comentari', 'msgerror','message','Por favor, indique su comentario', 'Por favor, indique su comentario');
    
    if (e!=false) e=true;
    if (f!=false) f=true;
    if (t!=false) t=true;
    if (i!=false) i=true;
    
    if (e && f && t && i)
    {
        document.getElementById('formcomentari').submit();
    }                 
}
function validaEnviar() {
    var e=true;
        
    e=validateEmails('email', 'msgerror','message','El e-mail indicado no es correcto', 'Por favor, indique su e-mail');
    
    if (e!=false) e=true;
    
    if (e) {
        document.getElementById('formenviar').submit();
    }                 
}    

function validaContacte()
{
    var n=true;
    var e=true;
    var m=true;
    
    n=validateField('nombre','msgerror','message','Por favor, indique el nombre', 'Por favor, indique el nombre');
    e=validateEmail('email', 'msgerror','message','El e-mail indicado no es crrecto', 'Por favor, indique su e-mail');
    m=validateTextarea('mensaje', 'msgerror','message','Por favor, indique un mensaje', 'Por favor, indique un mensaje');    
    
    if (n!=false) n=true;
    if (e!=false) e=true;
    if (m!=false) m=true;
 
    
    if (n && e && m) 
    {
        document.getElementById('contacte').submit();
    }                 

}

function validaNewsletter() {
    var e=true;
    var n=true;
    e=validateEmail('nlemail', 'error-newsletter','msg-newsletter','E-mail incorrecto', 'Indiqueu l\'e-mail');
    n=validateField('nlname','error-newsletter','msg-newsletter','Indiqueu el nom', 'Indiqueu el nom');
    if (e!=false) e=true;
    if (n!=false) n=true;
    
    if (e && n) {
        document.getElementById('subscribe').submit();
    }                 
} 

/* --- funcions aux ---- */
function trim(str)
{
    return str.replace(/^\s*|\s*$/g,"");
    }
    
function maxWidth(id,max) {

    if (document.getElementById(id).width>max) 
    {
        document.getElementById(id).width=300;
        document.getElementById(id).style.width="300px";

    }

}
    