// JavaScript Document
var is_regexp = (window.RegExp) ? true : false;



//Colapsa Cosas
function colapsar(objid)
{
	if (!is_regexp)
	{
		return false;
	}
	
	obj = document.getElementById("obj_" + objid);	
	img = document.getElementById("img_" + objid);
	cel = document.getElementById("cel_" + objid);
	
	if (!obj){
		if (img){
			img.style.display = "none";
		}
		return false;
	}

	if (obj.style.display == "none")
	{
		obj.style.display = "";
		if (img){
			img_re = new RegExp("expandir\\.png$");
			img.src = img.src.replace(img_re, 'colapsar.png');
		}
		if (cel){
			cel_re = new RegExp("^(thead|tcat)(_collapsed)$");
			cel.className = cel.className.replace(cel_re, '$1');
		}
	}
	else
	{
		obj.style.display = "none";
		if (img){
			img_re = new RegExp("colapsar\\.png$");
			img.src = img.src.replace(img_re, 'expandir.png');
		}
		if (cel){
			cel_re = new RegExp("^(thead|tcat)$");
			cel.className = cel.className.replace(cel_re, '$1_collapsed');
		}
	}
	return false;
}

/**
 * Revisar todos/as  /  Desmarcar todos
 *
 * @param   string   nombre formulario
 * @param   string   nombre arreglo
 * @param   booleano  revisar todos/as  /  desmarcar todos
 * @param   entero   tamaņo arreglo
 *
 * @return  booleano  always true
 */
function setCheckboxes(arreglo, estado, tama)
{
    for (var i = 0; i < tama; i++) {
        document.getElementById(arreglo + "_" + i).checked = estado;
    }
    return true;
} 

//confirma la accion de un vinculo

function conVinculo(vinculo, mensaje)
{

    var confirmado = confirm(mensaje);
    if (confirmado) {
        vinculo.href += '&js_confimado=1';
    }

    return confirmado;
}
//quita espacios al inicio
function lTrim(sStr){
    while (sStr.charAt(0) == " ") 
    sStr = sStr.substr(1, sStr.length - 1);
    return sStr;
}

//quita espacios al final
function rTrim(sStr){
    while (sStr.charAt(sStr.length - 1) == " ") 
    sStr = sStr.substr(0, sStr.length - 1);
    return sStr;
}

//quita espacios al inicio y final
function Trim(sStr){
    return rTrim(lTrim(sStr));
}


//escribe alertas y regresa el foco al elemento
function fixElement(element, message) {
    alert(message);
    element.focus();
}

//valida la sintaxis correo
function si_correo(cadena){
    if(cadena.length==0)
		return true
	if(cadena.search)
	{
		return (cadena.search(new RegExp("^([-!#$%&'*+./0-9=?A-Z^_`a-z{|}~])+@([-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+\\.)+[a-zA-Z]{2,4}$","gi"))>=0)
	}
	if(cadena.indexOf)
	{
		at_character=cadena.indexOf('@')
		if(at_character<=0 || at_character+4>cadena.length)
			return false
	}
	if(cadena.length<6)
		return false
	else
		return true
}
//valida la sintaxis de una direcciķn
function si_url(cadena){
    if(cadena.length==0)
        return true
    if(cadena.search(new RegExp("^(http|https)\\://(([-!#\\$%&'*+.0-9=?A-Z^_`a-z{|}~]+\\.)+[A-Za-z]{2,6})(\\:[0-9]+)?(/)?/","g"))<0)
        return false
}

//Verifica un nombre y un apellido
function si_nombreapellido(cadena){
    if(cadena.length==0)
		return false
    if (cadena.search(new RegExp("([a-zA-ZĀ-˙.#-])([ ])([a-zA-ZĀ-˙.#-])","g"))<0)
        return true;
}
function si_nombre(cadena){
    if(cadena.length==0)
		return false
    if (cadena.search(new RegExp("^[ a-zA-ZĀ-˙.#-]+$","g"))<0)
        return true;
}
function si_letnum(cadena){
    if(cadena.length==0)
		return false
    if (cadena.search(new RegExp("^[a-zA-Z0-9#-]+$","g"))<0)
        return true;
}
function si_nomarc(cadena){
    if(cadena.length==0)
		return false
    if (cadena.search(new RegExp("^[ _a-zA-ZĀ-˙0-9.#-]+$","g"))<0)
        return true;
}
function si_telefono(cadena){
    if(cadena.length==0)
		return false
    if (cadena.search(new RegExp("^[ 0-9#-()-]+$","g"))<0)
        return true;
}
function si_numero(cadena){
    if(cadena.length==0)
		return false
    if (cadena.search(new RegExp("^[0-9]+$","g"))<0)
        return true;
}
function si_flotante(cadena)
{
    if(cadena.length==0)
		return false
	if(isNaN(cadena))
		return true;
}
function si_entero(cadena)
{
    if(cadena.length==0)
		return false
	if(isNaN(cadena))
		return true;
}
var popUpWin=0;
function NuevaVentana(URLStr, left, top, width, height, scrollbar)
{
	if(popUpWin)
		{
		if(!popUpWin.closed) popUpWin.close();
		}
	popUpWin = open(URLStr, 'popUpWin', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars='+scrollbar+',resizable=no,copyhistory=yes,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');
}


