/* Is being used within giftcard module */
function popupWindow(myurl, myname, w, h, scroll){
	var xpos = (screen.width) ? (screen.width - w) / 2 : 0;
	var ypos = (screen.height) ? (screen.height - h) / 2 : 0;
	var settings = 'height=' + h + ',width=' + w + ',top=' + ypos + ',left=' + xpos + ',scrollbars=' + scroll +',resizable';
	win = window.open(myurl,myname,settings);
}


var EventHandler = {
        
        events: [],

        registerEvent: function( fn, object ) {
                if( $type( object ) != "object" ) {
                        this.events.push( fn );
                }
                else {
                        this.events.push( {func:fn, ob:object});
                }
        },
        
        fireEvents: function() {
                for( var i = 0; i < this.events.length; i++ ) {
                        if( $type( this.events[i] ) != "object" ) {
                                this.events[i].call();
                        }
                        else {
                                this.events[i].func.call( this.events[i].ob );
                        }
                }
        }
}


var App = {
		
	boot: function() {		
		this.popup();
	},
	
	popup: function() {
		
		var popupClass = $$('a.popup');
		if ( popupClass ) {			
							
			popupClass.addEvent('click', function(e) {
				
				var ev 				= new Event( e ).stop();
								
				var url				= this.get('href');
				var dimensions 		= this.get('rel');
				
				var popupOptions	= dimensions.split(',');
				var scrollbar		= (popupOptions[2]) ? popupOptions[2] : 'no';
			
				var xpos 			= (screen.width) ? (screen.width - popupOptions[0]) / 2 : 0;
				var ypos 			= (screen.height) ? (screen.height - popupOptions[1]) / 2 : 0;
				var settings 		= 'height=' + popupOptions[1] + ',width=' + popupOptions[0] + ',top=' + ypos + ',left=' + xpos + ',scrollbars=' + scrollbar + ',resizable';
				var win 			= window.open(url, '', settings);
				
				return;
			});
		}		
	}
}

EventHandler.registerEvent( App.boot, App );
window.addEvent( "domready", EventHandler.fireEvents.bind( EventHandler ) );

