

jQuery.fn.repositionable = function(completeFunction) {
	return this.each(function(){
		draggableOptions = {
			helper:'original',
			containment:this,
			stop:function(event, ui) {
				//log("position.x = " + ui.position.left);
				completeFunction(this, ui.position);
			}
		}
		$(".draggable").draggable( draggableOptions );
		// var $kids = $(this).children(".draggable");
		// $kids.draggable( draggableOptions );
	});
};

jQuery.fn.mapEvent = function(completeFunction) {
	return this.each(function(){
		log($(this).attr('href'));
		
		$(this).click( function(e) { 
			log(this);
		
			$url = $(this).attr('href');
		
			$ajaxOptions = {
				type: "POST",
				cache: false,
				url: './index.php?page=meet-ajax',
				data: $url.substring(1) + "&ajax=FALSE",
				success: function(data, textStatus) {
					log('mapEvent.success...');
					log(data);
					log(textStatus);
					$('#content').html(data);
					initAreaMap();
				}
			};
		
			$.ajax($ajaxOptions);
			e.preventDefault();
		});
	});
};

function savePosition(elem, position) {
	// Set the value of the hidden element here
	//log("BEGIN savePosition:");
	//log(elem);
	//$("#eventData").children("[name=x]").val(position.left);
	$("#eventData").children("fieldset").children("[name=x]").val(position.left);
	$("#eventData").children("fieldset").children("[name=y]").val(position.top);
	if($(elem).hasClass("type2")) {
		$("#eventData").children("fieldset").children("[name=eventType]").val("in-house");
	}
	else {
		$("#eventData").children("fieldset").children("[name=eventType]").val("campus");
	}
	//log("END savePosition:");
}

$(document).ready(function () {
	// If the page is in Admin mode then these will run
	$('.map.admin').repositionable(savePosition);
	$('.dot.admin').mousedown(function(e){
			$(".dot.admin.active").removeClass("active");
			$(this).addClass("active");
			savePosition(this, $(this).position())
		});
		
	// If the page is in Client mode then these will run
	initAreaMap();
});

function initAreaMap() {
	// log( $('.list_month a') );
	// log( $('.active-day a') );
	// log( $('.dot a') );
	
	$('.list_month a').mapEvent();
	$('.active-day a').mapEvent();
	$('.dot a').mapEvent();	
}

function log(msg) {
	try {
		console.log(msg);
	}
	catch(e) {
		
	}
}
