// **** FUNCIONS DE DATES        ****
// **** AUTOR: Jordi Riu         ****
// **** LLENGUATGE Javascript    ****
// **** VERSIO: 2.1 (22/06/2006) ****

function bixest(anys)
{ 
  return(anys % 4 == 0 ? (anys % 100 == 0 ? (anys % 400 == 0 ? 1 : 0) : 1): 0);
}

function numdies(ara)
{
  dmes=new Array(12); 
  dmes[0]=31; dmes[1]=28; dmes[2]=31; dmes[3]=30;  dmes[4]=31;  dmes[5]=30;
  dmes[6]=31; dmes[7]=31; dmes[8]=30; dmes[9]=31; dmes[10]=30; dmes[11]=31;
  ndies = 0;
  for(i=2000;i<=ara.getYear()-1; i++) ndies = ndies + 365 + bixest(i);
  for(i=0;i<=ara.getMonth()-1; i++) ndies = ndies + dmes[i] + (i == 1 ? bixest(ara.getYear()) : 0) 
  return(ndies + ara.getDate());
}

function escriunumdies(now,ini)
{
        document.write("aquesta web té " + (numdies(now) - numdies(ini)) + " dies de vida&nbsp;"); 
}

function escriudia(num,lle)
{   if (lle=='ang') 	  
    { switch(num)
    	{  case 1: 
    		    return '1st';
    	      break;
    	   case 2: 
    	      return '2nd';
    	      break;
    	   case 3: 
    	      return '3rd';
    	      break;
    	   default:      
    	      return num+'th';
    	}
    } else
    { return num;
    }
}

function escriuany(num)
{   if (num < 1900) num = num + 1900;
	  return num;
}

function escriumes(mes,lle)
{
        mesos=new Array(12);
        switch(lle)
        { case 'cas': 
            mesos[0]="enero";   mesos[1]= "febrero";   mesos[2]= "marzo";     
            mesos[3]="abril";   mesos[4]= "mayo";      mesos[5]= "junio";
            mesos[6]="julio";   mesos[7]= "agosto";    mesos[8]= "setiembre"; 
            mesos[9]="octubre"; mesos[10]="noviembre"; mesos[11]="diciembre";
            break;
          case 'fra': 
            mesos[0]="janvier";  mesos[1]= "février";  mesos[2]= "marche";     
            mesos[3]="avril";    mesos[4]= "mai";      mesos[5]= "juin";
            mesos[6]="juillet";  mesos[7]= "août";     mesos[8]= "septembre"; 
            mesos[9]="octobre";  mesos[10]="novembre"; mesos[11]="décembre";
            break;			
          case 'ang': 
            mesos[0]="january"; mesos[1]= "february";  mesos[2]= "march";     
            mesos[3]="april";   mesos[4]= "may";       mesos[5]= "june";
            mesos[6]="july";    mesos[7]= "august";    mesos[8]= "september"; 
            mesos[9]="october"; mesos[10]="november";  mesos[11]="december";
            break;
          case 'ale': 
            mesos[0]="januar";  mesos[1]= "februar";   mesos[2]= "märzes";     
            mesos[3]="april";   mesos[4]= "mai";       mesos[5]= "juni";
            mesos[6]="juli";    mesos[7]= "august";    mesos[8]= "september"; 
            mesos[9]="oktober"; mesos[10]="november";  mesos[11]="dezember";
			break;
          default:         
            mesos[0]="gener";   mesos[1]= "febrer";    mesos[2]= "març";     
            mesos[3]="abril";   mesos[4]= "maig";      mesos[5]= "juny";
            mesos[6]="juliol";  mesos[7]= "agost";     mesos[8]= "setembre"; 
            mesos[9]="octubre"; mesos[10]="novembre";  mesos[11]="desembre";
        }
        return(mesos[mes]);
}

function articlemes(str,art)
{       switch (str.substr(0,1))
        {  case 'a','o':
		      return art.substr(0,1)+"'"+str;
		      break;
     	   default:
		      return art+" "+str;		      			 
		}
}

function escriudata(now,lle)
{
        switch(lle)
        { case 'cas':
		    mes = "de "+escriumes(now.getMonth(),lle)+" del ";
            break;
          case 'fra': 
		    mes = articlemes(escriumes(now.getMonth(),lle),"de")+" de ";
            break;			
          case 'ang': 
		    mes = "of "+escriumes(now.getMonth(),lle)+" of ";
            break;
          case 'ale': 
		    mes = "von "+escriumes(now.getMonth(),lle)+" von ";
			break;
          default:         
		    mes = articlemes(escriumes(now.getMonth(),lle),"de")+" del ";            
        }
        document.write(escriudia(now.getDate(),lle)+"  "+mes+escriuany(now.getYear())+"&nbsp;")
}

function escriudataset(now,lle)
{
        dies=new Array(7)
        switch(lle)
        { case 'cas':
             dies[0]="domingo"; dies[1]="lunes";   dies[2]="martes"; dies[3]="miercoles";
             dies[4]="jueves";  dies[5]="viernes"; dies[6]="sabado";      
             break;
          case 'fra':
             dies[0]="dimanche"; dies[1]="lundi";    dies[2]="mardi"; dies[3]="mercredi";
             dies[4]="jeudi";    dies[5]="vendredi"; dies[6]="samedi";      						
             break;
          case 'ang':
             dies[0]="sunday"; dies[1]="monday";   dies[2]="tuesday"; dies[3]="wednesday";
             dies[4]="thursday"; dies[5]="friday"; dies[6]="saturday";      						
             break;
          case 'ale':
             dies[0]="sonntag"; dies[1]="montag";   dies[2]="dienstag"; dies[3]="mittwoch";
             dies[4]="donnerstag"; dies[5]="freitag"; dies[6]="samstag";      						
    		 break;
		 default:
             dies[0]="diumenge"; dies[1]="dilluns"; dies[2]="dimarts"; dies[3]="dimecres";
             dies[4]="dijous"; dies[5]="divendres"; dies[6]="dissabte";      						
        }
        document.write(dies[now.getDay()]+", ")
        escriudata(now,lle);
}

function escriuavui(lle)
{  now=new Date();
   escriudataset(now,lle);
}

function diaset(dia,lle)
{
        dies=new Array(7)
        switch(lle)
        { case 'cas':
             dies[0]="dom"; dies[1]="lun"; dies[2]="mar"; dies[3]="mie";
             dies[4]="jue"; dies[5]="vie"; dies[6]="sab";      
             break;
          case 'fra':
             dies[0]="dim"; dies[1]="lun"; dies[2]="mar"; dies[3]="mer";
             dies[4]="jeu"; dies[5]="ven"; dies[6]="sam";      						
             break;
          case 'ang':
             dies[0]="sun"; dies[1]="mon"; dies[2]="tue"; dies[3]="wed";
             dies[4]="thu"; dies[5]="fri"; dies[6]="sat";      						
             break;
          case 'ale':
             dies[0]="son"; dies[1]="mon";   dies[2]="die"; dies[3]="mit";
             dies[4]="don"; dies[5]="fre"; dies[6]="sam";      						
    		 break;
		 default:
             dies[0]="diu"; dies[1]="dill"; dies[2]="dim"; dies[3]="dic";
             dies[4]="dij"; dies[5]="div"; dies[6]="dis";      						
        }
        document.write(dies[dia]);
}

function escriudesplegablemes(mes,lle,clas)
{  
   document.write("<SELECT id=mes name=mes class="+clas+" style='position: relative; left: -2px; top: -2px; width: 95px; text-align: right;' onchange='document.calendari.vmes.value=document.calendari.mes.value;submitcalendari();'>\n");
   for(i=0;i<12;i++)
   {   document.write("<OPTION value="+i);
       if (i==mes) document.write(" selected");
	   document.write(">"+escriumes(i,lle)+"</OPTION>");
   }    
   document.write("</SELECT>\n");
}

function escriudesplegableany(any,clas)
{  
   document.write("<SELECT id=any name=any class="+clas+" style='position: relative; left: -2px; top: -2px; width: 60px; text-align: right;' onchange='	submitcalendari();'>\n");
   for(i=any-5;i<=any+5;i++)
   {   document.write("<OPTION value="+i);
       if (i==any) document.write(" selected");
	   document.write(">"+i+"</OPTION>");
   }    
   document.write("</SELECT>\n");
}

function obreCalendari(camp)
{  dat = eval(camp+'.value');
   w = window.open('calendari.asp?dat='+dat+'&camp='+camp,'calendari','width=210,height=180');
   w.focus();
}