// JavaScript Document

function MostrarOcultar(divocultar,divmostrar) {
	var d = EncontrarObjeto(divmostrar); 
	d.style.visibility = "visible";
	d.style.position = "relative"; 
	d = EncontrarObjeto(divocultar); 
	d.style.visibility = "hidden";
	d.style.position = "absolute";
}

function EncontrarObjeto(n, d) { 
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=EncontrarObjeto(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function combo_newpage(formulario) {
if(formulario.selectCategorias.selectedIndex!=0)
location=formulario.selectCategorias[formulario.selectCategorias.selectedIndex].value;
}

function ValidarContenido(campo,tipovalidacion)
{
	var rexp;
	
 if(campo.substr(0,1)==" ")
 	return false;
 
 switch(tipovalidacion)
 {
	case "AlfanumericoPuro": // campo alfanumerico sin caracteres especiales
		rexp = /[^A-Za-z0-9]/; 
		if(rexp.test(campo)) 
			return false;
 		break;
	case "Email": // campo alfanumerico con algunos caracteres especiales (emails)
		rexp = new RegExp("^[\._a-z0-9]+@([a-z0-9]+[\.]{1}){1,2}[a-z]{2,4}([\.]{1}[a-z]{2}){0,1}$","gi");
		if(!rexp.test(campo)) 
			return false;
 		break;
	case "Hexa6Digitos": // color de semáforos
		rexp = new RegExp("^[0-9A-F]{6}$","gi");
		if(!rexp.test(campo)) 
			return false;
		break;
	case "Jurisdiccion": // campo numerico con puntos (sólo para Jurisdicciones)
		rexp = /^[0-9]{2}\.([0-9]{3}\.([0-9a-zA-Z ]{2}\.){0,7}){0,1}$/; 
		if(!rexp.test(campo)) 
			return false;
 		break;
	case "NumericoEntero": // campo numerico entero
		rexp = /[^0-9]/; 
		if(rexp.test(campo)) 
			return false;
		break;
	case "Numerico2Decimales": // campo numerico con 2 decimales maximo
		rexp = new RegExp("^[0-9]+(,[0-9]{1,2}){0,1}$","gi");
		if(!rexp.test(campo)) 
			return false;
		break;
	case "Periodo": // campo MM/AAAA
		rexp = new RegExp("^[0-9]{2}/[0-9]{4}$","gi");
		if(!rexp.test(campo)) 
			return false;

		anio = campo.substr(3,4);
		mes = campo.substr(0,2);
		if((anio < 2000) || (anio > 2050) || (mes < 1) || (mes > 12))
		   return false;
			
		break;	
	case "CUIT": // 11 posiciones numericas con digito mod.11
		if(campo.substr(0,11)=="00000000000")
			return false;
		rexp = new RegExp("^[0-9]{11}$","gi");
		if(!rexp.test(campo)) 
			return false;
		var array_factor_peso = new Array(5,4,3,2,7,6,5,4,3,2);
		var suma=0;
		var resto,digito_verificador;
	
		for (i=0; i<=9; i++)  
			suma=suma+campo.substr(i,1)*array_factor_peso[i]; 	
	
		resto=suma%11;
		digito_verificador=11-resto;
		
		if (digito_verificador == 11)
			digito_verificador = 0;
	
		if (digito_verificador==campo.substr(10,1)) 
			return true; 
		else 
			return false;
				
		break;
		
 	default:
		alert("Validación no definida");
 		return false;
 		break;
 }
 return true;
}
