
function AgatDictionary(arg){this.obj={};if(arg instanceof Array){for(var i=0;i<arg.length;i++){this.set(arg[i],true);}}else if(arg&&typeof(arg)=="object"){for(var key in arg){this.set(key,arg[key]);}}};AgatDictionary.prototype={get:function(key){return(('*'+key)in this.obj)?this.obj['*'+key]:undefined;},set:function(key,value){this.obj['*'+key]=value;},contains:function(key){return('*'+key)in this.obj;},keys:function(){var ar=[];for(var key in this.obj){if(key.charAt(0)=='*'){ar.push(key.substr(1));}}
return ar;}};var AgatUtils={getElementByID:function(sId){var outArray=new Array();if(typeof(sId)!='string'||!sId){return outArray;};if(document.evaluate){var xpathString="//*[@id='"+sId.toString()+"']"
var xpathResult=document.evaluate(xpathString,document,null,0,null);while((outArray[outArray.length]=xpathResult.iterateNext())){}
outArray.pop();}
else if(document.all){var j=document.all[sId];if(j!=undefined){if(j.id!=undefined){outArray.push(j);}
else{for(var i=0;i<j.length;i+=1){outArray[i]=j[i];}}}}else{var aEl=$('[id='+sId+']').each(function(){outArray.push(this);});};var pos;if(outArray.length>1)
pos=AgatEngine.getWindowProperty("glbCurrRecordNumber")-1;else if(outArray.length==1)
pos=0;else
return;return outArray[pos];},getElementsByIdOrName:function(node,id,snapshot){if(node==document&&!snapshot&&(navigator.appName=="Microsoft Internet Explorer"&&navigator.appVersion>="4.0")){return document.getElementsByName(id);}
if(id.indexOf("'")!=-1)return[];var expr=".//*[@id='"+id+"' or @name='"+id+"']";var iter=this.selectNodes(node,expr);var ar=[];var elem;while((elem=iter.iterateNext())!=null)ar.push(elem);return ar;},findPosition:function(obj){var curleft=curtop=0;if(obj.offsetParent){do{curleft+=obj.offsetLeft;curtop+=obj.offsetTop;}while(obj=obj.offsetParent);return[curleft,curtop];}},parseXMLFromString:function(xml){if(window.ActiveXObject){var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");xmlDoc.async="false";xmlDoc.loadXML(xml);}
else{var xmlParser=new DOMParser();var xmlDoc=xmlParser.parseFromString(xml,"text/xml");}
return xmlDoc;},evalInContentContext:function(expr,type){try{return type(eval(expr));}
catch(e){return null;}},callWindowFunction:function(name,args,type){var res=null;try{var unsafewindow=window;if(document.defaultView!=null){if(document.defaultView.wrappedJSObject!=null)
unsafewindow=document.defaultView.wrappedJSObject;}
var func=unsafewindow[name];if(!func){return type?type():null;}
var res=func.apply(unsafewindow,args);if(type){res=type(res);}else{res=null;}}catch(e){var errstr;try{errstr=String(e);}catch(e2){throw"exception in user defined function";}
throw"exception in user defined function: "+errstr;}
return res;},splitParams:function(str,lowercase){if(lowercase===undefined)lowercase=true;var dict=new AgatDictionary();var ar=str.split(";");for(var i=0;i<ar.length;i++){var colloc=ar[i].indexOf(":");if(colloc==-1)continue;var key=ar[i].substr(0,colloc);var value=ar[i].substr(colloc+1);if(lowercase)key=key.toLowerCase();dict.set(key,value);}
return dict;},parseBool:function(str){return str.toString().toLowerCase()=="true";},setOpacity:function(elemID,opacity){var elem=document.getElementById(elemID);if(elem){$(elem).css("opacity",opacity/100);$(elem).css("filter","alpha(opacity="+opacity+")");}}};