/**
 * Dialog
 */
var Dialog = Class.create({
	/**
	 * Init Dialog
	 */
	initialize: function(strOverlayID, strDialogID) {
	  this.strOverlayID = strOverlayID;
	  this.strDialogID = strDialogID;
	  	  
	  this.elemDialogContent = $(this.strDialogID).down('.detail_content');

	  Prototype.Browser.IE6 = Prototype.Browser.IE && parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5)) == 6;

	  var elemOverlay = $(strOverlayID);
    elemOverlay.observe('click', this.closeDialog.bind(this));
 
	  if (Prototype.Browser.IE6) {
	    Event.observe(window, 'scroll', function(){
	      var dimensions = document.viewport.getDimensions();
	      var offsets = document.viewport.getScrollOffsets();
      
	      elemOverlay.style.width = dimensions.width + offsets.left + "px";
	      elemOverlay.style.height = dimensions.height + offsets.top + "px";
	    });
	  }	  
	},

  destroy: function() {
    this.elemDialogContent.innerHTML = "";
  },
	
  loadContent: function(strContentURL) {    
    // remove previous
    this.destroy();
   
    new Ajax.Request(strContentURL, {
      method:'post',
      onSuccess: function(response) {
        this.elemDialogContent.innerHTML = response.responseText;
      }.bind(this),
      onFailure: function(response) {
      }.bind(this)
    });
  },
	
  showDialog: function(strContentURL) { 
    this.loadContent(strContentURL);
    
    // offset by scrollbar
    var offsets = document.viewport.getScrollOffsets();
    $(this.strDialogID).style.top = offsets.top + "px";
    
    $(this.strDialogID).style.display = 'block';
    $(this.strOverlayID).style.display = 'block'  
  },

  closeDialog: function() {    
    $(this.strDialogID).style.display = 'none';
    $(this.strOverlayID).style.display = 'none'  
  }
  
});

