_field_requiered_f_send_article = new Array("nombre", "email1", "destinatario", "email2");
/*
* Muestra/Oculta un contenedor
* Parametros:	dcntName: el nombre del contenedor
				bolState: true=visible o false=oculto
* Uso:			ShowHideObj('div1', true);
*/
function ShowHideObj(cntName, bolState) {
	if (ShowHideObj.arguments.length < 2) {
		if (document.getElementById(cntName).style.display == 'none' || document.getElementById(cntName).style.display == '') {
			document.getElementById(cntName).style.display = 'block';
		} else {	
			document.getElementById(cntName).style.display = 'none';
		}
	} else {
		document.getElementById(cntName).style.display = bolState ? 'block' : 'none';
	}
}

function SubmitArticle(frmName) {
	var str = '';
	for (i = 0; i < frmName.elements.length; i++) {
		if ( (frmName.elements[i].type == 'text' || 
			  frmName.elements[i].type == 'textarea')
			  && inArray ( frmName.elements[i].name, eval("_field_requiered_" + frmName.name)) ) {

			if ( isEmpty(frmName.elements[i].value) ) {
				str = '<span class="red">Por favor complete los datos obligatorios.</span>';
			}
			
		}
	}
	if ( isEmpty(str) ) {
		var emailFormat = true;
		if ( isEmailFormat(frmName.email1.value) ) {
			var emailList = frmName.email2.value.split(';');
			for ( var i = 0; i < emailList.length; i++ ) {
				emailList[i] = emailList[i].trim();
				if ( !isEmailFormat(emailList[i]) )
					emailFormat = false;
			}
		}
		if ( emailFormat ) {
			//-- Ocultar botones
			document.getElementById('f_send_article_buttons').style.display ='none';
			//-- Parametros
			var nombre 			= frmName.nombre.value;
			var email1 			= frmName.email1.value;
			var destinatario 	= frmName.destinatario.value;
			var email2 			= frmName.email2.value;
			var mensaje			= frmName.mensaje.value;
			var id_item			= frmName.id_item.value;
			var title_item		= frmName.title_item.value;
			var btn_enviar		= frmName.btn_enviar.value;
			objHttpRequest = getHttpRequest()
			objHttpRequest.open('POST', 'send_article.php', true)
			objHttpRequest.onreadystatechange = _proccessSubmitArticle;		
			objHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			//timeAbort = setTimeout("_abortHttpRequest()", 60000);
			timeAbort = setTimeout( "objHttpRequest.abort()", 60000 );
			objHttpRequest.send( "nombre=" + nombre + "&email1=" + email1 + "&destinatario=" + destinatario + "&email2=" + email2 + "&mensaje=" + mensaje + "&id_item=" + id_item + "&title_item=" + title_item + "&btn_enviar=" );
			str = '<img src="images/progressbar.gif" alt="Enviando" /><br /><span class="red"><strong>Enviando. Por favor espere...</strong></span><br /><span class="info red">(Si demora m&aacute;s de un minuto recargue la p&aacute;gina y vuelva a enviar).</span>';
		} else {
			str = '<span class="red">Su direcci&oacute;n de correo electr&oacute;nico o del destinatario es incorrecto.</span>';
		}
	}
	document.getElementById('detail_info').innerHTML = str;
	ShowHideObj('detail_info', true);
	return false;
}

/*
* Busca un valor dentro de un array.
* Parametros:	strValue: Valor a buscar
				aName: El bombre del array
* Devuelve true si encuentra o false en caso contrario
* Uso:			inArray( 'pepe', arrayNombres )
*/
function inArray( strValue, aName ) {
	for ( var i = 0; i < aName.length; i++ ) {
		if ( aName[i] == strValue )
			return true;
	}
	return false;
}

/*
* Verifica si el formato de una direccion de email sea correcto
* Parametros:	email: direccion de email
* Devuelve true si es correcto o false en caso contrario
* Uso:			isEmailFormat( 'pepe@correo.com' )
*/
function isEmailFormat( email ) {
	var re  = /^[a-z]+[_\.\-]{0,1}[a-z0-9]+@[a-z0-9]+[_\.\-]{0,1}[a-z0-9]+\.[a-z]{2,4}$/;
	if (re.test(email)) {
	    return true;
	}
	return false;
}

/*
* Verifica si la cadena esta vacia o no
* Parametros:	strText: La cadena que se va evaluar
* Devuelve true si esta vacia o false en caso contrario
* Uso:			isEmpty( 'texto' )
*/
function isEmpty( strText ) {
	if( strText.replace(/ /g, '') == '' ) {
		return true;
	}
	return false;
}

/*
* Borra los espacios vacios del comienzo y final de una cadena
* Parametros:	Ninguno
* Uso:	 
* 		var cadena = '   texto texto   '
		cadena.trim()
*/
String.prototype.trim = function ( ) {
   return this.replace(/(^\s*)|(\s*$)/g,"");
}

/*
* Constructor HttpRequest
* Parametros:	Ninguno
* Uso:			objHttp = getHttpRequest( );
*/
function getHttpRequest( ){
	var xmlhttp=false;
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {
			xmlhttp = false;
		}
 	}

	if ( !xmlhttp && typeof XMLHttpRequest!='undefined' ) {
		xmlhttp = new XMLHttpRequest();
	}
	return xmlhttp;
}
/*
* Cancela la peticion HttpRequest activa
*/
function _abortHttpRequest( ) {
	objHttpRequest.abort();
}
//-- Obtiene el resultado de una peticion HttpResult
function _proccessSubmitArticle( ) {
	//-- readyState 4: Proceso completado
	if ( objHttpRequest.readyState == 4 ) {
		clearTimeout(timeAbort);
		str = '';
		//-- status 200: Proceso completado correctamente
		if ( objHttpRequest.status == 200 ) {
			if ( objHttpRequest.responseText != 'invalidForm' && objHttpRequest.responseText != 'invalidPost' ) {
				document.getElementById('send_article').innerHTML = objHttpRequest.responseText;
			} else {
				if ( objHttpRequest.responseText == 'invalidForm' ) {
					str = '<span class="red">Por favor complete los datos obligatorios.</span>';
				} else {
					str = '<span class="red">Lamentablemente no se pudo enviar el mensaje debido a un error interno del sevidor.<br /><br /> Por favor, recargue la p&aacute;gina y vuelva enviar.</span>';
				}
			}
		} else {
			str = '<span class="red">Ocurri&oacute; un problema durante el envio del mensaje. Por favor recargue la p&aacute;gina y vuelva enviar.</span>';
		}
		if ( str.length > 0 ) {
			document.getElementById('detail_info').innerHTML = str;
			ShowHideObj('detail_info', true);
		}
		
	}
}

matchHeight = function() {
	if (document.getElementById('home_content_middle') ) {
		var divMain = document.getElementById('content');
		var x = 0;
		if(divMain.offsetHeight){
			x = document.getElementById('content').offsetHeight;
		} else {
			x = document.getElementById('content').style.pixelHeight;
		}
		document.getElementById('home_content_middle').style.height = x + 'px';
	}
}
window.onresize = function() {
	matchHeight();
}
var appName = navigator.userAgent.toLowerCase();
if( appName.indexOf("opera") > 0 && String(parseFloat(appName.substr(appName.indexOf("opera") + 6 ))) < 8 ) {  
	setInterval("matchHeight()",500);
}