var EWD={};
EWD.page={
errorMessage: function(message) {
if (message!='') {
if (typeof(Ext)!="undefined") {
Ext.MessageBox.alert('EWD Error',message);
}
else {
alert(message);
}
}
},
goNextPage: function(page,token,sessionToken) {
if (page=="*") return;
var x;
if ((page.indexOf("?static")!=-1)&&(page.indexOf(".")!=-1)) {
x="document.location='"+page.substring(0,page.indexOf("?static"))+"'";
eval(x);
return;
}
if (page.indexOf("?static")!=-1) {
x="document.location='"+page.substring(0,page.indexOf("?static"))+".php'";
}
else {
x="document.location='"+page+'.php?ewd_token='+sessionToken+"&n="+token+"'";
}
eval(x);
},
showConfirmMessage: false,
displayConfirm: function(confirmText) {
if (!EWD.page.showConfirmMessage) return true;
confirmText= EWD.utils.replace(confirmText,"&#39;","'");
var ok=confirm(confirmText);
EWD.page.showConfirmMessage=false;
return ok;
},
openWindow: function(url,winHandle,winName,x,y,height,width,toolbar,location,directories,status,menubar,scrollbars,resizable) {
var noOfParams=EWD.page.openWindow.arguments.length;
if (noOfParams>14) {
for (nParam=14; nParam<noOfParams; nParam++) {
url=url.replace(/\[x]/, EWD.page.openWindow.arguments[nParam]);
}
}
var winRef=winHandle;
var arrIndex=winHandle.indexOf("[");
if(arrIndex!=-1) {
winRef=winHandle.substring(0,arrIndex);
winHandle=winRef+"["+winRef+".length]";
}
if (winName=="") winName=winRef+Math.floor(Math.random()*100);
var openWin=winHandle+'=window.open("'+url+'","'+winName+'","';
if (navigator.appName=='Netscape') {
openWin=openWin+'ScreenX='+x+',ScreenY='+y+',';
}
else {
openWin=openWin+'left='+x+',top='+y+',';
}
openWin=openWin+'height='+height+',width='+width+',toolbar='+toolbar+',location='+location+',directories='+directories+',';
openWin=openWin+'status='+status+',menubar='+menubar+',scrollbars='+scrollbars+',resizable='+resizable+'")';
eval(openWin);
},
spinnerKeyDown: false,
incrementSpinner:  function(fieldId,max,interval) {
var field=document.getElementById(fieldId);
field.focus();
if (EWD.page.spinnerKeyDown) {
if (field.value<max) {
field.value++;
}
setTimeout("EWD.page.incrementSpinner('"+fieldId+"',"+max+","+interval +")",interval);
}
},
decrementSpinner:  function(fieldId,min,interval) {
var field=document.getElementById(fieldId);
field.focus();
if (EWD.page.spinnerKeyDown) {
if (field.value>min) {
field.value--;
}
setTimeout("EWD.page.decrementSpinner('"+fieldId+"',"+min+","+interval +")",interval);
}
},
spinnerControl:  function(e,fieldId,min,max) {
var keyCode=e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;
if (keyCode==38) {
if (document.getElementById(fieldId).value<max) {
document.getElementById(fieldId).value++;
}
}
if (keyCode==40) {
if (document.getElementById(fieldId).value>min) {
document.getElementById(fieldId).value--;
}
}
},
spinnerValueCheck:  function(value,fieldName,min,max) {
if (!EWD.utils.isInteger(value)) {
alert("Value of "+fieldName+ " is invalid!");
return;
}
if (value<min) {
alert("Value of "+fieldName+ " is less than the minimuml!");
return;
}
if (value>max) {
alert("Value of "+fieldName+ " is larger than the maximum!");
return;
}
},
addStylesheet: function(doc,src) {
if(doc.createStyleSheet) {
doc.createStyleSheet(src);
}
else {
var linkNode=doc.createElement('link');
linkNode.setAttribute("href",src);
linkNode.setAttribute("media","screen");
linkNode.setAttribute("rel","stylesheet");
linkNode.setAttribute("type","text/css");
doc.getElementsByTagName("head")[0].appendChild(linkNode);
}
},
printDiv: function(divId,height,width,top,left,title,styleSrc,autoprint,path) {
if (!height) height= "500";
if (!width) width= "500";
if (!top) top= "50";
if (!left) left= "100";
var domNode=document.getElementById(divId);
var params="height="+height+",width="+width;
if (navigator.appName=='Netscape') {
params=params+',ScreenX='+left+',ScreenY='+top;
}
else {
params=params+',left='+left+',top='+top+',';
}
var outputWindow;
outputWindow=window.open("","",params);
outputWindow.document.open("text/html", "replace");
if (!title) title="Print";
outputWindow.document.write("<html><head><title>"+title+"</title>\n");
outputWindow.document.write("</head><body>\n");
if (!autoprint) outputWindow.document.write("<div id='printButton'><input type='button' value='Print' onClick='document.getElementById(\"printButton\").innerHTML=\"\" ; window.print()' /><hr/></div>\n");
outputWindow.document.write("<div id='add'></div>\n");
outputWindow.document.write("</body></html>\n");
outputWindow.document.close();
if (styleSrc) EWD.page.addStylesheet(outputWindow.document,styleSrc);
var importedMarkup=domNode.innerHTML;
outputWindow.document.getElementById('add').innerHTML=importedMarkup;
if (autoprint) {
outputWindow.print();
outputWindow.close();
}
},
section: new Array(),
currentPage: '',
selectedColor: new Array(),
unselectedColor: new Array(),
selectTab: function(curr) {
var pageName=EWD.utils.getPiece(curr.id,"Tab",1);
if (pageName!=EWD.page.currentPage) {
curr.className="highlightedTab";
}
},
deSelectTab: function(curr) {
var pageName=EWD.utils.getPiece(curr.id,"Tab",1);
if (pageName!=EWD.page.currentPage) {
curr.className="unselectedTab";
}
},
getTabPage: function(pageName) {
var previousPage=EWD.page.currentPage;
EWD.page.currentPage=pageName;
document.getElementById(previousPage+"Tab").className="unselectedTab";
document.getElementById(pageName+"Tab").className="selectedTab";
},
selectInnerTab: function(curr) {
var section=curr.section;
var pageName=EWD.utils.getPiece(curr.id,"Tab",1);
if (pageName!=MGW.page.section[section]) {
curr.className="highlightedInnerTab";
if (typeof(MGW.page.selectedColor[section])!="undefined") {
curr.style.backgroundColor=MGW.page.selectedColor[section];
}
}
},
deSelectInnerTab: function(curr) {
var section=curr.section;
var pageName=EWD.utils.getPiece(curr.id,"Tab",1);
if (pageName!=MGW.page.section[section]) {
curr.className="unselectedInnerTab";
if (typeof(MGW.page.unselectedColor[section])!="undefined") {
curr.style.backgroundColor=MGW.page.unselectedColor[section];
}
}
},
defineInnerTab: function(section,id,selected) {
document.getElementById(id).section=section;
if (selected) {
document.getElementById(id).className="selectedInnerTab";
document.getElementById(id).style.backgroundColor=EWD.page.selectedColor[section];
var pageName=EWD.utils.getPiece(id,"Tab",1);
EWD.page.section[section]=pageName;
EWD.page.setInnerTabPage(document.getElementById(id));
}
else {
document.getElementById(id).className="unselectedInnerTab";
document.getElementById(id).style.backgroundColor=EWD.page.unselectedColor[section];
}
},
setInnerTabPage: function(obj,synch) {
var id=obj.id;
var pageName=EWD.utils.getPiece(id,"Tab",1);
var section=obj.section;
var previousPage=EWD.page.section[section];
EWD.page.section[section]=pageName;
document.getElementById(previousPage+"Tab").className="unselectedInnerTab";
if (typeof(EWD.page.unselectedColor[section])!="undefined") document.getElementById(previousPage+"Tab").style.backgroundColor=EWD.page.unselectedColor[section];
obj.className="selectedInnerTab";
if (typeof(EWD.page.selectedColor[section])!="undefined") {
obj.style.backgroundColor=EWD.page.selectedColor[section];
document.getElementById(section).style.backgroundColor=EWD.page.selectedColor[section];
}
},
selectInnerTab: function(curr) {
var section=curr.section;
var pageName=EWD.utils.getPiece(curr.id,"Tab",1);
if (pageName!=EWD.page.section[section]) {
curr.className="highlightedInnerTab";
if (typeof(EWD.page.selectedColor[section])!="undefined") {
curr.style.backgroundColor=EWD.page.selectedColor[section];
}
}
},
deSelectInnerTab: function(curr) {
var section=curr.section;
var pageName=EWD.utils.getPiece(curr.id,"Tab",1);
if (pageName!=EWD.page.section[section]) {
curr.className="unselectedInnerTab";
if (typeof(EWD.page.unselectedColor[section])!="undefined") {
curr.style.backgroundColor=EWD.page.unselectedColor[section];
}
}
},
loadJSFile: function(src,isDojo) {
var fileref=document.createElement('script');
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", src);
if (isDojo) fileref.setAttribute("djConfig", "parseOnLoad: true");
document.getElementsByTagName("head")[0].appendChild(fileref);
},
loadCSSFile: function(filename) {
var fileref=document.createElement("link");
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", filename);
document.getElementsByTagName("head")[0].appendChild(fileref);
}
};
EWD.page.chartIndex={};
EWD.dojo={
loadFishEye: function(useRemote,src) {
var ref;
if (useRemote) {
src="http://o.aolcdn.com";
}
ref= src+"/dojox/widget/FisheyeList.js";
EWD.page.loadJSFile(ref,true);
var fileref=document.createElement('style');
fileref.setAttribute("type","text/css");
document.getElementsByTagName("head")[0].appendChild(fileref);
if (useRemote) {
src="http://o.aolcdn.com/dojo/1.0.0";
}
var text='@import "'+src+'/dojox/widget/FisheyeList/FisheyeList.css";';
text=text+".dojoxFisheyeListBar {";
text=text+"margin: 0 auto;";
text=text+"text-align: center;";
text=text+"}";
if(fileref.styleSheet){// IE
fileref.styleSheet.cssText=text;
} else {// w3c
var cssText=document.createTextNode(text);
fileref.appendChild(cssText);
}
dojo.require("dojox.widget.FisheyeList");
}
};
EWD.utils={
replace: function (string,text,by) {
var strLength=string.length, txtLength=text.length;
if ((strLength==0) || (txtLength==0)) return string;
var i=string.indexOf(text);
if ((!i) && (text!=string.substring(0,txtLength))) return string;
if (i==-1) return string;
var newstr=string.substring(0,i)+by;
if (i+txtLength<strLength) newstr=replace(string.substring(i+txtLength,strLength),text,by);
return newstr;
},
findPosX: function (obj) {
var curleft=0;
if(obj.offsetParent) while(1) {
curleft += obj.offsetLeft;
if(!obj.offsetParent) break;
obj=obj.offsetParent;
}
else if(obj.x) curleft += obj.x;
return curleft;
},
findPosY: function (obj) {
var curtop=0;
if(obj.offsetParent) while(1) {
curtop += obj.offsetTop;
if(!obj.offsetParent) break;
obj=obj.offsetParent;
}
else if(obj.y) curtop += obj.y;
return curtop;
},
getPiece: function(refStr,delim,pieceNo) {
var tempArray;
if (refStr=="") return "";
if (delim=="") return string;
if (pieceNo=="") return string;
tempArray=refStr.split(delim);
return tempArray[pieceNo - 1];
},
contains: function(inString,subString) {
if (inString.indexOf(subString)==-1) return false;
return true;
},
getBrowserInfo: function() {
var sig=navigator.userAgent;
EWD.browserType="firefox";
if (EWD.utils.contains(sig,"MSIE 6")) EWD.browserType="ie6";
if (EWD.utils.contains(sig,"MSIE 7")) EWD.browserType="ie7";
EWD.browserOS="linux";
if (EWD.utils.contains(sig,"Windows NT 5.1")) EWD.browserOS="xp";
if (EWD.utils.contains(sig,"Windows NT 5.0")) EWD.browserOS="2000";
if (EWD.utils.contains(sig,"Windows NT 6")) EWD.browserOS="vista";
},
isInteger: function(sText) {
var validChars="0123456789";
if (sText.substring(0,1)=='-') sText=sText.substring(1);
var isInt=true;
var charx;
for (var i=0; i<sText.length && isInt==true; i++) {
charx=sText.charAt(i);
if (validChars.indexOf(charx)==-1) {
isInt=false;
}
}
return isInt;
},
getOption: function(fieldName) {
var obj=document.getElementById(fieldName);
return obj.options[obj.selectedIndex].value;
}
};
EWD.utils.getBrowserInfo();

EWD.ajax={
isWithinTarget: function (tagId,targetId,isDojo) {
var par;
if (isDojo) {
par=dojo.byId(tagId);
}
else {
par=document.getElementById(tagId);
}
if (!par) return false;
do {
par=par.parentNode;
if (par.id==targetId) {
return true;
}
}
while (par.tagName!="BODY");
return false;
},
destroyDJWidgetsWithin: function(id) {
if (typeof(dijit)!='undefined'){
var wid;
for (wid in EWDdojo.widget) {
//console.debug("testing "+wid);
if ((!dijit.byId(wid))&&(!EWD.utils.contains(wid,"-menu"))) {
delete EWDdojo.widget[wid];
//console.debug(wid+" not present, so removed from index");
}
if ((dijit.byId(wid))||(EWD.utils.contains(wid,"-menu"))) {
//console.debug("wid="+wid+"; id="+id);
if (EWD.ajax.isWithinTarget(wid,id,true)) {
var wid1=wid;
if (EWD.utils.contains(wid,"-menu")) wid1=EWD.utils.getPiece(wid,"-menu",1);
dijit.byId(wid1).destroyRecursive();
delete EWDdojo.widget[wid];
//console.debug("removed "+wid);
}
}
}
}
},
destroyChartsWithin: function(id) {
if (typeof(EJSC)!='undefined'){
var wid;
for (wid in EWD.page.chartIndex) {
var chartId=EWD.page.chartIndex[wid];
if (document.getElementById(wid)) {
if (EWD.ajax.isWithinTarget(wid,id,false)) {
var str=chartId+".remove();";
eval(str);
delete EWD.page.chartIndex[wid];
}
}
}
}
},
makeRequest: function (zewdurl,zewdid,zewdmethod,zewdpayload,traceFlag) {
EWD.ajax.targetId=zewdid;
EWD.ajax.destroyDJWidgetsWithin(zewdid);
EWD.ajax.destroyChartsWithin(zewdid);
var noOfParams=EWD.ajax.makeRequest.arguments.length;
var noOfFixedParams=5;
if (noOfParams>noOfFixedParams) {
for (var nParam=noOfFixedParams; nParam<noOfParams; nParam++) {
zewdurl=zewdurl.replace(/\[x]/, escape(EWD.ajax.makeRequest.arguments[nParam]));
}
}
//force unique URL to prevent IE using Cached URL
var rn=(Math.round(Math.random()*999999999)+1);
if (zewdurl.indexOf('?')==-1) {
zewdurl=zewdurl+"?";
}
else {
zewdurl=zewdurl+"&";
}
zewdurl=zewdurl+"ewdrn="+rn;
if (EWD.ajax.base) {
zewdurl=EWD.ajax.base+zewdurl;
}
var http_request=false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request=new XMLHttpRequest();
if (http_request.overrideMimeType) {
//http_request.overrideMimeType('text/xml');
}
}
else if (window.ActiveXObject) { // IE
try {
http_request=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
http_request=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {}
}
}
if (!http_request) {
alert('Ajax error : Your browser may not support the XMLHTTP Request Object needed to support Ajax');
setTimeout("document.body.style.cursor='default'",1);
return false;
}
while (zewdurl.indexOf('&amp;')!=-1) {
zewdurl=zewdurl.replace("&amp;","&");
}
if (zewdmethod=="synchPOST") {
http_request.open('POST', zewdurl, false);
http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
http_request.send(zewdpayload);
var zewdTraceFlag=traceFlag;
EWD.ajax.replaceContent(http_request,zewdid,zewdTraceFlag,zewdurl,zewdmethod,zewdpayload);
}
else if (zewdmethod=="synch") {
http_request.open('GET', zewdurl, false);
http_request.send(null);
var zewdTraceFlag=traceFlag;
EWD.ajax.replaceContent(http_request,zewdid,zewdTraceFlag,zewdurl,zewdmethod,zewdpayload);
}
else {
EWD.ajax.httpStatus="";
EWD.ajax.asynchSend(http_request,zewdid,traceFlag,zewdurl,zewdmethod,zewdpayload);
setTimeout("document.body.style.cursor='default'",1);
}
},
asynchSend: function (http_request,id,traceFlag,url,method,payload) {
http_request.onreadystatechange=function() { EWD.ajax.replaceContent(http_request,id,traceFlag,url,method,payload); };
if (method!="post") {
http_request.open('GET', url, true);
http_request.send(null);
}
else {
http_request.open('POST', url, true);
http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
http_request.send(payload);
}
},
replaceContent: function (http_request,zewdid,traceFlag,zewdurl,zewdmethod,zewdpayload) {
if (http_request.readyState==4) {
if (http_request.status==200) {
var text=http_request.responseText;
if (traceFlag=='window') {
document.getElementById("traceContent").value=text;
document.getElementById("traceWindow").style.display="block";
}
if (text.indexOf('<b>CSP Error')!=-1) {
var i=text.indexOf('<ul>');
text=text.substring(i+4);
i=text.indexOf("</ul>");
text=text.substring(0,i);
text="CSP runtime error : "+text;
EWD.ajax.alert(text);
}
if (text.indexOf('id="ewdEBResponse">')!=-1) {
var i=text.indexOf('id="ewdEBResponse">');
text=text.substring(i+19);
i=text.indexOf("</div>");
text=text.substring(0,i);
eval(text);
}
else if (text.indexOf('<title>Enterprise Web Developer : A run-time error has occurred')!=-1) {
var i=text.indexOf('<h3>Enterprise Web Developer Error');
text=text.substring(i+28);
i=text.indexOf("</h3>");
text=text.substring(0,i);
text="EWD runtime error : "+text;
EWD.ajax.alert(text);
}
else if (text.indexOf('The Server reported the following error:')!=-1) {
var i=text.indexOf('</FONT></B><P>');
text=text.substring(i+14);
text="EWD runtime error : "+text;
EWD.ajax.alert(text);
}
else {
var i=text.indexOf('id="ewdajaxonload">');
if (i!=-1) {
text=text.substring(i+19);
i=text.indexOf("</span>");
text=text.substring(0,i);
}
else {
text='';
}
if ((text!='')&&(text.indexOf("var ewdtext=''")==-1)) {
eval(text);
}
else {
document.getElementById(zewdid).innerHTML=http_request.responseText;
var jsID="ewdButtonJS";
var newJSPointer=document.getElementById(jsID);
EWD.ajax.activateJS(newJSPointer);
var newJSPointer=document.getElementById('ewdscript');
setTimeout("document.body.style.cursor='default'",1);
if (traceFlag=='alert') {
alert(http_request.responseText);
}
var jsText="";
if (document.getElementById("ewdajaxonload")) {
onloadPointer=document.getElementById("ewdajaxonload");
jsText=onloadPointer.firstChild.data;
var par=onloadPointer.parentNode;
par.removeChild(onloadPointer);
}
EWD.ajax.activateJS(newJSPointer);
eval(jsText);
}
}
}
else {
var ajaxError='There was a problem reported in the Ajax response (status code: '+http_request.status+' '+http_request.statusText+')';
EWD.ajax.httpStatus=parseInt(http_request.status);
if ((ajaxError!='')&&(EWD.ajax.httpStatus<12000)) alert(ajaxError);
if (EWD.ajax.httpStatus >12000) {
EWD.ajax.asynchSend(http_request,zewdid,traceFlag,zewdurl,zewdmethod,zewdpayload);
}
}
}
},
activateAjaxError: function (errorText) {
if (errorText!="") {
var errorPointer=document.getElementById('ajaxErrorText');
errorPointer.firstChild.data=errorText;
var alertPointer=document.getElementById("ajaxAlert");
if (alertPointer!=null) {
var par=alertPointer.parentNode;
par.removeChild(alertPointer);
}
var head=document.getElementsByTagName("head").item(0);
alertPointer=document.createElement("script");
alertPointer.id="ajaxAlert";
alertPointer.type="text/javascript";
head.appendChild(alertPointer);
alertPointer.text="EWD.ajax.errorOn() ;";
}
},
activateJS: function (newJSPointer) {
if (newJSPointer!=null) {
var newJSCode="";
if (newJSPointer!=null) newJSCode=newJSPointer.firstChild.data;
if (newJSCode!="") {
var node=newJSPointer.firstChild;
var jsText="";
while (node) {
jsText=jsText+node.data
node=node.nextSibling;
}
var par=newJSPointer.parentNode;
par.removeChild(newJSPointer);
if (window.execScript) {
window.execScript(jsText);
}
else {
window.eval(jsText);
}
}
}
},
alert: function(message) {
if (typeof(Ext)!='undefined') {
Ext.MessageBox.alert('EWD Error',message);
}
else {
alert(message);
}
},
errorOn: function () {
document.getElementById('ewdAjaxError').className='ewdDispOn';
},
errorOff: function () {
document.getElementById('ewdAjaxError').className='ewdDispOff'
},
allowSubmit: true,
confirmSubmit: function (confirmText) {
if (confirmText=="") confirmText="Click OK if OK to continue";
EWD.ajax.allowSubmit=EWD.page.displayConfirm(confirmText);
},
getFragment: function(url,targetId,synch) {
var method="synch";
if (!synch) method="GET"
EWD.ajax.makeRequest(url,targetId,method);
},
submit: function (buttonName,formPointer,nextPage,url,id,traceFlag) {
if (EWD.ajax.allowSubmit!=false) {
var nFields=formPointer.elements.length;
var payload="ewdAjaxSubmit=1&ewd_action="+buttonName+"&ewd_pressed="+buttonName+"&ewd_nextPage="+nextPage;
//var payload="ewdAjaxSubmit=1&ewd_nextPage="+nextPage;
for (var nField=0; nField<nFields; nField++) {
var fieldPointer=formPointer.elements[nField];
var name=fieldPointer.name;
if (name!="") {
var type=fieldPointer.type;
var escValue=escape(fieldPointer.value);
escValue=escValue.replace(/\+/g, "%2B");
if ((type=="text")||(type=="password")) {
payload=payload+"&"+name+"="+escValue;
}
if (type=="hidden") {
if (EWD.utils.getPiece(name,"_",1)!="ewd") {
payload=payload+"&"+name+"="+escValue;
}
}
if (type=="select-one") {
payload=payload+"&"+name+"="+escValue;
}
if (type=="textarea") {
payload=payload+"&"+name+"="+escValue;
}
if (type=="radio") {
if (fieldPointer.checked) {
payload=payload+"&"+name+"="+escValue;
}
}
if (type=="checkbox") {
if (fieldPointer.length==undefined) {
if (fieldPointer.checked) {
payload=payload+"&"+name+"="+escValue;
}
}
else {
for (var i=0 ; i<fieldPointer.length ; i++) {
if (fieldPointer[i].checked) {
var escValue=escape(fieldPointer[i].value);
escValue=escValue.replace(/\+/g, "%2B");
payload=payload+"&"+name+"="+escValue;
}
}
}
}
}
}
EWD.ajax.makeRequest(url,id,"post",payload,traceFlag);
}
EWD.ajax.allowSubmit=true;
}
};
/*
The following alternative to Douglas Crockford's toJSONString() method
was written by Theodor Zoulias (http://trimpath.com/forum/viewtopic.php?pid=945)
*/
var toJsonString;
(function () {
toJsonString=function(o) {
var UNDEFINED;
switch (typeof o) {
case 'string': return '\''+encodeJS(o)+'\'';
case 'number': return String(o);
case 'object':
if (o) {
var a=[];
if (o.constructor==Array) {
for (var i=0; i<o.length; i++) {
var json=toJsonString(o[i]);
if (json!=UNDEFINED) a[a.length]=json;
}
return '['+a.join(',')+']';
}
else if (o.constructor==Date) {
return 'new Date('+o.getTime()+')';
}
else {
for (var p in o) {
var json=toJsonString(o[p]);
if (json!=UNDEFINED) a[a.length]=(/^[A-Za-z_]\w*$/.test(p) ? (p+':') : ('\''+encodeJS(p)+'\':'))+json;
}
return '{'+a.join(',')+'}';
}
}
return 'null';
case 'boolean'  : return String(o);
case 'function' : return;
case 'undefined': return 'null';
}
}
function encodeJS(s) {
return (!/[\x00-\x19\'\\]/.test(s)) ? s : s.replace(/([\\'])/g, '\\$1').replace(/\r/g, '\\r').replace(/\n/g, '\\n').replace(/\t/g, '\\t').replace(/[\x00-\x19]/g, '');
}
})()
EWD.slideshow={
getSlide: function(slideNo,loop) {
try {
var slide="slide"+slideNo;
var ssObj=document.getElementById("ewdSlideshow");
ssObj.innerHTML=document.getElementById(slide).innerHTML;
ssObj.setAttribute("slideNo",slideNo);
var titleObj=document.getElementById(slide+"Title");
titleObj.className="ewdPresTitle";
var levels=+titleObj.getAttribute("levels");
for (var level=1;level==levels;level++) {
document.getElementById(slide+"Level"+level).className="ewdPresLevel"+level;
var lines=ssObj.getElementsByTagName("p");
for (var i=0; i<lines.length ; i++) {
var text=lines[i].firstChild.data;
lines[i].firstChild.data=" - "+text;
}
}
if (loop) EWD.slideshow.fadeInLines();
}
catch(err){
return;
}
},
countSlides: function() {
return document.getElementById("ewdSlides").getAttribute("noOfSlides");
},
getLineTime: function() {
try {
return document.getElementById("ewdSlides").getAttribute("linetransition");
}
catch(err) {
return 2;
}
},
getNextSlide: function(loop) {
try {
var slideNo=+document.getElementById("ewdSlideshow").getAttribute("slideNo")+1;
var lastSlide=EWD.slideshow.countSlides();
if (slideNo>lastSlide) slideNo=1;
EWD.slideshow.getSlide(slideNo,loop);
}
catch(err) {
return;
}
},
getLastSlide: function() {
var lastSlide=EWD.slideshow.countSlides();
EWD.slideshow.getSlide(lastSlide,false);
},
getPreviousSlide: function() {
var slideNo=+document.getElementById("ewdSlideshow").getAttribute("slideNo") - 1;
var lastSlide=EWD.slideshow.countSlides();
if (slideNo==0) slideNo=lastSlide;
EWD.slideshow.getSlide(slideNo,false);
},
fadeInLines: function() {
try {
var time=EWD.slideshow.getLineTime();
var ssObj=document.getElementById("ewdSlideshow");
var lines=ssObj.getElementsByTagName("p");
for (var i=0; i<lines.length ; i++) {
var att=lines[i].getAttribute('xstyle');
if (att=="display:none") {
lines[i].style.display="";
lines[i].setAttribute('xstyle','display:');
setTimeout("EWD.slideshow.fadeInLines()",time);
return;
}
}
setTimeout("EWD.slideshow.getNextSlide(true)",time);
}
catch(err) {
return;
}
}
};
EWD.ext={
treeClickHandler: {},
openDesktopWindow: function(title,pageName,width,height,dsName,treeValue,currentPageName) {
if (typeof(windowIndex)=="undefined") windowIndex=0;
windowIndex++;
if (!dsName) dsName='';
if (!treeValue) treeValue='';
var win={
windowId: "window"+windowIndex,
text:title,
fragmentName:pageName,
width:width,
height:height,
dsName:dsName,
treeValue:treeValue,
currentPageName:currentPageName
};
theDesktop.getModule('adhoc').createWindow(win);
},
openWindow: function(win,fragmentName,index,nvpValue) {
var nvp="";
if (typeof(nvpValue)!="undefined") {
nvp="windowNvp="+nvpValue;
}
if (typeof(index)!="undefined") windowIndex=index;
if (typeof(windowIndex)=="undefined") windowIndex=0;
windowIndex++;
win.windowId="window"+windowIndex;
if (!win.title) win.title="New Window";
if (!win.width) win.width=300;
if (!win.height) win.height=400;
if (!win.html) win.html="<div style='background-color:#ffffff;' id='"+win.windowId+"'>Please wait...</div>";
win.listeners={activate:{fn:function(e){EWD.ext.loadWindowFragment(fragmentName,win.windowId,'','',win.currentPageName,nvp);}}};
EWD.ext.window=new Ext.Window(win);
EWD.ext.window.show();
},
validateGridEdit: function(store,editEvent,send) {
var row=editEvent.record.data["col0"];
var column=EWD.ext.columnIndex[editEvent.field];
var value=editEvent.value;
var error=EWD.ext.updateStore(store,row,editEvent.field,value,send);
if (error!="") {
Ext.Msg.alert("Error",error);
editEvent.record.set(editEvent.field,editEvent.originalValue);
editEvent.cancel=true;
}
else {
editEvent.cancel=false;
editEvent.record.set(editEvent.field,editEvent.value);
}
},
updateStore: function(store,row,columnName,value,send) {
var column=EWD.ext.columnIndex[columnName]
var x=store+"[row][column]=value";
eval(x);
EWD.ext.error="";
if (send) EWD.ext.updateSession(store,row,column,value);
return EWD.ext.error;
},
columnIndex: {},
rowEventHandler: function(selectionModel, rowIndex, selectedRecord) {
var currentRow=new Array();
for (var col=0;col<selectedRecord.fields.length;col++) {
currentRow[col]=selectedRecord.get(selectedRecord.fields.keys[col]);
}
currentRecord=currentRow[0]+1;
myFunc(currentRecord,currentRow);
},
showField: function(obj) {
obj.getEl().up('.x-form-item').setDisplayed(true);
},
hideField: function(obj) {
obj.getEl().up('.x-form-item').setDisplayed(false);
}
};
/*
ComboPlus Widget Controller
Build date: 28 July 2008
*/
EWD.utils.comboPlus={
keystrokeThreshold: 1000,
waitThreshold: 500,
curDate: new Date(),
highlightSet: false,
optSelected: "",
bottom: 1000000,
scrolling: false,
regionName: "",
currentDropdown: "",
currentLeft: 0,
currentTop: 0,
currentOption: 0,
browserType: "",
browserOS: "",
allowAnyText: new Array(),
lastNo: new Array(),
fieldRef: new Array(),
selectedText: "",
selectedOption: new Array(),
setButtonStyle: function(name) {
var button=document.getElementById(name+"Btn");
if (button) {
var fileName="images/button_"+EWD.utils.comboPlus.browserType+EWD.utils.comboPlus.browserOS+".jpg";
var background="#fff url("+fileName+") no-repeat 0 0";
if (EWD.utils.comboPlus.browserType=="safari") {
button.style.background=background;
button.style.top="-1px";
button.style.left="-6px";
button.style.width="21px";
button.style.height="25px";
button.style.border="none";
return;
}
if (EWD.utils.comboPlus.browserOS=="2000") {
if (EWD.utils.comboPlus.browserType=="ie6") {
button.style.background=background;
button.style.top="-1px";
button.style.left="-8px";
button.style.width="19px";
button.style.height="22px";
button.style.border="1px solid #9093BE";
button.style.borderLeft="1px solid #ffffff";
button.style.borderTop="";
return;
}
}
if (EWD.utils.comboPlus.browserOS=="xp") {
if (EWD.utils.comboPlus.browserType=="ie7") {
button.style.background=background;
button.style.top="0px";
button.style.left="-7px";
button.style.width="20px";
button.style.height="23px";
button.style.border="1px solid #9093BE";
button.style.borderLeft="1px solid #ffffff";
button.style.borderTop="";
return;
}
if (EWD.utils.comboPlus.browserType=="ie6") {
button.style.background=background;
button.style.top="0px";
button.style.left="-7px";
button.style.width="20px";
button.style.height="23px";
button.style.border="1px solid #9093BE";
button.style.borderLeft="1px solid #ffffff";
button.style.borderTop="";
return;
}
if (EWD.utils.comboPlus.browserType=="firefox") {
button.style.background=background;
button.style.top="0px";
button.style.left="-6px";
button.style.width="21px";
button.style.height="24px";
button.style.border="none";
return;
}
}
if (EWD.utils.comboPlus.browserOS=="linux") {
if (EWD.utils.comboPlus.browserType=="firefox") {
button.style.background=background;
button.style.top="3px";
button.style.left="-6px";
button.style.width="21px";
button.style.height="24px";
button.style.border="none";
return;
}
}
}
},
getBrowserInfo: function() {
var sig=navigator.userAgent;
EWD.utils.comboPlus.browserType="firefox";
if (EWD.utils.comboPlus.contains(sig,"MSIE 6")) EWD.utils.comboPlus.browserType="ie6";
if (EWD.utils.comboPlus.contains(sig,"MSIE 7")) EWD.utils.comboPlus.browserType="ie7";
if (EWD.utils.comboPlus.contains(sig,"Safari")) EWD.utils.comboPlus.browserType="safari";
EWD.utils.comboPlus.browserOS="linux";
if (EWD.utils.comboPlus.contains(sig,"Windows NT 5.1")) EWD.utils.comboPlus.browserOS="xp";
if (EWD.utils.comboPlus.contains(sig,"Windows NT 5.0")) EWD.utils.comboPlus.browserOS="2000";
if (EWD.utils.comboPlus.contains(sig,"Windows NT 6")) EWD.utils.comboPlus.browserOS="vista";
},
contains: function(inString,subString) {
if (inString.indexOf(subString)==-1) return false;
return true;
},
initialiseScrollRegion: function(fieldName) {
EWD.utils.comboPlus.trace("initialiseScrollRegion: fieldName="+fieldName);
EWD.utils.comboPlus.currentDropdown=fieldName;
var pointer=document.getElementById("scrollRegion"+fieldName);
var shim=document.getElementById("scrollRegionShim"+fieldName);
pointer.className="cpScrollAreaOn";
if ((EWD.utils.comboPlus.browserType=="ie7")&&(EWD.utils.comboPlus.browserOS=="xp")) {
pointer.style.border="1px solid #9093BE";
}
if ((EWD.utils.comboPlus.browserType=="firefox")&&(EWD.utils.comboPlus.browserOS=="xp")) {
pointer.style.border="1px solid #849DB1";
}
pointer.style.height=96;
EWD.utils.comboPlus.scrolling=false;
var currPos=pointer.scrollTop;
pointer.scrollTop=10000000;
EWD.utils.comboPlus.bottom=pointer.scrollTop;
pointer.scrollTop=currPos;
EWD.utils.comboPlus.scrolling=true;
EWD.utils.comboPlus.findPosition(document.getElementById(fieldName));
var width=document.getElementById(fieldName).offsetWidth;
pointer.style.left=EWD.utils.comboPlus.currentLeft+1;
pointer.style.top=EWD.utils.comboPlus.currentTop+22;
pointer.style.width=width+15;
shim.style.left=pointer.style.left;
shim.style.top=pointer.style.top;
shim.style.width=pointer.style.width;
EWD.utils.comboPlus.trace("shim width="+shim.style.width);
shim.style.height=pointer.clientHeight+2;
shim.style.display="inline";
},
waiting: function(value,atTime,fieldName) {
EWD.utils.comboPlus.trace("waiting: fieldName="+fieldName+" ; value="+value+" ; atTime="+atTime);
if (atTime==EWD.utils.comboPlus.curTime) {
var pointer=document.getElementById("scrollRegion"+fieldName);
pointer.innerHTML= '';
EWD.utils.comboPlus.optSelected="";
EWD.utils.comboPlus.selectedOption[fieldName] =0;
EWD.utils.comboPlus.initialiseScrollRegion(fieldName);
EWD.utils.comboPlus.trace("2: call to QuicklistMatches: value="+value);
EWD.utils.comboPlus.quickListMatches(fieldName,escape(value));
EWD.utils.comboPlus.currentOption=0;
var curDate=new Date();
EWD.utils.comboPlus.lastTime=curDate.getTime();
}
},
quickList: function(e,fieldName,value,allowAnyText) {
EWD.utils.comboPlus.trace("quickList: fieldName="+fieldName+" ; value="+value+" ; keyCode="+e.keyCode);
EWD.utils.comboPlus.allowAnyText["scrollRegion"+fieldName]=allowAnyText;
var pointer=document.getElementById("scrollRegion"+fieldName);
if (e.keyCode==9) {
return;
}
if (e.keyCode==38) return;
if (e.keyCode==40) return;
if (e.keyCode==13) {
if (pointer.className=="cpScrollArea") return;
EWD.utils.comboPlus.initialise("scrollRegion"+fieldName);
e.cancelBubble=true;
return;
}
var curDate=new Date();
EWD.utils.comboPlus.curTime=curDate.getTime();
var timeDiff=EWD.utils.comboPlus.curTime - EWD.utils.comboPlus.lastTime;
EWD.utils.comboPlus.trace("curTime="+EWD.utils.comboPlus.curTime+"; lastTime="+EWD.utils.comboPlus.lastTime+"; timeDiff="+timeDiff);
if (timeDiff>EWD.utils.comboPlus.keystrokeThreshold) {
pointer.innerHTML= '';
EWD.utils.comboPlus.optSelected="";
EWD.utils.comboPlus.selectedOption[fieldName] =0;
EWD.utils.comboPlus.initialiseScrollRegion(fieldName);
EWD.utils.comboPlus.trace("1: call to QuicklistMatches: value="+value);
EWD.utils.comboPlus.quickListMatches(fieldName,escape(value));
EWD.utils.comboPlus.currentOption=0;
var curDate=new Date();
EWD.utils.comboPlus.lastTime=curDate.getTime();
}
else {
setTimeout("EWD.utils.comboPlus.waiting('"+value+"','"+EWD.utils.comboPlus.curTime+"','"+fieldName+"')",EWD.utils.comboPlus.waitThreshold);
}
},
appendOption: function(fieldName,text) {
if (!EWD.utils.comboPlus.lastNo[fieldName]) {
var no=1;
}
else {
var no=EWD.utils.comboPlus.lastNo[fieldName];
}
EWD.utils.comboPlus.addOption(fieldName,no+1,text);
},
addOption: function(fieldName,no,text) {
EWD.utils.comboPlus.trace("addOption: fieldName="+fieldName+" ; no="+no +" ; text="+text);
var par=document.getElementById("scrollRegion"+fieldName);
var el=document.createElement("div");
var id="cpOpt"+fieldName+no;
el.setAttribute("id",id);
el.setAttribute("className","txtMain");
el.onclick=function() {
EWD.utils.comboPlus.selectOption(this,fieldName);
}
el.onmouseover=function() {
EWD.utils.comboPlus.highlightOn(this);
}
el.onmouseout=function() {
EWD.utils.comboPlus.highlightOff(this);
}
par.appendChild(el);
var tNode=document.createTextNode(text);
el.appendChild(tNode);
if (!EWD.utils.comboPlus.lastNo[fieldName]) {
EWD.utils.comboPlus.lastNo[fieldName]=1;
}
else {
EWD.utils.comboPlus.lastNo[fieldName]++;
}
EWD.utils.comboPlus.currentDropdown=fieldName;
},
checkScrolling: function(obj) {
EWD.utils.comboPlus.trace("checkScrolling: obj.id="+obj.id);
if (EWD.utils.comboPlus.scrolling) {
var currPos=obj.scrollTop;
if (currPos >= EWD.utils.comboPlus.bottom) {
var id=obj.id;
id=EWD.utils.getPiece(id,"scrollRegion",2);
EWD.utils.comboPlus.getNextOptions(id,"");
EWD.utils.comboPlus.scrolling=false;
var currPos=obj.scrollTop;
obj.scrollTop=10000000;
EWD.utils.comboPlus.bottom=obj.scrollTop;
obj.scrollTop=currPos;
EWD.utils.comboPlus.scrolling=true;
}
}
},
checkScrollRegionSize: function(fieldName) {
EWD.utils.comboPlus.trace("checkScrollRegionSize: fieldName="+fieldName);
var par=document.getElementById("scrollRegion"+fieldName);
if (par.hasChildNodes()) {
var lastItem=par.childNodes[par.childNodes.length - 1];
if (par.childNodes.length>0) {
var ht=lastItem.offsetTop+lastItem.offsetHeight+3;
if (ht<par.clientHeight) {
par.style.height=ht+'px';
var shim=document.getElementById("scrollRegionShim"+fieldName);
shim.style.height=(ht+0)+'px';
}
}
}
},
selectOption: function(obj,fieldName) {
EWD.utils.comboPlus.trace("selectOption: obj.id="+obj.id+" ; fieldName="+fieldName);
EWD.utils.comboPlus.regionName="scrollRegion"+fieldName;
document.getElementById(EWD.utils.comboPlus.regionName).setAttribute("active",1);
if (EWD.utils.comboPlus.optSelected!="") {
EWD.utils.comboPlus.highlightOff(document.getElementById(EWD.utils.comboPlus.optSelected));
}
obj.className="cpHlOn";
EWD.utils.comboPlus.highlightSet=true;
var field=document.getElementById(fieldName);
field.value=obj.innerHTML;
field.select();
if (field.fireEvent) {
field.fireEvent("onChange");
}
else {
var hev=document.createEvent('HTMLEvents');
hev.initEvent('change', false, false);
field.dispatchEvent(hev);
}
EWD.utils.comboPlus.toggleDropdown(EWD.utils.comboPlus.regionName);
EWD.utils.comboPlus.optSelected=obj.id;
},
highlightOn: function(obj) {
EWD.utils.comboPlus.trace("highlightOn: obj.id="+obj.id);
if (EWD.utils.comboPlus.optSelected!="") {
EWD.utils.comboPlus.highlightOff(document.getElementById(EWD.utils.comboPlus.optSelected));
}
if (EWD.utils.comboPlus.currentOption!=0) {
document.getElementById(EWD.utils.comboPlus.currentOption).className="cpHlOff";
}
obj.className="cpHlOn";
EWD.utils.comboPlus.highlightSet=false;
EWD.utils.comboPlus.currentOption=obj.id;
EWD.utils.comboPlus.selectedOption[EWD.utils.comboPlus.currentDropdown]=obj.id;
},
highlightOff: function(obj) {
EWD.utils.comboPlus.trace("highlightOff: obj.id="+obj.id);
if (!EWD.utils.comboPlus.highlightSet) {
obj.className="cpHlOff";
}
},
popupsOff: function(e) {
if (!e) e=window.event;
var srcEl;
if (e.srcElement) {
srcEl=e.srcElement;
}
else if (e.target) {
srcEl=e.target;
}
EWD.utils.comboPlus.trace("popupsOff: EWD.utils.comboPlus.regionName="+EWD.utils.comboPlus.regionName);
if (EWD.utils.comboPlus.regionName!="") {
if (document.getElementById(EWD.utils.comboPlus.regionName).getAttribute("active")=="0") {
EWD.utils.comboPlus.toggleDropdown(EWD.utils.comboPlus.regionName);
document.getElementById(EWD.utils.comboPlus.regionName).setAttribute("active",1);
return;
}
}
if (EWD.utils.comboPlus.currentDropdown=="") {
return;
}
var src=srcEl.id;
var match="scrollRegion"+EWD.utils.comboPlus.currentDropdown;
if (src==match) {
return;
}
if (src==(EWD.utils.comboPlus.currentDropdown+"Btn")) {
return;
}
if (src.substr(0,5)=="cpOpt") {
return;
}
if (src==EWD.utils.comboPlus.currentDropdown) {
return;
}
EWD.utils.comboPlus.hideDropdown(EWD.utils.comboPlus.currentDropdown);
},
dsDebug: function(str) {
var debugWindow=document.getElementById("dsDebug");
if (debugWindow==null) {
debugWindow=document.createElement("textarea");
debugWindow.setAttribute("id", "dsDebug");
debugWindow.setAttribute("cols", "80");
debugWindow.setAttribute("rows", "20");
document.body.appendChild(debugWindow);
}
debugWindow.value=debugWindow.value+str+"\n";
},
setMouseOut: function(dropdownId) {
EWD.utils.comboPlus.trace("setMouseOut: dropdownId="+dropdownId);
var pointer=document.getElementById(dropdownId);
if (pointer.className=="cpScrollArea") {
document.getElementById(dropdownId).setAttribute("active",1);
}
else {
document.getElementById(dropdownId).setAttribute("active",0);
}
},
toggleDropdown: function(dropdownId) {
EWD.utils.comboPlus.trace("toggleDropdown: dropdownId="+dropdownId);
var fieldName=EWD.utils.getPiece(dropdownId,"scrollRegion",2);
EWD.utils.comboPlus.trace("toggleDropdown: fieldName="+fieldName);
var value=document.getElementById(fieldName).value;
EWD.utils.comboPlus.trace("toggleDropdown: value="+value);
var pointer=document.getElementById(dropdownId);
if (pointer.className=="cpScrollArea") {
EWD.utils.comboPlus.trace("toggleDropdown: toggling on");
EWD.utils.comboPlus.initialiseScrollRegion(fieldName);
if ((value !="")&&(!pointer.hasChildNodes())&&(!EWD.utils.comboPlus.allowAnyText[dropdownId])) {
// nothing yet in drop-down panel, so run query from start
EWD.utils.comboPlus.quickListMatches(fieldName,value);
}
else {
var noOfChildren=pointer.childNodes.length;
var found=false;
if (EWD.utils.comboPlus.browserType=="firefox") {
if (noOfChildren>1) {
for (var i=1;i<noOfChildren;i++) {
var fc=pointer.childNodes[i].firstChild;
ch1=fc.data;
if (ch1==value) found=true;
}
}
}
else if (noOfChildren>0) {
for (var i=0;i<noOfChildren;i++) {
var fc=pointer.childNodes[i].firstChild;
ch1=fc.data;
if (ch1==value) found=true;
}
}
if (!found) {
EWD.utils.comboPlus.quickListMatches(fieldName,value);
}
EWD.utils.comboPlus.currentDropdown=fieldName;
if (typeof EWD.utils.comboPlus.selectedOption[fieldName]!="undefined") {
EWD.utils.comboPlus.currentOption=EWD.utils.comboPlus.selectedOption[fieldName];
if (EWD.utils.comboPlus.currentOption!=0) {
var obj=document.getElementById(EWD.utils.comboPlus.currentOption);
EWD.utils.comboPlus.highlightOn(obj);
}
}
}
EWD.utils.comboPlus.checkScrollRegionSize(fieldName);
}
else {
EWD.utils.comboPlus.trace("toggleDropdown: toggling off");
EWD.utils.comboPlus.hideDropdown(fieldName);
EWD.utils.comboPlus.currentDropdown="";
}
},
hideDropdown: function(field) {
EWD.utils.comboPlus.trace("hideDropdown: field="+field);
var currentValue=EWD.utils.comboPlus.selectedText;
EWD.utils.comboPlus.trace("currentValue="+currentValue);
var panel=document.getElementById("scrollRegion"+field);
panel.innerHTML="";
panel.className="cpScrollArea";
document.getElementById("scrollRegionShim"+field).style.display="none";
if (EWD.utils.comboPlus.userFunc) {
EWD.utils.comboPlus.userFunc(field, currentValue);
}
},
findPosition: function(obj) {
EWD.utils.comboPlus.trace("findPosition: obj.id="+obj.id);
EWD.utils.comboPlus.currentLeft=EWD.utils.comboPlus.currentTop=0;
if (obj.offsetParent) {
EWD.utils.comboPlus.currentLeft=obj.offsetLeft;
EWD.utils.comboPlus.currentTop=obj.offsetTop;
while (obj=obj.offsetParent) {
EWD.utils.comboPlus.currentLeft += obj.offsetLeft;
EWD.utils.comboPlus.currentTop += obj.offsetTop;
var left=obj.style.left;
if (left!='') {
left=EWD.utils.getPiece(left,"px",1);
EWD.utils.comboPlus.currentLeft -= left;
}
var top=obj.style.top;
if (top!='') {
top=EWD.utils.getPiece(top,"px",1);
EWD.utils.comboPlus.currentTop -= top;
}
}
}
return;
},
moveSelected: function(e) {
if (!e) e=event;
EWD.utils.comboPlus.trace("moveSelected: keycode="+e.keyCode+" ; EWD.utils.comboPlus.currentDropdown="+EWD.utils.comboPlus.currentDropdown);
if (EWD.utils.comboPlus.currentDropdown!="") {
var currId=EWD.utils.comboPlus.currentOption;
var optionPrefix="cpOpt"+EWD.utils.comboPlus.currentDropdown;
var optNo=EWD.utils.getPiece(currId,optionPrefix,2);
optNo=parseInt(optNo);
if (e.keyCode==38) {
if (optNo>1) {
var panelName="scrollRegion"+EWD.utils.comboPlus.currentDropdown;
var newId="cpOpt"+EWD.utils.comboPlus.currentDropdown+(optNo - 1);
document.getElementById(EWD.utils.comboPlus.currentOption).className="cpHlOff";
EWD.utils.comboPlus.highlightOn(document.getElementById(newId));
var pos=document.getElementById(panelName).scrollTop;
document.getElementById(panelName).scrollTop=pos - 16;
}
return false;
}
if (e.keyCode==40) {
if (!optNo) {
optNo=1;
}
var panelName="scrollRegion"+EWD.utils.comboPlus.currentDropdown;
var panelPointer=document.getElementById(panelName);
var noOfChildren=panelPointer.childNodes.length;
EWD.utils.comboPlus.trace("moveSelected: optNo="+optNo+" ; noOfChildren="+noOfChildren);
if ((optNo==1)&&(noOfChildren==1)) {
var newId="cpOpt"+EWD.utils.comboPlus.currentDropdown+optNo;
EWD.utils.comboPlus.highlightOn(document.getElementById(newId));
}
if (optNo<noOfChildren) {
var oldId="cpOpt"+EWD.utils.comboPlus.currentDropdown+optNo;
var oldStyle=document.getElementById(oldId).className;
EWD.utils.comboPlus.trace("oldId="+oldId+"; oldStyle="+oldStyle);
if (oldStyle!="cpHlOn") {
var newId="cpOpt"+EWD.utils.comboPlus.currentDropdown+optNo;
EWD.utils.comboPlus.trace("1: newId="+newId);
}
else {
var newId="cpOpt"+EWD.utils.comboPlus.currentDropdown+(optNo+1);
EWD.utils.comboPlus.trace("2: newId="+newId);
}
if (EWD.utils.comboPlus.currentOption!=0) {
document.getElementById(EWD.utils.comboPlus.currentOption).className="cpHlOff";
EWD.utils.comboPlus.trace("3: got here");
}
EWD.utils.comboPlus.highlightOn(document.getElementById(newId));
if (oldStyle=="cpHlOn") {
var pos=document.getElementById(panelName).scrollTop;
document.getElementById(panelName).scrollTop=pos+16;
EWD.utils.comboPlus.trace("4: got here");
}
}
return false;
}
if (e.keyCode==13) {
if (EWD.utils.comboPlus.currentOption!=0) {
EWD.utils.comboPlus.selectOption(document.getElementById(EWD.utils.comboPlus.currentOption),EWD.utils.comboPlus.currentDropdown);
}
return false;
}
if (e.keyCode==9) {
EWD.utils.comboPlus.regionName="scrollRegion"+EWD.utils.comboPlus.currentDropdown;
EWD.utils.comboPlus.toggleDropdown(EWD.utils.comboPlus.regionName);
return false;
}
}
else {
//if (event.keyCode==9) alert("tab pressed but currentDropdown not set");
}
return true;
},
initialise: function(dropdownId,allowAnyText) {
EWD.utils.comboPlus.trace("initialise: dropdownId="+dropdownId);
EWD.utils.comboPlus.highlightSet=false;
EWD.utils.comboPlus.optSelected="";
EWD.utils.comboPlus.bottom=1000000;
EWD.utils.comboPlus.scrolling=false;
EWD.utils.comboPlus.regionName="";
EWD.utils.comboPlus.currentDropdown=EWD.utils.getPiece(dropdownId,"scrollRegion",1);
EWD.utils.comboPlus.currentLeft=0;
EWD.utils.comboPlus.currentTop=0;
EWD.utils.comboPlus.currentOption=0;
EWD.utils.comboPlus.toggleDropdown(dropdownId);
EWD.utils.comboPlus.allowAnyText[dropdownId]=allowAnyText;
},
trace: function (string) {
return;
var trace=document.getElementById("trace");
var fc=trace.firstChild;
var text;
if (EWD.utils.comboPlus.browserType=="firefox") {
text=trace.value;
}
else {
text=fc.data;
}
var val=string+"\r\n"+text;
if (EWD.utils.comboPlus.browserType=="firefox") {
trace.value=val;
}
else {
fc.data=val;
}
}
}
/*
EWD.utils.comboPlus.lastTime=EWD.utils.comboPlus.curDate.getTime();
EWD.utils.comboPlus.curTime=EWD.utils.comboPlus.lastTime;
document.onmousedown=EWD.utils.comboPlus.popupsOff;
document.onkeydown=EWD.utils.comboPlus.moveSelected;
EWD.utils.comboPlus.getBrowserInfo();
*/
