if(typeof LMI==='undefined'){window.LMI={};}
if(typeof DS==='undefined'){window.DS={};}
(function(){function getObject(obj,create,parent){parent=parent||window;var i=obj.indexOf('.');if(i<0){if(obj in parent){return parent[obj];}else if(create){return(parent[obj]={});}}else{var tmp=obj.substring(0,i);var rest=obj.substring(i+1);if(tmp){if(!(tmp in parent)&&create){parent[tmp]={};}
return getObject(rest,create,parent[tmp]);}}
return null;}
var L=getObject("LMI.Lang",true);L.getObject=getObject;L.extend=function(child,parent){function P(){}
P.prototype=parent.prototype;child.prototype=new P();child.prototype.constructor=child;child.superclass=parent.prototype;};L.importFunctions=function(cls,intrfc){if(typeof intrfc.ExportFunctions!='undefined'){for(var i in intrfc.ExportFunctions){cls.prototype[i]=intrfc.ExportFunctions[i];}}};L.useObject=function(objName,func){var obj=(typeof(objName)==='object'?objName:L.getObject(objName));if(typeof(obj)==='object'){func(obj);}};L.forEach=function(list,func,scope){var i,l;if(list.forEach){list.forEach(func,scope);}else{for(i=0,l=list.length;i<l;++i){func.call(scope,list[i],i,list);}}};L.filter=function(list,func){var i,l=list.length,a=[];for(i=0;i<l;++i){if(func(list[i])){a.push(list[i]);}}
return a;};L.some=function(list,func){var i,l=list.length;for(i=0;i<l;++i){if(func(list[i])){return true;}}
return false;};L.indexOf=function(list,el,start){start=start||0;var i=start,len=list.length;for(;i<len;++i){if(list[i]===el){return i;}}
return-1;};})();if(typeof LMI==='undefined'){window.LMI={};}
LMI.Browser=(function(){var B={},versionSearchString,dataOS=[{string:navigator.platform,subString:"Win",identity:"Windows"},{string:navigator.platform,subString:"Mac",identity:"Mac"},{string:navigator.platform,subString:"Linux",identity:"Linux"}],dataBrowser=[{string:navigator.userAgent,subString:"OmniWeb",versionSearch:"OmniWeb/",identity:"OmniWeb"},{string:navigator.vendor,subString:"Apple",identity:"Safari"},{prop:window.opera,identity:"Opera"},{string:navigator.vendor,subString:"iCab",identity:"iCab"},{string:navigator.vendor,subString:"KDE",identity:"Konqueror"},{string:navigator.userAgent,subString:"Firefox",identity:"Firefox"},{string:navigator.vendor,subString:"Camino",identity:"Camino"},{string:navigator.userAgent,subString:"Netscape",identity:"Netscape"},{string:navigator.userAgent,subString:"MSIE",identity:"Explorer",versionSearch:"MSIE"},{string:navigator.userAgent,subString:"Gecko",identity:"Mozilla",versionSearch:"rv"},{string:navigator.userAgent,subString:"Mozilla",identity:"Netscape",versionSearch:"Mozilla"}];function searchVersion(dataString){var index=dataString.indexOf(versionSearchString);if(index===-1){return null;}
return parseFloat(dataString.substring(index+versionSearchString.length+1));}
function searchString(data){for(var i=0;i<data.length;++i){var dataString=data[i].string;var dataProp=data[i].prop;versionSearchString=data[i].versionSearch||data[i].identity;if(dataString){if(dataString.indexOf(data[i].subString)!==-1){return data[i].identity;}}else if(dataProp){return data[i].identity;}}
return null;}
B.toString=function(){return"LMI.Browser{ browser='"+B.browser+"'; version='"+B.version+"'; OS='"+B.OS+"' }";};B.browser=searchString(dataBrowser)||"An unknown browser";B.version=searchVersion(navigator.userAgent)||searchVersion(navigator.appVersion)||"an unknown version";B.OS=searchString(dataOS)||"an unknown OS";return B;})();LMI.Url=function(url){this.url=url;this.parseUrl();};LMI.Url.prototype=(function(){var U={hasQueryValue:function(key){return typeof this.query[key]!=='undefined';},getFirstQueryValue:function(key){return this.query[key]?this.query[key][0]:'';},getQueryValues:function(key){return this.query[key]?this.query[key]:[];},getQueryNames:function(){var i,a=[];for(i in this.query){a.push(i);}
return a;},getLocation:function(){return this.location;},getParamString:function(){return this.paramString;},addQueryValue:function(key){if(!this.hasQueryValue(key)){this.query[key]=[];}
for(var i=1;i<arguments.length;++i){this.query[key].push(arguments[i]);}},decode:function(val){return decodeURIComponent(val.replace(/\+/g,"%20"));},parseUrl:function(){var url=this.url;var pieces=url.split('?');var p2=pieces[0].split(';');this.query={};this.queryString='';this.anchor='';this.location=p2[0];this.page=this.location.match(/(?:\/[^\/]+\/)*([^\/]*)$/)[1];this.paramString=(p2[1]?p2[1]:'');if(pieces[1]){var p3=pieces[1].split('#');this.queryString=p3[0];this.anchor=(p3[1]?p3[1]:'');}
if(this.queryString){var kvPairs=this.queryString.split(/&/);for(var i=0;i<kvPairs.length;++i){var kv=kvPairs[i].split('=');this.addQueryValue(this.decode(kv[0]),this.decode(kv[1]));}}}};return U;})();LMI.Url.VoidParser=function(url){this.url=url;this.parsed=null;if(decodeURIComponent(url).match(/void\(\s*['"](.+)['"]\s*\)/)){this.parsed=LMI.Utils.stringToObject(RegExp.$1);}};LMI.Url.VoidParser.prototype.getOneValue=function(key){if(key in this.parsed){return this.parsed[key];}
return'';};