DHTML_modalMessage=function(){
var url;
var htmlOfModalMessage;
var divs_transparentDiv;
var divs_content;
var iframe;
var layoutCss;
var width;
var height;
var existingBodyOverFlowStyle;
var dynContentObj;
var cssClassOfMessageBox;
var shadowDivVisible;
var shadowOffset;
var MSIE;
this.url='';
this.htmlOfModalMessage='';
this.layoutCss='modal-message.css';
this.height=200;
this.width=400;
this.cssClassOfMessageBox=false;
this.shadowDivVisible=true;
this.shadowOffset=5;
this.MSIE=false;
if(navigator.userAgent.indexOf('MSIE')>=0) this.MSIE=true;}
DHTML_modalMessage.prototype={
setSource:function(urlOfSource){
this.url=urlOfSource;
},
setHtmlContent:function(newHtmlContent){
this.htmlOfModalMessage=newHtmlContent;
},
setSize:function(width,height){
if(width)this.width=width;
if(height)this.height=height;   
},   
setCssClassMessageBox:function(newCssClass){
this.cssClassOfMessageBox=newCssClass;
if(this.divs_content){
if(this.cssClassOfMessageBox)
this.divs_content.className=this.cssClassOfMessageBox;
else
this.divs_content.className='modalDialog_contentDiv'; 
}}, 
setShadowOffset:function(newShadowOffset){
this.shadowOffset=newShadowOffset
}, 
display:function(){
if(!this.divs_transparentDiv){
this.__createDivs();
} 
this.divs_transparentDiv.style.display='block';
this.divs_content.style.display='block';
this.divs_shadow.style.display='block';   
if(this.MSIE)this.iframe.style.display='block'; 
this.__resizeDivs();
window.refToThisModalBoxObj=this;   
setTimeout('window.refToThisModalBoxObj.__resizeDivs()',150);
this.__insertContent();
},
setShadowDivVisible:function(visible){
this.shadowDivVisible=visible;
},
close:function(){
this.divs_transparentDiv.style.display='none';
this.divs_content.style.display='none';
this.divs_shadow.style.display='none';
if(this.MSIE)this.iframe.style.display='none';
},
addEvent:function(whichObject,eventType,functionName,suffix){ 
if(!suffix)suffix='';
if(whichObject.attachEvent){ 
whichObject['e'+eventType+functionName+suffix]=functionName; 
whichObject[eventType+functionName+suffix]=function(){whichObject['e'+eventType+functionName+suffix]( window.event );} 
whichObject.attachEvent( 'on'+eventType, whichObject[eventType+functionName+suffix] ); 
}else 
whichObject.addEventListener(eventType,functionName,false);       
},
__createDivs:function(){
this.divs_transparentDiv=document.createElement('DIV');
this.divs_transparentDiv.className='modalDialog_transparentDivs';
this.divs_transparentDiv.style.left='0px';
this.divs_transparentDiv.style.top='0px';
document.body.appendChild(this.divs_transparentDiv);
this.divs_content=document.createElement('DIV');
this.divs_content.className='modalDialog_contentDiv';
this.divs_content.id='DHTMLSuite_modalBox_contentDiv';
this.divs_content.style.zIndex=100000;
if(this.MSIE){
this.iframe=document.createElement('<IFRAME src="about:blank" frameborder=0>');
this.iframe.style.zIndex=90000;
this.iframe.style.position='absolute';
document.body.appendChild(this.iframe); 
}
document.body.appendChild(this.divs_content);
this.divs_shadow=document.createElement('DIV');
this.divs_shadow.className='modalDialog_contentDiv_shadow';
this.divs_shadow.style.zIndex=95000;
document.body.appendChild(this.divs_shadow);
window.refToModMessage=this;
this.addEvent(window,'scroll',function(e){ window.refToModMessage.__repositionTransparentDiv() });
this.addEvent(window,'resize',function(e){ window.refToModMessage.__repositionTransparentDiv() });
},
__getBrowserSize:function(){
var bodyWidth=document.documentElement.clientWidth;
var bodyHeight=document.documentElement.clientHeight;
var bodyWidth, bodyHeight; 
if (self.innerHeight){
bodyWidth=self.innerWidth; 
bodyHeight=self.innerHeight; 
}else if(document.documentElement && document.documentElement.clientHeight) {
bodyWidth=document.documentElement.clientWidth; 
bodyHeight=document.documentElement.clientHeight; 
}else if(document.body) {
bodyWidth=document.body.clientWidth; 
bodyHeight=document.body.clientHeight; 
} 
return [bodyWidth,bodyHeight];    
},
__resizeDivs:function(){
var topOffset=Math.max(document.body.scrollTop,document.documentElement.scrollTop);
if(this.cssClassOfMessageBox)
this.divs_content.className=this.cssClassOfMessageBox; else this.divs_content.className='modalDialog_contentDiv'; 
if(!this.divs_transparentDiv)return;
var st=Math.max(document.body.scrollTop,document.documentElement.scrollTop);
var sl=Math.max(document.body.scrollLeft,document.documentElement.scrollLeft);
window.scrollTo(sl,st);
setTimeout('window.scrollTo('+sl+','+st+');',10);
this.__repositionTransparentDiv();
var brSize=this.__getBrowserSize();
var bodyWidth=brSize[0];
var bodyHeight=brSize[1];
this.divs_content.style.width=this.width+'px';
this.divs_content.style.height= this.height+'px';   
var tmpWidth=this.divs_content.offsetWidth; 
var tmpHeight=this.divs_content.offsetHeight;
this.divs_content.style.left=Math.ceil((bodyWidth - tmpWidth) / 2)+'px';;
this.divs_content.style.top=(Math.ceil((bodyHeight - tmpHeight) / 2)+ topOffset)+'px';
if(this.MSIE){
this.iframe.style.left=this.divs_content.style.left;
this.iframe.style.top=this.divs_content.style.top;
this.iframe.style.width=this.divs_content.style.width;
this.iframe.style.height=this.divs_content.style.height;
}
this.divs_shadow.style.left=(this.divs_content.style.left.replace('px','')/1+this.shadowOffset)+'px';
this.divs_shadow.style.top=(this.divs_content.style.top.replace('px','')/1+this.shadowOffset)+'px';
this.divs_shadow.style.height=tmpHeight+'px';
this.divs_shadow.style.width=tmpWidth+'px';
if(!this.shadowDivVisible)this.divs_shadow.style.display='none';
},
__repositionTransparentDiv:function(){
this.divs_transparentDiv.style.top=Math.max(document.body.scrollTop,document.documentElement.scrollTop)+'px';
this.divs_transparentDiv.style.left=Math.max(document.body.scrollLeft,document.documentElement.scrollLeft)+'px';
var brSize=this.__getBrowserSize();
var bodyWidth=brSize[0];
var bodyHeight=brSize[1];
this.divs_transparentDiv.style.width=bodyWidth+'px';
this.divs_transparentDiv.style.height=bodyHeight+'px';    
},
__insertContent:function(){
if(this.url) ajax_loadContent('DHTMLSuite_modalBox_contentDiv',this.url); else this.divs_content.innerHTML=this.htmlOfModalMessage; }}

