// Mootools 4m Popup
var oPopUp;
var cmPopup = new Class({
	options: {
		bgcolor: "#FFFFFF",
		size: {
			width: 100,
			height: 100
		},
		sClose:'Close',
		sPosition:'lb',
		url:''
	},
	initialize: function(oLink, options){
		this.options.url=oLink.href;
		oLink.href=null;
		oLink.onclick=function(){return false};
		this.title=oLink.getProperty('title');
		this.setOptions(options);
		oLink.addEvent('click',function(event){
			var event = new Event(event);
			this.popup.showPupup($(event.target));
		});
		oLink.popup=this;
	}
});
cmPopup.implement(new Options);
cmPopup.implement({
	setTitle: function(sTitle){
	  this.title = sTitle;
	},
	showPupup:function(oLink){
		var oTemp=oLink.getCoordinates();
		try{
		oPopUp.remove();
		}catch(e){};
		oPopUp=new Element('div');
		oPopUp.setProperty('id', 'cmpopup');
		oPopUp.setStyles({
			backgroundColor: this.options.bgcolor.hexToRgb(),
			position: 'absolute',
			overflow:'hidden',
			width: this.options.size.width,
			height: this.options.size.height,
			padding: 2
		});
		oPopUp.setStyles(this.getPosition(oLink));
		oPopUp.setOpacity(0);
		oPopUp.fireEvent('loading', this);
		oPopUp.setHTML("<div id='cmpoup_title'><a href='#' id='cmpoup_close' title='"+this.options.sClose+"'>"+this.options.sClose+"</a>"+this.title+"</div><iframe frameborder='0' hspace='0' src='"+this.options.url+"' id='cmpoup_iframe' style='width:100%;height:"+(this.options.size.height-20)+"px;'></iframe>");
		oPopUp.injectInside(document.body);
		oTemp=$('cmpoup_close');
		oTemp.href=null;
		oTemp.onclick=function(){return false};
		oTemp.addEvent('click',this.closePupup);
		oTemp.setStyles({
			display: 'block',
			float:'right'
		});
		oTemp=$('cmpoup_iframe');
		oTemp.addEvent('load',this.displayPupup);
	},
	closePupup:function(){
		var myFX = new Fx.Style('cmpopup', 'opacity',{duration: 100, transition: Fx.Transitions.sineInOut, onComplete:function(){oPopUp.remove()}}).start(1,0);
		oPopUp.fireEvent('close', this);
	},
	displayPupup:function(){
		oPopUp.fireEvent('display', this);
		var myFX = new Fx.Style('cmpopup', 'opacity',{duration: 100, transition: Fx.Transitions.sineInOut}).start(0,1);
	},
	getPosition:function(o){
		var oReturn={left:0,top:0};
		var oPosition=o.getCoordinates();
		switch(this.options.sPosition){
			case 'rt':
				oReturn.bottom=oPosition.top;
				oReturn.left=oPosition.right-this.options.size.width;
				break;
			case 'rb':
				oReturn.top=oPosition.bottom;
				oReturn.left=oPosition.right-this.options.size.width;
				break;
			case 'lt':
				oReturn.bottom=oPosition.top;
				oReturn.left=oPosition.left;
				break;
			case 'lb':
			default:
				oReturn.top=oPosition.bottom;
				oReturn.left=oPosition.left;
		}
		return oReturn;
	}
});
