(function($){

var CommunityCalendar = {
   ondomready: function(){
   	CommunityCalendar.handleNav();
	
   },
   
   handleDatePreview: function(name, date)
   {
   	$("#"+name).html("Loading other events on that day ...<br/><div class='loaderIcon'></div>");
   	$("#"+name).load('eventList.php', {'date': date});
   
   /*
   	// setup the initial structure
   	if ($("#"+name+" h3").length)
   	{
   		// already exists
   		$("#"+name+" h3").html("Events on " + date);
   		
   	} else {
   		// create new structure
   		$("#"+name).append("<h3>Events on " + date + "</h3><ul id='eventsList'></ul>");
   	}
   */
   },	
   
   handleLookup: function(name, tbl, col) {
   	var delay = 250;
   	var minChar = 1;
   	
   	
   	
   	
   	$.getJSON("/getInputLookup.php?tbl="+tbl+"&col="+col,
   		function(data){
   			//var objPar = $("#"+name).parent();
   			var objPar = $("body");
   						
   			str = "<div id='menu_"+name+"' class='popupdropdown'>";
   			str += "<ul>";
   			
   			
			for(i=0;i<data.data.length;i++)
			{
				str += "<li>"+data.data[i]+"</li>";
			}
			
			str += "</ul>";
			str += "</div>";
			
			objPar.append(str);
			

			$("#menu_"+name).hide();
			$("#menu_"+name+" ul li").hide();

			$("#menu_"+name+" ul li").click(function() {
				$("#"+name).val($(this).html());
				$("#menu_"+name).hide();
			});

			$("#menu_"+name+" ul li").hover(function() {
				$(this).toggleClass("active", 0);
			}, function() {
				$(this).toggleClass("active", 0);
			});			
	   		
   		});	
   	
   	
   	
   	$("#"+name).focus(function() {
   		val = $(this).val();
   		if (val.length > minChar)
   		{
   			$("#"+name).keyup();
   		}
   	});
   	
   	/*
   	$("#"+name).click(function(e) {
   		popX = e.x;
   		popY = e.y;
   		
   		
   	});
   	*/

   	$("#"+name).blur(function() {
   		setTimeout('$("#menu_'+name+'").hide();', 500);
   	});

   	$("#"+name).keyup(function() {
   		val = $(this).val();
   		if (val.length >= minChar) {
   			atop = $("#"+name).offset().top+30;
   			aleft = $("#"+name).offset().left;
   			
   			$("#menu_"+name).css({position: "absolute", top: atop, left: aleft });
   			
   			$("#menu_"+name).show();
   					
   			// acceptable
   			divs = $("#menu_"+name+" ul li").hide();
   			divs.filter(function(index){
				var item=$(this); 			
				if (item.html().toLowerCase().indexOf(val.toLowerCase()) >= 0)
				{
					return 1;
				} else {
					return 0;
				}
   			}).show();
  			
   		}
   	});
   	
   	$("#"+name).change(function() {
   		//$("#menu_"+name).hide();
   	});
   
   },
   
   handleNav: function() {
   	$(".menu ul li:not(.active)").hover(function() {
   		$(this).toggleClass("hover", 1);
   	},function() {
   		$(this).toggleClass("hover", 0);
   	});
   },
   
   handleTicker: function(id) {
   	container = $("#"+id);
   	data1 = $("#"+id + " div.data");
	
	data2 = "<div class='data2'><ul>";
	
	dataWidth = 0;
	data1.find("li").each(function(i){
		dataWidth += $(this, i).width() + 30;		
		data2 += "<li>"+$(this, i).html();
	});
	
	data2 += "</ul></div>";
	container.append(data2);
	data2 = $("#"+id+ " div.data2");
	
	data2.width(dataWidth);
	data1.width(dataWidth);

	data2.css("left", dataWidth);
	
	time = 0.04 * dataWidth;
	
	//time /= 10;

	function doAnimation1(size, time)
	{
		data1.css("left", dataWidth);
		data1.animate({
			left: "-="+size*2
		}, time*1000*2, "linear", function() {
			doAnimation1(size, time);
		});

	}

	function doAnimation2(size, time)
	{
		data2.css("left", dataWidth);
		data2.animate({
			left: "-="+size*2
		}, time*1000*2, "linear", function() {
			doAnimation2(size, time);
		});

	}

	
	data1.animate({
		left: "-="+dataWidth
	}, time*1000, "linear", function() {
		doAnimation1(dataWidth, time);
	});
	
	data2.animate({
		left: "-="+dataWidth*2
	}, time*1000*2, "linear", function() {
		doAnimation2(dataWidth, time);
	});
	
   	
   }
}

window.CommunityCalendar = CommunityCalendar;

$(document).ready(function(){CommunityCalendar.ondomready();});

})(jQuery);

