var Exo_PopupWindow = {

	/**
	 * parameters:
	 *  - url
	 *  - windowname
	 *  - dependent : true/'yes' or false/'no' - close popup if main frame is closed
	 *  - height : the window height in pixel as int
	 *  - hotkeys: true/'yes' or false/'no' - acceppt keyboard commands
	 *  - innerHeight: the innerHeight in pixel as int
	 *  - innerWidth: the innerWidth in pixel as int
	 *  - left: horizontal value from upper left corner in pixel as int
	 *  - location: true/'yes' or false/'no' - show adress bar	 
	 *  - menubar: true/'yes' or false/'no' - show menu bar	  
	 *  - resizable: true/'yes' or false/'no' - change popup size
	 *  - screenX: horizontal value from upper left corner of the new window in pixel as int	
	 *  - screenY: vertical value from upper left corner of the new window in pixel as int 
	 *  - scrollbars: true/'yes' or false/'no' - show scroll bar
	 *  - status: true/'yes' or false/'no' - show status bar
	 *  - toolbar: true/'yes' or false/'no' - show toolbar
	 *  - top : upper left corner in pixel as int
	 *  - width : the window width in pixel as int
	 */ 
	open: function (parameters)
	{
		parameters = this.cleanupParameters(parameters);
		window.open(
			parameters.url,
			parameters.windowname,
			"dependent=" + (parameters.dependent ? parameters.dependent : 'no') +
			", height=" + (parameters.height ? parameters.height : 200) +
			", hotkeys=" + (parameters.hotkeys ? parameters.hotkeys : 'yes') +
			", innerHeight=" + (parameters.innerHeight ? parameters.innerHeight : 0) +
			", innerWidth=" + (parameters.innerWidth ? parameters.innerWidth : 0) +
			", left=" + (parameters.left ? parameters.left : 0) +
			", location=" + (parameters.location ? parameters.location : 'no') +
			", menubar=" + (parameters.menubar ? parameters.menubar : 'no') +
			", resizable=" + (parameters.resizable ? parameters.resizable : 'no') +
			", screenX=" + (parameters.screenX ? parameters.screenX : 0) +
			", screenY=" + (parameters.screenY ? parameters.screenY : 0) +
			", scrollbars=" + (parameters.scrollbars ? parameters.scrollbars : 'no') +
			", status=" + (parameters.status ? parameters.status : 'no') +
			", toolbar=" + (parameters.toolbar ? parameters.toolbar : 'no') +
			", top=" + (parameters.top ? parameters.top : 0) +
			", width=" + (parameters.width ? parameters.width : 200)
		);	
			
	},
	
	cleanupParameters: function (parameters)
	{
		if (parameters.dependent)
		{
			parameters.dependent = (true === parameters.dependent || 'yes' === parameters.dependent) ? 'yes' : 'no';
		}
		
		if (parameters.hotkeys)
		{
			parameters.hotkeys = (true === parameters.hotkeys || 'yes' === parameters.hotkeys) ? 'yes' : 'no';
		}
		
		if (parameters.location)
		{
			parameters.location = (true === parameters.location || 'yes' === parameters.location) ? 'yes' : 'no';
		}
		
		if (parameters.menubar)
		{
			parameters.menubar = (true === parameters.menubar || 'yes' === parameters.menubar) ? 'yes' : 'no';
		}
		
		if (parameters.resizable)
		{
			parameters.resizable = (true === parameters.resizable || 'yes' === parameters.resizable) ? 'yes' : 'no';
		}
		
		if (parameters.scrollbars)
		{
			parameters.scrollbars = (true === parameters.scrollbars || 'yes' === parameters.scrollbars) ? 'yes' : 'no';
		}
		
		if (parameters.status)
		{
			parameters.status = (true === parameters.status || 'yes' === parameters.status) ? 'yes' : 'no';
		}
		
		if (parameters.toolbar)
		{
			parameters.toolbar = (true === parameters.toolbar || 'yes' === parameters.toolbar) ? 'yes' : 'no';
		}
		
		return parameters;
	}
}

