
﻿
var globalFormObj;var bringmelunch={};function UIDialog(windowFrameID,windowTitleID,windowWidth){this.disableDiv=null;this._pages=[];this._showRefObj;this._currentPage=0;this._curFramePos;this._titleMouseDown=false;this._titleMousePos;this.addPage(windowFrameID,windowTitleID,windowWidth);}
UIDialog.prototype.addPage=function(pageFrameID,pageTitleID,windowWidth){var frameObj=document.getElementById(pageFrameID);var titleObj=document.getElementById(pageTitleID);this._pages.push({frame:frameObj,title:titleObj,width:windowWidth});var titleObj=document.getElementById(pageTitleID);this._attachEvent(titleObj,"mousedown",globalOnMouseDown);this._attachEvent(titleObj,"mousemove",globalOnMouseMove);this._attachEvent(titleObj,"mouseup",globalOnMouseUp);this._attachEvent(frameObj,"mousemove",globalOnMouseMove);if(this.disableDiv==null){this.disableDiv=new Element('div',{display:'none',style:'position: absolute; background-repeat: repeat'});this.disableDiv.style.left="0px";this.disableDiv.style.top="0px";this.disableDiv.style.width="100px";this.disableDiv.style.height="100px";this.disableDiv.style.backgroundImage="url(Images/dialogback.png)";frameObj.parentNode.insertBefore(this.disableDiv,frameObj)}}
UIDialog.prototype.getBackgroundSize=function(){var pageSize=getPageSize();var windowSize=getWindowSize();if(windowSize.height>pageSize.height){pageSize.height=windowSize.height;}
if(windowSize.width>pageSize.width){pageSize.width=windowSize.width;}
return pageSize;}
UIDialog.prototype.show=function(linkSpan){this.showPage(linkSpan,0);}
UIDialog.prototype.showPage=function(linkSpan,pageIndex){this._showRefObj=isString(linkSpan)?document.getElementById(linkSpan):linkSpan;this._currentPage=pageIndex;this.positionDialog();globalFormObj=this;}
UIDialog.prototype.gotoPage=function(pageIndex){if(this._currentPage!=pageIndex)
{this.curFrame().style.display="none";this._currentPage=pageIndex;this.positionDialog();}}
UIDialog.prototype.nextPage=function(){this.gotoPage(this._currentPage+1);}
UIDialog.prototype.previousPage=function(){this.gotoPage(this._currentPage-1);}
UIDialog.prototype.hide=function(){this.disableDiv.style.display="none";this.curFrame().style.display="none";}
UIDialog.prototype.isOpen=function(){return(this.curFrame().style.display=="");}
UIDialog.prototype.positionDialog=function(){if(this._currentPage>=this._pages.length){alert("Invalid page index: "+this._currentPage);return;}
var curFrameObj=this.curFrame();var winSize=windowBounds();var tblWidth=this.curWidth();curFrameObj.style.left=(winSize.right+100)+"px";curFrameObj.style.top=(winSize.bottom+100)+"px";var backgroudSize=this.getBackgroundSize();this.disableDiv.style.width=backgroudSize.width;this.disableDiv.style.height=backgroudSize.height;this.disableDiv.style.display="";this.curFrame().style.display="";var posX=0;var posY=0;if(this._showRefObj!=null){var linkOffset=this.findPos(this._showRefObj);posX=linkOffset.x+this.getSize(this._showRefObj.style.width,60)-tblWidth-10;posY=linkOffset.y+this.getSize(this._showRefObj.style.height,30);}else{posX=winSize.left+(winSize.right-winSize.left-curFrameObj.offsetWidth)/2;posY=winSize.top+(winSize.bottom-winSize.top-curFrameObj.offsetHeight)/2;}
curFrameObj.style.left=posX+"px";curFrameObj.style.top=posY+"px";if(posX+curFrameObj.offsetWidth>winSize.right)posX=winSize.right-curFrameObj.offsetWidth;if(posX<winSize.left)posX=winSize.left;if(posY+curFrameObj.offsetHeight>winSize.bottom)posY=winSize.bottom-curFrameObj.offsetHeight;if(posY<winSize.top)posY=winSize.top;curFrameObj.style.left=posX+"px";curFrameObj.style.top=posY+"px";this._curFramePos={x:posX,y:posY};}
UIDialog.prototype.curFrame=function(){return this._pages[this._currentPage].frame;}
UIDialog.prototype.curTitle=function(){return this._pages[this._currentPage].title;}
UIDialog.prototype.curWidth=function(){return this._pages[this._currentPage].width;}
UIDialog.prototype.findPos=function(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{x:curleft,y:curtop};}
UIDialog.prototype.getSize=function(styleSize,defaultSize){var pxIndex=styleSize.indexOf("px");if(pxIndex!=-1)styleSize=styleSize.substring(0,pxIndex);if(styleSize.length>0)
{return parseInt(styleSize);}
else
{return defaultSize;}}
UIDialog.prototype._attachEvent=function(elementObj,eventName,eventFn){if(elementObj.addEventListener){elementObj.addEventListener(eventName,eventFn,false);}
else if(elementObj.attachEvent){elementObj.attachEvent("on"+eventName,eventFn);}
else
{elementObj["on"+eventName]=eventFn;}};UIDialog.prototype._detachEvent=function(elementObj,eventName,eventFn){if(elementObj.removeEventListener){elementObj.removeEventListener(eventName,eventFn,false);}
else if(elementObj.detachEvent){elementObj.detachEvent("on"+eventName,eventFn);}};UIDialog.prototype.onMouseDown=function(theEvent){this._titleMousePos=this.getMouseCoords(theEvent);this._titleMousePos.y=20;if(this._titleMousePos.x<30)this._titleMousePos.x=30;if(this._titleMousePos.x>this.curFrame().offsetWidth-30)
this._titleMousePos.x=this.curFrame().offsetWidth-30;this._titleMouseDown=true;this._attachEvent(document,"mousemove",globalOnMouseMove);this._attachEvent(document,"mouseup",globalOnMouseUp);if(theEvent.preventDefault)theEvent.preventDefault();return true;};UIDialog.prototype.onMouseMove=function(theEvent){if(this._titleMouseDown)
{var curTitleBarPos=this.getMouseCoords(theEvent);var moveDelta={x:curTitleBarPos.x-this._titleMousePos.x,y:curTitleBarPos.y-this._titleMousePos.y};var newFramePos={x:this._curFramePos.x+moveDelta.x,y:this._curFramePos.y+moveDelta.y};this.curFrame().style.left=newFramePos.x+"px";this.curFrame().style.top=newFramePos.y+"px";}
if(theEvent.preventDefault)theEvent.preventDefault();return true;};UIDialog.prototype.onMouseUp=function(theEvent){if(this._titleMouseDown)
{this._titleMouseDown=false;this._detachEvent(document,"mousemove",globalOnMouseMove);this._detachEvent(document,"mouseup",globalOnMouseUp);var curTitleBarPos=this.getMouseCoords(theEvent);var moveDelta={x:curTitleBarPos.x-this._titleMousePos.x,y:curTitleBarPos.y-this._titleMousePos.y};this._curFramePos={x:this._curFramePos.x+moveDelta.x,y:this._curFramePos.y+moveDelta.y};this.curFrame().style.left=this._curFramePos.x+"px";this.curFrame().style.top=this._curFramePos.y+"px";}
if(theEvent.preventDefault)theEvent.preventDefault();return true;};UIDialog.prototype.onMouseOut=function(theEvent){var mousePos=this.getMouseCoords(theEvent);var frameObj=this.curFrame();if(mousePos.x<0||mousePos.y<0||mousePos.x>frameObj.offsetWidth||mousePos.y>frameObj.offsetHeight)
{this.onMouseUp(theEvent);}};UIDialog.prototype.getMouseCoords=function(ev){if(ev.pageX||ev.pageY){return{x:ev.pageX-this._curFramePos.x,y:ev.pageY-this._curFramePos.y};}
return{x:ev.clientX+document.body.scrollLeft+document.documentElement.scrollLeft-this._curFramePos.x,y:ev.clientY+document.body.scrollTop+document.documentElement.scrollTop-this._curFramePos.y};};UIDialog.prototype.getCoordString=function(coords){return"("+coords.x+", "+coords.y+")";};function globalOnMouseDown(theEvent){globalFormObj.onMouseDown(theEvent||window.event);}
function globalOnMouseUp(theEvent){globalFormObj.onMouseUp(theEvent||window.event);}
function globalOnMouseMove(theEvent){globalFormObj.onMouseMove(theEvent||window.event);}
function windowBounds(){return{left:posLeft(),top:posTop(),right:posRight(),bottom:posBottom()};}
function pageWidth(){return window.innerWidth!=null?window.innerWidth:document.documentElement&&document.documentElement.clientWidth?document.documentElement.clientWidth:document.body!=null?document.body.clientWidth:null;}function pageHeight(){return window.innerHeight!=null?window.innerHeight:document.documentElement&&document.documentElement.clientHeight?document.documentElement.clientHeight:document.body!=null?document.body.clientHeight:null;}function posLeft(){return typeof window.pageXOffset!='undefined'?window.pageXOffset:document.documentElement&&document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft?document.body.scrollLeft:0;}function posTop(){return typeof window.pageYOffset!='undefined'?window.pageYOffset:document.documentElement&&document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop?document.body.scrollTop:0;}function posRight(){return posLeft()+pageWidth();}function posBottom(){return posTop()+pageHeight();}
function getResultValue(resultText,resultKey){var pos=resultText.indexOf(resultKey+":");if(pos!=-1)
{var startPos=pos+resultKey.length+1;var endPos=resultText.indexOf("\t",startPos);if(endPos!=-1)
return resultText.substring(startPos,endPos);else
return resultText.substring(startPos);}
return"";}
function isString(){return(typeof arguments[0]=='string');}
function attachEventHandler(elementObj,eventName,eventFn){if(elementObj.addEventListener){elementObj.addEventListener(eventName,eventFn,false);}
else if(elementObj.attachEvent){elementObj.attachEvent("on"+eventName,eventFn);}
else
{elementObj["on"+eventName]=eventFn;}};appendNewElement=function(targetElem,elemType,elemClass,index,attributes){var newElem=new Element(elemType,attributes);if(elemClass!=null&&elemClass.length>0){newElem.setAttribute('class',elemClass);newElem.setAttribute('className',elemClass);}
if(index!=null&&index!=-1){var insertIndex=0;while(index>0&&insertIndex<targetElem.childNodes.length){if(targetElem.childNodes[insertIndex].nodeName.toLowerCase()===elemType.toLowerCase()){index-=1;}
insertIndex+=1;}
if(insertIndex<targetElem.childNodes.length){targetElem.insertBefore(newElem,targetElem.childNodes[insertIndex]);return newElem;}}
targetElem.appendChild(newElem);return newElem;};getCurrency=function(amount){amount=Math.round(amount*100)/100;var strAmount="£"+amount;var sepPos=strAmount.indexOf(".");if(sepPos==-1)
strAmount+=".00";else{while(strAmount.length<sepPos+3){strAmount+="0";}}
return strAmount;};getPageSize=function(){var pageWidth=0;var pageHeight=0;if(window.innerHeight&&window.scrollMaxY){pageWidth=window.innerWidth+window.scrollMaxX;pageHeight=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){pageWidth=document.body.scrollWidth;pageHeight=document.body.scrollHeight;}else{pageWidth=document.body.offsetWidth+document.body.offsetLeft;pageHeight=document.body.offsetHeight+document.body.offsetTop;}
return{width:pageWidth,height:pageHeight};};getWindowSize=function(){var windowWidth=0;var windowHeight=0;if(window.innerHeight){windowWidth=window.innerWidth;windowHeight=window.innerHeight;}else if(document.documentElement){windowWidth=document.documentElement.clientWidth
windowHeight=document.documentElement.clientHeight}else{windowWidth=document.body.clientWidth
windowHeight=document.body.clientHeight}
return{width:windowWidth,height:windowHeight};};attachEventToElement=function(elementObj,eventName,eventFn){if(elementObj.addEventListener){elementObj.addEventListener(eventName,eventFn,false);}
else if(elementObj.attachEvent){elementObj.attachEvent("on"+eventName,eventFn);}
else{elementObj["on"+eventName]=eventFn;}};function initButton(divId,caption,enableState,clickFn,disabledClickFn){var contentElement=document.getElementById(divId);contentElement.className="d_action";var divElement=document.createElement('div');divElement.innerHTML=caption;divElement.className=enableState?"d_action":"d_action_disabled";contentElement.appendChild(divElement);contentElement.mouseHovering=false;contentElement.pressed=false;contentElement.disabledButton=!enableState;contentElement.clickFn=clickFn;contentElement.disabledClickFn=disabledClickFn;contentElement.timerOn=false;attachEventToElement(contentElement,"mouseover",function(e){if(!contentElement.disabledButton){if(!contentElement.timerOn)divElement.className="d_action_hover";contentElement.mouseHovering=true;}});attachEventToElement(contentElement,"mouseout",function(e){if(!contentElement.disabledButton){if(!contentElement.timerOn)divElement.className="d_action";contentElement.mouseHovering=false;contentElement.pressed=false;}});attachEventToElement(contentElement,"mousedown",function(e){if(!contentElement.disabledButton){divElement.className="d_action_pressed";contentElement.pressed=true;}});attachEventToElement(contentElement,"mouseup",function(e){if(!contentElement.disabledButton){contentElement.timerOn=true;setTimeout(function(){if(contentElement.mouseHovering){divElement.className="d_action_hover";}else{divElement.className="d_action";}
contentElement.timerOn=false;contentElement.pressed=false;},500);}});attachEventToElement(contentElement,"click",function(e){if(!contentElement.disabledButton){setTimeout(function(){contentElement.clickFn();},100);}else if(contentElement.disabledClickFn!=null){contentElement.disabledClickFn();}
return false;});contentElement.setButtonEnabled=function(enableState){contentElement.disabledButton=!enableState;divElement.className=enableState?"d_action":"d_action_disabled";};contentElement.setCaption=function(newCaption){divElement.innerText=newCaption;};};function trim(str,chars){return ltrim(rtrim(str,chars),chars);}
function ltrim(str,chars){chars=chars||"\\s";return str.replace(new RegExp("^["+chars+"]+","g"),"");}
function rtrim(str,chars){chars=chars||"\\s";return str.replace(new RegExp("["+chars+"]+$","g"),"");}