var build_url = function(filter_type, filter_value) {
	var search_string = '';
	var search_within = '';
	var find_with = '';
	var search_in = '';
	var show_only = '';
	var category_ids = '';
	var category_find_with = '';
	var studio_ids = '';
	var series_ids = '';
	var director_ids = '';
	var star_ids = '';
	var package_ids = '';
	var page_sort  = '';
	$("div.search_string").each(function() {
		search_string += $(this).attr("search_string")+' ';
	});
	if (search_string == '') {
		$("div.search_string_disabled").each(function() {
			search_string += $(this).attr("search_string")+' ';
		});
	}
	if (typeof($("#search_string").val()) != 'undefined' && (search_string != '' || $("#search_string").val() != '')) {
		search_string = $("#search_string").val();
	}
	else {
		search_string = search_string.slice(0,-1);
	}
	$("img.search_within").each(function() {
		if (typeof($("#search_within").val()) != 'undefined' && ($("#search_within").val().toUpperCase() != $(this).attr("search_within").toUpperCase())) {
			search_within += $(this).attr("search_within")+'::';
		}
	});
	if (typeof($("#search_within").val()) != 'undefined' && $("#search_within").val() != '') {
		search_within += $("#search_within").val()+'::';
	}
	search_within = search_within.slice(0,-2);
	if (typeof($(".find_with:checked").val()) != 'undefined') {
		find_with = $(".find_with:checked").val();
	}
	else {
		find_with = $("#find_with").text();
	}
	if (typeof($(".search_in:checked").val()) != 'undefined') {
		search_in = '';
		$(".search_in:checked").each(function() {
			search_in += $(this).val()+',';
		});
		search_in = search_in.slice(0,-1);
	}
	else {
		search_in = $("#search_in").text();
	}
	if (typeof($(".show_only:checked").val()) != 'undefined') {
		show_only = '';
		$(".show_only:checked").each(function() {
			show_only += $(this).val()+',';
		});
		show_only = show_only.slice(0,-1);
	}
	else {
		show_only = $("#show_only").text();
	}
	if (typeof($("#selected_category_id_dropdown").val()) != 'undefined') {
		$("#selected_category_id_dropdown").find("option").each(function() {
			category_ids += $(this).val()+',';
		});
		category_ids = category_ids.slice(0,-1);
		category_find_with = $(".category_find_with:checked").val();
	}
	else {
		$("img.category_filter").each(function() {
			category_ids += $(this).attr('category_id')+',';
		});
		category_ids = category_ids.slice(0,-1);
		category_find_with = $("#category_find_with").text();
	}
	if (typeof($("#selected_studio_id_dropdown").val()) != 'undefined') {
		$("#selected_studio_id_dropdown").find("option").each(function() {
			studio_ids += $(this).val()+',';
		});
		studio_ids = studio_ids.slice(0,-1);
	}
	else {
		$("img.studio_filter").each(function() {
			studio_ids += $(this).attr('studio_id')+',';
		});
		studio_ids = studio_ids.slice(0,-1);
	}
	if (typeof($("#selected_director_id_dropdown").val()) != 'undefined') {
		$("#selected_director_id_dropdown").find("option").each(function() {
			director_ids += $(this).val()+',';
		});
		director_ids = director_ids.slice(0,-1);
	}
	else {
		$("img.director_filter").each(function() {
			director_ids += $(this).attr('director_id')+',';
		});
		director_ids = director_ids.slice(0,-1);
	}
	if ($("#star_ids").text() != '') {
		star_ids = $("#star_ids").text();
	}
	if ($("#package_ids").text() != '') {
		package_ids = $("#package_ids").text();
	}
	if ($("#page_sort").text() != '') {
		page_sort = $("#page_sort").text();
	}
	
  location.href = 'search.php?page_sort='+page_sort+'&search_string='+search_string+'&search_within='+search_within+'&find_with='+find_with+'&search_in='+search_in+'&show_only='+show_only+'&category_ids='+category_ids+'&category_find_with='+category_find_with+'&studio_ids='+studio_ids+'&director_ids='+director_ids+'&star_ids='+star_ids+'&package_ids='+package_ids;
};

var show_filter = function (obj, type){
	obj.filter(":image").hide();
	var $filter_array = [];
	switch(type) {
		case 'category':
			$filter_array = ['category','categories','155px'];
		break;
		case 'studio':
			$filter_array = ['studio','studios','120px'];
		break;
		case 'director':
			$filter_array = ['director','directors','120px'];
		break;
	}
	$(".hide_"+$filter_array[1]).show();
	if ($("#"+$filter_array[0]+"_id").html() == '') {
		$("#"+$filter_array[1]).css({"height":$filter_array[2]});
		$("#"+$filter_array[0]+"_id").css({"height":"80px","padding-top":"5px"});
		$("#"+$filter_array[0]+"_id").load('search_handler.php',{action:'get_'+$filter_array[0]+'_list',selected:''}, function(){
			$("#"+$filter_array[0]+"_id").css({"background":"#ffffff"});
			$("#"+$filter_array[0]+"_id").show();
		});
	}
	else {
		$("#"+$filter_array[1]).css({"height":$filter_array[2]});
		$("#"+$filter_array[0]+"_id").css({"height":"80px","padding-top":"5px"});
		$("#"+$filter_array[0]+"_id").show();
	}
};
var hide_filter = function (obj, type){
	obj.hide();
	switch(type) {
		case 'category':
			$filter_array = ['category','categories'];
		break;
		case 'studio':
			$filter_array = ['studio','studios'];
		break;
		case 'director':
			$filter_array = ['director','directors'];
		break;
	}
	$("#"+$filter_array[1]).css({"height":"25px"});
	$("#"+$filter_array[0]+"_id").css({"height":"0px"});
	$(".show_"+$filter_array[1]).show();
	$("#"+$filter_array[0]+"_id").hide();
};

var copy_to_list = function (from, to){
	$("#"+from).find(':selected').each(function (index, element) {
	    var select_element = $(element);
	    if (select_element.val()) {
	    	select_element.appendTo("#"+to);
	    }
	});
};
var save_search = function (search_string, search_url){
	$.post("search_handler.php",{
		action: 'save_search',
		search_string: escape(search_string),
		search_url: escape(search_url)},
 	function(data){
			$("#mySearchList").append(data.user_search_content);	
 	}, "json");
};
var delete_search = function (search_id){
	$.post("search_handler.php",{
		action: 'delete_search',
		search_id: search_id},
 	function(data){
		$("#s"+data.search_id).remove();
 	}, "json");
};
$(function() {
	$("#search_string").focus();
	$("#search_within").focus();

	if ($("#category_ids").text() != '') {
		$("img.show_categories").hide();
		$("img.hide_categories").show();
		$("#categories").css({"height":"155px"});
		$("#category_id").css({"height":"80px","padding-top":"5px"});
		$("#category_id").load('search_handler.php',{action:'get_category_list', selected:$("#category_ids").text()}, function(){
			$("#category_id").css({"background":"#ffffff"});
			$("#category_id").show();
		});
	}
	if ($("#studio_ids").text() != '') {
		$("img.show_studios").hide();
		$("img.hide_studios").show();
		$("#studios").css({"height":"120px"});
		$("#studio_id").css({"height":"80px","padding-top":"5px"});
		$("#studio_id").load('search_handler.php',{action:'get_studio_list', selected:$("#studio_ids").text()}, function(){
			$("#studio_id").css({"background":"#ffffff"});
			$("#studio_id").show();
		});
	}
	if ($("#director_ids").text() != '') {
		$("img.show_directors").hide();
		$("img.hide_directors").show();
		$("#directors").css({"height":"120px"});
		$("#director_id").css({"height":"80px","padding-top":"5px"});
		$("#director_id").load('search_handler.php',{action:'get_director_list', selected:$("#director_ids").text()}, function(){
			$("#director_id").css({"background":"#ffffff"});
			$("#director_id").show();
		});
	}
	$("#sphinx_search").keydown(function(event) {

		var focused = $("#words:focus");
		var input_has_focus = false;
		if (focused != null && focused.length > 0) { 
			input_has_focus = true; 
		}
		if (event.keyCode == 13) {
			if (input_has_focus == true) {
				$("#search_submit").submit();
			}
			else {
				build_url();
			}
		}
	});
	$("#sphinx_search").click(function(event) {
		var $target = $(event.target);
		if ($target.hasClass("search_within")) {
			$target.parent().hide('slide', {direction: 'left'}, 500, function(){
				$target.remove();
				build_url();
			});
		}
		if ($target.hasClass("search_string")) {
			$("#search_within_breadcrumbs").hide('slide', {direction: 'left'}, 500, function(){
				$("#sphinx_search").find(".search_within").remove();
				build_url();
			});
		}
		if ($target.hasClass("suggestions")) {
			$("#sphinx_search").find(".search_string").attr('class', 'search_string_disabled');
			$("#search_string").val($target.attr('suggested_word'));
			build_url();
		}
		if ($target.hasClass("search_within_button") || $target.hasClass("search_for_button")) {
			build_url();
		}
		if ($target.hasClass("category_filter")) {
			$target.parent().hide('slide', {direction: 'left'}, 500, function(){
				$target.remove();
				build_url();
			});
		}
		if ($target.hasClass("studio_filter")) {
			$target.parent().hide('slide', {direction: 'left'}, 500, function(){
				$target.remove();
				build_url();
			});
		}		
		if ($target.hasClass("director_filter")) {
			$target.parent().hide('slide', {direction: 'left'}, 500, function(){
				$target.remove();
				build_url();
			});
		}		
		if ($target.hasClass("copy_to_list")) {
			copy_to_list($target.attr('from_list'),$target.attr('to_list'));
		}
		if ($target.hasClass("show_categories")) {
			show_filter($target,'category');
		}
		if ($target.hasClass("hide_categories")) {
			hide_filter($target,'category');
		}
		if ($target.hasClass("show_studios")) {
			show_filter($target,'studio');
		}
		if ($target.hasClass("hide_studios")) {
			hide_filter($target,'studio');
		}
		if ($target.hasClass("show_directors")) {
			show_filter($target,'director');
		}
		if ($target.hasClass("hide_directors")) {
			hide_filter($target,'director');
		}
	});
});
