(function (m, i) { // Prevent calls to Firebug from causing errors
    if (!window.console || !console.firebug) {
        window.console = {};
        for (i = 0; i < 16; i += 1) {
            window.console[m[i]] = function () {};
        }
    }
})('log debug info warn error assert dir dirxml group groupEnd time timeEnd count trace profile profileEnd'.split(' '));


(function($) {
	
	$.CONFIG = { debug: false
		, requiredMessage : 'Obligatoriskt f&auml;lt.'	     
    };
    
	$.fn.catFilterSetup = function() {
		
	    this.click(function(e) {
			e.preventDefault();
			var linkID = $(this).attr('id').split("link-"),
			thisID = linkID[1];
			
			if($(this).hasClass("selected")){
				$(this).removeClass("selected");
				$("#cat-"+thisID).removeAttr('checked');
				
			} else {
				$(this).addClass("selected");
				$("#cat-"+thisID).attr('checked', 'checked');
				if(thisID == 6){
					$("#link-7").removeClass("selected");
					$("#cat-7").removeAttr('checked');
				} else if(thisID == 7){
					$("#link-6").removeClass("selected");
					$("#cat-6").removeAttr('checked');
				}
			}
			
			

		});
		
	   return this;
	};
	// add to list event
	$.fn.addPost = function() {
		this.click(function(e){
			e.preventDefault();
			var postID = $(this).attr('id'),
			postURL = $(this).attr('href');
			$('<span/>',{id: 'wait', css: {margin: '2px 0px 0px 384px'}}).addClass('loading').insertBefore($(this));
		
			$.ajax({
				type: "POST",
				url: "/ajax",
				data: {ajaxfunction:'addPost',ID: postID,post_url: postURL},
				dataType: "json",
				success: function(msg){
					$("#wait").hide().remove();
					if(parseInt(msg.status)==1){
						$("#listFunctions").show();
						$("#emptyList").hide();
						$('<li id="listItem-' + msg.pId + '"><a href="/' + msg.url + '">' + msg.title +'</a></li>').appendTo('#myPosts');
					}
					else if(parseInt(msg.status)==0){
						$("#wait").hide().remove();
						$('<p class="errors">' + msg.txt + '</p>').insertAfter('#myPosts').delay(2000).fadeOut("fast");
					}
	
				}
			});
		});
		return this;
	};
	
	// like this post event
	$.fn.likePost = function() {
		this.bind('click', function(e) {
		//this.click(function(e){
			e.preventDefault();
			var postID = $('#welikeLink').attr('href'),
			_this = $('#welikeIcon');
			_this.addClass("welike-spinning");
			$.ajax({
				type: "POST",
				url: "/ajax",
				data: {ajaxfunction:'likePost',ID: postID, 'current' : $('#welikeIcon').attr('href')},
				dataType: "json",
				success: function(msg){
					_this.removeClass("welike-spinning");
					if(parseInt(msg.status)==1)
					{
						_this.unbind('click')
							.html(msg.txt)
							.css({'cursor':'default'})
							.bind('click', function(e) {
  								e.preventDefault();
  							});
  						$('#welikeLink').hide();
						
					}
					else if(parseInt(msg.status)==0)
					{
						//$("#err").fadeIn().html(msg.txt);
					}
	
				
				}
			});
		
		});
		return this;
	};
	
	$.fn.overLay = function(){
		$(this).bind('click',function(e){
			var Url = $(this).attr('href');
			e.preventDefault();
			if(!document.getElementById("modalOverlay")){
				// overlay doesent exist yet, lets create it
				var overlayObject = $("<div id='modalOverlay'>")
					.addClass("modaloverlay")
					.css("opacity","0.7")
					.appendTo("body");
				var external = $("<div id='external'>")
					.addClass("external")
					.appendTo("body")
					.load(Url,{'data':'nodata'});
			} else {
				$("#external, #modalOverlay").show();	
			}
		
		});
		return this;
	};
	
	$.fn.labelHandler = function() {
		$(this).live('focus', function(e) {
			var id = $(this).attr('id'); 
			$('label[for|='+id+']').css({'visibility':'hidden'});
		});
		
		$(this).live('blur', function(e) {
			var id = $(this).attr('id');
			if($(this).val().length == 0) $('label[for|='+id+']').css({'visibility':'visible'});

		});
		return this;
	};
	
	$.fn.aliasSetup = function(){
		
		if($(this).closest('div').size()==0) return
		var moveToID = $(this).closest('div').attr('id').split('-');
	    $(this).detach().insertBefore('#thecats-'+moveToID[1]).show();
		return this;
	};
	
	
	
})(jQuery);


$(document).ready(function() {
	if ($.browser.webkit)
		$('#wrapper').addClass('webkit');
	
	$('article div.content h3.alias').aliasSetup();	
	
	
	$.validator.messages.required = "&nbsp;";
	$.validator.messages.email = "&nbsp;";
	$.validator.messages.number = "&nbsp;";
	
	$("div.game ol li:even").css("background-color", "#f8f8f8");

	$('a.filterLink').catFilterSetup();
	$('a.addToList').addPost();
	$('a.welike').likePost();
	$('a.welikeLink').likePost();
	$('input.labelinside, textarea.labelinside').labelHandler();
	$('a.modalOverlay').overLay();
	
	$('a.rensaCookie').click(function(e){
		e.preventDefault();
		$.ajax({
			type: "POST",
			url: "/ajax",
			data: {ajaxfunction:'rensaCookies'}
		});
	});
	
	$("a.shareList").live('click',function(e){
		e.preventDefault();
		var _this = $(this),
		Url = $(this).attr("href");
		//alert(Url);
		$.ajax({
			type: "POST",
			url: "/ajax",
			data: {ajaxfunction:'saveList'},
			dataType: "json",
				success: function(msg){
					if(parseInt(msg.status)==1)
					{
						if(!document.getElementById("modalOverlay")){
							// overlay doesent exist yet, lets create it
							var overlayObject = $("<div id='modalOverlay'>")
								.addClass("modaloverlay")
								.css("opacity","0.7")
								.appendTo("body");
							var external = $("<div id='external'>")
								.addClass("external")
								.appendTo("body")
								.load(Url,{'data':msg.txt});
						} else {
							
							$("#external, #modalOverlay").show();	
						}
						//_this.html(msg.txt);
						
					}
					else if(parseInt(msg.status)==0)
					{
						//$("#err").fadeIn().html(msg.txt);
					}
	
				
				}
			
		});
	});
	
	$("a.printList").live('click',function(e){
		e.preventDefault();
		var _this = $(this),
		Url = $(this).attr("href");
		//alert(Url);
		$.ajax({
				type: "POST",
				url: "/ajax",
				data: {ajaxfunction:'saveList'},
				dataType: "json",
				success: function(msg){
					if(parseInt(msg.status)==1){
						document.location.href=msg.redirUrl+"?print=1";
					}
				}
			});
	});
			
			
	
	// handler for closing overlay
	$("a.closeModal, #modalOverlay").live('click',function(e){
		e.preventDefault();
		$("#external, #modalOverlay").hide();
	});
	$('#listFunctions a.eraseList').live('click',function(e){
		e.preventDefault();
		var _this = $(this);
		$('<div id="confirm"><p>&Auml;r du s&auml;ker p&aring; att du vill rensa listan?</p><a href="#" class="conFirmedEraseList">JA, RENSA</a><a href="#" class="closeConfirm">NEJ, JAG &Aring;NGRADE MIG</a></div>').addClass('confirm').insertAfter('div.myList');			

	});
	
	$('#confirm a.closeConfirm').live('click',function(e){
		e.preventDefault();
		$('#confirm').hide().remove();
	});
	
	$('a.printThis').bind('click',function(e){
		e.preventDefault();
		window.print();
	})
	
	$('#confirm a.conFirmedEraseList').live('click',function(e){
		e.preventDefault();
		$.ajax({
			type: "POST",
			url: "/ajax",
			data: {ajaxfunction:'eraseList'},
			success: function(msg){
				$('#myPosts').empty();
				$('#listFunctions').hide();
				$('#confirm').remove();
				$('<p id="emptyList">H&auml;r kan du l&auml;gga till dina favoritlekar. Listan kan du sen spara, skriva ut eller skicka till dina kompisar eller till dig sj&auml;lv. F&ouml;r att l&auml;gga till en lek g&aring;r du in p&aring; den lekens sida och klickar p&aring; L&auml;gg till i min lista.</p>').insertBefore('#myPosts');			

				
			}
		});
	});
	
	$('#comments a.reportComment').bind('click', function(e) {
		e.preventDefault();
  		var _this = $(this);
  		$('<span/>',{id: 'wait', css: {margin: '0px 0px 0px 420px'}}).addClass('loading').insertBefore($(this));
  		$.ajax({
				type: "POST",
				url: "/ajax",
				data: {ajaxfunction: 'reportComment', 'comment_id' : $(this).attr('href')},
				dataType: "json",
				success: function(msg){
					_this.unbind('click');
					$('#wait').hide();
					if(parseInt(msg.status)==1)
					{
						_this.html(msg.txt)
						.css({'cursor':'default','color':'#a4a4a4'})
						.bind('click', function(e) {
  							e.preventDefault();
  						});
					}
					else if(parseInt(msg.status)==0)
					{
						_this.html(msg.txt);
					}
	
				
				}
			});
		
	});
	
	
	$('#hiscore-submit').bind('click', function(e) {
		e.preventDefault();
  		var _this = $(this);
  		$('#hiscore_fields').show();
  		$(this).unbind('click')
  		.detach()
  		.insertAfter('#hiscore_fields')
  		.addClass("post")
  		.bind('click', function(e) {
  			e.preventDefault();
  			 if($("#hiscore_form").valid()){
  			 	$("#hiscore_form").submit();
  			 	$('<span/>',{id: 'wait', css: {margin: '64px 0px 0px 340px'}}).addClass('loading').insertBefore($("#hiscore-submit"));
  			 }else {
  				if(!document.getElementById("reqText"))
  					$('<p/>', {id: 'reqText'}).html($.CONFIG.requiredMessage).addClass('error').prependTo('#hiscore_form');
  			}
  		});
	});

	
	$("#hiscore_form").validate({	  
  		submitHandler: function(form) {
   			$.ajax({
				type: "POST",
				url: "/ajax",
				data: $('#hiscore_form').serialize(),
				dataType: "json",
				success: function(msg){
					$("#wait").hide().remove();
					if(parseInt(msg.status)==1){
						$("#hiscore-submit").unbind('click')
						.addClass("success")
						.html(msg.txt);
						$("#wait").hide().remove();
						//$("#message").html(msg.txt);
					}
					else if(parseInt(msg.status)==0){
						$("#wait").hide().remove();
						$("#message").fadeIn().html(msg.txt);
					}
	
				
				}
			});
 		}			
	});
	
	// 
	$('#submitbutton').bind('click', function(e) {
		e.preventDefault();
  		var _this = $(this),
  		form = $(this).attr("id");
  		if($("#commentform").valid())
  			$("#commentform").submit();
  		else {
  			if(!document.getElementById("reqTextComment"))
  				$('<p/>', {id: 'reqTextComment'}).html($.CONFIG.requiredMessage).addClass('error').prependTo('#commentform');
  		}
  		
	});
	
	$('#list-submit').live('click', function(e){
		e.preventDefault();
		if($("#list_form").valid()){
  			$("#list_form").submit();
  			$('<span/>',{id: 'wait', css: {margin: '0px 0px 0px 340px'}}).addClass('loading').insertBefore($(this));
  		} else {
  				if(!document.getElementById("reqText"))
  					$('<p/>', {id: 'reqText'}).html($.CONFIG.requiredMessage).addClass('error').prependTo('#list_form');
  		}
	});
	
	
	$('#campaign-submit').bind('click', function(e) {
		e.preventDefault();
  		var _this = $(this);
  		if($("#campaign_form").valid()){
  			$("#campaign_form").submit();
  			$('<span/>',{id: 'wait', css: {margin: '0px 0px 0px 335px'}}).addClass('loading').insertBefore($(this));
  		} else {
  			if(!document.getElementById("reqText"))
  				$('<p/>', {id: 'reqText'}).html($.CONFIG.requiredMessage).addClass('error').prependTo('#campaign_form');
  		}
  		
  		
	});
	
	$("#campaign_form").validate({	  
  		submitHandler: function(form) {
   			$.ajax({
				type: "POST",
				url: "/ajax",
				data: $('#campaign_form').serialize(),
				dataType: "json",
				success: function(msg){
					$("#wait").hide().remove();
					if(parseInt(msg.status)==1){
						$('#titleText').html('Tack f&ouml;r ditt tips!');
						$('#contentText').html('<p>Vi jobbar s&aring; fort vi kan f&ouml;r att l&auml;gga upp din lek. Du f&aring;r ett meddelande av oss n&auml;r det &auml;r klart. Tills dess, kolla in alla andra roliga lekar.</p>');
						$('#campaign_form').hide();
								
					}
					else if(parseInt(msg.status)==0){
						$("#message").html(msg.txt);
					}
				}
			});
 		}			
	});
	
	$("#commentform").validate();
		
	if(!$.browser.msie){
	// Font replacement
	Cufon.replace('article header h1', { fontFamily: 'Clarendon'});
	Cufon.replace('article header h2', { fontFamily: 'Clarendon'});
	Cufon.replace('.hiscore-widgets h3', { fontFamily: 'Clarendon'});
	Cufon.replace('.game h3', { fontFamily: 'Clarendon'});
	Cufon.replace('#comments h3', { fontFamily: 'Clarendon'});
	
	Cufon.CSS.ready(function() {
		$('article header h1').css("visibility","visible");
		$('article header h2').css("visibility","visible");
		$('.hiscore-widgets h3').css("visibility","visible");
		$('.game h3').css("visibility","visible");
		$('#comments h3').css("visibility","visible");
	});
	}
});
