// Variables for saving global data
var results		= "";
var data_save	= "";

$(document).ready(function(){
	
	// Output hover for images in heart image
	addLayer();
	
	// If searchform submitted
	$("#search").submit(function(){
		
		$(".tablebody").html('<center><img class="searchload" src="img/loading.gif" /></center>');
		$("#paging").html("");
		
		// Get search options
		var activity = $("select[name=activity]").val();
		var district = $("select[name=district]").val();
		
		// Handle search data
		if( (activity != "undefined" || activity != "") && (district == "" || district == "undefined") ){
			param1 = activity;
			param2 = 0;
		} else if((activity == "undefined" || activity == "") && (district != "" || district != "undefined")){
			param1 = 0;
			param2 = district;
		} else if((activity != "undefined" || activity != "") && (district != "" || district != "undefined")){
			param1 = activity;
			param2 = district;
		} else{
			param1 = 0;
			param2 = 0;
		}
		
		// Call function "getSearchResults" with search options
		getSearchResults(param1, param2);
		
		return false;
	});
	
	$(".overlays").click(function(){
		UnTip();
		showInfo($(this).attr("id"));
	});
	
});
	
	function showInfo(id){
	
		// Get full image and info from id
		$.ajax({
			type: "POST",
			url: "/gallery/getcontent/",
			data: "submit_id="+id,
			success: function(data){
				// Check if results or error returned
				if(data == 0){
					alert("error");
				} else{
					data = eval('('+data+')');
					hideSearch();
					$("#toplayer_container img").hide();
					$("#toplayer_container img").attr("src", "/img/submitted/l_"+data[0].submit_key+".jpg").fadeIn("slow");
					$(".sub_name").html(data[0].name);
					$(".sub_comment").html(data[0].comment);
					$("#gallery_toplayer").fadeIn();
					
					setTimeout(function() {$("#gallery_toplayer").css({"margin-left" : -350});}, 120);
				}
				
			}
		});
	}

	function addLayer(){
		// Custom settings for each browser
		
		$(".heart_img").each(function() {
	
			var id = $(this).attr("id").replace(/img_/gi, "");
		
			ids['id_' + id]		= id;
			names['id_' + id ]		= $(this).parent().attr("rel");
			comment['id_' + id]		= $(this).attr("alt");
			positions['id_' + id]	= $(this).position();
			width['id_' + id]		= $(this).width();
			height['id_' + id]		= $(this).height();
		
		});
		
		var x = "";
		
		if(browser == "msie"){ // INTERNET EXPLORER
		
			for(var i in positions){
			
				if(comment[i].length > 70) {
				
					x = "...";	
				}
				else {
				
					x = "";
				}
			
				$("<img />")
				.attr("id", "ol_"+ids[i])
				.attr("class", "overlays")
				.attr("src", "/img/container.png")
				.attr("onMouseOver", "Tip('<b>"+names[i]+"</b><br/>"+comment[i].substr(0, 70)+ x +"', BGCOLOR, '#E4ECF7', BORDERCOLOR, '#DDDDDD', FONTCOLOR, '#000000');")
				.attr("onMouseOut", "UnTip();")
				.css({"top":"0", "left":"0", "position":"absolute", "z-index":"800", "border":"1px solid transparent", "margin-left":positions[i].left, "margin-top":positions[i].top-20, "width":width[i], "height":height[i]})
				.appendTo(".h_overlay");
			}
		}
		
		else if(browser == "mozilla"){ // MOZILLA
			var j = 1;
			var position_left	= "";
			var position_top	= "";
			var height_img		= "";
			
			for(var i in positions){
				
				if(comment[i].length > 70) {
				
					x = "...";	
				}	else {
				
					x = "";
				}
			
				if(j <= 6){
					position_top	= positions[i].top;
					position_left	= positions[i].left;
					height_img		= height[i];
				} else if(j > 6 && j <= 13){
					position_top	= "175px";
					position_left	= eval(positions[i].left);
					height_img		= eval(height[i]);
				} else if(j > 13 && j <= 20){
					position_top	= "230px";
					position_left	= eval(positions[i].left);
					height_img		= eval(height[i]);
				} else if(j > 20 && j <= 29){
					position_top	= "280px";
					position_left	= eval(positions[i].left);
					height_img		= eval(height[i]);
				} else if(j > 29 && j <= 39){
					position_top	= "320px";
					position_left	= eval(positions[i].left);
					height_img		= eval(height[i]);
				} else if(j > 39 && j <= 49){
					position_top	= "357px";
					position_left	= eval(positions[i].left);
					height_img		= eval(height[i]);
				} else if(j > 49 && j <= 58){
					position_top	= "395px";
					position_left	= eval(positions[i].left);
					height_img		= height[i];
				} else if(j > 58 && j <= 68){
					position_top	= "475px";
					position_left	= eval(positions[i].left);
					height_img		= eval(height[i]);
				} else{
					position_top	= "475px";
					position_left	= eval(positions[i].left);
					height_img		= eval(height[i]);
				}
				
				$("<img />")
				.attr("id", "ol_"+ids[i])
				.attr("class", "overlays")
				.attr("src", "/img/container.png")
				.attr("onMouseOver", "Tip('<b>"+names[i]+"</b><br/>"+comment[i].substr(0, 70)+x+"', BGCOLOR, '#E4ECF7', BORDERCOLOR, '#DDDDDD', FONTCOLOR, '#000000');")
				.attr("onMouseOut", "UnTip();")
				.css({"top":"0", "left":"0", "position":"absolute", "z-index":"800", "border":"1px solid transparent", "margin-left":positions[i].left, "margin-top": positions[i].top - 20, "width":width[i] - 5, "height":height[i]})
				.appendTo(".h_overlay");
				j++;
			}
			
		} else if(browser == "opera"){ // OPERA
			for(var i in positions){
			if(comment[i].length > 70) {
				
					x = "...";	
				}	else {
				
					x = "";
				}
				
				$("<img />")
				.attr("id", "ol_"+ids[i])
				.attr("class", "overlays")
				.attr("src", "/img/container.png")
				.attr("onMouseOver", "Tip('<b>"+names[i]+"</b><br/>"+comment[i].substr(0, 70)+x+"', BGCOLOR, '#E4ECF7', BORDERCOLOR, '#DDDDDD', FONTCOLOR, '#000000');")
				.attr("onMouseOut", "UnTip();")
				.css({"top":"0", "left":"0", "position":"absolute", "z-index":"800", "border":"1px solid transparent", "margin-left":positions[i].left, "margin-top":positions[i].top-20, "width":width[i], "height":height[i]})
				.appendTo(".h_overlay");
			}
		} else if(browser == "webkit"){ // WEBKIT
		
			for(var i in positions){
			if(comment[i].length > 70) {
				
					x = "...";	
				}	else {
				
					x = "";
				}
				
				$("<img />")
				.attr("id", "ol_"+ids[i])
				.attr("class", "overlays")
				.attr("src", "/img/container.png")
				.attr("onMouseOver", "Tip('<b>"+names[i]+"</b><br/>"+comment[i].substr(0, 70)+x+"', BGCOLOR, '#E4ECF7', BORDERCOLOR, '#DDDDDD', FONTCOLOR, '#000000');")
				.attr("onMouseOut", "UnTip();")
				.css({"top":"0", "left":"0", "position":"absolute", "z-index":"1000", "margin-left":positions[i].left, "margin-top":positions[i].top-20, "width":width[i], "height":height[i], "display" : "block"})
				.appendTo(".h_overlay");		
			}
		} 
		
		$(".overlays").click(function(){
			UnTip();
			showInfo($(this).attr("id"));
		}); 
	}
	
	function getSearchResults(activity, district){
	// This function is only called on a search
		
		// Show search window
		showSearch();
		
		// Get the search results
		$.ajax({
			type: "POST",
			url: "/main/search/",
			data: "activity="+activity+"&district="+district,
			success: function(data){
				$(".tablebody").html("");
				// Check if results or error returned
				if(data == 0){
					$(".tablebody").html('<center>Din sökning gav ingen träff, prova att bredda din sökning.</center>');
				} else{
					// Save the data to global variable
					data		= eval('('+data+')');
					data_save	= data;
					
					// Count pages with 10 results every page
					var count = 0;
					for(_data in data){ count++; }
					results = eval(Math.floor(count/10+1));
					
					// Call function "insertData" for adding data to page
					insertData(data);
				}
				
			}
		});
	}
	
	function insertData(data){
	// This function is only called on a search
		
		// Empty results and paging container
		$(".tablebody").html("");
		$("#paging").html("");
		
		// Create new paging
		for(var h = 1; h <= results; h++){
			if(h <= 5){
				if(results == 1){
				
				} else{
					if(h == 1){
						$("<span />").html(h+" ").attr("id", "current").appendTo("#paging");
					} else{
						$("<a />").html(h+" ").attr("onClick", "paging('"+h+"');").appendTo("#paging");
					}
				}	
			}
		}
		
		var start	= 1;
		var page	= 1;
		var j		= 1;
		
		// Add search results to page
		for(var i in data){
		
			if(start > 10){
				$("<tr />").html('<td class="activity"><a href="'+data[i].a_href+'"  target="_blank">'+data[i].activity+'</a></td> <td class="organizer"><a href="'+data[i].o_href+'"  target="_blank">'+data[i].organizer+'</a></td> <td class="start_date">'+data[i].time+'</td> <td class="activity_type">'+data[i].type+'</td>').addClass("p_"+page).addClass("paging").css({"display":"none"}).appendTo(".tablebody");
			} else{
				$("<tr />").html('<td class="activity"><a href="'+data[i].a_href+'"  target="_blank">'+data[i].activity+'</a></td> <td class="organizer"><a href="'+data[i].o_href+'"  target="_blank">'+data[i].organizer+'</a></td> <td class="start_date">'+data[i].time+'</td> <td class="activity_type">'+data[i].type+'</td>').addClass("p_"+page).addClass("paging").appendTo(".tablebody");
			}
			
			if(j == 10){ page++; j = 0;}
			start++;
			j++;
		}
	}
	
	function paging(page){ // UGLY
	// This function is called on every page change
	
		// Update current page hidden container and empty paging
		$("#current").html(page);
		$("#paging").html("");
		
		// Save page numbers
		var current		= parseInt(page);
		
		var previous	= current-1;
		var previous2	= current-2;
		var previous3	= current-3;
		var previous4	= current-4;
		
		var next		= eval(current+1);
		var next2		= eval(current+2);
		var next3		= eval(current+3);
		var next4		= eval(current+4);
		
		// Output correct paging
		if(results == 1){
			// If 1 page
			$("<a />").attr("onClick", "paging('"+current+"');").html(current).css({"color":"#f00"}).appendTo("#paging");
		}else if(results == 2){
			// If 2 pages
			if(current == 1){
				$("<span />").html(current).attr("id", "current").appendTo("#paging");
				$("<a />").attr("onClick", "paging('"+next+"');").html(next).appendTo("#paging");
			} else{
				$("<a />").attr("onClick", "paging('"+previous+"');").html(previous).appendTo("#paging");
				$("<span />").html(current).attr("id", "current").appendTo("#paging");
			}
		} else if(results == 3){
			// If 3 pages
			if(current == 1){
				$("<span />").html(current+" ").attr("id", "current").appendTo("#paging");
				$("<a />").attr("onClick", "paging('"+next+"');").html(next+" ").appendTo("#paging");
				$("<a />").attr("onClick", "paging('"+next2+"');").html(next2+" ").appendTo("#paging");
			} else if(current == 2){
				$("<a />").attr("onClick", "paging('"+previous+"');").html(previous+" ").appendTo("#paging");
				$("<span />").html(current+" ").attr("id", "current").appendTo("#paging");
				$("<a />").attr("onClick", "paging('"+next+"');").html(next+" ").appendTo("#paging");
			} else{
				$("<a />").attr("onClick", "paging('"+previous2+"');").html(previous2+" ").appendTo("#paging");
				$("<a />").attr("onClick", "paging('"+previous+"');").html(previous+" ").appendTo("#paging");
				$("<span />").html(current+" ").attr("id", "current").appendTo("#paging");
			}
		} else if(results == 4){
			// If 4 pages
			if(current == 1){
				$("<span />").html(current+" ").attr("id", "current").appendTo("#paging");
				$("<a />").attr("onClick", "paging('"+next+"');").html(next+" ").appendTo("#paging");
				$("<a />").attr("onClick", "paging('"+next2+"');").html(next2+" ").appendTo("#paging");
				$("<a />").attr("onClick", "paging('"+next3+"');").html(next3+" ").appendTo("#paging");
			} else if(current == 2){
				$("<a />").attr("onClick", "paging('"+previous+"');").html(previous+" ").appendTo("#paging");
				$("<span />").html(current+" ").attr("id", "current").appendTo("#paging");
				$("<a />").attr("onClick", "paging('"+next+"');").html(next+" ").appendTo("#paging");
				$("<a />").attr("onClick", "paging('"+next2+"');").html(next2+" ").appendTo("#paging");
			} else if(current == 3){
				$("<a />").attr("onClick", "paging('"+previous2+"');").html(previous2+" ").appendTo("#paging");
				$("<a />").attr("onClick", "paging('"+previous+"');").html(previous+" ").appendTo("#paging");
				$("<span />").html(current+" ").attr("id", "current").appendTo("#paging");
				$("<a />").attr("onClick", "paging('"+next+"');").html(next+" ").appendTo("#paging");
			} else{
				$("<a />").attr("onClick", "paging('"+previous3+"');").html(previous3+" ").appendTo("#paging");
				$("<a />").attr("onClick", "paging('"+previous2+"');").html(previous2+" ").appendTo("#paging");
				$("<a />").attr("onClick", "paging('"+previous+"');").html(previous+" ").appendTo("#paging");
				$("<span />").html(current+" ").attr("id", "current").appendTo("#paging");
			}
		} else{
			// If 5 pages or more
			if(previous == 0){
				// If current page - 1 don't exist
				$("<span />").html(current+" ").attr("id", "current").appendTo("#paging");
				$("<a />").attr("onClick", "paging('"+next+"');").html(next+" ").appendTo("#paging");
				$("<a />").attr("onClick", "paging('"+next2+"');").html(next2+" ").appendTo("#paging");
				$("<a />").attr("onClick", "paging('"+next3+"');").html(next3+" ").appendTo("#paging");
				$("<a />").attr("onClick", "paging('"+next4+"');").html(next4+" ").appendTo("#paging");
			} else if(previous != 0 && previous2 == 0){
				// If current page - 2 don't exists
				$("<a />").attr("onClick", "paging('"+previous+"');").html(previous+" ").appendTo("#paging");
				$("<span />").html(current+" ").attr("id", "current").appendTo("#paging");
				$("<a />").attr("onClick", "paging('"+next+"');").html(next+" ").appendTo("#paging");
				$("<a />").attr("onClick", "paging('"+next2+"');").html(next2+" ").appendTo("#paging");
				$("<a />").attr("onClick", "paging('"+next3+"');").html(next3+" ").appendTo("#paging");
			} else if(next == results){
				// If current page + 1 is last page
				$("<a />").attr("onClick", "paging('"+previous3+"');").html(previous3+" ").appendTo("#paging");
				$("<a />").attr("onClick", "paging('"+previous2+"');").html(previous2+" ").appendTo("#paging");
				$("<a />").attr("onClick", "paging('"+previous+"');").html(previous+" ").appendTo("#paging");
				$("<span />").html(current+" ").attr("id", "current").appendTo("#paging");
				$("<a />").attr("onClick", "paging('"+next+"');").html(next+" ").appendTo("#paging");
			} else if(current == results){
				// If current page + 2 is last page
				$("<a />").attr("onClick", "paging('"+previous4+"');").html(previous4+" ").appendTo("#paging");
				$("<a />").attr("onClick", "paging('"+previous3+"');").html(previous3+" ").appendTo("#paging");
				$("<a />").attr("onClick", "paging('"+previous2+"');").html(previous2+" ").appendTo("#paging");
				$("<a />").attr("onClick", "paging('"+previous+"');").html(previous+" ").appendTo("#paging");
				$("<span />").html(current+" ").attr("id", "current").appendTo("#paging");
			} else{
				// If current page is not near start or end
				$("<a />").attr("onClick", "paging('"+previous2+"');").html(previous2+" ").appendTo("#paging");
				$("<a />").attr("onClick", "paging('"+previous+"');").html(" "+previous+" ").appendTo("#paging");
				$("<span />").html(current+" ").attr("id", "current").appendTo("#paging");
				$("<a />").attr("onClick", "paging('"+next+"');").html(next+" ").appendTo("#paging");
				$("<a />").attr("onClick", "paging('"+next2+"');").html(next2+" ").appendTo("#paging");
			}
		}
		
		// Hide paging class and show new page results
		$(".paging").hide();
		$(".p_"+page).show();
	}
	
	function showSearch(){
		$("#gallery_toplayer").fadeOut();
		$("#search_results").fadeIn();
	}
	
	function hideSearch(){
		$("#search_results").fadeOut();
	}

