/*!
 * Pagerank Script 0.1 Beta
 * h p://www.discussionrooms.com/
 *
 * Copyright (c) 2009 Javier Edo
 *
 * Date: 2009-07-07
 * Revision: 0.1
 */
 
 	rutaLoader="/img/ajax-loader.gif";
 	
 	
	function pageSearch(){	
		$.ajax({    
			type: "POST",
			url: "/index.php/pagerank/realTime",
			dataType: "json",
			success: function(datos){
				$(".pageranksearch>.realtime").remove();
				$.each(datos,function(i){  
					if (datos[i]['ar']==-1){datos[i]['ar']="N/D"};
					if (datos[i]['cr']==-1){datos[i]['cr']="N/D"};
					var etiqueta="Pagerank "+datos[i]['pr']+"    Alexa "+datos[i]['ar']+"    Compete "+datos[i]['cr'];
					var url= datos[i]["url"];
					$(".pageranksearch").append('<div class="realtime"> <div class="realtime-pr" alt="'+etiqueta+'" title="'+etiqueta+'" >'+datos[i]['pr']+'</div><div class="realtime-url"><a alt="'+url+'" title="'+url+'" href="http://'+url+'">'+urlCorta(url,38)+'</a></div></div>');
				});
			}
		});
	}
	
	
	function trim(s){
		return s.replace(/^\s+|\s+$/gi,""); //sacar espacios blanco principio y final
	}
	
	function urlCorta(url,maxL){   
		if (url.length>maxL) {return url.substring(0,maxL-4)+"...";} else {return url;} ;
	}
	
	
	
	
	function isUrl(s){
		var res;
		$.ajax({    
			async: false,
			type: "POST",
			url: "/index.php/pagerank/urlValida/"+s.substr(7,s.length),  
			dataType: "JSON",
			timeout: 8000,
			success: function(msg){ if (msg==true){res=true; $("#msgInfo").html(" ");} else {res=false; e="This domain is not active"; $("#msgInfo").html(e); $("#texto").val("").focus(); } ;}
			//error:  function(objAJAXRequest, strError){res=false; e="This domain is not active"; $("#msgInfo").html(e); $("#texto").val("").focus(); }

		});
		return res;
		
	}
	
	
	
	
	function alta(linea){   //nuevo
		var url=$(linea+">.dominio>.url").attr("alt"); 
		var prank=$(linea+">.google>img").attr("alt"); 
		var arank=$(linea+">.alexa").html(); 
		var crank=$(linea+">.compete").html(); 
		$.ajax({    
			type: "POST",
			url: "/index.php/pagerank/altaUrl",  
			data: 'url='+url+'&prank='+prank+'&arank='+arank+'&crank='+crank,
			success: function(){
				$("#msgInfo").html("");
				pageSearch();
				mostrarContador();
				mostrarExt();
			}
		});
		
		
		
	}
	
	function mostrarContador(){  
		var v1=$("#contador").html();
		var v2;
		$.ajax({    
			type: "POST",
			url: "/index.php/pagerank/contar",
			success: function(msg){
				if (v1!==msg){
					$("#contador").html(msg); 
					v2=$("#contador").html();
					if (v1!=v2){ mostrarExt();};
				};
				
			}
		});
	}
	
	function mostrarIconos(linea){	//nuevo
		$("#linea-"+linea+">.dominio>.eliminar").attr("style","visibility: visible");
		$("#linea-"+linea+">.dominio>.info").attr("style","visibility: visible");
	}
	
	function mostrarExt(){

		var aleatorio= Math.random(); // nuevo, para evitar problemas de cache 
 		swfobject.embedSWF("/img/open-flash-chart.swf", "chart", "385", "241", "9.0.0","expressInstall.swf", {"data-file":"/index.php/pagerank/charExtF/"+aleatorio} ); //nuevo
	}
	
	
	var linea=0;
	
	$(document).ready(function() {
		$(".container").append("<div id='listaPagerank' style='display:none;'><div id='wait'></div></div>");	//nuevo
		mostrarContador(); 
		setInterval(mostrarContador, 20000); 
		pageSearch();
		setInterval(pageSearch, 5000); 
			//swfobject.embedSWF("/img/open-flash-chart.swf", "chart", "385", "241", "9.0.0","expressInstall.swf", {"get-data":"datosGraph"} ); 
		
		
		mostrarExt();
		//swfobject.embedSWF("/img/open-flash-chart.swf", "pagerankstats", "250", "200", "9.0.0");

		//$(".pagerankstats").append('<div id="flash"></div>');
		
		
		//swfobject.embedSWF("open-flash-chart.swf", "flash","300", "300", "9.0.0", "expressInstall.swf",{"data-file":"/index.php/pagerank/charExtF"} );
		
		$("#agregar").hide();
		$("#texto").focus();
		
		//$("#imgSubmit").click(function(){$("#urlPagerank").submit();});
		$("#texto").click(function(){$(this).val("").focus();});
		
		$("#urlPagerank").submit(function(){
			var u=$("#texto").val();
			u=trim(u);
			u=u.toLowerCase();
			$("#msgInfo").html("Requesting domain ip...");
			if (isUrl("http://"+u)==true){
			$("#msgInfo").html("");
				//alta(u);
				linea=linea+1;
				html=	  '	<div id="linea-'+linea+'"> ';
				html=html+'		<div class="numero">'+$("#listaPagerank").children().length+'</div>'; 
				html=html+'		<div class="dominio">';
				html=html+'			<span class="url" alt="'+u+'" title="'+u+'">'+urlCorta(u,28)+'</span>';
				html=html+'			<img class="eliminar"  id="eliminar" style="visibility:hidden;" alt="Eliminar" title="Eliminar"  src="/img/eliminar.jpg" alt="eliminar" />';
				html=html+'			<img class="info" id="info" style="visibility:hidden; " src="/img/info.jpg" alt="Domain info" title="Domain info"/>'; 
				html=html+'		</div> ';
				html=html+'		<div class="google">';
				html=html+'			<img src="'+rutaLoader+'"  />';
				html=html+'		</div> ';
				html=html+'		<div class="alexa">';
				html=html+'			<img src="'+rutaLoader+'" />';
				html=html+'		</div> ';
				html=html+'		<div class="compete">';
				html=html+'			<img src="'+rutaLoader+'" />';
				html=html+'		</div>';
				html=html+'	</div>';				
			
				$('#listaPagerank>#wait').after(html);
				$("#linea-"+linea+">.dominio>.eliminar").click(function(){		
					$i=$(this).parent().parent();
					li=parseInt($i.children('.numero').html());
					linea=linea-1;
					$('.numero').each(function(){
									v=$(this).html();
									if (v>li){$(this).html(v-1);};
								 });
					$i.remove();
				}); 
				
				
				
				
				
				$("#linea-"+linea+">.dominio>.info").click(function(){			//nuevo  
					var linea=$(this).parent().parent();
					if (linea.children(".infoI").length==0){	//si no existe el info
						$(".infoI").hide();
						$(".info").attr("src","/img/info.jpg");
						 linea.append('<div  class="infoI"></div>');
						 linea.children(".infoI").html('<div id="wait"><img src="'+rutaLoader+'" /></div>');
						linea.children(".dominio").children(".info").attr("src","/img/info_cerrar.jpg");
						
						$.ajax({	
							type: "POST",		
							url: "/index.php/pagerank/whois",	
							dataType: "json",
							data: 'url='+linea.children(".dominio").children(".url").attr("alt")+'&linea='+linea.attr("id"),
							success: function(msg){ 
								var l=msg["linea"]; 
								$("#"+l+">.infoI").html("");
								//$("#"+l+">.infoI").append('<p>Owner from: '+msg['country']+'</p>');
								$("#"+l+">.infoI").append('<p>Domain created: '+msg['created']+' , expires: '+msg['expires']+' , changed: '+msg['changed']+'</p>');
								var s="<p>Servers at: ";
								$.each(msg['nserver'],function(i){
										s=s+msg['nserver'][i]['key']+' ';
										s=s+'('+msg['nserver'][i]['value']+')   ';
								});
								s=s+'</p>';
								$("#"+l+">.infoI").append(s);
							},
							timeout: 5000,
							error: function(){$("#"+linea.attr("id")+">.infoI").html('<p>Datos no disponibles</p>');} 
						}); 
					}   
						 else if (linea.children(".dominio").children(".info").attr("src")=="/img/info_cerrar.jpg"){ // si existe y esta abierto, cerrarlo
									linea.children(".infoI").hide();	
									linea.children(".dominio").children(".info").attr("src","/img/info.jpg");
							 }		
									 else {	//si existe y esta cerrado, abrirlo
									
										$(".infoI").hide();
										$(".info").attr("src","/img/info.jpg");
										linea.children(".infoI").show();
										linea.children(".dominio").children(".info").attr("src","/img/info_cerrar.jpg");
									 }  
				});  
				
				
				
				
				var retornos=0; 
				var l=linea;
				$("#texto").val("").focus();
				$("#msgInfo").html("Searching Pagerank...");
				$.ajax({    //pagerank
					type: "POST",
					url: "/index.php/pagerank/prank",
					data: 'url='+u+'&linea='+l,
					dataType:"json",
					timeout: 8000,
					error: function(){
						$("#linea-"+l+">.google").html("N/D"); 
						if (++retornos==3) {mostrarIconos(l); alta("#linea-"+l);};	
					}, 
					success: function(msg){ 
						if (eval(msg)[1]==""){e="N/D"} else {e='<img src="/img/pagerank'+eval(msg)[1]+'.jpg" alt="'+eval(msg)[1]+'" title="'+eval(msg)[1]+'"/>';}; //nuevo
						$("#linea-"+eval(msg)[0]+">.google").html(e); 
						if (++retornos==3) {mostrarIconos(l); alta("#linea-"+l);};
					}

				});
				
				$.ajax({	//alexarank
					type: "POST",
					url: "/index.php/pagerank/arank",
					data: 'url='+u+'&linea='+l,
					dataType:"json",
					timeout: 8000,
					error: function(){
						$("#linea-"+l+">.alexa").html("N/D"); 
						if (++retornos==3) {mostrarIconos(l); alta("#linea-"+l);};	
					},
					success: function(msg){
						$("#linea-"+eval(msg)[0]+">.alexa").html(eval(msg)[1]); 
						if (++retornos==3) {mostrarIconos(eval(msg)[0]);alta("#linea-"+l); };	
					}
					
				});
				
				
				$.ajax({	//competerank
					type: "POST",
					url: "/index.php/pagerank/crank",
					data: 'url='+u+'&linea='+l,
					dataType:"json",
					timeout: 8000,
					error: function(){
						$("#linea-"+l+">.compete").html("N/D"); 
						if (++retornos==3) {mostrarIconos(l);alta("#linea-"+l); };	
					},
					success: function(msg){
						$("#linea-"+eval(msg)[0]+">.compete").html(eval(msg)[1]); 
						if (++retornos==3) {mostrarIconos(eval(msg)[0]);alta("#linea-"+l); };	
					}
				});
			};
			$("#texto").focus();


			return false;  // evitamos que se recargue la pagina.
		});
	});

	
	
	
	


	
	