

function opcio(numOpcio, nomCapa, numCapa, nomClase, nomOp, imgOpcio_on, imgOpcio_off, url, naveg) 
{
 str ='';
 str ='<tr>';
 if ( document.getElementById || document.all ) 
 {
  	str+='<td height=20 onmouseover=xCMpc'+numCapa+'.actvOpc("opc'+numOpcio+nomCapa+'","opc'+numOpcio+nomCapa+'Enc",0) onmouseout=xCMpc'+numCapa+'.actvOpc("opc'+numOpcio+nomCapa+'","opc'+numOpcio+nomCapa+'Enc",1)';
  	if (naveg) str+=' colspan=2';
  	str+=' id="opc'+numOpcio+nomCapa+'">';
  	str+='<table border="0" cellspacing="0" cellpadding="0">'
  	if (nomOp != '')
  	str+='<tr><td><a href="new/%27+url+%27" id="opc'+numOpcio+nomCapa+'Enc">'+unescape(nomOp)+'</a></td></tr>';
	else
  	str+='<tr><td><a href="new/%27+url+%27" id="opc'+numOpcio+nomCapa+'Enc" onmouseover="javascript:imgover(SUBMENU'+numOpcio+nomCapa+',\''+unescape(imgOpcio_on)+'\');" onmouseout="javascript:imgout(SUBMENU'+numOpcio+nomCapa+',\''+unescape(imgOpcio_off)+'\');"><img src="new/%27+unescape(imgOpcio_off)+%27" name="SUBMENU'+numOpcio+nomCapa+'" border="0"></a>';  	  	
  	str+='</table>';
  	str+='</td>';
  	str+='</tr>';
  	document.write(str);
 } 
 else
 	if (document.layers) 
 	{
  		str+='<td height=20';
  		if (naveg) str+=' colspan=2';
  		str+=' id="opc'+numOpcio+nomCapa+'" class="'+stTD+'"><table border="0" cellspacing="0" cellpadding="0" class="'+stA+'" summary=""><tr><td width="4" nowrap></td><td class="'+stA+'"><a href="new/%27+url+%27" id="opc'+numOpcio+nomCapa+'Enc" class="'+stA+'" onmouseover=xCMpc'+numCapa+'.showOpc("opc'+numOpcio+nomCapa+'","opc'+numOpcio+nomCapa+'Enc",0) onmouseout=xCMpc'+numCapa+'.showOpc("opc'+numOpcio+nomCapa+'","opc'+numOpcio+nomCapa+'Enc",1)>'+unescape(nomOp)+'</a></td></tr></table></td>';
  		str+='</tr>';
  		auxLayer=eval('document.layers.'+nomCapa+'Kapa');
  		auxLayer.document.write(str);
 	}
}

//Función MouseOver
function imgover(imgname, img){
imgname.src = img
}
//Función MouseOut
function imgout(imgname, img){
imgname.src = img
}


function ActivarImatge(imgname, img, map)
{
	imgname.src = img;
	imgname.useMap = map;
}


function getWinNm() 
{
	var now = new Date();
	var hr = new String(now.getHours());
	var mn = new String(now.getMinutes());
	var sc = new String(now.getSeconds());
	var winNm = hr + mn + sc;
	return winNm;
}

function obre(url,target,features)
{
	if(target=="_self")
	{
		location.href=url;
	}
	else if (target=="_blank")
		{
			window.open(url,getWinNm(),features);
		}
}



function limitarTextArea(objetoForm,tamano,mensaje)
{ 
	var cadena;
    	cadena = eval('document.' + objetoForm + '.value;');
    	if(parseInt(cadena.length) > tamano)
    	{ 
     		eval('document.' + objetoForm + '.value = document.' + objetoForm + '.value.substring(0,' + tamano + ');');
     		alert(mensaje + " " + tamano);
     		eval('document.' + objetoForm + '.focus();');
    	} 
}

function ValidarHora(objecte)
{
	var myString, error
	var thisHour, thisMinutes

	var valor_retorn

	valor_retorn = true;
   
	error = 0;
   
	myString = new String(objecte.value);
	
	if (myString.length == 0) return 0;	
	
	if (myString.length != 5) error = 1;
	if (myString.substr(2,1) != ":") error = 2;
              
	thisHour = myString.substr(0,2);
	thisMinutes = myString.substr(3,2);
	if (!isHora(thisHour, thisMinutes) || (error)) 
	{
		valor_retorn = false;
        }  
	
	return valor_retorn;
}
 
function isHora(hh,mm)
{ 
	if (hh !="" && !(hh >= "00" && hh < "25"))
	{
		return false;
	}
	
	if (mm !="" && !(mm >= "00" && mm < "61"))
	{
		return false;
	}
	return true;
}

var daysInMonth = makeArray(12);
daysInMonth[1] = 31;
daysInMonth[2] = 29;
daysInMonth[3] = 31;
daysInMonth[4] = 30;
daysInMonth[5] = 31;
daysInMonth[6] = 30;
daysInMonth[7] = 31;
daysInMonth[8] = 31;
daysInMonth[9] = 30;
daysInMonth[10] = 31;
daysInMonth[11] = 30;
daysInMonth[12] = 31;

function makeArray(n) {
   for (var i = 1; i <= n; i++) {
      this[i] = 0;
   } 
   return this;
}

function daysInFebruary(whichYear) {
    return (whichYear % 4 == 0 && (!(whichYear % 100 == 0) || (whichYear % 400 == 0)) ? 29 : 28);
}

function isDate(dd,mm,yyyy) {                        
  
	if (mm !="" && !(mm > 0 && mm < 13))
	{
		return false;
	}
	if (dd !="" && !(dd > 0 && dd < 32))
	{
		return false;
	}
	if ((dd!="" && mm!="") && dd > daysInMonth[mm])
	{
		return false;
	}
	if (yyyy !="" && !(yyyy > 1889 && yyyy < 2050))
	{
		return false;
	}
	if ((mm=="2" || mm=="02" && dd!="" && yyyy!="") && dd > daysInFebruary(yyyy))
	{
		return false;
	}
	 
	return true;
}


function IsNumeric(objecte)
{
	
	var myString
	var checkOK
	var i,j
	var allValid
       
	myString = new String(objecte.value);

	checkOK = "0123456789"

	allValid = true

	for (i = 0;  i < objecte.value.length;  i++)
	{
		ch = objecte.value.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
		{
			if (ch == checkOK.charAt(j)) break;
			if (j == checkOK.length)
			{
				allValid = false;
				break;
			}
		}

	}

	if (!allValid) return (false);
	else return (true);	
	
}

function ValidarData(objecte)
{
   var myString, error
   var thisDay, thisMonth, thisYear

   var valor_retorn

   valor_retorn = true;
   
   error = 0;
      
   myString = new String(objecte.value);
   
   if (myString.length == 0) return 0;	
   
   if (myString.length != 10) error = 1;
   if (myString.substr(2,1) != '/') error = 2;
   if (myString.substr(5,1) != '/') error = 3;
           
   thisDay = myString.substr(0,2);
   thisMonth = myString.substr(3,2);
   thisYear = myString.substr(6,4);
         
   if (!isDate(thisDay, thisMonth, thisYear) || (error)) 
   {
    valor_retorn = false;    
   }  
  
   return valor_retorn;

	
}

function checkNumeric(objName,minval, maxval,comma,period,hyphen)
{
	var numberfield = objName;
	if (chkNumeric(objName,minval,maxval,comma,period,hyphen) == false)
	{
		numberfield.select();
		numberfield.focus();
		return false;
	}
	else
	{
		return true;
	}
}

function chkNumeric(objName,minval,maxval,comma,period,hyphen)
{
// only allow 0-9 be entered, plus any values passed
// (can be in any order, and don't have to be comma, period, or hyphen)
// if all numbers allow commas, periods, hyphens or whatever,
// just hard code it here and take out the passed parameters
var checkOK = "0123456789" + comma + period + hyphen;
var checkStr = objName;
var allValid = true;
var decPoints = 0;
var allNum = "";

for (i = 0;  i < checkStr.value.length;  i++)
{
ch = checkStr.value.charAt(i);
for (j = 0;  j < checkOK.length;  j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length)
{
allValid = false;
break;
}
if (ch != ",")
allNum += ch;
}
if (!allValid)
{	
return (false);
}

// set the minimum and maximum
var chkVal = allNum;
var prsVal = parseInt(allNum);
if (chkVal != "" && !(prsVal >= minval && prsVal <= maxval))
{
return (false);
}
}

function IsNotNull(objecte)
{

	var myString
      
   	myString = new String(objecte.value);
   
   	if (myString.length == 0) return 0;	
   	else return myString.length;

} 

/*
swith(variable){
case val1:

break;
case val2:

break;
case val3:

break;
...
default:

break;
}

*/
