
/* client/inc/browser_ext.js */
function getStyle(elm,styleProp,doc){if(window.getComputedStyle)
return(doc||document).defaultView.getComputedStyle(elm,null).getPropertyValue(styleProp);else
if(elm.currentStyle)
return elm.currentStyle[styleProp];};function emulateEventHandlers(eventNames){for(var i=0;i<eventNames.length;i++){document.addEventListener(eventNames[i],function(e){window.event=e;},true);}};typeof(window.event)=="object"?"":emulateEventHandlers(["mousemove","mousedown","mouseover"]);if(window.opera&&parseInt(window.opera.version(),10)<11&&typeof document.getElementsByTagName('body')[0].oncontextmenu=='undefined'){window.addEventListener('mousedown',function(e){if(e.altKey){e.preventDefault();e.cancelBubble=true;return false;}
else
if(e.button==2){var elm=e.srcElement;do{if(elm.oncontextmenu){e.preventDefault();e.cancelBubble=true;if(window.opera.__overrideBtn){window.opera.__overrideBtn.parentNode.removeChild(window.opera.__overrideBtn);window.opera.__overrideBtn=null;}
window.opera.__overrideBtn=document.createElement('input');window.opera.__overrideBtn.type='button';window.opera.__overrideBtn.style.position='absolute';window.opera.__overrideBtn.style.zIndex=10000;window.opera.__overrideBtn.style.width='5px;';window.opera.__overrideBtn.style.height='5px;';window.opera.__overrideBtn.style.left=(e.clientX-2)+'px';window.opera.__overrideBtn.style.top=(e.clientY-2)+'px';window.opera.__overrideBtn.style.opacity=0.01;document.body.appendChild(window.opera.__overrideBtn);var evt={'type':'contextmenu','srcElement':e.srcElement,'clientX':e.clientX,'clientY':e.clientY,'button':2};elm.oncontextmenu(evt);break;}
elm=elm.parentNode;}
while(elm!=document)}},true);window.addEventListener('mouseup',function(e){if(window.opera.__overrideBtn){window.opera.__overrideBtn.parentNode.removeChild(window.opera.__overrideBtn);window.opera.__overrideBtn=null;}},true);window.addEventListener('click',function(e){if(e.altKey){var elm=e.srcElement;do{if(elm.oncontextmenu){e.preventDefault();e.cancelBubble=true;var evt={'type':'contextmenu','srcElement':e.srcElement,'clientX':e.clientX,'clientY':e.clientY,'button':2};elm.oncontextmenu(evt);break;}
elm=elm.parentNode;}
while(elm!=document)
return false;}},true);};function AttachEvent(obj,eventname,handler){if(obj.attachEvent)
obj.attachEvent(eventname,handler);else
obj.addEventListener(eventname.substr(2),handler,false);};function unique_id(){return(Math.random()*1000000000000000000)+''+(new Date).getTime();};function downloadItem(path){if(currentBrowser().indexOf('MSIE')==0){var win=window.open('server/download.php?'+path,"file","scrollbars=yes,location=yes,toolbar=yes,status=yes,menubar=yes,resizable=yes,width=200,height=200");win.document.onload=function(){window.close();};return;}
var id='ifrm_download_'+unique_id(),frm=mkElement('iframe',{id:id,src:'server/download.php?'+path});frm.style.position='absolute';frm.style.width='1px';frm.style.height='1px';frm.style.top='0';frm.style.left='-1000px';document.getElementsByTagName('body')[0].appendChild(frm);setTimeout("try{ var elm; if ((elm = document.getElementById('"+id+"'))) elm.parentNode.removeChild(elm); }catch(r){}",60000);frm=null;};var GSM0338_To_Unicode_Charset=[0x40,0x24,0xA5,0xE8,0xE9,0xF9,0xEC,0xF2,0xE7,0x0A,0xD8,0xF8,0x0D,0xC5,0xE5,0x394,0x5F,0x3A6,0x393,0x39B,0x3A9,0x3A0,0x3A8,0x3A3,0x398,0x39E,0x1B,0xC6,0xE6,0xDF,0xC9,0x20,0x21,0x22,0x23,0xA4,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0xA1,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0xC4,0xD6,0xD1,0xDC,0xA7,0xBF,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0xE4,0xF6,0xF1,0xFC,0xE0];Math.ceilFloat=function(num,n){n=this.pow(10,parseInt(n,10))||1;return this.ceil(parseFloat(num)*n)/n;};Math.rand=function(n){n=n||10000000000000000;return(this.floor(this.random()*n+1));};_me=cMaxZIndex.prototype;function cMaxZIndex(){this.zindex=[500];};_me.get=function(b){var z=this.zindex[this.zindex.length-1]+1;if(!b)this.zindex.push(z);return z;};_me.remove=function(z){var pos=inArray(this.zindex,z);if(pos>-1)this.zindex.splice(pos,1);};maxZIndex=new cMaxZIndex();function setSelectAll(eElement){try{eElement.style.setProperty('MozUserSelect','all','');eElement.style.setProperty('-moz-user-select','all','');}
catch(e){}
try{eElement.unselectable="off";}catch(e){};try{eElement.style.KhtmlUserSelect="";}catch(e){}
try{eElement.style.WebkitUserSelect="auto";}catch(e){}};function setSelectNone(eElement){try{eElement.style.setProperty('MozUserSelect','none','');eElement.style.setProperty('-moz-user-select','none','');}
catch(e){}
try{eElement.unselectable="on";}catch(e){};try{eElement.style.KhtmlUserSelect="none";}catch(e){}
try{eElement.style.WebkitUserSelect="none";}catch(e){}};function pubEval(val){if(!val)return false;var nav=navigator.userAgent.toLowerCase();try{if(typeof window.execScript=='object')
window.execScript(val);else{var tmp;if(currentBrowser()=='Safari'||currentBrowser()=='KHTML'){window.tmp_codeEval=val;var script_tag=document.createElement('script');script_tag.type='text/javascript';script_tag.innerHTML='eval(window.tmp_codeEval); window.tmp_codeEval = "";';document.getElementsByTagName('head')[0].appendChild(script_tag);script_tag.parentNode.removeChild(script_tag);}
else
window.eval(val);}}
catch(e){throw new Error("pubEval() - unable to Eval: \r\n"+val);return false;}};function searchParent(me,eParent){if(Is.String(eParent)){eParent=eParent.toUpperCase();for(;;){me=me.parentNode;switch(me.tagName){case eParent:return me;case'BODY':return false;}}}
else
for(;;){try{me=me.parentNode;if(me.tagName=='BODY')return false;if(me==eParent)return eParent;}
catch(e){return false;}}};function mkElement(tElm,eatt,doc){var elm=(doc||document).createElement(tElm);if(typeof eatt=='object'){for(var i in eatt){try{switch(i){case'href':elm[i]=eatt[i]?eatt[i]:'javascript: void(0);';break;case'for':elm.setAttribute(i,eatt[i]);break;default:elm[i]=eatt[i];}}catch(e){}}}
return elm;};function isDescendent(x,y){while((y=y.parentNode))if(y==x)return true;return false;};function addcss(elm){if(!elm)return;if(elm.classList&&elm.classList.add){for(var a=1;a<arguments.length;a++)
if(arguments[a]!==true)
elm.classList.add(arguments[a].indexOf(' ')>-1?arguments[a].trim():arguments[a]);}
else{var css=elm.className,r;for(var a=1;a<arguments.length;a++)
if(arguments[a]!==true){r=new RegExp("\\b"+arguments[a]+"\\b",'gi');css=css.replace(r,'');css+=' '+arguments[a];r=null;}
if(elm.className!=css)
elm.className=css;}};function removecss(elm){if(!elm)return;if(arguments.length<2)
elm.className='';else{if(elm.classList&&elm.classList.remove){for(var a=1;a<arguments.length;a++)
if(arguments[a]!==true)
elm.classList.remove(arguments[a].indexOf(' ')>-1?arguments[a].trim():arguments[a]);}
else{var css=(elm.className||'').split(' '),l=css.length;for(var a=1;a<arguments.length;a++){if(arguments[a]===true)
continue;for(var i=css.length-1;i>-1;i--)
if(css[i].toLowerCase()==arguments[a].toLowerCase())
css.splice(i,1);}
if(css.length!=l)
elm.className=css.join(' ');}}};function getSize(elm,doc){var r={x:0,y:0,h:elm.offsetHeight,w:elm.offsetWidth};if(elm.getBoundingClientRect){doc=doc||document;var box=elm.getBoundingClientRect();r.x=box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft);r.y=box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop);if(currentBrowser()=='MSIE7'){r.x--;r.y--;}}
else{r.x=elm.offsetLeft;r.y=elm.offsetTop;while((elm=elm.offsetParent)){if(!elm||elm.tagName=='BODY')break;r.x+=elm.offsetLeft-elm.scrollLeft;r.y+=elm.offsetTop-elm.scrollTop;}}
return r;};_me=_Is.prototype;function _Is(){};_me.Boolean=function(a){return typeof a=='boolean';};_me.Array=function(a){return this.Object(a)&&a.constructor==Array;};_me.Empty=function(o){if(this.Object(o))
for(var i in o)
if(!this.Undefined(o[i]))
return false;return true;};_me.Function=function(a){return typeof a=='function';};_me.Null=function(a){return typeof a=='object'&&!a;};_me.Number=function(a){return typeof a=='number'&&isFinite(a);};_me.Object=function(a){return(a&&typeof a=='object')||this.Function(a);};_me.String=function(a){return typeof a=='string';};_me.Email=function(a){if(!this.String(a))return false;return/^([a-z0-9][\\-\\_\\.]?)*[a-z0-9]+\\@[a-z0-9]+([\\.\\-\\_]?[a-z0-9])*\\.[a-z]{2,4}$/gim.test(a);};_me.Domain=function(a){if(!this.String(a))return false;return/^([a-z0-9][\\-\\_\\.]?)*\\.[a-z]{2,4}$/gim.test(a);};_me.Undefined=function(a){return typeof a=='undefined';};_me.URL=function(a){if(!this.String(a))return false;return/^http(s?):\/\/[a-z0-9]*/gim.test(a);};_me.Defined=function(x){return typeof(x)!="undefined";};_me.Date=function(nYear,nMonth,nDay){var arMonth=new Array(31,28,31,30,31,30,31,31,30,31,30,31);var intMaxDay=0;var nnYear=parseInt(nYear,10);var nnMonth=parseInt(nMonth,10);var nnDay=parseInt(nDay,10);if(!this.Number(nnYear)||!this.Number(nnMonth)||!this.Number(nnDay))return false;if((nnYear%4==0&&nnYear%100!=0)||nnYear%400==0)
arMonth[1]=29;else
arMonth[1]=28;intMaxDay=arMonth[nnMonth-1];if(nnYear<0)return false;if(nnMonth>12||nnMonth<1)return false;if(nnDay>intMaxDay||nnDay<1)return false;return true;};Is=new _Is();String.prototype.entityify=function(){return this.replace(/&/g,"&amp;").replace(/\"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;");};String.prototype.unentityify=function(){return this.replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/&quot;/g,"\"").replace(/&amp;/g,"&");};String.prototype.urlEncode=function(){return escape(this).replace(/\+/g,'%2B').replace(/%20/g,'+').replace(/\*/g,'%2A').replace(/\//g,'%2F').replace(/@/g,'%40');};String.prototype.highlite_links=function(on1){var tmp=this;if(this.indexOf('@')>0&&this.indexOf('/')<0){on1=on1||'';var emailPattern=/(([a-z0-9]{,32}[\-\_\.]?){,5}[a-z0-9]{1,32}\@[a-z0-9]{1,32}([\.\-\_]?[a-z0-9]){,32}\.[a-z]{2,4})/g;tmp=tmp.replace(emailPattern,"<a href=\"mailto:$1\""+(on1?' '+on1:'')+">$1</a>");}
var urlPattern=/([A-Za-z]{3,5}:\/\/[A-Za-z0-9-_\:]+(\.|\/)(&[a-zA-Z]+;|[A-Za-z0-9\-\_%&\@\?\#\:\/\.=\+])+)/g;tmp=tmp.replace(urlPattern,"<a href=\"$1\" target=\"_blank\">$1</a>");return tmp;};String.prototype.escapeHTML=function(){var div=document.createElement('div');div.appendChild(document.createTextNode(this));if(currentBrowser()=='Safari'||currentBrowser()=='KHTML')
return div.innerHTML.replace(/>/gm,'&gt;');else
return div.innerHTML;};String.prototype.unescapeHTML=function(){if(this.indexOf('&')<0)return this.toString();var div=document.createElement('div');div.innerHTML=this.toString();div=div.childNodes[0];var out=div.nodeValue;while(1){if((div=div.nextSibling)){if(div.nodeValue)
out+=div.nodeValue;}
else
break;}
div=null;return out;};String.prototype.quote=function(){var c,i,l=this.length,o='"';for(i=0;i<l;i+=1){c=this.charAt(i);if(c>=' '){if(c=='\\'||c=='"')o+='\\';o+=c;}
else{switch(c){case'\b':o+='\\b';break;case'\f':o+='\\f';break;case'\n':o+='\\n';break;case'\r':o+='\\r';break;case'\t':o+='\\t';break;default:c=c.charCodeAt().toString(16);if(c.length==1){o+='\\u000'+c;}else{o+='\\u00'+c;}}}}
return o+'"';};String.prototype.trim=function(){return this.replace(/^\s*(\S*(\s+\S+)*)\s*$/,"$1");};String.prototype.remove=function(sRegExp,sOption){var regEx;if(Is.String(sRegExp))
regEx=new RegExp(sRegExp,(typeof sOption!="undefined")?sOption:"g");else
regEx=sRegExp;return this.replace(regEx,"");};String.prototype.wrap=function(){return this.replace(/(\r\n)|(\r)|(\n)/gm,"<br />");};String.prototype.removeTags=function(str){return this.replace(/<[\/]?([a-zA-Z0-9]+)[^>^<]*>/gm,str||'').replace(/\&nbsp\;/g,' ');};String.prototype.quoteSQL=function(){return this.replace(/([\'])/g,"$1$1").replace(/([%])/g,"\\$1");};String.prototype.quoteMeta=function(){return this.replace(/([\!\#\$\%\^\@\.\&\*\(\)\-\_\=\+\:\;\"\'\\\/\?\<\>\~\[\]\{\}\`])/g,"\\$1");};Date.prototype.toWMString=function(bDateOnly,bTimeOnly){var regEx=/^(\d{1})$/g;with(this){var full='';if(!bTimeOnly){var year=getFullYear().toString();var month=(getMonth()+1).toString().replace(regEx,'0$1');var day=getDate().toString().replace(regEx,'0$1');storage.library('gw_others');switch(parseInt(GWOthers.getItem('LAYOUT_SETTINGS','date_format'),10)){default:case 0:full=month+'/'+day+'/'+year.substr(2);break;case 1:full=month+'/'+day+'/'+year;break;case 5:full=day+'-'+month+'-'+year.substr(2);break;case 2:full=day+'-'+month+'-'+year;break;case 6:full=day+'/'+month+'/'+year.substr(2);break;case 3:full=day+'/'+month+'/'+year;break;case 4:full=year+'-'+month+'-'+day;break;case 7:full=day+'.'+month+'.'+year.substr(2);break;case 8:full=day+'.'+month+'.'+year;break;}}
if(bDateOnly)
return full;else{if(GWOthers.getItem('LAYOUT_SETTINGS','time_format')>0)
return(full?full+' ':'')+dateFormat(this,'hh:MM TT');else
return(full?full+' ':'')+getHours().toString().replace(regEx,'0$1')+':'+getMinutes().toString().replace(regEx,'0$1');}}};Date.prototype.getUNIX=function(){return Math.floor(this.getTime()/1000);};Date.prototype.setUNIX=function(iSec){this.setTime(iSec*1000);return this;};Date.prototype.setGWTime=function(iDate,iTime){return this.setQTime(iDate,iTime?iTime*60:0);};Date.prototype.setQTime=function(iDate,iTime){if(typeof iTime=='undefined'||isNaN(iTime)||iTime==-1)
iTime=0;var hours,mins,secs;with(Math){hours=floor(iTime/3600);mins=floor((iTime%3600)/60);secs=(iTime%3600)%60;}
var oDate=parseJulianDate(iDate);this.setFullYear(oDate.year,oDate.month-1,oDate.day);this.setHours(hours,mins,secs,0);return this;};Date.prototype.setUTCT=function(iDate){var x=/([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})(Z)?/g;var r=x.exec(iDate);if(!r)
r=x.exec(iDate);x=null;this[r[8]?'setUTCFullYear':'setFullYear'](('20'+r[1])*1,(r[2]*1)-1,r[3]*1);this[r[8]?'setUTCHours':'setHours'](r[4]*1,r[5]*1,r[6]*1);};Date.prototype.setVersit=function(iDate,sec_offset){iDate=iDate.replace(/[\:\-]/g,'');var x=/([0-9]{4})([0-9]{2})([0-9]{2})(T([0-9]{2})([0-9]{2})([0-9]{2})(Z)?)?/g;var r=x.exec(iDate);if(!r)
r=x.exec(iDate);x=null;if(r){this[r[8]?'setUTCFullYear':'setFullYear'](r[1]*1,(r[2]*1)-1,r[3]*1);r[5]=r[5]||0;r[6]=r[6]||0;r[7]=r[7]||0;this[r[8]?'setUTCHours':'setHours'](r[5]*1,r[6]*1,(r[7]*1)+(sec_offset*1||0));}};Date.prototype.getJulianDate=function(){return getJulianDate(this.getDate(),this.getMonth()+1,this.getFullYear());};Date.prototype.getWeekOfYear=function(dowOffset){dowOffset=typeof(dowOffset)=='int'?dowOffset:0;var newYear=new Date(this.getFullYear(),0,1);var day=newYear.getDay()-dowOffset;day=(day>=0?day:day+7);var daynum=Math.floor((this.getTime()-newYear.getTime()-(this.getTimezoneOffset()-newYear.getTimezoneOffset())*60000)/86400000)+1;var weeknum;if(day<4){weeknum=Math.floor((daynum+day-1)/7)+1;if(weeknum>52){nYear=new Date(this.getFullYear()+1,0,1);nday=nYear.getDay()-dowOffset;nday=nday>=0?nday:nday+7;weeknum=nday<4?1:53;}}
else
weeknum=Math.floor((daynum+day-1)/7);return weeknum;};function getJulianDate(day,month,year){var greg,julian,sign,absm,jul;day=day*1;month=month*1;year=year*1
with(Math){if(year<=1585)
greg=0;else
greg=1;if((month-9)<0)
sign=-1;else
sign=1;julian=-1*floor(7*(floor((month+9)/12)+year)/4);absm=abs(month-9);jul=floor(year+sign*floor(absm/7));jul=-1*floor((floor(jul/100)+1)*3/4);julian=julian+floor(275*month/9)+day+(greg*jul);julian=julian+1721027+2*greg+367*year;}
return julian;};function parseJulianDate(julian){var juli,base1,base2,year,month,day;var date=new Object();with(Math){juli=floor(julian);base1=floor(juli+68569);base2=floor(4*base1/146097);base1=base1-floor((146097*base2+3)/4);year=floor(4000*(base1+1)/1461001);base1=base1-floor(1461*year/4)+31;month=floor(80*base1/2447);day=base1-floor(2447*month/80);base1=floor(month/11);month=month+2-12*base1;year=100*(base2-49)+year+base1;}
date.day=day;date.month=month;date.year=year;return date;};function parseJulianTime(iTime){var H=(iTime-iTime%3600)/3600,M=Math.ceil(iTime%3600/60);M=M<10?'0'+M:M;if(GWOthers.getItem('LAYOUT_SETTINGS','time_format')>0)
return(H%12||12)+':'+M+(H<12?" AM":" PM");else
return H+':'+M;};var dateFormat=function(){var token=/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTtn])\1?|[LloZ]|"[^"]*"|'[^']*'/g,timezone=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,timezoneClip=/[^-+\dA-Z]/g,pad=function(value,length){value=String(value);length=parseInt(length)||2;while(value.length<length)
value="0"+value;return value;};return function(date,mask){if(arguments.length==1&&(typeof date=="string"||date instanceof String)&&!/\d/.test(date)){mask=date;date=undefined;}
date=date?new Date(date):new Date();if(isNaN(date))
throw"invalid date";var dF=dateFormat;mask=String(dF.masks[mask]||mask||dF.masks["default"]);var d=date.getDate(),D=date.getDay(),m=date.getMonth(),y=date.getFullYear(),H=date.getHours(),M=date.getMinutes(),s=date.getSeconds(),L=date.getMilliseconds(),o=date.getTimezoneOffset(),flags={d:d,dd:pad(d),ddd:dF.i18n.dayNames[D],dddd:dF.i18n.dayNames[D+7],m:m+1,mm:pad(m+1),mmm:dF.i18n.monthNames[m],mmmm:dF.i18n.monthNames[m+12],yy:String(y).slice(2),yyyy:y,h:H%12||12,hh:pad(H%12||12),H:H,HH:pad(H),M:M,MM:pad(M),n:M,nn:pad(M),s:s,ss:pad(s),l:pad(L,3),L:pad(L>99?Math.round(L/10):L),t:H<12?"a":"p",tt:H<12?"am":"pm",T:H<12?"A":"P",TT:H<12?"AM":"PM",Z:(String(date).match(timezone)||[""]).pop().replace(timezoneClip,""),o:(o>0?"-":"+")+pad(Math.floor(Math.abs(o)/60)*100+Math.abs(o)%60,4)};return mask.replace(token,function($0){return($0 in flags)?flags[$0]:$0.slice(1,$0.length-1);});};}();dateFormat.masks={"default":"ddd mmm d yyyy HH:MM:ss",shortDate:"m/d/yy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",imDateTime:"yyyy-mm-dd'T'HH:MM:ssZ",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoFullDateTime:"yyyy-mm-dd'T'HH:MM:ss.lo",rfc2822:"ddd, dd mmm yyyy HH:MM:ss o",mediumDate:"m/d/yy HH:MM"};dateFormat.i18n={dayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"]};Date.prototype.format=function(mask){return dateFormat(this,mask);};function arrayKeys(arr){var keys=new Array();for(var i in arr)
if(arr[i]!=null)
keys.push(i);return keys;};function inArray(aArray,sElm)
{if(typeof aArray.indexOf!='undefined'&&Is.Array(aArray))
return aArray.indexOf(sElm);else
for(var i in aArray)
if(aArray[i]==sElm)return i;return-1;};function reverse(oObj){if(oObj.constructor==Array)
return oObj.reverse();var key=[],oOut={};for(var i in oObj)
key.push(i);key.reverse();for(var i in key)
oOut[key[i]]=oObj[key[i]];return oOut;};function arrConcat(){var main={};for(var a=0;a<arguments.length;a++)
for(var i in arguments[a])main[i]=arguments[a][i];return main;};function arrConcatValues(){var main=clone(arguments[0]);for(var a=1;a<arguments.length;a++)
for(var i in arguments[a])
if(inArray(main,arguments[a][i])<0)
main.push(arguments[a][i]);return main;};function mkArrayPath(keys,arr,val){if(typeof arr!='object')arr={};var out=arr;for(var i in keys){if(arguments.length>2&&keys.length-1==i)
arr[keys[i]]=val;else
if(typeof arr[keys[i]]!='object')
arr[keys[i]]={};arr=arr[keys[i]];}
return out;};function arrayPath(aData,aDPath){for(var i in aDPath){aData=aData[aDPath[i]];if(typeof aData=='undefined')
return;}
return aData;};function arraySearch(aArray,sNeedle,bCase){var sFlag='g',aOut=[];if(bCase)sFlag='gi';if(!Is.Array(aArray)||!Is.String(sNeedle))return aOut;var rRe=new RegExp(sNeedle.quoteMeta(),sFlag);for(var i in aArray)
if(aArray[i].match&&aArray[i].match(rRe))aOut.push(aArray[i]);return aOut;};function substract(main){if(arguments.length<2)return main;var a,n;for(var ii=1;ii<arguments.length;ii++){a=arguments[ii];for(var i in a)
if((n=inArray(main,a[i]))!=-1)delete main[n];}
return main;};function getFreeKey(arr){for(var i=0;i<=arr.length;i++)
if(typeof arr[i]=='undefined')
return i;};function arrKeySlice(arr1,arr2){var k,isa=false,out=[];if(arr2.constructor==Array)isa=true;if(!arr1||!arr2)return isa?out:compact(arr2);for(var i in arr2){if(isa)
k=arr2[i]
else
k=i;if(!isa&&!arr1[k]&&arr2[k])
out[k]=arr2[k];else if(typeof arr1[k]!='undefined')
out[k]=arr1[k];}
return out;};function compact(a){var b;if(Is.Array(a)){b=[];for(var i in a)
if(a[i])b.push(a[i]);}
else{b={};for(var i in a)
if(a[i])b[i]=a[i];}
return b;};function count(arr){var i=0;if(typeof arr=='object'){for(var v in arr)i++;return i;}
return-1;};function arrayCompare(arr1,arr2){var length=0;for(var key in arr1){if(arr1[key]!=arr2[key]){return false;}
length++;}
if(count(arr2)==length)
return true;else
return false;};function buildURL(varList){var separator='';var url='';for(var name in varList){url+=separator+encodeURIComponent(name)
+'='+encodeURIComponent(varList[name]);separator='&';}
return url;};function parseURL(url){var p,r,argList,newArg,output=[];if(!url)
url=self.location.href;if((p=url.indexOf('?'))>-1&&(p<url.indexOf('=')))url=url.substr(p+1);argList=url.split('&');for(var i=0;i<argList.length;i++){newArg=argList[i].split('=');output[unescape(newArg[0])]=unescape(newArg[1]);}
return output;};function parseFileSize(i){if((i=parseInt(i,10))&&Is.Number(i)){i=Math.ceilFloat(i/1024,1);if(i>1024)
return Math.ceilFloat(i/1024,1)+' MB';else
return i+' kB';}
else
return'0 kB';};_me=cCookieManager.prototype;function cCookieManager(){}
_me.set=function(sName,aValue,iDays){var sExpires="";var dDate=new Date();var storage=null;try{if(window.localStorage)
storage=window.localStorage;}
catch(r){}
if(storage){var aData={};if(storage['cookie'])
try{aData=JSON.parse(storage['cookie'].toString());}
catch(r){}
if(aValue)
aData[sName]=aValue;else
delete aData[sName];storage['cookie']=JSON.stringify(aData);return true;}
else
if(!Is.Defined(document.cookie))
return false;if(iDays){if(iDays>0){dDate.setTime(dDate.getTime()+(iDays*86400000));sExpires="; expires="+dDate.toGMTString();}
else
sExpires="; expires=-1";}
if(typeof aValue=='string'||typeof aValue=='number')aValue=[aValue];document.cookie=sName+"="+buildURL(aValue)+sExpires+";";return true;};_me.get=function(sName){try{if(window.localStorage)
return JSON.parse(window.localStorage['cookie'].toString())[sName];else
if(!document.cookie)
return;}
catch(r){return;}
var sSeek=sName+"=";var sCookie="";var aCookie=document.cookie.split(";");var sCookieValue;for(var i in aCookie){sCookie=aCookie[i].trim();if(sCookie.indexOf(sSeek)!=0)continue;sCookieValue=sCookie.substring(sSeek.length);if(sCookieValue)
return parseURL(sCookie.substring(sSeek.length));else
return;}
return;};var cookieManager=new cCookieManager();function pushParameterToCallback(aResponse,arg){if(Is.Function(aResponse[0])){if(Is.Array(aResponse[1]))
aResponse[1].push(arg);else
aResponse[1]=[arg];}
else
if(Is.Object(aResponse[0])){if(Is.Array(aResponse[2]))
aResponse[2].push(arg);else
aResponse[2]=[arg];}
else
throw'pushParameterToCallback - Invalid argument';};function getCallbackFunction(aResponse){if(Is.Function(aResponse[0]))
return aResponse[0];else
if(Is.Function(aResponse[1]))
return aResponse[1];else{if(!aResponse[0]._destructed)
return aResponse[0][aResponse[1]];}};function executeCallbackFunction(aResponse)
{if(Is.Array(aResponse)&&((Is.Object(aResponse[0])&&(Is.String(aResponse[1])||Is.Function(aResponse[1])))||Is.Function(aResponse[0])))
try
{var nIndex;if(Is.Function(aResponse[0]))
nIndex=1;else
nIndex=2;var args=[];for(var i=1;i<arguments.length;i++)
args.push(arguments[i]);if(Is.Array(aResponse[nIndex]))
args=args.concat(aResponse[nIndex]);var bOut;if(nIndex==1)
bOut=aResponse[0].apply(null,args);else
if(Is.Function(aResponse[1]))
bOut=aResponse[1].apply(aResponse[0],args);else{bOut=aResponse[0][aResponse[1]].apply(aResponse[0],args);if(aResponse[0]._destructed==true)
return false;}
if(bOut)
return true;}
catch(e){if(gui._REQUEST_VARS['frm'])
inspect2(e);var err='';if(Is.String(aResponse[0]))
err="Error while executing "+aResponse[0]+"() in browser_ext:executeCallbackFunction()";else
err="Error while executing "+(aResponse[0]&&aResponse[0]._pathName?aResponse[0]._pathName:'oObject')+"."+aResponse[1]+"() in browser_ext:executeCallbackFunction()";err+="\nCode:\n"+getCallbackFunction(aResponse);throw err;}
else
return false;};function parseNameToLocation(sName,aLCTval){if(Is.Object(aLCTval)){aLCTval.ITMCLASSIFYAS=sName;aLCTval.ITMSUFFIX='';}
else
var aLCTval={ITMCLASSIFYAS:sName,ITMSUFFIX:''};var aName=sName.split(' ');if(aName.length>1){var tmp=aName.shift();if(tmp.lastIndexOf('.')>0){tmp=tmp.split('.');if(!(aLCTval.ITMFIRSTNAME=tmp.pop()))
aLCTval.ITMFIRSTNAME=aName.shift();aLCTval.ITMTITLE=tmp.join('.');}
else
aLCTval.ITMFIRSTNAME=tmp;if(aName.length>1&&aName[1].indexOf('.')!=0)
aLCTval.ITMMIDDLENAME=aName.shift();tmp=aName.shift();if(tmp.indexOf('.')>-1){tmp=tmp.split('.');aLCTval.ITMSURNAME=tmp.shift();aLCTval.ITMSUFFIX=tmp.join('.');}
else
aLCTval.ITMSURNAME=tmp;if((tmp=aName.join(' ')))
aLCTval.ITMSUFFIX=tmp;}
return aLCTval;};function getPrimaryAccountFromAddress(){var aAccInfo=dataSet.get('accounts',[sPrimaryAccount]);if(aAccInfo['FULLNAME'])
return'"'+aAccInfo['FULLNAME']+'" <'+sPrimaryAccount+'>';else
return sPrimaryAccount;}
function getSubobjects(oObject,aObjects){aObjects=aObjects||{};for(var i in oObject)
if(i.charAt(0)!='_'&&i.substr(0,2)!='X_'&&i.substr(0,2)!='x_')
if(oObject[i]._type=='obj_tabs'||oObject[i]._type=='obj_tab')
getSubobjects(oObject[i],aObjects);else
aObjects[i]=oObject[i];return aObjects;};function getAuxiliarySubobjects(oObject,aObjects){aObjects=aObjects||{};for(var i in oObject)
if(i.charAt(0)!='_')
if(i.substr(0,2)=='X_'||i.substr(0,2)=='x_')
aObjects[i]=oObject[i];else
if(oObject[i]._type=='obj_tabs'||oObject[i]._type=='obj_tab')
getAuxiliarySubobjects(oObject[i],aObjects);return aObjects;};function loadDataIntoForm(oObject,aValues){var aObjects=getSubobjects(oObject);for(var i in aObjects)
if(Is.Defined(aValues[i])&&aValues[i]!='undefined')
aObjects[i]._value(aValues[i]);};function loadDataIntoFormOnAccess(oObject,aValues,bIgnoreDomain){var aObjects=getSubobjects(oObject,aObjects);if(aValues['USERACCESS']||aValues['DOMAINADMINACCESS'])
var aAuxiliaryObjects=getAuxiliarySubobjects(oObject);for(var i in aObjects){if(aValues['ACCESS'][i]){switch(aValues['ACCESS'][i]){case'full':aObjects[i]._value(aValues['VALUES'][i]);break;case'view':aObjects[i]._value(aValues['VALUES'][i]);aObjects[i]._disabled(true);break;case'none':aObjects[i]._main.parentNode.style.display="none";}}
if(aValues['DOMAINADMINACCESS']&&!bIgnoreDomain){if(aAuxiliaryObjects['x_'+i+'_set']){aAuxiliaryObjects['x_'+i+'_set'].domadmin._value((aValues['DOMAINADMINACCESS'][i]=='view')?true:false);if(aValues['ACCESS'][i]=='view')
aAuxiliaryObjects['x_'+i+'_set'].domadmin._disabled(true);}}
if(aValues['USERACCESS']){if(aAuxiliaryObjects['x_'+i+'_set']){aAuxiliaryObjects['x_'+i+'_set'].user._value((aValues['USERACCESS'][i]=='view')?true:false);if(aValues['ACCESS'][i]=='view')
aAuxiliaryObjects['x_'+i+'_set'].user._disabled(true);}}}};function storeDataFromFormWithAccess(oObject,aValues,aAccess){var aObjects=getSubobjects(oObject);var aAuxiliaryObjects=getAuxiliarySubobjects(oObject);var value;for(var i in aObjects){if(Is.Defined((value=aObjects[i]._value())))
aValues[i]=value;else
aValues[i]='';if(aAuxiliaryObjects['x_'+i+'_set']&&aAuxiliaryObjects['x_'+i+'_set'].domadmin){if(!aAccess['DOMAINADMINACCESS'])aAccess['DOMAINADMINACCESS']={};aAccess['DOMAINADMINACCESS'][i]=aAuxiliaryObjects['x_'+i+'_set'].domadmin._value()?'view':'full';}
if(aAuxiliaryObjects['x_'+i+'_set']){if(!aAccess['USERACCESS'])aAccess['USERACCESS']={};aAccess['USERACCESS'][i]=aAuxiliaryObjects['x_'+i+'_set'].user._value()?'view':'full';}}};function storeDataFromForm(oObject,aValues){var aObjects=getSubobjects(oObject);var value;for(var i in aObjects){if(Is.Defined((value=aObjects[i]._value())))
aValues[i]=value;else
aValues[i]='';}};function firstIndex(oObject){if(Is.Object(oObject)){for(var i in oObject)
return i;return null;}
else
return null;}
function firstValue(oObject){if(Is.Object(oObject)){for(var i in oObject)
return oObject[i];return null;}
else
return null;}
function shiftObject(oObject){if(Is.Object(oObject)){for(var i in oObject){var result=oObject[i];delete oObject[i];return result;}
return null;}
else
return null;}
function isFormEmpty(aValues){for(var i in aValues){if(Is.Object(aValues[i])){if(!isFormEmpty(aValues[i]))return false;}
else
if(aValues[i]!='')return false;}
return true;}
function translateFolder(sFolder){switch(sFolder){case'INBOX':return getLang('COMMON_FOLDERS::INBOX');case'__@@VIRTUAL@@__':return getLang('COMMON_FOLDERS::VIRTUAL-FOLDERS');default:return sFolder;}}
_me=cColors.prototype;function cColors(){this.hexchars="0123456789ABCDEF";};_me.rgb2hsv=function(r,g,b){var R=r/255;var G=g/255;var B=b/255;var iMin=Math.min(R,G,B);var iMax=Math.max(R,G,B);var dMax=iMax-iMin;var H,S,V=iMax;if(dMax==0){H=0;S=0;}
else{S=dMax/iMax;var dR=(((iMax-R)/6)+(dMax/2))/dMax;var dG=(((iMax-G)/6)+(dMax/2))/dMax;var dB=(((iMax-B)/6)+(dMax/2))/dMax;if(R==iMax)H=dB-dG;else
if(G==iMax)H=(1/3)+dR-dB;else
if(B==iMax)H=(2/3)+dG-dR;if(H<0)H+=1;if(H>1)H-=1;}
return[H*255,S*255,V*255];};_me.rgb2hsl=function(r,g,b){var R=r/255;var G=g/255;var B=b/255;var iMin=Math.min(R,G,B);var iMax=Math.max(R,G,B);var dMax=iMax-iMin;var H,S,L=(iMax+iMin)/2;if(dMax==0){H=0;S=0;}
else{if(L<0.5)
S=dMax/(iMax+iMin);else
S=dMax/(2-iMax-iMin);var dR=(((iMax-R)/6)+(dMax/2))/dMax;var dG=(((iMax-G)/6)+(dMax/2))/dMax;var dB=(((iMax-B)/6)+(dMax/2))/dMax;if(R==iMax)
H=dB-dG;else
if(G==iMax)
H=(1/3)+dR-dB;else
if(B==iMax)
H=(2/3)+dG-dR;if(H<0)H+=1;if(H>1)H-=1;}
return[Math.ceil(H*255),Math.ceil(S*255),Math.ceil(L*255)];};_me.isValidRGB=function(aRGB){if((!aRGB[0]&&aRGB[0]!=0)||isNaN(aRGB[0])||aRGB[0]<0||aRGB[0]>255||(!aRGB[1]&&aRGB[1]!=0)||isNaN(aRGB[1])||aRGB[1]<0||aRGB[1]>255||(!aRGB[2]&&aRGB[2]!=0)||isNaN(aRGB[2])||aRGB[2]<0||aRGB[2]>255)return false;return true;};_me.hex2rgb=function(str){str=str.replace('#','');return[(this.toDec(str.substr(0,1))*16)+this.toDec(str.substr(1,1)),(this.toDec(str.substr(2,1))*16)+this.toDec(str.substr(3,1)),(this.toDec(str.substr(4,1))*16)+this.toDec(str.substr(5,1))];return rgb;};_me.toDec=function(hexchar){return this.hexchars.indexOf(hexchar.toUpperCase());};_me.rgb2hex=function(r,g,b){return this.toHex(r)+this.toHex(g)+this.toHex(b);};_me.toHex=function(n){n=n||0;n=parseInt(n,10);if(isNaN(n))n=0;n=Math.round(Math.min(Math.max(0,n),255));return this.hexchars.charAt((n-n%16)/16)+this.hexchars.charAt(n%16);};colors=new cColors();function getActualEventTime(){var now=new Date();var julian=now.getJulianDate();var time=now.getHours()*60+now.getMinutes();time-=time%30;return{'EVNSTARTDATE':julian,'EVNSTARTTIME':time,'EVNENDDATE':julian,'EVNENDTIME':time+30};};function arrToString(arr){if(arr===null)
return'null';var tmp;switch(typeof arr){case'string':return"'"+arr.replace(/\'/g,"\\'")+"'";case'number':return arr;case'object':var aResult=[],bEnd=false;if(Is.Array(arr)){aResult.push('[');for(var i=0;i<arr.length;i++){if((tmp=arrToString(arr[i]))!==false){if(bEnd)
aResult.push(',');aResult.push(tmp);bEnd=true;}}
aResult.push(']');}
else{aResult.push('{');for(var i in arr){if((tmp=arrToString(arr[i]))!==false){if(bEnd)
aResult.push(',');aResult.push("'"+i+"'",':',tmp);bEnd=true;}}
aResult.push('}');}
return aResult.join('');case'undefined':return false;}};function valuesToString(arr){var sResult='';for(var n in arr)
sResult+=arr[n]+'|';return sResult.substr(0,sResult.length-1);};function MailAddress(){}
MailAddress.createEmail=function(name,email){var out='';if(name){name=name.replace('"','\\"').trim();out=(name.indexOf(' ')>-1||name.indexOf(',')>-1?'"'+name+'"':name);}
if(email){if(out)out+=' ';out+='<'+email+'>';}
return out;};MailAddress.splitEmails=function(sMails){if(!sMails)return[];return MailAddress.parseMail(sMails,'address_array');};MailAddress.splitEmailsAndNames=function(sMails){if(!sMails)return[];return MailAddress.parseMail(sMails,'name_and_email');};MailAddress.parseMail=function(sMails,sFormat){if(!sMails)return'';function getAddresses(sMails,sFormat){function nextDelimiter(sString,nIndex,items){var result=[];if(!items)
items=new Array('"',',',';','<');result[0]=-1;for(var i in items){ind=sString.indexOf(items[i],nIndex);if(ind!=-1&&(result[0]==-1||ind<result[0])){result[0]=ind;result[1]=items[i];}}
return result;}
function getString(sString,nIndex,cDelimiter,bStripDelimiter){var str='';var ind=nIndex+1;var result=[];var aInd;while(1){aInd=nextDelimiter(sString,ind);if(aInd[0]==-1){str+=sString.substr(ind);ind=-1;break;}
if(aInd[1]==cDelimiter){str+=sString.substring(ind,aInd[0]);ind=aInd[0]+1;break;}
else
if(aInd[1]=='\\'){str+=sString.substring(ind,aInd[0])+(bStripDelimiter?'':'\\')+sString.charAt(aInd[0]+1);ind=aInd[0]+2;}
else{str+=sString.substring(ind,aInd[0])+aInd[1];ind=aInd[0]+1;}}
result[0]=ind;result[1]=str.trim();return result;}
function getStringTillDelimiter(sString,nIndex,bStripDelimiter)
{var str='';var ind=nIndex;var result=[];var aInd;while(1){aInd=nextDelimiter(sString,ind);if(aInd[0]==-1){str+=sString.substr(ind);ind=-1;break;}
if(aInd[1]==','||aInd[1]==';'){str+=sString.substring(ind,aInd[0]);ind=aInd[0]+1;break;}
else if(aInd[1]=='\\'){str+=sString.substring(ind,aInd[0])+(bStripDelimiter?'':'\\')+sString.charAt(aInd[0]+1);ind=aInd[0]+2;}
else if(aInd[1]=='\''||aInd[1]=='"'){var aString=getString(sString,aInd[0],aInd[1],bStripDelimiter);if(aString[0]==-1){str+=aInd[1]+aString[1];ind=-1;break;}
else{str+=aInd[1]+aString[1]+aInd[1];ind=aString[0];}}
else{str+=sString.substring(ind,aInd[0])+aInd[1];ind=aInd[0]+1;}}
result[0]=ind;result[1]=str.trim();return result;}
function stripEmailBrackets(sEmail){var nStart=0;var nEnd=sEmail.length;if(sEmail.charAt(0)=='<')
nStart++;if(sEmail.charAt(nEnd-1)=='>')
nEnd--;return sEmail.substring(nStart,nEnd);}
function parseNameAndEmail(sMails){var sTmp='';var aResult=[];var aItem=[];var nIndex=0;var aDelimiter=nextDelimiter(sMails,0);var aString;while(1){if(aDelimiter[0]==-1){sTmp+=sMails.substr(nIndex);aItem['name']='';aItem['email']=sTmp.trim();aResult.push(aItem);break;}
if(aDelimiter[1]=='\''||aDelimiter[1]=='"'){aString=getString(sMails,aDelimiter[0],aDelimiter[1],true);if(aString[0]==-1){aItem['name']='';aItem['email']=aString[1];aResult.push(aItem);break;}
else{aItem['name']=aString[1];aString=getStringTillDelimiter(sMails,aString[0],true);aItem['email']=aString[1];aResult.push(aItem);aItem=[];if(aString[0]==-1)
break;else
nIndex=aString[0];}}
else
if(aDelimiter[1]=='\\'){sTmp+=sMails.substring(nIndex,aDelimiter[0])+sMails.charAt(aDelimiter[0]+1);nIndex=aDelimiter[0]+2;}
else
if(aDelimiter[1]=='<'){aString=getStringTillDelimiter(sMails,aDelimiter[0],true);sTmp+=sMails.substring(nIndex,aDelimiter[0]);aItem['name']=sTmp.trim();aItem['email']=aString[1];aResult.push(aItem);if(aString[0]==-1)
break;aItem=[];sTmp='';nIndex=aString[0];}
else
if(aDelimiter[1]==','||aDelimiter[1]==';'){sTmp+=sMails.substring(nIndex,aDelimiter[0]);aItem['name']='';aItem['email']=sTmp.trim();aResult.push(aItem);aItem=[];nIndex=aDelimiter[0]+1;sTmp='';}
else{str+=sMails.substring(nIndex,aDelimiter[0]);ind=aDelimiter[0]+1;}
aDelimiter=nextDelimiter(sMails,nIndex);}
return aResult;}
function parseAddresses(sMails){var aResult=[];var nIndex=0;var aString;while(1){aString=getStringTillDelimiter(sMails,nIndex,false);if(aString[1])aResult.push(aString[1]);if(aString[0]==-1)
break;else
nIndex=aString[0];}
return aResult;}
var aMails;switch(sFormat){case'name_list':aMails=parseNameAndEmail(sMails);for(var n in aMails)
if(aMails[n]['name'])
aMails[n]=aMails[n]['name'].entityify();else
aMails[n]=aMails[n]['email'].entityify();return aMails.join(', ');case'name_and_email':aMails=parseNameAndEmail(sMails);var tmpName={};for(var n=aMails.length-1;n>=0;n--){if(aMails[n]['email']){aMails[n]['email']=stripEmailBrackets(aMails[n]['email']);if(typeof tmpName[aMails[n]['email']]!='undefined')
if(!aMails[tmpName[aMails[n]['email']]]['name']&&aMails[n]['name'])
aMails.splice(tmpName[aMails[n]['email']],1);else{aMails.splice(n,1);continue;}
tmpName[aMails[n]['email']]=n;}}
return aMails;case'address_array':return parseAddresses(sMails);}}
return getAddresses(sMails,sFormat);};MailAddress.findDistribList=function(aType)
{var aEmails,sEmail,sDistribList,aDistribList,sAccId,sFolId,aName,sName;var aResult={};var aDistrib={};for(var sType in aType)
{aResult[sType]='';if(!aType[sType])
continue;aEmails=MailAddress.splitEmails(aType[sType])
for(var n in aEmails)
{sEmail=aEmails[n];if(sEmail.charAt(0)=='['&&sEmail.charAt(sEmail.length-1)==']')
{sDistribList=sEmail.substr(1,sEmail.length-2);aDistribList=sDistribList.split('::');sAccId='';sFolId='';aName=[];switch(aDistribList.length<=3?aDistribList.length:3)
{case 3:sAccId=aDistribList.shift();case 2:sFolId=aDistribList.shift();case 1:for(var m in aDistribList)
aName.push(aDistribList[m]);sName=aName.join('::');}
if(!sAccId)
sAccId=sPrimaryAccount;if(!sFolId)
sFolId="__@@ADDRESSBOOK@@__";if(!aDistrib[sAccId])
aDistrib[sAccId]={};if(!aDistrib[sAccId][sFolId])
aDistrib[sAccId][sFolId]={'to':[],'cc':[],'bcc':[]};aDistrib[sAccId][sFolId][sType].push(sName);}
else
aResult[sType]+=sEmail+',';}
aResult[sType]=aResult[sType].substr(0,aResult[sType].length-1);}
aResult['distrib']=aDistrib;return aResult;};function Path(){}
Path.split=function(sFolderPath){var aRet=[];if(!Is.String(sFolderPath)){aRet[0]='';aRet[1]='';}
else{var nIndex;if((nIndex=sFolderPath.indexOf('/'))>=0){aRet[0]=sFolderPath.substring(0,nIndex);aRet[1]=sFolderPath.substring(nIndex+1);}
else{aRet[0]=sFolderPath;aRet[1]='';}}
return aRet;};Path.basename=function(sPath){if(!Is.String(sPath))return false;return sPath.split('/').pop();};Path.basedir=function(sPath){if(!Is.String(sPath))return'';var tmp=sPath.split('/');tmp.pop();return tmp.join('/');};function Mapping(){}
Mapping.getDefaultFolderForGWType=function(sType){var sName='';switch(sType){case'C':case'L':sName='contacts';break;case'E':sName='events';break;case'J':sName='journal';break;case'N':sName='notes';break;case'T':sName='tasks';break;case'F':sName='files';break;default:throw new Error('Not implemented');return false;}
return Path.split(GWOthers.getItem('DEFAULT_FOLDERS',sName))[1];};Mapping.getFormNameByGWType=function(sType){switch(sType){case'C':return'frm_contact';case'E':return'frm_event';case'N':return'frm_note';case'T':return'frm_task';case'J':return'frm_journal';case'L':return'frm_distrib';case'F':return'frm_file';default:throw new Error('Not implemented');return false;}};function toString(o){return(o==undefined||o==null)?'':o.toString();};function makeIDFromIDS(ids,j){try{return[ids[0],ids[1],ids[2][j]];}
catch(r){return;}};function makeIDSFromID(id){return[id[0],id[1],[id[2]]];};function getPathFromDataset(sDataset){var items=dataSet.get(sDataset);for(var sAccId in items)
for(var sFolId in items[sAccId])
return[sAccId,sFolId];};window.currentBrowser=function(){var out='',v='',str=navigator.userAgent.toUpperCase();if(str.indexOf('CHROME')>-1)
out='Chrome';else
if(str.indexOf('WEBKIT')>-1){out='Safari';v=parseInt(str.substr(str.indexOf('SAFARI/')+7),10);}
else
if(str.indexOf('KHTML')>-1)
out='KHTML';else
if(str.indexOf('GECKO')>-1){out='Mozilla';v=parseInt(str.substr(str.indexOf('GECKO/')+6),10);}
else
if(str.indexOf('OPERA')>-1)
out='Opera';else
if(str.indexOf('MSIE 9')>-1){if(document.documentMode&&document.documentMode<9)
out='MSIE7';else
out='MSIE9';}
else
if(str.indexOf('MSIE 7')>-1||str.indexOf('MSIE 8')>-1)
out='MSIE7';else
if(str.indexOf('MSIE 6.0')>-1)
out='MSIE6';return function(bV){return bV?v:out;}}();

/* client/inc/object_ext.js */
function objConcat(obj1,obj2){for(var i in obj2){switch(typeof obj2[i]){case'object':break;case'function':break;default:obj1[i]=obj2[i];}}
for(var i in obj2.prototype)
obj1.prototype[i]=obj2.prototype[i];return obj1;};Function.prototype.inherit=function(parent){var d=0,p=(this.prototype=new parent());this.prototype.__uber=function(name){var f,r,t=d,v=parent.prototype;if(t){while(t){v=v.constructor.prototype;t-=1;}
f=v[name];}
else{f=p[name];if(f==this[name]){f=v[name];}}
d+=1;r=f.apply(this,Array.prototype.slice.apply(arguments,[1]));d-=1;return r;};return this;};function inherits(main){for(var ii=1;ii<arguments.length;ii++){obj=arguments[ii];for(var i in obj){switch(typeof obj[i]){case'object':break;case'function':break;default:main[i]=obj[i];}}
for(var i in obj.prototype)
main[i]=obj.prototype[i];}};function clone(obj,deep){if(typeof(obj)!='object')return obj;var objectClone;try{objectClone=new obj.constructor();}
catch(r){objectClone={};}
for(var property in obj){try{if(!deep)
objectClone[property]=obj[property];else
if(typeof obj[property]=='object')
objectClone[property]=clone(obj[property],deep);else
objectClone[property]=obj[property];}
catch(r){}}
return objectClone;};function compareObj(aold,anew,keepOld){var a1=keepOld?clone(aold,true):aold,a2=anew;if(typeof a1=='undefined')
return typeof a2=='undefined';if(typeof a2=='undefined'||a1.constructor!==a2.constructor)
return false;if(typeof a1!='object')
return a1==a2;for(var i in a2)
if(!compareObj(a1[i],a2[i]))
return false;else
delete a1[i];for(var i in a1)
return false;return true;};

/* client/inc/debug.js */
function inspect(obj,win){var str="";for(var prop in obj)
try{if(obj[prop]===obj)
str+="obj."+prop+" = SELF";else
str+="obj."+prop+" = "+obj[prop]+(win?"<br>":"\r\n");}
catch(er){str+='obj.'+prop+" = NO ACCESS"+(win?"<br>":"\r\n");};if(win){var kokos=window.open("","");kokos.document.writeln(str);}
else
alert(str);};function inspect2(arr,win){if(win){var kokos=window.open("","");kokos.document.writeln(var_dump(arr).replace(/\>/g,"&gt;").replace(/\</g,"&lt;").replace(/\n/g,"<br>"));}
else
alert(var_dump(arr));};function var_dump(arr,fce,num){var ap="",out="",tstr="";num=num||0;if(Is.String(arr))return arr;for(var ii=0;ii<num;ii++)ap+=".";for(var i in arr){if(typeof arr[i]=='object'){if(arr[i].constructor==Date)
out+=ap+" ["+i+"](date) = "+arr[i].toString()+"\r\n";else
if(arr[i]._name&&arr[i]._type)
out+=ap+" ["+i+"]("+arr[i]._type+") = "+arr[i]._name+"\r\n";else
out+=ap+" ["+i+"]\r\n"+var_dump(arr[i],fce,num+2);}
else{if(typeof arr[i]=='undefined')
tstr='undefined';else
tstr=arr[i].toString();out+=ap+" ["+i+"]("+typeof arr[i]+") = "+tstr+"\r\n";}}
return out;};var IWAPI_DEBUG=false;_me=cAPI_debug.prototype;function cAPI_debug(){window.IWAPI_DEBUG=true;};_me.add=function(title,data){if(!this.win||this.win.closed)this.open();data=data||'no data';var e0=mkElement('div');var e1=mkElement('div');e1.innerHTML='<span>[+]</span> '+title;e1.onclick=function(){var s,t,ns=this.nextSibling.style;if(ns.display=='none'){ns.display="block";t='[-]';}else{ns.display="none";t='[+]';}
this.getElementsByTagName('span')[0].innerHTML=t;};var e2=mkElement('pre');e2.style.display='none';if(typeof data=='object')
e2.innerHTML=var_dump(data);else
e2.innerHTML=data;this.win.document.body.appendChild(e0);e0.appendChild(e1);e0.appendChild(e2);e0=null;e1=null;e2=null;};_me.open=function(){this.win=window.open('','debug',"resizable=yes,scrollbars=1,status=0,width=400,height=600");this.win.document.body.innerHTML='';this.win.focus();this.win.stop(true);};

/* client/inc/template.js */
_me=cTemplate.prototype;function cTemplate(){this.strict=true;};_me.tmp=function(sData,aData){return this.exe(storage.template(sData),aData);};_me.exe=function(sTpl,aData,aObj){this.sBuffer='';if((this.sTpl=sTpl)){if(typeof aData=='object')
this.aData=arrConcat(storage.aStorage.language,aData);else
this.aData=storage.aStorage.language;this.parser();return this.sBuffer;}};_me.variable=function(elm10,strict){var result=arrayPath(this.aData,elm10.split('::'));if(Is.Defined(result))
return result;else
if(strict)
return'{'+elm10+'}';else
return'';};_me.parser=function(){var sBuffer='',i,result,part,elm10,elm11;for(;;){if((i=this.sTpl.indexOf('{'))<0)break;this.sBuffer+=this.sTpl.substring(0,i);this.sTpl=this.sTpl.substring(i);if((i=this.sTpl.indexOf('}'))==1){this.sTpl=this.sTpl.substring(2);continue;}
elm10=this.sTpl.substring(1,i);if((part=elm10.indexOf(" "))>-1){elm11=elm10.substring(part+1);elm10=elm10.substring(0,part);}
else
elm11=null;this.sTpl=this.sTpl.substring(i+1);switch(elm10){case'noptional':this.option(elm11,1);break;case'optional':this.option(elm11);break;case'dynamic':this.loop(elm11);break;case'rdynamic':this.option(elm11,1);break;case'htmlspecialchars':this.sBuffer+=(this.variable(elm11,this.strict)).toString().escapeHTML();break;case'lang':elm10=this.variable(elm11);default:this.sBuffer+=this.variable(elm10,this.strict);}}
this.sBuffer+=this.sTpl;};_me.option=function(elm11,bInvert){var b=false,p=this.part((bInvert?'n':'')+'optional');if(elm11.indexOf(' ')>-1){var a=elm11.split(' ');for(var i in a)
if(this.variable(a[i])){b=true;break;}}
else
if(this.variable(elm11))
b=true;if((!b&&!bInvert)||(b&&bInvert))
this.sTpl=this.sTpl.substr(p);};_me.loop=function(elm11,bInvert){var p=this.part((bInvert?'r':'')+'dynamic');var v=this.variable(elm11);if(typeof v!='object'){this.sTpl=this.sTpl.substr(p);return;}
if(bInvert)v=reverse(v);var segment=this.sTpl.substr(0,p);var sBuffer='',temp='';var exp1=eval("/\{"+elm11+"\:\:\\*/g"),exp2=eval("/\[ ]"+elm11+"\:\:\\*/g"),exp3=eval("/\:\:"+elm11+"\:\:\\*/g");for(var val in v){temp=segment;if(temp.indexOf('{'+elm11+'::*')>-1)temp=temp.replace(exp1,'{'+elm11+'::'+val);if(temp.indexOf(' '+elm11+'::*')>-1)temp=temp.replace(exp2,' '+elm11+'::'+val);if(temp.indexOf('::'+elm11+'::*')>-1)temp=temp.replace(exp3,'::'+elm11+'::'+val);sBuffer+=temp;}
exp1=exp2=exp3=null;this.sTpl=sBuffer+this.sTpl.substr(p);};_me.part=function(part){var tag1='{'+part,tag2='{/'+part+'}',i,j,skip=0,start=0;for(;;){if((i=this.sTpl.indexOf(tag2,start))<1)return;j=this.sTpl.indexOf(tag1,start);if(j>-1&&j<i){skip++;start=this.sTpl.indexOf('}',j+1);continue;}
if(skip>0){skip--;start=i+tag2.length;continue;}
this.sTpl=this.sTpl.substr(0,i)+this.sTpl.substr(i+tag2.length);return i;}};template=new cTemplate();

/* client/inc/xmltools.js */
function cXMLTools(){this.noparse={'http://www.w3.org/1999/xhtml':true};};cXMLTools.prototype.XMLDoc=function(){try{if(document.implementation&&document.implementation.createDocument)
return document.implementation.createDocument("","",null);else
if(window.ActiveXObject){if(!this.prefix){var o,prefixes=['Msxml2.DOMDocument.3.0','MSXML.DomDocument'];for(var i=0;i<prefixes.length;i++){try{o=new ActiveXObject(prefixes[i]);this.prefix=prefixes[i];break;}
catch(ex){};}
if(!this.prefix)
throw new Error("cXMLTools.XMLDoc() - Could not find an installed XML parser");else
return o;}
else
return new ActiveXObject(this.prefix);}}
catch(ex){throw new Error("Your browser does not support XmlDocument objects");}};cXMLTools.prototype.XML2Arr=function(xInput,bNasted){var aOutput=[],iKey;for(var i=0;;i++){if(i==0)
var xTag=xInput.firstChild;else
if(xTag.nextSibling)
var xTag=xTag.nextSibling;else{if(!bNasted&&(!aOutput||(aOutput.PARSERERROR&&aOutput.PARSERERROR[0])))
throw"XML parsing error: "+aOutput.PARSERERROR[0].VALUE;return aOutput;}
if(!i&&!xTag.tagName)continue;var sTagname=xTag.tagName.toUpperCase();if(aOutput[sTagname]){iKey=aOutput[sTagname].length;aOutput[sTagname][iKey]=[];}
else{iKey=0;aOutput[sTagname]=[];aOutput[sTagname][iKey]=[];}
var ns=xTag.getAttribute('xmlns');if(ns&&this.noparse[ns]){var v=this.XML2Str(xTag);v=v.substring(v.indexOf('>')+1,v.lastIndexOf('<'));aOutput[sTagname][iKey]['VALUE']=v;}
else
if(xTag.hasChildNodes()){if(xTag.firstChild.nodeValue){var tmpTag=xTag.firstChild;aOutput[sTagname][iKey]['VALUE']=tmpTag.nodeValue;while(1){if((tmpTag=tmpTag.nextSibling)){if(tmpTag.nodeValue)
aOutput[sTagname][iKey]['VALUE']+=tmpTag.nodeValue;}
else{tmpTag=null;break;}}}
else
aOutput[sTagname][iKey]=this.XML2Arr(xTag,true);}
if(xTag.attributes.length){aOutput[sTagname][iKey]['ATTRIBUTES']=[];for(var i=0;i<xTag.attributes.length;i++)
aOutput[sTagname][iKey]['ATTRIBUTES'][xTag.attributes.item(i).nodeName.toUpperCase()]=xTag.attributes.item(i).nodeValue;}}};cXMLTools.prototype.Arr2XML=function(aIn,xElm,bPreserveCase){var aInput=(xElm?aIn:clone(aIn,1));if(!xElm){this.xDoc=null;this.xDoc=this.XMLDoc();}
for(var i in aInput){for(var ii in aInput[i]){if(currentBrowser()!='Safari'&&aInput[i][ii]['ATTRIBUTES']&&aInput[i][ii]['ATTRIBUTES'].XMLNS&&this.xDoc.createElementNS){var elm=this.xDoc.createElementNS(aInput[i][ii]['ATTRIBUTES'].XMLNS,(bPreserveCase)?i:i.toLowerCase());delete aInput[i][ii]['ATTRIBUTES'].XMLNS;}
else
if(xElm&&xElm.namespaceURI&&this.xDoc.createElementNS)
var elm=this.xDoc.createElementNS(xElm.namespaceURI,(bPreserveCase)?i:i.toLowerCase());else
var elm=this.xDoc.createElement((bPreserveCase)?i:i.toLowerCase());if(typeof aInput[i][ii]['ATTRIBUTES']=='object'&&aInput[i][ii]['ATTRIBUTES'].constructor!=Array){for(var ai in aInput[i][ii]['ATTRIBUTES'])
elm.setAttribute((bPreserveCase)?ai:ai.toLowerCase(),aInput[i][ii]['ATTRIBUTES'][ai]);delete aInput[i][ii]['ATTRIBUTES'];}
if(typeof aInput[i][ii]['VALUE']!='undefined'&&typeof aInput[i][ii]['VALUE']!='object'){if(typeof aInput[i][ii]['VALUE']=='string'&&currentBrowser()=='Safari'&&currentBrowser(true)<526)
elm.appendChild(this.xDoc.createTextNode(aInput[i][ii]['VALUE'].escapeHTML()));else
elm.appendChild(this.xDoc.createTextNode(aInput[i][ii]['VALUE']));}
else
this.Arr2XML(aInput[i][ii],elm,bPreserveCase);if(!xElm){if(currentBrowser()=='Opera')return elm;this.xDoc.appendChild(elm);return this.xDoc;}
else
xElm.appendChild(elm);}}};cXMLTools.prototype.Str2XML=function(sInput){var xOutput=null;try{xOutput=this.XMLDoc();xOutput.async=false;xOutput.validateOnParse=false;xOutput.loadXML(sInput);if(xOutput.parseError.errorCode)
alert("Error code: "+xOutput.parseError.errorCode+"\nLine: "+xOutput.parseError.line+':'+xOutput.parseError.linePos+"\nReason: "+xOutput.parseError.reason+"\n"+xOutput.parseError.srcText);return xOutput;}
catch(e){var xParser=new DOMParser();xOutput=xParser.parseFromString(sInput,'text/xml');this.stripWhiteSpace(xOutput);return xOutput;}};cXMLTools.prototype.XML2Str=function(xInput){try{var sOut;if(xInput.xml)
sOut=xInput.xml;else
sOut=(new XMLSerializer()).serializeToString(xInput);return sOut;}
catch(e){return'';}};cXMLTools.prototype.Str2Arr=function(sInput){try{return this.XML2Arr(this.Str2XML(sInput));}
catch(e){alert(e);}};cXMLTools.prototype.Arr2Str=function(aInput,bPreserveCase){try{return this.XML2Str(this.Arr2XML(aInput,null,bPreserveCase));}
catch(e){alert(e);}};cXMLTools.prototype.stripWhiteSpace=function(node){nodesToDelete=Array();this.findWhiteSpace(node,0);for(var i=nodesToDelete.length-1;i>=0;i--){nodeRef=nodesToDelete[i];nodeRef.parentNode.removeChild(nodeRef);}};cXMLTools.prototype.is_ws=function(nod){return!(/[^\t\n\r ]/.test(nod.data));};cXMLTools.prototype.findWhiteSpace=function(node,nodeNo){for(var i=0;i<node.childNodes.length;i++){if(node.childNodes[i].nodeType==3&&this.is_ws(node.childNodes[i]))
nodesToDelete[nodesToDelete.length]=node.childNodes[i];if(node.childNodes[i].hasChildNodes())
this.findWhiteSpace(node.childNodes[i],i);}
node=node.parentNode;i=nodeNo;};var XMLTools=new cXMLTools();

/* client/inc/httprequest.js */
function cHttpRequest(){this.sURL='server/webmail.php';this.bIE=false;this.oXMLHttp=null;this.noLoader=false;this.createDocument();};cHttpRequest.prototype.createDocument=function(){if(window.XMLHttpRequest){this.oXMLHttp=new XMLHttpRequest();this.bIE=currentBrowser().indexOf('MSIE')>-1;}
else
if(!navigator.__ice_version&&window.ActiveXObject){this.oXMLHttp=new ActiveXObject('Microsoft.XMLHTTP');this.bIE=true;}
else
throw new Error("cHTTPRequest() - Your browser does not support XMLHttpRequest objects");};cHttpRequest.prototype.sendXML=function(xData,oResponse,oResponse2,bRetry){var oXMLHttp=this.oXMLHttp,bSync=typeof oResponse=='object'?false:true,bGET=xData?false:true,skiperror=false,me=this;if(bRetry)
this.__retry++;else{this.__retry=0;if(!bSync&&!bGET&&!this.noLoader)
gui._loading(true);}
if((currentBrowser()=='Mozilla'||currentBrowser()=='Safari')&&!bSync&&oXMLHttp.addEventListener){skiperror=true;try{var xD=xData,oR=oResponse,oR2=oResponse2,bR=bRetry;oXMLHttp.addEventListener("error",function(e){try{var iStatus=e.target.status;}
catch(r){return;}
if(iStatus==0&&!me.__failed){if(oR2&&!bR&&!executeCallbackFunction(oR2)){if(!bGET&&!me.noLoader)
gui._loading();return;}
else{if(gui.connection){gui.connection._add([me,'sendXML',[xD,oR,oR2,true]]);}
else
window.setTimeout(function(){me.sendXML(xD,oR,oR2,true);},15000);}}},false);oXMLHttp.addEventListener("abort",function(e){if(!bGET&&!me.noLoader)
gui._loading();var iStatus;try{iStatus=e.target.status;}
catch(r){iStatus=404;}
if(Is.Array(oResponse)){executeCallbackFunction(oResponse,{"Array":{IQ:[{ATTRIBUTES:{TYPE:'error'},ERROR:[{ATTRIBUTES:{UID:'offline',STATUS:iStatus},VALUE:'Connection Lost'}]}]}});oResponse=null;}},false);}
catch(e){skiperror=false;}}
oXMLHttp.open((bGET?'GET':'POST'),this.sURL,!bSync);if(!bGET)
oXMLHttp.setRequestHeader('Content-Type','text/xml');try{oXMLHttp.send(bGET?null:xData);}
catch(e){}
if(bSync){xData=null;if(oXMLHttp.status!=200&&oXMLHttp.status!=304){if(gui.connection)
gui.connection._add();return false;}
return true;}
oXMLHttp.onreadystatechange=function(){try{if(oXMLHttp.readyState==4){if((oXMLHttp.status!=200&&oXMLHttp.status!=304)||oXMLHttp.getResponseHeader("Content-Type")==null){if(oXMLHttp.status=='410')
throw"cHTTPRequest.send() - async - URL "+me.sURL+" returned: "+oXMLHttp.statusText+" ["+oXMLHttp.status+"]";else
if(oXMLHttp.status==0&&currentBrowser()!='Opera'){if(skiperror)return;throw'abort';}
else
{if(oResponse2&&!bRetry&&!executeCallbackFunction(oResponse2)){if(!bGET&&!this.noLoader)
gui._loading();return;}
if(gui.connection){if(oXMLHttp.status!=500&&me.__retry<3&&!gui.connection.__buffer.length)
window.setTimeout(function(){me.sendXML(xData,oResponse,oResponse2,true);},5000);else{var sStatus='OFFLINE';try{if(oXMLHttp.statusText&&oXMLHttp.statusText!='Unknown')
sStatus=oXMLHttp.statusText;}
catch(r){}
gui.connection._add([me,'sendXML',[xData,oResponse,oResponse2,true]]);}}
else
window.setTimeout(function(){me.sendXML(xData,oResponse,oResponse2,true);},10000);}}
else{xData=null;var oRData=null;if(Is.Array(oResponse)){try{switch(oResponse[3]){case'XML':oRData={"XML":me.responseXML()};break;case'Text':oRData={"Text":me.responseText()};break;default:oRData={"Array":me.responseArray()};}}
catch(err){if(!me.noXMLError){if(typeof err=='string')
throw err;else
throw"Response parse error: \n"+me.responseText();}
else
oRData=null;}
executeCallbackFunction(oResponse,oRData);oResponse=null;}
else{try{oRData={"Text":me.responseText(),"Array":me.responseArray()};}
catch(err){throw"cHTTPRequest.send() - Can't convert Array:\n"+me.responseText();}
try{oResponse.prototype.responseData=oRData;oResponse.response();}
catch(err){throw"cHTTPRequest.send() - URL "+this.sURL+" error in \n"+oResponse.toString();}}
oRData=null;if(!bGET&&!this.noLoader)gui._loading();}}}
catch(e){try{oXMLHttp.status;}
catch(r){if(oResponse2&&!bRetry&&!executeCallbackFunction(oResponse2)){if(!bGET&&!this.noLoader)
gui._loading();return;}
if(gui.connection){gui.connection._add([me,'sendXML',[xData,oResponse,oResponse2,true]]);}
else
window.setTimeout(function(){me.sendXML(xData,oResponse,oResponse2,true);},15000);return;}
if(!bGET&&!this.noLoader)gui._loading();if(Is.Array(oResponse)){if(oXMLHttp.status==200)
inspect2(e,true);executeCallbackFunction(oResponse,{"Array":{IQ:[{ATTRIBUTES:{TYPE:'error'},ERROR:[{ATTRIBUTES:{UID:'offline',STATUS:oXMLHttp.status},VALUE:'Connection Lost'}]}]}});oResponse=null;}
xData=null;if(oXMLHttp.status!=410&&typeof e=='string'&&e!='abort'){throw e;}}};};cHttpRequest.prototype.stripWhiteSpace=function(node){this.nodesToDelete=Array();this.findWhiteSpace(node,0);for(var i=this.nodesToDelete.length-1;i>=0;i--){nodeRef=this.nodesToDelete[i];nodeRef.parentNode.removeChild(nodeRef);}
this.nodesToDelete=null;};cHttpRequest.prototype.is_ws=function(nod){return!(/[^\t\n\r ]/.test(nod.data));};cHttpRequest.prototype.findWhiteSpace=function(node,nodeNo){for(var i=0;i<node.childNodes.length;i++){if(node.childNodes[i].nodeType==3&&this.is_ws(node.childNodes[i]))
this.nodesToDelete[this.nodesToDelete.length]=node.childNodes[i];if(node.childNodes[i].hasChildNodes())
this.findWhiteSpace(node.childNodes[i],i);}
node=node.parentNode;i=nodeNo;};cHttpRequest.prototype.sendArray=function(aData,oResponse,oResponse2,bPreserveCase){return this.sendXML(XMLTools.Arr2XML(aData,'',bPreserveCase),oResponse,oResponse2);};cHttpRequest.prototype.sendString=function(sData,oResponse){this.sendXML(sData,oResponse);};cHttpRequest.prototype.responseText=function(){var s=this.oXMLHttp.responseText;return s;};cHttpRequest.prototype.responseXML=function(){try{var xml=this.oXMLHttp.responseXML;}
catch(e){throw"ERROR GET XML: "+this.responseText();}
if(!this.bIE){this.stripWhiteSpace(xml);}
return xml;};cHttpRequest.prototype.responseArray=function(){try{var a={},sType=this.oXMLHttp.getResponseHeader("Content-Type");switch(sType){case'text/json':if(window.JSON)
a=window.JSON.parse(this.responseText());else
if(currentBrowser()=='Mozilla')
a=new Function("return "+this.responseText())();else
a=eval("("+this.responseText()+")");break;case'text/xml':case'application/xml':a=XMLTools.XML2Arr(this.responseXML());break;case null:case'null':return{};default:throw'unsupported content-type "'+sType+'"';}}
catch(e){if(typeof e=='string')
throw"ERROR XML->ARRAY"+(typeof e=='string'?' ('+e+')':'')+" : "+this.responseText();return;}
return a;};

/* client/inc/dataset.js */
function cDataSet(){this.aDataSets={};this.aListeners={};};cDataSet.prototype.add=function(sDName,aDPath,Data,bNoUpdate,sUpdater){var bDiffer=false;if(!bNoUpdate)
bDiffer=!compareObj(this.get(sDName,aDPath),Data,true);if(Is.Array(aDPath))
this.aDataSets[sDName]=mkArrayPath(aDPath,this.aDataSets[sDName],Data);else
this.aDataSets[sDName]=Data;if(bNoUpdate||bDiffer){if(!bNoUpdate)this.update(sDName,aDPath,sUpdater);return true;}
else
return false;};cDataSet.prototype.remove=function(sDName,aDPath,bNoUpdate,sUpdater){if(typeof this.aDataSets[sDName]=='undefined')
return;else
if(!aDPath)
delete this.aDataSets[sDName];else
if(Is.Array(aDPath))
try{if(typeof arrayPath(this.aDataSets[sDName],aDPath)=='undefined')
return;else
eval('delete this.aDataSets["'+sDName+'"]["'+aDPath.join('"]["')+'"]');}
catch(e){return false;}
if(!bNoUpdate)
this.update(sDName,aDPath,sUpdater);return true;};cDataSet.prototype.get=function(sDName,aDPath,bClone){if(!sDName)return;var aData=this.aDataSets[sDName];if(Is.Array(aDPath)){if(aData){aData=arrayPath(aData,aDPath);if(bClone&&aData)
return clone(aData,1);else
return aData;}
return;}
else
if(bClone)
return clone(aData,1);else
return aData;};cDataSet.prototype.obey=function(oListener,sObjMethod,sDName,bNoUpdate){if(typeof oListener!='object'||!sDName)
return false;oListener[sObjMethod||'_listener']=sDName;if(!this.aListeners[sDName])this.aListeners[sDName]=[];this.aListeners[sDName].push(oListener);if(typeof this.aDataSets[sDName]!='undefined'&&!bNoUpdate)
oListener.__update(sDName);return true;};cDataSet.prototype.disobey=function(oListener,sProperty){if(!sProperty)sProperty='_listener';if(typeof oListener!='object'||!oListener[sProperty]||!this.aListeners[oListener[sProperty]])return false;var i;if((i=inArray(this.aListeners[oListener[sProperty]],oListener))!=-1)
delete this.aListeners[oListener[sProperty]][i];return true;};cDataSet.prototype.update=function(sName,aDPath,sUpdater){if(!sName||!this.aListeners[sName])return;for(var i in this.aListeners[sName]){try{if(sUpdater){if(typeof sUpdater=='string'){if(this.aListeners[sName][i]._pathName==sUpdater)
continue;}
else
if(typeof sUpdater=='object'){if(this.aListeners[sName][i]._pathName==sUpdater._pathName)
continue;}}
this.aListeners[sName][i].__update(sName,aDPath);}
catch(e){}}};dataSet=new cDataSet();

/* client/inc/storage.js */
function cStorage(){this.aStorage={"css":{},"library":{},"language":{},"template":{},"object":{}};this.aStorage.library={'client/inc/debug':true,'client/inc/object_ext':true,'client/inc/browser_ext':true,'client/inc/template':true,'client/inc/xmltools':true,'client/inc/httprequest':true,'client/inc/dataset':true,'client/inc/storage':true,'client/inc/gui':true,'client/inc/wm_generic':true,'client/inc/wm_auth':true,'client/inc/wm_accounts':true,'client/inc/wm_folders':true,'client/inc/wm_items':true,'client/inc/wm_settings':true,'client/inc/wm_storage':true,'client/inc/init':true,'client/inc/gw_others':true,'client/inc/json':true,'client/inc/obj_loader':true,'client/inc/obj_form_generic':true,'client/inc/obj_form_tab':true,'client/inc/obj_button':true,'client/inc/obj_connection':true};this.request=new cHttpRequest();};cStorage.prototype.css=function(sName){if(typeof this.aStorage.css['style']!='undefined')return true;if(typeof this.aStorage.css[sName]!='undefined'){if(this.aStorage.css[sName]=='disabled'){document.getElementById('css_'+sName).disabled=false;this.aStorage.css[sName]='enabled';}
return true;}
var cssobj=mkElement('link',{"rel":'stylesheet',"type":'text/css',"href":'client/skins/'+GWOthers.getItem('LAYOUT_SETTINGS','skin')+'/css/'+sName+'.css'});cssobj.id='css_'+sName;document.getElementsByTagName('head')[0].appendChild(cssobj);cssobj=null;this.aStorage.css[sName]='enabled';return true;};cStorage.prototype.remove_css=function(sName){if(typeof this.aStorage.css[sName]!='undefined'){if(this.aStorage.css[sName]=='enabled'){document.getElementById('css_'+sName).disabled=true;this.aStorage.css[sName]='disabled';}
return true;}
return false;};cStorage.prototype.remove_all_css=function(){var tmp;for(var i in this.aStorage.css){if((tmp=document.getElementById('css_'+i))){tmp.disabled=true;tmp.parentNode.removeChild(tmp);}
delete this.aStorage.css[i];}};cStorage.prototype.library=function(sName,sPath,bASync){var sFile;switch(sPath){case'skin':sFile='client/skins/'+GWOthers.getItem('LAYOUT_SETTINGS','skin')+'/inc/'+sName;break;default:if(this.aStorage.library['client/inc/javascript'])return true;sFile='client/inc/'+sName;}
if(this.aStorage.library[sFile])return true;var ASrequest=new cHttpRequest();ASrequest.sURL=sFile+'.js';if(bASync)
ASrequest.sendXML('',[this,'preloadLib',['library',sFile,sName],'Text']);else{ASrequest.sendXML();var str=ASrequest.responseText();if(str.length<1){ASrequest=null;return false;}
pubEval(str);this.aStorage.library[sFile]='enabled';}
ASrequest=null;return true;};cStorage.prototype.preloadObj=function(){this.request.sURL='client/objects/objects.xml';this.request.sendXML();var aObjects=this.request.responseArray();for(var i in aObjects.OBJECTS[0])
this.object(i.toLowerCase(),aObjects.OBJECTS[0][i][0]);};cStorage.prototype.preloadTpl=function(aResponseData,sName){if(aResponseData&&sName){if(sName=='templates'){if(aResponseData.Array&&aResponseData.Array.TEMPLATE&&aResponseData.Array.TEMPLATE[0])
for(var i in aResponseData.Array.TEMPLATE[0])
this.aStorage.template[i.toLowerCase()]=aResponseData.Array.TEMPLATE[0][i][0].VALUE||'';}
else
this.aStorage.template[sName]=aResponseData.Text||'';return;}};cStorage.prototype.language=function(sName){sName=sName||'en';if(typeof this.aStorage.language["_ACTIVE_LANG"]!='undefined'&&this.aStorage.language["_ACTIVE_LANG"]==sName)
return sName;var lang;try{this.request.sURL='client/languages/'+sName+'/data.xml';this.request.sendXML();lang=this.request.responseArray();}
catch(e){lang=null;}
if(sName!='en'&&!Is.Array(lang))
try{sName='en';this.request.sURL='client/languages/'+sName+'/data.xml';this.request.sendXML();lang=this.request.responseArray();}
catch(e){lang=null;}
if(!Is.Array(lang))
throw new Error("cStorage.language() - bad language file syntax: "+sName);this.aStorage.language={'_ACTIVE_LANG':sName};lang=lang['LANGUAGE'][0];var tmp={};var i,j,k,v;for(i in lang){this.aStorage.language[i]={};for(j in lang[i][0])
if(j!='VALUE'){if(lang[i][0][j].length>1)
v=lang[i][0][j];else
v=lang[i][0][j][0]['VALUE'];this.aStorage.language[i][j]=(Is.Defined(v))?v:'';}}
return sName;};cStorage.prototype.template=function(sName,bASync){if(typeof this.aStorage.template[sName]!='undefined')
return this.aStorage.template[sName];var skin=GWOthers.getItem('LAYOUT_SETTINGS','skin');if(bASync){var ASrequest=new cHttpRequest();ASrequest.sURL='client/skins/'+skin+'/templates/'+sName+(sName=='templates'?'.xml':'.tpl');ASrequest.sendXML('',[this,'preloadTpl',[sName],(sName=='templates'?'Array':'Text')]);}
else
if(sName=='templates'){this.request.sURL='client/skins/'+skin+'/templates/templates.xml';this.request.sendXML();this.preloadTpl({Array:this.request.responseArray()},'templates');}
else{this.request.sURL='client/skins/'+skin+'/templates/'+sName+'.tpl';this.request.sendXML();var str=this.request.responseText();if(!str)
throw new Error("cStorage.template() - blank template file: "+skin+'/'+sName);return this.aStorage.template[sName]=str;}};cStorage.prototype.object=function(sName,aObject){if(typeof this.aStorage.object[sName]!='undefined')
return this.aStorage.object[sName];if(!aObject){this.request.sURL='client/objects/'+sName+'.xml';this.request.sendXML();aObject=this.request.responseArray();}
try{aObject=aObject['OBJECT'][0];}
catch(e){throw"cStorage.object() - blank xml: "+sName;}
if(aObject['CSS'])
for(var i in aObject['CSS'])
this.css(aObject['CSS'][i]['VALUE']);if(aObject['BEFORE'])
for(var i in aObject['BEFORE']){if(aObject['BEFORE'][i]['ATTRIBUTES']&&aObject['BEFORE'][i]['ATTRIBUTES']['PATH'])
this.library(aObject['BEFORE'][i]['VALUE'],aObject['BEFORE'][i]['ATTRIBUTES']['PATH']);else
this.library(aObject['BEFORE'][i]['VALUE']);}
if(aObject['LIBRARY'])
for(var i in aObject['LIBRARY']){if(aObject['LIBRARY'][i]['ATTRIBUTES']&&aObject['LIBRARY'][i]['ATTRIBUTES']['PATH'])
this.library(aObject['LIBRARY'][i]['VALUE'],aObject['LIBRARY'][i]['ATTRIBUTES']['PATH']);else
this.library(aObject['LIBRARY'][i]['VALUE']);}
return this.aStorage.object[sName]=aObject;};storage=new cStorage();function getLang(str,aSubstitute,nobr){if(typeof str!='string'||!str)return'';var out='',a=str.toUpperCase().split('::');try{if(typeof a[1]=='undefined')
out=storage.aStorage.language[a[0]];else
out=storage.aStorage.language[a[0]][a[1]];if(typeof out=='string'){if(aSubstitute&&out.length){var parts=out.split('%s');out=parts.shift();for(var i in parts)
out+=aSubstitute.shift()+parts[i];}
return out;}
else
if(typeof out=='object')
return out;}
catch(e){}
if(nobr==2)
return'';else
return(nobr?str:'{'+str+'}');};

/* client/inc/gui.js */
_me=cObject.prototype;function cObject(sName,sType,oParent){this._name=sName;this._type=sType||'document';this._parent=oParent;this._pathName=this.__genPathName();if(!sType&&!oParent){this._main=mkElement('div',{id:sName});this._main.style.width="100%";this._main.style.height="100%";this._main.style.overflow="hidden";document.getElementsByTagName('body')[0].appendChild(this._main);this.__X=0;this.__Y=0;var me=this;function evn(e){var e=e||window.event;me.__exeEvent(e.type,e);};this.__focus=true;document.onfocus=function(e){me.__focus=true;evn(e);};document.onblur=function(e){me.__focus=false;evn(e);};document.onclick=function(e){if(!me.__focus)
me.__focus=true;evn(e);};document.onmousedown=evn;document.onmouseup=function(e){if(!me.__focus)
me.__focus=true;evn(e);};document.onmousemove=function(e){var e=e||window.event;me.__X=e.clientX;me.__Y=e.clientY;evn(e);};document.onkeydown=function(e){var e=e||window.event;evn(e);if(e.keyCode==116||e.keyCode==27){e.cancelBubble=true;try{e.preventDefault();}catch(r){}
try{e.stopPropagation();}catch(r){}
return false;}};document.onkeyup=function(e){var e=e||window.event;evn(e);if(e.keyCode==27){e.cancelBubble=true;try{e.preventDefault();}catch(r){}
try{e.stopPropagation();}catch(r){}
return false;}};this.__loading_counter=0;this._loading=function(b){if(this.__loading_obj){if(b)
this.__loading_counter++;else
if(this.__loading_counter>0)
this.__loading_counter--;try{this.__loading_obj._loading(this.__loading_counter);}
catch(r){}}
else
this.__loading_counter=0;};if(currentBrowser().indexOf('MSIE')===0)
setInterval(function(){if(me._main.scrollTop>0)
me._main.scrollTop=0;},1000);}
this._anchors={'main':this._pathName};this._template='';this._destructors=[];this._events={};this._listener;this._listenerPath;this._saver=null;this._saverPath=null;this._skipsaving=false;this._noupdate=false;this._norefresh=false;this._updateBuffer=false;};_me._create=function(sName,sType,sTarget,sClass){var aObj=storage.object(sType);if(aObj['PARENTS']){var er=true;for(var i in aObj['PARENTS'][0]['OBJ'])
if(this._type==aObj['PARENTS'][0]['OBJ'][i]['VALUE']){er=false;break;}
if(er){throw new Error("gui._create() -  OBJ "+sType+"\n disallowed parent "+this._type);return false;}}
if(aObj['UNIQUE']&&typeof(aObj['UNIQUE'][0]['VALUE'])!='undefined'){if(typeof this[sName]!='undefined')
this[sName]._destruct();}
else{var sApx='';for(var i=0;;i++){if(typeof this[sName+sApx]=='undefined'){sName=sName+sApx;break;}
sApx="_"+i;}
sApx=null;}
if(!sTarget||!this._anchors[sTarget])sTarget='main';this[sName]=new cObject(sName,sType,this);if(aObj['ANCHORS']&&typeof(aObj['ANCHORS'][0]['ELM'])!='undefined'){var sAnchor='',aAnchors={};for(var i in aObj['ANCHORS'][0]['ELM']){sAnchor=aObj['ANCHORS'][0]['ELM'][i]['VALUE'];aAnchors[sAnchor]=this._pathName+"."+sName+sAnchor;}
this[sName]['_anchors']=aAnchors;}
this[sName]['_anchor']=sTarget;var chld;switch(aObj['TYPE']?aObj['TYPE'][0]['VALUE']:''){case'none':break;case'inline':chld=mkElement('span');break;case'tr':chld=mkElement('tr');break;case'td':chld=mkElement('td');break;case'form':chld=mkElement('form');chld.onsubmit=function(){return false;}
chld.name=this[sName]._pathName;break;default:chld=mkElement('div');}
if(chld){chld.id=this[sName]._pathName;var main;if(!(main=this._getAnchor(sTarget)))
throw'Anchor "'+sTarget+'" doesn\'t exists in "'+this._type+'" object';main.appendChild(chld);main=null;chld.className=(aObj['ATTRIBUTES']&&aObj['ATTRIBUTES']['CSS']?aObj['ATTRIBUTES']['CSS']+' ':'')+sType+(sClass?' '+sClass:'');this[sName]['_main']=chld;chld=null;}
this[sName]['_css']=sClass;var aArg=[];for(var i=4;i<arguments.length;i++)
aArg.push(arguments[i]);if(aObj['BEFORE']){var sobj;for(var i in aObj['BEFORE']){if(aObj['BEFORE'][i]['ATTRIBUTES']&&aObj['BEFORE'][i]['ATTRIBUTES']['CLASS'])
sobj=aObj['BEFORE'][i]['ATTRIBUTES']['CLASS'];else
sobj=aObj['BEFORE'][i]['VALUE'];if(typeof window[sobj]=='function'){inherits(this[sName],window[sobj]);if(window[sobj].prototype.__constructor)
this[sName].__constructor.apply(this[sName],aArg);}}}
if(aObj['TEMPLATE']&&typeof aObj['TEMPLATE'][0]['VALUE']!='undefined'){this[sName]['_template']=aObj['TEMPLATE'][0]['VALUE'];if(Is.Defined(this._parent)&&Is.Defined(this._parent._aTemplateData))
this[sName]._draw(null,null,this._parent._aTemplateData);else
if(Is.Defined(this._aTemplateData))
this[sName]._draw(null,null,this._aTemplateData);else
this[sName]._draw();}
if(aObj['ONUNLOAD'])
for(var i in aObj['ONUNLOAD'])
this[sName]._add_destructor(aObj['ONUNLOAD'][i]['VALUE'],aObj['ONUNLOAD'][i]['ATTRIBUTES']);if(aObj['LIBRARY']){var sobj;for(var i in aObj['LIBRARY']){if(this[sName]&&this[sName]._destructed)return;if(aObj['LIBRARY'][i]['ATTRIBUTES']&&aObj['LIBRARY'][i]['ATTRIBUTES']['CLASS'])
sobj=aObj['LIBRARY'][i]['ATTRIBUTES']['CLASS'];else
sobj=aObj['LIBRARY'][i]['VALUE'];if(typeof window[sobj]=='function'){inherits(this[sName],window[sobj]);if(window[sobj].prototype.__constructor)
this[sName].__constructor.apply(this[sName],aArg);}}}
if(this[sName]&&this[sName]._finished)
this[sName]._finished();if(this.__onCreateChild)
this.__onCreateChild(sName,sType,sTarget,sClass);return this[sName];};_me.__genPathName=function(){var sPN=this._name;if(this._parent&&this._parent._pathName)
sPN=this._parent._pathName+'.'+sPN;return sPN;};_me._draw=function(sTmpName,sTarget,aData){if(typeof aData!='object')
aData={_ins:this._pathName};else
aData._ins=this._pathName;if(GWOthers)
aData._skin='client/skins/'+GWOthers.getItem('LAYOUT_SETTINGS','skin');var sHtml=template.tmp((sTmpName?sTmpName:this._template),aData);var id,obj=[],tmpObj=[],MSIE,xTpl;if(sHtml.indexOf('<obj ')>-1){if(typeof ActiveXObject!='undefined'&&currentBrowser()!='MSIE9'){MSIE=true;xTpl=XMLTools.Str2XML('<root>'+sHtml.replace(/\&/g,'&amp;')+'</root>');}
else{MSIE=false;xTpl=mkElement('backquote');if((currentBrowser()=='Safari'||currentBrowser()=='Chrome')&&sHtml.indexOf('<title')>-1)
sHtml=sHtml.replace(/\<title/ig,'<safari_title');xTpl.innerHTML=sHtml;}
var aList=xTpl.getElementsByTagName("obj");if(MSIE&&!aList.length)throw"Syntax error in template: "+(sTmpName?sTmpName:this._template);var ep,etmp,sType,sName,sCSS,sWidth,sHeight,iTabindex,sTabContainer,oid=0;function parseitem(etmp,bDebug){var etmp2,key,out=[],n=etmp.getElementsByTagName("item");if(!n.length){n=null;return etmp.textContent||(typeof etmp.text=='string'?etmp.text.unescapeHTML():null);}
for(var i=0,l=n.length;i<l;i++){if((key=n[i].getAttribute('key')))
out[key]=parseitem(n[i]);else
out.push(parseitem(n[i]));}
n=null;return out;};var prevObj=[];for(var i=0;i<aList.length;i++){ep=aList[i].parentNode;sType=aList[i].getAttribute('type');sName=aList[i].getAttribute('name');if(!sName||!sType)continue;if(ep.tagName.toLowerCase()=='obj'){sAnchor=aList[i].getAttribute('anchor');sAnchor=sAnchor||'main';}
else{if((id=ep.getAttribute('id'))){sAnchor=inArray(this._anchors,id);if(sAnchor==-1){sAnchor=Math.rand();this._anchors[sAnchor]=id;}}
else{id=(this._pathName||'')+Math.rand();ep.setAttribute('id',id);sAnchor=Math.rand();this._anchors[sAnchor]=id;}}
tmpObj={"type":sType,"name":sName,"anchor":sAnchor};if((sCSS=aList[i].getAttribute('css')))tmpObj['css']=sCSS;if((sWidth=aList[i].getAttribute('width')))tmpObj['width']=sWidth;if((sHeight=aList[i].getAttribute('height')))tmpObj['height']=sHeight;if((iTabindex=aList[i].getAttribute('tabindex')))tmpObj['tabindex']=iTabindex;if((sTabContainer=aList[i].getAttribute('tabcontainer')))tmpObj['tabcontainer']=sTabContainer;if(aList[i].getAttribute('focus'))tmpObj['focus']=true;if(aList[i].getAttribute('ondemand'))tmpObj['ondemand']=true;for(var nlen=aList[i].childNodes.length-1;nlen>=0;nlen--){etmp=aList[i].childNodes[nlen];switch((etmp.tagName?etmp.tagName.toLowerCase():'')){case'init':tmpObj['init']=parseitem(etmp);break;case'disabled':var tval=etmp.textContent||(typeof etmp.text=='string'?etmp.text.unescapeHTML():'');if(tval&&(tval!='false'||tval!='0'))
tmpObj['disabled']=true;break;case'safari_title':case'title':tmpObj['title']=parseitem(etmp);break;case'draw':tmpObj['draw']=[etmp.getAttribute('form'),etmp.getAttribute('anchor')||'main',parseitem(etmp)];break;case'fill':tmpObj['fill']=parseitem(etmp);break;case'value':tmpObj['value']=parseitem(etmp);break;case'restrictions':tmpObj['restrictions']=parseitem(etmp,1);break;}}
etmp=null;if((ep.tagName).toLowerCase()=='obj'){for(var iLPos=aList.length-1;iLPos>=0;iLPos--)
if(aList[iLPos]===ep)break;if(prevObj[iLPos]['objects'])
prevObj[iLPos]['objects'].push(tmpObj);else
prevObj[iLPos]['objects']=[tmpObj];}
else
obj[++oid]=tmpObj;prevObj.push(tmpObj);tmpObj=null;}
prevObj=null;for(var j=aList.length-1;j>=0;j--){var oTextNode=aList[0].ownerDocument.createTextNode("");aList[j].parentNode.appendChild(oTextNode);aList[j].parentNode.removeChild(aList[j]);oTextNode=null;}
if(MSIE){sHtml=XMLTools.XML2Str(xTpl).replace(/\&amp;/g,'&');sHtml=sHtml.substring(6,sHtml.lastIndexOf('</root>'));}
else
sHtml=xTpl.innerHTML;ep=null;xTpl=null;}
else
var sAnchor=sTarget;if(sTmpName&&sAnchor){if(typeof sAnchor!='object')
Anchor=this._getAnchor(sTarget);Anchor.innerHTML=sHtml;}
else
this._main.innerHTML=sHtml;delete aData['_ins'];if(Is.Empty(aData))
this.__addObjects(obj);else
this.__addObjects(obj,null,aData);if(this.__onCreateChild)
this.__onCreateChild('','',sTarget);};_me.__addObjects=function(obj,str,aData){var newObj,aInit,oParent=str?eval(str):this;if(aData)
this._aTemplateData=aData;for(var i in obj){aInit=[obj[i]["name"],obj[i]["type"],obj[i]["anchor"],obj[i]['css']];if(obj[i]['init']){if(typeof obj[i]['init']=='object'){for(var j in obj[i]['init'])
aInit.push(obj[i]['init'][j]);}
else
aInit.push(obj[i]['init']);}
if(this._aTemplateData&&oParent)
oParent._aTemplateData=aData;newObj=oParent._create.apply(oParent,aInit);if(obj[i]['title']&&Is.Function(newObj._title))
newObj._title(obj[i]['title']);if(obj[i]['fill']&&Is.Function(newObj._fill))
newObj._fill(obj[i]['fill']);if(obj[i]['value']&&Is.Function(newObj._value))
newObj._value(obj[i]['value']);if(obj[i]['disabled']&&Is.Function(newObj._disabled))
newObj._disabled(obj[i]['disabled']);if(obj[i]['tabindex']&&Is.Function(newObj._tabIndex))
newObj._tabIndex(obj[i]['tabcontainer'],obj[i]['tabindex']=='true'?undefined:parseInt(obj[i]['tabindex'],10));if(obj[i]['focus']&&Is.Function(newObj._focus))
newObj._focus(obj[i]['focus']);if((obj[i]['width']||obj[i]['height'])&&Is.Function(newObj._size))
newObj._size(obj[i]['width'],obj[i]['height']);if((obj[i]['restrictions'])&&Is.Function(newObj._restrict)){var atmp=[];if(typeof obj[i]['restrictions']=='object'){for(var j in obj[i]['restrictions'])
atmp.push(obj[i]['restrictions'][j],j);}
else
if(typeof obj[i]['restrictions']=='string')
atmp.push(obj[i]['restrictions']);try{if(atmp.length)
newObj._restrict.apply(newObj,atmp);}
catch(er){throw"invalid input array for restrictions in:\n"+oParent._pathName+'.'+obj[i]["name"];}}
if(obj[i]['draw']&&Is.Function(newObj._draw))
if(typeof newObj.__drawTpl!='undefined'&&!newObj._isActive&&obj[i]['ondemand']){newObj.__drawTpl=obj[i]['draw'];newObj.__drawData=aData;}
else{aData=arrConcat(aData,obj[i]['draw'][2]);newObj._draw(obj[i]['draw'][0],obj[i]['draw'][1],aData);if(newObj._isActive&&newObj._active)newObj._active(true);}
if(obj[i]['objects']&&obj[i]['objects'].length)
if(typeof newObj.__drawObj!='undefined'&&!newObj._isActive&&obj[i]['ondemand']){newObj.__drawObj=obj[i]['objects'];newObj.__drawData=aData;}
else{this.__addObjects(obj[i]['objects'],newObj._pathName,aData);if(newObj._isActive&&newObj._active)newObj._active(true);}}};_me._obeyEvent=function(sType,oEvn){if(this._events[sType]){this._disobeyEvent(sType,oEvn);}
else
this._events[sType]=[];this._events[sType].push(oEvn);};_me._disobeyEvent=function(sType,oEvn){var obj=getCallbackFunction(oEvn);for(var i in this._events[sType])
if(getCallbackFunction(this._events[sType][i])===obj)
this._events[sType].splice(i,1);};_me.__exeEvent=function(sType,e,arg){if(this._events)
for(var j in this._events[sType]){if(Is.Array(this._events[sType][j])){if(executeCallbackFunction(this._events[sType][j],e,arg)===false)
this._events[sType].splice(j,1);}
else
this._events[sType].splice(j,1);}};_me._getChildObjects=function(sAnchor,sType){var aOut=[];for(var i in this)
if(i.indexOf('_')!==0)
if((!sAnchor||this[i]._anchor==sAnchor)&&(!sType||this[i]._type==sType))
aOut.push(this[i]);return aOut;};_me._clean=function(sAnchor){var sAnchor=sAnchor||'main';if(!this._anchors[sAnchor])return false;var aObj=this._getChildObjects(sAnchor);for(var i in aObj)
aObj[i]._destruct();return true;};_me._getAnchor=function(sAnchor){if(this._anchors[sAnchor])
return document.getElementById(this._anchors[sAnchor]);else
if(sAnchor=='main')
return this._main;else
if(sAnchor)
return document.getElementById(this._pathName+sAnchor);};_me._listen=function(sDataSet,aDataPath,bNoUpdate){this._listener=sDataSet;if(typeof aDataPath=='object')this._listenerPath=aDataPath;dataSet.obey(this,'_listener',sDataSet,bNoUpdate);};_me._save=function(sDataSet,aDataPath){this._saver=sDataSet;if(typeof aDataPath=='object')this._saverPath=aDataPath;dataSet.obey(this,'_saver',sDataSet);};_me._saveme=function(noupd){if(this._skipsaving)return'';if(this._noupdate)noupd=this._noupdate;if(this._saver){dataSet.add(this._saver,this._saverPath,this._value(),noupd,this._pathName);return this._saver;}
else
if(this._listener){dataSet.add(this._listener,this._listenerPath,this._value(),noupd,this._pathName);return this._listener;}};_me._add_destructor=function(sMethod,aProperties){if(!sMethod)return false;this._destructors[sMethod]=aProperties;};_me._remove_destructor=function(sMethod){delete this._destructors[sMethod];};_me._destruct=function(){if(this._destructed)return;this._destructed=true;if(!this._parent[this._name])return false;for(var val in this._destructors)
if(Is.Function(this[val]))
this[val].apply(this,Is.Array(this._destructors[val])?this._destructors[val]:arguments);for(var i in this){if(i.indexOf('_')==0||typeof this[i]!='object'||this[i]==null||typeof this[i]._destruct!='function')continue;this[i]._destruct();delete this[i];}
if(this._listener)
dataSet.disobey(this);if(this._listener_data)
dataSet.disobey(this,'_listener_data');try{this._main.parentNode.removeChild(this._main);}
catch(er){}
this._parent[this._name]=null;delete this._parent[this._name];if(this._parent.__onDestroyChild)
this._parent.__onDestroyChild(this._name,this._type,this._anchor);};

/* client/inc/wm_generic.js */
function wm_generic(){this.xmlns;this.error;}
var _me=wm_generic.prototype;_me.create_iq=function(aData,oResponse,oResponse2,sType,sId,sNs,bJSON){delete this.error;var xmlns={"auth":1,"tools":1,"accounts":1,"folders":1,"items":1,"freebusy":1,"spellchecker":1,"public":1,"private":1,"domain":1,"message":1,"import":1,"export":1,"upload":1};sNs=sNs||this.xmlns;if(!xmlns[sNs]){throw new Error('create_iq: unsupported xmlns "'+sNs+'"');}
sNs='webmail:iq:'+sNs;var request={"IQ":[{"ATTRIBUTES":{},"QUERY":[{"ATTRIBUTES":{}}]}]};if((sSID=dataSet.get('main',['sid'])))
request['IQ'][0]['ATTRIBUTES']['SID']=sSID;if(sId)request['IQ'][0]['ATTRIBUTES']['UID']=sId;request['IQ'][0]['ATTRIBUTES']['TYPE']=(sType!='set'?'get':'set');request['IQ'][0]['QUERY'][0]['ATTRIBUTES']['XMLNS']=sNs;if(sType!='set'||bJSON)
request['IQ'][0]['ATTRIBUTES']['FORMAT']='json';if(aData&&typeof aData=='object')
request['IQ'][0]['QUERY'][0]=arrConcat(request['IQ'][0]['QUERY'][0],aData);var http=new cHttpRequest();if(oResponse){http.sendArray(request,[this,'response_check',[oResponse]],oResponse2);return true;}
else{if(!http.sendArray(request))
return;var aOut=http.responseArray();if(aOut['IQ'][0]['ATTRIBUTES']['TYPE']=="error"){var aErr=aOut['IQ'][0]['ERROR'][0];this.error={};this.error["text"]=aErr['VALUE'];if(aErr['ATTRIBUTES']&&aErr['ATTRIBUTES']['UID']){this.error["id"]=aErr['ATTRIBUTES']['UID'];this.error["lang"]=getLang("ERR_"+aErr['ATTRIBUTES']['ID']);}}
return aOut;}};_me.response_check=function(aData,oResponse){try{var aXMLResponse=aData['Array'];var aIQAttribute=aXMLResponse['IQ'][0]['ATTRIBUTES'];}
catch(r){return false;}
if(aIQAttribute['TYPE']=='error')
try{switch(aXMLResponse.IQ[0].ERROR[0].ATTRIBUTES.UID){case'session_ip_mismatch':alert(getLang('ERROR::IP_MISMATCH'));case'session_expired':case'session_no_user':dataSet.add('main',['sid'],'');if(gui&&gui.frm_main&&gui.frm_main.__logout)
gui.frm_main.__logout();return;}}
catch(er){}
try{executeCallbackFunction(oResponse,aData);}
catch(e){if((gui._REQUEST_VARS['debug']||gui._REQUEST_VARS['frm'])&&dataSet.get('main',['sid']))
inspect2({InputData:aXMLResponse||'no data',Error:e},true);}};_me.response=function(){};

/* client/inc/wm_auth.js */
function wm_auth(){this.xmlns='auth';};wm_auth.inherit(wm_generic);var _me=wm_auth.prototype;_me.login=function(auth_array,sDataSet,sDataPath){if(auth_array['username']&&(auth_array['password']||auth_array['digest']||auth_array['auto_digest'])){if(auth_array.password){try{auth_array.digest=this.digest(auth_array['username'],auth_array['password']);}
catch(e){this.error={id:'RSA'};return false;}}
else
if(auth_array.auto_digest){try{auth_array.digest=this.digest(auth_array['username'],'',auth_array['auto_digest']);}
catch(e){this.error={id:'RSA'};return false;}}
this.logout();var request={"USERNAME":[{"VALUE":auth_array.username}],"DIGEST":[{"VALUE":auth_array.digest}],"METHOD":[{"VALUE":'RSA'}]};if(auth_array.auto_login)
request.AUTO_LOGIN=[{"VALUE":'true'}];if(auth_array.language)
request.LANGUAGE=[{"VALUE":auth_array.language}];if(auth_array.disable_ip_check)
request.DISABLE_IP_CHECK=[{"VALUE":1}];}
else
if(auth_array.session)
var request={"SESSION":[{"VALUE":auth_array.session}]};else
return false;if(!sDataSet){var aData=this.create_iq(request,'','','set');if(this.error)return false;aData=aData["IQ"][0]["ATTRIBUTES"]["SID"];dataSet.add('main',['sid'],aData);return aData;}
else
this.create_iq(request,[this,'response',['login',sDataSet,sDataPath]],'','set');return true;};_me.get_digest=function(sHashId,sMethod,aHandler){var request={METHOD:[{VALUE:sMethod}]};if(sMethod=='SIP'){request.HASHID=[{VALUE:sHashId.hash}];if(sHashId.command&&sHashId.command!==null){request.COMMAND=[{VALUE:sHashId.command}];request.URI=[{VALUE:sHashId.uri}];}}
else
request.HASHID=[{VALUE:sHashId}];if(aHandler)
this.create_iq(request,[this,'response',['digest','','',aHandler]],'','get');else{try{var aData=this.create_iq(request,'','','get');aData=aData["IQ"][0]["QUERY"][0]["DIGEST"][0]["VALUE"];return aData;}
catch(r){return false;}}};_me.logout=function(bIgnoreResponse){if(!dataSet.get("main",['sid']))return true;if(cookieManager.get('LoginState')=='3')
cookieManager.set('LoginState','2');if(bIgnoreResponse){this.create_iq(null,[this,'_void'],'','set');return true;}
else
this.create_iq(null,'','','set');dataSet.remove("main",['sid'],true);return true;};_me._forgot=function(email,csid,captcha){var aRequest={"FORGOT":[{"VALUE":email}],"CAPTCHA":[{'ATTRIBUTES':{'UID':csid},"VALUE":captcha}],"SUBJECT":[{"VALUE":GWOthers.getItem('FORGOT_SETTINGS','subject')||getLang('FORGOT_PASS::SUBJECT')}],"MESSAGE":[{"VALUE":GWOthers.getItem('FORGOT_SETTINGS','mail')||getLang('FORGOT_PASS::EMAIL')}]};var aResponse=(this.create_iq(aRequest,'','','set')).IQ[0];if(aResponse.ATTRIBUTES.TYPE=='result'){var emails=[];for(var i in aResponse.QUERY[0].EMAIL)
emails.push(aResponse.QUERY[0].EMAIL[i].VALUE);return emails;}
else
if(aResponse.ATTRIBUTES.TYPE=='error')
return aResponse.ERROR[0].ATTRIBUTES.UID;else
return false;};_me._void=function(){};_me.digest=function(user,pass,auto){var tmp=this.hashid({"username":user}),rsa=new RSAKey();rsa.setPublic(tmp.hash,'10001');try{return pass?rsa.encrypt(buildURL({p:pass,t:tmp.time})):rsa.encrypt(auto);}
catch(r){inspect2(r);}};_me.hashid=function(auth_array)
{var request={"USERNAME":[{"VALUE":auth_array['username']}],"METHOD":[{"VALUE":'RSA'}]};var response=this.create_iq(request);return{hash:response["IQ"][0]["QUERY"][0]["HASHID"][0]["VALUE"],time:response["IQ"][0]["QUERY"][0]["TIMESTAMP"][0]["VALUE"]};};_me.response=function(aData,sMethodName,sDataSet,sDataPath,aHandler)
{if(sDataSet=='main')
sDataPath=['sid'];else
sDataPath=sDataPath||['sid'];switch(sMethodName){case'login':dataSet.add(sDataSet,sDataPath,aData['Array']["IQ"][0]["ATTRIBUTES"]["SID"]);break;case'logout':dataSet.add(sDataSet,sDataPath,'');break;case'digest':executeCallbackFunction(aHandler,aData['Array']["IQ"][0]["QUERY"][0]["DIGEST"][0]["VALUE"]);}};var auth=new wm_auth();

/* client/inc/wm_accounts.js */
function wm_accounts(){this.xmlns='accounts';};wm_accounts.inherit(wm_generic);var _me=wm_accounts.prototype;_me.add=function(aAccountInfo,sDataSet,aDataPath,aHandler){var aRequest,uid;if(aAccountInfo['aid']){aRequest={"ACCOUNT":[{"ATTRIBUTES":{"ACTION":"edit","UID":aAccountInfo['aid']}}]};var aFrame=aRequest["ACCOUNT"][0];for(var sTag in aAccountInfo)
if(sTag=='acl'){var aGrp=[];for(var i in aAccountInfo['acl'])
aGrp.push({VALUE:aAccountInfo['acl'][i].join(''),ATTRIBUTES:{EMAIL:i}});if(aGrp.length)
aFrame.ACL=[{RIGHT:aGrp}];else
aFrame.ACL=[{VALUE:''}];}
else
if(sTag!='aid')
aFrame[sTag]=[{"VALUE":aAccountInfo[sTag]}];uid=aAccountInfo['aid'];}
else
if(aAccountInfo['SERVER']&&aAccountInfo['USERNAME']&&aAccountInfo['PASSWORD']&&aAccountInfo['EMAIL']){switch(aAccountInfo['PROTOCOL']){case'imap':case'pop3':case'local':break;default:aAccountInfo['PROTOCOL']='pop3';}
if(!aAccountInfo['PORT'])
if(aAccountInfo['PROTOCOL']=='imap')
aAccountInfo['PORT']=143;else
aAccountInfo['PORT']=110;uid=aAccountInfo['EMAIL'];aRequest={"ACCOUNT":[{"ATTRIBUTES":{"ACTION":"add"},"PROTOCOL":[{"VALUE":aAccountInfo['PROTOCOL']}],"SERVER":[{"VALUE":aAccountInfo['SERVER']}],"USERNAME":[{"VALUE":aAccountInfo['USERNAME']}],"PASSWORD":[{"VALUE":aAccountInfo['PASSWORD']}],"PORT":[{"VALUE":aAccountInfo['PORT']}],"EMAIL":[{"VALUE":aAccountInfo['EMAIL']}],"DESCRIPTION":[{"VALUE":aAccountInfo['DESCRIPTION']}]}]};}
else
return false;if(sDataSet||aHandler){this.create_iq(aRequest,[this,'response',['add',sDataSet,aDataPath,aHandler]],'','set',uid);return true;}
else{var aResponse=this.create_iq(aRequest,'','','set');try{if(aResponse['IQ'][0]['ATTRIBUTES']['TYPE']=='result')
return true;}
catch(e){}
return false;}};_me.subscribe=function(aAccountInfo,aHandler){if(!aAccountInfo||!aAccountInfo.subscription||!aAccountInfo.subscription.length)
return;var aRequest={"ACCOUNT":[{"ATTRIBUTES":{"ACTION":'subscribe',"UID":sPrimaryAccount}}]};var aSub=[];for(var i in aAccountInfo.subscription)
aSub.push({VALUE:aAccountInfo.subscription[i]});aRequest.ACCOUNT[0].SUBSCRIPTION=aSub;this.create_iq(aRequest,[this,'response',['subscribe','','',aHandler]],'','set');return true;};_me.test=function(aAccountInfo,aHandler){var aRequest={"ACCOUNT":[{"ATTRIBUTES":{"ACTION":"test"}}]};var aAccount=aRequest.ACCOUNT[0];aAccount.EMAIL=[{VALUE:aAccountInfo.EMAIL}];aAccount.USERNAME=[{VALUE:aAccountInfo.USERNAME}];if(aAccountInfo.PASSWORD)
aAccount.PASSWORD=[{VALUE:aAccountInfo.PASSWORD}];aAccount.SERVER=[{VALUE:aAccountInfo.SERVER}];aAccount.PORT=[{VALUE:aAccountInfo.PORT}];aAccount.PROTOCOL=[{VALUE:aAccountInfo.PROTOCOL}];if(!aHandler){var aResponse=this.create_iq(aRequest,'','','set');try{if(aResponse['IQ'][0]['ATTRIBUTES']['TYPE']=='result')
return true;}
catch(e){}
return false;}
else{this.create_iq('',[this,'response',['test',sDataSet,aDataPath,aHandler]],'','set');return true;}};_me._signup=function(sUser,sPass,sFull,sDomain,sAlt,csid,captcha){aRequest={"ACCOUNT":[{ATTRIBUTES:{ACTION:'signup'},USERNAME:[{VALUE:sUser}],PASSWORD:[{VALUE:sPass}],FULLNAME:[{VALUE:sFull}],ALTERNATIVE:[{VALUE:sAlt}],EMAIL:[{VALUE:sUser+'@'+sDomain}],CAPTCHA:[{ATTRIBUTES:{UID:csid},VALUE:captcha}]}]};var aResponse=(this.create_iq(aRequest,'','','set')).IQ[0];if(aResponse.ATTRIBUTES.TYPE=='result')
return{'uid':true};else
if(aResponse.ATTRIBUTES.TYPE=='error')
return{'uid':aResponse.ERROR[0].ATTRIBUTES.UID,'value':aResponse.ERROR[0].VALUE};else
return false;};_me.license=function(aHandler){var aRequest={"ACCOUNT":[{"ATTRIBUTES":{"ACTION":'license',"UID":sPrimaryAccount}}]};this.create_iq(aRequest,[this,'response',['license',null,null,aHandler]],'','get');return true;};_me.list=function(aAccountInfo,sDataSet,aDataPath,sParam,aHandler){var aRequest={};if(aAccountInfo&&aAccountInfo.aid)
aRequest.ACCOUNT=[{"ATTRIBUTES":{"UID":aAccountInfo['aid']}}];aRequest.CTZ=[{'VALUE':(new Date).getTimezoneOffset()*-1}];if(sDataSet||aHandler){this.create_iq(aRequest,[this,'response',['list',sDataSet,aDataPath,aHandler]],'','get',sParam);return true;}
else
return this.account_sort(this.parse(this.create_iq(aRequest)));};_me.account_sort=function(arr){var main={},rss={};for(var i in arr){if(arr[i].PRIMARY){main[i]=arr[i];delete arr[i];}
else
if(arr[i].TYPE=='rss'){rss[i]=arr[i];delete arr[i];}}
for(i in arr)
main[i]=arr[i];for(i in rss)
main[i]=rss[i];return main;}
_me.refresh=function(aAccountInfo,sDataSet,aDataPath,aHandler){if(!aAccountInfo['aid'])return false;var aRequest={"ACCOUNT":[{"ATTRIBUTES":{"ACTION":"refresh","UID":aAccountInfo['aid']}}]};if(!sDataSet){var result=WMFolders.parse(this.create_iq(aRequest,'','','set'));if(result[sPrimaryAccount])
this.__mapfolders(result[sPrimaryAccount]);return result;}
else{this.create_iq(aRequest,[this,'response',['refresh',sDataSet,aDataPath,aHandler]],'','set',aAccountInfo['aid'],'',true);return true;}};_me.remove=function(aAccountInfo,sDataSet,aDataPath,sParam){if(!aAccountInfo['aid'])
return false;var aRequest={"ACCOUNT":[{"ATTRIBUTES":{"ACTION":"delete","UID":aAccountInfo['aid']}}]};if(!sDataSet){var aResponse=this.create_iq(aRequest,'','','set');try{if(aResponse['IQ'][0]['ATTRIBUTES']['TYPE']=='result')
return true;}
catch(e){}
return false;}
else{this.create_iq(aRequest,[this,'response',['remove',sDataSet,aDataPath]],'','set',sParam);return true;}};_me.synchronize=function(aFoldersInfo,sDataSet,aDataPath){if(!aFoldersInfo['aid'])
return false;var aRequest={"ACCOUNT":[{"ATTRIBUTES":{"UID":aFoldersInfo['aid']},"FOLDER":[{"ATTRIBUTES":{"ACTION":"sync"}}]}]};if(!sDataSet){var aResponse=this.create_iq(aRequest,'','','set');try{if(aResponse['Array']['IQ'][0]['ATTRIBUTES']['TYPE']=='result')
return true;}
catch(e){}
return false;}
else{this.create_iq(aRequest,[this,'response',['synchronize',sDataSet,aDataPath]],'','set');return true;}};_me.synclist=function(aFoldersInfo,sDataSet,aDataPath){if(!aFoldersInfo['aid'])return false;var aRequest={"ACCOUNT":[{"ATTRIBUTES":{"UID":aFoldersInfo['aid'],"ACTION":"sync"}}]};if(!sDataSet){var aResponse=this.create_iq(aRequest,'','','set');try{if(aResponse['IQ'][0]['ATTRIBUTES']['TYPE']=='result')
(new wm_folders).list({'aid':aFoldersInfo['aid']});}
catch(e){}
return false;}
else{this.create_iq(aRequest,[this,'response',['synclist',sDataSet,aDataPath]],'','set',aFoldersInfo['aid']);return true;}};_me.response=function(aResponse,sMethodName,sDataSet,aDataPath,aHandler){var aXMLResponse=aResponse['Array'];var aIQAttribute=aXMLResponse['IQ'][0]['ATTRIBUTES'];switch(sMethodName){case'license':if(aHandler)
executeCallbackFunction(aHandler,aXMLResponse);break;case'subscribe':if(aIQAttribute['TYPE']=='result')
this.refresh({'aid':sPrimaryAccount},'folders');if(aHandler)
executeCallbackFunction(aHandler,aXMLResponse);break;case'test':var out=false;try{if(aResponse['IQ'][0]['ATTRIBUTES']['TYPE']=='result')
out=true;}
catch(e){}
executeCallbackFunction(aHandler,out);return;case'list':if(aIQAttribute['TYPE']=='result'){if(sDataSet)
dataSet.add(sDataSet,aDataPath,this.account_sort(this.parse(aXMLResponse)));if(aHandler)
executeCallbackFunction(aHandler,this.account_sort(this.parse(aXMLResponse)));if(aIQAttribute['UID']){var aAccounts=dataSet.get(sDataSet,aDataPath);dataSet.remove(aIQAttribute['UID'],'',true);for(sAccId in aAccounts)
WMFolders.list({'aid':sAccId},aIQAttribute['UID']);}}
return true;case'refresh':if(aIQAttribute['TYPE']=='error'){var str,att;try{att=aXMLResponse.IQ[0].ERROR[0].ATTRIBUTES.UID;str=aXMLResponse.IQ[0].ERROR[0].VALUE;}
catch(e){str=att='';}
if(att.toLowerCase()=='imap_internal'){if(typeof aHandler=='object')
executeCallbackFunction(aHandler,(aIQAttribute['UID']?aIQAttribute['UID']+"\n":'')+str.unescapeHTML());else
alert((aIQAttribute['UID']?aIQAttribute['UID']+"\n":'')+str.unescapeHTML());}}
case'synchronize':if(aIQAttribute['TYPE']=='result'&&aIQAttribute['UID']){var aParsedData=WMFolders.parse(aXMLResponse);if(sPrimaryAccount==aIQAttribute['UID']){var iRecent_old=null;if(dataSet.get(sDataSet,[aIQAttribute['UID'],'INBOX']))
iRecent_old=dataSet.get(sDataSet,[aIQAttribute['UID'],'INBOX','RECENT'])||0;this.__mapfolders(aParsedData[aIQAttribute['UID']]);dataSet.add(sDataSet,[aIQAttribute['UID']],aParsedData[aIQAttribute['UID']]);if(iRecent_old!==null&&parseInt(iRecent_old)<dataSet.get(sDataSet,[aIQAttribute['UID'],'INBOX','RECENT'])){if(gui.frm_main&&gui.frm_main.title)
gui.frm_main.title._add(getLang('TITLE::NEW_EMAIL'),10);if(gui.notifier)
gui.notifier._value(getLang('NOTIFIER::NEW_EMAIL'));storage.library('gw_others');if(gui.frm_main&&gui.frm_main.sound&&parseInt(GWOthers.getItem('MAIL_SETTINGS_GENERAL','sound_notify'))>0)
gui.frm_main.sound._play('mail');}}
else
dataSet.add(sDataSet,[aIQAttribute['UID']],aParsedData[aIQAttribute['UID']]);if(typeof aHandler=='object')
executeCallbackFunction(aHandler);}
break;case'remove':try{if(aIQAttribute['TYPE']!='result'&&aIQAttribute['UID'])
this.list(sDataSet,aDataPath,aIQAttribute['UID']);return true;}
catch(e){}
return false;case'add':case'synclist':try{if(aIQAttribute['TYPE']=='result'&&sDataSet&&aIQAttribute['UID']){WMFolders.list({'aid':aIQAttribute['UID']},sDataSet,aDataPath,aHandler);return true;}
else
if(aIQAttribute['TYPE']=='result'&&typeof aHandler=='object'){executeCallbackFunction(aHandler);return true;}
else
if(aIQAttribute['TYPE']=='error'&&typeof aHandler=='object')
executeCallbackFunction(aHandler,aXMLResponse['IQ'][0]['ERROR'][0]['ATTRIBUTES']['UID'],aXMLResponse['IQ'][0]['ERROR'][0]['VALUE']);}
catch(r){}
return false;}};_me.__mapfolders=function(aFolders){if(this.__mapped==sPrimaryAccount)return;var test={},out={};storage.library('gw_others');var sTrashFolder=GWOthers.getItem('DEFAULT_FOLDERS','trash').split('/')[1];if(!aFolders[sTrashFolder])
test['trash']=new RegExp('^'+sTrashFolder+'$',"i");var sDraftFolder=GWOthers.getItem('DEFAULT_FOLDERS','drafts').split('/')[1];if(!aFolders[sDraftFolder])
test['drafts']=new RegExp('^'+sDraftFolder+'$',"i");var sSentFolder=GWOthers.getItem('DEFAULT_FOLDERS','sent').split('/')[1];if(!aFolders[sSentFolder])
test['sent']=new RegExp('^'+sSentFolder+'$',"i");for(var itm in aFolders){if(aFolders[itm].ARCHIVE)
dataSet.add('main',['archive_path'],sPrimaryAccount+'/'+itm,true);else
if(aFolders[itm].SPAM)
dataSet.add('main',['spam_path'],sPrimaryAccount+'/'+itm,true);else
if(aFolders[itm].RESOURCE)
dataSet.add('main',['resources_path'],sPrimaryAccount+'/'+itm,true);else
for(var itm2 in test)
if(itm.match(test[itm2])){out[itm2]=sPrimaryAccount+'/'+itm;test[itm2]=null;delete test[itm2];}}
if(!Is.Empty(out))
GWOthers.set('DEFAULT_FOLDERS',out,'storage');this.__mapped=sPrimaryAccount;};_me.parse=function(aData){try{var aFrame=aData['IQ'][0]['QUERY'][0]['ACCOUNT'];var aResult={};var aResultFrame;for(var nAccNum in aFrame){aResultFrame={};for(var sTag in aFrame[nAccNum])
if(sTag!='ATTRIBUTES'){if(sTag=='ACL'){var aRights;if(aFrame[nAccNum][sTag][0]&&(aRights=aFrame[nAccNum][sTag][0].RIGHT)){aResultFrame.ACL={};for(var i in aRights)
aResultFrame.ACL[aRights[i].ATTRIBUTES.EMAIL]=aRights[i].VALUE?aRights[i].VALUE.split(''):[];}
aRights=null;}
else
aResultFrame[sTag]=aFrame[nAccNum][sTag][0]['VALUE'];}
if(aFrame[nAccNum]['ATTRIBUTES']){aResultFrame['GW']=(aFrame[nAccNum]['ATTRIBUTES']['GW']=='true'?1:0);if(aFrame[nAccNum]['ATTRIBUTES']['PRIMARY']=='true'){aResultFrame['PRIMARY']=1;aResultFrame['HTTP_PORT']=aFrame[nAccNum]['ATTRIBUTES']['HTTP_PORT'];aResultFrame['HTTPS_PORT']=aFrame[nAccNum]['ATTRIBUTES']['HTTPS_PORT'];aResultFrame['SIP_SUPPORT']=(aFrame[nAccNum]['ATTRIBUTES']['SIP_SUPPORT']=='true'?1:0);aResultFrame['SMS_SUPPORT']=(aFrame[nAccNum]['ATTRIBUTES']['SMS_SUPPORT']=='true'?1:0);aResultFrame['SHARING_SUPPORT']=(aFrame[nAccNum]['ATTRIBUTES']['SHARING_SUPPORT']=='true'?1:0);aResultFrame['DELIVERY_SUPPORT']=(aFrame[nAccNum]['ATTRIBUTES']['DELIVERY_SUPPORT']=='true'?1:0);aResultFrame['RULES_SUPPORT']=(aFrame[nAccNum]['ATTRIBUTES']['RULES_SUPPORT']=='true'?1:0);aResultFrame['IM_SUPPORT']=(aFrame[nAccNum]['ATTRIBUTES']['IM_SUPPORT']=='true'?1:0);aResultFrame['IM_HISTORY_SUPPORT']=(aFrame[nAccNum]['ATTRIBUTES']['IM_HISTORY_SUPPORT']=='true'?1:0);aResultFrame['SOCKS_SUPPORT']=(aFrame[nAccNum]['ATTRIBUTES']['SOCKS_SUPPORT']=='true'?1:0);}
aResultFrame['EXPIRED']=(aFrame[nAccNum]['ATTRIBUTES']['PASSEXPIRED']=='true'?1:0);aResultFrame['TYPE']=(aFrame[nAccNum]['ATTRIBUTES']['TYPE']?aFrame[nAccNum]['ATTRIBUTES']['TYPE']:'user');}
else
aResultFrame['TYPE']='user';if(aResultFrame['PRIMARY']){dataSet.add('main',['fullname'],aResultFrame['FULLNAME']);dataSet.add('main',['user'],aResultFrame['USERNAME']);dataSet.add('main',['account'],aFrame[nAccNum]['ATTRIBUTES']['UID']);dataSet.add('main',['domain'],aFrame[nAccNum]['ATTRIBUTES']['UID'].substr(aFrame[nAccNum]['ATTRIBUTES']['UID'].indexOf('@')+1));window.sPrimaryAccount=aFrame[nAccNum]['ATTRIBUTES']['UID'];window.sPrimaryAccountType=aResultFrame['TYPE'];window.sPrimaryAccountProtocol=aResultFrame['PROTOCOL'];window.sPrimaryAccountGW=aResultFrame['GW'];window.sPrimaryAccountGWID=aFrame[nAccNum]['ATTRIBUTES']['GW_OWNERID'];window.sPrimaryAccountIM=aResultFrame['IM_SUPPORT'];window.sPrimaryAccountIMHISTORY=aResultFrame['IM_HISTORY_SUPPORT'];window.sPrimaryAccountSIP=aResultFrame['SIP_SUPPORT'];window.sPrimaryAccountSMS=aResultFrame['SMS_SUPPORT'];window.sPrimaryAccountSHARING=aResultFrame['SHARING_SUPPORT'];window.sPrimaryAccountDELIVERY=aResultFrame['DELIVERY_SUPPORT'];window.sPrimaryAccountRULES=aResultFrame['RULES_SUPPORT'];window.sPrimaryAccountSOCKS=aResultFrame['SOCKS_SUPPORT'];window.sPrimaryAccountHTTP=aResultFrame['HTTP_PORT'];window.sPrimaryAccountHTTPS=aResultFrame['HTTPS_PORT'];}
aResult[aFrame[nAccNum]['ATTRIBUTES']['UID']]=aResultFrame;}
return aResult;}
catch(e){return false;}};var accounts=new wm_accounts();var WMAccounts=accounts;

/* client/inc/wm_folders.js */
function wm_folders(){this.xmlns='folders';};wm_folders.inherit(wm_generic);var _me=wm_folders.prototype;_me.add=function(aFolderInfo,sDataSet,aDataPath,aHandler)
{if(!aFolderInfo['aid'])
return false;var sUpdDataSet=sDataSet||'folders',aRequest;if(aFolderInfo['fid']){if(!aFolderInfo['default']&&!aFolderInfo['name']&&typeof aFolderInfo['channel']=='undefined'&&!aFolderInfo['acl'])
return false;aRequest={"ACCOUNT":[{"ATTRIBUTES":{"UID":aFolderInfo['aid']},"FOLDER":[{"ATTRIBUTES":{"UID":aFolderInfo['fid'],"ACTION":"edit"}}]}]};}
else{if(!aFolderInfo['name'])
return false;if(aFolderInfo['type']&&inArray(['mail','contact','event','journal','note','task','file','m','r','c','e','j','n','t','f'],aFolderInfo['type'].toLowerCase())<0)
return false;else
if(!aFolderInfo['type'])
aFolderInfo['type']='M';aRequest={"ACCOUNT":[{"ATTRIBUTES":{"UID":aFolderInfo['aid']},"FOLDER":[{"ATTRIBUTES":{"ACTION":"add"},"TYPE":[{"VALUE":aFolderInfo['type']}]}]}]};}
if(aFolderInfo['name']&&aFolderInfo['fid']!=aFolderInfo['name'])
aRequest.ACCOUNT[0].FOLDER[0].NAME=[{'VALUE':aFolderInfo['name']}];if(aFolderInfo['default'])
aRequest.ACCOUNT[0].FOLDER[0].DEFAULT=[{'VALUE':aFolderInfo['default']}];if(aFolderInfo.virtual){aRequest.ACCOUNT[0].FOLDER[0].VIRTUAL=[];if(aFolderInfo.virtual.folders){aRequest.ACCOUNT[0].FOLDER[0].VIRTUAL=[{FOLDERS:[{'FOLDER':[]}]}];var tmp;for(var i in aFolderInfo.virtual.folders){tmp={'VALUE':i};if(aFolderInfo.virtual.folders[i])
tmp.ATTRIBUTES={'PRIMARY':"true"};aRequest.ACCOUNT[0].FOLDER[0].VIRTUAL[0].FOLDERS[0].FOLDER.push(tmp);}}
if(typeof aFolderInfo['search']!='undefined')
aRequest.ACCOUNT[0].FOLDER[0].VIRTUAL[0].SEARCH=[{'VALUE':aFolderInfo['search']}];}
if(aFolderInfo['acl']){var aGrp=[];for(var i in aFolderInfo['acl'])
aGrp.push({VALUE:aFolderInfo['acl'][i].join(''),ATTRIBUTES:{EMAIL:i}});if(aGrp.length)
aRequest.ACCOUNT[0].FOLDER[0].ACL=[{RIGHT:aGrp}];else
aRequest.ACCOUNT[0].FOLDER[0].ACL=[{VALUE:''}];}
if(Is.Array(aFolderInfo['channel'])){aRequest.ACCOUNT[0].FOLDER[0].CHANNELS=[{CHANNEL:[]}];for(var i in aFolderInfo['channel'])
if(aFolderInfo['channel'][i])
aRequest.ACCOUNT[0].FOLDER[0].CHANNELS[0].CHANNEL.push({"VALUE":aFolderInfo['channel'][i]});}
if(sDataSet||aHandler){this.create_iq(aRequest,[this,'response',['add',sDataSet,aDataPath,aFolderInfo,aHandler]],'','set',aFolderInfo['aid']);return true;}
else{var aResponse=this.create_iq(aRequest,'','','set');try{if(aResponse['IQ'][0]['ATTRIBUTES']['TYPE']=='result')
return true;}
catch(e){}
return false;}};_me.list=function(aFoldersInfo,sDataSet,aDataPath,aHandler)
{if(!aFoldersInfo['aid'])
return false;var aRequest={"ACCOUNT":[{"ATTRIBUTES":{"UID":aFoldersInfo['aid']}}]};if(aFoldersInfo['fid'])
aRequest.ACCOUNT[0].FOLDER=[{"ATTRIBUTES":{"UID":aFoldersInfo['fid']}}];if(!sDataSet&&!aHandler)
return this.parse(this.create_iq(aRequest));else{this.create_iq(aRequest,[this,'response',['list',sDataSet,aDataPath,'',aHandler]],'','get',aFoldersInfo['aid']);return true;}};_me.getType=function(aFolderInfo){var aid=aFolderInfo.aid||aFolderInfo[0];var fid=aFolderInfo.fid||aFolderInfo[1];return dataSet.get('folders',[aid,fid,'TYPE'])||'X';};_me.getRights=function(aFolderInfo,isRight){if(Cookie){var tmp=Cookie.get(['rights',aFolderInfo.aid,aFolderInfo.fid]);if(tmp){var aRights={};for(var i in tmp){switch(tmp[i]){case'l':aRights.read=true;break;case'k':aRights.write=true;break;case'x':aRights.modify=true;aRights.remove=true;break;case'a':aRights.owner=true;break;}}
if(!aRights.remove&&aFolderInfo.fid.indexOf('~')==0&&aFolderInfo.fid.indexOf('@')>0&&aFolderInfo.fid.indexOf('/')<0)
aRights.remove=true;if(isRight)
return aRights[isRight]||false;return aRights;}}
if(isRight)
return true;else
return{owner:true,read:true,write:true,modify:true,remove:true};};_me.getAccess=function(aFolderInfo,isRight){if(Cookie){var tmp=Cookie.get(['rights',aFolderInfo.aid,aFolderInfo.fid]);if(tmp){var aRights={};for(var i in tmp){switch(tmp[i]){case'r':aRights.read=true;break;case'i':aRights.write=true;break;case'w':aRights.modify=true;break;case't':aRights.remove=true;break;}}
if(isRight)
return aRights[isRight]||false;return aRights;}}
return{owner:true,read:true,write:true,modify:true,remove:true};};_me.remove=function(aFolderInfo,sDataSet,aDataPath)
{if(!aFolderInfo['aid']||!aFolderInfo['fid'])
return false;var aRequest={"ACCOUNT":[{"ATTRIBUTES":{"UID":aFolderInfo['aid']},"FOLDER":[{"ATTRIBUTES":{"UID":aFolderInfo['fid'],"ACTION":"delete"}}]}]};if(!sDataSet){var aResponse=this.create_iq(aRequest,'','','set');try{if(aResponse['IQ'][0]['ATTRIBUTES']['TYPE']=='result')
return true;}
catch(e){}
return false;}
else{this.create_iq(aRequest,[this,'response',['remove',sDataSet,aDataPath,aFolderInfo]],'','set',aFolderInfo['aid']);return true;}};_me.empty=function(aFolderInfo,sDataSet,aDataPath,aDestination)
{if(!aFolderInfo['aid']||!aFolderInfo['fid'])
return false;var aRequest;if(Is.Defined(aDestination))
aRequest={"ACCOUNT":[{"ATTRIBUTES":{"UID":aFolderInfo['aid']},"FOLDER":[{"ATTRIBUTES":{"UID":aFolderInfo['fid'],"ACTION":"empty"},"ACCOUNT":[{"VALUE":aDestination['aid']}],"FOLDER":[{"VALUE":aDestination['fid']}]}]}]};else
aRequest={"ACCOUNT":[{"ATTRIBUTES":{"UID":aFolderInfo['aid']},"FOLDER":[{"ATTRIBUTES":{"UID":aFolderInfo['fid'],"ACTION":"empty"}}]}]};if(!sDataSet){var aResponse=this.create_iq(aRequest,'','','set');try{if(aResponse['IQ'][0]['ATTRIBUTES']['TYPE']=='result'){dataSet.add('items',[aFolderInfo['aid'],aFolderInfo['fid']],{});return true;}}
catch(e){}
return false;}
else{this.create_iq(aRequest,[this,'response',['empty',sDataSet,aDataPath,aFolderInfo]],'','set',aFolderInfo['aid']+'/'+aFolderInfo['fid']);return true;}};_me.subscribe=function(aFolderInfo,sDataSet,aDataPath,bSync){var sDataSet=sDataSet||'folders';var aRequest={"ACCOUNT":[{"ATTRIBUTES":{"UID":aFolderInfo['aid']},"FOLDER":[{"ATTRIBUTES":{"UID":aFolderInfo['fid'],"ACTION":"edit"},"SUBSCRIBED":[{"VALUE":bSync?1:0}]}]}]};this.create_iq(aRequest,[this,'response',[bSync?'sync':'unsync',sDataSet,aDataPath,aFolderInfo,bSync]],'','set',aFolderInfo['aid']+'/'+aFolderInfo['fid']);return true;};_me.markItemsRead=function(aFolderInfo,sDataSet,aDataPath,bRead)
{if(!aFolderInfo['aid']||!aFolderInfo['fid'])
return false;var sType=bRead?'markasread':'markasunread';var aRequest={"ACCOUNT":[{"ATTRIBUTES":{"UID":aFolderInfo['aid']},"FOLDER":[{"ATTRIBUTES":{"UID":aFolderInfo['fid'],"ACTION":sType}}]}]};aFolderInfo['bRead']=bRead;if(!sDataSet){var aResponse=this.create_iq(aRequest,'','','set');try{if(aResponse['IQ'][0]['ATTRIBUTES']['TYPE']=='result')
return true;}
catch(e){}
return false;}
else{this.create_iq(aRequest,[this,'response',['markread',sDataSet,aDataPath,aFolderInfo]],'','set',aFolderInfo['aid']);return true;}};_me.response=function(aResponse,sMethodName,sDataSet,aDataPath,aFolderInfo,aHandler)
{var aXMLResponse=aResponse['Array'];var aIQAttribute=aXMLResponse['IQ'][0]['ATTRIBUTES'];try{if(aIQAttribute['TYPE']=='error'){var str,att;try{att=aXMLResponse.IQ[0].ERROR[0].ATTRIBUTES.UID;str=aXMLResponse.IQ[0].ERROR[0].VALUE;}
catch(e){str=att='';}
switch(att.toLowerCase()){case'imap_internal':alert((aIQAttribute['UID']?aIQAttribute['UID']+"\n":'')+str.unescapeHTML());break;case'folder_rename':gui._create('rename_folder','frm_alert','','','','POPUP_FOLDERS::RENAME_FOLDER','ALERTS::RENAME_FOLDER',[aFolderInfo.fid,aFolderInfo.name]);}}}
catch(e){}
switch(sMethodName){case'unsync':case'sync':if(aIQAttribute['TYPE']=='result')
dataSet.add('folders',[aFolderInfo['aid'],aFolderInfo['fid'],'SYNC'],sMethodName=='sync'?1:0,true);break;case'add':if(aIQAttribute['TYPE']=='error'){try{if(aIQAttribute['UID'])
this.list({'aid':aIQAttribute['UID']},sDataSet,aDataPath);}
catch(e){}
return true;}
else
if(Cookie&&typeof aFolderInfo.name!='undefined'&&typeof aFolderInfo.aid!='undefined'){try{var tmp=aXMLResponse.IQ[0].QUERY[0].ACCOUNT[0];if(tmp.ATTRIBUTES.UID==aFolderInfo.aid&&tmp.FOLDER[0].ATTRIBUTES.UID==aFolderInfo.name)
Cookie.set(['rights',aFolderInfo.aid,aFolderInfo.name],tmp.FOLDER[0].ATTRIBUTES.RIGHTS?tmp.FOLDER[0].ATTRIBUTES.RIGHTS.split(''):'');}
catch(r){}}
if(aFolderInfo['fid']&&((aFolderInfo['name']&&aFolderInfo['fid']!=aFolderInfo['name'])||typeof aFolderInfo['channel']!='undefined')||aFolderInfo['default'])
{var tmp,sName=aFolderInfo['name']||aFolderInfo['fid'],aDataSet=dataSet.get(sDataSet,[aFolderInfo['aid']]);for(var i in aDataSet){if(i==aFolderInfo['fid']){tmp=aDataSet[i];if(typeof aFolderInfo['channel']!='undefined')
tmp.CHANNEL=aFolderInfo['channel'];delete aDataSet[i];delete tmp.NAME;aDataSet[sName]=tmp;}
else
if(i.indexOf(aFolderInfo['fid']+'/')===0){tmp=aDataSet[i];delete aDataSet[i];aDataSet[sName+i.substr(aFolderInfo['fid'].length)]=tmp;}}
if(aFolderInfo['aid']==sPrimaryAccount&&aXMLResponse.IQ[0].QUERY[0].ACCOUNT[0].FOLDER[0].DEFAULT){var tmp_type={C:'CONTACTS',E:'EVENTS',T:'TASKS',N:'NOTES',J:'JOURNAL',F:'FILES',D:'DRAFTS',H:'TRASH',S:'SENT'}[aXMLResponse.IQ[0].QUERY[0].ACCOUNT[0].FOLDER[0].DEFAULT[0].VALUE];var def=GWOthers.getItem('DEFAULT_FOLDERS',tmp_type);if(def){def=def.split("/");def={aid:def.shift(),fid:def.join('/')};if(dataSet.get(sDataSet,[def.aid,def.fid]))
dataSet.remove(sDataSet,[def.aid,def.fid,'DEFAULT'],true);}
GWOthers.setItem('DEFAULT_FOLDERS',tmp_type,aFolderInfo['aid']+'/'+sName);aDataSet[sName].DEFAULT=aXMLResponse.IQ[0].QUERY[0].ACCOUNT[0].FOLDER[0].DEFAULT[0].VALUE;}
var srt={};srt[aFolderInfo['aid']]=aDataSet;dataSet.add(sDataSet,[aFolderInfo['aid']],this.sort(srt)[aFolderInfo['aid']],true);dataSet.update(sDataSet,[aFolderInfo['aid']]);}
else
if(!aFolderInfo['fid']&&aFolderInfo['name']){var out={TYPE:aFolderInfo['type']};if(typeof aFolderInfo['channel']!='undefined')
out.RSS='true';var tmp=dataSet.get(sDataSet,[aFolderInfo['aid']],true)||{};tmp[aFolderInfo['name']]=out;var srt={};srt[aFolderInfo['aid']]=tmp;dataSet.add(sDataSet,[aFolderInfo['aid']],this.sort(srt)[aFolderInfo['aid']]);}
if(typeof aHandler=='object')
executeCallbackFunction(aHandler,aFolderInfo);return false;case'list':try{if(aIQAttribute['UID']){var aData=this.parse(aXMLResponse,true);if(aData[sPrimaryAccount])
WMAccounts.__mapfolders(aData[sPrimaryAccount]);if(sDataSet)
dataSet.add(sDataSet,[aIQAttribute['UID']],aData[aIQAttribute['UID']]);if(typeof aHandler=='object')
executeCallbackFunction(aHandler,aData);return true;}}
catch(e){}
return false;case'remove':try{if(aIQAttribute['TYPE']!='result'&&aIQAttribute['UID']){this.list({'aid':aIQAttribute['UID']},sDataSet,aDataPath);return true;}}
catch(e){}
var blank=true;var bPerfm=false;var aDataSet=dataSet.get(sDataSet,[aFolderInfo['aid']]);for(var i in aDataSet){if(i==aFolderInfo['fid']||i.indexOf(aFolderInfo['fid']+'/')===0){bPerfm=true;delete aDataSet[i];}
else
blank=false;}
if(blank&&aFolderInfo['aid']==sPrimaryAccount+'_rss'){dataSet.remove('accounts',[aFolderInfo['aid']],true);dataSet.remove(sDataSet,[aFolderInfo['aid']]);}
else
if(bPerfm){dataSet.add(sDataSet,[aFolderInfo['aid']],aDataSet,true);dataSet.update(sDataSet,[aFolderInfo['aid']]);}
return false;case'empty':try{if(aIQAttribute['TYPE']!='result'&&aIQAttribute['UID']){var aFolder=Path.split(aIQAttribute['UID']);this.list({'aid':aFolder[0]},sDataSet,aDataPath);var aItems=dataSet.get('items');for(var sAccId in aItems)
for(var sFolId in aItems[sAccId]);if(sAccId==aFolder[0]&&sFolId==aFolder[1])
WMItems.list({'aid':sAccId,'fid':sFolId,'values':items.default_values('M')},'items');return true;}
else
if(aIQAttribute['UID']){var aFolder=Path.split(aIQAttribute['UID']);var aItems=dataSet.get('items');for(var sAccId in aItems)
for(var sFolId in aItems[sAccId]);if(sAccId==aFolder[0]&&sFolId==aFolder[1])
dataSet.add('items',[aFolder[0],aFolder[1]],{});}}
catch(e){}
if(dataSet.get(sDataSet,[aFolderInfo['aid'],aFolderInfo['fid'],'RECENT'])>0)
dataSet.add(sDataSet,[aFolderInfo['aid'],aFolderInfo['fid'],'RECENT'],'0');return false;case'markread':if(aIQAttribute['TYPE']=='error')
return true;if(aFolderInfo.bRead){if(dataSet.get(sDataSet,[aFolderInfo['aid'],aFolderInfo['fid'],'RECENT'])>0)
dataSet.add(sDataSet,[aFolderInfo['aid'],aFolderInfo['fid'],'RECENT'],'0');}
else{var nCount=0;if(Is.Defined(aXMLResponse['IQ'][0]['QUERY'][0]['RECENT'])){nCount=parseInt(aXMLResponse['IQ'][0]['QUERY'][0]['RECENT']);if(!Is.Number(nCount))
nCount=0;}
var i=dataSet.get(sDataSet,[aFolderInfo['aid'],aFolderInfo['fid'],'RECENT']);i=i>0?i:0;if(i!=nCount)
dataSet.add(sDataSet,[aFolderInfo['aid'],aFolderInfo['fid'],'RECENT'],nCount.toString());}
var aItems=dataSet.get('items');for(var sAccId in aItems)
for(var sFolId in aItems[sAccId]);if(sAccId==aFolderInfo['aid']&&sFolId==aFolderInfo['fid'])
gui.frm_main.main.list._serverSort();return true;}};_me.sort=function(aFolders)
{function sort(a,b){var sA;var sB;if(Is.String(a['TITLE']))
sA=a['TITLE'].toLowerCase();else
sA=a['TITLE'];if(Is.String(b['TITLE']))
sB=b['TITLE'].toLowerCase();else
sB=b['TITLE'];if(sA>sB)return 1;if(sA<sB)return-1;return 0};var aResult={};var aResultFolFrame,aFolder,aFolderSplit;var aSortInbox,aSortOthers,aSortShared,aSortPublic;var sTitle;var bSpamFolders=false;var sRights;var aCommon=getLang('COMMON_FOLDERS');for(var sAccId in aFolders){aSortInbox=[];aSortOthers=[];aSortShared=[];aSortPublic=[];for(var sFolId in aFolders[sAccId]){if(sFolId=='__@@GWTRASH@@__'){aFolders[sAccId][sFolId]['NAME']=aCommon['GW-TRASH'];aSortOthers.push({'FOLDER':sFolId,'TITLE':aCommon['GW-TRASH']});continue;}
aFolderSplit=sFolId.split('/');if(aFolderSplit[0]=='INBOX'){if(aFolderSplit[0]==sFolId)
aFolders[sAccId][sFolId]['NAME']=aCommon['INBOX'];aFolderSplit[0]=aCommon['INBOX'];aSortInbox.push({'FOLDER':sFolId,'TITLE':aFolderSplit.join('/')});}
else
if(aFolderSplit[0]=='__@@VIRTUAL@@__'){if(aFolderSplit[0]==sFolId)
aFolders[sAccId][sFolId]['NAME']=aCommon['VIRTUAL-FOLDERS'];aFolderSplit[0]=aCommon['VIRTUAL-FOLDERS'];aSortOthers.push({'FOLDER':sFolId,'TITLE':aFolderSplit.join('/')});}
else
if(aFolderSplit[0]=='SPAM_QUEUE'){if(aFolderSplit[1])
aFolders[sAccId][sFolId]['NAME']=aCommon['SPAM_QUEUE-'+aFolderSplit[1].toUpperCase()];aSortOthers.push({'FOLDER':sFolId,'TITLE':sFolId});}
else
if(aFolderSplit[0]=='Quarantine'&&aFolders[sAccId][sFolId].TYPE=='Q'){aFolders[sAccId][sFolId]['NAME']=aCommon['QUARANTINE'];aSortOthers.push({'FOLDER':sFolId,'TITLE':sFolId});}
else{if(aFolderSplit[0].indexOf('~')==0&&aFolderSplit[0].indexOf('@')>0){aSortShared.push({'FOLDER':sFolId,'TITLE':sFolId});if(aFolderSplit[1]=='INBOX'&&aFolders[sAccId][sFolId].TYPE=='M'&&!aFolderSplit[2])
aFolders[sAccId][sFolId].NAME=aCommon['INBOX'];else
if(!aFolderSplit[1])
aFolders[sAccId][sFolId].NAME=sFolId.substr(1);}
else
if(aFolders[sAccId][aFolderSplit[0]]&&aFolders[sAccId][aFolderSplit[0]].TYPE=='A')
aSortShared.push({'FOLDER':sFolId,'TITLE':sFolId});else{aSortOthers.push({'FOLDER':sFolId,'TITLE':sFolId});if(aFolders[sAccId][aFolderSplit[0]]&&aFolders[sAccId][aFolderSplit[0]].PUBLIC&&aFolderSplit[1]=='INBOX'&&aFolders[sAccId][sFolId].TYPE=='M'&&!aFolderSplit[2])
aFolders[sAccId][sFolId].NAME=aCommon['INBOX'];}}}
aSortInbox.sort(sort);aSortOthers.sort(sort);aSortShared.sort(sort);var fld,tmp;for(var i=0;i<aSortShared.length;i++){if(aSortShared[i].FOLDER.indexOf('/')>-1){fld=aSortShared[i].FOLDER.split('/'),tmp='',k=0;for(var j=0;j<=fld.length;j++){fld.pop();tmp=fld.join('/');if(aSortShared[i-1].FOLDER.indexOf(tmp)==0)
break;aSortShared.splice(i,0,{FOLDER:tmp});k++;}
i+=k;}}
aResultFolFrame={};for(var n in aSortInbox){aFolder=aFolders[sAccId][aSortInbox[n]['FOLDER']];aResultFolFrame[aSortInbox[n]['FOLDER']]={};for(var sItem in aFolder)
aResultFolFrame[aSortInbox[n]['FOLDER']][sItem]=aFolder[sItem];}
for(var n in aSortOthers){aFolder=aFolders[sAccId][aSortOthers[n]['FOLDER']];aResultFolFrame[aSortOthers[n]['FOLDER']]={};for(var sItem in aFolder)
aResultFolFrame[aSortOthers[n]['FOLDER']][sItem]=aFolder[sItem];}
for(var n in aSortShared){aFolder=aFolders[sAccId][aSortShared[n]['FOLDER']];if(!aFolder&&aSortShared[n].FOLDER.indexOf('~')==0&&aSortShared[n].FOLDER.indexOf('@')>0&&aSortShared[n].FOLDER.indexOf('/')<1)
aResultFolFrame[aSortShared[n]['FOLDER']]={TYPE:'VA'};else
aResultFolFrame[aSortShared[n]['FOLDER']]={};for(var sItem in aFolder)
aResultFolFrame[aSortShared[n]['FOLDER']][sItem]=aFolder[sItem];}
aResult[sAccId]=aResultFolFrame;}
return aResult;};_me.parse=function(aData)
{try
{var aAccFrame=aData['IQ'][0]['QUERY'][0]['ACCOUNT'][0],sAccId=aAccFrame['ATTRIBUTES']['UID'],aFolFrame=aAccFrame['FOLDER'],sFolId,aResult={},aResultAccFrame={},aResultFolFrame,aRights,acl=false;var aTmp={C:'CONTACTS',E:'EVENTS',T:'TASKS',N:'NOTES',J:'JOURNAL',F:'FILES',D:'DRAFTS',H:'TRASH',S:'SENT'},sFolderType='';for(var nFolNum in aFolFrame){aResultFolFrame={};sFolId=aFolFrame[nFolNum]['ATTRIBUTES']['UID'];for(var sItem in aFolFrame[nFolNum])
if(sItem=='CHANNELS'){if(aFolFrame[nFolNum][sItem][0]&&aFolFrame[nFolNum][sItem][0].CHANNEL){aResultFolFrame[sItem]=[];aRights=aFolFrame[nFolNum][sItem][0].CHANNEL;for(var i in aRights)
if(aRights[i].VALUE)
aResultFolFrame[sItem].push(aRights[i].VALUE);}}
else
if(sItem=='ACL'){if(aFolFrame[nFolNum][sItem][0]&&aFolFrame[nFolNum][sItem][0].RIGHT){aResultFolFrame[sItem]={};aRights=aFolFrame[nFolNum][sItem][0].RIGHT;for(var i in aRights)
aResultFolFrame[sItem][aRights[i].ATTRIBUTES.EMAIL]=aRights[i].VALUE?aRights[i].VALUE.split(''):[];}
acl=true;}
else
if(sItem=='DEFAULT'&&sAccId==sPrimaryAccount&&aFolFrame[nFolNum].ATTRIBUTES.UID.indexOf('~')<0){sFolderType=aFolFrame[nFolNum].TYPE[0].VALUE;if(sFolderType=='M')
sFolderType=aFolFrame[nFolNum][sItem][0].VALUE;GWOthers.setItem('DEFAULT_FOLDERS',aTmp[sFolderType],sPrimaryAccount+'/'+aFolFrame[nFolNum].ATTRIBUTES.UID);aResultFolFrame[sItem]=aFolFrame[nFolNum][sItem][0]['VALUE'];}
else
if(sItem=='VIRTUAL'&&sAccId==sPrimaryAccount){aResultFolFrame[sItem]={};if(aFolFrame[nFolNum][sItem][0].FOLDERS&&aFolFrame[nFolNum][sItem][0].FOLDERS[0].FOLDER){aResultFolFrame[sItem].FOLDERS=[];var aFolers=aFolFrame[nFolNum][sItem][0].FOLDERS[0].FOLDER;for(var i in aFolers)
aResultFolFrame[sItem].FOLDERS[aFolers[i].VALUE]=aFolers[i].ATTRIBUTES&&aFolers[i].ATTRIBUTES.PRIMARY?true:false;}
if(aFolFrame[nFolNum][sItem][0].SEARCH)
aResultFolFrame[sItem].SEARCH=aFolFrame[nFolNum][sItem][0].SEARCH[0].VALUE;}
else
if(sItem!='ATTRIBUTES')
aResultFolFrame[sItem]=aFolFrame[nFolNum][sItem][0]['VALUE'];aResultAccFrame[sFolId]=aResultFolFrame;}
aResult[sAccId]=aResultAccFrame;return aFolFrame&&aFolFrame.length>1?this.sort(aResult):aResult;}
catch(e){return false;}};_me.__emptyFolder=function(sAccId,sFolId,bMoveToTrash)
{var aTrashFolder;if(bMoveToTrash){var aFolData=clone(dataSet.get('folders',[sAccId,sFolId]),true);if(aFolData.TYPE=='M'){storage.library('gw_others');aTrashFolder=Path.split(GWOthers.getItem('DEFAULT_FOLDERS','trash'));var sDestAccount=aTrashFolder[0];var sDestFolder=aTrashFolder[1];var aDestData=clone(dataSet.get('folders',[sDestAccount,sDestFolder]),true);if(Is.Defined(aDestData)&&Is.Defined(aFolData)){var iRec=parseInt(aFolData['RECENT']||0)+parseInt(aDestData['RECENT']||0);var iOld=parseInt(dataSet.get('folders',[sDestAccount,sDestFolder,'RECENT'])||0);if(iRec!=iOld)
dataSet.add('folders',[sDestAccount,sDestFolder,'RECENT'],iRec.toString());}
aTrashFolder={'aid':sDestAccount,'fid':sDestFolder};}}
if(dataSet.get('folders',[sAccId,sFolId,'RECENT'])>0)
dataSet.add('folders',[sAccId,sFolId,'RECENT'],'0');var aMView=dataSet.get('mailview');if(typeof aMView=='object'){for(var mwa in aMView)
for(var mwf in aMView[mwa]);if(mwa==sAccId&&mwf==sFolId)
dataSet.remove('mailview');}
this.empty({'aid':sAccId,'fid':sFolId},'folders','',aTrashFolder);};folders=new wm_folders();var WMFolders=folders;

/* client/inc/wm_items.js */
function wm_items(){this.xmlns='items';this.__clientID=function(id){return'*'+id;};this.__serverID=function(id){return id.indexOf('*')>-1?id.replace('*',''):id;};this.__defaultValues={'C':['ITMCLASSIFYAS','ITMTITLE','ITMFIRSTNAME','ITMMIDDLENAME','ITMSURNAME','ITMCLASS','ITMSUFFIX','ITMCOMPANY','ITMDEPARTMENT','LCTEMAIL1','LCTEMAIL2','LCTEMAIL3','ITMCATEGORY','LCTPHNWORK1','LCTPHNFAXWORK','LCTPHNHOME1','LCTPHNMOBILE'],'E':['EVNTITLE','EVNLOCATION','EVNSTARTDATE','EVNSTARTTIME','EVNENDDATE','EVNENDTIME','EVNRCR_ID','EVNTYPE','EVNCLASS','EVNCOLOR'],'EI':['EVNTITLE','EVNLOCATION','EVNSTARTDATE','EVNSTARTTIME','EVNENDDATE','EVNENDTIME','OSD','OED','EVNRCR_ID','EVNTYPE','EVNCLASS','EVNCOLOR'],'J':['EVNTITLE','EVNLOCATION','EVNSTARTDATE','EVNSTARTTIME','EVNENDDATE','EVNENDTIME','EVNCONTACT','EVNTYPE','EVNCOLOR'],'F':['EVNTITLE','EVNNOTE','EVNLOCATION','EVNSTARTDATE','EVNSTARTTIME','EVNTYPE','EVNCOLOR','EVNCOMPLETE'],'R':['SUBJECT','TO','FROM','DATE','SIZE','FLAGS','HAS_ATTACHMENT','COLOR','PRIORITY','SMIME_STATUS'],'M':['SUBJECT','TO','SMS','FROM','DATE','SIZE','FLAGS','HAS_ATTACHMENT','COLOR','PRIORITY','SMIME_STATUS'],'T':['EVNTITLE','EVNSTATUS','EVNSTARTDATE','EVNENDDATE','EVNRCR_ID','EVNTYPE','EVNCOLOR'],'N':['EVNTITLE','EVNTYPE','EVNCOLOR'],'Q':['SNDEMAIL','SNDSUBJECT','QDATE','SNDOWNER','SNDDOMAIN'],'QL':['SNDEMAIL','SNDOWNER','SNDDOMAIN','QDATE'],'G':['ITM_ID','ITMTITLE','ITMCLASS','ITM_DELETED','ITMORIGINALFOLDER']}};wm_items.inherit(wm_generic);var _me=wm_items.prototype;_me.__lastListId={};_me.add=function(id,aItemInfo,sDataSet,aDataPath,sFolderDataSet,aHandler)
{function parse_addons(sAddOns,aFrom,aTo){if(typeof aFrom=='object'){var aFrame=aTo[sAddOns]=[{}];var sAddOn=sAddOns.substr(0,sAddOns.length-1);aFrame=aFrame[0][sAddOn]=[{}];var aValues,n;}
n=0;for(var sId in aFrom){aFrame[n]={};for(var sValues in aFrom[sId]){aValues=aFrom[sId][sValues];if(sValues=='uid')
aFrame[n]['ATTRIBUTES']={'UID':aValues};else
if(sValues=='values'){aValuesFrame=aFrame[n]['VALUES']=[{}];parse_values(aValues,aValuesFrame[0]);}
else
parse_addons(sValues,aValues,aFrame[n]);}
n++;}};function parse_values(aFrom,aTo){for(var sValue in aFrom)
if(Is.Array(aFrom[sValue]))
aTo[sValue]=[{'VALUE':aFrom[sValue].pop()}];else
aTo[sValue]=[{'VALUE':aFrom[sValue]}];};if(!id[0]||!id[1])
return false;if(id[2]&&aItemInfo['values']&&(typeof aItemInfo['values']['flags']!='undefined')&&sDataSet){var nFlag=aItemInfo['values']['flags'];dataSet.add(sDataSet,id.concat(['FLAGS']),nFlag);if(sFolderDataSet){var nRecent=dataSet.get(sFolderDataSet,[id[0],id[1],'RECENT']);if(typeof nRecent=='undefined')
nRecent=0;if(this.hasFlag(nFlag,'SEEN')){if(nRecent)
nRecent--;}
else
nRecent++;if(parseInt(dataSet.get(sFolderDataSet,[id[0],id[1],'RECENT'])||0)!=nRecent)
dataSet.add(sFolderDataSet,[id[0],id[1],'RECENT'],nRecent.toString());}}
var aRequest={"ACCOUNT":[{"ATTRIBUTES":{"UID":id[0]},"FOLDER":[{"ATTRIBUTES":{"UID":id[1]},"ITEM":[]}]}]},ids,aFrame;if(!id[2])
ids=[''];else
if(Is.Array(id[2]))
ids=id[2];else
ids=[id[2]];for(var i=0;i<ids.length;i++){if(ids[i])
aFrame={ATTRIBUTES:{ACTION:'edit',UID:this.__serverID(ids[i])},VALUES:[{}]};else
aFrame={ATTRIBUTES:{ACTION:'add'},VALUES:[{}]};for(var sValues in aItemInfo)
if(sValues!='aid'&&sValues!='fid'&&sValues!='iid')
if(sValues=='values')
parse_values(aItemInfo['values'],aFrame['VALUES'][0]);else
parse_addons(sValues,aItemInfo[sValues],aFrame);aFrame['VALUES'][0]['CTZ']=[{VALUE:(new Date).getTimezoneOffset()*-1}];aRequest["ACCOUNT"][0]["FOLDER"][0]["ITEM"].push(aFrame);}
if(!sDataSet&&!aHandler)
return this.parse(this.create_iq(aRequest,'','','set'));else{this.create_iq(aRequest,[this,'response',['add',sDataSet,aDataPath,sFolderDataSet,{'aid':id[0]},aHandler]],'','set');return true;}};_me.copy=function(aItemsInfo,sDataSet,aDataPath,sFolderDataSet,aHandler)
{if(!aItemsInfo['aid']||!aItemsInfo['fid']||!aItemsInfo['folder'])
return false;var aRequest={"ACCOUNT":[{"ATTRIBUTES":{"UID":aItemsInfo['aid']},"FOLDER":[{"ATTRIBUTES":{"UID":aItemsInfo['fid']},"ITEM":[]}]}]};var aFrame=aRequest["ACCOUNT"][0]["FOLDER"][0]["ITEM"];var bItems;for(var nItem in aItemsInfo['iid']){if(aItemsInfo['account'])
aFrame[nItem]={"ATTRIBUTES":{"UID":this.__serverID(aItemsInfo['iid'][nItem]),"ACTION":"copy"},"ACCOUNT":[{"VALUE":aItemsInfo['account']}],"FOLDER":[{"VALUE":aItemsInfo['folder']}]};else
aFrame[nItem]={"ATTRIBUTES":{"UID":this.__serverID(aItemsInfo['iid'][nItem]),"ACTION":"copy"},"FOLDER":[{"VALUE":aItemsInfo['folder']}]};bItems=1;}
if(!bItems)return false;if(!sDataSet){var aResponse=this.create_iq(aRequest,'','','set');try{if(aResponse['IQ'][0]['ATTRIBUTES']['TYPE']=='result')
return true;}
catch(e){}
return false;}
else{this.create_iq(aRequest,[this,'response',['copy',sDataSet,aDataPath,sFolderDataSet,{'aid':aItemsInfo['aid'],'fid':aItemsInfo['fid'],'account':aItemsInfo['account']},aHandler]],'','set');return true;}};_me.getFlag=function(id,sFlagName,sDataSet){var nFlag=this._getFlagValue(id,sDataSet,'FLAGS');if(!Is.Defined(nFlag))return false;return this.hasFlag(nFlag,sFlagName);};_me.hasFlag=function(nFlag,sFlagName)
{switch(sFlagName){case'ANSWERED':nFlag&=1;break;case'DELETED':nFlag&=2;break;case'DRAFT':nFlag&=4;break;case'FLAGGED':nFlag&=8;break;case'RECENT':nFlag&=16;break;case'SEEN':nFlag&=32;break;case'FORWARDED':nFlag&=64;break;default:return false;}
return(nFlag)?true:false;};_me.setFlag=function(aItemsInfo,aFlagsSet,sDataSet,sFolderDataSet)
{function _setFlag(nFlag,sFlagName,bValue){switch(sFlagName){case'ANSWERED':return(bValue?nFlag|33:nFlag&~1);case'DELETED':return(bValue?nFlag|2:nFlag&~2);case'DRAFT':return(bValue?nFlag|4:nFlag&~4);case'FLAGGED':return(bValue?nFlag|8:nFlag&~8);case'RECENT':return(bValue?nFlag|16:nFlag&~16);case'SEEN':return(bValue?nFlag|32:nFlag&~32);case'FORWARDED':return(bValue?nFlag|96:nFlag&~64);}
return nFlag;}
var sFlagType='FLAGS',sFlagValue='';if(count(aFlagsSet)==1)
for(var i in aFlagsSet){if(aFlagsSet[i])
sFlagType='SET_FLAG';else
sFlagType='CLEAR_FLAG';sFlagValue=_setFlag(0,i,true);}
if(!aItemsInfo['aid']||!aItemsInfo['fid']||!aItemsInfo['iid']||typeof aItemsInfo['iid']!='object'||Is.Empty(aItemsInfo['iid']))
return false;var aRequest={"ACCOUNT":[{"ATTRIBUTES":{"UID":aItemsInfo['aid']},"FOLDER":[{"ATTRIBUTES":{"UID":aItemsInfo['fid']},"ITEM":[]}]}]};var aItemFrame=aRequest["ACCOUNT"][0]["FOLDER"][0]["ITEM"],nFlag,nNewFlag,nCounter=0,bUpdate=false,tmp,tmp_flag;for(var n in aItemsInfo['iid'])
{nFlag=this._getFlagValue([aItemsInfo['aid'],aItemsInfo['fid'],aItemsInfo['iid'][n]],sDataSet,'FLAGS');if(typeof nFlag=='undefined')
nFlag=0;nNewFlag=nFlag;for(var sFlagName in aFlagsSet)
nNewFlag=_setFlag(nNewFlag,sFlagName,aFlagsSet[sFlagName]);if(nNewFlag!=nFlag)
{dataSet.add(sDataSet,[aItemsInfo['aid'],aItemsInfo['fid'],aItemsInfo['iid'][n],'FLAGS'],nNewFlag,true);tmp={"ATTRIBUTES":{"UID":this.__serverID(aItemsInfo['iid'][n]),"ACTION":"edit"},"VALUES":[{}]};tmp.VALUES[0][sFlagType]=[{"VALUE":sFlagValue||nNewFlag}];aItemFrame.push(tmp);nCounter++;bUpdate=true;}}
if(bUpdate){if(aItemsInfo['iid'].length==1)
dataSet.update(sDataSet,[aItemsInfo['aid'],aItemsInfo['fid'],aItemsInfo['iid'][0],'FLAGS']);else
dataSet.update(sDataSet);}
if(sFolderDataSet&&nCounter>0)
{var nRecent=parseInt(dataSet.get(sFolderDataSet,[aItemsInfo['aid'],aItemsInfo['fid'],'RECENT'])||0);if(this.hasFlag(nNewFlag,'SEEN'))
dataSet.add(sFolderDataSet,[aItemsInfo['aid'],aItemsInfo['fid'],'RECENT'],(nRecent-nCounter>0?nRecent-nCounter:0).toString());else
dataSet.add(sFolderDataSet,[aItemsInfo['aid'],aItemsInfo['fid'],'RECENT'],(nRecent+nCounter).toString());}
if(!nCounter)
return false;if(!sDataSet)
return this.parse(this.create_iq(aRequest,'','','set'));else
{this.create_iq(aRequest,[this,'response',['edit',sDataSet,'',sFolderDataSet,{'aid':aItemsInfo['aid']}]],'','set');return true;}};_me.getStaticFlag=function(id,sFlagName,sDataSet)
{var nFlag=this._getFlagValue(id,sDataSet,'STATIC_FLAGS');if(typeof nFlag!='undefined')
return false;switch(sFlagName)
{case'HTMLBODY':return nFlag&1;case'CACHED':return nFlag&2;}
return false;};_me._getFlagValue=function(id,sDataSet,sFlagType)
{if(!sDataSet||!sFlagType)
return false;return dataSet.get(sDataSet,id.concat([sFlagType]));}
_me.move=function(aItemsInfo,sDataSet,aDataPath,sFolderDataSet,aHandler)
{if(!aItemsInfo['aid']||!aItemsInfo['fid']||!aItemsInfo['folder'])
return false;var aRequest={"ACCOUNT":[{"ATTRIBUTES":{"UID":aItemsInfo['aid']},"FOLDER":[{"ATTRIBUTES":{"UID":aItemsInfo['fid']},"ITEM":[]}]}]};var aFrame=aRequest["ACCOUNT"][0]["FOLDER"][0]["ITEM"];var bItems;for(var n in aItemsInfo['iid']){if(aItemsInfo['account'])
aFrame[n]={"ATTRIBUTES":{"UID":this.__serverID(aItemsInfo['iid'][n]),"ACTION":"move"},"ACCOUNT":[{"VALUE":aItemsInfo['account']}],"FOLDER":[{"VALUE":aItemsInfo['folder']}]};else
aFrame[n]={"ATTRIBUTES":{"UID":this.__serverID(aItemsInfo['iid'][n]),"ACTION":"move"},"FOLDER":[{"VALUE":aItemsInfo['folder']}]};bItems=1;}
if(!bItems)return false;var aResponse=this.create_iq(aRequest,'','','set');try{if(sDataSet)
this.response({"Array":aResponse},'move',sDataSet,aDataPath,sFolderDataSet,{'aid':aItemsInfo['aid'],'fid':aItemsInfo['fid'],'account':aItemsInfo['account']},aHandler);else
if(aResponse['IQ'][0]['ATTRIBUTES']['TYPE']=='result')return true;}
catch(e){}
return false;};_me.quarantine=function(aItemsInfo,sDataSet,aDataPath,sFolderDataSet)
{if(!aItemsInfo['aid']||!aItemsInfo['fid']||!aItemsInfo['action'])
return false;var aRequest={"ACCOUNT":[{"ATTRIBUTES":{"UID":aItemsInfo['aid']},"FOLDER":[{"ATTRIBUTES":{"UID":aItemsInfo['fid']},"ITEM":[]}]}]};var aFrame=aRequest["ACCOUNT"][0]["FOLDER"][0]["ITEM"];var bItems;for(var n in aItemsInfo['iid']){aFrame[n]={"ATTRIBUTES":{"UID":this.__serverID(aItemsInfo['iid'][n]),"ACTION":aItemsInfo['action']}};bItems=1;}
if(!bItems)
return false;var aResponse=this.create_iq(aRequest,'','','set');try{if(sDataSet)
this.response({"Array":aResponse},'quarantine',sDataSet,aDataPath,sFolderDataSet,{'aid':aItemsInfo['aid'],'fid':aItemsInfo['fid']});else
if(aResponse['IQ'][0]['ATTRIBUTES']['TYPE']=='result')return true;}
catch(e){}
return false;};_me.recover=function(aItemsInfo,sDataSet,aDataPath,sFolderDataSet)
{if(!aItemsInfo['aid']||!aItemsInfo['fid']||!aItemsInfo['action'])
return false;var aRequest={"ACCOUNT":[{"ATTRIBUTES":{"UID":aItemsInfo['aid']},"FOLDER":[{"ATTRIBUTES":{"UID":aItemsInfo['fid']},"ITEM":[]}]}]};var aFrame=aRequest["ACCOUNT"][0]["FOLDER"][0]["ITEM"];var bItems;for(var n in aItemsInfo['iid']){aFrame[n]={"ATTRIBUTES":{"UID":this.__serverID(aItemsInfo['iid'][n]),"ACTION":aItemsInfo['action']}};bItems=1;}
if(!bItems)
return false;var aResponse=this.create_iq(aRequest,'','','set');try{if(sDataSet)
this.response({"Array":aResponse},'recover',sDataSet,aDataPath,sFolderDataSet,{'aid':aItemsInfo['aid'],'fid':aItemsInfo['fid']});else
if(aResponse['IQ'][0]['ATTRIBUTES']['TYPE']=='result')return true;}
catch(e){}
return false;};_me.subscribe=function(aItemInfo,sAction,aHandler){var aRequest={"ACCOUNT":[{"ATTRIBUTES":{"UID":aItemInfo['aid']},"FOLDER":[{"ATTRIBUTES":{"UID":aItemInfo['fid']},"ITEM":[{"ATTRIBUTES":{"UID":this.__serverID(aItemInfo['iid']),"ACTION":sAction}}]}]}]};if(!aHandler){var aResponse=this.create_iq(aRequest,'','','set');try{if(aResponse['IQ'][0]['ATTRIBUTES']['TYPE']=='result')
return true;}
catch(e){}
return false;}
else{this.create_iq(aRequest,[this,'response',['subscribe','','','','',aHandler]],'','set');return true;}};_me.imip=function(aItemInfo,sAction,aHandler)
{if(!aItemInfo['aid']||!aItemInfo['fid']||!aItemInfo['iid'])
return false;var aRequest={"ACCOUNT":[{"ATTRIBUTES":{"UID":aItemInfo['aid']},"FOLDER":[{"ATTRIBUTES":{"UID":aItemInfo['fid']},"ITEM":[{"ATTRIBUTES":{"UID":this.__serverID(aItemInfo['iid']),"ACTION":sAction}}]}]}]};var aItemRequest=aRequest["ACCOUNT"][0]["FOLDER"][0]["ITEM"][0];if(!aItemInfo['destination'])
switch(aItemInfo['imip_type']){case'VEVENT':aItemInfo['destination']=Mapping.getDefaultFolderForGWType('E');break;case'VTODO':aItemInfo['destination']=Mapping.getDefaultFolderForGWType('T');break;case'VJOURNAL':aItemInfo['destination']=Mapping.getDefaultFolderForGWType('J');break;}
aItemRequest["FOLDER"]=[{"VALUE":aItemInfo['destination']}];if(aItemInfo['partid'])
aItemRequest["PARTID"]=[{"VALUE":aItemInfo['partid']}];if(!aHandler){var aResponse=this.create_iq(aRequest,'','','set');try{if(aResponse['IQ'][0]['ATTRIBUTES']['TYPE']=='result')
return true;}
catch(e){}
return false;}
else{this.create_iq(aRequest,[this,'response',[sAction,'','','',{'aid':aItemInfo['aid'],'fid':aItemInfo['fid']},aHandler]],'','set');return true;}};_me.certificate=function(aItemInfo,aHandler)
{if(!aItemInfo['aid']||!aItemInfo['fid']||!aItemInfo['iid'])
return false;var aRequest={ACCOUNT:[{"ATTRIBUTES":{"UID":aItemInfo['account']},"FOLDER":[{"ATTRIBUTES":{"UID":aItemInfo['folder']},"ITEM":[{"ATTRIBUTES":{"UID":this.__serverID(aItemInfo['item']),"ACTION":'certificate'},CONTACT:[{ACCOUNT:[{VALUE:aItemInfo['aid']}],FOLDER:[{VALUE:aItemInfo['fid']}],ITEM:[{VALUE:this.__serverID(aItemInfo['iid'])}]}]}]}]}]};this.create_iq(aRequest,[this,'response',['certificate','','','',aItemInfo,aHandler]],'','set');return true;};_me.reminders=function(aItemsInfo,aHandler)
{if(!aItemsInfo['rid'].length)
return false;var aRequest={"ACCOUNT":[{"ATTRIBUTES":{"UID":sPrimaryAccount},"FOLDER":[{"ATTRIBUTES":{"UID":'__@@REMINDERS@@__'},"ITEM":[]}]}]};var ctz=(new Date()).getTimezoneOffset()*-1;for(var i in aItemsInfo['rid']){aRequest.ACCOUNT[0].FOLDER[0].ITEM.push({ATTRIBUTES:{UID:this.__serverID(aItemsInfo['rid'][i]),ACTION:typeof aItemsInfo['snooze']!='undefined'?'snooze':'dismiss'},VALUES:[{CTZ:[{VALUE:ctz}]}]});if(typeof aItemsInfo['snooze']!='undefined')
aRequest.ACCOUNT[0].FOLDER[0].ITEM[aRequest.ACCOUNT[0].FOLDER[0].ITEM.length-1].VALUES[0].MINUTES=[{VALUE:aItemsInfo['snooze']}];}
this.create_iq(aRequest,[this,'response',['reminders','','','',aItemsInfo,aHandler]],'','set');return true;};_me.redirect=function(aItemInfo,sDataSet,aDataPath,aHandler)
{if(!aItemInfo['aid']||!aItemInfo['fid']||!aItemInfo['iid']||(!aItemInfo['to']&&!aItemInfo['distrib']))
return false;var aRequest={"ACCOUNT":[{"ATTRIBUTES":{"UID":aItemInfo['aid']},"FOLDER":[{"ATTRIBUTES":{"UID":aItemInfo['fid']},"ITEM":[{"ATTRIBUTES":{"UID":this.__serverID(aItemInfo['iid']),"ACTION":"redirect"}}]}]}]};var aItemRequest=aRequest["ACCOUNT"][0]["FOLDER"][0]["ITEM"][0];if(aItemInfo['to'])
aItemRequest["TO"]=[{"VALUE":aItemInfo['to']}];if(aItemInfo['distrib'])
{aItemRequest["ACCOUNT"]=[];var aAccRequest=aItemRequest["ACCOUNT"];var aFolRequest,aToRequest;var aDistribFrame=aItemInfo['distrib'];var aAccFrame,FolFrame;for(var sAccId in aDistribFrame)
{aAccFrame=aDistribFrame[sAccId];aFolRequest=[];for(var sFolId in aAccFrame){aFolFrame=aAccFrame[sFolId];aToRequest=[];for(var n in aFolFrame)
aToRequest.push({"VALUE":aFolFrame[n]});aFolRequest.push({"ATTRIBUTES":{"UID":sFolId},"TO":aToRequest});}
aAccRequest.push({"ATTRIBUTES":{"UID":sAccId},"FOLDER":aFolRequest});}}
if(!sDataSet){var aResponse=this.create_iq(aRequest,'','','set');try{if(aResponse['IQ'][0]['ATTRIBUTES']['TYPE']=='result')
return true;}
catch(e){}
return false;}
else{this.create_iq(aRequest,[this,'response',['redirect',sDataSet,aDataPath,'',{'aid':aItemInfo['aid'],'fid':aItemInfo['fid']},aHandler]],'','set');return true;}};_me.remove=function(aItemsInfo,sDataSet,aDataPath,sFolderDataSet,aHandler){function parse_values(aFrom,aTo){for(var sValue in aFrom)
if(typeof aFrom[sValue]=='object')
aTo[sValue]=[{'VALUE':aFrom[sValue].pop()}];else
aTo[sValue]=[{'VALUE':aFrom[sValue]}];};if(!aItemsInfo['aid']||!aItemsInfo['fid'])return false;var aRequest={"ACCOUNT":[{"ATTRIBUTES":{"UID":aItemsInfo['aid']},"FOLDER":[{"ATTRIBUTES":{"UID":aItemsInfo['fid']},"ITEM":[]}]}]};var aFrame=aRequest["ACCOUNT"][0]["FOLDER"][0]["ITEM"];var bItems=0;var bValue=Is.Object(aItemsInfo['values']);for(var n in aItemsInfo['iid']){aFrame[n]={"ATTRIBUTES":{"UID":this.__serverID(aItemsInfo['iid'][n]),"ACTION":"delete"}};bItems++;if(bValue&&Is.Object(aItemsInfo['values'][n])){aFrame[n]['VALUES']=[{}];parse_values(aItemsInfo['values'][n],aFrame[n]['VALUES'][0]);}}
if(!bItems)
return false;if(aHandler)
this.create_iq(aRequest,[this,'response',['remove',sDataSet,aDataPath,sFolderDataSet,{'aid':aItemsInfo['aid'],'fid':aItemsInfo['fid']},aHandler]],'','set');else{var aResponse=this.create_iq(aRequest,'','','set');try{if(sDataSet)
this.response({'Array':aResponse},'remove',sDataSet,aDataPath,sFolderDataSet,{'aid':aItemsInfo['aid'],'fid':aItemsInfo['fid']},aHandler);else
if(aResponse['IQ'][0]['ATTRIBUTES']['TYPE']=='result')
return true;}
catch(e){}
return false;}};_me.save_items=function(aItemsInfo,aHandler)
{if(!aItemsInfo['aid']||!aItemsInfo['fid'])
return false;var aRequest={"ACCOUNT":[{"ATTRIBUTES":{"UID":aItemsInfo['aid']},"FOLDER":[{"ATTRIBUTES":{"UID":aItemsInfo['fid']},"ITEM":[]}]}]};for(var i in aItemsInfo['iid'])
aRequest.ACCOUNT[0].FOLDER[0].ITEM.push({"ATTRIBUTES":{"UID":this.__serverID(aItemsInfo['iid'][i]),"ACTION":'save_items'}});if(aHandler)
this.create_iq(aRequest,[this,'response',['save_items','','','','',aHandler]],'','set');else{var aXMLResponse=this.create_iq(aRequest,'','','set');try{var aOut={'sid':dataSet.get('main',['sid']),'class':aXMLResponse.IQ[0].RESULT[0].ACCOUNT[0].FOLDER[0].ITEM[0].VALUES[0].CLASS[0].VALUE,'fullpath':aXMLResponse.IQ[0].RESULT[0].ACCOUNT[0].FOLDER[0].ITEM[0].VALUES[0].FULLPATH[0].VALUE};downloadItem(buildURL(aOut));}
catch(e){}}
return true;};_me.list=function(aItemsInfo,sDataSet,aDataPath,sFolderDataSet,aHandler)
{if(!aItemsInfo['aid']||!aItemsInfo['fid'])
return false;var aRequest;if(aItemsInfo['iid']){if(aItemsInfo['atid'])
aRequest={"ACCOUNT":[{"ATTRIBUTES":{"UID":aItemsInfo['aid']},"FOLDER":[{"ATTRIBUTES":{"UID":aItemsInfo['fid']},"ITEM":[{"ATTRIBUTES":{"UID":this.__serverID(aItemsInfo['iid']),"ATID":aItemsInfo['atid']}}]}]}]};else
aRequest={"ACCOUNT":[{"ATTRIBUTES":{"UID":aItemsInfo['aid']},"FOLDER":[{"ATTRIBUTES":{"UID":aItemsInfo['fid']},"ITEM":[{"ATTRIBUTES":{"UID":this.__serverID(aItemsInfo['iid'])}}]}]}]};}
else{aRequest={"ACCOUNT":[{"ATTRIBUTES":{"UID":aItemsInfo['aid']},"FOLDER":[{"ATTRIBUTES":{"UID":aItemsInfo['fid']}}]}]};if(!window.gui.frm_main.__trash_cleaned){var aTrashFolder=Path.split(GWOthers.getItem('DEFAULT_FOLDERS','trash'));if(typeof aTrashFolder=='object'&&aItemsInfo['aid']==aTrashFolder[0]&&aItemsInfo['fid']==aTrashFolder[1]){var iDay=0;if(GWOthers.getItem('MAIL_SETTINGS_GENERAL','autoclear_trash')>0&&(iDay=GWOthers.getItem('MAIL_SETTINGS_GENERAL','autoclear_trash_days'))>0){aRequest.ACCOUNT[0].FOLDER[0].CLEANUP=[{VALUE:parseInt(iDay)}];window.gui.frm_main.__trash_cleaned=true;}}}}
var aFrame;var bValues;var bSort,bBody;var aValFrame={};if(aItemsInfo['values'])
{for(var nIndex in aItemsInfo['values']){aValFrame[aItemsInfo['values'][nIndex]]=[{"VALUE":' '}];if(aItemsInfo['values'][nIndex]=='HTML'||aItemsInfo['values'][nIndex]=='TEXT')
bBody=true;bValues=true;}
if(bBody&&aItemsInfo['iid']&&sDataSet&&aItemsInfo['iid'].indexOf('|')<0){if(this.getFlag([aItemsInfo['aid'],aItemsInfo['fid'],aItemsInfo['iid']],'SEEN','items')==false)
{var nFlags=dataSet.get('items',[aItemsInfo['aid'],aItemsInfo['fid'],aItemsInfo['iid'],'FLAGS']);if(typeof nFlags!='undefined')
{dataSet.add(sDataSet,[aItemsInfo['aid'],aItemsInfo['fid'],aItemsInfo['iid'],'FLAGS'],nFlags|32);if(sFolderDataSet){var nRecent=parseInt(dataSet.get(sFolderDataSet,[aItemsInfo['aid'],aItemsInfo['fid'],'RECENT'])||0);if(nRecent>0)
dataSet.add(sFolderDataSet,[aItemsInfo['aid'],aItemsInfo['fid'],'RECENT'],(--nRecent).toString());}}}}}
if(!aItemsInfo['iid'])
aRequest["ACCOUNT"][0]["FOLDER"][0]["ITEM"]=[{}];aFrame=aRequest["ACCOUNT"][0]["FOLDER"][0]["ITEM"][0];aValFrame['CTZ']=[{VALUE:(new Date).getTimezoneOffset()*-1}];aFrame["VALUES"]=[aValFrame];var bFilter=0;if(aItemsInfo['filter']&&!aItemsInfo['iid']){var aFilFrame={};for(var sFilter in aItemsInfo['filter']){if(sFilter=='sql'&&Is.String(aItemsInfo['filter'][sFilter])&&aItemsInfo['filter'][sFilter].indexOf('#')===0)
aFilFrame['search']=[{"VALUE":aItemsInfo['filter'][sFilter].substring(1)}];else
aFilFrame[sFilter]=[{"VALUE":aItemsInfo['filter'][sFilter]}];if(sFilter=='order_by'||sFilter=='limit')
bSort=true;bFilter=1;}
if(bFilter){aFrame["FILTER"]=[aFilFrame];}}
if(!sDataSet&&!aHandler){return this.parse(this.create_iq(aRequest),(typeof aItemsInfo.iid=='undefined'?true:false));}
else{if(sDataSet)
this.__lastListId[sDataSet]=unique_id();this.create_iq(aRequest,[this,'response',['list',sDataSet,aDataPath,sFolderDataSet,{'aid':aItemsInfo['aid'],'fid':aItemsInfo['fid'],'iid':aItemsInfo['iid'],'filter':bFilter},aHandler,bSort]],'','get',sDataSet?this.__lastListId[sDataSet]:'');return true;}};_me.response=function(aData,sMethodName,sDataSet,aDataPath,sFolderDataSet,aArgs,aHandler,bSort)
{var aXMLResponse=aData['Array'];var aIQAttribute=aXMLResponse['IQ'][0]['ATTRIBUTES'];switch(sMethodName){case'save_items':if(aIQAttribute['TYPE']=='result'){var aOut;try{aOut={'class':aXMLResponse.IQ[0].RESULT[0].ACCOUNT[0].FOLDER[0].ITEM[0].VALUES[0].CLASS[0].VALUE,'fullpath':aXMLResponse.IQ[0].RESULT[0].ACCOUNT[0].FOLDER[0].ITEM[0].VALUES[0].FULLPATH[0].VALUE};}
catch(e){break;}
if(Is.Object(aHandler))
executeCallbackFunction(aHandler,aOut);else{aOut['sid']=dataSet.get('main',['sid']);downloadItem(buildURL(aOut));}}
break;case'reminders':if(aHandler){if(aIQAttribute['TYPE']=='result')
pushParameterToCallback(aHandler,true);else
pushParameterToCallback(aHandler,false);executeCallbackFunction(aHandler);}
break;case'certificate':if(aHandler){if(aIQAttribute['TYPE']=='result')
pushParameterToCallback(aHandler,{data:aArgs});else
pushParameterToCallback(aHandler,{error:aXMLResponse.IQ[0].ERROR[0].ATTRIBUTES.UID});executeCallbackFunction(aHandler);}
break;case'accept_counter':case'decline_counter':case'accept':case'decline':if(aIQAttribute['TYPE']=='result')
executeCallbackFunction(aHandler);else{var str,att;try{att=aXMLResponse.IQ[0].ERROR[0].ATTRIBUTES.UID;str=aXMLResponse.IQ[0].ERROR[0].VALUE;}
catch(e){str=att='';}
if(att.toLowerCase()=='folder_insufficient_rights')
alert(str.unescapeHTML());}
break;case'edit':if(aIQAttribute['TYPE']!='result'){return;}
case'add':case'list':var bOk=false;if(aIQAttribute['TYPE']!='result'){var str,att;try{att=aXMLResponse.IQ[0].ERROR[0].ATTRIBUTES.UID;str=aXMLResponse.IQ[0].ERROR[0].VALUE;}
catch(e){str=att='';}
switch(att.toLowerCase()){case'attachment_size':gui._create('alert','frm_alert','','','','ALERTS::ATTACHMENT_SIZE','',(str?"\n"+str.unescapeHTML():''));break;case'smtp_recipients_failed':gui._create('alert','frm_alert','','','','ALERTS::SMTP_RECIPIENTS_FAILED','',(str?"\n"+str.unescapeHTML():''));bOk=true;break;case'folder_insufficient_rights':case'imap_internal':gui._create('alert','frm_alert','','','','','',(str?str.unescapeHTML():''));default:if(sFolderDataSet){var folders=new wm_folders;folders.list({'aid':aArgs['aid']},sFolderDataSet);}
else
if(sDataSet)
dataSet.remove(sDataSet,aDataPath);}}
else
{if(sMethodName=='list'){if(sDataSet&&aIQAttribute['UID']&&aIQAttribute['UID']!=this.__lastListId[sDataSet])return;var parsedXMLResponse=this.parse(aXMLResponse,(typeof aArgs['iid']=='undefined'?true:false));if(Cookie)
try{var sRight=aXMLResponse.IQ[0].QUERY[0].ACCOUNT[0].FOLDER[0].ATTRIBUTES.RIGHTS
sAccId=aXMLResponse.IQ[0].QUERY[0].ACCOUNT[0].ATTRIBUTES.UID,sFolId=aXMLResponse.IQ[0].QUERY[0].ACCOUNT[0].FOLDER[0].ATTRIBUTES.UID;Cookie.set(['rights',sAccId,sFolId],sRight?sRight.split(''):'');}
catch(r){}
if(sDataSet){if(bSort)
dataSet.remove(sDataSet,aDataPath,true);dataSet.add(sDataSet,aDataPath,parsedXMLResponse,true);dataSet.update(sDataSet);}}
bOk=true;}
if(typeof aHandler=='object')
if(sMethodName=='list'){pushParameterToCallback(aHandler,parsedXMLResponse);executeCallbackFunction(aHandler);}
else
executeCallbackFunction(aHandler,[bOk]);return true;case'copy':case'move':case'remove':try{if(sFolderDataSet)
if(aIQAttribute['TYPE']=='result'){if(sMethodName=='remove'){var aItems=dataSet.get(sDataSet);for(var sAccId in aItems)
for(var sFolId in aItems[sAccId]);var oType=dataSet.get(sFolderDataSet,[sAccId,sFolId,'TYPE']);if(oType=='E'||oType=='0')dataSet.update(sDataSet);}}
else{if(sMethodName!='copy'){var aItems=dataSet.get(sDataSet);for(var sAccId in aItems)
for(var sFolId in aItems[sAccId])
break;if(sAccId==aArgs['aid']&&sFolId==aArgs['fid']){var aValues=this.default_values(dataSet.get(sFolderDataSet,[sAccId,sFolId,'TYPE']));if(aValues)
this.list({'aid':sAccId,'fid':sFolId,'values':aValues},sDataSet,aDataPath);}}
var folders=new wm_folders;if(aArgs['account']&&aArgs['account']!=aArgs['aid'])
folders.list({'aid':aArgs['account']},sFolderDataSet);folders.list({'aid':aArgs['aid']},sFolderDataSet);}
if(typeof aHandler=='object')
executeCallbackFunction(aHandler);return true;}
catch(e)
{return false;}
case'recover':case'quarantine':try{if(aIQAttribute['TYPE']=='result'){if(sFolderDataSet){var folders=new wm_folders;folders.list({'aid':aArgs['aid']},sFolderDataSet);}
return true;}}
catch(e){}
return false;case'redirect':if(typeof aHandler=='object'){if(aIQAttribute['TYPE']!='result'){var str,att;try{str=aXMLResponse.IQ[0].ERROR[0].VALUE;att=aXMLResponse.IQ[0].ERROR[0].ATTRIBUTES.UID;}
catch(e){att='';str='unknown error';}
pushParameterToCallback(aHandler,[att,str.unescapeHTML()]);}
executeCallbackFunction(aHandler);}
break;case'subscribe':executeCallbackFunction(aHandler,aIQAttribute['TYPE']=='result');break;}};_me.default_values=function(sFolType){return this.__defaultValues[sFolType];};_me.parse=function(aData,bCount)
{try{function parse_addons(sAddOns,aAddOns)
{var sAddOnId,aAddOnFrame,aValuesFrame;var aResult={};var aResultValueFrame;var sAddOn=sAddOns.substr(0,sAddOns.length-1);for(var n in aAddOns[sAddOn])
{aAddOnFrame=aAddOns[sAddOn][n]
if(aAddOnFrame['ATTRIBUTES']&&aAddOnFrame['ATTRIBUTES']['UID'])
{sAddOnId=aAddOnFrame['ATTRIBUTES']['UID'];aResult[sAddOnId]={};}
else{sAddOnId='';aResult[n]={};}
for(var sValues in aAddOnFrame)
if(sValues=='VALUES'){aValuesFrame=aAddOnFrame['VALUES'][0];if(sAddOnId)
aResultValueFrame=aResult[sAddOnId]['values']={};else
aResultValueFrame=aResult[n]['values']={};for(var sValue in aValuesFrame)
aResultValueFrame[sValue]=aValuesFrame[sValue][0]['VALUE'];}
else
if(sValues!='ATTRIBUTES')
if(sAddOnId)
aResult[sAddOnId][sValues]=parse_addons(sValues,aAddOnFrame[sValues][0]);else
aResult[n][sValues]=parse_addons(sValues,aAddOnFrame[sValues][0]);}
return aResult;};var aAccFrame=aData['IQ'][0]['QUERY'][0]['ACCOUNT'][0];var sAccId=aAccFrame['ATTRIBUTES']['UID'];var aFolFrame=aAccFrame['FOLDER'][0];var sFolId=aFolFrame['ATTRIBUTES']['UID'];if(typeof aFolFrame['ATTRIBUTES']['RECENT']!='undefined'&&parseInt(dataSet.get("folders",[sAccId,sFolId,'RECENT'])||0)!=parseInt(aFolFrame['ATTRIBUTES']['RECENT']||0))
dataSet.add("folders",[sAccId,sFolId,'RECENT'],(aFolFrame['ATTRIBUTES']['RECENT']).toString());var aItmFrame,sItemId,aValFrame;var aResult={};var aResultFrame=aResult[sAccId]={};aResultFrame=aResultFrame[sFolId]={};if(bCount&&typeof aFolFrame['ATTRIBUTES']['COUNT']!='undefined'&&aFolFrame['ATTRIBUTES']['COUNT']){aResultFrame['/']=aFolFrame['ATTRIBUTES']['COUNT'];aResultFrame['#']=aFolFrame.ITEM?aFolFrame.ITEM.length:0;}
if(typeof aFolFrame['ATTRIBUTES']['OFFSET']!='undefined'&&aFolFrame['ATTRIBUTES']['OFFSET'])
aResultFrame['$']=aFolFrame['ATTRIBUTES']['OFFSET'];var aItemIds={};for(var n in aFolFrame['ITEM'])
{aItmFrame=aFolFrame['ITEM'][n];sItemId=this.__clientID(aItmFrame['ATTRIBUTES']['UID']);if(typeof aItemIds[sItemId]=='undefined')
aItemIds[sItemId]=0;else
aItemIds[sItemId]++;if(aItemIds[sItemId])
sItemId+='|'+aItemIds[sItemId];aResultFrame[sItemId]={'aid':sAccId,'fid':sFolId};for(var sAddOns in aItmFrame)
if(sAddOns=='VALUES'){aValFrame=aItmFrame['VALUES'][0];for(var sValue in aValFrame)
aResultFrame[sItemId][sValue]=aValFrame[sValue][0]['VALUE'];}
else
if(sAddOns=='X_ICEWARP_SERVER_REQUEST')
aResultFrame[sItemId][sAddOns]=aItmFrame[sAddOns][0];else
if(sAddOns=='NOTE')
aResultFrame[sItemId][sAddOns]=aItmFrame[sAddOns][0]['VALUE'];else
if(sAddOns!='ATTRIBUTES')
aResultFrame[sItemId][sAddOns]=parse_addons(sAddOns,aItmFrame[sAddOns][0],aResultFrame[sItemId][sAddOns]);}
return aResult;}
catch(e){return false;}};_me.getColorTag=function(sType){switch(sType){case'M':case'R':return'COLOR';case'E':case'J':case'N':case'T':case'F':return'EVNCOLOR';default:return;}};var WMItems=new wm_items;

/* client/inc/wm_storage.js */
function wm_storage(){};wm_storage.inherit(wm_generic);var _me=wm_storage.prototype;_me.set=function(aStorageInfo,sDataSet,aDataPath,aHandler)
{function parse_attr(aAttrFrame)
{var aAttributes={};for(var sAttr in aAttrFrame)
if(sAttr!='DEFAULT'&&sAttr!='DONT_SEND'&&sAttr!='ACCESS')
aAttributes[sAttr]=aAttrFrame[sAttr];return aAttributes;}
if(typeof aStorageInfo['resources']!='object')
return false;var xmlns='private';if(aStorageInfo['xmlns']=='public')
xmlns='public';else if(aStorageInfo['xmlns']=='domain')
xmlns='domain';var aRequest={"RESOURCES":[]};if(typeof aStorageInfo['domain']=='string')
aRequest.DOMAIN=[{"VALUE":aStorageInfo['domain']}];var aResourcesFrame=aStorageInfo['resources'];var aAttrFrame,aItemsFrame,aValuesFrame;var aResourcesRequest=aRequest['RESOURCES'][0]={};var aResourceRequest,aAttrRequest,aItemsRequest,aItemRequest;var m,aAttributes;var bResource=false;var bItem=false;var bValue=false;for(var sResource in aResourcesFrame)
{aAttrFrame=aResourcesFrame[sResource]['ATTRIBUTES'];if(!aAttrFrame['DONT_SEND']&&(!aAttrFrame['ACCESS']||aAttrFrame['ACCESS']=='full'))
{aAttrFrame['DONT_SEND']=true;aItemsFrame=aResourcesFrame[sResource]['ITEMS'];aResourceRequest=aResourcesRequest[sResource]=[];aResourceRequest=aResourceRequest[0]={};aItemsRequest=aResourceRequest['ITEM']=[];aAttributes=parse_attr(aAttrFrame);if(!Is.Empty(aAttributes))
aResourceRequest['ATTRIBUTES']=aAttributes;m=0;if(!aItemsFrame.length)
bResource=true;else
for(var n in aItemsFrame)
{aAttrFrame=aItemsFrame[n]['ATTRIBUTES'];if(!aAttrFrame['DONT_SEND']&&(!aAttrFrame['ACCESS']||aAttrFrame['ACCESS']=='full'))
{aAttrFrame['DONT_SEND']=true;aValuesFrame=aItemsFrame[n]['VALUES'];aItemRequest=aItemsRequest[m]={};aAttributes=parse_attr(aAttrFrame);if(!Is.Empty(aAttributes))
aItemRequest['ATTRIBUTES']=aAttributes;for(var sValue in aValuesFrame)
{aAttrFrame=aValuesFrame[sValue]['ATTRIBUTES'];if(!aAttrFrame['DEFAULT']&&(!aAttrFrame['ACCESS']||aAttrFrame['ACCESS']=='full'))
{aValueRequest=aItemRequest[sValue]=[];aValueRequest=aValueRequest[0]={};aAttributes=parse_attr(aAttrFrame);if(!Is.Empty(aAttributes))
aValueRequest['ATTRIBUTES']=aAttributes;aValueRequest['VALUE']=aValuesFrame[sValue]['VALUE'];bValue=true;}}
if(aItemRequest['ATTRIBUTES']||bValue)
{m++;bValue=false;bItem=true;}}}
if(aResourceRequest['ATTRIBUTES']||bItem)
{bItem=false;bResource=true;}}}
if(!bResource)
return 2;if(!sDataSet){var aResponse=this.create_iq(aRequest,'','','set','',xmlns);try{if(aResponse['IQ'][0]['ATTRIBUTES']['TYPE']=='result')
return true;}
catch(e){}
return false;}
else{this.create_iq(aRequest,[this,'response',['set',sDataSet,aDataPath,aHandler]],'','set','',xmlns);return true;}};_me.get=function(aStorageInfo,sDataSet,aDataPath,aHandler,bForce){if(typeof aStorageInfo['resources']!='object')
return false;var xmlns='private';if(aStorageInfo['xmlns']=='public')
xmlns='public';else
if(aStorageInfo['xmlns']=='domain')
xmlns='domain';var aResources=aStorageInfo['resources'];var bAnything=false;var aRequest={"RESOURCES":[{}]};if(typeof aStorageInfo['domain']=='string')
aRequest.DOMAIN=[{"VALUE":aStorageInfo['domain']}];var aFrame=aRequest['RESOURCES'][0];for(var n in aResources)
if(!sDataSet||!(xmlns=='private'&&!bForce&&dataSet.get(sDataSet,[aResources[n].toUpperCase()]))){aFrame[aStorageInfo['resources'][n]]=[{}];bAnything=true;}
if(!bAnything){if(typeof aHandler=='object')
executeCallbackFunction(aHandler);}
else
if(!sDataSet&&!aHandler)
return this.parse(this.create_iq(aRequest,'','','','',xmlns));else
this.create_iq(aRequest,[this,'response',['get',sDataSet,aDataPath,aHandler]],'','','',xmlns);};_me.response=function(aResponse,sMethodName,sDataSet,aDataPath,aHandler)
{var aXMLResponse=aResponse['Array'];var aIQAttribute=aXMLResponse['IQ'][0]['ATTRIBUTES'];switch(sMethodName)
{case'set':try{var bOK=aIQAttribute['TYPE']=='result';if(typeof aHandler=='object')
executeCallbackFunction(aHandler,[bOK]);if(bOK)
return true;}
catch(e){}
return false;case'get':try{if(aIQAttribute['TYPE']=='result'){var aResult=this.parse(aXMLResponse);for(var sResource in aResult)
dataSet.add(sDataSet,[sResource],aResult[sResource]);if(typeof aHandler=='object')
executeCallbackFunction(aHandler);return true;}}
catch(e){}
return false;}};_me.parse=function(aData)
{try
{function parse_attr(aAttrFrame,bDontSend)
{var aAttributes={};for(var sAttr in aAttrFrame)
aAttributes[sAttr]=aAttrFrame[sAttr];if(!aAttributes['ACCESS'])
aAttributes['ACCESS']='full';if(bDontSend)
aAttributes['DONT_SEND']=true;return aAttributes;};var aResourcesFrame=aData['IQ'][0]['QUERY'][0]['RESOURCES'][0];var aResourceFrame,aItemFrame,aValueFrame;var aResult={};var aResourceResult,aItemsResult,aItemResult,aValuesResult,aValueResult;for(var sResource in aResourcesFrame)
{aResourceFrame=aResourcesFrame[sResource][0];aResourceResult=aResult[sResource]={};aResourceResult['ATTRIBUTES']=parse_attr(aResourceFrame['ATTRIBUTES'],true);aItemsResult=aResourceResult['ITEMS']=[];for(var n in aResourceFrame['ITEM'])
{aItemFrame=aResourceFrame['ITEM'][n];aItemResult={};aItemResult['ATTRIBUTES']=parse_attr(aItemFrame['ATTRIBUTES'],true);aValuesResult=aItemResult['VALUES']={};for(var sTag in aItemFrame)
if(sTag!='ATTRIBUTES')
{aValueFrame=aItemFrame[sTag][0];aValueResult=aValuesResult[sTag]={};aValueResult['ATTRIBUTES']=parse_attr(aValueFrame['ATTRIBUTES'],false);if(typeof aValueFrame['VALUE']=='undefined')
aValueResult['VALUE']='';else
aValueResult['VALUE']=aValueFrame['VALUE'];}
aItemsResult.push(aItemResult);}}
return aResult;}
catch(e){return false;}};WMStorage=new wm_storage();

/* client/inc/init.js */
function cInit(aLogin){document.getElementsByTagName('body')[0].innerHTML='';var elinks=document.getElementsByTagName('link');for(var i=elinks.length-1;i>=0;i--){elinks[i].disabled=true;elinks[i].parentNode.removeChild(elinks[i]);}
document.getElementsByTagName('head')[0].appendChild(mkElement('link',{"rel":'stylesheet',"type":'text/css',"href":'client/skins/index.css'}));window.gui=new cObject('gui');window.oWM_INIT=this;var allowed_get={"page":'index',"debug":null,"frm":null,"sid":null,"ref":null,"username":null,"password":null,"mailto":null,"video":null};gui._REQUEST_VARS=arrConcat(arrKeySlice(aLogin.get,allowed_get),{"lang":aLogin.language},arrKeySlice(parseURL(),allowed_get));if(aLogin.language)
storage.language(aLogin.language);else{storage.library('gw_others');GWOthers.load(['layout_settings']);storage.language(GWOthers.getItem('LAYOUT_SETTINGS','language'));}
gui._create('preloader','obj_loader');gui._create('connection','obj_connection');var erString='';if(!gui._REQUEST_VARS['frm']&&gui._REQUEST_VARS['sid']){var sURL,sid=auth.login({"session":gui._REQUEST_VARS['sid']});if(gui._REQUEST_VARS['ref'])
dataSet.add('main',['referrer_url'],gui._REQUEST_VARS['ref']);else
if(location.hash.replace('#ref=','').length<location.hash.length){dataSet.add('main',['referrer_url'],location.hash.replace('#ref=',''));location.hash='#';}
else
if(document.referrer&&document.referrer!=document.location.href)
dataSet.add('main',['referrer_url'],document.referrer);if(sid){dataSet.add('main',['sid'],sid);this._checkBrowserVersion();return;}
else{if(Is.Object(auth.error)){switch(auth.error.id){case'login_account_valid':erString='ACCOUNT_DISABLED';break;case'login_invalid':case'session_no_user':erString='INVALID_LOGIN';break;case'session_expired':erString='EXPIRED';break;default:inspect2(auth.error);}}
else
erString='INVALID_LOGIN';}}
else{try{var hash=location.hash.replace('#','');if(hash.replace(':','').length<hash.length){var credentials=hash.split(':');gui._REQUEST_VARS['username']=credentials[0];gui._REQUEST_VARS['password']=credentials[1];location.hash='#';}
var sid=auth.login({username:gui._REQUEST_VARS['username'],password:gui._REQUEST_VARS['password']});}
catch(r){erString='CONNECTION';sid='';}
if(sid&&!auth.error){this._checkBrowserVersion();return;}
else
if(Is.Object(auth.error)){switch(auth.error.id){case'db_auto_create':erString='NO_DB';break;case'login_account_valid':erString='ACCOUNT_DISABLED';break;case'login_invalid':erString='INVALID_LOGIN';break;case'wm_disabled':erString='WC_DISABLED';break;case'settings_user_set':erString='ACCESS_ERROR';break;case'RSA':erString='INVALID_RSA';}}}
this._goBack(arrConcat(aLogin.back||{},{reason:erString}));};cInit.prototype._goBack=function(aParam){storage.library('gw_others');var sURL=GWOthers.getItem('LAYOUT_SETTINGS','logout_url')||dataSet.get('main',['referrer_url'])||(document.location.protocol+'//'+document.location.hostname+(document.location.port?':'+document.location.port:'')+document.location.pathname);if(aParam){var eForm=mkElement('form',{method:'POST',action:sURL,style:'position: absolute;top:0;left:0;'});for(var i in aParam)
eForm.appendChild(mkElement('input',{type:'hidden',name:i,value:aParam[i]}));gui._main.appendChild(eForm);eForm.submit();return;}};cInit.prototype._checkBrowserVersion=function(){switch(currentBrowser()){case'Mozilla':case'MSIE7':case'Opera':case'Safari':case'Chrome':this._continueLogin();break;case'MSIE6':storage.library('wm_storage');storage.library('gw_others');if(GWOthers.getItem('RESTRICTIONS','disable_ie6warning')){this._continueLogin();break;}
dataSet.add('storage','',WMStorage.get({'resources':['login_data']}));var iLastShow=parseInt(GWOthers.getItem('LOGIN_DATA','ie_6_warning_show_on'));var iNow=parseInt((new Date()).getTime());if(!Is.Number(iLastShow)||iLastShow<=iNow-(86400000)){GWOthers.set('LOGIN_DATA',{'ie_6_warning_show_on':iNow},'storage');WMStorage.set({'resources':dataSet.get('storage')},'storage');gui.preloader._destruct();var cfm=gui._create('frm_confirm','frm_confirm','','',[this,'_continueLogin'],'CONFIRMATION::BROWSER_WARNING_TITLE','CONFIRMATION::BROWSER_WARNING_TEXT_IE6');cfm.btn_cancel._onclick=function(){cfm._destruct();document.location.href='./basic/?sid='+dataSet.get('main',['sid']);};}
else
this._continueLogin();break;default:if(window.confirm(getLang('CONFIRMATION::BROWSER_WARNING_TEXT_UNSUPPORTED')))
this._continueLogin();else
document.location.href='./basic/?sid='+dataSet.get('main',['sid']);break;}};cInit.prototype._continueLogin=function(b){if(!gui.preloader)
gui._create('preloader','obj_loader');if(!gui._REQUEST_VARS['frm']){setTimeout(function(){if(gui.preloader)gui.preloader._value(getLang('PRELOADER::FRAMEWORK'));},0);storage.library('javascript');}
var old_skin=GWOthers.getItem('LAYOUT_SETTINGS','skin');setTimeout(function(){if(gui.preloader)gui.preloader._value(getLang('PRELOADER::SETTINGS'));},0);GWOthers.load(['skins','im','sip','mail_settings_default','mail_settings_general','login_settings','layout_settings','homepage_settings','calendar_settings','default_calendar_settings','cookie_settings','default_reminder_settings','event_settings','spellchecker_languages','signature','restrictions','personalities','read_confirmation','global_settings','paths','streamhost','google','password_policy','fonts']);if(old_skin!=GWOthers.getItem('LAYOUT_SETTINGS','skin'))
storage.aStorage.template={};setTimeout(function(){if(gui.preloader)gui.preloader._value(getLang('PRELOADER::LANGUAGE'));},0);storage.language(gui._REQUEST_VARS['lang']||GWOthers.getItem('LAYOUT_SETTINGS','language'));var aAccounts=WMAccounts.list();dataSet.add('accounts','',aAccounts);this.__refreshed=false;WMFolders.list({'aid':sPrimaryAccount},'folders',[sPrimaryAccount],[this,'_updatePreloader']);};cInit.prototype._updatePreloader=function(sError){if(!dataSet.get('folders',[sPrimaryAccount])){this.__refreshed=true;setTimeout(function(){if(gui.preloader)gui.preloader._value(getLang('PRELOADER::INDEXING'));},0);WMAccounts.refresh({'aid':sPrimaryAccount},'folders',[sPrimaryAccount],[this,'_updatePreloader']);return;}
var me=this;setTimeout(function(){if(gui.preloader)
gui.preloader._value(getLang('PRELOADER::STARTUP'));me._startMain();},0);}
cInit.prototype._startMain=function(){storage.css('style');if(!gui._REQUEST_VARS['frm']){storage.template('templates');storage.preloadObj();}
if(gui.preloader)
gui.preloader._destruct();gui._create("frm_main","frm_main","","",true);};function initPRO(aData){new cInit(aData);};

/* client/inc/gw_others.js */
function gw_others(){};var _me=gw_others.prototype;_me.load=function(aResources,sDataSet,sDataPath){storage.library('wm_storage');sDataSet=sDataSet||'storage';dataSet.add(sDataSet,sDataPath,WMStorage.get({'resources':aResources}),true);this.checkLayoutSettings(sDataSet,sDataPath);};_me.get=function(sResourceName,sDataSet,bAdmin,bTryGet)
{if(!sResourceName||!sDataSet)
return false;var aResource=dataSet.get(sDataSet,[sResourceName]);var bEmpty=false;if(bTryGet&&typeof aResource!='object'){storage.library('wm_storage');var aRsc=WMStorage.get({'resources':[sResourceName]});if(aRsc[sResourceName]&&typeof aRsc[sResourceName]=='object'&&!Is.Empty(aRsc[sResourceName]['ITEMS'])){aResource=aRsc[sResourceName];dataSet.add(sDataSet,[sResourceName],aResource,true);}
aRsc=null;}
if(typeof aResource!='object'||Is.Empty(aResource['ITEMS'])){var aResource={'ITEMS':[{'VALUES':{},'ATTRIBUTES':{'DONT_SEND':true}}],'ATTRIBUTES':{'DONT_SEND':true}};bEmpty=true;}
if(!(aResource=this.setDefault(sResourceName,aResource,sDataSet,bEmpty)))
return false;var aAccess2Num={'full':0,'view':1,'none':2};var sAccess=(aResource['ATTRIBUTES']['ACCESS']?aResource['ATTRIBUTES']['ACCESS']:'full');if(bAdmin){var sUserAccess=(aResource['ATTRIBUTES']['USERACCESS']?aResource['ATTRIBUTES']['USERACCESS']:'full');var sDomainAdminAccess=(aResource['ATTRIBUTES']['DOMAINADMINACCESS']?aResource['ATTRIBUTES']['DOMAINADMINACCESS']:'full');}
var aResourceFrame=aResource['ITEMS'][0];var sSubAccess=(aResourceFrame['ATTRIBUTES']['ACCESS']?aResourceFrame['ATTRIBUTES']['ACCESS']:'full');sAccess=(aAccess2Num[sAccess]>=aAccess2Num[sSubAccess]?sAccess:sSubAccess);if(bAdmin){var sUserSubAccess=(aResourceFrame['ATTRIBUTES']['USERACCESS']?aResourceFrame['ATTRIBUTES']['USERACCESS']:'full');var sDomainAdminSubAccess=(aResourceFrame['ATTRIBUTES']['DOMAINADMINACCESS']?aResourceFrame['ATTRIBUTES']['DOMAINADMINACCESS']:'full');sUserAccess=(aAccess2Num[sUserAccess]>=aAccess2Num[sUserSubAccess]?sUserAccess:sUserSubAccess);sDomainAdminAccess=(aAccess2Num[sDomainAdminAccess]>=aAccess2Num[sDomainAdminSubAccess]?sDomainAdminAccess:sDomainAdminSubAccess);}
var aValues=aResourceFrame['VALUES'];var aResult={'VALUES':{},'ACCESS':{}};var aValuesResult=aResult['VALUES'];var aAccessResult=aResult['ACCESS'];if(bAdmin){var aUserAccessResult=aResult['USERACCESS']=[];var aDomainAdminAccessResult=aResult['DOMAINADMINACCESS']=[];}
var sLCValue;for(var sValue in aValues)
{sLCValue=sValue.toLowerCase();aValuesResult[sLCValue]=aValues[sValue]['VALUE'];sSubAccess=(aValues[sValue]['ATTRIBUTES']['ACCESS']?aValues[sValue]['ATTRIBUTES']['ACCESS']:'full');aAccessResult[sLCValue]=(aAccess2Num[sAccess]>=aAccess2Num[sSubAccess]?sAccess:sSubAccess);if(bAdmin){sUserSubAccess=(aValues[sValue]['ATTRIBUTES']['USERACCESS']?aValues[sValue]['ATTRIBUTES']['USERACCESS']:'full');aUserAccessResult[sLCValue]=(aAccess2Num[sUserAccess]>=aAccess2Num[sUserSubAccess]?sUserAccess:sUserSubAccess);sDomainAdminSubAccess=(aValues[sValue]['ATTRIBUTES']['DOMAINADMINACCESS']?aValues[sValue]['ATTRIBUTES']['DOMAINADMINACCESS']:'full');aDomainAdminAccessResult[sLCValue]=(aAccess2Num[sDomainAdminAccess]>=aAccess2Num[sDomainAdminSubAccess]?sDomainAdminAccess:sDomainAdminSubAccess);}}
return aResult;};_me.set=function(sResourceName,aResourceInfo,sDataSet,aAccess)
{if(!sResourceName||typeof aResourceInfo!='object'||!sDataSet)
return false;var aResource=dataSet.get(sDataSet,[sResourceName]);if(typeof aResource=='object'&&!Is.Empty(aResource['ITEMS']))
{var aResourceFrame=aResource['ITEMS'][0];var aValues=aResourceFrame['VALUES'];var bChange=false;var bLocalChange=false;var sUCValue;for(var sValue in aResourceInfo)
{bLocalChange=false;sUCValue=sValue.toUpperCase();if(typeof aValues[sUCValue]!='object')
aValues[sUCValue]={'ATTRIBUTES':{}};if(aValues[sUCValue]['VALUE']!=aResourceInfo[sValue]){aValues[sUCValue]['VALUE']=aResourceInfo[sValue];bLocalChange=true;}
if(aAccess){if(aAccess['USERACCESS']){var sUserAccess=(aValues[sUCValue]['ATTRIBUTES']['USERACCESS'])?aValues[sUCValue]['ATTRIBUTES']['USERACCESS']:'full';var sNewUserAccess=(aAccess['USERACCESS'][sValue])?aAccess['USERACCESS'][sValue]:'full';if(sUserAccess!=sNewUserAccess){aValues[sUCValue]['ATTRIBUTES']['USERACCESS']=sNewUserAccess;bLocalChange=true;}}
if(aAccess['DOMAINADMINACCESS']){var sDomainAdminAccess=(aValues[sUCValue]['ATTRIBUTES']['DOMAINADMINACCESS'])?aValues[sUCValue]['ATTRIBUTES']['DOMAINADMINACCESS']:'full';var sNewDomainAdminAccess=(aAccess['DOMAINADMINACCESS'][sValue])?aAccess['DOMAINADMINACCESS'][sValue]:'full';if(sDomainAdminAccess!=sNewDomainAdminAccess){aValues[sUCValue]['ATTRIBUTES']['DOMAINADMINACCESS']=sNewDomainAdminAccess;bLocalChange=true;}}}
if(bLocalChange){bChange=true;aValues[sUCValue]['ATTRIBUTES']['DEFAULT']=false;}}
if(bChange){aResource['ATTRIBUTES']['DONT_SEND']=false;aResourceFrame['ATTRIBUTES']['DONT_SEND']=false;dataSet.add(sDataSet,[sResourceName],aResource,true);}}
else
{aResource={'ITEMS':[{'VALUES':{},'ATTRIBUTES':{'DONT_SEND':false}}],'ATTRIBUTES':{'DONT_SEND':false}};var aValues=aResource['ITEMS'][0]['VALUES'];for(var sValue in aResourceInfo)
aValues[sValue.toUpperCase()]={'VALUE':aResourceInfo[sValue],'ATTRIBUTES':{}};dataSet.add(sDataSet,[sResourceName],aResource,true);}
return true;};_me.getItem=function(sResourceName,sItemName){sItemName=sItemName.toUpperCase();var aResource=dataSet.get('storage',[sResourceName,'ITEMS',0,'VALUES',sItemName]);if(!aResource){GWOthers.get(sResourceName,'storage');aResource=dataSet.get('storage',[sResourceName,'ITEMS',0,'VALUES',sItemName]);}
if(aResource)
return aResource['VALUE'];};_me.getItemAccess=function(sResourceName,sItemName){sItemName=sItemName.toUpperCase();var aResource=dataSet.get('storage',[sResourceName,'ITEMS',0,'VALUES',sItemName]);if(!aResource){GWOthers.get(sResourceName,'storage');aResource=dataSet.get('storage',[sResourceName,'ITEMS',0,'VALUES',sItemName]);}
if(aResource)
return!aResource.ATTRIBUTES||aResource.ATTRIBUTES.ACCESS!='view';return false;};_me.setItem=function(sResourceName,sItemName,v){var tmp={};tmp[sItemName]=v;var rsc=GWOthers.set(sResourceName,tmp,'storage');};_me.setDefault=function(sResourceName,aResource,sDataSet,bEmpty){var aValues=this.getDefaultValues(sResourceName);if(typeof aValues=='object')
{var aResourceValues=aResource['ITEMS'][0]['VALUES'],bChange=false;for(var sValue in aValues)
if(typeof aResourceValues[sValue]=='undefined'){aResourceValues[sValue]={'VALUE':aValues[sValue],'ATTRIBUTES':{'DEFAULT':true}};bChange=true;}
if(bChange)
dataSet.add(sDataSet,[sResourceName],aResource,true);return aResource;}
else
if(bEmpty)
return false;else
return aResource;};_me.getDefaultValues=function(sResourceName)
{var aValues;switch(sResourceName){case'GLOBAL_SETTINGS':aValues={'HTTP_PORT':sPrimaryAccountHTTP};break;case'SKINS':aValues={'DEFAULT':'Default'};break;case'IM':aValues={'ENTER_SEND':1,'AUTO_CHAT':1,'AUTO_STATUS':1};break;case'MAIL_SETTINGS_DEFAULT':aValues={'FONT_FAMILY':0,'FONT_SIZE':0,'TEXT_DIRECTION':'LTR','SPELLCHECKER':'en','HTML_MESSAGE':0,'READ_CONFIRMATION':0,'SAVE_SENT_MESSAGE':1,'ENCRYPT':0,'SIGN':0,'REPLY_TO_ADDRESS':'','PRIORITY':3,'CHARSET':'UTF-8'};break;case'MAIL_SETTINGS_GENERAL':aValues={'SOUND_NOTIFY':0,'AUTOUPDATE':0,'AUTOUPDATE_MINUTES':5,'MOVE_TO_TRASH':1,'FORWARD_MESSAGES':'inline','AUTOSAVE':1,'AUTOSAVE_MINUTES':5,'DEFAULT_FLAG':'1','AUTO_RECIPIENT_TO_ADDRESSBOOK':'0','AUTO_SHOW_IMAGES':'0','AUTOCLEAR_TRASH_DAYS':'30'};break;case'LAYOUT_SETTINGS':aValues={'ACTIVITY':0,'SSL_SWFATT':0,'LOGIN_STYLE':'blue','LOGIN_CLIENT':'advanced','SKIN':'default','LANGUAGE':'en','DISABLE_SWFUPLOAD':0,'LOGO':'logo.gif','DATE_FORMAT':0,'TIME_FORMAT':0,'INIT_PAGE':'i','CONFIRM_EXIT':1};break;case'HOMEPAGE_SETTINGS':aValues={'BANNER_HEIGHT':60,'APPLICATION':1};break;case'CALENDAR_SETTINGS':aValues={'WEEK_BEGINS':'sunday','BEGIN_ON_TODAY':0,'DAY_BEGINS':8,'DAY_ENDS':16,'TEMPERATURE':'C'};break;case'DEFAULT_CALENDAR_SETTINGS':aValues={'EVENT_VIEW':'week_view','EVENT_SHOW_AS':'S','EVENT_SHARING':'U','CONTACT_SHARING':'U','JOURNAL_SHARING':'U','NOTE_SHARING':'U','FILE_SHARING':'U','TASK_SHARING':'U'};break;case'EVENT_SETTINGS':aValues={'TIME':0,'RM_TYPE':'E','EMAIL':''};break;case'DEFAULT_FOLDERS':aValues={'SENT':sPrimaryAccount+'/'+getLang('COMMON_FOLDERS::SENT'),'TRASH':sPrimaryAccount+'/'+getLang('COMMON_FOLDERS::TRASH'),'DRAFTS':sPrimaryAccount+'/'+getLang('COMMON_FOLDERS::DRAFTS'),'CONTACTS':sPrimaryAccount+'/'+getLang('FOLDERS::CONTACTS'),'EVENTS':sPrimaryAccount+'/'+getLang('FOLDERS::EVENTS'),'TASKS':sPrimaryAccount+'/'+getLang('FOLDERS::TASKS'),'NOTES':sPrimaryAccount+'/'+getLang('FOLDERS::NOTES'),'JOURNAL':sPrimaryAccount+'/'+getLang('FOLDERS::JOURNAL'),'FILES':sPrimaryAccount+'/'+getLang('FOLDERS::FILES')};break;case'READ_CONFIRMATION':aValues={'TEXT':getLang('EMAIL::READING_CONFIRMATION'),'SUBJECT':getLang('EMAIL::READING_CONFIRMATION_SUBJECT')};break;case'SIGNATURE':aValues={'TEXT':'','TO_TOP':1,'ENABLE':1};break;case'LOGIN_DATA':aValues={'IE_6_WARNING_SHOW_ON':0};break;case'FORGOT_SETTINGS':aValues={'FORGOT':0,'MAIL':getLang('FORGOT_PASS::EMAIL'),'SUBJECT':getLang('FORGOT_PASS::SUBJECT')};break;case'RESTRICTIONS':aValues={'DISABLE_OTHERACCOUNTS':0,'DISABLE_CHANGEPASS':0,'DISABLE_SIGNUP':1};break;}
return aValues;};_me.checkLayoutSettings=function(sDataSet,sDataPath){var aSkin=this.get('SKINS',sDataSet,sDataPath);if(aSkin){var aData={};for(var i in aSkin['VALUES'])
if(i!='value')
aData[i]=aSkin['VALUES'][i];if(!aData[this.getItem('LAYOUT_SETTINGS','skin')])
this.setItem('LAYOUT_SETTINGS','skin',this.getDefaultValues('LAYOUT_SETTINGS').SKIN);}
var aLang=this.get('LANGUAGES',sDataSet,sDataPath);if(aLang){var aData={};for(var i in aLang['VALUES'])
aData[i]=aLang['VALUES'][i];if(!aData[this.getItem('LAYOUT_SETTINGS','language')])
this.setItem('LAYOUT_SETTINGS','language',this.getDefaultValues('LAYOUT_SETTINGS').LANGUAGE);}};var GWOthers=new gw_others();

/* client/inc/json.js */
if(!this.JSON){JSON={};}
(function(){function f(n){return n<10?'0'+n:n;}
if(typeof Date.prototype.toJSON!=='function'){Date.prototype.toJSON=function(key){return this.getUTCFullYear()+'-'+
f(this.getUTCMonth()+1)+'-'+
f(this.getUTCDate())+'T'+
f(this.getUTCHours())+':'+
f(this.getUTCMinutes())+':'+
f(this.getUTCSeconds())+'Z';};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf();};}
var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==='string'?c:'\\u'+('0000'+a.charCodeAt(0).toString(16)).slice(-4);})+'"':'"'+string+'"';}
function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==='object'&&typeof value.toJSON==='function'){value=value.toJSON(key);}
if(typeof rep==='function'){value=rep.call(holder,key,value);}
switch(typeof value){case'string':return quote(value);case'number':return isFinite(value)?String(value):'null';case'boolean':case'null':return String(value);case'object':if(!value){return'null';}
gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==='[object Array]'){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||'null';}
v=partial.length===0?'[]':gap?'[\n'+gap+
partial.join(',\n'+gap)+'\n'+
mind+']':'['+partial.join(',')+']';gap=mind;return v;}
if(rep&&typeof rep==='object'){length=rep.length;for(i=0;i<length;i+=1){k=rep[i];if(typeof k==='string'){v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}else{for(k in value){if(Object.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}
v=partial.length===0?'{}':gap?'{\n'+gap+partial.join(',\n'+gap)+'\n'+
mind+'}':'{'+partial.join(',')+'}';gap=mind;return v;}}
if(typeof JSON.stringify!=='function'){JSON.stringify=function(value,replacer,space){var i;gap='';indent='';if(typeof space==='number'){for(i=0;i<space;i+=1){indent+=' ';}}else if(typeof space==='string'){indent=space;}
rep=replacer;if(replacer&&typeof replacer!=='function'&&(typeof replacer!=='object'||typeof replacer.length!=='number')){throw new Error('JSON.stringify');}
return str('',{'':value});};}
if(typeof JSON.parse!=='function'){JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==='object'){for(k in value){if(Object.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v;}else{delete value[k];}}}}
return reviver.call(holder,key,value);}
cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return'\\u'+
('0000'+a.charCodeAt(0).toString(16)).slice(-4);});}
if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,'@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']').replace(/(?:^|:|,)(?:\s*\[)+/g,''))){j=eval('('+text+')');return typeof reviver==='function'?walk({'':j},''):j;}
throw new SyntaxError('JSON.parse');};}})();

/* client/inc/obj_loader.js */
_me=obj_loader.prototype;function obj_loader(){};_me._value=function(s){this._getAnchor('text').innerHTML=s;};

/* client/inc/obj_form_generic.js */
_me=obj_form_generic.prototype;function obj_form_generic(){};_me._value=function(v){if(typeof v!='undefined'){this.__eIN.value=v;if(this.__restrictions&&this.__restrictions.length)this.__check();}
else
return this.__eIN.value.replace(/(\r\n)/gm,"\n").replace(/\n/gm,"\r\n");};_me._getFocusElement=function(){return this.__eIN;};_me._disabled=function(b){if(typeof b=='undefined')
return this.__eIN.disabled;else
if(b){this.__eIN.disabled=true;addcss(this.__eIN,'disabled');}
else{this.__eIN.disabled=false;removecss(this.__eIN,'disabled');}};_me._focus=function(){var h,pos=getSize(this.__eIN);if(window.innerHeight)
h=window.innerHeight;else
if(window.document.body)
h=window.document.body.clientHeight;if(pos.y+20<h){this.__eIN.focus();return true;}
else
return false;};_me.__update=function(sDataSet){if(!this._listener)
this._listener=sDataSet;else
if(sDataSet&&this._listener!=sDataSet)return;this._value(dataSet.get(this._listener,this._listenerPath));};

/* client/inc/obj_form_tab.js */
_me=obj_form_tab.prototype;function obj_form_tab(){};_me.__constructor=function(){var me=this,eFocus;if(this._getFocusElement&&(eFocus=this._getFocusElement())){if(currentBrowser()=='Opera'){AttachEvent(eFocus,'onkeydown',function(e){this.lastKey=e.keyCode;this.lastShift=e.shiftKey;});AttachEvent(eFocus,'onblur',function(e){if(this.lastKey==9&&me.__tabIndex_dock){if(this.lastShift)
me.__tabIndex_dock._tabIndexPrev(me);else
me.__tabIndex_dock._tabIndexNext(me);}
this.hasFocus=false;if(me.__tabIndex_dock)
me.__tabIndex_dock.__lastFocus=me._pathName;this.lastKey=null;this.lastShift=null;});AttachEvent(eFocus,'onfocus',function(e){this.hasFocus=true;if(me.__tabIndex_dock)
me.__tabIndex_dock.__lastFocus=me._pathName;this.lastKey=null;this.lastShift=null;});}
else{AttachEvent(eFocus,'onkeydown',function(e){e=e||window.event;if(e.keyCode==9){e.cancelBubble=true;try{e.preventDefault();}catch(r){}
try{e.stopPropagation();}catch(r){}
if(!e.ctrlKey&&me.__tabIndex_dock)
if(e.shiftKey)
me.__tabIndex_dock._tabIndexPrev(me);else
me.__tabIndex_dock._tabIndexNext(me);return false;}});AttachEvent(eFocus,'onblur',function(e){this.hasFocus=false;if(me.__tabIndex_dock)
me.__tabIndex_dock.__lastFocus='';});AttachEvent(eFocus,'onfocus',function(e){this.hasFocus=true;if(me.__tabIndex_dock)
me.__tabIndex_dock.__lastFocus=me._pathName;});}
this._add_destructor('__disobeyTabIndex');}};_me._tabIndex=function(sContainer,i,oDock){if(!oDock){var tmp=this;while((tmp=tmp._parent))
if(tmp.__addTabIndex){oDock=tmp;break;}}
if(oDock){this.__disobeyTabIndex();if(oDock.__addTabIndex(this,sContainer,i))
this.__tabIndex_dock=oDock;}};_me._hasFocus=function(){return this._getFocusElement().hasFocus;};_me.__disobeyTabIndex=function(){if(this.__tabIndex_dock){this.__tabIndex_dock.__removeTabIndex(this);this.__tabIndex_dock=null;}};

/* client/inc/obj_button.js */
_me=obj_button.prototype;function obj_button(){};_me.__constructor=function(){var elm=mkElement('input',{"type":'button',"name":this._pathName+'main',"id":this._pathName+'main'});this._main.appendChild(elm);elm.className=this._type;this.__eIN=elm.form[elm.name];var me=this;this.__eIN.onclick=function(e){var e=e||window.event;if(me._onclick)me._onclick(e);return false;}};_me._value=function(sValue){return this.__eIN.value=sValue?getLang(sValue):this.__eIN.value;};_me._title=function(sValue){return this.__eIN.value=sValue;};

/* client/inc/obj_connection.js */
_me=obj_connection.prototype;function obj_connection(){};_me.__constructor=function(){var me=this;this.__buffer=[];this.__count=0;this.btn_ok._onclick=function(){me.__count=0;if(typeof me.__interval!='undefined')
window.clearInterval(me.__interval);me._main.style.display='none';var tmp;while(me.__buffer.length){tmp=me.__buffer.shift();tmp[0].__failed=false;executeCallbackFunction(tmp);}};this.btn_cancel._onclick=function(){me.__count=0;if(typeof me.__interval!='undefined')
window.clearInterval(me.__interval);me._main.style.display='none';if(gui._loading)
for(var i=me.__buffer.length;i>0;i--)
gui._loading();me.__buffer=[];};};_me._add=function(oResponse){this.__count=30;if(typeof this.__interval!='undefined')
window.clearInterval(this.__interval);this._main.style.display='block';if(oResponse){oResponse[0].__failed=true;this.__buffer.push(oResponse);this.__interval=window.setInterval('try{'+this._pathName+'._refresh()}catch(r){}',1000);}};_me._refresh=function(){if(this.__count>0)
this.btn_ok._title(getLang('FORM_BUTTONS::RETRY')+' ('+(this.__count--)+')');else
this.btn_ok._onclick();};
