var msj_estandar="Este campo es obligatorio";

/* esto lo deberia implementar en casa archivo php que use formularios */
//para que este metodo generico funcione, cada objeto html tiene que tener definido como class=obligatorio
function validar_entrada()
{
	var formu=document.formu;	
	for (var i=0; i < formu.elements.length; i++)
	{
		//bugfix: no se porque mierda en IE el atributo class lo llaman className, en FF anda con cualquiera
		if (formu.elements[i].className=="obligatorio")
		{				
			switch (formu.elements[i].type)
			{
				case "text":
				case "textarea":
					if (formu.elements[i].value=="")
					{
						alert (msj_estandar);	
						formu.elements[i].focus();
						return false;
					}
					break;
					
				case "select-one":
					if (formu.elements[i].selectedIndex <= 0)
					{
						alert (msj_estandar);	
						formu.elements[i].focus();
						return false;
					}
					break;
				
				case "select-multiple":
					/*
					var opciones=formu.elements[i].options;
					var ok=false;				
					for (var i=0; i < opciones.length; i++)
					{
						ok=ok||opciones[i].selected;					
					}

					if (!ok);
					{
						alert (msj_estandar);	
						formu.elements[i].focus();
						return false;
					}
					*/
					break;
			}
		}	
	}
	return true;	
}

//ignorar_validacion=true | false si es false no ejecuta validar_entrada
//sbmt=valor numerico, '0' lo uso para evitar redireccion en el paso anterior y siguiente
//id=lo uso en el paso de las fotos para eliminar una foto
//url lo uso para cambiar la direccion del action del formulario
function continuar(ignorar_validacion,sbmt,id,url)
{
	var formu=document.formu;
	if (sbmt)
		formu.sbmt.value=sbmt;
	if (id)
		formu.id.value=id;
	if (url)
		formu.oper.value=url;
	if (ignorar_validacion || validar_entrada())
		formu.submit();	
}
//Contador de caracteres de texareas.
function getObject(obj) { 
  var theObj; 
  if(document.all) { 
  if(typeof obj=="string") { 
          return document.all(obj); 
  } else { 
          return obj.style; 
  } 
  } 
  if(document.getElementById) { 
  if(typeof obj=="string") { 
          return document.getElementById(obj); 
  } else { 
          return obj.style; 
  } 
  } 
  return null; 
} 
//Contador de caracteres. 
function Contar(entrada,salida,texto,caracteres) { 
  
          var entradaObj=getObject(entrada); 
          var salidaObj=getObject(salida); 
          var longitud=caracteres - entradaObj.value.length; 
  
if(longitud <= 0) { 
          longitud=0; 
          //texto='<span class="disable"> '+texto+' </span>';        
		  //entradaObj.value=entradaObj.value.substr(0,caracteres); 
  } 
          salidaObj.innerHTML = texto.replace("{CHAR}",longitud); 
  } 
//
//Código js que genera un caja de texto en los links.
/***********************************************
* Fixed ToolTip script- © Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for full source code
*
Agregar este css
*
#fixedtipdiv{
position:absolute;
padding: 2px;
border:1px solid black;
font:normal 12px Verdana;
line-height:18px;
z-index:100;
}

***********************************************/
		
var tipwidth='150px' //default tooltip width
var tipbgcolor='lightyellow'  //tooltip bgcolor
var disappeardelay=250  //tooltip disappear speed onMouseout (in miliseconds)
var vertical_offset="0px" //horizontal offset of tooltip from anchor link
var horizontal_offset="80px" //horizontal offset of tooltip from anchor link

/////No further editting needed

var ie4=document.all
var ns6=document.getElementById&&!document.all

if (ie4||ns6)
document.write('<div id="fixedtipdiv" style="visibility:hidden;width:'+tipwidth+';background-color:'+tipbgcolor+'" ></div>')

function getposOffset(what, offsettype){
var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
var parentEl=what.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}


function showhide(obj, e, visible, hidden, tipwidth){
if (ie4||ns6)
dropmenuobj.style.left=dropmenuobj.style.top=-500
if (tipwidth!=""){
dropmenuobj.widthobj=dropmenuobj.style
dropmenuobj.widthobj.width=tipwidth
}
if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
obj.visibility=visible
else if (e.type=="click")
obj.visibility=hidden
}

function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge){
var edgeoffset=(whichedge=="rightedge")? parseInt(horizontal_offset)*-1 : parseInt(vertical_offset)*-1
if (whichedge=="rightedge"){
var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth
}
else{
var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight
}
return edgeoffset
}

function fixedtooltip(menucontents, obj, e, tipwidth){
if (window.event) event.cancelBubble=true
else if (e.stopPropagation) e.stopPropagation()
clearhidetip()
dropmenuobj=document.getElementById? document.getElementById("fixedtipdiv") : fixedtipdiv
dropmenuobj.innerHTML=menucontents

if (ie4||ns6){
showhide(dropmenuobj.style, e, "visible", "hidden", tipwidth)
dropmenuobj.x=getposOffset(obj, "left")
dropmenuobj.y=getposOffset(obj, "top")
dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+"px"
dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px"
}
}

function hidetip(e){
if (typeof dropmenuobj!="undefined"){
if (ie4||ns6)
dropmenuobj.style.visibility="hidden"
}
}

function delayhidetip(){
if (ie4||ns6)
delayhide=setTimeout("hidetip()",disappeardelay)
}

function clearhidetip(){
if (typeof delayhide!="undefined")
clearTimeout(delayhide)
}
//PESTAÑAS PARA ADMIN : Agregar más case para más pestañas
function seleccion(opc)
{
	//escondemos todos los contenidos
	document.getElementById("op1").style.display="none";
	document.getElementById("op2").style.display="none";
	document.getElementById("op3").style.display="none";
	document.getElementById("op4").style.display="none";
	document.getElementById("op5").style.display="none";
	document.getElementById("op6").style.display="none";
	/*document.getElementById("op7").style.display="none";
	document.getElementById("op8").style.display="none";
	document.getElementById("op9").style.display="none";*/
	switch(opc)
	{
		case 1:
			//mostramos elcontenido de la primera opcion
			document.getElementById("op1").style.display="block";
			break;
		case 2:
			//mostramos elcontenido de la segunda opcion
			document.getElementById("op2").style.display="block";
			break;
		case 3:
			//mostramos elcontenido de la tercera opcion
			document.getElementById("op3").style.display="block";
			break;
		case 4:
			document.getElementById("op4").style.display="block";
			break;
		case 5:
			document.getElementById("op5").style.display="block";
			break;
		case 6:
			document.getElementById("op6").style.display="block";
			break;
		case 7:
			document.getElementById("op7").style.display="block";
			break;
		case 8:
			document.getElementById("op8").style.display="block";
			break;
		case 9:
			document.getElementById("op9").style.display="block";
			break;
	}
}
