

function forumRegisterLogin(page){
	if($("#msg_box").queue("fx").length >0)return;
	$("#msg_box").html("");
	$.ajax({
	   async: true,
	   type: "POST",
	   url:  "_ajax.php",
	   data:  "opc=forumRegisterLogin&email="+$('#new_forum_email').val()+"&name="+$('#new_forum_name').val(),
	   success: function(data){
			
			if(data=="1"){
				window.location.href=page;
			}
			else{
				
				$("#msg_box").css("paddingLeft","20px");
				$("#msg_box").html(data);
				$("#msg_box").show(100);
				
			}
	   }
	 });
	
}
function forumRegister(){
	if($("#msg_box").queue("fx").length >0)return;
	$("#msg_box").html("");
	if($("#new_forum_confirm_password").val()!=$('#new_forum_password').val()){
		alert(getTranslateEntry("wrong_password_confirmation"));
	}
	else{
		$.ajax({
		   async: true,
		   type: "POST",
		   url:  "_ajax.php",
		   data:  "opc=forumRegister&email="+$('#new_forum_email').val()+"&password="+$('#new_forum_password').val()+"&name="+$('#new_forum_name').val(),
		   success: function(data){
				if(data=="0"){
					alert(getTranslateEntry("newsletter_registration_error"));
				}
				if(data=="1"){
					$("#forum_registration").clearForm();
					$("#msg_box").css("paddingLeft","20px");
					$("#msg_box").html(getTranslateEntry("forum_successfully_registration"));
					$("#msg_box").show(100);
					$("#msg_box").fadeOut(30000);
				}
		   }
		 });
	}	
}
function forumLogin(page,email,password){
	$.ajax({
	   async: true,
	   type: "POST",
	   url:  "_ajax.php",
	   data:  "opc=forumLogin&email="+email+"&password="+password,
	   success: function(data){
			
			if(data=="0"){
				alert(getTranslateEntry("login_failure"));
			}
			if(data=="1"){
				window.location.href=page;
			}
	   }
	 });
}
function newsletterRegistration(){
	if($("#newsletter_msg").queue("fx").length >0)return;
	var msg="";
	if($("#newsletter_name").val()==getTranslateEntry("newsletter_name") || $("#newsletter_email").val()==getTranslateEntry("newsletter_email") || !emailCheck($("#newsletter_email").val()) || $("#newsletter_name").val()=="" ){
		
		if($("#newsletter_name").val()==getTranslateEntry("newsletter_name") || $("#newsletter_name").val()==''){
			msg+="\n"+$("#newsletter_name").attr("title");
		}
		if(!emailCheck($("#newsletter_email").val())){
			msg+="\n"+$("#newsletter_email").attr("title");
		}
		msg = getTranslateEntry("complete_following_fields")+msg;
		alert(msg);
	}
	else{
		$("#newsletter_msg").css("color","#FFF");
		$("#newsletter_msg").html(getTranslateEntry("procesando")+"...");
		$("#newsletter_msg").show(100);
		$.ajax({
		   async: false,
		   type: "POST",
		   url:  "_ajax.php",
		   data:  "opc=registrarNewsletter&name="+$('#newsletter_name').val()+"&email="+$('#newsletter_email').val()+"&organization="+($('#newsletter_organization').val()== getTranslateEntry("newsletter_organization")?"":$('#newsletter_organization').val())+"&idCountry="+$('#newsletter_country').val(),
		   success: function(data){
				if(data=="exists"){
					$("#newsletter_msg").html(getTranslateEntry("newsletter_registration_error"));
				}
				else{
					$("#newsletter_name").val(getTranslateEntry("newsletter_name"));
					$("#newsletter_email").val(getTranslateEntry("newsletter_email"));
					$("#newsletter_organization").val(getTranslateEntry("newsletter_organization"));
					$("#newsletter_country").val("");
					$("#newsletter_msg").html(data).fadeOut(30000);
				}
				
		   }
		 });
	}
}
function changeCalendar(layer,year,month){
	$.ajax({
	   async: true,
	   type: "GET",
	   url:  "_ajax.php",
	   data:  "opc=changeCalendar&year="+year+"&month="+parseInt(month)+"&layer="+layer,
	   success: function(data){
			$("#"+layer).html(data);
			showCurrentCalendarEvents(year,month,"current_events");
			showPreviousCalendarEvents(year,month,"previous_events");
	   }
	 });
}
function showCurrentCalendarEvents(year,month,layer){
	$.ajax({
	   async: true,
	   type: "GET",
	   url:  "_ajax.php",
	   data:  "opc=showCurrentCalendarEvents&year="+year+"&month="+parseInt(month),
	   success: function(data){
			$("#"+layer).html(data);
	   }
	 });
}
function showPreviousCalendarEvents(year,month,layer){
	$.ajax({
	   async: true,
	   type: "GET",
	   url:  "_ajax.php",
	   data:  "opc=showPreviousCalendarEvents&year="+year+"&month="+parseInt(month),
	   success: function(data){
			$("#"+layer).html(data);
	   }
	 });
}
function showSendWindow(){
	MySimpleLightBox.border = "3px solid #666666";
	MySimpleLightBox.loadFile("_ajax.php?opc=enviarForm");
	
}
function sendArticle(de,emailRemitente,para,emailDestinatario){
	$.ajax({
	   async: true,
	   type: "POST",
	   url:  "_ajax.php",
	   data:  "opc=enviarArticulo&de="+de+"&para="+para+"&emailRemitente="+emailRemitente+"&emailDestinatario="+emailDestinatario+"&url="+window.location.href,
	   success: function(data){
			MySimpleLightBox.close();
	   }
	 });
}
function showJournalistsByName(char,layer){
	var str = getTranslateEntry("cargando");
	$("#"+layer).html(str+"...");
	$.ajax({
	   async: true,
	   type: "GET",
	   url: "_ajax.php",
	   data: "opc=journalistsByName&char="+char+"&content="+layer,
	   success: function(data){
			$("#"+layer).html(data);
	   }
	 });
}
function showJournalistsByCountry(layer){
	var str = getTranslateEntry("cargando");
	$("#"+layer).html(str+"...");
	$.ajax({
	   async: true,
	   type: "GET",
	   url: "_ajax.php",
	   data: "opc=journalistsByCountry&content="+layer,
	   success: function(data){
			$("#"+layer).html(data);
	   }
	 });
}
function showJournalistDetail(id,layer){
	var str = getTranslateEntry("cargando");
	$("#"+layer).html(str+"...");
	$.ajax({
	   async: true,
	   type: "GET",
	   url: "_ajax.php",
	   data: "opc=journalistDetails&id="+id+"&content="+layer,
	   success: function(data){
			$("#"+layer).html(data);
	   }
	 });
}
function updateCombosCasos(idLayer,idPais,idPeriodista,idOrganizacion){
	
	$('#idPeriodista').disabled=true;
	$('#idOrganizacion').disabled=true;
	$.ajax({
	   async: true,
	   type: "GET",
	   url: "_ajax.php",
	   data: "opc=combosCasos&idPais="+idPais+"&idPeriodista="+idPeriodista+"&idOrganizacion="+idOrganizacion,
	   success: function(data){
			$("#"+idLayer).html(data);
	   }
	 });
}
$.fn.clearForm = function() {
  return this.each(function() {
    var type = this.type, tag = this.tagName.toLowerCase();
    if (tag == 'form')
      return $(':input',this).clearForm();
    if (type == 'text' || type == 'password' || tag == 'textarea')
      this.value = '';
    else if (type == 'checkbox' || type == 'radio')
      this.checked = false;
    else if (tag == 'select')
      this.selectedIndex = -1;
  });
};


function sendForm(array_fields,rta_field,to,subject,opc){
	var sendingMsg = getTranslateEntry("sending");
	var h=$('#'+rta_field).outerHeight();

	var vars='opc='+(opc!=''?opc:'sendForm')+'&to='+to+'&subject='+subject;
	for(var i=0; i<array_fields.length;i++){
		vars+= "&"+array_fields[i]+"_desc="+$('#'+array_fields[i]).attr('title');
		vars+= "&"+array_fields[i]+"="+$('#'+array_fields[i]).val();
	}
	$('#'+rta_field).html("<h3>"+sendingMsg+"...</h3>");
	$('#'+rta_field).css("display","block");
	
	$.ajax({
	   async: true,
	   type: "POST",
	   url: "_ajax.php",
	   data: vars,
	   success: function(data){
	     $('#'+rta_field).html(data).fadeOut(15000,function(){$('#'+rta_field).css("display","none");});
	   }
	 });
}

/*SHOPPING CART*/
function reloadCart(container){
	$.ajax({
	   async: false,
	   type: "GET",
	   url: "_ajax.php",
	   data: "opc=reloadCart&container="+container,
	   success: function(data){
	   		$('#'+container).html(data);
	   }
	});

}
 



function updateCartItemQuantity(id,type,quantity,container){
	$.ajax({
	   async: false,
	   type: "GET",
	   url: "_ajax.php",
	   data: "opc=updateCartItemQuantity&id="+id+"&type="+type+"&quantity="+quantity+"&container="+container,
	   success: function(data){
	   		$('#'+container).html(data);
	   }
	});
}

function removeCartItem(id,type,container){
	$.ajax({
	   async: false,
	   type: "GET",
	   url: "_ajax.php",
	   data: "opc=removeCartItem&id="+id+"&type="+type,
	   success: function(data){
	   	reloadCart(container);
	   }
	});
}
/*END OF SHOPPING CART*/

	function getTranslateEntry(word){
		var translation="";
		$.ajax({
		   async: false,
		   type: "GET",
		   url: "_ajax.php",
		   data: "opc=translate&word="+word,
		   success: function(data){
		    translation = data;
		   }
		 });
		return translation;
	}
	
	
	


	
/***********************************************************************/
	
	<!-- Begin
	function emailCheck (emailStr) {
	/* The following pattern is used to check if the entered e-mail address
	   fits the user@domain format.  It also is used to separate the username
	   from the domain. */
	var emailPat=/^(.+)@(.+)$/
	/* The following string represents the pattern for matching all special
	   characters.  We don't want to allow special characters in the address. 
	   These characters include ( ) < > @ , ; : \ " . [ ]    */
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	/* The following string represents the range of characters allowed in a 
	   username or domainname.  It really states which chars aren't allowed. */
	var validChars="\[^\\s" + specialChars + "\]"
	/* The following pattern applies if the "user" is a quoted string (in
	   which case, there are no rules about which characters are allowed
	   and which aren't; anything goes).  E.g. "jiminy cricket"@disney.com
	   is a legal e-mail address. */
	var quotedUser="(\"[^\"]*\")"
	/* The following pattern applies for domains that are IP addresses,
	   rather than symbolic names.  E.g. joe@[123.124.233.4] is a legal
	   e-mail address. NOTE: The square brackets are required. */
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	/* The following string represents an atom (basically a series of
	   non-special characters.) */
	var atom=validChars + '+'
	/* The following string represents one word in the typical username.
	   For example, in john.doe@somewhere.com, john and doe are words.
	   Basically, a word is either an atom or quoted string. */
	var word="(" + atom + "|" + quotedUser + ")"
	// The following pattern describes the structure of the user
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	/* The following pattern describes the structure of a normal symbolic
	   domain, as opposed to ipDomainPat, shown above. */
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	
	
	/* Finally, let's start trying to figure out if the supplied address is
	   valid. */
	
	/* Begin with the coarse pattern to simply break up user@domain into
	   different pieces that are easy to analyze. */
	var matchArray=emailStr.match(emailPat)
	if (matchArray==null) {
	  /* Too many/few @'s or something; basically, this address doesn't
		 even fit the general mould of a valid e-mail address. */
		//alert("Email address seems incorrect (check @ and .'s)")
		return false
	}
	var user=matchArray[1]
	var domain=matchArray[2]
	
	// See if "user" is valid 
	if (user.match(userPat)==null) {
		// user is not valid
		//alert("The username doesn't seem to be valid.")
		return false
	}
	
	/* if the e-mail address is at an IP address (as opposed to a symbolic
	   host name) make sure the IP address is valid. */
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		// this is an IP address
		  for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				//alert("Destination IP address is invalid!")
			return false
			}
		}
		return true
	}
	
	// Domain is symbolic name
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		//alert("The domain name doesn't seem to be valid.")
		return false
	}
	
	/* domain name seems valid, but now make sure that it ends in a
	   three-letter word (like com, edu, gov) or a two-letter word,
	   representing country (uk, nl), and that there's a hostname preceding 
	   the domain or country. */
	
	/* Now we need to break up the domain to get a count of how many atoms
	   it consists of. */
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 || 
		domArr[domArr.length-1].length>3) {
	   // the address must end in a two letter or three letter word.
	   //alert("The address must end in a three-letter domain, or two letter country.")
	   return false
	}
	
	// Make sure there's a host name preceding the domain.
	if (len<2) {
	   var errStr="This address is missing a hostname!"
	   //alert(errStr)
	   return false
	}
	
	// If we've gotten this far, everything's valid!
	return true;
	}
	//  End -->
	
	
	
	
	
	function checkDate(y,m,d){
		
	   y=document.getElementById(y);
	   m=document.getElementById(m);
	   d=document.getElementById(d);
	   if(m.value==2){
			if(y.value % 4==0){
				if(d.value>29){
					d.value=29;
					
				}
			}
			else{
				if(d.value>28){
				d.value=28;
				
				}
			}
	   }
	   else{
			if(m.value==4||m.vlaue==6||m.value==9||m.value==11){
				if(d.value>30){
					d.value=30;
					
				}
			}
	   }	 
	}	
	
	
	
	function textCounter(field,maxlimit,evento) {
		if(in_array(evento.keyCode)){
			return;	
		}
		if (field.value.length > maxlimit){ // if too long...trim it!
				cancelEvent(evento);
				field.value = field.value.substring(0, maxlimit);
				ex=new Array('8','46','37','38','39','40');
		}
	}		
	

	


	

	function checkTextLength(l){
		aux=new String();
		aux=event.srcElement.value;
		if(aux.length>=l){
			event.returnValue=false;
		}
	}
	
	function checkForm(frm,arr){ //(formulario, array de excepciones)
		var aux="";
			for(var i=0;i<document.getElementById(frm).elements.length;i++){
       			if(document.getElementById(frm).elements[i].type == "password" || document.getElementById(frm).elements[i].type == "text" || document.getElementById(frm).elements[i].type == "select"  || document.getElementById(frm).elements[i].type == "textarea" || document.getElementById(frm).elements[i].type == "select-one" || document.getElementById(frm).elements[i].type == "select multiple"){
		       		if(!in_array(arr,document.getElementById(frm).elements[i].id)){ 
						//document.frmOp.elements[i].checked = true;
						if(document.getElementById(frm).elements[i].value==""){
							aux=aux+"\n"+document.getElementById(frm).elements[i].title;
						}
						else{
							if(document.getElementById(frm).elements[i].id.indexOf('email')!=-1){
								if(!emailCheck(document.getElementById(frm).elements[i].value)){
									aux=aux+"\n"+document.getElementById(frm).elements[i].title;
								}
							}	
						}
						
					}
				}	
		   }
		   if(aux!=""){
				aux="You must complete these fields:" + aux;
			   	alert(aux);
				return false;
		   }
		   else{
				return true;
		   }	
	}	
	
	function checkFormFields(frm,arr,idioma,animate){ //(formulario, array de campos a validar)
			
			var aux="";
			for(var i=0;i<document.getElementById(frm).elements.length;i++){
       			
				if(document.getElementById(frm).elements[i].type == "hidden"  ||document.getElementById(frm).elements[i].type == "password" || document.getElementById(frm).elements[i].type == "text" || document.getElementById(frm).elements[i].type == "select"  || document.getElementById(frm).elements[i].type == "textarea" || document.getElementById(frm).elements[i].type == "select-one" || document.getElementById(frm).elements[i].type == "select multiple" || document.getElementById(frm).elements[i].type == "select-multiple" ){
					if(in_array(arr,document.getElementById(frm).elements[i].id)){ 
						
						if(document.getElementById(frm).elements[i].value==""){
							aux=aux+"\n"+document.getElementById(frm).elements[i].title;
							if(animate==1){
								   $("#"+document.getElementById(frm).elements[i].id).effect("highlight", {color:"red"}, 1000,function(){
								  		$(this).one("click", function(){
											$(this).val("");
										 });
								   });
							 }
	
						}
						else{
							
							if(document.getElementById(frm).elements[i].id.toLowerCase().indexOf('email')!=-1){
								if(!emailCheck(document.getElementById(frm).elements[i].value)){
									aux=aux+"\n"+document.getElementById(frm).elements[i].title;
									  if(animate==1){
										   $("#"+document.getElementById(frm).elements[i].id).effect("highlight", {color:"red"}, 1000,function(){
										  		$(this).one("click", function(){
													$(this).val("");
												 });
										   });
									   }
								}
							}
							if(document.getElementById(frm).elements[i].id.toLowerCase().indexOf('captcha')!=-1){
								
								var value = document.getElementById(frm).elements[i].value;
								var verify = 0;
								
								$.ajax({
								   async: false,
								   type: "GET",
								   url:  "_ajax.php",
								   data:  "opc=getCaptcha&captcha="+value,
								   success: function(data){
										if(data==0){
											  aux=aux+"\n"+document.getElementById(frm).elements[i].title;
											  if(animate==1){
												   $("#"+document.getElementById(frm).elements[i].id).effect("highlight", {color:"red"}, 1000,function(){
												  		$(this).one("click", function(){
															$(this).val("");
														 });
												   });
											   }
										}
								   }
								});
								
								
							}
						}
					}
					
				}	
		   }
		  
		   if(aux!=""){
				if(idioma=='es'){
					aux="Debe completar los siguientes campos:" + aux;
				}
				if(idioma=='en'){
					aux="You must complete these fields:" + aux;
				}
			   	if(animate!=1){
			   		alert(aux);
			   	}
				
				return false;
		   }
		   else{
				return true;
		   }	
	}	

	function in_array(mat,field){
			var i;
			for(i=0;i<mat.length;i++){
				if(mat[i].toLowerCase()==field.toLowerCase()){
					return true;
				}	
			}
			return false;	
	}
	
	function onlyIntegerInputAllowed(e){
		var keynum
		var keychar
		var numcheck
		if(window.event) // IE
		{
		keynum = e.keyCode
		}
		else if(e.which) // Netscape/Firefox/Opera
		{
		keynum = e.which
		} 
		keychar = String.fromCharCode(keynum)
		numcheck = /\d/
		
		if(numcheck.test(keychar)==false && keynum!=8 && keynum!=undefined){
			cancelEvent(e);
		}
	} 


	function eventTrigger (e) {
	    	if (! e) e = event;
		    return e.target || e.srcElement;
	}
		
	function cancelEvent(e){
			if(navigator.userAgent.indexOf("MSIE")!=-1){
				e.returnValue=0;	
			}
			if(navigator.userAgent.indexOf("Gecko")!=-1){
				e.preventDefault();	
			}
	}
	
	function validateExtensions(file,ext,evt){
		var auxext=new String(file);
		var extPosibles;
		for (var i=0;i<ext.length;i++){
			if(i==0){
				extPosibles=ext[i];
			}
			else{
				extPosibles += ","+ext[i];
			}
		}
		auxext=auxext.substring(auxext.lastIndexOf('.')+1);
		if(!in_array(ext,auxext)){
			cancelEvent(evt);	
		}
		else{
			return true;	
		}
	
	}
	
	function getMicrotime(){
		var ajax = new MyAjax();
		var micro = "";
		ajax.handleResp=function(resp){
			micro = resp;
		}
		ajax.doSyncRequest("_ajax.php","GET","text",'opc=getMicrotime');
		return micro;
	}