// ---------------------------------------------------------------------- //
//                                VARIABLES                               //
// ---------------------------------------------------------------------- //

// Esta variable indica si est� bien dejar las casillas
// en blanco como regla general
var defaultEmptyOK = false;
var ajax_con;

// Esta variable indica si se debe verificar la presencia de comillas
// u otros s�mbolos extra�os en un campo, por omisi�n no, porque
// siempre crea problemas con las bases de datos o programas CGI
var checkNiceness = true;

// listas de caracteres
var digits = "0123456789";
var lowercaseLetters = "abcdefghijklmnopqrstuvwxyzáéíóúñ ";
var uppercaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZÁÉÍÓÚÑ ";
var whitespace = " \t\n\r";

// caracteres admitidos en nros. de telefono
var phoneChars = "()-+ ";

// ---------------------------------------------------------------------- //
//                     TEXTOS PARA LOS MENSAJES                           //
// ---------------------------------------------------------------------- //

// m abrevia "missing" (faltante)
var mMessage = "Error: no puede dejar este espacio vacio";

// p abrevia "prompt"
var pPrompt = "Error: ";
var pAlphanumeric = "ingrese un texto que contenga solo letras y/o numeros";
var pAlphabetic   = "ingrese un texto que contenga solo letras";
var pInteger = "ingrese un numero entero";
var pNumber = "ingrese un numero";
var pPhoneNumber = "ingrese un número de teléfono";
var pEmail = "ingrese una dirección de correo electrónico válida";
var pName = "ingrese un texto que contenga solo letras, numeros o espacios";
var pNice = "no puede utilizar comillas aqui";

/******************************
 * JS General
 ******************************/

function runToggle(idDiv, idImg, path) {
	var options = {};
	$("#" + idDiv).toggle('blind', options, 300);

	if ($("#" + idImg).attr('src') == path + 'pic/toggle_minus.png') {
		$("#" + idImg).attr('src', path + 'pic/toggle_plus.png');
	} else {
		$("#" + idImg).attr('src', path + 'pic/toggle_minus.png');
	}
}

function showDescripcion(id){
	var inicial = document.getElementById('des_ini' + id);
	var fin		= document.getElementById('des_fin' + id);
	if (inicial.style.display == 'table') {
		inicial.style.display	= 'none';
		fin.style.display		= 'table';
	} else if(fin.style.display == 'table') {
		fin.style.display		= 'none';
		inicial.style.display 	= 'table';
	}
}

function includeCSS(p_file) {
	var v_css  = document.createElement('link');
	v_css.rel = 'stylesheet';
	v_css.type = 'text/css';
	v_css.href = p_file;
	document.getElementsByTagName('head')[0].appendChild(v_css);
}


function replaceHtml(el, html) {
	var oldEl = (typeof el === "string" ? document.getElementById(el) : el);
	/*@cc_on // Puro innerHTML para IE (que es más rápido)
	oldEl.innerHTML = html;
	return oldEl;
	@*/
	var newEl = oldEl.cloneNode(false);
	newEl.innerHTML = html;
	oldEl.parentNode.replaceChild(newEl, oldEl);
	return newEl;
};

// insertAdjacentHTML(), insertAdjacentText() and insertAdjacentElement()
// for Netscape 6/Mozilla by Thor Larholm me@jscript.dk
// Usage: include this code segment at the beginning of your document
// before any other Javascript contents.

if(typeof HTMLElement!="undefined" && !HTMLElement.prototype.insertAdjacentElement) {
	HTMLElement.prototype.insertAdjacentElement = function (where,parsedNode)
	{
		switch (where){
			case 'beforeBegin':
				this.parentNode.insertBefore(parsedNode,this);
				break;
			case 'afterBegin':
				this.insertBefore(parsedNode,this.firstChild);
				break;
			case 'beforeEnd':
				this.appendChild(parsedNode);
				break;
			case 'afterEnd':
				if (this.nextSibling) this.parentNode.insertBefore(parsedNode,this.nextSibling);
				else this.parentNode.appendChild(parsedNode);
				break;
		}
	};

	HTMLElement.prototype.insertAdjacentHTML = function (where,htmlStr)
	{
		var r = this.ownerDocument.createRange();
		r.setStartBefore(this);
		var parsedHTML = r.createContextualFragment(htmlStr);
		this.insertAdjacentElement(where,parsedHTML);
	};


	HTMLElement.prototype.insertAdjacentText = function (where,txtStr)
	{
		var parsedText = document.createTextNode(txtStr);
		this.insertAdjacentElement(where,parsedText);
	};

	insertHTML = function (thenode, htmlStr) {
		var r = thenode.ownerDocument.createRange();
		r.setStartBefore(thenode);
		var parsedHTML = r.createContextualFragment(htmlStr);
		//remove all children, add the new one.
		for (var i = 0; i < thenode.childNodes.length; i++) {
			thenode.removeChild(thenode.childNodes[i]);
		}
		thenode.appendChild(parsedHTML);
	};
} else {
	insertHTML = function (thenode, htmlStr) {
		thenode.insertAdjacentHTML('beforeEnd', htmlStr);
		//remove all children except for the new one.
		for (var i = 0; i < thenode.childNodes.length-1; i++) {
			thenode.removeChild(thenode.childNodes[i]);
		}
	};
}
//END prototyping stuff for stinking IE compatibility!!!

function agregarEvento(elemento, nombre_evento, funcion, captura){   
	// para IE   36.
	if (elemento.attachEvent){  
		elemento.attachEvent('on' + nombre_evento, funcion);
		return true;
	}else{   // para navegadores respetan Estándares DOM(Firefox,safari)   40.        
		if (elemento.addEventListener){   		
			elemento.addEventListener(nombre_evento,funcion,captura);   
			return true;
		}else { 
			return false;   
		}  
	}
}

function CalcularDv(nit)
{ 
	var vpri, x, y, z, i, nit1, dv1;
	nit1=nit;
	if (isNaN(nit1)){
		document.form1.dv.value="X";
		alert('El valor digitado no es un número valido');
	}else{
		vpri = new Array(16);
		x=0 ;
		y=0 ;
		z=nit1.length;
		vpri[1]=3;
		vpri[2]=7;
		vpri[3]=13;
		vpri[4]=17;
		vpri[5]=19;
		vpri[6]=23;
		vpri[7]=29;
		vpri[8]=37;
		vpri[9]=41;
		vpri[10]=43;
		vpri[11]=47;
		vpri[12]=53;
		vpri[13]=59;
		vpri[14]=67;
		vpri[15]=71;
		for(i=0 ; i<z ; i++)
		{
			y=(nit1.substr(i,1));
			x+=(y*vpri[z-i]);
		}
		y=x%11;
		//document.write(y+"<br>");
		if (y > 1){
			dv1=11-y;
		}else{
			dv1=y;
		}
		return dv1;
	}
}

function Browser() {

	var ua, s, i;

	this.isIE    = false;
	this.isNS    = false;
	this.version = null;

	ua = navigator.userAgent;

	s = "MSIE";

	if ((i = ua.indexOf(s)) >= 0) {
		this.isIE = true;
		this.version = parseFloat(ua.substr(i + s.length));
		return;
	}


	s = "Netscape6/";
	if ((i = ua.indexOf(s)) >= 0) {
		this.isNS = true;
		this.version = parseFloat(ua.substr(i + s.length));
		return;
	}


	// Treat any other "Gecko" browser as NS 6.1.

	s = "Gecko";
	if ((i = ua.indexOf(s)) >= 0) {
		this.isNS = true;
		this.version = 6.1;
		return;
	}
}

///PARA SABER QUE BROWSER TENGO
/*ASI LO LLAMO
var browser1 = new Browser();
if (browser1.isIE)
  var Width=Width;
else
  var Width=Width1;
*/

//var browser = new Browser();


function expandirObj(obj){ 
	var capa = document.getElementById(obj); 
	if(capa.style.display=='') 
		capa.style.display='none'; 
	else 
		capa.style.display=''; 
} 


function SwitchMenu(obj) {
	if (document.getElementById) {
		var el = document.getElementById(obj);
		var ar = document.getElementById("ppal").getElementsByTagName("td"); //DynamicDrive.com change
		if (el.style.display != "block") { //DynamicDrive.com change
			for (var i=0; i<ar.length; i++) {
				if (ar[i].className=="submenu") //DynamicDrive.com change
					ar[i].style.display = "none";
			}
			el.style.display = "block";
		} else {
			el.style.display = "none";
		}
	}
}


function removeRow(tabla, idFila) {
	if (confirm("Realmente desea eliminar este registro?")==true) {
		document.getElementById(tabla).deleteRow(idFila);
		return true;
	} else {
		return false;
	}
}


function removeRowAjax(tablaDB, where, nivel, idFila, tabla) {
	DeleteAjaxFull(tablaDB,where,nivel, idFila, tabla);
}

function removeDivAjax(tablaDB, where, nivel, idDiv) {
	DeleteAjaxFull(tablaDB, where, nivel, idDiv, '');
}

function getValor(){
	return ajax_con;
}

function setValor(valor){
	ajax_con=valor;
} 

function Browser() {
	var ua, s, i;
	this.isIE    = false;
	this.isNS    = false;
	this.version = null;

	ua = navigator.userAgent;

	s = "MSIE";
	if ((i = ua.indexOf(s)) >= 0) {
		this.isIE = true;
		this.version = parseFloat(ua.substr(i + s.length));
		return;
	}

	s = "Netscape6/";
	if ((i = ua.indexOf(s)) >= 0) {
		this.isNS = true;
		this.version = parseFloat(ua.substr(i + s.length));
		return;
	}

	// Treat any other "Gecko" browser as NS 6.1.

	s = "Gecko";
	if ((i = ua.indexOf(s)) >= 0) {
		this.isNS = true;
		this.version = 6.1;
		return;
	}
}

function MM_jumpMenu(targ,selObj,restore) { //v3.0
	if (selObj.options[selObj.selectedIndex].value!=0) {
		eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
		if (restore) selObj.selectedIndex=0;
	}
}

function ocultar() {
	if (document.getElementById) {
		var c = document.getElementsByTagName("table");
		for (var x=0;x<c.length;x++) {
			if (c[x].id == 'oculta'){
				c[x].style.display='none';
			}
		}
	}
}
//ocultar();

function ocultarObj(id) {
	if (document.getElementById) {
		var c = document.getElementsByTagName("div");
		for (var x=0;x<c.length;x++) {
			if (c[x].id == id){
				c[x].style.display='none';
			}
		}
	}
}

function ocultarSetTime(id,time) {
	setTimeout("ocultarObj('"+id+"')",time);
}
function restablecer() {
	setTimeout("window.location.reload()",1)
}

function redirect(URL) {
	window.location.href=URL;
   
}

function IrUrl(URL) {
	window.location.replace(URL);
   
}

function IrUrlTimeOut(URL,time) {
	setTimeout("window.location.replace('"+URL+"')",time);
   
}

function IrUrlWindow(URL) {
	window.opener.location.replace(URL);
	parent.close();
}



function CheckedAll(campo,t) {
	var objeto=document.getElementsByName(campo+'[]');
	if (t==1) {
		for (i=0;i<objeto.length;i++)
			objeto[i].checked='checked';
	} else {
		for (i=0;i<objeto.length;i++)
			objeto[i].checked='';
	}
}


function OpenUrlResizable(Url,Titulo,Width,Height)
{
	var izquierda = (screen.availWidth - Width) / 2;
	var arriba = (screen.availHeight - Height) / 2;

	var opciones =",toolbar='NO'"+
	",titlebar='NO'"+
	",location='NO'"+
	",status='NO'"+
	",menubar='NO'"+
	",resizable=yes"+
	",scrollbars=yes"+
	",width=" + Width +
	",height=" + Height +
	",left=" + izquierda +
	",top=" + arriba;
	window.open(Url,'', opciones);
}


function OpenUrl(Url,Titulo,Width,Height)
{
	var izquierda = (screen.availWidth - Width) / 2;
	var arriba = (screen.availHeight - Height) / 2;

	var opciones =",toolbar='NO'"+
	",titlebar='NO'"+
	",location='NO'"+
	",status='NO'"+
	",menubar='NO'"+
	",scrollbars=yes"+
	",width=" + Width +
	",height=" + Height +
	",left=" + izquierda +
	",top=" + arriba;
	window.open(Url,Titulo, opciones);
}


function OpenWindowFlat(Url,Titulo,Width,Height)
{
	var izquierda = (screen.availWidth - Width) / 2;
	var arriba = (screen.availHeight - Height) / 2;

	var opciones =",toolbar=no"+
	",titlebar=no"+
	",location=no"+
	",status=no"+
	",menubar=no"+
	",scrollbars=no"+
	",width=" + Width +
	",height=" + Height +
	",left=" + izquierda +
	",top=" + arriba;
	window.open(Url,Titulo, opciones);
}


function Confirmar(msg) {
	var sn=confirm(msg);
	if (sn==true) {
		return false;
	} else {
		return false;
	}
}




function CheckPorcentaje(campo) {
	if ((campo.value<=0 || campo.value>100) && campo.value!='') {
		alert("El porcentaje debe ser mayor que 0 y menor de 100");
		campo.value='';
		campo.focus();
	}
}

//C&oacute;digo para colocar 
//los indicadores de miles mientras se escribe
//script por tunait!
//<input type="text" name="pepe" onkeyup = "puntitos(this,this.value.charAt(this.value.length-1))">

function miles(donde,caracter) {
	pat = /[\*,\+,\(,\),\?,\,$,\[,\],\^]/;
	valor = donde.value;
	largo = valor.length;
	crtr = true;
	if (isNaN(caracter) || pat.test(caracter) == true) {
		if (pat.test(caracter)==true) { 
			caracter = "\\" + caracter;
		}
		carcter = new RegExp(caracter,"g");
		valor = valor.replace(carcter,"");
		donde.value = valor;
		crtr = false;
	}
	else {
		var nums = new Array();
		cont = 0;
		for(m=0;m<largo;m++) {
			if (valor.charAt(m) == "." || valor.charAt(m) == " ")
			{
				continue;
			}
			else {
				nums[cont] = valor.charAt(m);
				cont++;
			}
		}
	}
	var cad1="",cad2="",tres=0;
	if (largo > 3 && crtr == true) {
		for (k=nums.length-1;k>=0;k--) {
			cad1 = nums[k];
			cad2 = cad1 + cad2;
			tres++;
			if ((tres%3) == 0) {
				if (k!=0) {
					cad2 = "." + cad2;
				}
			}
		}
		donde.value = cad2;
	}
}	

/*****************************************************************************
C&oacute;digo para colocar los indicadores de miles  y decimales mientras se escribe
Script creado por Tunait!
Si quieres usar este script en tu sitio eres libre de hacerlo con la condici&oacute;n de que permanezcan intactas estas líneas, osea, los créditos.

http://javascript.tunait.com
tunait@yahoo.com  27/Julio/03

//onkeyup="puntitos(this,this.value.charAt(this.value.length-1),'decimales')"
// onclick="puntitos(this.form.textfield,this.form.textfield.value.charAt(this.form.textfield.value.length-1),this.name)" 2 decimales
******************************************************************************/
function decimales(donde,caracter,campo)
{
	var decimales = false;
	campo = eval("donde.form." + campo);
	for (d =0; d < campo.length; d++)
	{
		if (campo[d].checked == true)
		{
			dec = new Number(campo[d].value);
			break;
		}
	}
	if (dec != 0)
	{
		decimales = true;
	}




	pat = /[\*,\+,\(,\),\?,\\,\$,\[,\],\^]/;
	valor = donde.value;
	largo = valor.length,
	crtr = true;
	if (isNaN(caracter) || pat.test(caracter) == true) {
		if (pat.test(caracter)==true) {
			caracter = "\\" + caracter;
		}
		carcter = new RegExp(caracter,"g");
		valor = valor.replace(carcter,"");
		donde.value = valor;
		crtr = false;
	} else {
		var nums = new Array();
		cont = 0;
		for(m=0;m<largo;m++) {
			if (valor.charAt(m) == "." || valor.charAt(m) == " " || valor.charAt(m) == ",") {
				continue;
			} else {
				nums[cont] = valor.charAt(m);
				cont++;
			}
		}
	}

	if (decimales == true) {
		ctdd = eval(1 + dec);
		nmrs = 1;
	}
	else {
		ctdd = 1;
		nmrs = 3;
	}
	var cad1="",cad2="",cad3="",tres=0;
	if (largo > nmrs && crtr == true)
	{
		for (k=nums.length-ctdd;k>=0;k--) {
			cad1 = nums[k];
			cad2 = cad1 + cad2;
			tres++;
			if ((tres%3) == 0) {
				if (k!=0) {
					cad2 = "." + cad2;
				}
			}
		}
		
		for (dd = dec; dd > 0; dd--)
		{
			cad3 += nums[nums.length-dd];
		}
		if (decimales == true) {
			cad2 += "," + cad3;
		}
		donde.value = cad2;
	}
	donde.focus();
}

/*******************************
 * Formulario
 ******************************/

// ---------------------------------------------------------------------- //
//                  CODIGO PARA FUNCIONES BASICAS                         //
// ---------------------------------------------------------------------- //


// s es vacio
function isEmpty(s)
{
	return ((s == null) || (s.length == 0))
}

// s es vacio o solo caracteres de espacio
function isWhitespace (s)
{
	var i;
	if (isEmpty(s)) return true;
	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);
		// si el caracter en que estoy no aparece en whitespace,
		// entonces retornar falso
		if (whitespace.indexOf(c) == -1) return false;
	}
	return true;
}

// Quita todos los caracteres que que estan en "bag" del string "s" s.
function stripCharsInBag (s, bag)
{
	var i;
	var returnString = "";

	// Buscar por el string, si el caracter no esta en "bag",
	// agregarlo a returnString

	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);
		if (bag.indexOf(c) == -1) returnString += c;
	}

	return returnString;
}

// Lo contrario, quitar todos los caracteres que no estan en "bag" de "s"
function stripCharsNotInBag (s, bag)
{
	var i;
	var returnString = "";
	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);
		if (bag.indexOf(c) != -1) returnString += c;
	}

	return returnString;
}

// Quitar todos los espacios en blanco de un string
function stripWhitespace (s)
{
	return stripCharsInBag (s, whitespace)
}

// La rutina siguiente es para cubrir un bug en Netscape
// 2.0.2 - seria mejor usar indexOf, pero si se hace
// asi stripInitialWhitespace() no funcionaria

function charInString (c, s)
{
	for (i = 0; i < s.length; i++)

	{
			if (s.charAt(i) == c) return true;
		}
	return false
}

// Quita todos los espacios que antecedan al string
function stripInitialWhitespace (s)
{
	var i = 0;
	while ((i < s.length) && charInString (s.charAt(i), whitespace))
		i++;
	return s.substring (i, s.length);
}

// c es una letra del alfabeto espanol
function isLetter (c)
{
	return( ( uppercaseLetters.indexOf( c ) != -1 ) ||
		( lowercaseLetters.indexOf( c ) != -1 ) )
}

// c es un digito
function isDigit (c)
{
	return ((c >= "0") && (c <= "9"))
}

// c es letra o digito
function isLetterOrDigit (c)
{
	return (isLetter(c) || isDigit(c))
}

// ---------------------------------------------------------------------- //
//                          NUMEROS                                       //
// ---------------------------------------------------------------------- //

// s es un numero entero (con o sin signo)
function isInteger (s)
{
	var i;
	if (isEmpty(s))
		if (isInteger.arguments.length == 1) return defaultEmptyOK;
		else return (isInteger.arguments[1] == true);

	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);
		if( i != 0 ) {
			if (!isDigit(c)) return false;
		} else {
			if (!isDigit(c) && (c != "-") || (c == "+")) return false;
		}
	}
	return true;
}

// s es un numero (entero o flotante, con o sin signo)
function isNumber (s)
{
	var i;
	var dotAppeared;
	dotAppeared = false;
	if (isEmpty(s))
		if (isNumber.arguments.length == 1) return defaultEmptyOK;
		else return (isNumber.arguments[1] == true);

	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);
		if( i != 0 ) {
			if ( c == "." ) {
				if( !dotAppeared ) {
					dotAppeared = true;
				} else {
					return false;
				}
			} else {
				if (!isDigit(c)) return false;
			}
		} else {
			if ( c == "." ) {
				if( !dotAppeared ) {
					dotAppeared = true;
				} else {
					return false;
				}
			} else {
				if (!isDigit(c) && (c != "-") || (c == "+")) return false;
			}
		}
	}
	return true;
}


function isAlfanumerico (valor)
{

	var valorBien = "";
	if (valor)
	{
		for (var i=0; i<valor.length; i++){
			var c = valor.charAt(i);
			if ((isLetter(c) || isDigit(c) ) )
				valorBien = valorBien + c;
		}
	}
	return valorBien;
}


// s tiene solo letras
function isAlfabetico (valor)
{
	var i;

	var valorBien = "";
	if (valor)
	{
		for (i=0; i<valor.length; i++){
			var c = valor.charAt(i);
			if (isLetter(c) )
				valorBien = valorBien + c;
		}

	}
	return valorBien;
}

/***********************************************
* Textarea Maxlength script- © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

function ismaxlength(obj){
	var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : "";
	if (obj.getAttribute && obj.value.length>mlength) {
		obj.value=obj.value.substring(0,mlength);
	}
}


function getPadre(path, pregunta_id,padre_id){
	OpenUrl(''+path+'modules/add_opciones.php?productos=ok&pregunta_id='+pregunta_id+'&padre_id='+padre_id,'',800,220);
}

function OpenThickbox(url, height, width) {
	tb_show('', url+'&height='+height+'&width='+width+'&keepThis=true&TB_iframe=true', 'parent');
}


function OpenAddOpcion(get){
	tb_show('', ''+window.dhx_globalPath+'modules/add_opciones_tabla.php?'+get+'&height=300&width=650&keepThis=true&TB_iframe=true', 'parent');
}


function OpenThickboxDireccion(url,value,height,width){
	if(value != ""){
		value = str_replace('#','$$$',value);
	}
	tb_show('', ''+url+'&value='+value+'&height='+height+'&width='+width+'&keepThis=true&TB_iframe=true', 'parent');
}

function getPadreTodos(combo_name,tipo,path,pregunta_id,padre_id){
	if(tipo == 'barrio'){
		if(padre_id > 0 && pregunta_id > 0){
			tb_show('', ''+path+'modules/add_opciones.php?combo_name='+combo_name+'&tipo='+tipo+'&pregunta_id='+pregunta_id+'&padre_id='+padre_id+'&mos=NO&height=250&width=680&&keepThis=true&TB_iframe=true', 'parent')
		}else{
			alert("Debe selecionar un municipio");
		}
	}else if(tipo == 'depend'){
		if(pregunta_id > 0 && padre_id > 0){
			tb_show('', ''+path+'modules/add_opciones.php?combo_name='+combo_name+'&tipo='+tipo+'&pregunta_id='+pregunta_id+'&padre_id='+padre_id+'&mos=NO&keepThis=true&TB_iframe=true&height=250&width=680', '')
		}else{
			alert("Debe seleccionar un opción principal");
		}
	}else if(tipo == 'combox'){
		if(pregunta_id > 0){
			tb_show('', ''+path+'modules/add_opciones.php?combo_name='+combo_name+'&tipo='+tipo+'&pregunta_id='+pregunta_id+'&mos=NO&height=250&width=680&&keepThis=true&TB_iframe=true', 'parent')
		}
	}else if(pregunta_id > 0){
		tipo = 'general';
		tb_show('', ''+path+'modules/add_opciones.php?combo_name='+combo_name+'&tipo='+tipo+'&pregunta_id='+pregunta_id+'&padre_id='+padre_id+'&mos=NO&keepThis=true&TB_iframe=true&height=250&width=680', '')
	}
}


function BuscarTercero(url,valor) {
	if (valor!='') {
		if(url.indexOf('?') > 0){
			IrUrl(url+"&documento="+valor);
		}else{
			IrUrl(url+"?documento="+valor);
		}
	}

}

function BuscarBenTercero(url,tercero,ben_tercero) {
	if (tercero!='' && ben_tercero!='') {
		IrUrl(url+"?cabeza_id="+tercero+"&documento="+ben_tercero);
	}

}


function removeThisFile(tabla_id, file_id){
	document.getElementById(tabla_id).deleteRow(file_id);
}

var indiceFileUpload=0;
function addFile(campo,tabla_id,noFiles,tipo_doc,path,vacio){

	var files 	  = document.getElementsByName(campo+"[]");
	var files_ori = document.getElementsByName(campo+"_ori[]");
	var con = 0;

	if(files.length > 0){
		for (i=0; i< files.length;i++) {
			if (files[i].value == '') {
				con++;
			}
		}
	}

	if(vacio == true){
		con = 0;
	}

	var entra = true;
	if(noFiles !='' && files.length >= noFiles){
		alert("Solo puede agregar "+noFiles+" archivos");
		entra = false;
	}

	if(entra == true){
		if(con == 0){
			myNewRow = document.getElementById(tabla_id).insertRow(-1);
			c = '<div id="obj'+campo+indiceFileUpload+'" ><input size="20" name="'+campo+'[]" onChange="changeFile(\''+campo+'\',this,\''+tabla_id+'\',myNewRow.rowIndex,-1,'+indiceFileUpload+')" id="'+campo+'" type="file" value="" /><div>';
			f = '<img src="'+(window.dhx_globalImgPathFileType?dhx_globalImgPathFileType:"")+'delete.gif" onclick="removeThisFile(\''+tabla_id+'\',this.parentNode.parentNode.rowIndex)" class="Cursor" />';



			myNewCell=myNewRow.insertCell(0);
			myNewCell.className="fileUpload";
			myNewCell.width='10%';
			myNewCell.height='50';
			myNewCell.align='center';
			myNewCell.innerHTML='<div id="icono'+campo+indiceFileUpload+'" ></div>';

			myNewCell=myNewRow.insertCell(1);
			myNewCell.className="fileUpload";
			myNewCell.width='50%';
			myNewCell.align = "left";
			myNewCell.vAlign = "middle";
			myNewCell.innerHTML='<div id="text'+campo+indiceFileUpload+'" ></div>'+c;

			myNewCell=myNewRow.insertCell(2);
			myNewCell.className="fileUpload";
			myNewCell.width='50%';
			myNewCell.align = "left";
			myNewCell.vAlign = "middle";
			myNewCell.innerHTML=tipo_doc;

			myNewCell=myNewRow.insertCell(3);
			myNewCell.align='center';
			myNewCell.width='10%';
			myNewCell.className="fileUpload";

			myNewCell.innerHTML=f;

			if (indiceFileUpload%2 == 0) {
				myNewRow.style.backgroundColor = "#DFEFFC";
			} else {
				myNewRow.style.backgroundColor = "#FFF";
			}
			indiceFileUpload++;
		}else{
			alert("Para agregar otro archivo debe seleccionar el último que agregó");
		}
	}
}


function addFile2(campo,tabla_id,noFiles,tipo_doc,path,vacio,descripcion,tipo,renovacion){

	var files 	  = document.getElementsByName(campo+"[]");
	var files_ori = document.getElementsByName(campo+"_ori[]");
	var con = 0;

	if(files.length > 0){
		for (i=0; i< files.length;i++) {
			if(files_ori[i]){
				if (files[i].value == '' && files_ori[i].value == '') {
					con++;
				}
			}
		}
	}

	if(vacio == true){
		con = 0;
	}

	var entra = true;
	if(noFiles !='' && files.length >= noFiles){
		alert("Solo puede agregar "+noFiles+" archivos");
		entra = false;
	}



	if(entra == true){
		if(con == 0){
			myNewRow = document.getElementById(tabla_id).insertRow(-1);
			c = '<div id="obj'+campo+indiceFileUpload+'" ><input size="20" name="'+campo+'[]" onChange="changeFile(\''+campo+'\',this,\''+tabla_id+'\',myNewRow.rowIndex,-1,'+indiceFileUpload+')" id="'+campo+'" type="file" value="" /><div>';
			var d='';
			if(descripcion == true){
				d += '<input size="25" name="'+campo+'[descripcion][]"  id="'+campo+'" type="text" />';
			}
			f = '<img src="'+(window.dhx_globalImgPathFileType?dhx_globalImgPathFileType:"")+'delete.gif" onclick="removeThisFile(\''+tabla_id+'\',this.parentNode.parentNode.rowIndex)" class="Cursor" />';

			myNewCell=myNewRow.insertCell(0);
			myNewCell.className="fileUpload";
			myNewCell.width='5%';
			myNewCell.height='50';
			myNewCell.align='center';
			myNewCell.innerHTML='<div id="icono'+campo+indiceFileUpload+'" >&nbsp;</div>';

			myNewCell=myNewRow.insertCell(1);
			myNewCell.className="fileUpload";
			myNewCell.width='30%';
			myNewCell.align = "left";
			myNewCell.vAlign = "middle";
			myNewCell.innerHTML='<div id="text'+campo+indiceFileUpload+'" ></div>'+c;
			var rowId=2;
			if(descripcion == true){
				myNewCell=myNewRow.insertCell(rowId);
				myNewCell.className="fileUpload";
				myNewCell.width='30%';
				myNewCell.align = "left";
				myNewCell.vAlign = "middle";
				myNewCell.innerHTML=d;
				rowId++;
			}


			//tipo_doc = tipo_doc.split('id="tipo_doc_id[]"');
			//tipo_doc = tipo_doc[0]+' id="tipo_doc_id"'+indiceFileUpload+' '+tipo_doc[1];
			if(tipo == true){
				myNewCell=myNewRow.insertCell(rowId);
				myNewCell.className="fileUpload";
				myNewCell.width='15%';
				myNewCell.align = "left";
				myNewCell.vAlign = "middle";
				myNewCell.innerHTML = tipo_doc;
				rowId++;
			}

			if(renovacion == true){
				myNewCell=myNewRow.insertCell(rowId);
				myNewCell.className="fileUpload";
				myNewCell.width='15%';
				myNewCell.align = "center";
				myNewCell.vAlign = "middle";
				rowId++;


				myNewCell.innerHTML='<input name="files[fecha_renovacion][]" id="fecha_renovacion'+indiceFileUpload+'" class="TextBox" size="10" onkeyup="mascara(this,\'yyyymmdd\',\'-\',true)" >&nbsp;<img src=\''+path+'pic/Calendar.gif\' name=\'fecha_renovacion_img'+indiceFileUpload+'\' class=\'Cursor\' id=\'fecha_renovacion'+indiceFileUpload+'\' width=\'20\' height=\'13\'> ';
				Calendar.setup({
					inputField : "fecha_renovacion"+indiceFileUpload,
					ifFormat   : "%Y-%m-%d",
					button     : "fecha_renovacion_img"+indiceFileUpload
				});
			}

			myNewCell=myNewRow.insertCell(rowId);
			myNewCell.align='center';
			myNewCell.width='5%';
			myNewCell.className="fileUpload";

			myNewCell.innerHTML=f;

			if (indiceFileUpload%2 == 0) {
				myNewRow.style.backgroundColor = "#DFEFFC";
			} else {
				myNewRow.style.backgroundColor = "#FFF";
			}
			indiceFileUpload++;
		}else{
			alert("Para agregar otro archivo debe seleccionar el último que agregó");
		}
	}
}


function fileUploadVisibility(obj,obj1) {
	var objeto=document.getElementById(obj);
	var objeto1=document.getElementById(obj1);
	if (objeto.style.display=='block') {
		objeto.style.display='none';
		objeto1.style.display='none';
	} else if (objeto.style.display=='none') {
		objeto.style.display='block';
		objeto1.style.display='block';
	}

}

function addOption(theText, theValue, objeto)
{
	var theSel = document.getElementById(objeto);
	var newOpt = new Option(theText, theValue);
	var selLength = theSel.length;
	theSel.options[selLength] = newOpt;
}

function changeFile(campo, obj, tabla_id, fila_id, pos, indiceFileUpload2){
	if(obj.value != ''){

		var files = document.getElementsByName(campo+"[]");
		var files_ori = document.getElementsByName(campo+"_ori[]");
		var con = 0;
		if(files.length > 1 ){
			for (i=0; i< files.length-1;i++) {
				if(pos>=0){

					if (files[i].value == obj.value && pos!=i) {
						con++;
					}
				}else{
					if (files[i].value == obj.value) {
						con++;
					}
				}
			}
		}

		if(files_ori.length > 0){
			for (i=0; i< files_ori.length;i++) {
				if (files_ori[i].value == obj.value) {
					con++;
				}
			}
		}

		if(con == 0){
			obj.className = "hidden";
			var nombre = obj.value;
			nombre = nombre.split("\\");
			imgFile = getImgFile(obj.value);
			imgFile = "<img src='"+imgFile+"' />";
			var icono = document.getElementById('icono'+campo+indiceFileUpload2);

			icono.innerHTML = imgFile;


			var x = document.getElementById('text'+campo+indiceFileUpload2);
			x.innerHTML = nombre[nombre.length-1];
			indiceFileUpload++;
		}else{
			alert("Ya agregó este archivo");
			obj.value = '';
		}
	//myNewRow = document.getElementById(tabla_id).insertRow(-1);
	}
}

function changeIcono(campo, obj, tabla_id, fila_id, indiceId){
	if(obj.value != ''){


		var nombre = obj.value;
		nombre = nombre.split("\\");
		imgFile = getImgFile(obj.value);
		imgFile = "<img src='"+imgFile+"' />";
		var icono = document.getElementById('icono'+campo+indiceId);
		icono.innerHTML = imgFile;
	}
}


function getImgFile(fileName)
{
	//-------------------------------------------
	var srcImgPic = (window.dhx_globalImgPathFileType?dhx_globalImgPathFileType:"")+"ico_image.png";
	var srcImgVideo = (window.dhx_globalImgPathFileType?dhx_globalImgPathFileType:"")+"ico_video.png";
	var srcImgSound = (window.dhx_globalImgPathFileType?dhx_globalImgPathFileType:"")+"ico_sound.png";
	var srcImgArchives = (window.dhx_globalImgPathFileType?dhx_globalImgPathFileType:"")+"ico_zip.png";
	var srcImgFile = (window.dhx_globalImgPathFileType?dhx_globalImgPathFileType:"")+"ico_file.png";
	var srcImgExcel = (window.dhx_globalImgPathFileType?dhx_globalImgPathFileType:"")+"excel.png";
	var srcImgWord = (window.dhx_globalImgPathFileType?dhx_globalImgPathFileType:"")+"word.png";
	var srcImgPdf = (window.dhx_globalImgPathFileType?dhx_globalImgPathFileType:"")+"pdf.png";
	var srcImgPp = (window.dhx_globalImgPathFileType?dhx_globalImgPathFileType:"")+"pp.png";

	var valueImgPic = "jpg,jpeg,gif,png,bmp,tiff";
	var valueImgVideo = "avi,mpg,mpeg,rm,move";
	var valueImgSound = "wav,mp3,ogg";
	var valueImgArchives = "zip,rar,tar,tgz,arj";
	var valueImgWord = "doc,docx";
	var valueImgExcel = "xls,xlsx";
	var valueImgPdf = "pdf";
	var valueImgPp = "ppt,pptx";
	//------------------------------------------


	var ext = "_";
	var ext0 = fileName.split(".");
	if (ext0.length > 1) ext = ext0[ext0.length - 1].toLowerCase();

	if (valueImgPic.indexOf(ext) != -1)
	{
		return srcImgPic;
	}
	if (valueImgPdf.indexOf(ext) != -1)
	{
		return srcImgPdf;
	}
	if (valueImgPp.indexOf(ext) != -1)
	{
		return srcImgPp;
	}

	if (valueImgExcel.indexOf(ext) != -1)
	{
		return srcImgExcel;
	}

	if (valueImgWord.indexOf(ext) != -1)
	{
		return srcImgWord;
	}

	if (valueImgVideo.indexOf(ext) != -1)
	{
		return srcImgVideo;
	}

	if (valueImgSound.indexOf(ext) != -1)
	{
		return srcImgSound;
	}

	if (valueImgArchives.indexOf(ext) != -1)
	{
		return srcImgArchives;
	}

	return srcImgFile;
}


//FUNCIONES PARA FORMATEAR MONEDA
function formatNumber2(campo) {
	//campo.value=SoloNumeros(campo.value);
	if (campo) {
		num = campo;
		num = num.toString().replace(/\$|\,/g,'');
		if (isNaN(num))
			num = "0";
		sign = (num == (num = Math.abs(num)));
		num = Math.floor(num*100+0.50000000001);
		cents = num%100;
		num = Math.floor(num/100).toString();
		if (cents<10)
			cents = "0" + cents;
		for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
			num = num.substring(0,num.length-(4*i+3))+','+
			num.substring(num.length-(4*i+3));
		campo=(((sign)?'':'-') + '$' + num + '.' + cents);
		return campo;
	}else{
		return "$ 0.00";
	}
}


function formatNumber(campo) {
	if (campo) {
		num = campo.value;
		num = num.toString().replace(/\$|\,/g,'');
		if (isNaN(num))
			num = "0";
		sign = (num == (num = Math.abs(num)));
		num = Math.floor(num*100+0.50000000001);
		cents = num%100;
		num = Math.floor(num/100).toString();
		if (cents<10)
			cents = "0" + cents;
		for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
			num = num.substring(0,num.length-(4*i+3))+','+
			num.substring(num.length-(4*i+3));
		campo.value=(((sign)?'':'-') + '$' + num + '.' + cents);
	}
}

function formatNumberInt(field) {
	if (field) {
		num = field.value;
		num = num.toString().replace(/\$|\./g,'');
		if (isNaN(num))
			num = "0";
		sign = (num == (num = Math.abs(num)));
		num = Math.floor(num*100+0.50000000001);
		cents = num%100;
		num = Math.floor(num/100).toString();
		if (cents<10)
			cents = "0" + cents;
		for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
			num = '$'+num.substring(0,num.length-(4*i+3))+'.'+num.substring(num.length-(4*i+3));
		field.value = num;
	}
}

function unformatNumber(num) {
	if(num != ""){
		num=num.toString();
		return num.replace(/([^0-9\.\-])/g,'')*1;
	}
}






function check_fechas(fecha1,fecha2)  {
	var control,control1;
	control=check_fecha(fecha1.value);
	if (control==false) {
		return false;
	} else {
		control1=check_fecha(fecha2.value);
	}
	if (control1==false) {
		return false;
	} else {
		control2=Comparar_Fecha(fecha1.value,fecha2.value);
	}

	if (control2==false) {
		return false;
	} else return true;
}

function Comparar_Fecha(fecha1,fecha2) {
	var campo1,campo2, cadena,cadena1,control;
	var Error1 = "El año inicial debe ser menor o igual que el final.\n"
	+ "               Rev?selo, por favor.                  ";
	var Error2 = "El mes inicial debe ser menor o igual que el final.\n"
	+ "               Rev?selo, por favor.                  ";
	var Error3= "El día inicial debe ser menor que el final.\n"
	+ "           Rev?selo, por favor.              ";
	var Dia1, Mes1, Anyo1, Dia2, Mes2, Anyo2;
	campo1=fecha1;
	campo2=fecha2;

	Dia1=campo1.substring(8,10);
	Mes1=campo1.substring(5,7);
	Anyo1=campo1.substring(0,4);
	Dia2=campo2.substring(8,10);
	Mes2=campo2.substring(5,7);
	Anyo2=campo2.substring(0,4);

	if (Anyo1>Anyo2) {
		alert(Error1);
		return false;
	}

	if (Anyo1==Anyo2) {
		if (Mes1>Mes2) {
			alert(Error2);
			return false;
		} else if (Mes1==Mes2) {
			if (Dia1>Dia2) {
				alert(Error3);
				return false;
			} else {}
		}
	}

}


function check_fecha(fecha) {
	var campo, cadena,cadena1,control;
	var Error = "La fecha introducida es inv?lida.\n"
	+ "       Rev?sela, por favor.        ";
	var Error1 = "El rango de fecha no puede ser menor de 01/08/2005.\n"
	+ "        &oacute; es incorrecta. Rev?selo, por favor.        ";
	var Dia, Mes, Anyo, Dia_Mes_Mal = false;
	campo=fecha;
	cadena="Fecha incorrecta\n"
	+ " Revise por favor ";
	Error="La fecha es incorrecta\n"
	+ "    Revise por favor    ";
	Dia=campo.substring(8,10);
	Mes=campo.substring(5,7);
	Anyo=campo.substring(0,4);
	//Dia = parseInt(Dia);
	//Mes = parseInt(Mes);
	//Anyo = parseInt(Anyo);

	cadena1="Fecha incorrecta. Solo n&uacute;meros\n"
	+ "        Revise sus datos";
	control=1;
	if (campo == "")  {
		alert(Error);
		return false;
		control=0;
	}
	if ( campo.length !=10 || campo.substring(4,5) != "-" || campo.substring(7,8) != "-" ) {
		alert(cadena);
		return false;
		control=0;
	} else if (isNaN(Anyo)==true || isNaN(Mes)==true || isNaN(Dia)==true) {
		alert(cadena1);
		return false;
		control=0;
	} else if (Dia<=0 || Mes<=0 || Anyo<=0 || Mes>12 || Mes<=0) {
		alert(Error1);
		return false;
		control=0;
	} else if (control==1) {
		/* Los meses de Enero, Marzo, Mayo, Julio, Agosto,  Octubre y Diciembre tienen 31 d?as */
		if (( Mes == 1 || Mes == 3 || Mes == 5 || Mes == 7 || Mes == 10 || Mes == 12 || Mes == 8 )  && Dia > 31 )
			Dia_Mes_Mal = true;

		/* Los meses de Mayo, Junio, Septiembre  y Noviembre tienen 30 d?as */

		if ( (Mes == 4 || Mes == 6 || Mes == 9 || Mes == 11)  && Dia > 30  )
			Dia_Mes_Mal = true;

		/* Febrero tiene 28 &oacute; 29 d?as, dependiendo de si es bisiesto o no. Un a?o es
						bisiesto si es m&uacute;ltiplo de 4 pero no de  100 salvo que sea m&uacute;ltiplo de 400.
						Por ejemplo, 12 y 400  son bisiestos, pero 100 y 700 no. */
		if ( Mes == 2 && ( Dia > 29 || ( Dia == 29 && ( (Anyo % 400 != 0) && ((Anyo % 4 != 0) ||
			(Anyo % 100 == 0) ) ) ) ) )  Dia_Mes_Mal = true;


		if (Dia_Mes_Mal)  {
			alert(Error);
			return false;
		}
	} else return true;///FIN DE MI FUNCI?N
}



function OpenMunicipio(Url,Titulo,Width,Height,Top,Left)
{

	var styleStr = 'width='+Width+',height='+Height+', top='+Top+',left='+Left+',scrollbars=NO,titlebar=no,menubar=no,toolbar=no,location=no,CloseForm("Yes")=no;>';
	window.name = "main";
	window.open(Url,Titulo, styleStr);
}



function SoloNumeros(caja)
{
	var cajaBien = "";
	if (caja)
	{
		for (var i=0; i<caja.length; i++)
			if (isNaN(caja.charAt(i))==false)
				cajaBien = cajaBien + caja.charAt(i);
	}
	return cajaBien;
}


function SoloNumerosMoneda(campo)
{
	var cajaBien = "";
	//  alert(caja);
	var caja=campo.value;
	if (caja)
	{
		for (var i=0; i<caja.length; i++)
			if (isNaN(caja.charAt(i))==false || caja.charAt(i)=='.' || caja.charAt(i)==',' || caja.charAt(i)=='$')
				cajaBien = cajaBien + caja.charAt(i);
	}
	campo.value=cajaBien;
}

function IsReal(YourNumber)
{
	var Template = /^(([+|-]?d+(.d*)?)|([+|-]?(d*.)?d+))$/; //Formato de numero real con signo
	return (Template.test(YourNumber)) ? 1 : 0 //Compara \"YourNumber\" con el formato \"Template\" y si coincidevuelve ve
}

function SoloNumerosFloat(campo)
{
	var cajaBien = "";
	//  alert(caja);
	var caja=campo.value;
	if (caja)
	{
		for (var i=0; i<caja.length; i++)
			if (IsReal(caja.charAt(i))==false || caja.charAt(i)=='.' || caja.charAt(i)==',')
				cajaBien = cajaBien + caja.charAt(i);
	}
	campo.value=cajaBien;
}

function ChangeClass(msg,id,classname) {
	var elementos=document.getElementsByTagName("span");
	for (i=0;i<elementos.length;i++) {
		idelements = elementos[i].getAttribute("id");
		if (idelements == id) {
			elementos[i].className=classname;
			elementos[i].innerHTML=msg;
		}
	}
}



function DL_GetElementLeft()
{
	var nLeftPos = this.offsetLeft;         // this keyword refers to element
	var eParElement = this.offsetParent;
	while (eParElement != null)
	{
		nLeftPos += eParElement.offsetLeft;
		eParElement = eParElement.offsetParent;
	}
	return nLeftPos;
}

function DL_GetElementTop()
{
	var nTopPos = this.offsetTop;
	var eParElement = this.offsetParent;
	while (eParElement != null)
	{
		nTopPos += eParElement.offsetTop;
		eParElement = eParElement.offsetParent;
	}
	return nTopPos;
}



function showToolTip(msg, obj, obj1, idMsgTooltip, widthAdd){

	var name = obj1;
	var obj  = document.getElementById(obj);
	var obj1 = document.getElementById(obj1);

	obj.getTrueXPosition = DL_GetElementLeft;
	obj.getTrueYPosition = DL_GetElementTop;



	var nMyElementsTrueXPosition = obj.getTrueXPosition();
	var nMyElementsTrueYPosition = obj.getTrueYPosition();


	try{
		obj1.style.top = nMyElementsTrueYPosition-9+'px';
	}
	catch(err)
	{
	}
	totalWidth = nMyElementsTrueXPosition + obj.offsetWidth;

	var objTop = document.getElementById('topTooltip'+name);


	if(totalWidth > 800){

		objTop.className="bubble_top1";
		objTop.innerHTML ='<a style="cursor:pointer;padding-left:88px;padding-bottom:22px;text-decoration: none" onClick="hideToolTip(\''+name+'\')"><br>&nbsp;&nbsp;</a>';

		objTop = document.getElementById('middleTooltip'+name);
		objTop.className="bubble_middle1";
		objTop = document.getElementById('bottomTooltip'+name);
		objTop.className="bubble_bottom1";

		obj1.style.left = nMyElementsTrueXPosition+widthAdd-288+'px';
	}else{
		try{
			objTop.innerHTML ='<a style="font-size:16px;cursor:pointer;padding-right:28px;text-decoration: none" onClick="hideToolTip(\''+name+'\')"><br>&nbsp;&nbsp;</a>';
			obj1.style.left = nMyElementsTrueXPosition+(obj.offsetWidth+4)+widthAdd+'px';
		}
		catch(err)
		{
		}

	}

	var text = document.getElementById(idMsgTooltip);
	try{
		text.innerHTML = msg;
		obj1.style.display = 'block';
	}
	catch(err)
	{
	}



}


function hideToolTip(obj){
	var obj = document.getElementById(obj);
	if(obj != null || obj != 'undefined'){
		try{
			obj.style.display = 'none';
		}
		catch(err)
		{
		}
	}
}


function IsEmpty(campo,msg,style) {
	var idTooltip    = "toltiperror_"+campo.name;
	var idMsgTooltip = "msgerror_"+campo.name;

	if (campo.value == '') {
		campo.className = 'errorObjeto';
		showToolTip(msg, campo.id, idTooltip, idMsgTooltip,0);
		return false;
	} else {
		campo.className = style;
		hideToolTip(idTooltip);
		return true;
	}
}


function IsEmptyHtmlEditor(name,msg) {
	var idTooltip    = "toltiperror60_"+name;
	var idMsgTooltip = "msgerror60_"+name;
	var value 		 = FCKeditorAPI.__Instances[name].GetHTML();
	if (value == "" || value == "<p>&nbsp;</p>") {
		showToolTip(msg, name, idTooltip, idMsgTooltip,0);
		return false;
	} else {
		hideToolTip(idTooltip);
		return true;
	}
}

// Global object to hold drag information.
var browser = new Browser();
var dragObj = new Object();
dragObj.zIndex = 0;

function dragStart(event, id) {

	var el;
	var x, y;

	// If an element id was given, find it. Otherwise use the element being
	// clicked on.

	if (id)
		dragObj.elNode = document.getElementById(id);
	else {
		if (browser.isIE)
			dragObj.elNode = window.event.srcElement;
		if (browser.isNS)
			dragObj.elNode = event.target;
		// If this is a text node, use its parent element.

		if (dragObj.elNode.nodeType == 3)
			dragObj.elNode = dragObj.elNode.parentNode;
	}


	// Get cursor position with respect to the page.
	if (browser.isIE) {
		x = window.event.clientX + document.documentElement.scrollLeft
		+ document.body.scrollLeft;
		y = window.event.clientY + document.documentElement.scrollTop
		+ document.body.scrollTop;
	}


	if (browser.isNS) {
		x = event.clientX + window.scrollX;
		y = event.clientY + window.scrollY;
	}


	// Save starting positions of cursor and element.
	dragObj.cursorStartX = x;
	dragObj.cursorStartY = y;
	dragObj.elStartLeft  = parseInt(dragObj.elNode.style.left, 10);
	dragObj.elStartTop   = parseInt(dragObj.elNode.style.top,  10);
	if (isNaN(dragObj.elStartLeft)) dragObj.elStartLeft = 0;
	if (isNaN(dragObj.elStartTop))  dragObj.elStartTop  = 0;
	// Update element's z-index.
	dragObj.elNode.style.zIndex = ++dragObj.zIndex;
	// Capture mousemove and mouseup events on the page.

	if (browser.isIE) {
		document.attachEvent("onmousemove", dragGo);
		document.attachEvent("onmouseup",   dragStop);
		window.event.cancelBubble = true;
		window.event.returnValue = false;
	}


	if (browser.isNS) {
		document.addEventListener("mousemove", dragGo,   true);
		document.addEventListener("mouseup",   dragStop, true);
		event.preventDefault();
	}
}



function dragGo(event) {
	var x, y;
	// Get cursor position with respect to the page.

	if (browser.isIE) {
		x = window.event.clientX + document.documentElement.scrollLeft
		+ document.body.scrollLeft;

		y = window.event.clientY + document.documentElement.scrollTop
		+ document.body.scrollTop;


	}


	if (browser.isNS) {
		x = event.clientX + window.scrollX;
		y = event.clientY + window.scrollY;
	}

	// Move drag element by the same amount the cursor has moved.
	dragObj.elNode.style.left = (dragObj.elStartLeft + x - dragObj.cursorStartX) + "px";
	dragObj.elNode.style.top  = (dragObj.elStartTop  + y - dragObj.cursorStartY) + "px";


	if (browser.isIE) {
		window.event.cancelBubble = true;
		window.event.returnValue = false;
	}


	if (browser.isNS)
		event.preventDefault();
}





function dragStop(event) {

	dragObj.elNode = null;

	if (browser.isIE) {
		document.detachEvent("onmousemove", dragGo);
		document.detachEvent("onmouseup",   dragStop);
	}


	if (browser.isNS) {
		document.removeEventListener("mousemove", dragGo,   true);
		document.removeEventListener("mouseup",   dragStop, true);
	}


}



function comprueba_extension2(campo,extensiones_permitidas,style){
	var idTooltip    = "toltiperror0_"+campo.name;
	var idMsgTooltip = "msgerror0_"+campo.name;


	mierror = "";
	if (campo.value) {
		//recupero la extensión de este nombre de archivo
		extension = (campo.value.substring(campo.value.lastIndexOf("."))).toLowerCase();
		//alert (extension);
		//compruebo si la extensión está entre las permitidas
		permitida = false;
		for (var i = 0; i < extensiones_permitidas.length; i++) {
			if (extensiones_permitidas[i] == extension) {
				permitida = true;
				break;
			}
		}
		if (!permitida) {
			msg = "Sólo se pueden subir archivos con extensiones: " + extensiones_permitidas.join();
			campo.className = 'errorObjeto';
			showToolTip(msg, campo.id, idTooltip, idMsgTooltip,0);
			return false;
		}else{
			campo.className = style;
			hideToolTip(idTooltip);
			return true;
		}
	}

}



function CheckOption(campo,msg) {

	var objeto=document.getElementsByName(campo+'[]');
	var con=0;

	var idTooltip    = "toltiperror5_"+campo.name;
	var idMsgTooltip = "msgerror5_"+campo.name;


	for (i=0;i<objeto.length;i++) {
		if (objeto[i].checked) {
			con++;
		}
	}

	if (con==0) {
		showToolTip(msg, campo.id, idTooltip, idMsgTooltip,0);
		return false;
	} else {
		hideToolTip(idTooltip);
		return true;

	}

}

function CheckInputArray(id,msg) {
	var objeto=document.getElementsByName(id+'[]');
	var con=0;
	var ids="tagOptionChecked_"+id;
	for (i=0;i<objeto.length;i++) {
		if (objeto[i].value!='') {
			con++;
		}
	}

	if (con==0) {
		ChangeClass(msg,ids,'textOptionMsgError');
		return false;
	} else {
		ChangeClass(msg,ids,'textOptionMsg');
		return true;
	}

}




function IsEmptyCombox(value,name,msg) {
	var idTooltip    = "toltiperror8_"+name;
	var idMsgTooltip = "msgerror8_"+name;
	var comboName	 = name;

	if (value == "") {
		showToolTip(msg, comboName, idTooltip, idMsgTooltip,10);
		return false;
	} else {
		hideToolTip(idTooltip);
		return true;
	}
	return false;
}


function IsNoEmptyOption(id,msg) {

	var objeto=document.getElementById(id);
	var con=0;
	var ids="IsNoEmptyOption";
	/*for (i=0;i<objeto.length;i++) {
		if (objeto[i].value!='') {
		  con++;
		}
	}
	*/
	if (con==0) {
		ChangeClass(msg,ids,'textIsNoEmptyOptionMsgError');
		return false;
	} else {
		ChangeClass(msg,ids,'textIsNoEmptyOption');
		return true;
	}

}
function IsEmptySelect(campo,msg,style) {
	var idTooltip    = "toltiperror7_"+campo.name;
	var idMsgTooltip = "msgerror7_"+campo.name;
	if (campo.options[campo.selectedIndex].value == "") {
		campo.className = 'errorObjeto';
		showToolTip(msg, campo.id, idTooltip, idMsgTooltip,0);
		return false;
	} else {
		campo.className = style;
		hideToolTip(idTooltip);
		return true;
	}
}


function showFiltro(id,msg,show) {
	var idTooltip    = "filtro_"+id;
	var idMsgTooltip = "filtro_"+id;
	if (show == true) {
		//campo.className = 'errorObjeto';
		showToolTip(msg, id, idTooltip, idMsgTooltip,0);
		return false;
	} else {
		campo.className = style;
		hideToolTip(idTooltip);
		return true;
	}
}

function IsRange(campo,msg,valmin,valmax,style) {

	var idTooltip    = "toltiperror6_"+campo.name;
	var idMsgTooltip = "msgerror6_"+campo.name;
	var valor 		 = unformatNumber(campo.value);

	if(valor != ""){
		if (valmax>0) {
			if (valor<valmin || valor>valmax) {
				campo.className = 'errorObjeto';

				showToolTip(msg, campo.id, idTooltip, idMsgTooltip,0);
				return false;
			} else {
				campo.className = style;
				hideToolTip(idTooltip);
				return true;
			}
		} else if (valmin>0) {
			if (valor<valmin) {
				campo.className = 'errorObjeto';
				showToolTip(msg, campo.id, idTooltip, idMsgTooltip,0);
				return false;
			} else {
				campo.className = style;
				hideToolTip(idTooltip);
				return true;
			}
		}
	}

}

function IsRangeDateMinMax(campo,fechamin,patron,mask, style,tipo) {
	var idTooltip    	= "toltiperror2_"+campo.name;
	var idMsgTooltip 	= "msgerror2_"+campo.name;
	if (check_fecha_2(campo.value,patron,mask) == false) {
		showToolTip("Formato de fecha incorrecto", campo.id, idTooltip, idMsgTooltip,0);
		return false;
	} else if(tipo == 0) {
		if (comparar_2_fechas(fechamin,campo.value) == false) {
			showToolTip("La fecha mínima debe ser"+fechamin, campo.id, idTooltip, idMsgTooltip,0);
			campo.value = fechamin;
			return false;
		} else {
			campo.className = style;
			hideToolTip(idTooltip);
			return true;
		}
	} else if(tipo == 1) {
		if (comparar_2_fechas(campo.value,fechamin) == false) {
			showToolTip("La fecha máxima debe ser"+fechamin, campo.id, idTooltip, idMsgTooltip,0);
			campo.value = fechamin;
			return false;
		} else {
			campo.className = style;
			hideToolTip(idTooltip);
			return true;
		}
	}
}

function IsLengthMin(campo,msg,valmin,style) {
	var idTooltip    = "toltiperror1_"+campo.name;
	var idMsgTooltip = "msgerror1_"+campo.name;

	if (campo.value.length<valmin) {
		campo.className = 'errorObjeto';
		showToolTip(msg, campo.id, idTooltip, idMsgTooltip,0);
		return false;
	} else {
		campo.className = style;
		hideToolTip(idTooltip);
		return true;
	}
}

function IsPassEqual(pass1,pass2,msg) {
	var id="tagPass_"+pass1.name;
	var id2="tagPass_"+pass2.name;

	if (pass1.value!=pass2.value) {
		ChangeClass(msg,id,'textPassMsgError');
		ChangeClass(msg,id2,'textPassMsgError');
		pass1.value='';
		pass2.value='';
		return false;
	} else {
		ChangeClass(msg,id,'textPassMsg');
		ChangeClass(msg,id2,'textPassMsg');
		return true;
	}

}

function IsRangeDate(campo,msg,fechainicial,fechafinal,patron,mask, style) {

	var idTooltip    = "toltiperror2_"+campo.name;
	var idMsgTooltip = "msgerror2_"+campo.name;

	if (fechainicial!='' && fechainicial!='') {
		if (comparar_2_fechas(fechainicial,campo.value,patron,mask)==false || comparar_2_fechas(campo.value,fechafinal,patron,mask)==false) {
			campo.className = 'errorObjeto';
			showToolTip(msg, campo.id, idTooltip, idMsgTooltip,0);
			return false;
		} else {
			campo.className = style;
			hideToolTip(idTooltip);
			return true;
		}
	} else if (fechainicial!='') {
		if (comparar_2_fechas(fechainicial,campo.value,patron,mask)==false) {
			campo.className = 'errorObjeto';
			showToolTip(msg, campo.id, idTooltip, idMsgTooltip,0);
			return false;
		} else {
			campo.className = style;
			hideToolTip(idTooltip);
			return true;
		}
	} else if (fechafinal!='') {
		if (comparar_2_fechas(campo.value,fechafinal,patron,mask)==false) {
			campo.className = 'errorObjeto';
			showToolTip(msg, campo.id, idTooltip, idMsgTooltip,0);
			return false;
		} else {
			campo.className = style;
			hideToolTip(idTooltip);
			return true;
		}
	}

}


function IsCheckDate(campo,msg,patron,mask,style) {
	var idTooltip    = "toltiperror3_"+campo.name;
	var idMsgTooltip = "msgerror3_"+campo.name;

	if (check_fecha_2(campo.value,patron,mask) == false) {
		campo.className = 'errorObjeto';
		showToolTip(msg, campo.id, idTooltip, idMsgTooltip,22);
		return false;
	} else {
		campo.className = style;
		hideToolTip(idTooltip);
		return true;
	}
}


function IsCheckDateTime(campo,msg,patron,mask,style) {
	var idTooltip    = "toltiperror3_"+campo.name;
	var idMsgTooltip = "msgerror3_"+campo.name;

	if (check_fecha_time(campo.value,patron,mask) == false) {
		campo.className = 'errorObjeto';
		showToolTip(msg, campo.id, idTooltip, idMsgTooltip,22);
		return false;
	} else {
		campo.className = style;
		hideToolTip(idTooltip);
		return true;
	}
}


function comparar_2_fechas(fecha1,fecha2,patron,mask) {

	var Dia1, Mes1, Anyo1, Dia2, Mes2, Anyo2;
	campo1=fecha1;
	campo2=fecha2;

	Dia1=campo1.substring(8,10);
	Mes1=campo1.substring(5,7);
	Anyo1=campo1.substring(0,4);
	Dia2=campo2.substring(8,10);
	Mes2=campo2.substring(5,7);
	Anyo2=campo2.substring(0,4);
	if (Anyo1>Anyo2) {
		return false;
	}

	if (Anyo1==Anyo2) {
		if (Mes1>Mes2) {
			return false;
		} else if (Mes1==Mes2) {
			if (Dia1>Dia2) {
				return false;
			} else {
				return true;
			}
		}
	}

}

function check_fecha_2(fecha,patron,mask) {
	var campo, cadena,cadena1,control;
	var Dia, Mes, Anyo, Dia_Mes_Mal = false;
	campo=fecha;

	Dia=campo.substring(8,10);
	Mes=campo.substring(5,7);
	Anyo=campo.substring(0,4);

	control=1;
	if (campo == "")  {
		return false;
		control=0;
	}
	if ( campo.length !=10 || campo.substring(4,5) != patron || campo.substring(7,8) != patron ) {
		return false;
		control=0;
	} else if (isNaN(Anyo)==true || isNaN(Mes)==true || isNaN(Dia)==true) {
		return false;
		control=0;
	} else if (Dia<=0 || Mes<=0 || Anyo<=0 || Mes>12 || Mes<=0) {
		return false;
		control=0;
	} else if (control==1) {
		/* Los meses de Enero, Marzo, Mayo, Julio, Agosto,  Octubre y Diciembre tienen 31 d?as */
		if (( Mes == 1 || Mes == 3 || Mes == 5 || Mes == 7 || Mes == 10 || Mes == 12 || Mes == 8 )  && Dia > 31 )
			Dia_Mes_Mal = true;

		/* Los meses de Mayo, Junio, Septiembre  y Noviembre tienen 30 d?as */

		if ( (Mes == 4 || Mes == 6 || Mes == 9 || Mes == 11)  && Dia > 30  )
			Dia_Mes_Mal = true;

		/* Febrero tiene 28 &oacute; 29 d?as, dependiendo de si es bisiesto o no. Un a?o es
						bisiesto si es m&uacute;ltiplo de 4 pero no de  100 salvo que sea m&uacute;ltiplo de 400.
						Por ejemplo, 12 y 400  son bisiestos, pero 100 y 700 no. */
		if ( Mes == 2 && ( Dia > 29 || ( Dia == 29 && ( (Anyo % 400 != 0) && ((Anyo % 4 != 0) ||
			(Anyo % 100 == 0) ) ) ) ) )  Dia_Mes_Mal = true;


		if (Dia_Mes_Mal)  {

			return false;
		}
	} else return true;///FIN DE MI FUNCI?N
}


function check_fecha_time(fecha,patron,mask) {
	var campo, cadena,cadena1,control;
	var Dia, Mes, Anyo, Dia_Mes_Mal = false;
	campo=fecha;

	Dia=campo.substring(8,10);
	Mes=campo.substring(5,7);
	Anyo=campo.substring(0,4);


	control=1;
	if (campo == "")  {
		return false;
		control=0;
	}
	if ( campo.length !=16 || campo.substring(4,5) != patron || campo.substring(7,8) != patron ) {
		return false;
		control=0;
	} else if (isNaN(Anyo)==true || isNaN(Mes)==true || isNaN(Dia)==true) {
		return false;
		control=0;
	} else if (Dia<=0 || Mes<=0 || Anyo<=0 || Mes>12 || Mes<=0) {
		return false;
		control=0;
	} else if (control==1) {
		/* Los meses de Enero, Marzo, Mayo, Julio, Agosto,  Octubre y Diciembre tienen 31 d?as */
		if (( Mes == 1 || Mes == 3 || Mes == 5 || Mes == 7 || Mes == 10 || Mes == 12 || Mes == 8 )  && Dia > 31 )
			Dia_Mes_Mal = true;

		/* Los meses de Mayo, Junio, Septiembre  y Noviembre tienen 30 d?as */

		if ( (Mes == 4 || Mes == 6 || Mes == 9 || Mes == 11)  && Dia > 30  )
			Dia_Mes_Mal = true;

		/* Febrero tiene 28 &oacute; 29 d?as, dependiendo de si es bisiesto o no. Un a?o es
						bisiesto si es m&uacute;ltiplo de 4 pero no de  100 salvo que sea m&uacute;ltiplo de 400.
						Por ejemplo, 12 y 400  son bisiestos, pero 100 y 700 no. */
		if ( Mes == 2 && ( Dia > 29 || ( Dia == 29 && ( (Anyo % 400 != 0) && ((Anyo % 4 != 0) ||
			(Anyo % 100 == 0) ) ) ) ) )  Dia_Mes_Mal = true;


		if (Dia_Mes_Mal)  {

			return false;
		}
	} else return true;///FIN DE MI FUNCI?N
}



function checkMail(campo,msg,style) {
	var idTooltip    = "toltiperror4_"+campo.name;
	var idMsgTooltip = "msgerror4_"+campo.name;
	var email=campo.value;
	var filter=/^[A-Za-z_.][A-Za-z0-9_.]*@[A-Za-z0-9]+\.[A-Za-z0-9.]+[A-za-z]$/;
	if(email!=''){

		if (filter.test(email)){
			campo.className = style;
			hideToolTip(idTooltip);
			return true;
		}else{
			campo.className = 'errorObjeto';
			showToolTip(msg, campo.id, idTooltip, idMsgTooltip,0);
			return false;
		}


	}
}

/**************************************************************
M?scara de entrada. Script creado por Tunait! (21/12/2004)
Si quieres usar este script en tu sitio eres libre de hacerlo con la condici&oacute;n de que permanezcan intactas estas l?neas, osea, los cr?ditos.
No autorizo a distribu?r el c&oacute;digo en sitios de script sin previa autorizaci&oacute;n
Si quieres distribu?rlo, por favor, contacta conmigo.
Ver condiciones de uso en http://javascript.tunait.com/
tunait@yahoo.com
****************************************************************/
var patron = new Array(2,2,4);
var patron2 = new Array(4,2,2);
var patron3 = new Array(2,2,2);
var patron4 = new Array(2);
var patron5 = new Array(4,2);
var patron6 = new Array(2,2);

function mascara(d,pat,sep,nums) {

	switch(pat) {
		case 'yyyymm':
			pat=patron5;
			break;
		case 'ddmmyyyy':
			pat=patron;
			break;
		case 'yyyymmdd':
			pat=patron2;
			break;
		case 'ddmmyy':
			pat=patron3;
			break;
		case '(##) ######':
			pat=patron4;
			break;
		case 'hhmm':
			pat=patron6;
			break;
	}

	if (d.valant != d.value) {

		val = d.value;
		largo = val.length;
		val = val.split(sep);
		val2 = '';
		for(r=0;r<val.length;r++) {
			val2 += val[r];
		}
		if (nums) {
			for(z=0;z<val2.length;z++) {
				if (isNaN(val2.charAt(z))) {
					letra = new RegExp(val2.charAt(z),"g");
					val2 = val2.replace(letra,"");
				}
			}
		}
		val = '';
		val3 = new Array();
		for(s=0; s<pat.length; s++) {
			val3[s] = val2.substring(0,pat[s]);
			val2 = val2.substr(pat[s]);
		}
		for(q=0;q<val3.length; q++) {
			if (q ==0) {
				val = val3[q];
			}
			else {
				if (val3[q] != "") {
					val += sep + val3[q];
				}
			}
		}
		d.value = val;
		d.valant = val;
	}
}


/////OCULTACIONES DE COMBOS DE FORMULARIOS
function ocultaCombo(obj,obj2,obj3,valor) {
	var objeto=document.getElementById(obj);
	var objeto2=document.getElementById(obj2);
	var objeto3=document.getElementById(obj3);

	if (objeto.value==valor) {
		objeto2.style.visibility='visible';
		objeto3.style.visibility='visible';
	} else if (objeto.value!=valor) {
		objeto2.value=0;
		objeto2.style.visibility='hidden';
		objeto3.style.visibility='hidden';

	}

}

function ocultaCombo1(obj,obj2,valor) {
	var objeto=document.getElementById(obj);
	var objeto2=document.getElementById(obj2);

	if (objeto.value==valor) {
		objeto2.style.visibility='visible';
	} else if (objeto.value!=valor) {
		objeto2.value=0;
		objeto2.style.visibility='hidden';
	}

}

function habilitaCombo(obj,obj2,valor) {
	var objeto=document.getElementById(obj);
	var objeto2=document.getElementById(obj2);
	if(objeto2 != null && objeto != null){
		if (objeto.value==valor) {
			objeto2.disabled=true;
			objeto2.value=0;
			objeto2.value='';
		} else {
			objeto2.disabled=false;
		}
	}
}

function habilitaCombos(obj,obj2,valor) {
	var objeto=document.getElementById(obj);
	var objeto2=document.getElementById(obj2);
	if(objeto2 != null && objeto != null){
		if (objeto.value == valor) {
			objeto2.disabled=false;
		} else {
			objeto2.disabled=true;
			objeto2.value=0;
			objeto2.value='';
		}
	}
}

function habilitaOtrosCombos(obj,obj2,valor) {
	var objeto=document.getElementById(obj);
	var objeto2=document.getElementById(obj2);
	if(objeto2 != null && objeto != null){
		if (objeto.value == valor) {
			objeto2.disabled = false;
		} else {
			objeto2.disabled = true;
		}
	}
}

function habilitaCheckbox(obj,obj2) {
	var objeto=document.getElementById(obj);
	var objeto2=document.getElementById(obj2);
	if(objeto2 != null && objeto != null){
		if (objeto.checked == true) {
			objeto2.disabled = false;
		} else {
			objeto2.disabled = true;
		}
	}
}

function inhabilitaCombos(obj,obj2,valor) {
	var objeto=document.getElementById(obj);
	var objeto2=document.getElementById(obj2);
	if(objeto2 != null && objeto != null){
		if (objeto.value==valor) {
			objeto2.disabled=true;
			objeto2.value=0;
			objeto2.value='';
		}else{
			objeto2.disabled=false;
		}
	}
}

function habilitaCombosVarios(obj,obj2,valores) {
	var objeto  = document.getElementById(obj);
	var objeto2 = document.getElementById(obj2);
	var valores = valores.split(',');
	var existe	= false;
	for(r=0;r<valores.length;r++) {
		if (objeto.value==valores[r]) {
			existe = true;
		}
	}
	if (existe == true) {
		objeto2.disabled=false;
	} else {
		objeto2.disabled=true;
		objeto2.value=0;
		objeto2.value='';
	}
}

function soloHabilita(obj,habilita) {
	var objeto  = document.getElementById(obj);

	if (habilita == true) {
		objeto.disabled=false;
	} else {
		objeto.disabled=true;
		objeto.value=0;
		objeto.value='';
	}
}

function habilitaCombo1(obj,obj2,valor1,valor2) {
	var objeto=document.getElementById(obj);
	var objeto2=document.getElementById(obj2);

	if (objeto.value==valor1 || objeto.value==valor2) {
		objeto2.disabled=true;
		objeto2.value=0;
	} else {
		objeto2.disabled=false;
	}
}


/***************************************
 * Ajax
 **************************************/

function UpdateField(value,detalle_id,cuenta_id,tipo){
	if (value!='' && detalle_id!='' && cuenta_id!='') {
		var  url='updateField.php';
		if (XMLHttpRequestObject) {
			XMLHttpRequestObject.open("POST",url);
			XMLHttpRequestObject.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

			XMLHttpRequestObject.onreadystatechange = function() {
				if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
					var cadena=XMLHttpRequestObject.responseText.split("@@@@");
					if (cadena[0]=='NO') {
						alert(cadena[1]);
					}
				}
			};
			XMLHttpRequestObject.send("detalle_id="+detalle_id+"&cuenta_id="+cuenta_id+"&valor="+unformatNumber(value)+"&tipo="+tipo);
		}
	}

}

function FindNombre(nombre,nombreobjeto,tipo,todos,div,url) {
	var targetDiv;
	if (nombre!='') {
		for(z=0;z<url.length;z++) {
			url=url.replace('@',"\\");
		}

		if (XMLHttpRequestObject) {
			var browser1 = new Browser();
			if (browser1.isIE) {
				XMLHttpRequestObject.open("POST",url,false);
			} else {
				XMLHttpRequestObject.open("POST",url);
			}
			XMLHttpRequestObject.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

			XMLHttpRequestObject.onreadystatechange = function() {
				if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
					targetDiv = document.getElementById(div);
					if (XMLHttpRequestObject.responseText!='') {
						targetDiv.innerHTML = XMLHttpRequestObject.responseText;
					}
				} else {
					targetDiv = document.getElementById(div);
					targetDiv.innerHTML = '<span class=TextError>Buscando...</span>';
				}
			};
			XMLHttpRequestObject.send("nombre="+nombre+"&nombreobjeto="+nombreobjeto+"&tipo="+tipo+"&todos="+todos);
		}
	}
}


function updateColor(nivel,valor,variable){
	if (valor!='' && variable!='') {
		var  url=nivel+'js/php/updateColor.php';
		if (XMLHttpRequestObject) {
			var browser1 = new Browser();
			if (browser1.isIE)
				XMLHttpRequestObject.open("POST",url,false);
			else
				XMLHttpRequestObject.open("POST",url);
			XMLHttpRequestObject.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

			XMLHttpRequestObject.onreadystatechange = function() {
				if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
					ajax_con=XMLHttpRequestObject.responseText;
				}
			};
			XMLHttpRequestObject.send("valor="+valor+"&var="+variable);
		}
	}
}

function UpdateAjax(campo, valor, tabla, where, nivel, tipo) {
	if (tipo == 'num') {
		valor = unformatNumber(valor);
	}
	if (campo != '' && tabla != '' && where != '') {
		$.post(nivel + "js/php/update.php", {
			campo: campo,
			valor: valor,
			tabla: tabla,
			where: where
		},
		function(data) {
			if (data == 1) {
				return data;
			} else {
				alert("Ajax Error");
				return 0;
			}
		});
	}
}

function setVariableSession(nivel, variable, valor) {
	if (variable != '' && valor != '') {
		$.post(nivel + "js/php/find.php", {
			valor: valor,
			variable: variable
		},
		function(data) {
			if (data == 1) {
				return data;
			} else {
				alert("Ajax Error");
				return false;
			}
		});
	}
}



function findAjax(campo,tabla,where,nivel) {
	if (campo != '' && tabla != '' && where != '') {
		$.post(nivel + "js/php/find.php", {
			campo: campo,
			tabla: tabla,
			where: where
		},
		function(data) {
			if (data == 1) {
				return data;
			} else {
				alert("Ajax Error");
				return false;
			}
		});
	}
}

function UpdateAjaxFull(sql,tabla,where,tipo,nivel) {
	if (sql != '' && tabla != '' && where != '') {
		$.post(nivel + "js/php/update.php", {
			tipo: tipo,
			sql: sql,
			tabla: tabla,
			where: where
		},
		function(data) {
			if (data == 1) {
				return data;
			} else {
				alert("Ajax Error");
				return false;
			}
		});
	}
}

function UpdateAjaxFull2(campos,valores,tabla,where,tipo,nivel) {
	if (campos != '' && valores != '') {
		if (nivel == "undefined") {
			nivel = "";
		}
		$.post(nivel + "js/php/update.php", {
			tipo: tipo,
			valores: valores,
			tabla: tabla,
			campos: campos,
			where: where
		},
		function(data) {
			if (data == 1) {
				return data;
			} else {
				alert("Ajax Error");
				return false;
			}
		});
	}
}


function InsertAjax(campo,valor,tabla,nivel,tipo) {
	if (tipo == 'num') {
		valor = unformatNumber(valor);
	}
	if (campo != '' && tabla != '') {
		$.post(nivel + "js/php/insert.php", {
			valor: valor,
			tabla: tabla,
			campo: campo
		},
		function(data) {
			if (data == 1) {
				return data;
			} else {
				alert("Ajax Error");
				return false;
			}
		});
	}
}



function DeleteAjax(tabla,where,nivel) {
	var retorno = 0;
	if (confirm("Realmente desea eliminar este registro?") == true) {
		if (tabla != '' && where != '') {
			$.post(nivel + "js/php/delete.php", {
				tabla: tabla,
				where: where
			},
			function(data) {
				retorno = data;
			});
		}
	}
	return retorno;
}




function DeleteAjaxFull(tabla, where, nivel, idFila, idTabla) {
	if (confirm("Realmente desea eliminar este registro?") == true) {
		if (tabla != '' && where != '') {
			$.post(nivel + "js/php/delete_full.php", {
				tabla: tabla,
				where: where
			},
			function(data) {
				if (data == 1) {
					if (idTabla != '') {
						document.getElementById(idTabla).deleteRow(idFila);
					} else {
						$("#" + idFila).remove();
					}
				}
			});
		}
	}
}


function DeleteAjaxSI(tabla,where,nivel) {
	var retorno = 0;
	if (tabla != '' && where != '') {
		$.post(nivel + "js/php/delete_full.php", {
			tabla: tabla,
			where: where
		},
		function(data) {
			if (data == 1) {
				retorno = 1;
			} else {
				retorno = 0;
			}
		});
	}
	return retorno;
}

function UpdateFile(tabla,where,nivel) {
	var retorno = 0;
	if (tabla != '' && where != '') {
		$.post(nivel + "js/php/delete_full.php", {
			tabla: tabla,
			where: where
		},
		function(data) {
			if (data == 1) {
				retorno = 1;
			} else {
				retorno = 0;
			}
		});
	}
	return retorno;
}

function InsertAjaxFull(campos,valores,tabla,nivel) {
	if (campos != '' && valores != '') {
		$.post(nivel + "js/php/insert_op.php", {
			valores: valores,
			tabla: tabla,
			campos: campos
		},
		function(data) {
			if (data == 1) {
				return data;
			} else {
				alert("Ajax Error");
				return false;
			}
		});
	}
}
