var ConvArray=[0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F'];var g_icons=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16];var g_emailRegStr="([\\w-]+[\\w-=]*(?:\\.[\\w-=]+)*)@((?:[\\w-]+\\.)*\\w[\\w-]{0,66})\\.([a-zA-Z]{2,6}(?:\\.[a-zA-Z]{2})?)";var g_urlRegStr="((http|https|ftp|ftps|news|telnet)://(&amp;|[A-Za-z0-9_/+*:;,=?%@~#.^\\\\$!{(-])*)";var g_phoneRegStr="((0{2}|\\+)[1-9][0-9]{4,15})";var g_raiseCounter=0;var g_homeURL=window.location.href.substr(0,window.location.href.indexOf('home.html'));function genericMouseWheel(e,handle)
{var delta=0;if(!e)e=window.event;if(e.wheelDelta)
{delta=e.wheelDelta;if(window.opera)delta=-delta;}
else if(e.detail)
{delta=-e.detail;}
var ret;if(delta)ret=handle(delta);if(ret)
{if(e.preventDefault)
e.preventDefault()
else
e.returnValue=false;return false;}}
getRandomItem=function(list,param,allItems)
{var curItems={};var c=0;list.each(function(item)
{if(!curItems[item[param]])
{curItems[item[param]]=true;c++;};});if(c>=allItems.length)
{return allItems[Math.floor(Math.random()*allItems.length)];}
else
{var freeItems=[];for(var i=0;i<allItems.length;i++)
if(!curItems[allItems[i]])
freeItems.push(allItems[i]);return freeItems[Math.floor(Math.random()*freeItems.length)];};}
function toHex(value)
{var retval='';var tmpnum;var i=0;if(isNaN(value)){retval='0';}else{while(value>0.9){i++;tmpnum=value;retval=ConvArray[tmpnum%16]+retval;value=Math.floor(tmpnum/16);if(i>100){retval='NaN';break;};};};if(retval=='')retval='0';return retval;};RegExp.escape=function(text){if(!RegExp.escapeRE){var specials=['/','$','.','*','+','?','=','|',':','(',')','[',']','{','}','\\'];RegExp.escapeRE=new RegExp('(\\'+specials.join('|\\')+')','g');}
return text.replace(RegExp.escapeRE,'\\$1');}
var purgableAttribs=['onclick','onmousedown','onmouseover','onmouseup','onmousemove','onkeypress','onkeydown','onblur','onkeyup','onfocus'];function purgeDOMElement(el)
{if(!el)return;var queue=[el];var a,i,l,l1=purgableAttribs.length,n;var s=0;var str="";var hash={};var d,d2;d=new Date();while(queue.length)
{el=queue.shift();for(i=0;i<l1;i+=1)
{if(el[purgableAttribs[i]])
el[purgableAttribs[i]]=null;}
a=el.childNodes;if(a)
{l=a.length;s+=l;for(i=0;i<l;i+=1)
queue.push(el.childNodes[i]);}
el=null;}
d2=new Date();str+='\ntraversing purgable attribs: '+(d2.getTime()-d.getTime())+" ms\n";delete queue;ajax.log(str);}
if(document.all&&!window.opera)
{setInnerHTMLSafely=function(el,innerHTML)
{var a=el.childNodes,l;if(a)
{l=a.length;for(i=0;i<l;i+=1)
purgeDOMElement(el.childNodes[i]);}
el.innerHTML=innerHTML;};removeChildSafely=function(child,parent)
{purgeDOMElement(child);if(!parent)
child.parentNode.removeChild(child);else
parent.removeChild(child);};getElementsByNameSafely=function(name,tagName)
{var elements=[];if(!tagName)return document.getElementsByName(name);for(i=0;i<document.getElementsByTagName(tagName).length;i++)
{if(document.getElementsByTagName(tagName).item(i).getAttribute('name')==name)
{elements.push(document.getElementsByTagName(tagName).item(i));}}
return elements;}}
else
{setInnerHTMLSafely=function(el,innerHTML)
{if(el)
el.innerHTML=innerHTML;};removeChildSafely=function(child,parent)
{if(!parent)
child.parentNode.removeChild(child);else
parent.removeChild(child);};getElementsByNameSafely=function(name,tagName)
{return document.getElementsByName(name);}}
testpurge=function(times,dopurge){var x;var el=$('_message_list_messagesTable');var o={visibleCount:new Object};var inner=el.innerHTML;for(var i=0;i<times;i++)
{x=document.createElement('div');x.innerHTML=inner;el.appendChild(x);if(dopurge)purgeDOMElement(x);el.removeChild(x);}
el=null;o=null;return'done';}
function scrollToElementTop(element)
{var elTop=findPosY(element);if(elTop<document.body.scrollTop)
scrollTo(0,elTop);};function blur(){var i=$("_global_blurer");if(!i){i=document.createElement('input');i.id="_global_blurer";i.style.position="absolute";i.style.top=i.style.left=i.style.width=i.style.height="0px"
if(!document.all)
i.style.display='none';document.body.appendChild(i);}
i.focus();};function antiReferrer(aElem){if(isEmail(aElem.getAttribute('g_link'))){controller.openCompose({emailLink:aElem.getAttribute('g_link')});}
else if(aElem.href.toLowerCase().indexOf('mailto:')==0){controller.openCompose({emailLink:aElem.href.substr(7)});}
else{var url=aElem.href;if(url.indexOf(g_homeURL)==0)
url='http://'+url.substr(g_homeURL.length);var newwindow=window.open("redirect.html?redirect="+escape(url),'','');if(window.focus&&newwindow){newwindow.focus()};};return false;};function unraiseElement(){if(g_raiseCounter)
g_raiseCounter--;if(g_raiseCounter==0){var div=$('_global_raiser');var iframe=$('_global_raiserIframe');if(div)div.style.display="none";if(iframe)iframe.style.display="none";}};function raiseElement(elem,disable,onclick,dontMakeVisible){g_raiseCounter++;if(disable){var div=$("_global_raiser");if(!div){div=document.createElement('div');div.id="_global_raiser";div.style.position='absolute';div.style.left='0pt';div.style.top='0pt';document.body.appendChild(div);}
var img=$("_global_raiser_img");if(!img){img=document.createElement('img');img.id="_global_raiser_img";img.src=controller.imagesPath+'spacer.gif';div.appendChild(img);}
img.style.width=div.style.width=document.body.scrollWidth;img.style.height=div.style.height=document.body.scrollHeight;div.style.zIndex=elem.style.zIndex-1;div.style.display='block';if(onclick)img.onclick=onclick;else img.onclick=null;};var posx;if(controller.dir=='rtl')
posx=document.body.clientWidth-findPosX(elem)-elem.offsetWidth;else
posx=findPosX(elem);var posy=findPosY(elem);if(!dontMakeVisible){makeVisible(elem,posx,posy);}
if(document.all){var iframe=$('_global_raiserIframe')
if(!iframe){iframe=document.createElement('iframe');iframe.id="_global_raiserIframe";iframe.style.position='absolute';iframe.style.display="none";document.body.appendChild(iframe);}
iframe.style.width=elem.offsetWidth;iframe.style.height=elem.offsetHeight;iframe.style.top=findPosY(elem);iframe.style.left=findPosX(elem);iframe.style.zIndex=elem.style.zIndex-1;iframe.style.display="block";};};function disablePage(){var div=$("_global_disalbler");div.style.top=0;div.style.left=0;div.style.width=document.body.scrollWidth+"px";div.style.height=document.body.scrollHeight+"px";div.style.display='';var selects=document.getElementsByTagName('select');gSelectsDisplay=[];for(var e=0;e<selects.length;e++){selects[e].style.display='none';};scrollTo(0,0);};function enablePage(){var div=$("_global_disalbler");div.style.display='none';var selects=document.getElementsByTagName('select');for(var e=0;e<selects.length;e++){selects[e].style.display='';};};function showDialog(title,innerHTML){var div=$("_global_dialogDiv");var fn=function(){var temp=document.documentElement.scrollTop+Math.round((document.documentElement.clientHeight-div.offsetHeight)/2);div.style.top=temp+"px";};controller.registerOnscroll(fn);controller.registerOnresize(fn);div.style.display='';setInnerHTMLSafely(div,'<div style="padding: 2px 2px 2px 2px" align="center">'+innerHTML+'</div>');div.style.top=Math.round(((document.documentElement.clientHeight-div.offsetHeight)/2))+"px";div.style.left=Math.round(((document.documentElement.clientWidth-div.offsetWidth)/2))+"px";};function hideDialog(title,innerHTML){var div=$("_global_dialogDiv");div.style.display='none';setInnerHTMLSafely(div,'');};function extractRecipientData(recipient){var address,name,first,last;try{address=recipient.match(/<([^>]*)>/i);if(address){address=address[1];name=recipient.replace(/<[^>]*>/gi,'');name=name.replace(/(\"|\')/gi,'');name.trim();first=name.match(/^[^\s]+\s/i);if(first){first=first[0];last=name.replace(/^[^\s]+\s/i,'');}
else{first=name;}}
else{address=recipient;};}catch(e){address=recipient;};if(!first)first='';if(!last)last='';return{'recipient':address,'firstName':first.trim(),'lastName':last.trim()};};function makeVisible(div,posx,posy,element){var screenLimitX=document.body.clientWidth+document.body.scrollLeft;var screenLimitY=document.body.clientHeight+document.body.scrollTop;if(controller.dir=='rtl'){if(posx+div.offsetWidth>screenLimitX)
div.style.right=document.body.clientWidth-div.offsetWidth;else
div.style.right=posx;}
else{if(posx+div.offsetWidth>screenLimitX)
div.style.left=screenLimitX-div.offsetWidth;else
div.style.left=posx;}
if(posy+div.offsetHeight>screenLimitY)
div.style.top=(element?findPosY(element):screenLimitY)-div.offsetHeight;else
div.style.top=posy;}
function createToolTipOnmouseover(){var ana=this;var show=function(){var div=$('_global_toolTip');setInnerHTMLSafely(div,ana.toolTip);div.style.top=0;if(controller.dir=='rtl')
div.style.right=0;else
div.style.left=0;div.style.visibility='hidden';div.style.display='';makeVisible(div,posx,posy,ana);div.style.display='none';div.style.visibility='visible';div.style.display='';raiseElement(div,null,null,true);if(gTooltipTimer)clearTimeout(gTooltipTimer);gTooltipTimer=setTimeout(ana.onmouseout,10000);}
if(controller.dir=='rtl')
posx=document.body.clientWidth-findPosX(this)-this.offsetWidth;else
posx=findPosX(this);posy=findPosY(this)+this.offsetHeight;gTooltipTimer=setTimeout(show,250);}
function createToolTipOnmouseout(){var div=$('_global_toolTip');if(gTooltipTimer)clearTimeout(gTooltipTimer);if(div.style.display!='none')unraiseElement();div.style.display='none';}
var gTooltipTimer;function createToolTip(element,toolTip){return;toolTip=unescape(toolTip);if(!toolTip.trim()){element.onmouseover=null;return;}
element.toolTip=toolTip;element.onmouseclick=createToolTipOnmouseover;element.onmouseout=createToolTipOnmouseout;element.onmouseclick();};function hideToolTip(){$('_global_toolTip').style.display='none';if(gTooltipTimer)clearTimeout(gTooltipTimer);unraiseElement();}
function createScrollbar(spacer,div,pageSize,totalSize,onScroll,onDelayedScroll,initialValue,timeout,header)
{if(!spacer||!div)return false;setInnerHTMLSafely(div,'');div.onscroll=null;spacer.style.display='';div.style.display='';div.style.position="relative";if(controller.dir=='rtl')
var posFix=document.all?-2:0;else
var posFix=document.all?-3:-3;div.style.left=posFix+'px';div.dir='ltr';div.style.width='19px';div.style.height='5px';div.style.height=(header?spacer.offsetHeight-header.clientHeight:spacer.offsetHeight-2);div.style.overflow='scroll';div.style.overflowY='scroll';div.style.overflowX='hidden';div.style.margin=0;var content=document.createElement('DIV');content.id=div.id+'_content';content.style.width="1px";content.style.height=div.clientHeight*totalSize/pageSize+'px';div.appendChild(content);if(initialValue<=1)
div.scrollTop=0;else
{var maxInitialValue=totalSize-pageSize+1;if(initialValue>maxInitialValue)initialValue=maxInitialValue;div.scrollTop=(initialValue-1)*div.scrollHeight/totalSize;};var lastPosition=div.scrollTop;var toolTipDiv=$('_global_scrollbarToolTip');toolTipDiv.style.position='absolute';var notifyScroll=function(delayed)
{var start=Math.ceil(div.scrollTop/div.scrollHeight*totalSize+1);var end=start+pageSize-1;if(!delayed)
{if(onScroll)onScroll(start,end,totalSize);}
else if(onDelayedScroll)
onDelayedScroll(start,end,totalSize);toolTipDiv.style.display='none';};var posy=0;div.onmousemove=function(e)
{if(!e)var e=window.event;if(e.pageY)
{posy=e.pageY;}
else if(e.clientY)
{posy=e.clientY+document.body.scrollTop;};};div.onscroll=function(e)
{if(!e)var e=window.event;if(e.clientY)posy=e.clientY+document.body.scrollTop;var start=Math.ceil(div.scrollTop/div.scrollHeight*totalSize+1);var end=start+pageSize-1;toolTipDiv.innerHTML=start+' '+T('_.stos')+' '+end;if(toolTipDiv.style.display!='')toolTipDiv.style.display='';var left=findPosX(div);toolTipDiv.style.left=left-toolTipDiv.offsetWidth-5;var heightLimit=document.body.clientHeight+document.body.scrollTop-toolTipDiv.offsetHeight;if(document.body.scrollTop>posy)
toolTipDiv.style.top=document.body.scrollTop;else if(posy>heightLimit)
toolTipDiv.style.top=heightLimit;else
toolTipDiv.style.top=posy;if(onScroll)
{var timerId2=div.getAttribute('timerId2');if(timerId2)clearTimeout(timerId2);div.setAttribute('timerId2',setTimeout(function()
{div.setAttribute('timerId2',0);notifyScroll();},100));};if(timeout)
{var timerId=div.getAttribute('timerId');if(timerId)clearTimeout(timerId);div.setAttribute('timerId',setTimeout(function()
{div.setAttribute('timerId',0);notifyScroll(true);},timeout));};};return true;}
function set(){var result={};for(var i=0;i<arguments.length;i++)
result[arguments[i]]=true;return result;};function addAttributes(element,attributes){for(var index in attributes){if(typeof attributes[index]!='function')
element.setAttribute(index,attributes[index]);};};Date.prototype.isSameDay=function(dateObj)
{return(dateObj.getDate()==this.getDate()&&dateObj.getMonth()==this.getMonth()&&dateObj.getFullYear()==this.getFullYear());};Date.prototype.isToday=function()
{var today=new Date();return this.isSameDay(today);};Date.prototype.isYesterday=function()
{var today=new Date();var yesterday=new Date();yesterday.setTime(today.getTime()-24*3600000);return this.isSameDay(yesterday);};Date.prototype.isThisWeek=function()
{var day=new Date();var passedDays;for(passedDays=0;passedDays<=7;passedDays++)
{if(this.isSameDay(day))
return true;day.setTime(day.getTime()-24*3600000);};return false;};Date.prototype.formatTime=function()
{var h=this.getHours();var a_p="";if(h<12)
a_p=T('_.AM');else
a_p=T('_.PM');if(h==0)
h=12;else if(h>12)
h-=12;return tt.pad(h,'0',2)+":"+tt.pad(this.getMinutes(),'0',2)+" "+a_p;};Date.prototype.formatDate=function(calendarType)
{var year=this.getFullYear();var month=this.getMonth()+1;var day=this.getDate();switch(calendarType)
{case'h':var hijri=jd_to_islamic(gregorian_to_jd(year,month,day,0,0,0));return hijri[2]+" "
+controller.monthsHijri[hijri[1]-1]+" "
+hijri[0];break;default:return day+" "
+controller.monthsGregorian[month-1]+" "
+year;break;};};var toString=function(subject,open,close,delim,beforeId,afterId)
{var ret=open;var comma='';var attrib;var child;for(var i in subject)
{if(i!='_referenceName')
{child=subject[i];if(child==null)
attrib='null';else if(typeof child=='string')
attrib='\''+child+'\'';else if(typeof child=='number')
attrib=child;else if(typeof child!='function')
{if(child._referenceName)
attrib=child._referenceName;else
{if(subject.constructor==Array)
child._referenceName=subject._referenceName+'['+i+']';else
child._referenceName=subject._referenceName+'.'+i;if(child.constructor==Array)
attrib=toStringArrayWrapper(child);else
attrib=toStringObjectWrapper(child);};}
else attrib='';if(attrib!='')
{ret+=comma+beforeId+i+afterId+' '+attrib;comma=delim+' ';};};};return ret+close;};var deleteReferenceNames=function(subject)
{delete subject._referenceName;for(var i in subject)
if(subject[i]&&typeof subject[i]=='object'&&subject[i]._referenceName)
deleteReferenceNames(subject[i]);};var toStringObjectWrapper=function(subject)
{return toString(subject,'{','}',',','',':');};var toStringArrayWrapper=function(subject)
{return toString(subject,'[',']',',','#','=');};Object.prototype.toString=function()
{if(this.toSource)
return this.toSource();else
{var ret;this._referenceName='this';ret=toStringObjectWrapper(this);deleteReferenceNames(this);return ret;};};Array.prototype.toString=function()
{var ret;this._referenceName='this';ret=toStringArrayWrapper(this);deleteReferenceNames(this);return ret;};addSelectOption=function(select,text,value)
{var option=document.createElement('option');option.text=text;option.value=value;try
{select.add(option,null);}
catch(ex)
{select.add(option);};};updateSelectOption=function(select,value,newText,newValue)
{var options=select.options;var option;for(var i=0;i<options.length;i++)
{option=options[i];if(option.value==value)
{option.text=newText;option.value=newValue;};};};deleteSelectOption=function(select,value)
{var options=select.options;for(var i=0;i<options.length;i++)
if(options[i].value==value)
select.remove(i);};clearSelectOptions=function(select)
{var options=select.options;while(options.length>0)
select.remove(0);};Object.prototype.bindToDOMElement=function(element){for(var member in this){if(typeof this[member]!='function')
element.setAtrribute(member,this[member]);};};var each=function(obj,eachWhat,func,async,finallyFunc)
{if(!async)
{var ret;for(var member in obj)
{if(typeof obj[member]!='function')
{ret=func(eachWhat=='key'?member:obj[member]);if(ret)return ret;}};return ret;}
else
{obj.__finally=finallyFunc;obj.__array=[];for(var member in obj)
if(typeof obj[member]!='function'&&member!='__array'&&member!='__next'&&member!='__iterator')
obj.__array.push({key:member,value:obj[member]});obj.__next=0;obj.__continue=function()
{obj.__iterator=obj.__next;if(obj.__iterator<obj.__array.length)
{obj.__next=obj.__next+1;func(obj.__array[obj.__iterator][eachWhat]);}
else if(obj.__finally)
{obj.__finally();obj.__finally=null;}};obj.__continue();}}
Object.prototype.each=function(func,async,finallyFunc)
{return each(this,'value',func,async,finallyFunc);};Object.prototype.eachAttrib=function(func,async,finallyFunc)
{return each(this,'key',func,async,finallyFunc);};Object.prototype.eachFunction=function(func){var ret;for(var member in this){if(typeof this[member]=='function')
{ret=func(member);if(ret)return ret;};};return ret;};Object.prototype.size=function(){var size=0;for(var member in this){if(typeof this[member]!='function'&&member!='__array'&&member!='__next'&&member!='__iterator')
{size++;}};return size;};var apply=function(obj,func,separator,validator)
{var result=[];obj.each(function(x){if(!validator||validator(x))
{var item=func?func(x):x;if(item&&item.constructor==Array)
result=result.concat(item);else
result.push(item);}});if(separator)
return result.join(separator);else
return result;}
Object.prototype.apply=function(func,separator,validator)
{return apply(this,func,separator,validator);};Array.prototype.apply=function(func,separator,validator)
{return apply(this,func,separator,validator);};Array.prototype.each=function(func,async,finallyFunc)
{if(!async)
{var ret;for(var i=0;i<this.length;i++)
{ret=func(this[i]);if(ret)return ret;};return ret;}
else
{this.__finally=finallyFunc;this.__next=0;this.__continue=function()
{this.__iterator=this.__next;if(this.__iterator<this.length)
{this.__next=this.__next+1;func(this[this.__iterator]);}
else if(this.__finally)
{this.__finally();this.__finally=null;}};this.__continue();}};Array.prototype["find"]=function(func){var result=null;this.each(function(x){if(func(x))
{result=x;return true;}});return result;};Array.prototype["findByValue"]=function(val){return this.find(function(x){return x==val});};Array.prototype.findAll=function(func,limit){var result=[];if(limit)
this.each(function(x){if(limit&&func(x)){result.push(x);limit--;};});else
this.each(function(x){if(func(x))result.push(x)});return result;}
Object.prototype.filterMe=function(parameter,value,email,mobile){var search=function(p,v){p=p.toLowerCase();v=v.toLowerCase();return(p.indexOf(v)==0||p.indexOf('.'+v)>=0||p.indexOf(' '+v)>=0||p.indexOf('_'+v)>=0||p.indexOf('-'+v)>=0);};if(this[parameter]&&value)
{if(email&&value.indexOf('@')<0)
{return search(this[parameter].substr(0,this[parameter].indexOf('@')),value);}
else if(mobile)
{var p=this[parameter];var v=value;if(p.indexOf("+")==0)p="00"+p.substr(1);if(v.indexOf("+")==0)v="00"+v.substr(1);return search(p,v);}
else
{return search(this[parameter],value);};};return false;};String.prototype["trim"]=function()
{return this.replace(/^\s+/,'').replace(/\s+$/,'');};Array.prototype["getObjByParamVal"]=function(param,val,getAll){if(!val)return null;var criteria,test;if(typeof val=='string')
criteria=val.toLowerCase();else
criteria=val;if(getAll)
var matches=new Array();for(var i=0;i<this.length;i++){if(!this[i][param])
continue;if(typeof this[i][param]=='string')
test=this[i][param].toLowerCase();else
test=this[i][param];if(test==criteria){if(getAll)
matches.push(this[i]);else
return this[i];};};if(getAll)
return matches;else
return null;};Array.prototype["getObjIndexByParamVal"]=function(param,val,getAll){if(!val)return null;var criteria,test;if(typeof val=='string')
criteria=val.toLowerCase();else
criteria=val;if(getAll)
var matches=new Array();for(var i=0;i<this.length;i++){if(!this[i][param])
continue;if(typeof this[i][param]=='string')
test=this[i][param].toLowerCase();else
test=this[i][param];if(test==criteria){if(getAll)
matches.push(i);else
return i;};};if(getAll)
return matches;else
return null;};Array.prototype["removeObjByParamVal"]=function(param,val){for(var i=0;i<this.length;i++){if(this[i][param]==val){return this.splice(i,1);};};};function cloneObjectOrArray(source,target)
{for(var member in source)
{if(typeof source[member]=='string'||typeof source[member]=='number'||typeof source[member]=='boolean')
target[member]=source[member];else if(typeof source[member]=='object')
{if(source[member])
target[member]=source[member].clone();else
target[member]=null;};};return target;};Object.prototype["clone"]=function(target)
{return cloneObjectOrArray(this,target?target:{});};Array.prototype["clone"]=function(target)
{return cloneObjectOrArray(this,target?target:[]);};Object.prototype["clearAttributes"]=function(){for(var attrib in this){if(typeof attrib!='function')
delete this[attrib];};};Array.prototype["clear"]=function()
{this.splice(0,this.length);};Array.prototype["sortByParam"]=function(param,ascending)
{compare=ascending?1:-1;return this.sort(function(a,b)
{if(!a[param]&&b[param])
return-compare;else if(a[param]&&!b[param])
return compare;else if(!a[param]&&!b[param])
return 0;if(typeof a[param]=='string')
{aval=a[param].toLowerCase().trim();bval=b[param].toLowerCase().trim();}
else
{aval=a[param];bval=b[param];};if(aval<bval)
return-compare;else if(aval>bval)
return compare;else
return 0;});};Array.prototype.unique=function(attr)
{var result=[];var hash={};for(var i=0;i<this.length;i++)
{if(attr)
{var itemObj=this[i];var item=this[i][attr].toLowerCase();}
else
{var item=this[i].toLowerCase();}
if(!hash[item])
{hash[item]=1;if(attr)
result.push(itemObj);else
result.push(item);};};return result;};Array.prototype["removeByVal"]=function(val){for(var i=0;i<this.length;i++){if(this[i]==val){return this.splice(i,1);};};};Array.prototype["getIndexByParamVal"]=function(param,val){for(var i=0;i<this.length;i++){if(this[i][param]==val){return i;};};};Array.prototype["contains"]=function(val){for(var i=0;i<this.length;i++){if(this[i]==val){return true;};};};Array.prototype["intersects"]=function(array,indices){var ret=[];for(var i=0;i<this.length;i++)
{if(array.contains(this[i]))
{ret.push(this[i]);if(indices)indices.push(i);};};return ret;};Object.prototype["intersects"]=function(obj){var ret={};for(var member in this)
if(typeof this[member]!='function')
if(obj[member])
ret[member]=this[member];return ret;};Array.prototype["indexOf"]=function(val){for(var i=0;i<this.length;i++){if(this[i]==val)
return i;};return-1;};Array.prototype["lastIndexOf"]=function(val){for(var i=this.length-1;i>=0;i--){if(this[i]==val)
return i;};return-1;};Array.prototype["extract"]=function(indices)
{var ret=[];for(var i=0;i<indices.length;i++)
ret.push(this[indices[i]]);return ret;};Array.prototype["occurences"]=function(val){var myVal=tt.remove(val,"/\n/");var list=new Array();for(var i=0;i<this.length;i++){if(tt.remove(this[i],"/\n/")==myVal){list.push(i);};};return list;};Array.prototype["noRepeat"]=function(){for(var i=0;i<this.length;i++){var list=this.occurences(this[i]);if(list.length>1){for(var j=1;j<list.length;j++){this.splice(list[j],1);};};};};Array.prototype["filterParams"]=function(filter,params){if(filter=="")return this;var newArray=[];var push=false;for(var i=0;i<this.length;i++){push=false;var conc="";for(var j=0;j<params.length;j++){if(this[i][params[j]]){if(this[i][params[j]].toLowerCase().indexOf(filter.toLowerCase())==0)push=true;conc+=this[i][params[j]].toLowerCase()+" ";};};if(conc.indexOf(filter.toLowerCase())==0)push=true;if(push)newArray.push(this[i]);};return newArray;};function findPosX(obj)
{if(!obj)return 0;var curleft=0;if(obj.offsetParent)
{while(obj.offsetParent)
{curleft+=obj.offsetLeft;obj=obj.offsetParent;};}
else if(obj.x)
curleft+=obj.x;return curleft;};function findPosY(obj)
{if(!obj)return 0;var curtop=0;if(obj.offsetParent)
{while(obj.offsetParent)
{curtop+=obj.offsetTop;obj=obj.offsetParent;};}
else if(obj.y)
curtop+=obj.y;return curtop;};function createCookie(name,value,days,domain,path){if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));var expires="; expires="+date.toGMTString();}
else var expires="";if(!path)var path="/";if(!domain)var domain="";document.cookie=name+"="+value+expires+"; path="+path+"; domain="+domain;}
function eraseCookie(name,domain,path){createCookie(name,"",-1,domain,path);}
function numbersonly(e)
{if(!e)var e=window.event;var unicode=e.charCode?e.charCode:e.keyCode
if(unicode!=8&&unicode!=13)
{if(unicode<48||unicode>57)
if(unicode<37||unicode>40)
return false}}
function appendValueToCSVTextInput(textInputId,value)
{var text=$(textInputId);if(!text)return false;if(!text.value||!text.value.trim())
text.value=value+', ';else
{var trimmed=text.value.trim();if(trimmed.charAt(trimmed.length-1)!=',')
text.value+=', ';text.value+=value+', ';}
return true;}
function matchEmails(str){return matchEmailsOrMobilePhones(str,g_emailRegStr);}
function matchMobilePhones(str){return matchEmailsOrMobilePhones(str,g_phoneRegStr);}
function matchEmailsOrMobilePhones(str,g_regExp){str=str.trim();var regComments=/\([^\(\)]*\)/g;var regFormat=[];regFormat.push(new RegExp("((\\\"[^\\\"]*\\\")|(\\'[^\\'\\\"]*\\'))\\s*<\\s*"+g_regExp+"\\s*>[,\\s]*","g"));regFormat.push(new RegExp("[\\w\\.\\s\\-]*\\s*<\\s*"+g_regExp+"\\s*>[,\\s]*","g"));regFormat.push(new RegExp(g_regExp+"[,\\s]*","g"));str=str.replace(/\\\\/g,"___BSLASH___");str=str.replace(/\\\(/g,"___SOPAREN___");str=str.replace(/\\\)/g,"___SCPAREN___");str=str.replace(/\\\"/g,"___DCOUTE___");while(str.search(regComments)!=-1)str=str.replace(regComments,"");str=str.replace(/\s/g,' ');str=str.replace(/<\s*/g,'<');str=str.replace(/\s*>/g,'>');var res=null;var validEntries=new Array();for(var i=0;i<=2;i++){var regExp=regFormat[i];res=str.match(regExp);while(res&&res.length>0){validEntries.push(res.shift().replace(/___BSLASH___/g,"\\\\").replace(/___DCOUTE___/g,"\\\"").replace(/___SOPAREN___/g,"\\\(").replace(/___SCPAREN___/g,"\\\)").replace(/[\s,]*$/,""));}
str=str.replace(regExp,"");}
str=str.replace(/___BSLASH___/g,"\\\\");str=str.replace(/___DCOUTE___/g,"\\\"");str=str.replace(/___SOPAREN___/g,"\\\(");str=str.replace(/___SCPAREN___/g,"\\\)");return({rem:str,retval:((str.length==0&&validEntries.length>0)?true:false),entries:validEntries});}
function insertAtCursor(myField,myValue)
{if(!myValue)return;if(document.selection)
{myField.focus();sel=document.selection.createRange();sel.text=myValue;}
else if(myField.selectionStart||myField.selectionStart=='0')
{var startPos=myField.selectionStart;var endPos=myField.selectionEnd;myField.value=myField.value.substring(0,startPos)
+myValue
+myField.value.substring(endPos,myField.value.length);myField.selectionStart=startPos+myValue.length;myField.selectionEnd=myField.selectionStart;}
else
myField.value+=myValue;}
function makeVisible(div,posx,posy,element){var screenLimitY=document.body.clientHeight+document.body.scrollTop;var x,y;if(posx-div.offsetWidth<0){div.style.left=posx;x='l';}
else{div.style.left=(element?findPosX(element):screenLimitX)-div.offsetWidth;x='r';}
if(posy+div.offsetHeight>screenLimitY){div.style.top=(element?findPosY(element):screenLimitY)-div.offsetHeight;y='b';}
else{div.style.top=posy;y='t';}
return{x:x,y:y};}
function createToolTipOnmouseover(){var ana=this;var show=function(){var div=$('_global_toolTip');var divText=$('_global_toolTipText');setInnerHTMLSafely(divText,ana.toolTip);div.style.top=0;if(controller.dir=='rtl')
div.style.right=0;else
div.style.left=0;div.style.visibility='hidden';div.style.display='';var dims=makeVisible(div,posx,posy,ana);closeImage=document.getElementById("_close_tip");div.style.display='none';div.style.visibility='visible';div.style.display='';backGroundURL="views/gifs/balloon-"+dims.y+dims.x+".png";div.style.border='none';div.style.padding='0px';div.style.margin='0px';div.style.background="url('"+backGroundURL+"') top left no-repeat";raiseElement(div,null,null,true);}
if(controller.dir=='rtl')
posx=document.body.clientWidth-findPosX(this)-this.offsetWidth;else
posx=findPosX(this);posy=findPosY(this)+this.offsetHeight;gTooltipTimer=setTimeout(show,250);}
function createToolTipOnmouseout(){setTimeout(function(){var div=$('_global_toolTip');if(gTooltipTimer)clearTimeout(gTooltipTimer);if(div.style.display!='none')unraiseElement();div.style.display='none';},0);}
var gTooltipTimer;function createToolTip(element,toolTip){return;toolTip=unescape(toolTip);if(!toolTip.trim()){element.onmouseover=null;return;}
element.toolTip=toolTip;element.onmouseover=createToolTipOnmouseover;element.onmouseover();};function hideToolTip(){$('_global_toolTip').style.display='none';if(gTooltipTimer)clearTimeout(gTooltipTimer);unraiseElement();}
function isDigit(c)
{return((c>="0")&&(c<="9"))}
function isInteger(s)
{var i;for(i=0;i<s.length;i++)
{var c=s.charAt(i);if(!isDigit(c))return false;}
return true;}
function prepareInputsForHints(){var inputs=document.getElementsByTagName("input");for(var i=0;i<inputs.length;i++){if(inputs[i].parentNode.getElementsByTagName("span")[0]){inputs[i].onfocus=function(){this.parentNode.getElementsByTagName("span")[0].style.display="inline";}
inputs[i].onblur=function(){this.parentNode.getElementsByTagName("span")[0].style.display="none";}}}
var selects=document.getElementsByTagName("select");for(var k=0;k<selects.length;k++){if(selects[k].parentNode.getElementsByTagName("span")[0]){selects[k].onfocus=function(){this.parentNode.getElementsByTagName("span")[0].style.display="inline";}
selects[k].onblur=function(){this.parentNode.getElementsByTagName("span")[0].style.display="none";}}}}
