/* modal window class
 * normal modal and popup windows
 * author Samuil Gospodinov
 */



function PopUpMessage() {
	
	var popUpMessage = this;
	
	// Setup variables
	var htmlRole 			= 'popUpMessage';		//the value of role attribute example [<a href="javascript:;" role="popUpMessage">]
	var popUpHolder			= 'popUpHolder';		//the pop up holder element
	var popUpContent		= 'popUpContent';		//the pop up content element
	
	
	//init user interface functions
	this.initPopUpMessage = function(showOnLoad, targetWindow){
		
		$("a[role=" + htmlRole +"]").mouseenter(function(){
			popUpMessage.showPopUp(this);
		});
		
		$("a[role=" + htmlRole +"]").mouseleave(function(){
			popUpMessage.hidePopUp();
		});
		
		popUpMessage.addHtml();
				
	};
	
	/* Shows the pop up message
	 * returns void
	 * @param target (Object) - html message caller
	 *  */
	this.showPopUp = function(target){
		popUpHolderClass = '.' + popUpHolder;
		popUpContentClass = '.' + popUpContent;
		
       		message = $(target).attr('data-msg');
       		position = $(target).offset();
       		targetWidth = $(target).outerWidth();
       		targetHeight = $(target).outerHeight();
       		
       		$(popUpContentClass).html(message);
		$(popUpHolderClass).css('left', '-9999px');
		$(popUpHolderClass).css('display', 'block');
		
		
		popUpHeihgt = $(popUpHolderClass).outerHeight(); 
		popUpWidth = $(popUpHolderClass).outerWidth();
		
		
		posTop =  (position.top - targetHeight) - popUpHeihgt + 5;
		posLeft =  position.left + (targetWidth / 2) - (popUpWidth / 2);
		
		//console.log(targetHeight);
		//console.log(posTop);
		
		$(popUpHolderClass).css('display', 'none');
		$(popUpHolderClass).css('left', posLeft);
		$(popUpHolderClass).css('top', posTop);
		$(popUpHolderClass).stop(true, true).fadeIn();
		
	};
	
	/* Hides pop up message
	 * returns void
	 *  */
	this.hidePopUp = function(){
		$('.' + popUpHolder).stop(true, true).fadeOut();
		$('.' + popUpContent).html('');
	};
	
	
	/* adds the pop up message html
	 * returns void
	 *  */
	this.addHtml = function(){
		popUpHtml = '<div class="' + popUpHolder + '">' +
				'<div class="' + popUpContent + '">' +
				'</div>' +
				'<div class="bottomCorner"> <!-- --> </div>' +
			'</div>';
		$('body').append(popUpHtml);		
	};
}

var PopUpMessageObject = new PopUpMessage();

$(document).ready(function() {	
	PopUpMessageObject.initPopUpMessage();
});
