// JavaScript Document
function mostrar(que, como){
	if(document.getElementById(que).style.display!=como){
		document.getElementById(que).style.display=como;
	}else{
		document.getElementById(que).style.display='none';
	}
}
function agregarTexto(msjid,pa,texto){
	var msj = document.createElement("span");
	var txt = document.createTextNode(texto);
	var br = document.createElement("br");
	msj.setAttribute('id',msjid);
	br.setAttribute('id','br'+msjid);
	msj.className='error';
	pa.appendChild(br);
	pa.appendChild(msj);
	pa.setAttribute('class','td_error');
	document.getElementById(msjid).appendChild(txt);
}
function validar(){
	var errors=Array(),args=validar.arguments;
	// SELECTS OPCIONALES
	var selects = document.getElementsByTagName("select");
	for(a in selects){
		var spa = selects[a].parentNode;
		var msjsel = 'msj_select'+a;
		if(document.getElementById(msjsel) != null ){
			spa.removeChild(document.getElementById('br'+msjsel));
			spa.removeChild(document.getElementById(msjsel));
			spa.setAttribute('class','td_normal');
		}
		if(selects[a].value == "-- Seleccione --"){
			agregarTexto(msjsel,spa,"Requerido");
			errors.push("error");
		}
	}
	for (i=0;i<args.length;i+=2){
		var pa = document.getElementById(args[i]).parentNode;
		var msjid = 'msj'+i;
		if(document.getElementById(msjid) != null ){
			pa.removeChild(document.getElementById('br'+msjid));
			pa.removeChild(document.getElementById(msjid));
			pa.setAttribute('class','td_normal');
		}
		// CAMPO REQUERIDO
		if(args[i+1].indexOf('R')>=0){
			if(document.getElementById(args[i]).value==""){
				agregarTexto(msjid,pa,"Requerido");
				errors[i] = "error";
			}
		}
		// VALIDACIÓN DE EMAIL
		if(args[i+1].indexOf('isEmail')>=0 && !errors[i]){
			emailval = document.getElementById(args[i]).value;
			arroba = emailval.lastIndexOf('@');
			arrobas = emailval.match(/\@/g);
			punto = emailval.lastIndexOf('.');
			if(arroba<1 || punto<arroba || punto==arroba+1 || punto==emailval.length-1 || arrobas.length > 1 || emailval.indexOf("@.")>=0){
				agregarTexto(msjid,pa,"Por favor, ingrese un email válido");
				errors[i] = "error";
			}
		}
		// VALIDACIÓN DE CAMPO NUMÉRICO
		if(args[i+1].indexOf('isNum')>=0 && !errors[i]){
			val = document.getElementById(args[i]).value;
			if (isNaN(val)) {
				agregarTexto(msjid,pa,"Ingrese sólo números");
				errors[i] = "error";
			}
		}
		// VALIDACIÓN DE CAMPO NUMÉRICO ESTRICTO
		if(args[i+1].indexOf('isSnum')>=0 && !errors[i]){
			val = document.getElementById(args[i]).value;
			if (val.toString().search(/^[0-9]*$/) != 0) {
				agregarTexto(msjid,pa,"Ingrese sólo números");
				errors[i] = "error";
			}
		}
	}
	document.errores = (errors.length==0);
}
function confirmar(){
	if(document.errores==true){
		var errors=Array(),args=confirmar.arguments;
		for (i=0;i<args.length;i+=2){
			var pa = document.getElementById(args[i+1]).parentNode;
			var msjid = 'conf'+i;
			if(document.getElementById(msjid) != null ){
				pa.removeChild(document.getElementById('br'+msjid));
				pa.removeChild(document.getElementById(msjid));
			}
			var str1 = document.getElementById(args[i]).value;
			var str2 = document.getElementById(args[i+1]).value;
			if(str1 != str2){
				agregarTexto(msjid,pa," * "+args[i+1]+" debe coincidir con "+args[i]);
				errors[i] = "error";
			}
		}
		document.errores = (errors.length==0);
	}
}
function enviar(formu){
	if(document.errores==true){
		var form = document.getElementById(formu);
		var pa = form.parentNode;
		var enviando = document.createElement("div");
		var texto = document.createTextNode("enviando...");
		enviando.className = "mensaje enviando";
		enviando.appendChild(texto);
		form.style.display = 'none';
		pa.appendChild(enviando);
	}
}
function flashLyteBox(url,width,height,caption) {
	var objLink = document.createElement('a');
	objLink.setAttribute('href',url);
	objLink.setAttribute('rel','lytebox');
	if(typeof caption != 'undefined') { objLink.setAttribute('title',caption); }
	if(typeof width != 'undefined') { objLink.setAttribute('width',width); }
	if(typeof height != 'undefined') { objLink.setAttribute('height',height); }
	myLytebox.start(objLink);
}
function GroupDelegate(id) {
   var objLink = document.getElementById(id);
   myLytebox.start(objLink);
}
/*
	Developed by Robert Nyman, http://www.robertnyman.com
	Code/licensing: http://code.google.com/p/getelementsbyclassname/
*/
var getElementsByClassName = function (className, tag, elm){
	if (document.getElementsByClassName) {
		getElementsByClassName = function (className, tag, elm) {
			elm = elm || document;
			var elements = elm.getElementsByClassName(className),
				nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
				returnElements = [],
				current;
			for(var i=0, il=elements.length; i<il; i+=1){
				current = elements[i];
				if(!nodeName || nodeName.test(current.nodeName)) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	else if (document.evaluate) {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = "",
				xhtmlNamespace = "http://www.w3.org/1999/xhtml",
				namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
				returnElements = [],
				elements,
				node;
			for(var j=0, jl=classes.length; j<jl; j+=1){
				classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
			}
			try	{
				elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
			}
			catch (e) {
				elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
			}
			while ((node = elements.iterateNext())) {
				returnElements.push(node);
			}
			return returnElements;
		};
	}
	else {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = [],
				elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
				current,
				returnElements = [],
				match;
			for(var k=0, kl=classes.length; k<kl; k+=1){
				classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
			}
			for(var l=0, ll=elements.length; l<ll; l+=1){
				current = elements[l];
				match = false;
				for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
					match = classesToCheck[m].test(current.className);
					if (!match) {
						break;
					}
				}
				if (match) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	return getElementsByClassName(className, tag, elm);
};
