/**



* crearXMLHttpRequest:	Función que crea un objeto que será el que envie y reciba



*						información de manera asíncrona al servidor Web



* Parámetros:			Ninguno



* Retorna:				Objeto de comunicación AJAX



**/



function crearXMLHttpRequest() 



{



	var objeto = null;



	



	if( window.ActiveXObject ) //si es Internet Explorer



	{



		objeto = new ActiveXObject( "Microsoft.XMLHTTP" );



	}



	else //Si es Mozilla Firefox u otros compatible a Nestcape



	{



		if( window.XMLHttpRequest )



		{



			objeto = new XMLHttpRequest();



		}



	}



	return objeto;



}







/**



 * Función que realiza la carga asíncrona de información utilizando AJAX



 * @params url		página que se va a cargar



 *		   datos	datos que se le enviarán a la página por el método post



 *		   funcion	determina si la página se cargará como HTML o se evaluará como javascript



 *		   div		elemento en donde se cargará la respuesta de la página



 */



function enviar( url, datos, funcion, cargarEn ) 

{

	if( url == "" )



  	{



    	return;



  	}



	div = document.getElementById(cargarEn);



	



	conexion = crearXMLHttpRequest();		//crea la conexión asíncrona al servidor



	



	if(funcion == 'cargar')



	{



  		conexion.onreadystatechange = cargarDatos;



	}



	if(funcion == 'evaluar')



	{



		conexion.onreadystatechange = ejecutarAccion;



	}



	



	if(url == 'moduloContenido/editarContenido.php')//En estas páginas se necesita cargar el editor WYSIWYG



	{



		cargarEditor = 1;



	}



	else



	{



		



		if(url == 'moduloContenido/eliminarAnexo.php')	//En estas páginas se no se carga ni se descarga el editor WYSIWYG



		{



			cargarEditor = 2;



		}



		else //En el resto de páginas se descarga el editor si está cargado



		{



			cargarEditor = 0;



		}



	}



	conexion.open('POST', url, true);



  	conexion.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=iso-8859-1;");



  	conexion.send( datos );



}







/** 



 * Inserta dentro del <div></div> especificado por div el resultado de la carga asíncrona de una



 * determinada página



 */



function cargarDatos()



{



  	if( conexion.readyState == 4 )



  	{



		div.innerHTML = conexion.responseText;



		if(cargarEditor == 1)



		{



			tinyMCE.execCommand('mceAddControl',false,'txtEditor');



			editor = tinyMCE.getInstanceById("txtEditor");	//Capturar instancia del editor



			editorCargado = true;



		}



		else



		{



			if(cargarEditor == 0 && editorCargado == true)



			{



				tinyMCE.removeInstance(editor);	//Remover la instancia del editor



				editorCargado = false;



			}



		}



  	} 



  	if( conexion.readyState == 1 )



  	{



		div.innerHTML = '<img src="./images/loading.gif">';



  	}



}







/** 



 * Evalua como javascript el resultado de la carga asíncrona de una determinada página



 */



function ejecutarAccion()



{



  	if( conexion.readyState == 4 )



  	{



		if(cargarEditor == 1)



		{



			tinyMCE.execCommand('mceAddControl',false,'txtEditor');



			editor = tinyMCE.getInstanceById("txtEditor");	//Capturar instancia del editor



			editorCargado = true;



		}



		else



		{



			if(cargarEditor == 0 && editorCargado == true)



			{



				tinyMCE.removeInstance(editor);	//Remover la instancia del editor



				editorCargado = false;



			}



		}



    	eval(conexion.responseText);



  	} 



}



function validarCundimensaje()

{

	palabrasProhibidas = new RegExp("puta|malparido|cabron|perra|hijueputa");	

	nick	= document.getElementById('nick');

	mensaje	= document.getElementById('mensaje');

	

	if( nick.value == "" )

	{

		window.alert("Debe ingresar un nick");

		nick.select();

		return;

	}

	if ( palabrasProhibidas.test( nick.value ) )

		{

			alert('Nick inválido');

			nick.select();

			return false;

		}

	if( nick.value.length > 32)

		{

			alert('El nick tiene más de 32 caracteres');

			document.getElementById('mensaje').select();

			return false;

		}		

	if( mensaje.value == "" )

	{

		window.alert("Debe ingresar un mensaje");

		mensaje.select();

		return;

	}

	if( mensaje.value.length > 150)

		{

			alert('El mensaje tiene más de 150 caracteres');

			mensaje.select();

			return false;

		}

	if ( palabrasProhibidas.test( mensaje.value ) )

		{

			alert('Su mensaje posee palabras potencialmente vulgares\nLa guia cundinamarca se reserva el derecho de publicar este mensaje');

			mensaje.select();

			return false;

		}		

	

	document.form_cundimensaje.submit();

}







/**



* VARIABLES



**/



var conexion;				//Conexion con el servidor Web usando AJAX



var editorCargado;			//Determina la acción sobre el editor WYSIWYG TinyMCE (0: descargar, 1:cargar, 2: no hacer nada)



var cargarEditor;			//Determina la acción sobre el editor WYSIWYG TinyMCE (0: descargar, 1:cargar, 2: no hacer nada)



var div;					//Elemento div del documento HTML en donde se cargará la respuesta asíncrona



var editor;					//Instancia del editor WYSIWYG TinyMCE