/////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////
function trim(inputString) {

   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;
   var ch = retValue.substring(0, 1);

   while (ch == " ") {
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length-1, retValue.length);

   while (ch == " ") {
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }

   while (retValue.indexOf("  ") != -1) {
      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length);
   }
   return retValue;
}
////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/////////// FUNCIONES DE VALIDACION DE FECHAS
//// colocar en el input ==> onblur="valAno(this)" // ==> onblur="valMes(this,formu.vf_dia)" // ==> onblur="valDia(this)"
function esDigito(sChr){
	var sCod = sChr.charCodeAt(0);
	return ((sCod > 47) && (sCod < 58));
}
//-- le paso el mes y el dia
function finMes(MTxt,DTxt){

	var nMes = parseInt(MTxt.value, 10);
	var nDia = parseInt(DTxt.value, 10);
	switch (nMes)
	{
		case 1: if(nDia <= 31) return true; break;
		case 2: if(nDia <= 29) return true; break;
		case 3: if(nDia <= 31) return true; break;
		case 4: if(nDia <= 30) return true; break;
		case 5: if(nDia <= 31) return true; break;
		case 6: if(nDia <= 30) return true; break;
		case 7: if(nDia <= 31) return true; break;
		case 8: if(nDia <= 31) return true; break;
		case 9: if(nDia <= 30) return true; break;
		case 10: if(nDia <= 31) return true; break;
		case 11: if(nDia <= 30) return true; break;
		case 12: if(nDia <= 31) return true; break;
	}
	return false;
}

function valDia(oTxt){
	var bOk = false;
	if (oTxt.value != "")
	{
		var nDia = parseInt(oTxt.value, 10);
		bOk = bOk || ((nDia >= 1) && (nDia <= 31));
		if (!bOk)
		{
			alert("D�a invalido en Fecha");
			oTxt.value = "";
			oTxt.focus();
		}
	}
	return bOk;
}

function valMes(mTxt,dTxt){
	var bOk = false;
	if (mTxt.value != "")
	{
		var nMes = parseInt(mTxt.value, 10);
		bOk = bOk || ((nMes >= 1) && (nMes <= 12));
		if (!bOk)
		{
			alert("Mes invalido en Fecha");
			mTxt.value = "";
			mTxt.focus();
			return false;
		}

		bOk = (finMes(mTxt,dTxt)) && bOk;
		if (!bOk)
		{
			alert("El Dia es invalido para el Mes ingresado en la Fecha");
			dTxt.value = "";
			dTxt.focus();
		}

	}
	return bOk;
}

function valAno(oTxt){
	var bOk = true;
	if (oTxt.value != "")
	{
		var nAno = oTxt.value;
		bOk = bOk && ((nAno.length == 2) || (nAno.length == 4));
		if (bOk)
		{
			for (var i = 0; i < nAno.length; i++)
			{
				bOk = bOk && esDigito(nAno.charAt(i));
			}
		}
		if (!bOk)
		{
			alert("A�o invalido en Fecha");
			oTxt.value = "";
			oTxt.focus();
		}
	}
	return bOk;
}
////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////
//// Funciones para validar que ingrese solamente numeros en un campo
/// colocar en el input que se quiera validar lo siguiente ==> onKeyPress="return acceptNum(event)"
var nav4 = window.Event ? true : false;

function acceptNum(evt){
	// NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57
	var key = nav4 ? evt.which : evt.keyCode;
	return (key <= 13 || (key >= 48 && key <= 57));
}
/////////////////////////

//////////////////////////////////////////////////////////////////////////////////
//// funcion que chequea el parametro no sean blancos
//// recibe una cadena
function isBlanco(cadena){
	var s = new String(cadena);
	while (s.indexOf(" ") != -1){
 		s=s.replace(" ","")
	}
	if ( s.length == 0)	return true;
	else return false;
}
//--------------------------------------------------------------------------------------

//////////////////////////////////////////////////////////////////////////////////
//// funcion que chequea el email
//// recibe una cadena a evaluar
function isEmail(valor){
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){
    	return true
	}
	else{
		return false;
	}
}
//--------------------------------------------------------------------------------------

///////////////////////////////////////////////////////////////////////////////////////////
///////////// Abre una nueva ventana 
function openPopUp( ventanaPadre, path_href, w, h, resizable, scrollbars ) {
	
	var name = '';
	if(isNaN(w)) w = screen.width;
	if(isNaN(h)) h = screen.height;
	if(isNaN(resizable)) resizable = 0;
	if(isNaN(scrollbars)) scrollbars = 0;
	
	var winleft = (screen.width - w) / 2;
	var wintop = (screen.height - h) / 2;
	var attrib = 'width='+ w +',height='+ h +',left='+ winleft +',top='+ wintop +
		',resizable=' + resizable + ',scrollbars=' + scrollbars + ',status=0,location=0,directories=0,toolbar=0,menubar=0';

	var ventana = window.open(path_href, name , attrib);
	ventana.opener = ventanaPadre;
	ventana.focus();

	return false;
}
//--------------------------------------------------------------------------------------

///////////////////////////////////////////////////////////////////////////////////////////
///////////// cierra una ventana popup
///// si recibe parametro es para redirigir al padre
function closePopUp() {
	
	if((closePopUp.arguments.length > 0) && !isBlanco(closePopUp.arguments[0])){
		var path = closePopUp.arguments[0];
		window.opener.location.href = path;
	}

	window.opener.focus(); 
	window.close();
}
//--------------------------------------------------------------------------------------

///////////////////////////////////////////////////////////////////////////////////////////
///////////// Abre una nueva ventana 
function openPopUpGaleria( id ) {
	openPopUp( window, './homeGaleria.php?id=' + id , 650, 510, 1, 1 );
}
//--------------------------------------------------------------------------------------

///////////////////////////////////////////////////////////////////////////////////////////
///////////// Abre una nueva ventana 
function openPopUpMomentos( id ) {
	openPopUp( window, './momentosGaleria.php?gID=' + id , 680, 530, 1, 1 );
}
//--------------------------------------------------------------------------------------

//////////////////////////////////////////////////////////////////////////////////
//// muestra una ventana con un div
////
var ventanaDivWindow = null;
function openDivWindow(path, w, h, titulo) {
    if(isNaN(w) || w <= 0) w = 520;
    if(isNaN(h) || h <= 0) h = 380;
	ventanaDivWindow = new Window({className: "alphacube", width: w, height: h, url: path, showEffectOptions:{duration:1.5}});
    ventanaDivWindow.setDestroyOnClose();
    ventanaDivWindow.showCenter( true );
}
//--------------------------------------------------------------------------------------

///////////////////////////////////////////////////////////////////////////////////////////
///////////// cambia el tama�o de la ventana
///// recibe parametro en ancho y el alto
function resizeWindowTo(w,h) {
	if (parseInt(navigator.appVersion)>3) {
		if (navigator.appName=="Netscape") {
			window.top.outerWidth  = w;
			window.top.outerHeight = h;
		}
		else window.top.resizeTo( w, h );
	}
	
	window.top.moveTo( 0, 0 ); 
}
//--------------------------------------------------------------------------------------

///////////////////////////////////////////////////////////////////////////////////////////
///////////// maximizamos el tama�o de la ventana
function maximizeWindow() {
	if (parseInt(navigator.appVersion)>3) {
		if (navigator.appName=="Netscape") {
			if (window.top.screenX>0 || window.top.screenY>0) window.top.moveTo(0,0);
			if (window.top.outerWidth < screen.availWidth)	  window.top.outerWidth = screen.availWidth;
			if (window.top.outerHeight < screen.availHeight)  window.top.outerHeight = screen.availHeight;
		}
		else {
			window.top.moveTo(-4,-4);
			window.top.resizeTo( screen.availWidth+8, screen.availHeight+8 );
		}
	}
}
//--------------------------------------------------------------------------------------

//////////////////////////////////////////////////////////////////////////////////
//// valida que el usuario ingrese un mail
//// 
function validateNewsletter( f ) {
	var error = "";
	
	if(isBlanco(f.nombreNewsletter.value))
		error = "Error: Complete Correctamente el Nombre.";

	if(!isEmail(f.emailNewsletter.value))
		error = "Error: Complete Correctamente la Direccion de Correo Electronico.";
	
	if(error != ""){
		alert(error);
	 	return false;
	}
	else{
		AJAXSendNewsletter( $('formNewsletter').serialize() );
		return true;
	}
	
}
//--------------------------------------------------------------------------------------

///////////////////////////////////////////////////////////////////////////////////////////
///////////// FUNCION PRINCIPAL PARA RECARGAR EL CENTRO DE LA PAGINA
///////////// parametros: params -> los parametros a enviar, string
function AJAXSendNewsletter( params ) {
	$('divNewsletter').className = 'bg_newsletter2';
	new Effect.Pulsate($('divNewsletter'), { pulses: 2 });

	if(params && !isBlanco(params)){
		new Ajax.Updater('divNewsletter', './cuerpo.php', 
					{
  						method: 'get',
						parameters: params,
						onLoading: showLoading( $('divNewsletter') ),
						onFailure: showErrorNewsletter						
					}
				);
		return true;
	}
	else{
		return false;
	}
}
//--------------------

///////////////////////////////////////////////////////////////////////////////////////////
///////////// FUNCION PARA MENSAJES INFORMATIVOS, formulario de contacto
function showLoading( obj ) {
	obj.innerHTML =	'<div align="center" style="height:145px; padding:65px 0px 0px 35px; overflow:hidden"><img src="'+ $('AJAXLoadingImage').src +'" border="0"></div>';	
}
//--------------------

//----------
function showErrorNewsletter( msg ) { 
	$('divNewsletter').innerHTML = '<div align="center" style="height:145px; overflow:visible; padding:65px 0px 0px 35px">Conexión no disponible.</div>';	
	return false; 
}
//----------

//////////////////////////////////////////////////////////////////////////////////
//// valida que el usuario ingrese un mail, telefono, nombre y comentario
//// 
function validateContacto( f ) {
	var error = "";
	new Effect.Pulsate($('divContacto'), { pulses: 2 });
		
	if(isBlanco(f.nombreContacto.value))
		error+="Error: Ingrese su nombre. \n";
	
	if(!isEmail(f.email.value))
		error+="Error: Ingrese correctamente direccion de correo electronico. \n";
	
	
	if(error != ""){
		alert(error);
	 	return false;
	}
	else{
		AJAXSendContacto( $('formContacto').serialize() );
		return true;
	}
	
}
//--------------------------------------------------------------------------------------

///////////////////////////////////////////////////////////////////////////////////////////
///////////// FUNCION PRINCIPAL PARA RECARGAR EL CENTRO DE LA PAGINA
///////////// parametros: params -> los parametros a enviar, string
function AJAXSendContacto( params ) {

	if(params && !isBlanco(params)){
		new Ajax.Updater('divContacto', './cuerpo.php', 
					{
  						method: 'post',
						parameters: params,
						onLoading: showLoadingContacto( $('divContacto') ),
						onFailure: showErrorContacto						
					}
				);
		return true;
	}
	else{
		return false;
	}
}
//--------------------

///////////////////////////////////////////////////////////////////////////////////////////
///////////// FUNCION PARA MENSAJES INFORMATIVOS, formulario de contacto
function showLoadingContacto( obj ) {
	obj.innerHTML =	'<div align="center" style="height:180px; padding:10px; overflow:hidden"><img src="./img/loading.gif" border="0"></div>';	
}
//--------------------


//----------
function showErrorContacto( msg ) { 
	$('divContacto').innerHTML = '<div align="center" style="height:145px; overflow:visible; padding:65px 0px 0px 35px">Conexión no disponible.</div>';	
	return false; 
}
//----------

//////////////////////////////////////////////////////////////////////////////////
//// cambia de idioma
//// 
function cambiarIdioma( lang ) {
	if(isBlanco(lang)){
		return false;
	}
	
	var separador;
	if( window.location.href.indexOf("?") == -1 ){
		separador = '?';
	}
	else {
		separador = '&';
	}
	
	var existeLang = window.location.href.indexOf("lang=");
	if (existeLang == -1) {
		window.location.href = window.location.href + separador + 'lang=' + lang;
	}
	else{
		var href = window.location.href;
		var ini = existeLang;
		var medio = existeLang + 7;
		var fin = href.length;
		var aux1 = href.substring(0,existeLang - 1);
		var aux2 = href.substring(medio,fin);
		if( aux1.indexOf("?") == -1 ){
			separador = '?';
		}
		else {
			separador = '&';
		}
		
		window.location.href = aux1 + separador + 'lang=' + lang + aux2;
		return true;
	}
}
//--------------------------------------------

///////////////////////////////////////////////////////////////////////////////////////////
///////////// FUNCION PRINCIPAL PARA RECARGAR CONTENIDO EN UN ELEMENTO
///////////// params: elemento -> etiqueta html a recargar usando ajax
/////////////	parametros -> los parametros a enviar, string
function EA_AJAXRefreshContenido( elemento, parametros ) {
	if(! $(elemento))	return false;
	
	var params = "ajax=1&" + parametros;
	var myAjax = new Ajax.Updater( elemento , './AppAjax.php', 
					{
  						method: 'get',	parameters: params
					}
				);
	return true;
}
//--------------------

//////////////////////////////////////////////////////////////////////////////////
//// pone la imagen de Error/ok al lado de cada input
//// recibe los arreglos de Error y de Ok
function EA_showInputsOkError( aError, aOk ){
		
	if(aError){
		aError.each(
				 function(elemento){
					EA_showInputError(elemento[0], elemento[1]);
				}
			);
	}
	
	if(aOk){
		aOk.each(
				 function(elemento){
					EA_showInputOk(elemento);
				}
			);
	}
}

//-------------
//////////////////////////////////////////////////////////////////////////////////
//// pone el input en estado ok
////
function EA_showInputOk( idInput ){
	$(idInput).className = 'input-clasi';
	if($("EA_img_error_"+ idInput)){
		$("EA_img_error_"+ idInput).remove();
	}
	if(!$("EA_img_ok_"+ idInput)){
		new Insertion.After(idInput, '<img src="./img/activar_si.gif" id="EA_img_ok_'+ idInput +'" border="0" />');
	}
}	
//-------------

//////////////////////////////////////////////////////////////////////////////////
//// pone el input en estado ok
////
function EA_showInputError( idInput, texto ){
	if (texto != null){
		if(!$("EA_img_error_"+ idInput)){
			new Insertion.After(idInput, '<img src="./img/activar_no.gif" id="EA_img_error_'+ idInput +'" title="'+ texto +'" />');
		}
		if($("EA_img_ok_"+ idInput)){
			$("EA_img_ok_"+ idInput).remove();
		}
	}
	$(idInput).className = 'input-clasi-error';
	new Effect.Pulsate($(idInput), { pulses: 1 });
	$(idInput).focus();
}	
//-------------

///////////////////////////////////////////////////////////////////////////////////////////
///////////// Funcion para volar
function EA_goToScroll( idElement ){
	if($(idElement)){
		Effect.ScrollTo( idElement );
	}
	
	return false;
}

//--------------------------------------------------------------------------------------


function esconderDiv( div ){
	var op = $(div).style.display;
	if(op){
		if(op == 'none'){
			//new Effect.BlindDown( $(div) );
			 $(div).appear();
		}
		if(op == 'block'){
			//new Effect.BlindUp( $(div) );
			$(div).hide();
		}
	}
	else{
		//new Effect.BlindUp( $(div) );
		$(div).hide();
	}
	return false;
}	

//--------------------------------------------------------------------------------------

function ver_video(div_id,video,noscrolar)
{		
	if( div_id != null ){
		if(!(noscrolar != undefined && noscrolar == 1)){
			EA_goToScroll( div_id );
		}
		
		var html = '<div style="text-align:center"><object width="316" height="211"><param name="movie" value="http://www.youtube.com/v/'+video+'&hl=en&fs=1&rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/'+video+'&hl=en&fs=1&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="316" height="211"></embed></object></div>';
		
		$(div_id).innerHTML = html;
	}
}

function ver_video2(div_id,video,noscrolar)
{
	if( video != 0 ){
		if(!(noscrolar != undefined && noscrolar == 1)){
			EA_goToScroll( div_id );
		}
		
		var html = '<div style="text-align:center"><object width="251" height="158"><param name="movie" value="http://www.youtube.com/v/'+video+'&hl=en&fs=1&rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/'+video+'&hl=en&fs=1&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="251" height="158"></embed></object></div>';
		
		$(div_id).innerHTML = html;
	}
}

///////////////////////////////////////////////////////////////////////////////////////////
///////////// FUNCION PRINCIPAL DEL AJAX
function EA_AJAXCallRequest( parametros, func_ok ) {
	var params = 'ajax=1&' + parametros;
	var url = './AppAjax.php';
	var myAjax = new Ajax.Request(
			url, 
			{
				method: 'get', 
				parameters: params, 
				onComplete: eval(func_ok)
			});

	return true;
}
//--------------------

function EA_validateConcursoUsuario( f ){
	var error = '';
	
	if(isBlanco(f.nombre.value))
		error = 'Ingrese su nombre. \n';

	if(isBlanco(f.apellido.value))
		error += 'Ingrese su apellido. \n';

	if(isBlanco(f.dni.value))
		error += 'Ingrese su DNI. \n';

	if(isBlanco(f.telefono.value))
		error += 'Ingrese su nro de telefono. \n';

	if(!isEmail(f.email.value))
		error += 'Ingrese su E-Mail. \n';
		
	if(error != ''){
		alert(error);
		return false;
	}
	else
		return true;
}
