
if(jQuery)( function() {
	$.extend($.fn, {
		
		dateInput: function(o) {
			
			$(this).each( function() {
				
				var type = o.type;
				var leftEl = $("#"+o.left);
				var show = 0;
				var element = $(this);
				
				$(this).css("cursor","pointer");
				
				$(this).focus(function(){
					$(this).blur();
				});
				$(this).click(function(){
					showDrop();
				});
				
				var holder = document.createElement("div");
				holder = $(holder);
				holder.addClass("dateinput");
				
				var itemHolder = document.createElement("ul");
				itemHolder = $(itemHolder);
				if(o.type == "d"){
					for(i=1;i<=31;i++){
						var li = document.createElement("li");
						li = $(li);
						a=i;
						if(i == $(this).val())
							li.addClass("selected");
						li.addClass("day");
						li.html(a);
						//add onclick handler
						li.click(function(){
							element.removeClass("default");
							$(this).parent(0).find("li").removeClass("selected");
							$(this).addClass("selected");
							element.val($(this).html());
							hideDrop();
						});
						itemHolder.append(li);
					}
					holder.append(itemHolder);
				}
				
				if(o.type == "m"){
					if(!$(this).hasClass("nomessage")){
						var input = $(this); 
						$.ajax({
						   type: "POST",
						   url: "/conf/tools/months",
						   data: "",
						   success: function(msg){
						   		var ob = JSON.parse(msg);
						   		var val = '';
						   		for(i=1;i<=12;i++){
						   			var li = document.createElement("li");
									li = $(li);
									li.addClass("month");
									li.html(ob[i]);
									
									if($("#"+input.attr("id")+"h").val() == i){
										li.addClass("selected");
										val = ob[i];
									}
									li.attr("rel",i);
									
									li.click(function(){
										element.removeClass("default");
										$(this).parent(0).find("li").removeClass("selected");
										$(this).addClass("selected");
										$("#"+element.attr("id")+"h").val($(this).attr("rel"));
										element.val($(this).html());
										hideDrop();
									});
									itemHolder.append(li);
						   		}
						   		if(val){
						   			input.val(val);
						   			if(input.hasClass("default"))
						   				input.removeClass("default");
						   		}
						   		holder.append(itemHolder);
						   }
						});
					}
				}
				if(o.type == "y"){
				
					for(i=1995;i>1910;i--){
						var li = document.createElement("li");
						li = $(li);
						li.addClass("year");
						a=i;
						li.html(a);
						if(i == $(this).val())
							li.addClass("selected");
						//add onclick handler
						li.click(function(){
							element.removeClass("default");
							$(this).parent(0).find("li").removeClass("selected");
							$(this).addClass("selected");
							element.val($(this).html());
							hideDrop();
						});
						itemHolder.append(li);
					}
					holder.append(itemHolder);
				}
				$("#container").append(holder);
				
				
				function showDrop(){
					
					var left = leftEl.position().left;
					var top = element.position().top+element.height()+8;
					holder.css("left",left);
					holder.css("top",top);
				
					if($(".dateinput.active").length > 0){
						$(".dateinput.active").fadeOut(200,function(){
						$(this).removeClass("active");
							holder.fadeIn(500);
						});
					}else{
						holder.fadeIn(500);
						holder.addClass("active");
					}
				}
				function hideDrop(){
					holder.fadeOut(200);
					holder.removeClass("active");
				}
				function startHideTimeout(){
				
				}
				function stopHideTimeout(){
				
				}
				
			});
			return $(this);
		}
		
	});
})(jQuery);
$(document).ready(function(){
	$(document).click(function(e){
		targ = $(e.target);
		if(targ.is("li") || targ.is("ul") || targ.hasClass("datedrop")){
		
			if(targ.parent(0).parent(0).hasClass("dateinput") || targ.parent(0).hasClass("dateinput") || targ.hasClass("datedrop")){
			}else{
				$(".dateinput").fadeOut(200);
				$(".dateinput").removeClass("active");
			}
		}else{
			$(".dateinput").fadeOut(200);
			$(".dateinput").removeClass("active");
		}
		
	});
				
});
