//defaults
var _popup = { state:0, masker:{ show:true, opacity:'0.6' }, speed:500, closeicon:true };

_popup.create = function(config){
	for(var p in config){ _popup[p] = config[p]; }

	//create / setup elements
	if(!document.getElementById('jq-masker')){
		var elements = { 'jq-masker':'div', 'jq-popup':'div' };
		for(var p in elements){
  			$('<'+elements[p]+' id="'+p+'"></'+elements[p]+'>').prependTo("body");
		}
		
		$("#jq-masker").click(function(){
			_popup.close();
		});

		//Press Escape event!
		$(document).keypress(function(e){
			if(e.keyCode == 27) _popup.close();
		});
	}
	
	if(_popup.state == 0){
		//control animation
		if(_popup.masker.show) $("#jq-masker").css({  "opacity": _popup.masker.opacity  }).fadeIn(_popup.speed);
		$('#jq-popup').empty().append(_popup.html).fadeIn((_popup.speed*2));
		
		//center popup
		_popup.center();
		
		if(_popup.autohide){
			if(_popup.masker.show) $('#jq-masker').delay(_popup.autohide).fadeOut((_popup.speed*2));
			$('#jq-popup').delay(_popup.autohide).fadeOut(_popup.speed);
		}else{
			_popup.state = 1;
		}
	}
}

//centering popup
_popup.center = function(){
	//request data for centering
	var windowWidth = document.documentElement.clientWidth;
	var windowHeight = document.documentElement.clientHeight;
	var popupHeight = $("#jq-popup").height();
	var popupWidth = $("#jq-popup").width();

	//centering
	$("#jq-popup").css({
		"position": "absolute",
		"top": windowHeight/2-popupHeight/2,
		"left": windowWidth/2-popupWidth/2
	});
	
	//only need force for IE6
	$("#jq-masker").css({
		"height": windowHeight
	});
}
 
_popup.close = function(){  
	//disables popup only if it is enabled  
	if(_popup.state==1){
		if(_popup.masker.show) $("#jq-masker").fadeOut((_popup.speed*2));
		$("#jq-popup").fadeOut(_popup.speed);
		_popup.state = 0;
	}
}
   
//$().ready(function(){  
//	_popup.create({html:'TESTING TESTING TESTING',autohide:1000});
//});