var valPassword1 = "";
var valPassword2 = "";
var complete = false;
var criptacion = "false";


// PARA CAMBIAR CSS DE EL FORMULARIO DEBE HACERLO DIRECTAMENTE DESDE nform.css Y TAMBIEN CAMBIARLO EN EL popupOut()


////////////////////////////////////////////////////////////////////////////

var uploadSuccessNum = 0;
var uploadArr = new Array();

function ajaxUpdate(param, path, img, isPopup)
{
	$('#send_info').html("uploading: data");
//alert("ajaxUpdate param: "+param+", path: "+path);
	$.ajax
	({
		type: "POST",
		url: path,
		data: param,
		success: function(datos)
		{
			//alert("datos: "+datos);

			if ($("#content_tree").length > 0)
			{
				updateNameDiv();
				loadMenuTree(0, "#content_tree");
			}
			/////////// Carro de compras: en el momento de enviar un pedido o cotizacion, inmediatamente el ID #cartNumItems se pone en cero (0)
			if(datos == "Message sent Cart!")
			{
				$("#cartNumItems").html("0");
			}

			setTimeout("popupTimer('"+String(img)+"', '"+isPopup+"')", 1000);
		}
	});
}

function updateNameDiv()
{
	var globalIdSplit = "";
	
	if (GLOBALidUpdate != "" && GLOBALidUpdate != undefined)
	{
		var gIdSplit = GLOBALidUpdate.split("id=");
		globalIdSplit = gIdSplit[1];
	}

//alert("hello: "+globalIdSplit);

if (globalIdSplit != "")
{
	container_attr(globalIdSplit);

	$.ajax
	({
		type: "POST",
		url: "sqlAjax/update_div.php",
		data: GLOBALidUpdate,
		success: function(datos)
		{
			//alert(datos);
			$("#"+GLOBALposition).html(datos);
			container(globalIdSplit, 'container_folder.php');
			//alert(GLOBALidUpdate);
		}
	});
}
}

function ajaxFileUpload(index, param, path, img, isPopup)
{
	//alert(uploadArr[index].id+", "+param);
	//$("#orderLoading").show();
	//$("#orderLoading").html("upload: "+index);
	$('#send_info').html("uploading: "+(index+1)+"/"+uploadArr.length);
	
	var doAjaxBoolean = true;

	if ($("#"+uploadArr[index].id).attr("nValidation") == "validate string")
	{
		if ($("#"+uploadArr[index].id).val() == "")
		{
			alert("Ingresar una imagen: "+uploadArr[index].id);
			cancelSendAjax();
			doAjaxBoolean = false;
		}
	}

	if (doAjaxBoolean == true)
	{
		if ($("#"+uploadArr[index].id).val() == "")
		{
			uploadSuccessNum++;

			if (uploadSuccessNum >= uploadArr.length) {ajaxUpdate(param,path,img,isPopup);}
			else {ajaxFileUpload((Number(index)+1), param, path, img, isPopup);}
		}
		else
		{
			//alert($("#"+uploadArr[index].id).attr("extension"));
			var thumbsNormal = $("#"+uploadArr[index].id).attr("thumbsNormal");
			var thumbsSmall = $("#"+uploadArr[index].id).attr("thumbsSmall");
			//alert("Normal ="+thumbsNormal+" Small ="+thumbsSmall);
			//alert(uploadArr[index].id+", "+param);
			$.ajaxFileUpload
			({
				url:'../../componentes/forms/validation/upload/doajaxfileupload.php?'+param+'&upload='+uploadArr[index].id+"&thumbsNormal="+thumbsNormal+"&thumbsSmall="+thumbsSmall+"&nameInputFile="+uploadArr[index].id,
				secureuri:false,
				fileElementId:uploadArr[index].id,
				dataType: 'json',

				complete: function (data, status)
				{
					//alert("data: "+data+", "+status);
					if (data != false)
					{
						uploadSuccessNum++;
		
						if (uploadSuccessNum >= uploadArr.length) {ajaxUpdate(param,path,img,isPopup);}
						else {ajaxFileUpload((Number(index)+1), param, path, img, isPopup);}
					}
					else
					{
						alert("Select image: "+uploadArr[index].id);
						
						cancelSendAjax();
					}
				},
				error: function (data, status, error) {}
			});
		}
	}
}

function ajaxForm(param, path, img, isPopup)
{
	//alert("ajaxForm: "+param);
	uploadSuccessNum = 0;
	loadingFormNormal();
	$("#loadFlash").html('<br/><img src="'+pathPpal+'componentes/forms/validation/db_connect.gif" alt="Sending Form" /><span id="send_info"><br/><br/>Enviando informaci&oacute;n<br/>Sending information<br/></span>');
	
	uploadArr.splice(0);
	uploadArr = $("#"+formContent+" input:file[id*='upload']");
//	$.getScript("../../componentes/forms/validation/upload/ajaxfileupload.js");

	if (uploadArr.length == 0) {ajaxUpdate(param,path,img,isPopup);}
	else {ajaxFileUpload(0, param, path, img, isPopup);} //0 es el primer indice del uploadArr
}

////////////////////////////////////////////////////////////////////////////

function loadingFormNormal()
{
	$("#winAjaxBackGround").fadeIn('fast');
	$("#winAjaxBackGroundLoading").fadeIn('fast');
	$('#ajax_send').show();

	positionwinAjaxBackGroundLoading();
}

var bg_popup = "#fff";
function positionwinAjaxBackGroundLoading()
{
	//alert($("#winAjaxBackGroundLoading").height());
	var scrollPositionTop = $(window).scrollTop();
	var scrollPositionLeft = $(window).scrollLeft();

	var h = $("#winAjaxBackGroundLoading").height();
	var sizeScreenHeight = Number(Size()[1]/2) - (h/2) + scrollPositionTop;

	$("#winAjaxBackGround").css({'height' : Size()[5]+'px', 'background-color' : bg_popup, 'left' : scrollPositionLeft+'px'}).fadeTo("fast", 0.40);
	$("#winAjaxBackGroundLoading").css({'top' : sizeScreenHeight+'px', 'left' : scrollPositionLeft+'px'});
	$("#winAjaxBackGround").html('NIMAI&nbsp;&nbsp;');
	
	var loadFlash = $("#loadFlash").height();
	$("#loadFlash").css({'left' : Number(Size()[0]/2-loadFlash)+'px'});	
}

function cancelSendAjax()
{
	$('#ajax_send').hide();
	$("#validationLoading").fadeOut("fast");
	//$("#winAjaxInfo").fadeOut("fast");
	$("#winAjaxBackGround").fadeOut("fast");
	$("#winAjaxBackGroundLoading").fadeOut("fast");
}

function popupTimer(img, isPopup)
{
	$('#ajax_send').hide();
	$('#ajax_confirm').show("fast");
	$("#loadFlash").html('<img src="'+pathPpal+'componentes/forms/validation/'+img+'" width="72" height="72" />');
	setTimeout("popupOut('"+isPopup+"')",1000);
}

function popupOut(isPopup)
{
	var loadFlash = $("#loadFlash").height();
	//alert(formContent);
	$("#loadFlash").css({'left' : Number(Size()[0]/2-loadFlash)+'px'});	

	// SI CAMBIA ESTE css, ASEGURESE DE HACERLO EL PRINCIPIO DEL CÓDIGO DE validation.js  Y EN TODOS LOS POPUP AJAX
	$("#"+formContent+" :input").val("").css({'border':'solid', 'border-color':'#C6D6DF', 'border-width':'2px'});
	//$("#"+formContent+" :input").val("");
	//$("#"+formContent+" :input").hasClass("nForm");

	//////////////////////////////////////////////////////////////////////////////////////////////////////////////
	
	$("#"+formContent+" .imgOk").remove();
	
////// cuando se llena todos los formularios, acá automáticamente vuelve el formulario al principio
////// EN ESTE CASO VA AL ÚLTIMO CARRUSEL QUE DICE "TODO BIEN, PUEDE CERRAR LA VENTANA"

	//CONTAR CUANTOS CARRUSEL EXISTEN
	var w_winAjaxInfoNormal = $("#"+formContent+" .winAjaxInfoNormal").width();
	var formCarruselCount = $("#"+formContent+" .winAjaxInfoNormal").length;
	
	var w_form_carrusel = Number(w_winAjaxInfoNormal * formCarruselCount) + Number(borderWinAjaxInfoNormal * formCarruselCount);
	
	$("#validationLoading").fadeOut("fast");
	
	$("#"+formContent+" .carrusel_normal").animate( {left:'-' + Number(w_winAjaxInfoNormal+borderWinAjaxInfoNormal) * (Number(formCarruselCount)-1) + 'px'}, 800 );
	
	setTimeout("clearBackGround('"+isPopup+"')",800);

	//$("#form_carrusel").animate( {left: '0px'}, 800 );		
}


function clearBackGround(isPopup)
{
	if (isPopup == true || isPopup == "true")
	{
		$("#winAjaxInfo").fadeOut("fast");
		$("#winAjaxBackGround").fadeOut("fast");
	
		//mostrar los inputs del form normal en caso de internet explorer 6 (se ocultan en la función winajax cuando se abre un popup)
		$(".carrusel_normal :input").fadeIn("fast");
	}
	if (isPopup == false || isPopup == "false") {$("#winAjaxBackGround").fadeOut("fast");}
	$("#winAjaxBackGroundLoading").fadeOut("fast");
}
////////////////////////////////////////////////////////////////////////////

function cities(validation, labelForm, idPais, css, cityName, isPopup, nameForm)
{
	//alert("codeCountry="+code+"&validation="+validation+"&labelForm="+labelForm+"&idFormName="+css+"&cityName="+cityName+"&isPopup="+isPopup+"&nameForm="+nameForm);
	//var code = $('#country').val();
	var code = $("#"+idPais).val();
	$.ajax
	({
		type: "POST",
		url: pathPpal+"componentes/forms/validation/citiesCountryDB.php",
		data: "codeCountry="+code+"&validation="+validation+"&nameForm="+nameForm+"&idFormName="+css+"&cityName="+cityName+"&isPopup="+isPopup+"&labelForm="+labelForm,
		beforeSend: function(objeto)
		{
			$("#loadingCity").html('<img src="'+pathPpal+'componentes/forms/validation/loading.gif" width="16" height="16" />');
		},
		success: function(datos)
		{
			$("#"+cityName+"Div").html(datos);
		}
	});
}

function crypts(div, param)
{
	$.ajax({
			type: "POST",
			url: pathPpal+"componentes/forms/cryptForms/crypt.php",
			data: "cryptNimai="+$("#cryptNimai").val()+"&"+param,
			beforeSend: function(objeto){
				//$("#escribanos").html('Cargando');
			},
			success: function(datos){
				if(param == 'crypt=uno')
				{
					criptacion = datos;
				}
				$("#"+div+" > .nameInputCrypt").html(datos);
		  }
	});
}

//////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////// START //////////////////////////////////////
var eDiv;

function insertValidation(div, textoValidation, isPopup)
{

	
	var x = div.split("_");
	xx = x[0]+"Div";

	//div = div+"Div";
	eDiv=document.createElement("DIV");
	eDiv.id="new"+xx;
	if (document.getElementById("new"+div) == null)
	{
		$("#"+formContent+" img[id=imgForm"+xx+"]").remove();
		$("#"+formContent+" #imgForm"+div).remove();
		$("#"+formContent+" .nameInput_"+xx).append('<img id="imgForm'+xx+'" src="'+pathPpal+'componentes/forms/validation/noOk.gif" height="16" />');

		$("#"+formContent+" .nameInput_"+xx).append('<img id="question'+xx+'" style="z-index:108" src="'+pathPpal+'componentes/forms/validation/question.jpg" height="16" onmousemove="posCursor(\'question'+xx+'\', \''+textoValidation+'\', \'\', \'\', \''+isPopup+'\')" onmouseout="kill()"/>');

		$("#"+formContent+" .nameInput_"+xx).after(eDiv);
	}
}
//////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////// END ////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////// START //////////////////////////////////////
function eraseValidation(erase)
{
	//alert(erase+", "+formContent);
	if (document.getElementById(erase) != undefined)
	{
		var x = erase.split("_");

		xx = x[0]+"Div";

		$("#"+formContent+" img[id=imgForm"+xx+"]").remove();

		$("#"+formContent+" #new"+xx).remove();
		$("#"+formContent+" #imgForm"+xx).remove();
		$("#"+formContent+" #question"+xx).remove();

		if (x.length > 1 && $("#"+formContent+" input[name='"+x[0]+"']:checked").attr("id") != undefined)
		{
			//alert($("#"+formContent+" input[name='"+x[0]+"']:checked").attr("id"));
			$("#"+formContent+" input[name='"+x[0]+"']:checked").parent().after('<img id="imgForm'+xx+'" class="imgOk" src="'+pathPpal+'componentes/forms/validation/ok.gif" width="16" height="16" />');
		}
		else 
		{
			$("#"+formContent+" .nameInput_"+xx).append('<img id="imgForm'+xx+'" class="imgOk" src="'+pathPpal+'componentes/forms/validation/ok.gif" width="16" height="16" />');
		}
	}
}
//////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////// END ////////////////////////////////////////


function validationAmericandy(idStr, textValidate, isPopup)
{
	var special_1_0 = false;
	var special_2_0 = false;
	var special_3_0 = false;

	var value1 =  $(idNameForm+" #"+idStr+"_1").attr("value");
	var value2 =  $(idNameForm+" #"+idStr+"_2").attr("value");
	var value3 =  $(idNameForm+" #"+idStr+"_3").attr("value");

	if ( value1 == "" || value1 == null || value1 == undefined)	{special_1_0 = false;}
	else {special_1_0 = true;}
			
	if ( value2 == "" || value2 == null || value2 == undefined)	{special_2_0 = false;}
	else
	{
		var key = window.event.keyCode; 
		if (key < 48 || key > 57 || values.length > 13) {window.event.keyCode=0;}
				
		special_2_0 = true;
	}
			
	if ( value3 == "" || value3 == null || value3 == undefined) {special_3_0 = false;}
	else
	{
		var key = window.event.keyCode; 
		if (key < 48 || key > 57 || values.length > 13) {window.event.keyCode=0;}
				
		special_3_0 = true;
	}

	if (special_1_0 && special_2_0 && special_3_0)
	{
		$("#"+idStr+"Div").css({ border:"1px solid #33CC00", position:"relative" });
		idStr = idStr+"_1";
		eraseValidation(idStr);
		validacionBtnValidation = 'true';
		return 'true';
	}
	else
	{
		$("#"+idStr+"Div").css({ border:"1px solid #FF3300", position:"relative" });
		idStr = idStr+"_1";
		eraseValidation(idStr);
		insertValidation(idStr, textValidate, isPopup);
	}
}







//////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////// START //////////////////////////////////////


function validation(input, textValidate, isPopup, nameForm)
{
	//alert(input+", "+textValidate+", "+isPopup+", "+nameForm);
	if (nameForm != "" && nameForm != undefined) {formContent = nameForm;}

	if(nameForm != undefined){idNameForm = "#"+nameForm}else{idNameForm = ""}

	var id = $(idNameForm+" #"+input.id).attr("id");
	
	var inputName = $(idNameForm+" #"+input.id).attr("name");
	
	var validated = $(idNameForm+" #"+input.id).attr("nValidation");

	var extension = $(idNameForm+" #"+input.id).attr("extension");
	//alert(extension);
	var thumbsOption = $(idNameForm+" #"+input.id).attr("thumbsOption");
	//alert(thumbsOption);
	
	var values =  $(idNameForm+" #"+input.id).attr("value");
	
	var div = id;

	//// ESPECIAL AMERICANDY Borrar para otras páginas) /////////////
	if(validated == 'special 1_0 string' || validated == 'special 2_0 numeric' || validated == 'special 3_0 numeric' ||
	   validated == 'special 1_1 string' || validated == 'special 2_1 numeric' || validated == 'special 3_1 numeric')
	{
		var idArr = input.id.split("_");
		var idStr = idArr[0];

		validationAmericandy(idStr, textValidate, isPopup);
	}

	//////////////////////////////////////////////////////////////////
	// REQUIERE TEXTO
	if(validated == 'validate string')
	{
		var valuesTrim = values.replace(/^[\s]+/g,"");

		if ( valuesTrim == "" || valuesTrim == null || valuesTrim == undefined)
		{
			if ($("#"+id).attr("editor") == "fckeditor")
			{
//alert("editor: "+$("#"+id).attr("editor"));
				var editorTxt = getEditorTxt(id);
//alert("text: "+editorTxt);
				if (editorTxt == "<p>y#160;</p>") // es decir cuando el editor esta vacio, sin texto
				{
					$("#"+id).css({ border:"1px solid #FF3300", position:"relative" });
					eraseValidation(div);
					insertValidation(div, textValidate, isPopup);
					
					return 'false';
				}
				else
				{
					$("#"+id).css({ border:"1px solid #33CC00", position:"relative" });
					eraseValidation(div);
					validacionBtnValidation = 'true';
					
					return 'true';
				}
			}
			
			$("#"+id).css({ border:"1px solid #FF3300", position:"relative" });
			eraseValidation(div);
			insertValidation(div, textValidate, isPopup);
			
			return 'false';
		}
		else
		{
			//document.getElementById(id).style.border="1px solid #33CC00";
			$("#"+id).css({ border:"1px solid #33CC00", position:"relative" });
			eraseValidation(div);
			validacionBtnValidation = 'true';
			return 'true';
		}
	}
	
	if(validated == 'no validate string')
	{
			//$("#"+id).css({ border:"1px solid #33CC00", position:"relative" });
			eraseValidation(div);
			validacionBtnValidation = 'true';
			return 'true';
	}
	
	
	
	//REQUIERE INPUT FILE
	
	if(validated == 'validate file')
	{
		if ( values == "" || values == null || values == undefined)
		{
			$("#"+id).css({ border:"1px solid #FF3300", position:"relative" });
			eraseValidation(div);
			insertValidation(div, textValidate, isPopup);
			
			return 'false';
		}
		else
		{
			//document.getElementById(id).style.border="1px solid #33CC00";
			$("#"+id).css({ border:"1px solid #33CC00", position:"relative" });
			eraseValidation(div);
			validacionBtnValidation = 'true';
			return 'true';
		}
	}
	
	if(validated == 'no validate file')
	{
			//$("#"+id).css({ border:"1px solid #33CC00", position:"relative" });
			eraseValidation(div);
			validacionBtnValidation = 'true';
			return 'true';
	}
	
	// CRYPT FORMULARIO
	if(validated == 'validate crypt')
	{
		if (criptacion == "false")
		{
			//alert("cript INcorrecto");
			$("#"+id).css({ border:"1px solid #FF3300", position:"relative" });
			eraseValidation(div);
			insertValidation(div, textValidate, isPopup);
			
			return 'false';
		}
		if (criptacion == "true")
		{
			//alert("cript correcto");
			document.getElementById(id).style.border="1px solid #33CC00";
			eraseValidation(div);
			validacionBtnValidation = 'true';
			return 'true';
		}
	}
	
	
	// REQUIERE NÚMEROS
	if(validated == 'validate numeric')
	{
		var key = window.event.keyCode; 

		if (key < 48 || key > 57 || values.length > 13) 
		{
			//alert('s&oacute;lo n&uacute;mero. M&aacute;ximo 14 n&uacute;mero;'); 
			window.event.keyCode=0;
		}
		
		if ( values == "" || values == null || values == undefined)
		{
			document.getElementById(id).style.border="1px solid #FF3300";	
			eraseValidation(div);
			insertValidation(div, textValidate, isPopup);
			return 'false';

		}
		else
		{
			document.getElementById(id).style.border="1px solid #33CC00";
			eraseValidation(div);
			
			validacionBtnValidation = 'true';
			return 'true';
		}
	}


/////////REQUIERE FORM RADIO
	if(validated == 'validate radio')
	{
		var radioName = $("input[name='"+inputName+"']:checked").val();
		if(radioName == undefined || radioName == "undefined")
		{
			eraseValidation(div);
			insertValidation(div, textValidate, isPopup);
			
			return 'false';
		}
		else
		{
			eraseValidation(div);
			validacionBtnValidation = 'true';
			//idRadio = $("input[name='"+inputName+"']:checked").attr("id");
			//$("#"+nameForm+" #"+idRadio).parent().after('<img id="imgForm'+xx+'" class="imgOk" src="componentes/forms/validation/ok.gif" width="16" height="16" />');
			return 'true';
		}
	}
	
	/////////REQUIERE FORM CHECKBOX
	if(validated == 'validate checkbox')
	{
		var radioName = $("input[name='"+inputName+"']:checked").val();

		if(radioName == undefined || radioName == "undefined")
		{
			eraseValidation(div);
			insertValidation(div, textValidate, isPopup);
			return 'false';
		}
		else
		{
			eraseValidation(div);
			validacionBtnValidation = 'true';
			return 'true';
		}
	}

	
	//REQUIERE EMAIL
	if(validated == 'validate email' || validated == 'no validate email' )
	{
		var emailstring = values;
		
		var ampIndex = emailstring.indexOf("@");
		var afterAmp = emailstring.substring((ampIndex + 1), emailstring.length);
		var dotIndex = afterAmp.indexOf(".");
		dotIndex = dotIndex + ampIndex + 1;
		afterAmp = emailstring.substring((ampIndex + 1), dotIndex);
		var afterDot = emailstring.substring((dotIndex + 1), emailstring.length);
		var beforeAmp = emailstring.substring(0,(ampIndex));

		var email_regex = /^\w(?:\w|-|\.(?!\.|@))*@\w(?:\w|-|\.(?!\.))*\.\w{2,3}/ 
		if ((emailstring.indexOf("@") != "-1") &&
			(emailstring.length > 5) &&
			(afterAmp.length > 0) &&
			(beforeAmp.length > 1) &&
			(afterDot.length > 1) &&
			(email_regex.test(emailstring)) )
		{
			if(validated == 'no validate email' )
			{
				return 'true';
			}
			else
			{
				document.getElementById(id).style.border="1px solid #33CC00";
				eraseValidation(div);
				
				validacionBtnValidation = 'true';
				return 'true';
			}
		}
		else
		{
							
			if(validated == 'no validate email' )
			{
				return 'true';
				
			}
			else
			{
				document.getElementById(id).style.border="1px solid #FF3300";
				eraseValidation(div);
				insertValidation(div, textValidate, isPopup);
				return 'false';
			}
		}
	}
	

	
	///////////////////PASSWORD/////////////////
	
	if(validated == 'validate password1')
	{	
		valPassword1 = values;
		
		if(complete == false)
		{
			if ( values == "" || values == null || values == undefined)
			{
					document.getElementById(id).style.border="1px solid #FF3300";	
					eraseValidation(div);
					//insertValidation(div, 'Ingrese texto por favor!');
					$return1 = 'false';
			}
			else
			{
					//alert("no son iguales");
					document.getElementById(id).style.border="1px solid #FFCC00";	
					eraseValidation(div);
					//insertValidation(div, 'Ingrese texto por favor!');
					$return1 = 'false';
			}
		}
		
		if(complete == true)
		{
			if ( values == "" || values == null || values == undefined)
			{
					document.getElementById(id).style.border="1px solid #FF3300";	
					eraseValidation(div);
					//insertValidation(div, 'Ingrese texto por favor!');
					
					document.getElementById('password2').style.border="1px solid #FF3300";	
					eraseValidation('password2Div');
					insertValidation('password2Div', textValidate, isPopup);
					
					
					$return1 = 'false';
			}
			else
			{
					//alert("no son iguales");
					document.getElementById(id).style.border="1px solid #FFCC00";	
					eraseValidation(div);
					//insertValidation(div, 'Ingrese texto por favor!');
					
					document.getElementById('password2').style.border="1px solid #FFCC00";	
					eraseValidation('password2Div');
					insertValidation('password2Div', textValidate, isPopup);
					
					$return1 = 'false';
			
			}	
		}
		
		
		
		if(valPassword1 == valPassword2)
		{
				complete = true;
				document.getElementById(id).style.border="1px solid #33CC00";
				eraseValidation(div);
				
				document.getElementById('password2').style.border="1px solid #33CC00";
				eraseValidation('password2Div');
				
				validacionBtnValidation = 'true';
				$return1 = 'true';
		}
		return $return1;
	}
	
	
	
	if(validated == 'validate password2')
	{
		valPassword2 = values;
		
		if(complete == false)
		{
			if ( values == "" || values == null || values == undefined)
			{
					document.getElementById(id).style.border="1px solid #FF3300";	
					eraseValidation(div);
					insertValidation(div, textValidate, isPopup);
					
					$return2 = 'false';
			}
			else
			{
					//alert(valPassword1);
					document.getElementById(id).style.border="1px solid #FFCC00";	
					eraseValidation(div);
					insertValidation(div, textValidate, isPopup);
					
					$return2 = 'false';
			}
		}
		
		if(complete == true)
		{
			if ( values == "" || values == null || values == undefined)
			{
					document.getElementById(id).style.border="1px solid #FF3300";	
					eraseValidation(div);
					insertValidation(div, textValidate, isPopup);
					
					document.getElementById('password1').style.border="1px solid #FF3300";	
					eraseValidation('password1Div');
					insertValidation('password1Div', textValidate, isPopup);
					
					$return1 = 'false';
			}
			else
			{
					//alert("no son iguales");
					document.getElementById(id).style.border="1px solid #FFCC00";	
					eraseValidation(div);
					insertValidation(div, 'Ingrese texto por favor!', isPopup);
					
					document.getElementById('password1').style.border="1px solid #FFCC00";	
					eraseValidation('password1Div');
					insertValidation('password1Div', textValidate, isPopup);
					
					$return1 = 'false';
			}	
		}
		
		if(valPassword1 == valPassword2)
		{
				complete = true;
				document.getElementById(id).style.border="1px solid #33CC00";
				eraseValidation(div);
				
				document.getElementById('password1').style.border="1px solid #33CC00";
				eraseValidation('password1Div');
				
				validacionBtnValidation = 'true';
				
				$return2 = 'true';
		}
		
		return $return2;

	}

	
	///////////////////PHONE///////////////

	
	if(validated == 'validate phone' || validated == 'no validate phone')
	{
		var fld = input;
		var error = "";
		var phoneVal =
/^(((\+{0,2}\d{1,3})|(\(\+{0,2}\d{1,3}\)))((\s|-){1,3})((\(\d{1,3}\))|(\d{1,2}(-{0,1}|\s{0,1})\d{0,2})|(\(\d{1,2}(-{0,1}|\s{0,1})\d{1,2}\)))+\s{0,1}-{0,1}\s{0,1}\d{3}(-{0,1}|\s{0,1})\d{2}(-{0,1}|\s{0,1})\d{2})*(\d{3}(-{0,1}|\s{0,1})\d{2}(-{0,1}|\s{0,1})\d{2})*$/; 
			
			
			/*
			chile (56-2) 290 9732 / (56 2) 290 9732 / +56 5 823 2321
			Usa +1 312-3964000
			Colombia (+57) 6 326 6525 / +57 (1) 611 0942 / +57 1 3346869
			argentina (56-22) 2901 9732 / (56 22) 2901 9732 / +56 52 8123 2321
			francia: +33 (0)1 11 22 33 44
			austria: 0043 (0)5244 61044



			(+222) o (+22 2) o (+22-2) ó +111 ó +11 1 o +11-1
			+(11) (1) o +(11)-(1) o (11) (1) o (11)-(1)
			+11(1) o +11 (1) o 11 (1)
			(222) o (22 2) o (22-2) ó 111 ó 11 1 ó 111-1
			*/
			
			
		if (fld.value.match(phoneVal))
		{
			//alert(fld.value);
			if(fld.value != "")
			{
				if(validated == 'no validate phone')
				{
					return 'true';
				}
				else
				{
					document.getElementById(id).style.border="1px solid #33CC00";
					eraseValidation(div);
						
					//validacionBtnValidation = 'true';
					return 'true';
				}
			}
			else
			{
				if(validated == 'no validate phone')
				{
					return 'true';
				}
				else
				{
					document.getElementById(id).style.border="1px solid #FF3300";	
					eraseValidation(div);
					insertValidation(div, textValidate, isPopup);
				
					return 'false';
				}
			}
		}
		else
		{
			if(validated == 'no validate phone')
			{
				return 'true';
			}
			else
			{
				document.getElementById(id).style.border="1px solid #FF3300";	
				eraseValidation(div);
				insertValidation(div, textValidate, isPopup);
			
				return 'false';
			}
		}	
	}
}

//////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////// END ////////////////////////////////////////

var borderWinAjaxInfoNormal = 0;


function showValidationLoading(nameDivForm, pathAjax, imgForm, carrusel, action, isPopup)
{
	$("#validationLoading").css({'width' : ($("#"+nameDivForm+" .winAjaxInfoNormal").width()+borderWinAjaxInfoNormal)+'px'});
	$("#validationLoading").css({'height' : ($("#"+nameDivForm+" .winAjaxInfoNormal").height()+borderWinAjaxInfoNormal)+'px'});
	$("#validationLoading").css({'left' : $("#"+nameDivForm+" .carrusel_content").offset().left+'px'});
	$("#validationLoading").css({'top' : $("#"+nameDivForm+" .carrusel_content").offset().top+'px'});
	$("#validationLoading").show();
	$("#validationLoading").fadeTo("fast", 0.8, function(){});
	validationComplete(nameDivForm, pathAjax, imgForm, carrusel, action, isPopup);
}


//////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////// START //////////////////////////////////////

var formContent;
var numValArr = new Array;

function validationComplete(nameDivForm, pathAjax, imgForm, carrusel, action, isPopup)
{
	//alert("VALIDATIONCOMPLETE: "+nameDivForm+", "+pathAjax+", "+imgForm+", "+carrusel+", "+action+", "+isPopup);
	
	formContent = nameDivForm;
	
	function formSpecial(index)
	{
		if (allInputs[index].checked)
		{
			var radioSpecialExists = true;
			var radioSpecialNum = 0;
			var paramText = "";

			while (radioSpecialExists)
			{
				radioSpecialNum++;
				radioSpecialExists = false;
			
				for (var j = 0; j < radioSpecialArr.length; j++)
				{
					//alert(radioSpecialArr[j].id+", "+allInputs[ii].id);
					if (radioSpecialArr[j].id == allInputs[index].id)
					{			
						paramText += " "+allInputs[index].id+"="+allInputs[index].value+"---val1:"+radioSpecialArr[j].val;
						if (radioSpecialArr[j].val2 != "") {paramText += "---val2:"+radioSpecialArr[j].val2;}
						//radioSpecialExists = true;
					}
				}
			}
						
			if (paramText != "") {paramForm += paramText;}
			if (ii+1 <= allInputs.length) {paramForm += '&';}
		}
	}
//////////////////////////////////////////////////////////////////////////////

	var allCarruselInputs = $("#"+nameDivForm+" #"+carrusel+" :input");

	var numTotal = 0;
	
	for (var cc = 0; cc < allCarruselInputs.length; cc++)
	{
		var configSplit = allCarruselInputs[cc].id.split("___Config");

		if (configSplit.length == 1)
		{
			var nameAttrValidationInput = String(allCarruselInputs[cc].getAttribute('onchange')).split("\'");
			var validacionBtnValidations = validation(allCarruselInputs[cc], nameAttrValidationInput[1], isPopup, nameDivForm);
		//alert(validacionBtnValidations+", "+allCarruselInputs[cc].id+", "+nameDivForm+", "+ nameAttrValidationInput[1]);
			if (validacionBtnValidations == "true") {numTotal++;}
		}
		else
		{
			numTotal++;
		}
	}
	
	totalNumForm = allCarruselInputs.length;
	
/////////////////////////////////////////////////////////////////////////////
	
	var formIndexInArr = -1;

	for (var e = 0; e < numValArr.length; e++)
	{
		if (numValArr[e][0] == nameDivForm) {formIndexInArr = e; break;}
	}

	var arrId = carrusel.split("-");

	if (formIndexInArr > -1)
	{
		numValArr[formIndexInArr][Number(arrId[1])+1] = numTotal;
	}
	else
	{
		numValArr[Number(numValArr.length)] = new Array(nameDivForm);
		numValArr[Number(numValArr.length)-1][1] = numTotal;

		formIndexInArr = numValArr.length-1;
	}

//escribir en un array que cantidad de forms hay en cada carrusel
	//var arrId = carrusel.split("-");
	//numValArr[arrId[1]] = numTotal;

///////////////////////////////////////////////////////////////////////////////

	//sumar la cantidad de forms que deben estar llenos hasta el carrusel presente
	//suma independiente de cada carrusel en arrays

	var totalSum = 0;

	for (var i=1; i<numValArr[formIndexInArr].length; i++) {totalSum += numValArr[formIndexInArr][i];}
	//alert("totalSum: "+totalSum)

	//CONTAR CUANTOS CARRUSEL EXITEN
	var w_winAjaxInfoNormal = $("#"+nameDivForm+" .winAjaxInfoNormal").width();
	var formCarruselCount = $("#"+nameDivForm+" .winAjaxInfoNormal").length;


	var w_form_carrusel = Number(w_winAjaxInfoNormal * formCarruselCount) + Number(borderWinAjaxInfoNormal * formCarruselCount);
//alert(w_form_carrusel);
	$("#"+nameDivForm+" .carrusel_normal").css({'width' : w_form_carrusel+'px'});

	if (action == "previous")
	{
		setCurrentCarruselID('carrusel-'+(Number(arrId[1])-1));
		$("#validationLoading").fadeOut("fast");
		$("#"+nameDivForm+" .carrusel_normal").animate( {left:'-' + (Number(w_winAjaxInfoNormal+borderWinAjaxInfoNormal) * (Number(arrId[1])-1)) + 'px'}, 800 );
	}
	else
	{	
		if(totalNumForm == numTotal)
		{
			if (action == "next")
			{
				//alert($("#"+nameDivForm+" .carrusel_normal").width());
				setCurrentCarruselID('carrusel-'+(Number(arrId[1])+1));
				$("#validationLoading").fadeOut("fast");
				//alert((Number(w_winAjaxInfoNormal+borderWinAjaxInfoNormal) * (Number(arrId[1])+1)));
				$("#"+nameDivForm+" .carrusel_normal").animate({left:'-' + (Number(w_winAjaxInfoNormal+borderWinAjaxInfoNormal) * (Number(arrId[1])+1)) + 'px'}, 800 );
			}
		}
		else
		{
			$("#validationLoading").fadeOut("fast");
			alert("Por favor revisar el formulario y llenar todos los campos necesarios. Please check the form and fill out all necesary fields.");
		}
	}


	///////////////////la suma total de todo el formulario /////////////////////////
	
	numTotalInputSelect = $("#"+nameDivForm+" :input").length;

////////////////////////////////////////////////////////////////////////////
/// CUANDO TODOS LOS FORMULARIOS ESTÁN VALIDADOS, SE ACTIVA ESTA SECCIÓN ajax

	if (totalSum == numTotalInputSelect && action == "send")
	{
		//alert('Se han llenado todos los campos');
		var paramForm = "";
		var allInputs = $("#"+nameDivForm+" :input");

		for (var ii = 0; ii < allInputs.length; ii++)
		{
			switch(allInputs[ii].getAttribute('type'))
			{
				//SI EXISTE UN FORM DE RADIO, ENTONCES MIRAR CUAL ES CHEQUEADO (CHECKED) Y AHÍ ME SACA EL VALOR
				//EN ESTA OCACIÓN ES IMPORTANTE PONER "NAME" Y NO "ID" PUES ESTE ES EL QUE ME DA EL VALOR DE ENVIO "post", LOS DEMÁS SON "ID"
				case "radio":
					formSpecial(ii);
				break;
				
				case "checkbox":
					formSpecial(ii);
				break;

				case "fckeditor":
					var editorTxt = getEditorTxt(allInputs[ii].id);
//alert("editor: "+editorTxt);
					if (editorTxt == "<p>y#160;</p>") {editorTxt = "";}
					paramForm += allInputs[ii].id + '=' + editorTxt;
					if (ii+1 <= allInputs.length) {paramForm += '&';}
				break;

				default:
					paramForm += allInputs[ii].id + '=' + allInputs[ii].value;
					if (ii+1 <= allInputs.length) {paramForm += '&';}
				break;
			}
		}

//////// vaciar el array de los carruseles para que la suma de las validaciones otra vez están en blanco
		numValArr[formIndexInArr].splice(0);
//alert(paramForm); 

		ajaxForm(paramForm, pathAjax, imgForm, isPopup);
	}
	else
	{
		return;
	}
	//submit();
}
//////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////// END ////////////////////////////////////////