
function Dialog(dialogId){this.id=dialogId;this.height=150;this.width=200;this.url=false;this.title='';this.imageId=false;this.onclose=function(){};this.closeImg='close-small.gif';this.showTitle=true;this.contentDiv=false;this.modal=true;}
Dialog.prototype.show=function(imageId){if(document.getElementById(this.id)!=null)return false;this.imageId=(typeof imageId=='undefined'?false:imageId);var bodyEl=document.getElementsByTagName("body")[0];var divEl=document.createElement("div");divEl.id=this.id;divEl.className='guiDialog';divEl.style.visibility='hidden';var scrollPos=gs_getScrollingPosition();var viewSize=gs_getViewportSize();var pageDim=gs_getPageDimensions();if(viewSize[1]>pageDim[1])pageDim[1]=viewSize[1];if(this.modal){var overlayEl=document.createElement("div");overlayEl.id='overlay';overlayEl.style.height=pageDim[1]+'px';overlayEl.style.width=pageDim[0]+'px';}
var titleBarEl=document.createElement("div");titleBarEl.id=this.id+'_titleBar';titleBarEl.className='guiTitlebar';var closeEl=document.createElement('a');var closeImgEl=document.createElement('img');closeImgEl.src=this.closeImg;closeEl.style.border='none';closeEl.style.cssFloat='right';closeEl.style.styleFloat='right';closeEl.appendChild(closeImgEl);closeEl.href='javascript:Dialog_Dispose(\''+this.id+'\');';closeEl.onclick=this.onclose;titleBarEl.appendChild(closeEl);titleBarEl.appendChild(document.createTextNode(this.title));if(this.showTitle)
divEl.appendChild(titleBarEl);bodyEl.appendChild(divEl);if(this.url!=false){var iframe=document.createElement('iframe');iframe.src=this.url
iframe.frameBorder='0';iframe.scrolling='no';iframe.style.border='none';iframe.style.width=this.width+'px';iframe.style.height=this.height-(this.showTitle?titleBarEl.offsetHeight:0)+'px';divEl.appendChild(iframe);}
if(this.imageId!=false){var imageViewEl=new Image();var pageImageEl=document.getElementById(this.imageId);imageViewEl.src=pageImageEl.src;imageViewEl.style.margin='10px 10px';this.height=imageViewEl.height+(this.showTitle?titleBarEl.offsetHeight:0)+20;this.width=imageViewEl.width+20;divEl.appendChild(imageViewEl);}
if(this.contentDiv!=false){var content=document.getElementById(this.contentDiv);if(typeof content!='undefined'){var contentDiv=document.createElement('div');contentDiv.style.overflow='auto';contentDiv.style.width=this.width+'px';contentDiv.style.height=this.height-(this.showTitle?titleBarEl.offsetHeight:0)+'px';content.style.display='';contentDiv.appendChild(content);divEl.appendChild(contentDiv);}}
divEl.style.height=this.height+'px';divEl.style.width=this.width+'px';divEl.style.left=scrollPos[0]+(viewSize[0]-this.width)/2+'px';divEl.style.top=scrollPos[1]+(viewSize[1]-this.height)/2+'px';gs_toggleSelects('hidden');if(this.modal)
bodyEl.appendChild(overlayEl);divEl.style.visibility='visible';titleBarEl.onmousedown=function(event){var event=(typeof event=='undefined')?window.event:event;if((typeof this.id!='undefined')&&(gs_getEventTarget(event).id.indexOf('_titleBar')>0)){document.dragObject=gs_getEventTarget(event).parentNode;document.offsetX=(event.clientX+scrollPos[0])-document.dragObject.offsetLeft;document.offsetY=(event.clientY+scrollPos[1])-document.dragObject.offsetTop;document.body.focus();document.onselectstart=function(){return false;};var iframes=document.dragObject.getElementsByTagName('iframe');if(iframes[0]!=null)iframes[0].style.display='none';document.onmousemove=function(event){if(document.dragObject==null){document.onmousemove=null;document.onmouseup=null;document.onselectstart=null;}else{var event=(typeof event=='undefined')?window.event:event;document.onmouseup=function(event){var iframes=document.dragObject.getElementsByTagName('iframe');if(iframes[0]!=null)iframes[0].style.display='';document.dragObject=null;};document.dragObject.style.top=event.clientY+scrollPos[1]-document.offsetY+'px';document.dragObject.style.left=event.clientX+scrollPos[0]-document.offsetX+'px';}};return false;}};return false;};Dialog.prototype.dispose=function(){if(document.getElementById(this.id)!=null)
this.onclose();Dialog_Dispose(this.id);return false;};Dialog.prototype.close=function(){if(document.getElementById(this.id)!=null)
this.onclose();Dialog_Dispose(this.id);return false;};function Dialog_Dispose(dialogId){var divEl=document.getElementById(dialogId);if(typeof divEl!='undefined'){divEl.parentNode.removeChild(divEl);var mask=document.getElementById(divEl.id+'_mask');if(typeof mask!='undefined'&&mask!=null)mask.parentNode.removeChild(mask);var overlayEl=document.getElementById('overlay');if(typeof overlayEl!='undefined'&&overlayEl!=null)
overlayEl.parentNode.removeChild(overlayEl);gs_toggleSelects('visible');}}
function gs_createMask(obj){var iframe=document.createElement('iframe');iframe.src='javascript:false;';iframe.tabIndex='-1';iframe.style.border='none';iframe.style.position='absolute';iframe.style.zIndex='9998';iframe.id=obj.id+'_mask';iframe.style.top=obj.offsetTop+'px';iframe.style.left=obj.offsetLeft+'px';iframe.style.width=obj.offsetWidth+'px';iframe.style.height=obj.offsetHeight+'px';obj.parentNode.appendChild(iframe);}
function gs_getEventTarget(event){if(typeof event.target=='undefined'){return event.srcElement;}else{return event.target;}}
function gs_getScrollingPosition(){var position=[0,0];if(typeof window.pageYOffset!='undefined')
{position=[window.pageXOffset,window.pageYOffset];}
else if(typeof document.documentElement.scrollTop!='undefined'&&document.documentElement.scrollTop>0)
{position=[document.documentElement.scrollLeft,document.documentElement.scrollTop];}
else if(typeof document.body.scrollTop!='undefined')
{position=[document.body.scrollLeft,document.body.scrollTop];}
return position;}
function gs_getViewportSize(){var size=[0,0];if(typeof window.innerWidth!='undefined')
{size=[window.innerWidth,window.innerHeight];}
else if(typeof document.documentElement!='undefined'&&typeof document.documentElement.clientWidth!='undefined'&&document.documentElement.clientWidth!=0)
{size=[document.documentElement.clientWidth,document.documentElement.clientHeight];}
else
{size=[document.getElementsByTagName('body')[0].clientWidth,document.getElementsByTagName('body')[0].clientHeight];}
return size;}
function gs_getPageDimensions(){var body=document.getElementsByTagName('body')[0];var bodyOffsetWidth=0;var bodyOffsetHeight=0;var bodyScrollWidth=0;var bodyScrollHeight=0;var pageDimensions=[0,0];if(typeof document.documentElement!='undefined'&&typeof document.documentElement.scrollWidth!='undefined'){pageDimensions[0]=document.documentElement.scrollWidth;pageDimensions[1]=document.documentElement.scrollHeight;}
bodyOffsetWidth=body.offsetWidth;bodyOffsetHeight=body.offsetHeight;bodyScrollWidth=body.scrollWidth;bodyScrollHeight=body.scrollHeight;if(bodyOffsetWidth>pageDimensions[0])pageDimensions[0]=bodyOffsetWidth;if(bodyOffsetHeight>pageDimensions[1])pageDimensions[1]=bodyOffsetHeight;if(bodyScrollWidth>pageDimensions[0])pageDimensions[0]=bodyScrollWidth;if(bodyScrollHeight>pageDimensions[1])pageDimensions[1]=bodyScrollHeight;return pageDimensions;}
function gs_findPos(obj){var curleft=curtop=0;if(obj.offsetParent){curleft=obj.offsetLeft
curtop=obj.offsetTop
while(obj=obj.offsetParent){curleft+=obj.offsetLeft
curtop+=obj.offsetTop}}
return[curleft,curtop];}
function gs_attachEventListener(target,eventType,functionRef,capture){if(typeof target.addEventListener!='undefined'){target.addEventListener(eventType,functionRef,capture);}else if(typeof target.attachEvent!='undefined'){var functionString=eventType+functionRef;target['e'+functionString]=functionRef;target[functionString]=function(event){if(typeof event=='undefined'){event=window.event;}
target['e'+functionString](event);};target.attachEvent('on'+eventType,target[functionString]);}else{eventType='on'+eventType;if(typeof target[eventType]=='function'){var oldListener=target[eventType];target[eventType]=function(){oldListener();return functionRef();};}else{target[eventType]=functionRef;}}}
function gs_detachEventListener(target,eventType,functionRef,capture){if(typeof target.removeEventListener!='undefined'){target.removeEventListener(eventType,functionRef,capture);}else if(typeof target.detachEvent!='undefined'){var functionString=eventType+functionRef;target.detachEvent('on'+eventType,target[functionString]);target['e'+functionString]=null;target[functionString]=null;}else{target['on'+eventType]=null;}}
function gs_toggleSelects(visibility){if(!document.all)return false;selects=document.getElementsByTagName('select');for(i=0;i<selects.length;i++){selects[i].style.visibility=visibility;}}