/******************************************************************
* Nombre de Función: chequeoDatoNumerico(strForm, strInputName)
* Descripcion Func.: Chequea si el dato contenido en el Input es de 
*                    tipo numérico
* Parametros: (Nombre de Parametro, Descripcion Breve)
*				strForm,	Contiene el nombre del Form que contien el input
*				setInputName,	Contiene el nombre del input a chequear
* Retorno: (Nombre de Var.de Retorno, tipo, Descripcion Breve)
*
******************************************************************/
function chequeoDatoNumerico(strValue)
{
	if (isNaN(strValue) || isNaN(parseInt(strValue))) 
		return false;
	else
		return true;

}

/******************************************************************
* Nombre de Función: desHabiliarTags()
* Descripcion Func.: Deshabilita todos los tags de una pagina
*					 	
* Parametros: (Nombre de Parametro, tipo, Descripcion Breve)
*
* Retorno: (Nombre de Var.de Retorno, tipo, Descripcion Breve)
*
******************************************************************/
function desHabiliarTags()
{
	var coll;

	coll = document.all.tags("INPUT");
	if (coll!=null)
	{
	    for (i=0; i<coll.length; i++) 
	      coll[i].readOnly = true;
	}

	coll = document.all.tags("SELECT");
	if (coll!=null)
	{
	    for (i=0; i<coll.length; i++) 
	      coll[i].disabled = true;
	}

	coll = document.all.tags("TEXTAREA");
	if (coll!=null)
	{
	    for (i=0; i<coll.length; i++) 
	      coll[i].disabled = true;
	}
}

/******************************************************************
* Nombre de Función: habiliarTags()
* Descripcion Func.: Habilita todos los tags de una pagina
*					 	
* Parametros: (Nombre de Parametro, tipo, Descripcion Breve)
*
* Retorno: (Nombre de Var.de Retorno, tipo, Descripcion Breve)
*
******************************************************************/
function habiliarTags()
{
	var coll;

	coll = document.all.tags("INPUT");
	if (coll!=null)
	{
	    for (i=0; i<coll.length; i++) 
			if (coll[i].type != "button")
		      coll[i].readOnly = false;
	}

	coll = document.all.tags("SELECT");
	if (coll!=null)
	{
	    for (i=0; i<coll.length; i++) 
	      coll[i].disabled = false;
	}

	coll = document.all.tags("TEXTAREA");
	if (coll!=null)
	{
	    for (i=0; i<coll.length; i++) 
	      coll[i].disabled = false;
	}

}

/******************************************************************
* Nombre de Función: isEmail(string)
* Descripcion Func.: Chequea si el string tiene formato de mail
*					 	
* Parametros: (Nombre de Parametro, tipo, Descripcion Breve)
*
* Retorno: (Nombre de Var.de Retorno, tipo, Descripcion Breve)
*
******************************************************************/
function isEmail(string) 
{
	if (string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
		return true;
	else
		return false;
}


function toggleBox(szDivID) {
  if (document.layers) { // NN4+
    if (document.layers[szDivID].visibility == 'visible') {
      document.layers[szDivID].visibility = "hide";
      document.layers[szDivID].display = "none";
    } else {
      document.layers[szDivID].visibility = "show";
      document.layers[szDivID].display = "inline";
    }
  } else if (document.getElementById) { // gecko(NN6) + IE 5+
    var obj = document.getElementById(szDivID);

    if (obj.style.visibility == 'visible') {
      obj.style.visibility = "hidden";
      obj.style.display = "none";
    } else {
      obj.style.visibility = "visible";
      obj.style.display = "inline";
    }
  } else if (document.all) { // IE 4
    if (document.all[szDivID].style.visibility == 'visible') {
      document.all[szDivID].style.visibility = "hidden";
      document.all[szDivID].style.display = "none";
    } else {
      document.all[szDivID].style.visibility = "visible";
      document.all[szDivID].style.display = "inline";
    }
  }

}

function IsValidTime(timeStr) {
// Checks if time is in HH:MM:SS AM/PM format.
// The seconds and AM/PM are optional.

var timePat = /^(\d{1,2}):(\d{2})(:(\d{2}))?(\s?(AM|am|PM|pm))?$/;

var matchArray = timeStr.match(timePat);
if (matchArray == null) {
//alert("Time is not in a valid format.");
return false;
}
hour = matchArray[1];
minute = matchArray[2];
second = matchArray[4];
ampm = matchArray[6];

if (second=="") { second = null; }
if (ampm=="") { ampm = null }

if (hour < 0  || hour > 23) {
//alert("Hour must be between 1 and 12. (or 0 and 23 for military time)");
return false;
}
if (minute<0 || minute > 59) {
//alert ("Minute must be between 0 and 59.");
return false;
}
if (second != null && (second < 0 || second > 59)) {
//alert ("Second must be between 0 and 59.");
return false;
}
return true;
}

function popWindow(url,winname,width,height)
{
  winX=Math.round(screen.width/2)-(width/2);
  winY=Math.round(screen.height/2)-(height/2);
  winStats='toolbar=no,location=no,directories=no,menubar=no,resizable=yes,'
  winStats+='scrollbars=yes,width='+width+',height='+height
  if (navigator.appName.indexOf('Microsoft')>=0) {
    winStats+=',left='+winX+',top='+winY+''
  }else{ 
    winStats+=',screenX='+winX+',screenY='+winY+''
  }
  handle = window.open(url,winname,winStats) 
}

function redondear(cantidad, decimales) {
var cantidad = parseFloat(cantidad);
var decimales = parseFloat(decimales);
decimales = (!decimales ? 2 : decimales);
return Math.round(cantidad * Math.pow(10, decimales)) / Math.pow(10, decimales);
} 

function isPhone(string) 
{
	for (var i=0; i<string.length; i++) {
		if (isNaN(string.charAt(i)) && string.charAt(i) != "(" && string.charAt(i) != ")" && string.charAt(i) != "+" && string.charAt(i) != "-") 
		{
			return false;			
		}
	}
	return true;
}	

