$(document).ready( function() {
	$("div#content").find(".rate_box").each( function() {
		var rate = parseFloat($(this).text());
		if(rate>=7) {
			$(this).addClass("avg_g");
		} else if(rate>=4) {
			$(this).addClass("avg_y");
		} else {
			$(this).addClass("avg_r");
		}
	});
	$("#plot_more").click( function() {
		$("#hiden_plot").show();
		$(this).hide();
	});
	//Check and update the login page
	/*
 	* Login section details
 	*/
	
 	$("#logout").click( function (event) {
	 	event.preventDefault();
	 	$.cookie('display_name',null,{path:'/'});
	 	$.cookie('user_name',null,{path:'/'});
	 	$.cookie('u',null,{path:'/'})
	 	$("#logout").remove();
	 	$("#user_name_area").remove();
	 	$("#fb_logout").show();
	 	$("#fb_or").show();
	 	$("#login").show();
	 	$("#signup").show();
	 	//$("#logged").hide();
	 	// $("#logged_setting").hide();
 	});


	var user = $.cookie('display_name');
	var user_name = $.cookie('user_name');
	if($("#ignore_cookie").val()) {
		user =null;
	}
	/*if(fb_user) {
		if(!user_name) {
			$.getJSON('/auth/user/', function(jd) {
				if (jd.user_name) {
					$.cookie("user_name",jd.user_name,{path:'/'});
					$.cookie("display_name",jd.name,{path:'/'});
					// $("#logged").text(jd.name);
					//$("#login").hide();
					//$("#signup").hide();
					//$("#logged").attr("href",'/u/'+jd.user_name+'/'+jd.name);
					//$("#logged").show();
					// $("#fb_or").hide();
					//$("#fb_logout").show();
					$("#user_name_area").text(jd.name);
					$("#user_name_area").show();
				}
			});
		} else {
			//$("#logged").text(user);
			$("#user_name_area").hide();
			//$("#signup").hide();
			//$("#logged").attr("href",'/u/'+user_name);
			//$("#logged").show();
			//$("#fb_or").hide();
			//$("#fb_logout").show();
		}
	} else */
	if (user) {
		if($.cookie('u')) {
			$("#user_name_area").text($.cookie('display_name').replace(/\"/g,''));
			$("#user_name_area").show();
			$("#login").hide();
			$("#signup").hide();
			//$("#fb_logout").hide();
			//$("#fb_or").hide();
			//$("#logged").attr("href",'/u/'+$.cookie('user_name'));
			//$("#logged_setting").attr("href",'/u/'+$.cookie('user_name')+'/setting/');
			//$("#logged").show();
			//$("#logged_setting").show();
			$("#logout").show();
		}
	} else {
		$.getJSON('/auth/user/', function(jd) {
			if (jd.user_name) {
				if(!jd.name) {
					$.cookie("display_name",jd.user_name,{path:'/'});
					//$("#logged").text(jd.user_name);
				} else {
					$.cookie("display_name",jd.name,{path:'/'});
					//$("#logged").text(jd.name);
				}
				$.cookie('user_name',jd.user_name,{path:'/'});
				$("#user_name_area").text($.cookie('display_name').replace(/\"/g,''));
				$("#user_name_area").show();
				//$("#logged").attr("href",'/u/'+jd.user_name);
				//$("#logged_setting").attr("href",'/u/'+jd.user_name+'/setting/');
				//$("#fb_logout").hide();
				$("#login").hide();
				$("#signup").hide();
				//$("#fb_or").hide();
				//$("#logged").show();
				$("#logout").show();
				
				//$("#logged_setting").show();
			}
		});
	}

	/*
 	* Search query handling
 	*/
	$("#search_box").focus( function() {
		if ($(this).val() == 'Search movies') {
			$(this).val('');
		}
	});
	$("#search_box").blur( function() {
		if ($(this).val() == '') {
			$(this).val('Search movies');
		}
	});
	$("#search_box").keyup( function(e) {
		switch(e.keyCode) {
			case 38:
				// up
				e.preventDefault();
				moveSelection("up");
				break;
			case 40:
				// down
				e.preventDefault();
				moveSelection("down");
				break;
			case 13:
				// return
				e.preventDefault();
				var active = $("#search_result a span.active:first");
				if(active.length > 0) {
					document.location = active.parent().attr('href');
					$("#search_result").hide();
				}
				break;
			default:
				var query = $("input.search_box").val().replace(/[\\]+|[\/]+/g,"");
				if(query.length >0 ) {
					callsearch(query);
				} else {
					$("#search_result").hide();
				}
				break;
		}
	});

	$("html").click( function() {
		$("#search_result").hide();
	});
	//Filter implementation
	$('a.filter_link').live('mouseover',function() {
        //get the position of the placeholder element
        var pos = $(this).offset();
        var width = $(this).width();
        var height = $(this).height();
        var filter_con = 'filter_con_'+$(this).attr('name');
        //show the menu directly over the placeholder
        $("#"+filter_con).css( { "left": pos.left + "px", "top":(pos.top+24)+ "px" } );
        $("#"+filter_con).show();
    }).live('mouseleave',function() {
    	var filter_con = 'filter_con_'+$(this).attr('name');
        $("#"+filter_con).hide();
    });
});

function moveSelection(direction) {
		if($(":visible",$("#search_result")).length > 0) {
			var lis =  $("#search_result a");
			var active = $("#search_result a span.active:first");
			if(direction == "down") {
				if(active.parent().is(':last-child')) {
					start = lis.filter(":first");
				} else {
					start = active.parent().next();
				}
			} else {
				if(active.parent().is(':first-child')) {
					start = lis.filter(":last");
				} else {
					start = active.parent().prev();
				}
			}
			active.removeClass("active");
			start.children("span").addClass("active");
		}
	}
function callsearch(query) {
		$.get("/search/", { query: query}, function(data) {
			if(data.length >5) {
				var pos = $("#search_box").offset();
				$("#search_result").css( { "left": pos.left + "px", "top":(pos.top+37) + "px" } );
				$("#search_result").html(data);
				$("#search_result").show();
				$("#search_result a:first span").addClass("active");
			}
			if(data.length == 0) {
				$("#search_result").hide();
			}
		});
	}
function clearCookie() {
		$.cookie('display_name',null,{path:'/'});
		$.cookie('user_name',null,{path:'/'});
	}
function showLoggedUser() {
	var wi = $.cookie('u');
	if(!wi) {
		$.getJSON('/auth/user/', function(jd) {
			if (jd.user_name) {
				$("#user_name_area").text(jd.name);
				$("#user_name_area").show();
			}
		});
	} else {
		$("#user_name_area").text($.cookie('display_name').replace(/\"/g,''));
		$("#user_name_area").show();
	}
}
function checkLoggedinUser() {
	var wi = $.cookie('u');
	if(!wi) {
		$.getJSON('/auth/user/', function(jd) {
			if(jd.status == 'pending'){
				window.location="/";
			}else if (jd.user_name) {
				$("#user_name_area").text(jd.name);
				$("#user_name_area").show();
			} else {
				window.location="/";
			}
		});
	} else {
		$("#user_name_area").text($.cookie('display_name').replace(/\"/g,''));
		$("#user_name_area").show();
	}
}
