
var Lancome = Lancome ? Lancome : new Object()

Lancome.ModalWinManager = new Class({

	initialize: function(){
	},
	
	
	openModal: function(url, parameters){
		console.log('openModal')
		
		this.parameters = parameters
		
		// create iframe
		this.iframeElement = new Element('iframe', {
			'width': parameters.width,
			'height': parameters.height,
			'scrolling': 'auto',
			'frameborder': 0,
			'marginwidth': 0,
			'marginheight': 0,
			'styles': {
				'background': '#ffffff'
			},
			'src': '/_ja/_ja/blank.aspx'
		})
		
		this.modalElement = new Element('div', {
			'styles': {
				'display': 'none'
			},
			'class': 'modalwin-wrap'
		})
		
		this.iframeElement.inject(this.modalElement)
		this.modalElement.inject($(document.body))
		
		this.iframeElement.addEvent('load', (function(){
			//alert('iframe domready')
			console.log('iframe domready')
			
			// show modal window
			this.showModal()
		}).bind(this))

		/* load content AFTER adding iframe to the DOM (prevent IE6 bug) */
		this.iframeElement.src = url
	},
	
	
	showModal: function(){
		console.log('showModal')
		
		// remove event handler
		this.iframeElement.removeEvents('load')
		
		// unhide iframe
		this.modalElement.dispose()
		this.modalElement.setStyle('display', 'block')
		
		// create modal window
		this.stickyWinModal = new StickyWin.Modal({
			'content': this.modalElement,
			'useIframeShim': false,
			'modalOptions':{
				'modalStyle': {
					'opacity': .8
				}
			}
		})
	},
	
	
	closeModal: function(){
		if(this.stickyWinModal){
			this.stickyWinModal.hide()
		}
	},
	
	
	runCallback: function(){
		this.parameters.callback.run()
	},
	
	
	updateIframePosition: function(){
		if(this.stickyWinModal != null){
			this.stickyWinModal.show()
		}
	}
	
})

var modalWinManagerInstance = new Lancome.ModalWinManager()

Lancome.ModalWinManager.getInstance = function(){
	return modalWinManagerInstance
}
