
/**
 * Popup Layer
 * ex) 예제소스
 * --------------------------------------------
 * javascript:popLayer.launcher({src:'url', width: 100, height: 100});
 * --------------------------------------------
 * @param mode 오브젝트의 종류 (flash 또는 media)
 * @param url 오브젝트 소스의 경로(주소)
 * @param width 오브젝트의 가로크기
 * @param height 오브젝트의 세로크기
 * @param paramName 오브젝트 파라메터 이름
 * @param paramValue 오브젝트 파라메터 값
*/

var popLayer = {
	launcher : function(options) {
	 var dimensions = document.viewport.getDimensions();
	 var scrolls = document.viewport.getScrollOffsets();

		   this.options = Object.extend({
			   width : 800,
			   height : 700,
			   zIndex : 20,
			   scrolling : 'no',
			   src : 'about:blank',
			   delay : 1
		   }, options || {});
	 this.options.screenWidth = parseInt(dimensions.width + scrolls.left); 
	 this.options.screenHeight = parseInt(dimensions.height + scrolls.top); 
	 this.options.left = parseInt((this.options.screenWidth - this.options.width) / 2);
	 this.options.top = parseInt((dimensions.height - this.options.height) / 2 + scrolls.top);
	 
	 this.createWrapper();
	 if (this.wrapper.style.display == 'none') {
	  this.start();
	 } else {
	  this.stop();
	 }
	},
	start : function() {
	 this.wrapper.show();
	 this.bgWrapper.show();
	 //this.indicator = new Angelos_Indicator(this.wrapper,{delay:this.options.delay, opacity:100})
	 this.wrapper.src = this.options.src;
	 if (!this.hideHandler) {
	  this.hideHandler = this.stop.bindAsEventListener(this);
	  this.bgWrapper.observe('click', this.hideHandler);
	 }
	}, 
	createWrapper : function() {
		 if (!this.wrapper) {
		  this.wrapper = (new Element('iframe', {
		   'id':'address-wrapper',
		   scrolling : this.options.scrolling,
		   marginwidth : 0,
		   marginheight : 0,
		   frameborder : 0
		  })).setStyle({
		   display : 'none',
		   padding : '0px',
		   margin : '0px',
		   //border : '1px solid #4f4f4f',
		   backgroundColor : '#FFFFFF'
		  });
		  $(document.body).appendChild(this.wrapper);
		 }
		 this.wrapper.setStyle({
		   width : this.options.width + 'px',
		   height : this.options.height + 'px',
		   position : 'absolute',
		   left : this.options.left + 'px',
		   top : this.options.top + 'px',
		   zIndex : this.options.zIndex
		 });	
		 if (!this.bgWrapper) {
		  this.bgWrapper = new Element('div', {
		   id : 'preview-bgwrapper'
		  }).setStyle({
		   position : 'absolute',
		   left : '0px',
		   top : '0px',
		   display : 'none',
		   opacity : 0.1,
		   backgroundColor : 'black'
		  });
		  $(document.body).appendChild(this.bgWrapper);
		 }
		 this.bgWrapper.setStyle({
		   width : this.options.screenWidth + 'px',
		   height : this.options.screenHeight + 'px',
		   zIndex:this.options.zIndex -1
		  });
		},
		stop : function() {
		 this.wrapper.hide();
		 this.bgWrapper.hide();
		 this.wrapper.src = 'about:blank';
		}
	   } 
		
