$(function() {	   
	//----Copy Button------
	$("input[type=button].copy").livequery("click",function() {
		if (window.clipboardData) {
			window.clipboardData.setData("Text", $('form.copyform input[type=text]').val());
		}else{
			var flashcopier = "flashcopier";
			
			if (!document.getElementById(flashcopier)) {
			  	var divholder = document.createElement("div");
			  	divholder.id = flashcopier;
			  	document.body.appendChild(divholder);
			}
			
			var divinfo = '<embed src="_clipboard.swf" FlashVars="clipboard='+escape($('form.copyform input[type=text]').val())+'" width="0" height="0" type="application/x-shockwave-flash"></embed>';
			
			document.getElementById(flashcopier).innerHTML = "";
			document.getElementById(flashcopier).innerHTML = divinfo;
		}		
		return false;
	});

//Aviso Previo

	$('div.aviso').livequery(function(){$(this).animar_aviso();});


//Borrar el formulario en safari.
	$('div.stars form').livequery(function(){$(this).hide();});
//Star Rating
	
	$("div.stars form").hide();
	$("div.stars").livequery(function(){
		$(this).star_rating();
	});
	

	$("#NameTag div.stars").livequery(function(){
		$(this).addClass("rated");
	});
	
	$("#NameTag div.stars a").livequery("click", function(){
		return false;
	});


	$(".vcard div.stars a").livequery("click", function(){
		if($(this).parents('div.stars').hasClass('rated')){
			return false;
		}else{
			var rate = $(this).text();
			var id = $(this).parents("div.stars")[0].name_id;
			var this_div = $(this).parents("div.vcard")[0];
			var span = $("h3 span",$(this).parents(".vcard")).html();
			var ajaxvote = {
				"url" : "ajax_vote.php",
				"type" : "POST",
				"data" : {"id":id, "rate": rate},
				"dataType" : "html",
				"timeOut" : "20000",
				"success" : function(data, xhr){
					
					// Firefox & mozilla family 
					data = data.replace(/\n/g,'');
					// IE and Opera 
					data = data.replace(/\s/g,' ').replace(/ ,/g,' ');

					
					var respuesta = $(data);
					var vcard = $("div.vcard", $(respuesta));
					var aviso = $("div.aviso", $(respuesta));
					
					if(span){
						$("h3", $(vcard)).prepend("<span>"+span+" </span>");
					}
					
					$("div.stars form", $(vcard)).hide();
						
					$(this_div).after(vcard).remove();
					
					$(aviso).appendTo(vcard);
					
					var set_id = $("input[name=id]",$("div#NameTag")).attr("value");
					if(set_id==id){
						var vcard2 = $(vcard).clone();
						$("input[name=user_rate]",$(vcard2)).remove();
						$("li.QtPeople",$("div#NameTag")).after($("li.QtPeople", $(vcard2))).remove();
						$("li.QtVote" ,$("div#NameTag")).after($("li.QtVote", $(vcard2))).remove();
						$("div.stars",$("div#NameTag")).after($("div.stars",$(vcard2))).remove();
					}
				},
				"error" : function(XHR, status){
					$("div.stars ol",this_div).show();
					$("div.wait").remove();
					var aviso_error = $('<div class="aviso"><p>Error al intertar conectar con el servidor</p></div>');
					$(aviso_error).appendTo(this_div);
				}
			};
			
			if ($.ajax(ajaxvote)){
				$("div.stars ol", $(this_div)).hide().after('<div class="wait">'+tx.vote+'</div>');
				return false;
			}
		}
	});

	// -+>o<+- SUBMIT NEW NAME -+>o<+- //
	
	$("li.NewName").livequery("click",function(){
	
		var ajaxdelcookie = {
			"url" : "ajax_newname.php",
			"type" : "GET",
			"data" : "delcookie=true",
			"dataType" : "html",
			"timeOut" : "20000",
			"success" : function(data, xhr){
	
				// Firefox & mozilla family 
				data = data.replace(/\n/g,'');
				// IE and Opera 
				data = data.replace(/\s/g,' ').replace(/ ,/g,' ');
				
				var respuesta = $(data);
				
				var nametag = $("div#NameTag",$(respuesta));
				$("div.stars form", $(nametag)).hide();
				
				$("div#NameTag ul").slideUp("fast", function(){
				$("div#NameTag").after(nametag).remove();
				});
			}
		};
		
		if($.ajax(ajaxdelcookie)){
			return false;
		}
	});
	
	$("form#SubmitName").livequery("submit",function(){
		var submitname = $("input[type=text]",$(this)).val();
		
		var form_submit_name = {
			"url" : "ajax_insert.php",
			"type" : "POST",
			"data" : {"name" : submitname},
			"dataType" : "html",
			"timeOut" : "20000",
			"success" : function(data, xhr){

				// Firefox & mozilla family 
				data = data.replace(/\n/g,'');
				// IE and Opera 
				data = data.replace(/\s/g,' ').replace(/ ,/g,' ');
				
				

				var respuesta = $(data);
				var nametag = $("div#NameTag",$(respuesta));
				var aviso = $('div#aviso',$(respuesta));
				var vcard = $('div#MainArea div.vcard', $(respuesta));
				var id_insertado = $("input[name=id]", $(nametag)).val();
				var aviso = $("div.aviso", $(respuesta));
				$("div.stars form",$(vcard)).hide();
				$("div.stars form",$(nametag)).hide();
				
				
				$("ul",nametag).hide();
				$("div#NameTag").after(nametag).remove();
				$("div#NameTag ul").slideDown('fast',function(){	
					$("div#MainArea .vcard").each(function(){
						var id_comparar = $("input[name=id]", $(this)).val();
						if(id_comparar == id_insertado){
						   $(this).remove();
						}
					});
					  
					$(vcard)
						.css("background","orange")
						.insertAfter("ul#filter")
						.animate({ backgroundColor: 'transparent' }, 2000);
				});
				
				if(aviso){$(aviso).insertBefore(nametag);}

			},
			"error" : function(XHR, status){
				$(button).val(button_text);
				$(button).removeAttr("disabled");
				var aviso = $('<div class="aviso"><p>'+tx.server_error+'</p></div>'); 
				$(aviso).insertBefore(nametag);
			}
		};
		
		if($.ajax(form_submit_name)){
			var nametag = $(this).parents('#NameTag');
			var button = $("input[type=submit]", $(this));
			var button_text = $(button).val();
		
			$(button).val(tx.wait);
			$(button).attr("disabled", "true");

			return false;
		}
	});
	
	//-Denunciar-
	//Detecto el estado inicial
	
	$("form.FlagForm").livequery("submit",function(){
		var this_form = $(this);
		var this_ajax = $("li.flag", $(this).parents('.vcard'));
		var query = $(this).formSerialize();
		var vcard = $(this).parents(".vcard");
		var flagsubmit = {
			"url" : "ajax_flag.php",
			"type" : "POST",
			"data" : query,
			"dataType" : "html",
			"success" : function(data){
				// Firefox & mozilla family 
				data = data.replace(/\n/g,'');
				// IE and Opera 
				data = data.replace(/\s/g,' ').replace(/ ,/g,' ');

				var respuesta = $(data);
				var aviso = $("div.aviso",$(respuesta));
				var	newform = $("form.FlagForm",$(respuesta));

				
				if($(newform)[0]){
					$(aviso).insertAfter($("legend", $(newform)));
					$(this_form).after(newform).remove();
				}else{
					$(this_ajax)[0].state = "closed";
					$(this_form).slideUp('fast',function(){
						$(this).remove();
						$(aviso).appendTo(vcard);
					});
				}
				
			}
		};
		
		if($.ajax(flagsubmit)){
			return false;
		}
	});
												
												   
												   
	
	$("li.flag").livequery("click",function(){

	var form = $("form.FlagForm", $(this).parents(".vcard"));	
	var this_ajax = $(this);
		if(!this.state){
			if($(form)[0]){
				this.state = "opened";
			}else{
				this.state = "closed";
			}
		}
		
		if(this.state == "closed"){
						
			var attr = $("a",$(this)).attr("href").split("?")[1];
			var vcard = $(this).parents("div.vcard");	
			var ajaxflag1 = {
				"url" : "ajax_flag.php",
				"type" : "GET",
				"data" : attr,
				"dataType" : "html",
				"timeOut" : "20000",
				"success" : function(data, xhr){
					// Firefox & mozilla family 
					data = data.replace(/\n/g,'');
					// IE and Opera 
					data = data.replace(/\s/g,' ').replace(/ ,/g,' ');
					
					var respuesta = $(data);
					var flagform = $("form.FlagForm", $(respuesta));
					var destino = $("ul",$(vcard));
					$(flagform).hide().insertAfter(destino).slideDown('fast', function(){
						$(this_ajax)[0].state = "opened";
					});
					
					
					
				},
				"error" : function(XHR, status){
					$(this_ajax)[0].state = "closed";
					var aviso_error = $('<div class="aviso"><p>'+tx.server_error+'</p></div>');
					$(aviso_error).insertAfter($(this_ajax).parents("ul"));
					return false;
				}
			};
	
	
			if($.ajax(ajaxflag1)){
				this.state = "opening";
				return false;
			}
		}

		
		if(this.state == "opened"){
			$(form).slideUp("fast");
			this.state = "hide";
			return false;
		}
		
		if(this.state == "hide"){
			this.state = "opening";

			$(form).slideDown("fast", function(){							
				$(this_ajax)[0].state = "opened";
			});
			return false;
		}

		if(this.state == "opening"){
			return false;
		}
		
	});
	
	$('a.cancel').livequery("click", function(){
		var this_ajax = $("li.flag", $(this).parents(".vcard"));
		$(this_ajax)[0].state = "hide";
		var form = $("form.FlagForm", $(this).parents(".vcard"));
		$(form).slideUp('fast');
		return false;
	});
	
$("input#name").focus();
});

(function($){
  $.fn.star_rating = function() {
    return this.each(function(){
			this.name_id = $("input[name=id]", $(this)).attr("value");
			this.name_rate = $('option:first-child', $(this)).attr("value");
		    var user_rate = $('input[name=user_rate]', $(this)).attr("value");
			this.user_rate = user_rate ? user_rate : false;  
			if ($(this).parents('#NameTag')[0]){this.user_rate = this.name_rate;}
			user_rate = null;
			$(this)
			   .append("<ol>"+
					   "<li class='current-rating'>"+this.name_rate+"</li>"+
					   "<li><a href='#' title='"+tx.s15+"' class='one-star'>1</a></li>"+
					   "<li><a href='#' title='"+tx.s25+"' class='two-stars'>2</a></li>"+
					   "<li><a href='#' title='"+tx.s35+"' class='three-stars'>3</a></li>"+
					   "<li><a href='#' title='"+tx.s45+"' class='four-stars'>4</a></li>"+
					   "<li><a href='#' title='"+tx.s55+"' class='five-stars'>5</a></li>"+
					   "</ol>");
		
			var width = ((this.user_rate ? this.user_rate : this.name_rate)*150/5) + "px";
			$("ol li.current-rating",$(this)).css("width",width);
    });
  }  
  
  
	$.fn.animar_aviso = function(id_timer){
		return this.each(function(){	
			$(this)
			.css("cursor","Pointer")
			.oneTime(10000, id_timer, function(){
				$(this).fadeOut("fast", function(){
					$(this).remove();
				});
			})
			.click(function(){
				$(this).stopTime(id_timer).fadeOut("fast", function(){
					$(this).remove();
				});
			});				
		});
	}
})(jQuery);