
$(document).ready(function(){
	// using markItUp instead 
	//$("#preview").click(bs.preview);
	//$('#newParagraphBody').focus(bs.startPreview).blur(bs.stopPreview);
	$('.editLink, h2.paragraphHead').click(bs.openEdit);
	$('.commentLink').click(bs.openComment);
	//$('.fileUpload, .imageUpload').click(bs.popup);
	//$('.fileUpload, .imageUpload').click(bs.popupAjax);
	$('.fileUpload, .imageUpload').click(bs.openEdit);
	
	$('a.commentLink, a.editLink, a.timeLink, a.imageUpload, a.fileUpload, a.downloadLink, a.moveUpLink, a.moveDownLink, a.showTextDiff, a.hideTextDiff').tooltip({
		bodyHandler: function(){
			return bs.giveToolTip($(this).attr('class'));
		}, 
		showURL:false
	});


/*
	//fanzy alert box. 
	$('a.deleteLink').click(function(){
		$.prompt('<h3>Er du sikker på at du vil slette afsnittet?</h3>', {
			buttons:{Ok:true,Cancel:false},
      		prefix:'brownJqi', 
			callback:function(s){
				return s
			}
		});
	});
*/
	$('a.deleteLink').click(function(){
		//$.prompt('elle belle ni ti');
		if (confirm('Er du sikker på at du vil slette afsnittet?')){
			
		} else {
			return false;
		}
	});

	//$('.commentLink, .editLink, .timeLink, .imageUpload, .fileUpload, .downloadLink, .moveUpLink, .moveDownLink').tooltip();

	// add markup editor to textareas. 
	$('textarea#newParagraphBody, textarea[name="body"]').livequery(function(){$(this).markItUp(mySettings);});
	//$('textarea').markItUp(mySettings); 
	
	/*
	$('form#companyForm').submit(function(e) {
		e.preventDefault();
		console.log($('form#companyForm'));
		return false;
	});
	*/
	
});

// The BodyStorm Object 
var bs = {
		
	/* 
	// NOT USED 
	popup: function(event) {
		var url = event.target.pathname + "ajax/"
		$.showAkModal(url, 'Vælg fil til upload', 300, 200);
		//$.showAkModal(this.href, 'Vælg fil til upload', 300, 200);
		return false;	
	}, 
	// NOT USED 
	popupAjax: function(event){
		var url = event.target.pathname + "ajax/"
		$.get(url, function(data){
			bs.openPopWindow(data, "div pop", 380, 148);
		});
		return false;
	}, 
	// NOT IN USE 
	openPopWindow: function(content,title,box_width,box_height) {
	    var offset={};
	    var win_width =$(window).width();
	    var scrollToLeft=$(window).scrollLeft();
	    var win_height =$(window).height();
	    var scrollToBottom=$(window).scrollTop();
	   
		var closeImgUrl = "/site_media/js/cross.png";
		var style = "padding-top:0px;border:1px solid black;background-color:#FFF;position: absolute;z-index:1000;display:none;";
	    var style2 = "background-color:#ff4500;color:white;display:block;padding-top:0px;margin-top:0px;font-family:georgia;";
	
		//$('body').append("<div id='ak_modal_div' style='"+style+"' ><div style='background-color:#ff4500;color:white;display:block;padding-top:0px;margin-top:0px;font-family:georgia;'> <b>"+title+"</b><img src='"+ closeImgUrl +"' id='close' style='position:absolute;cursor:pointer;'></div><iframe width='"+box_width+"' height='"+box_height+"'  frameborder=0 marginwidth='0' marginheight='0' scrolling='NO'  name='frmTest' src='"+navurl+"'></iframe></div>");

		var appendbody = "<div id='ak_modal_div' style='"+style+"' >"; 
		appendbody += "<div style='"+ style2+"'>";
		appendbody += "<b>"+title+"</b>";
		appendbody += "<img src='"+ closeImgUrl +"' id='close' style='position:absolute;cursor:pointer;'>";
		appendbody += "</div>";
		appendbody += "<div id='popContent' style='height:"+ box_height +"px;width:"+box_width+"px;background-color:white;'>"; // height width  
		//appendbody += content;
		appendbody += "</div>";
		appendbody += "</div>";

		$('body').append(appendbody);
		$('#popContent').append(content);

	    $('#ak_modal_div').css({left:(((win_width/2-box_width/2))+scrollToLeft)+'px',top:(((win_height/2-box_height/2))+scrollToBottom)+'px'});
	  
	    $('#close').click( function() {
	       // 
	       $('#ak_modal_div').Puff(500);
	       $('#ak_modal_div').remove();
	        $.dimScreenStop();
	    });
	
	    $.dimScreen(500, 0.7, function() {
			$('#ak_modal_div').Grow(500);
	    });
	    
		var offset = {}
	    $("#ak_modal_div").offset({ scroll: false }, offset)

  	    X_left=offset.left+box_width-16;
	    X_top=offset.top-1;

	    $('#close').css({left:X_left,top:X_top});
	},
	*/
	
	giveToolTip: function(inclass) {
		switch(inclass){
			case "commentLink":
				return "Tilføj en kommentar";
				break;
			case "editLink":
				return "Redigér denne paragraf";
				break;
			case "timeLink": 
				return "Tidslinje for paragraffen";
				break;
			case "imageUpload": 
				return "Tilføj / redigér billede";
				break;
			case "fileUpload":
				return "Tilføj en fil til paragraffen";
				break;
			case "downloadLink": 
				return "Download fil";
				break;
			case "moveUpLink": 
				return "Flyt denne paragraff op";
				break;
			case "moveDownLink": 
				return "Flyt denne paragraf ned";
				break;
			case "showTextDiff": 
				return "Vis seneste ændringer";
				break;
			case "hideTextDiff": 
				return "Skjul seneste ændringer";
				break;
			default: 
				return "No tooltip today...";
		} 
	}, 
	
	openComment: function(event){
		$.get(event.target.href, function(data){
			$('.commentForm').remove();
			$($(event.target).parents()[2]).after(data); // id of form "p_1" class paragraph
		});
		return false;
	},
	
	// Edit Paragraph Functions 
	openEdit: function(event){
		/*** Problem: pathname is without initial '/' in IE 
		* IE:  var url = "/" + event.target.pathname + "ajax/"
		* FX:  var url = event.target.pathname + "ajax/"
		* solution? Use event.target.href... 
		***/ 

		var url = event.target.href + "ajax/"
		var pId = $(event.target).parents()[1].id; /// the id is a number - class paragraphActions 

		$.get(url,{}, function(data){
			bs.updateParagraph(pId, data);
		});
		return false;
	}, 
	closeEdit: function(pId){
		$("#edit_p_"+pId).slideUp(function(){$(this).remove();});
		$("#p_"+pId).slideDown();
	},
	
	updateParagraph: function(pId, newContent){
		//$("#p_"+ pId).empty().append(newContent);
		$("#p_"+ pId).slideUp();
		$("#p_"+ pId).after(newContent);
		$('#edit_p_'+pId).hide().slideDown();
			

		//$("#p_"+ pId).hide().after(newContent);
		
		//$("#p_"+ pId).after($(newContent).hide().slideDown());		
	}, 	
	
	// New Paragraph Preview Functions. 
	startPreview: function(){
		//$.timer(7000, bs.preview(timer));
		bs.timerId = setInterval(bs.preview, 5000);
		//console.log("focus");
	}, 
	stopPreview: function(){
		if(bs.timerId!=undefined){ 
			clearInterval(bs.timerId);
		};
		//console.log("stop");
	},
	preview: function(){
		var postdata = $("#newParagraphBody").attr('value');
		//console.log(postdata);
		//******************************* change post url prefix.  
		$.post('/intern/preview/', {data: postdata}, function(data){
			var head = $('#newParagraphHead').attr('value');
			// console.log(data);
			$('#previewArea').empty().append('<div id="previewAreaInner"><h2>'+ head+'</h2>'+data+'</div>');
		});	
	}
};

// Timer function - not in use 
/* 
jQuery.timer = function (interval, callback) {
	var interval = interval || 100;

	if (!callback)
		return false;
	_timer = function (interval, callback) {
		this.stop = function () {
			clearInterval(self.id);
		};
		this.internalCallback = function () {
			callback(self);
		};
		this.reset = function (val) {
			if (self.id)
				clearInterval(self.id);
			
			var val = val || 100;
			this.id = setInterval(this.internalCallback, val);
		};
		this.interval = interval;
		this.id = setInterval(this.internalCallback, this.interval);
		var self = this;
	};
	return new _timer(interval, callback);
};
*/