
AG={};AG.Utilities={};AG.Data={};AG.Data.RSS={};AG.Net={};AG.Config={};AG.Modules={};AG.Themes={};AG.Themes.Lamina={};AG.UI={};AG.UI.RSS={};String.prototype.trim=function(){if(this.length>500){var s=this.replace(/^\s\s*/,''),ws=/\s/,i=s.length;while(ws.test(str.charAt(--i)));return s.slice(0,i+1);}
return this.replace(/^\s\s*/,'').replace(/\s\s*$/,'');}
String.prototype.ltrim=function(){return this.replace(/^\s+/,'');}
String.prototype.rtrim=function(){return this.replace(/\s+$/,'');}
function $(){var elements=new Array();for(var i=0;i<arguments.length;i++){var element=arguments[i];if(typeof element=='string')
element=document.getElementById(element);if(arguments.length==1)
return element;elements.push(element);}
return elements;}
if(typeof XMLDocument=='undefined'&&typeof Document!='undefined')
XMLDocument=Document;if(typeof XMLDocument!='undefined'&&document.implementation.hasFeature('XPath','3.0')){XMLDocument.prototype.selectNodes=function(cXPathString,xNode){if(!xNode)
xNode=this;var oNSResolver=this.createNSResolver(this.documentElement);var aItems=this.evaluate(cXPathString,xNode,oNSResolver,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);var aResult=[];for(var i=0;i<aItems.snapshotLength;i++)
aResult[i]=aItems.snapshotItem(i);return aResult;}
XMLDocument.prototype.selectSingleNode=function(cXPathString,xNode){if(!xNode)
xNode=this;var xItems=this.selectNodes(cXPathString,xNode);if(xItems.length>0)
return xItems[0];else
return null;}
Element.prototype.selectNodes=function(cXPathString){if(this.ownerDocument.selectNodes)
return this.ownerDocument.selectNodes(cXPathString,this);else
throw"For XML Elements Only";}
Element.prototype.selectSingleNode=function(cXPathString){if(this.ownerDocument.selectSingleNode)
return this.ownerDocument.selectSingleNode(cXPathString,this);else
throw"For XML Elements Only";}}
if(!Array.forEach){Array.forEach=function(array,block,context){for(var i=0;i<array.length;i++){block.call(context,array[i],i,array);}};}
Function.prototype.forEach=function(object,block,context){for(var key in object){if(typeof this.prototype[key]=="undefined"){block.call(context,object[key],key,object);}}};String.forEach=function(string,block,context){Array.forEach(string.split(""),function(chr,index){block.call(context,chr,index,string);});};var forEach=function(object,block,context){if(object){var resolve=Object;if(object instanceof Function){resolve=Function;}else if(object.forEach instanceof Function){object.forEach(block,context);return;}else if(typeof object=="string"){resolve=String;}else if(typeof object.length=="number"){resolve=Array;}
resolve.forEach(object,block,context);}};var Base=function(obj){if(obj)
if(this==window)
Base.prototype.extend.call(obj,arguments.callee.prototype);else
this.extend(obj);};Base.version="1.0.2";Base.prototype={extend:function(source,value){var extend=Base.prototype.extend;if(arguments.length==2){var ancestor=this[source];if((ancestor instanceof Function)&&(value instanceof Function)&&ancestor.valueOf()!=value.valueOf()&&/\bbase\b/.test(value)){var method=value;value=function(){var previous=this.base;this.base=ancestor;var returnValue=method.apply(this,arguments);this.base=previous;return returnValue;};value.valueOf=function(){return method;};value.toString=function(){return String(method);};}
return this[source]=value;}else if(source){var _prototype={toSource:null};var _protected=["toString","valueOf"];if(Base._prototyping)_protected[2]="constructor";for(var i=0;(name=_protected[i]);i++)
if(source[name]!=_prototype[name])
extend.call(this,name,source[name]);for(var name in source)
if(!_prototype[name])
extend.call(this,name,source[name]);}
return this;},base:function(){}};Base.extend=function(_instance,_static){var extend=Base.prototype.extend;if(!_instance)_instance={};Base._prototyping=true;var _prototype=new this;extend.call(_prototype,_instance);var constructor=_prototype.constructor;_prototype.constructor=this;delete Base._prototyping;var klass=function(){if(!Base._prototyping)constructor.apply(this,arguments);this.constructor=klass;};klass.prototype=_prototype;klass.extend=this.extend;klass.implement=this.implement;klass.toString=function(){return String(constructor);};extend.call(klass,_static);var object=constructor?klass:_prototype;if(object.init instanceof Function)object.init();return object;};Base.implement=function(_interface){if(_interface instanceof Function)_interface=_interface.prototype;this.prototype.extend(_interface);};AG.AGObject=Base.extend({now:function(){return new Date().getTime()/1000;},setTimeout:function(callbackName_,delay_,arguments_){var id=null,self=this,f=self[callbackName_];if(f&&typeof(f)=='function')
id=setTimeout(function(){f.apply(self,arguments_);},delay_);return id;},setInterval:function(callbackName_,interval_,arguments_){var id=null,self=this,f=self[callbackName_];if(f&&typeof(f)=='function')
id=setInterval(function(){f.apply(self,arguments_);},interval_);return id;}},{addCSSRule:function(sheet_,rule_){if(sheet_.insertRule)
sheet_.insertRule(rule_,sheet_.cssRules.length);else if(sheet_.addRule)
sheet_.addRule(rule_.substring(0,rule_.indexOf("{")),rule_.substring(rule_.indexOf("{")+1,rule_.indexOf("}")));},getCookie:function(key_){var c=document.cookie;var n=c.indexOf(key_+'=');if(n>=0){n+=key_.length+1;var n2=c.indexOf(';',n);if(n2>=0)
return c.substr(n,n2-n);else
return c.substr(n);}
return null;},setCookie:function(key_,value_){document.cookie=key_+'='+value_;}});AG.Static=AG.AGObject.extend({},{domain:'forums.assgaming.com'})
AG.Web=AG.AGObject.extend({},{getDomain:function(url_){var n=url_.indexOf('http://');if(n!=0)
return null;var s=url_.substr(7);n=s.indexOf('/');return(n==-1?s:s.substr(0,n));},checkDomain:function(url_,domain_){var d=AG.Web.getDomain(url_);if(d==null)
return true;if(d==domain_)
return true;var n=d.indexOf(domain_);return(n!=-1&&n==d.length-domain_.length&&d.substr(n-1,1)=='.');},addGetVars:function(url_,vars_){if(vars_==null)
return url_;var s='';for(var i in vars_)
s+='&'+i+'='+vars_[i];if(s=='')
return url_;if(url_.indexOf('?')==-1)
return url_+'?'+s.substr(1);return url_+s;}});AG.DataObject=AG.AGObject.extend({constructor:function(sourcePath_,params_){this.defaultRequestTimeout=5000;this.defaultMaxAttempts=10;this.loaded=false;this.cacheData=true;this.source='';this.sources=[];this.sourcesIndex=0;this.addSource(sourcePath_,params_);this._allData=[];this._data=null;this._waiting=false;this._callbacks=[];this._failCount=0;},_callbackIsUnique:function(callback_){for(var i in this._callbacks)
if(this._callbacks[i].scope==callback_.scope)
return false;return true;},_issueCallbacks:function(){while(this._callbacks.length){var c=this._callbacks.shift();if(c.scope)
(this._failCount?c.failure:c.success).apply(c.scope);}},_writeUrlOptions:function(urlParams_){var s='';for(var i in urlParams_)
s+='&'+i+'='+urlParams_[i];return s;},addCallback:function(callback_){if(callback_&&this._callbackIsUnique(callback_))
this._callbacks.push(callback_);},addSource:function(path_,params_,name_){var path=(path_===undefined?'':AG.Web.addGetVars(path_,params_));if(path){this.sources.push({name:name_,path:path,loaded:false,waiting:false,failCount:0,failed:false});this.loaded=false;}},nextSource:function(){return(this.sourceIndex<this.sources.length?this.sources[this.sourceIndex++]:null);},getSourceKey:function(source_){for(var key in this.sources)
if(sources[key]==source_)
return key;return null;},load:function(callback_){this.addCallback(callback_);if(this.loaded)
this._issueCallbacks();else if(this._waiting)
return;for(var i in this.sources)
this.loadSingle(this.sources[i]);this._waiting=true;},loadSingle:function(source_){var asyncInfo={success:this.onReceive,failure:this.onFail,argument:{source:source_},timeout:this.defaultRequestTimeout,scope:this,cache:(this.cacheData||source_.failCount>0)};var path=(AG.Web.checkDomain(source_.path,AG.Static.domain)?source_.path:'/transport.php?url='+escape(source_.path));YAHOO.util.Connect.asyncRequest('GET',path,asyncInfo,null);source_.waiting=true;},checkLoadComplete:function(){for(var i in this.sources)
if(!this.sources[i].loaded&&!this.sources[i].failed)
return false;return true;},onReceive:function(response_){var xml=response_.responseXML,source=response_.argument.source;if(xml){source.waiting=false;source.failCount=0;this._allData.push({source:source,data:xml});this._data=xml;source.loaded=true;}
if(this.checkLoadComplete())
this.onCompleted(this._failCount>0);},onFail:function(response_){var source=response_.argument.source;source.failCount++;if(source.failCount<this.defaultMaxAttempts)
this.loadSingle(source);else{source.waiting=false;source.failed=true;this._failCount++;if(this.checkLoadComplete())
this.onCompleted(false);}},onCompleted:function(){this.loaded=true;this.processData();this._waiting=false;this._issueCallbacks();},processData:function(){this.mergeData();},mergeData:function(){},selectNodes:function(xpath_,context_){if(context_)
return context_.selectNodes(xpath_);if(this._data)
return this._data.selectNodes(xpath_);return null;},selectSingleNode:function(xpath_,contextNode_){if(contextNode_)
return contextNode_.selectSingleNode(xpath_);if(this._data)
return this._data.selectSingleNode(xpath_);return null;}});AG.UIObject=AG.AGObject.extend({setOpacity:function(element_,value_){if(!element_||!element_.style)
return;element_.style.opacity=value_;element_.style.MozOpacity=value_;element_.style.KhtmlOpacity=value_;element_.style.filter='progid:DXImageTransform.Microsoft.Alpha(opacity='+(value_*100)+')';},newEl:function(tag_,attributes_){var el=document.createElement(tag_);for(key in attributes_)
el[key]=attributes_[key];return el;},newDiv:function(attributes_){return this.newEl('div',attributes_);}});AG.DOM=AG.AGObject.extend({},{getStreamLocation:function(){var guid=new AG.GUID().getValue;document.write('<div id="id_'+guid+'"></div>');var elem=document.getElementById('id_'+guid);var parent=elem.parentNode;if(parent){var nextSibling=elem.nextSibling;parent.removeChild(elem);return{parent:parent,adjacentNode:nextSibling};}
return null;},executeScripts:function(elem_){if(!elem_)
elem_=document;var scripts=elem_.getElementsByTagName('script');for(var i=0;i<scripts.length;i++){var s=scripts[i];var parent=s.parentNode;parent.removeChild(s);var s2=document.createElement('script');s2.type='text/javascript';s2.text=s.text;parent.appendChild(s2);}}});AG.GUID=AG.AGObject.extend({constructor:function(){this.__value='';for(var i=0;i<8;i++){this.value+=Math.floor(Math.random()*65536).toString(16).toUpperCase();}},getValue:function(){var s=this.__value;if(arguments.length&&arguments[0]===true)
s=s.substr(0,8)+'-'+
s.substr(8,4)+'-'+
s.substr(12,4)+'-'+
s.substr(16,4)+'-'+
s.substr(20,12);return s;},getShort:function(length_){return this.__value.substr(0,AG.Math.clamp(length_,0,32));}});AG.Math=AG.AGObject.extend({},{intRand:function(x_){return Math.floor(Math.random()*x_);},clamp:function(n_,min_,max_){return Math.min(Math.max(n_,min_),max_);}});AG.Utilities.Cookies=AG.AGObject.extend({},{get:function(key_){var start=document.cookie.indexOf(key_+"=");var len=start+key_.length+1;if((!start)&&(key_!=document.cookie.substring(0,key_.length)))
return null;if(start==-1)
return null;var end=document.cookie.indexOf(';',len);if(end==-1)
end=document.cookie.length;return unescape(document.cookie.substring(len,end));},set:function(key_,value_,expires_,path_,domain_,secure_){var today=new Date();today.setTime(today.getTime());if(expires_)
expires_*=86400000;var expires_date=new Date(today.getTime()+(expires_));document.cookie=key_+'='+escape(value_)+
((expires_)?';expires='+expires_date.toGMTString():'')+
((path_)?';path='+path_:'')+
((domain_)?';domain='+domain_:'')+
((secure_)?';secure':'');},remove:function(key_,path_,domain_){if(AG.Utilties.Cookies.get(key_))
document.cookie=key_+'='+
((path_)?';path='+path_:'')+
((domain_)?';domain='+domain_:'')+';expires=Thu, 01-Jan-1970 00:00:01 GMT';}});AG.Utilities.ImageCycler=AG.UIObject.extend({constructor:function(theme_){this.theme=theme_;this.tickRate=10;this.fadeDuration=4;this.crossFade=true;this.cycleInterval=0;this.cycleMax=0;this.cycleMaxDuration=0;this.selectionType=0;this.historySize=10;this.images={selectedGroup:'',groups:{}};this.layers=[];this.onCompleted=null;this._selected='';this._selectedIndex=0;this._history=[];this._historyCookieKey='imageCycler';this._lastResetTime=new Date();this._fadeIntervalID=null;this._opacity=0;this._cycleCount=0;this._cycleTimeoutID=null;var h=this._loadHistory();if(h)
this._history=h;},_startFade:function(){var L2=this.layers[1].elements;for(var i in L2)
L2[i].style.display='block';},_startTicking:function(){this._fadeIntervalID=this.setInterval('tickFade',1000/this.tickRate);},_tickFade:function(){var L1=this.layers[0].elements,L2=this.layers[1].elements;this._opacity=Math.min(this._opacity+(1/this.tickRate/this.fadeDuration),1);if(this.crossFade)
for(var i in L1)
this.setOpacity(L1[i],1-this._opacity);for(var i in L2)
this.setOpacity(L2[i],this._opacity);},_stopFade:function(){clearInterval(this._fadeIntervalID);for(var i=0;i<this.layers[0].elements.count;i++){var e1=this.layers[0].elements[i],e2=this.layers[1].elements[i];e1.style.backgroundImage=e2.style.backgroundImage;this.setOpacity(e1,1);e2.style.display='none';this.setOpacity(e2,0);}
this._opacity=0;if(++this._cycleCount<this.cycleMax||(this.cycleMaxDuration&&this._lastResetTime<this.now()-this.cycleMaxDuration)){var image=this._selectNext();this._applyToLayer(1,image);this._cycleTimeoutID=this.setTimeout('startFade',this.cycleInterval*1000);}},_applyToLayer:function(layerIndex_,imagePath_){var L=this.layers[layerIndex_];for(var i in L.elements)
L.elements[i].style.backgroundImage=imagePath_;},_callOnCompleted:function(){var e=this.onCompleted;if(e&&typeof(e)=='function')
e.apply(this,arguments);},_selectNext:function(){var group=this._getSelectedGroup(),items=this._createSelectionArray(group),weightedItems=this._weightItems(items),selected=this._makeSelection(weightedItems);this._updateHistory(selected);return selected;},_getSelectedGroup:function(){var g=this.images.selectedGroup;if(!g){g=this._selectRandomGroup();this.images.selectedGroup=g;}
return g;},_selectRandomGroup:function(){var g=this.images.groups,n=0;for(var i in g)
n+=g[i].length;var r=AG.Math.intRand(n);for(var i in g){n-=g[i].length;if(r>n)
return g[i];}},_createSelectionArray:function(imageGroup_){var g=this.images.groups,sg=Boolean(imageGroup_)?imageGroup_:this._getSelectedGroup();if(sg)
return g[sg];else{var r=[];for(var i in g)
r=r.concat(g[i]);return r;}},_weightItems:function(items_){var h=this._history,i,j,w=[],bFound=false;for(i=0;i<h.length;i++)
for(var j=0;j<items_.length;j++)
if(h[i]==items_[j]){w.push({item:h[i],value:i/h.length});break;}
for(i=0;i<w.length;i++)
for(var j=i+1;j<w.length;j++)
if(w[j].item==w[i].item){w[i].value*=w[j].value;w.splice(j,1);j--;}
for(i=0;i<items_.length;i++){for(j=0;j<w.length;j++)
if(w[j].item==items_[i]){bFound=true;break;}
if(!bFound)
w.push({item:items_[i],value:1});}
return w;},_makeSelection:function(weightedItems_){var w=weightedItems_,n,r;for(var i=0;i<w.length;i++)
n+=w[i].value;r=Math.random()*n;for(var i=0;i<w.length;i++){r-=w[i].value;if(r<=0)
return w[i].item;}},_updateHistory:function(newItem_){h=this._history;h.unshift(newItem_);if(h.length>this.historySize)
h.pop();},_saveHistory:function(){AG.Utilities.Cookies.set(this._historyCookieKey,this._history.join(),30);},_loadHistory:function(){var c=AG.Utilities.Cookies.get(this._historyCookieKey);if(c)
this._history=c.split(',');},startFade:function(){this._startFade();this._startTicking();},tickFade:function(){if(this._overrideTick)
return;this._tickFade();if(this._opacity==1)
this.stopFade();},stopFade:function(){this._stopFade();this._saveHistory();this._callOnCompleted();},reset:function(){this._lastResetTime=this.now();},getSelectedGroup:function(){return this._getSelectedGroup();}});AG.Data.Clan=AG.DataObject.extend({constructor:function(){this.base('/xml/clan.xml');},processData:function(){},getMemberById:function(id_){return this.selectSingleNode('.//clan/members/member[@id="'+id_+'"]');},getMemberByName:function(name_){return this.selectSingleNode('.//clan/members/member[@name="'+name_+'"]');},getMemberByTeamspeakLogin:function(ts_){return this.selectSingleNode('.//clan/members/member[@ts="'+ts_+'"]');},getMember:function(member_){if(member_ instanceof String)
return this.getMemberByName(member_);else
return this.getMemberById(member_);return null;},getMemberId:function(member_){var id=member_.getAttribute('id');if(id)
return id;},getMemberRank:function(member_){var member=this.getMemberById(member_);if(member){var rank=member.getAttribute('rank');if(rank)
return rank;}
return null;},getMemberTitle:function(member_){var rank=this.getMemberRank(member_);if(rank)
return this.getRankName(rank);return null;},getRankName:function(rankValue_){var rank=this.selectSingleNode('.//clan/ranks/rank[@value="'+rankValue_+'"]');if(rank){var name=rank.getAttribute('name');if(name)
return name;}
return null;},getOfficeTitle:function(officeID_){var office=this.selectSingleNode('.//clan/offices/office[@id="'+officeID_+'"]');if(office){var title=office.getAttribute('title');if(title)
return title;}
return null;},getMemberOffices:function(member_,verbose_){var member=this.getMember(member_);if(member){var offices=member.getAttribute('offices');if(offices){var officesArray=offices.split(','),result=[];for(var i=0;i<officesArray.length;i++){var o=officesArray[i],oA=o.split(':'),s,oBoss=(oA[0].indexOf('*')!=-1);if(oBoss)
oA[0]=oA[0].substr(0,oA[0].length-1);if(verbose_){s=this.getOfficeTitle(oA[0]);if(s&&oA.length>1){var oTeam=this.getTeamName(oA[1]);if(oTeam)
s=oTeam+' '+s;}}else
s={office:oA[0],boss:oBoss,teams:((oA.length>1)?oA[1].split('|'):null)};if(s)
result.push(s);}
return result;}}
return null;},getStatusName:function(statusValue_){var status=this.selectSingleNode('.//clan/statuses/status[@value="'+statusValue_+'"]');if(status){var name=status.hasAttribute('name');if(name)
return name;}
return null;},getMemberStatus:function(member_){var member=this.getMember(member_);if(member){var statuses=this.selectSingleNode('.//clan/statuses'),defaultStatus=(statuses?statuses.getAttribute('default'):'5'),status=member.getAttribute('status');if(status)
return status;else
return defaultStatus;}
return null;},getMemberTeams:function(member_){var member=this.getMember(member_);if(member){var teams=member.getAttribute('teams');if(teams)
return teams.split(',');}
return null;},getMemberPrimaryTeam:function(member_){var teams=this.getMemberTeams(member_);if(teams&&teams.length)
return teams[0];return null;},getTeamName:function(teamID_){var team=this.selectSingleNode('.//clan/teams/team[@id="'+teamID_+'"]');if(team){var name=team.getAttribute('name');if(name)
return name;}
return null;},getTeamIndex:function(teamID_){if(teamID_){var teams=this.selectNodes('.//clan/teams/team');for(var i=0;i<teams.length;i++)
if(teams[i].getAttribute('id')==teamID_)
return i;}
return-1;}});AG.Data.RSS.RSS2Base=AG.DataObject.extend({constructor:function(sourcePath_,params_){this.base(sourcePath_,params_);this.itemIndex=0;this.item=null;this.itemCount=-1;},mergeData:function(){if(this._allData.length==0)
return;var sourceRss=this._allData[0].data.selectSingleNode('.//rss');if(!sourceRss)
return;this._data=(YAHOO.env.ua.ie?new ActiveXObject('Msxml2.DOMDocument.3.0'):document.implementation.createDocument('','',null));var rss=(YAHOO.env.ua.ie?sourceRss.cloneNode(false):this._data.importNode(sourceRss,false));this._data.appendChild(rss);for(var i in this._allData){var d=this._allData[i],sourceChannel=d.data.selectSingleNode('.//rss/channel');if(!sourceChannel)
continue;var channel=(YAHOO.env.ua.ie?sourceChannel.cloneNode(true):this._data.importNode(sourceChannel,true));channel.setAttribute('sourceName',d.source.name);channel.setAttribute('sourcePath',d.source.path);rss.appendChild(channel);}},getChannel:function(search_){var channels=this.selectNodes('.//rss/channel');var doSearch=function(scope_,searchFunction_,searchString_){for(var i=0;i<channels.length;i++){var channel=channels[i],s=searchFunction_.apply(scope_,[channel]);if(s.indexOf(searchString_)>=0)
return channel;}
return null;};var channel;channel=doSearch(this,this.getChannelTitle,search_);if(channel)
return channel;channel=doSearch(this,this.getChannelLink,search_);if(channel)
return channel;channel=doSearch(this,this.getChannelDescription,search_);if(channel)
return channel;return null;},_getChannelMember:function(channel_,tag_){var node=channel_.selectSingleNode('.//'+tag_);if(node)
return(YAHOO.env.ua.ie?node.text:node.textContent);return'';},getChannelTitle:function(channel_){return this._getChannelMember(channel_,'title');},getChannelLink:function(channel_){return this._getChannelMember(channel_,'link');},getChannelDescription:function(channel_){return this._getChannelMember(channel_,'description');},getItem:function(index_){if(index_===undefined){if(this.item)
return this.item;else
index_=0;}else if(index_==this.itemIndex&&this.item)
return this.item;if(index_<0)
return null;this.item=this.selectSingleNode('.//rss/channel/item['+index_+']');if(this.item){this.itemIndex=index_;return this.item;}
return null;},getItemProperty:function(item_,propertyName_){var n=this.selectSingleNode('.//'+propertyName_,item_);if(n)
return(YAHOO.env.ua.ie?n.text:n.textContent);return'';},getItemPropertyAttribute:function(item_,propertyName_,attribute_){var n=this.selectSingleNode('.//'+propertyName_,item_);if(n&&(YAHOO.env.ua.ie?n.getAttribute(attribute_):n.hasAttribute(attribute_)))
return n.getAttribute(attribute_);return'';},getItemCount:function(){if(this.itemCount<0){var nodes=this.selectNodes('.//rss/channel/item');if(nodes)
this.itemCount=nodes.length;}
return this.itemCount;}});AG.Data.RSS.VBulletinRSS2Base=AG.Data.RSS.RSS2Base.extend({constructor:function(forumRoot_,params_){this.base(forumRoot_+'external.php?type=RSS2',params_);},addSource:function(forumRoot_,params_){this.base(forumRoot_+'external.php?type=RSS2',params_);}});AG.Data.RSS.EpicForums=AG.Data.RSS.VBulletinRSS2Base.extend({constructor:function(params_){this.base('http://forums.epicgames.com/',params_);}});AG.Data.RSS.GiveawayOfTheDay=AG.DataObject.extend({constructor:function(){this.base('http://export.giveawayoftheday.com/index.xml');this.item=null;},getItem:function(){if(!this.item)
this.item=this.selectSingleNode('.//items/item[1]');return this.item;},getItemProperty:function(propertyName_){var n=this.selectSingleNode('.//'+propertyName_,this.getItem());if(n)
return n.textContent;return'';}});AG.Data.RSS.UT3ContentForums=AG.Data.RSS.RSS2Base.extend({constructor:function(){this.base();this.addVBSource('http://forums.epicgames.com/',{forumids:'340'},'Epic UT3 User Maps & Mods - Beta Releases');this.addVBSource('http://forums.epicgames.com/',{forumids:'341'},'Epic UT3 User Maps & Mods - Full Releases');this.addVBSource('http://forums.beyondunreal.com/',{forumids:'575'},'BeyondUnreal Forums - Content Releases');this.addVBSource('http://www.unrealplayground.com/forums/',{forumids:'181'},'UnrealPlayground - UT3 Map Announcements');this.addVBSource('http://www.unrealplayground.com/forums/',{forumids:'183'},'UnrealPlayground - UT3 Mods & Mutators');this.addVBSource('http://ut2004.titaninternet.co.uk/forums/',{forumids:'56'},'Titan Onslaught - UT3 Maps and Mods');},processData:function(){this.filterBU();this.base();},filterBU:function(){var channel,items,toBeRemoved=[];for(var i=0;i<this._allData.length;i++)
if(AG.Web.checkDomain(this._allData[i].source.path,'beyondunreal.com')){channel=this._allData[i].data.selectSingleNode('.//rss/channel');items=channel.selectNodes('.//item');break;}
if(items){for(var i=0;i<items.length;i++){var title=items[i].selectSingleNode('.//title'),titleText=(YAHOO.env.ua.ie?title.text:title.textContent);if(titleText.indexOf('UT3')==0){if(YAHOO.env.ua.ie)
title.text=title.text.substr(4);else
title.textContent=title.textContent.substr(4);}else
toBeRemoved.push(items[i]);}
for(var i in toBeRemoved)
channel.removeChild(toBeRemoved[i]);}},addVBSource:function(forumRoot_,params_,name_){this.addSource(forumRoot_+'external.php?type=RSS2',params_,name_);},getItemSource:function(item_){var channelLink=this.getChannelLink(item_.parent);}});AG.Net.HttpLink=AG.AGObject.extend({constructor:function(serverUrl_){this.linkID=0;this.url=serverUrl_;this.response=null;this.update=true;this.updateInterval=15;this.status='';this.__XHR=this.__getXHR();this.__updateTimer=null;this.__callback=null;this.__rfcQueue=[];},__getXHR:function(){try{return new XMLHttpRequest();}catch(e){try{return new ActiveXObject('Msxml2.XMLHTTP');}catch(e){try{return new ActiveXObject('Microsoft.XMLHTTP');}catch(e){}}}
return null;},__queueRFC:function(functionName_,args_,callback_,immediate_){var rfc=this.__buildRFCxml(functionName_,args_);var queueItem={rfc:rfc,callback:callback_};var n=0;if(immediate_)
n=this.__rfcQueue.unshift(queueItem);else
n=this.__rfcQueue.push(queueItem);if(n==1)
this.__callNextQueuedRFC();},__buildRFCxml:function(functionName_,args_){var xml=document.createDocumentFragment();var req=document.createElement('request');req.setAttribute('linkID',this.linkID);var fn=document.createElement('function');fn.setAttribute('name',functionName_);var argList=document.createElement('arguments');for(var arg in args_)
argList.setAttribute(arg,args_[arg]);fn.appendChild(argList);req.appendChild(fn);xml.appendChild(req);return xml;},__callNextQueuedRFC:function(){var rfc=this.__rfcQueue.shift();if(callback)
this.__pendingCallback=callback;this.__sendRequest(rfc);},__sendRequest:function(data_){if(this.__updateTimer)
clearTimeout(this.__updateTimer);this.__XHR.onreadystatechange=this.__onReadyStateChange;this.__XHR.open('POST',this.url,true);this.__XHR.setRequestHeader('Content-Type','application/xml');this.__XHR.send(data_);},__onReadyStateChange:function(){var r=this.__XHR;if(r.readyState==4){if(r.status==200){this.__onReceiveResponse(r.responseXML);}else{alert('XHR Error: '+r.statusText);}}},__onReceiveResponse:function(response_){var functionsArrayNode=response_.getElementsByTagName('functions');if(functionsArrayNode){var functionSet=functionsArrayNode.getElementsByTagName('function');for(var i=0;i<functionSet.length;i++)
this.__remoteFunctionHandler(functionSet[i]);}
if(this.__rfcQueue.length){callNextQueuedRFC();}else{if(this.update){this.__startUpdates();}}},__remoteFunctionHandler:function(xmlFunctionNode_){var node=xmlFunctionNode_;try{var f=node.getAttribute('name');var args;var argList=node.getElementsByTagName('arguments')[0].attributes;if(argList.length){args=[];for(i=0;i<argList.length;i++)
args.push(argList[i].value);}}catch(e){}
var localName='server_'+f;if(this[localName])
this[localName].apply(this,args);},__startUpdates:function(){this.__updateTimer=setTimeout(this.requestUpdate,this.updateInterval);this.update=true;},__stopUpdates:function(){this.update=false;if(this.__updateTimer)
clearTimeout(this.__updateTimer);},__abort:function(){var s=this.__XHR.readyState;if(s>0&&s<4)
this.__XHR.abort();},server_Connect:function(linkID_,initialUpdateInterval_){this.linkID=linkID_;this.updateInterval=initialUpdateInterval_;this.connected=true;this.onConnected();this.__startUpdates();},server_Update:function(data_){this.onUpdate(data_);},server_Disconnect:function(linkID_){if(linkID_==this.linkID){this.connected=false;}
this.onDisconnected();},server_SetUpdateInterval:function(value_){this.updateInterval=value_;},connect:function(serverUrl_){if(serverUrl_)
this.url=serverUrl_;this.__queueRFC('connect',{},null,true);this.status='connecting';},disconnect:function(){this.__queueRFC('disconnect',{},null,true);this.__stopUpdates();this.status='disconnecting';},requestUpdate:function(){this.__queueRFC('update');},callOnServer:function(functionName_,args_,callback_,immediate_){this.__queueRFC(functionName_,args_,callback_,immediate_);},onConnected:function(){},onDisconnected:function(){},onUpdate:function(data_){}});response={objects:{messages:[{time:'awhileback',from:'user1',text:'Hello how is everyone'},{time:'earlier',from:'user2',text:'Fine thanks and you?'},{time:'before',from:'user1',text:'Doing great, thanks'}]},functions:{update:{arguments:{data:{}}}}}
AG.Config.User=AG.AGObject.extend({constructor:function(){this.username='Guest';this.displayBackgroundEffects='Full';this.displayEmbeddedVideo='Embedded - Collapsed';},loadFromServer:function(){}});AG.Modules.FrameCounter=AG.AGObject.extend({constructor:function(parentElement_){this.element=this._renderDOM(parentElement_);this.intervalID=null;this.fps=0;this.avgfps=0;this.ticks=0;this.lastTickTime=new Date().getTime();this.averageSamplePeriod=1;},_renderDOM:function(parent_){if(parent_==undefined)
return null;var div=document.createElement('div');div.setAttribute('class','fps');var s=div.style;s.position='fixed';s.zIndex='9999';s.right='0';s.padding='8px';s.fontFamily='Consolas, "Courier New", Courier, monospace';s.color='#fff';s.textAlign='right';parent_.appendChild(div);return div;},_start:function(cap_){if(cap_==undefined||cap_<0)
cap_=100;else if(cap_>1000)
cap_=1000;var self=this;this.intervalID=setInterval(function(){self._tick.apply(self);},1000/cap_);},_stop:function(){clearInterval(this.intervalID);},_tick:function(){var now=new Date().getTime();var d=(now-this.lastTickTime)/1000;this.onTick(d);this.lastTickTime=now;this.fps=1/d;this.avgfps=(this.avgfps*this.ticks+this.fps)/(this.ticks+1);if(this.ticks<this.averageSamplePeriod*this.avgfps||this.ticks==0)
this.ticks++;},show:function(){this._start(100);this.element.style.display='block';},hide:function(){this.element.style.display='none';this._stop();},onTick:function(){var fpsColor,avgColor,getColor=function(f){if(f<10)
return'#f00';else if(f<20)
return'#ff0';else
return'#0f0';};this.element.innerHTML='<span style="color: '+getColor(this.fps)+';">'+this.fps.toString().substr(0,4)+'&nbsp;fps</span><br/><span style="color: '+getColor(this.avgfps)+';">'+this.avgfps.toString().substr(0,4)+'&nbsp;avg</span>';}});AG.Modules.Teamspeak=AG.AGObject.extend({constructor:function(){this.serverInfo=this.getServerInfo();this.defaultAddress=this.serverInfo.ip+':'+this.serverInfo.port;this.defaultPassword=this.serverInfo.password;this.proxyAddress='/transport.php?url='+escape('http://208.100.56.174/tsquery/tsquery.php');this.defaultRefreshInterval=10000;this.failureCount=0;this.refreshInterval=this.defaultRefreshInterval;this.viewerData=null;AG.Data.clan.load({success:this.onReceiveClanData,failure:this.onFailClanData,scope:this});this.timeoutID=null;this.tree=null;this.container=document.getElementById('teamspeak');this.loginContainer=document.getElementById('ts_login');this.form=document.teamspeakLoginForm;this.treeContainer=document.getElementById('ts_viewer');this.iframe=document.getElementById('ts_iframe');this.initForm();},getServerInfo:function(){return{ip:'208.100.56.174',port:'8767',queryPort:'51234',password:'clanASS1'};},onReceiveClanData:function(){this.compareViewerData(this.viewerData);},onFailClanData:function(){},getProxyURL:function(){return this.proxyAddress+'&method=get'+'&timestamp='+new Date().getTime()+'&ip='+escape(this.serverInfo.ip)+'&port='+this.serverInfo.port+'&queryport='+this.serverInfo.queryPort;},buildForm:function(){},initForm:function(){if(!this.form&&!(this.form.nickname&&this.form.username&&this.form.password)){throw('Form elements missing.');return null;}
var nick='',user='',pass='',cookies=document.cookie.split(';');for(var i=0;i<cookies.length;i++){var cookie=cookies[i];if(cookie.charAt(0)==' ')
cookie=cookie.substr(1);if(cookie.indexOf('teamspeakInfo=')==0){var info=cookie.substr(14);var infoArray=info.split(':');nick=unescape(infoArray[0]);user=unescape(infoArray[1]);pass=unescape(infoArray[2]);break;}}
if(!nick&&USERNAME)
nick=this.validateNickname(USERNAME);this.form.nickname.value=nick;this.form.username.value=user;this.form.password.value=pass;this.validateForm();},clearForm:function(){this.form.nickname.value='';this.form.username.value='';this.form.password.value='';},inputOnFocus:function(elem_){elem_.style.borderColor='#D0A700';elem_.style.backgroundImage='url(\'/styles/clan/images/backgrounds/bg_black_op20.png\')';},inputOnBlur:function(elem_){elem_.style.borderColor='#403B34';elem_.style.backgroundImage='url(\'/styles/clan/images/backgrounds/bg_807667_op20.png\')';},clearSavedFormData:function(){var expDate=new Date();expDate.setTime(expDate.getTime()-1);document.cookie='teamspeakInfo=null; expires='+expDate.toGMTString()+'; path=/';},saveFormData:function(){var login=this.validateForm();var expDate=new Date();expDate.setTime(expDate.getTime()+30*86400000);document.cookie='teamspeakInfo='+escape(login.nick)+':'+escape(login.user)+':'+escape(login.pass)+'; expires='+expDate.toGMTString()+'; path=/';},login:function(address_,serverPassword_,nickname_,loginName_,password_,channel_,channelPassword_,subchannel_){if(!address_)
address_=this.defaultAddress;if(!nickname_){alert('Please enter a nickname to display your identity in the Teamspeak server.');this.form.nickname.focus();return null;}
if(!(loginName_&&password_)){if(!serverPassword_)
serverPassword_=this.defaultPassword;loginName_='';password_='';}else
serverPassword_='';var url='teamspeak://'+address_;if(nickname_)
url+='?nickname='+escape(nickname_);if(loginName_&&password_)
url+='?loginname='+escape(loginName_)+'?password='+escape(password_);else
url+='?password='+escape(serverPassword_);if(channel_){url+='?channel='+escape(channel_);if(channelPassword_)
url+='?channelpassword='+escape(channelPassword_);if(subchannel_)
url+='?subchannel='+escape(subchannel_);}
this.execCommand(url);this.queueNextRequest(2000);},validateNickname:function(nick_){if(nick_!=''){nick_=nick_.replace('(A.S.S)','A.S.S-');nick_=nick_.replace(/[\(\)\[\]\{\}]/,'-');}
return nick_;},validateForm:function(){var nick=this.form.nickname.value;var user=this.form.username.value;var pass=this.form.password.value;nick=this.validateNickname(nick);this.form.nickname.value=nick;this.form.username.value=user;this.form.password.value=pass;return{nick:nick,user:user,pass:pass};},execCommand:function(url_){this.iframe.src=url_;},onLogin:function(){var login=this.validateForm();this.login(this.defaultAddress,this.defaultPassword,login.nick,login.user,login.pass);},onSave:function(){this.saveFormData();},onClear:function(){this.clearSavedFormData();this.clearForm();},onChannelClick:function(id_){var login=this.validateForm();this.saveFormData();var xpathExpr='//channel[@id='+id_+'] | //subchannel[@id='+id_+']',xpathResult,elem;if(YAHOO.env.ua.ie){elem=this.viewerData.selectSingleNode(xpathExpr);}else{xpathResult=this.viewerData.evaluate(xpathExpr,this.viewerData,null,XPathResult.ANY_UNORDERED_NODE_TYPE,null);elem=xpathResult.singleNodeValue;}
if(!elem)
return null;var serverAddress='';var channelName='';var channelPassword='';var subchannelName='';var subchannelNode,channelNode,serverNode;if(elem.tagName=='subchannel'){subchannelNode=elem;channelNode=elem.parentNode;}else
channelNode=elem;serverNode=channelNode.parentNode;serverAddress=serverNode.getAttribute('address');channelName=channelNode.getAttribute('name');if(subchannelNode)
subchannelName=subchannelNode.getAttribute('name');var channelFlags=parseInt(channelNode.getAttribute('flags'));if(!isNaN(channelFlags)&&(channelFlags&4)){channelPassword=prompt('This channel requires a password to join:');if(!channelPassword)
return null;}
this.login(serverAddress,this.defaultPassword,login.nick,login.user,login.pass,channelName,channelPassword,subchannelName);},sendRequest:function(url_,vars_){var callback={success:this.onReceive,failure:this.onFail,timeout:this.defaultRequestTimeout,scope:this,cache:false};YAHOO.util.Connect.asyncRequest('GET',url_,callback,vars_);},onReceive:function(response_){var xml=response_.responseXML;if(xml){this.failureCount=0;this.refreshInterval=this.defaultRefreshInterval;this.updateViewerData(xml);this.viewerData=xml;}
this.queueNextRequest();},onFail:function(){this.failureCount++;if(this.failureCount==6){this.failureCount=0;this.refreshInterval*=6;}
this.queueNextRequest();},compareViewerData:function(xml_){this.tree=this.buildTree(xml_,this.treeContainer);if(this.tree)
this.tree.draw();},updateViewerData:function(xml_){if(false&&this.tree){this.updateXMLNode(this.viewerData,xml_,true);}else{this.tree=this.buildTree(xml_,this.treeContainer);if(this.tree)
this.tree.draw();}},getTreeNodeFromXML:function(xmlNode_){if(this.tree)
return this.tree.getNodeByProperty('xml',xmlNode_);return null;},queueNextRequest:function(delay_){if(delay_===undefined)
delay_=this.refreshInterval;var self=this;this.timeoutID=setTimeout(function(){self.refreshViewer.apply(self);},delay_);},refreshViewer:function(){if(this.timeoutID){clearTimeout(this.timeoutID);this.timeoutID=null;}
this.sendRequest(this.getProxyURL(),null);},buildTree:function(xml_,elem_){if(!xml_)
return null;var xmlRoot=xml_.getElementsByTagName('teamspeak')
if(!xmlRoot||!xmlRoot.length)
return null;var xmlRoot=xmlRoot[0];var tree=new YAHOO.widget.TreeView(elem_);if(!YAHOO.env.ua.ie){tree.setExpandAnim(YAHOO.widget.TVAnim.FADE_IN);tree.setCollapseAnim(YAHOO.widget.TVAnim.FADE_OUT);}
this.buildTreeNode(xmlRoot,tree,tree.getRoot());return tree;},buildTreeNode:function(xmlNode_,tree_,treeNodeParent_){for(var i=0;i<xmlNode_.childNodes.length;i++){var xn=xmlNode_.childNodes[i];if(xn.nodeType!=1)
continue;var tn=this.getTreeNodeFromXML(xn);var expanded=(xn&&xn.hasChildNodes()&&(true||xn.tagName=='server'||xn.getElementsByTagName('player').length>0)&&(!tn||tn.expanded));if(xn.tagName=='server'){var html=this.writeServerHTML(xn,expanded);tn=new YAHOO.widget.HTMLNode({html:html,xml:xn,expanded:expanded,hasIcon:true},treeNodeParent_,expanded,true);if(xn.getAttribute('status')=='offline')
tn.contentStyle='label icon-offline';else
tn.contentStyle='label icon-online';}else if(xn.tagName=='channel'||xn.tagName=='subchannel'){var html=this.writeChannelHTML(xn,expanded);tn=new YAHOO.widget.HTMLNode({html:html,xml:xn,expanded:expanded,hasIcon:true},treeNodeParent_,expanded,true);if(this.countPlayers(xn))
tn.contentStyle='label icon-channel-active';else
tn.contentStyle='label icon-channel-empty';}else if(xn.tagName=='player'){var html=this.writePlayerHTML(xn);tn=new YAHOO.widget.HTMLNode({html:html,xml:xn,expanded:true,hasIcon:true},treeNodeParent_,true,true);tn.contentStyle='label icon-'+this.getPlayerIconStyle(xn.getAttribute('attribute'),xn.getAttribute('idletime'),xn.getAttribute('totaltime'));}
if(tn)
xn.setAttribute('treeNodeIndex',tn.index);if(xn.hasChildNodes())
this.buildTreeNode(xn,tree_,tn);}},updateXMLNode:function(node_,sourceNode_,recurse_){if(node_&&node_.attributes){for(var i=0;i<node_.attributes.length;i++){var a=node_.attributes[i],name=a.name,value=sourceNode_.getAttribute(name);if(value&&value!=a.value)
node_.setAttribute(name,value);}}
if(recurse_){for(var i=0;i<sourceNode_.childNodes.length;i++){var sourceChild=sourceNode_.childNodes[i];if(sourceChild.nodeType!=1)
continue;var child=this.matchXMLNode(sourceChild,node_);if(child){if(node_!=child.parentNode)
node_.appendChild(child);}}}
var tn=this.getTreeNodeFromXML(node_);if(tn)
this.updateTreeNode(tn);},matchXMLNode:function(queryNode_,xml_){var xpath='',tag=queryNode_.tagName,name=queryNode_.getAttribute('name');if(tag=='server'){var address=queryNode_.getAttribute('address');xpath='//'+tag+'[@name="'+name+'" and @address="'+address+'"]';}else{var id=queryNode_.getAttribute('id');xpath='//'+tag+'[@name="'+name+'" and @id="'+id+'"]';}
return xml_.selectSingleNode(xpath);},updateTreeNode:function(node_){var xn=node_.xml;if(xn.tagName=='server')
node_.setHtml(this.writeServerHTML(xn,node_.expanded));else if(xn.tagName=='channel'||xn.tagname=='subchannel')
node_.setHtml(this.writeChannelHTML(xn,node_.expanded));else if(xn.tagName=='player')
node_.setHtml(this.writePlayerHTML(xn));},writeServerHTML:function(xmlNode_,treeNodeExpanded_){var xn=xmlNode_,html='<strong>'+xn.getAttribute('name')+'</strong>';html=html.replace(/ /g,'&nbsp;');if(treeNodeExpanded_){var n=this.countPlayers(xn);if(n)
html+='&nbsp;<span class="player_count">('+n+')</span>';}
return html;},writeChannelHTML:function(xmlNode_,treeNodeExpanded_){var xn=xmlNode_,isSub=(xn.tagName=='subchannel'),html=xn.getAttribute('name'),id=xn.getAttribute('id'),n=0;html=html.replace(/ /g,'&nbsp;');if(!isSub&&id)
html='<a href="#" onclick="document.teamspeak.onChannelClick('+id+');">'+html+'</a>';n=this.countPlayers(xn);if(treeNodeExpanded_&&n>0)
html+='&nbsp;<span class="player_count">('+n+')</span>&nbsp;';else
html+='&nbsp;&nbsp;&nbsp;&nbsp;';if(!isSub){var tags=this.getChannelTags(xn.getAttribute('flags'));if(tags)
html+='('+tags+')';}
return html;},writePlayerHTML:function(xmlNode_){var xn=xmlNode_,html=xn.getAttribute('name');var tags=this.getPlayerTags(xn.getAttribute('status'),xn.getAttribute('privileges'));if(tags)
html+='  ('+tags+')';html=html.replace(/ /g,'&nbsp;');var loginName=xn.getAttribute('loginname');if(loginName&&AG.Data.clan.loaded){var member=AG.Data.clan.getMemberByTeamspeakLogin(loginName);if(!member)
member=AG.Data.clan.getMemberByName(loginName);if(member){var id=AG.Data.clan.getMemberId(member);if(id)
html='<a href="member.php?u='+id+'" target="_blank">'+html+'</a>';}}
return html;},countPlayers:function(contextNode_){var n=0;if(YAHOO.env.ua.ie){var nodeList=contextNode_.selectNodes('.//player');n=nodeList.length;}else{var xpathResult=contextNode_.ownerDocument.evaluate('count(.//player)',contextNode_,null,XPathResult.NUMBER_TYPE,null);n=xpathResult.numberValue;}
return n;},getChannelTags:function(f_){var f=parseInt(f_);if(isNaN(f))f=0;var t='';if(f&1)t='U';else t='R';if(f&2)t+='M';if(f&4)t+='P';if(f&8)t+='S';if(f&16)t+='D';return t;},getPlayerTags:function(s_,p_){var s=parseInt(s_);if(isNaN(s))s=0;var p=parseInt(p_);if(isNaN(p))p=0;var t='';if(s&4)t='R';else t='U';if(s&1)t+=' SA';if(p&1)t+=' CA';if(p&8)t+=' AO';if(p&16)t+=' AV';if(p&2)t+=' O';if(p&4)t+=' V';if(p&64)t+=' Rec';return t;},getPlayerIconStyle:function(a_,i_,t_){var a=parseInt(a_),i=parseInt(i_),t=parseInt(t_),isTalking=(!isNaN(i)&&1000*i<this.refreshInterval&&(isNaN(t)||i<t));if(a){if(a&8)return'away';if(a&32)return'soundmuted';if(a&16)return'micmuted';if(a&1)return(isTalking?'commander-talking':'commander');}
return(isTalking?'user-talking':'user');},eventPlayerMoved:function(player_,newLocation_,oldLocation){},eventPlayerJoined:function(player_,location_){},eventPlayerLeft:function(player_){},eventPlayerChanged:function(player_,data_){},eventChannelChanged:function(channel_,data_){},eventChannelAdded:function(channel_,data_){},eventChannelRemoved:function(channel_){}});AG.Themes.ThemeBase=AG.AGObject.extend({constructor:function(){this.name='default';}});AG.Themes.Lamina.BackgroundImageCycler=AG.Utilities.ImageCycler.extend({constructor:function(theme_){this.base(theme_);this.images.groups=this.__fillImageGroups();this.layers=[{elements:[document.getElementsByTagName('body')[0],document.getElementById('header_tiling'),document.getElementById('header_image')]},{elements:[document.getElementById('body_bg2'),document.getElementById('header_tiling2'),document.getElementById('header_image2')]}];this._historyCookieKey='laminaBackgroundHistory';for(var i in this.layers){var L=this.layers[i];L.elements[0].imagePathSuffix='_btile.gif';L.elements[1].imagePathSuffix='_rtile.gif';L.elements[2].imagePathSuffix='.jpg';}},__fillImageGroups:function(){var path='styles/lamina/images/bg';var g={ut3:[],cod4:[]};var fill=function(name_,n_){for(var i=1;i<=n_;i++)
g[name_].push(path+'/'+name_+'_'+i);}
fill('ut3',8);fill('cod4',5);return g;},_applyToLayer:function(layerIndex_,imagePath_){var L=this.layers[layerIndex_];for(var i in L.elements)
L.elements[i].style.backgroundImage=imagePath_+L.elements[i].imagePathSuffix;},_selectRandomGroup:function(){var g,r=Math.random();if(r<0.4)
g='cod4';else
g='ut3';return this.images.groups[g];}});AG.Themes.Lamina.FocusImageCycler=AG.Utilities.ImageCycler.extend({constructor:function(theme_){this.base(theme_);this.fadeDuration=2;this.cycleInterval=12;this.cycleMax=15;this.images.groups={ut3:['styles/lamina/images/focus/ut3_1.png','styles/lamina/images/focus/ut3_2.png','styles/lamina/images/focus/ut3_3.png','styles/lamina/images/focus/ut3_4.png','styles/lamina/images/focus/ut3_5.png','styles/lamina/images/focus/ut3_6.png','styles/lamina/images/focus/ut3_7.png','styles/lamina/images/focus/ut3_8.png','styles/lamina/images/focus/ut3_9.png','styles/lamina/images/focus/ut3_10.png'],cod4:['styles/lamina/images/focus/cod4_1.png','styles/lamina/images/focus/cod4_2.png','styles/lamina/images/focus/cod4_3.png','styles/lamina/images/focus/cod4_4.png']};this.layers=[{elements:[document.getElementById('focus1')]},{elements:[document.getElementById('focus2')]}];this._historyCookieKey='laminaFocusHistory';}});AG.Themes.Lamina.LaminaTheme=AG.Themes.ThemeBase.extend({constructor:function(){this.bgImageCycler=new AG.Themes.Lamina.BackgroundImageCycler(this);this.focusImageCycler=new AG.Themes.Lamina.FocusImageCycler(this);this.focusImageCycler.images.selectedGroup=this.bgImageCycler.getSelectedGroup();},start:function(){var self=this;this.bgImageCycler.onCompleted=this.startFocusImageCycler;this.bgImageCycler.startFade();},startFocusImageCycler:function(){this.focusImageCycler.setTimeout('startFade',2000);}});AG.UI.DataRenderer=AG.UIObject.extend({constructor:function(){this.elementsRegistered=[];this.data=null;},getElement:function(info_){},registerElement:function(info_,elem_){var e=(elem_)?elem_:this.getElement(info_);if(e){this.elementsRegistered.push({info:info_,element:e});if(this.data.loaded)
this.draw(info_,e);else{var callback={success:this.drawRegisteredElements,failure:this.onFail,scope:this};this.data.load(callback);}
return e;}
return null;},drawRegisteredElements:function(){if(this.data.loaded)
for(var i in this.elementsRegistered){var r=this.elementsRegistered[i];this.draw(r.info,r.element);}},onFail:function(){},draw:function(info_,elem_){}});AG.UI.MemberInfo=AG.UI.DataRenderer.extend({constructor:function(){this.base();this.data=AG.Data.clan;this.container=null;this.rank=null;this.status=null;this.teams=null;this.offices=null;},draw:function(info_,elem_){if(!this.data.loaded)
return;var user=info_.userID;this.container=this.newDiv({className:'ag_member_info'});this.rank=this.drawRank(user);if(this.rank)
this.container.appendChild(this.rank);this.status=this.drawStatus(user);if(this.status)
this.container.appendChild(this.status);this.teams=this.drawTeamIcons(user);if(this.teams)
this.container.appendChild(this.teams);this.offices=this.drawOffices(user);if(this.offices)
this.container.appendChild(this.offices);elem_.appendChild(this.container);},drawRank:function(userID_){var rank=parseInt(this.data.getMemberRank(userID_));if(isNaN(rank))
return null;var container=this.newDiv({className:'ag_mi_rank'}),height=16;var stars=this.drawStars(userID_,rank);if(stars){container.appendChild(stars);height+=stars.height;}
var title=this.drawTitle(userID_,container);if(title){container.appendChild(title);height+=title.height;}
var bg=this.drawRankBackground(rank,height);if(bg)
container.appendChild(bg);container.style.height=height+'px';return container;},drawRankBackground:function(rank_,height_){var container=this.newDiv({className:'ag_mi_r_bg'}),top=this.newDiv({className:'ag_mi_r_bg_top'}),bottom=this.newDiv({className:'ag_mi_r_bg_bottom'});container.style.height=height_+'px';container.appendChild(top);var middleHeight=Math.max(0,height_-48);if(middleHeight){var middle=this.newDiv({className:'ag_mi_r_bg_middle'});middle.style.height=middleHeight+'px';container.appendChild(middle);}
container.appendChild(bottom);return container;},drawStars:function(userID_,rank_){var container=this.newDiv({className:'ag_mi_r_stars'});if(rank_<=10){var n=rank_/2,fullStars=Math.floor(n),halfStars=(n-fullStars>0?1:0),offsetX=21;for(var i=0;i<fullStars;i++){var star=this.newDiv({className:'ag_mi_r_s_fullstar'});star.style.right=(i*offsetX)+'px';container.appendChild(star);}
if(halfStars){var star=this.newDiv({className:'ag_mi_r_s_halfstar'});star.style.right=(fullStars*offsetX)+'px';container.appendChild(star);}
container.height=21;}else if(rank_==11){var star=this.newDiv({className:'ag_mi_r_s_rank11'});container.appendChild(star);container.style.height='51px';container.height=51;}
return container;},getStarsHTML:function(userID_,rank_){var n=rank_/2,fullStars=Math.floor(n),halfStars=(n-fullStars>0?1:0),s='',loc='/styles/clan/images/';if(rank_<=10){if(halfStars)
s+='<img src="'+loc+'star_half.png"/>';for(var i=0;i<fullStars;i++)
s+='<img src="'+loc+'star_full.png"/>';}else if(rank_==11)
s+='<img src="'+loc+'rank_insignia_11.png"/>';return s;},drawTitle:function(userID_,parent_){var rank=this.data.getMemberRank(userID_),title=this.data.getMemberTitle(userID_),teams=this.data.getMemberTeams(userID_),container=this.newDiv({className:'ag_mi_r_title'}),text=this.newDiv({className:'ag_mi_r_t_text'});if(rank==11)
container.style.top='61px';container.height=11;text.style.backgroundPosition='0 '+(-(11-rank)*11)+'px';if(teams&&teams.length>1&&rank<9&&rank>3){var team=this.data.getMemberPrimaryTeam(userID_),v=this.data.getTeamIndex(team),s='';if(title){var teamName=this.data.getTeamName(team);if(teamName){s=teamName+(rank<7?' Team ':' ')+title;text.setAttribute('title',s);}}
if(v>=0){container.height=16;container.style.height='16px';text.style.top='4px';text.style.right='20px';var icon=document.createElement('div');icon.className='ag_mi_r_t_icon';icon.style.backgroundPosition='0 '+(-16*v)+'px';if(s)
icon.setAttribute('title',s);container.appendChild(icon);}}
container.appendChild(text);return container;},drawStatus:function(userID_){var status=parseInt(this.data.getMemberStatus(userID_));if(!isNaN(status)&&status<5){var container=document.createElement('div');container.className='ag_mi_status';var text=document.createElement('div');text.className='ag_mi_s_text';text.style.backgroundPosition='0 '+(-(4-status)*11)+'px';container.appendChild(text);return container;}
return null;},drawOffices:function(userID_){var offices=this.data.getMemberOffices(userID_);if(!offices)
return null;var container=document.createElement('div');container.className='ag_mi_offices';for(var i=0;i<offices.length;i++){var v=-1;switch(offices[i].office){case'adv':v=1;break;case'rec':v=3;break;case'gad':v=5;break;case'ins':v=7;break;case'coo':v=9;break;case'str':v=11;break;}
if(offices[i].boss)
v--;if(v>=0){var oContainer=document.createElement('div');oContainer.className='ag_mi_o_item';var text=document.createElement('div');text.className='ag_mi_o_item_text';text.style.backgroundPosition='0 '+(-11*v)+'px';var teams=offices[i].teams,teamsValid=0,officeTitle=this.data.getOfficeTitle(offices[i].office);for(var j=teams.length-1;j>=0;j--){var v2=this.data.getTeamIndex(teams[j]);if(v2>=0){var icon=document.createElement('div');icon.className='ag_mi_o_item_icon';icon.style.backgroundPosition='0 '+(-12*v2)+'px';icon.style.right=(2+13*teamsValid)+'px';var teamName=this.data.getTeamName(teams[j]);if(teamName&&officeTitle)
icon.setAttribute('title',teamName+' Team '+officeTitle);oContainer.appendChild(icon);teamsValid++;}}
if(teamsValid){oContainer.style.height='12px';text.style.top='2px';text.style.right=(2+13*teamsValid)+'px';}
oContainer.appendChild(text);container.appendChild(oContainer);}}
return container;},drawTeamIcons:function(userID_){var teams=this.data.getMemberTeams(userID_);if(!(teams&&teams.length))
return null;var container=document.createElement('div');container.className='ag_mi_teams';for(var i=0;i<teams.length;i++){var v=this.data.getTeamIndex(teams[i]),icon=document.createElement('div');icon.className='ag_mi_t_icon';icon.style.backgroundPosition='0 '+(-24*v)+'px';icon.style.right=(28*(teams.length-1-i))+'px';var teamName=this.data.getTeamName(teams[i]);if(teamName)
icon.setAttribute('title',teamName+' Team Member');container.appendChild(icon);}
return container;}});AG.UI.PostbitMemberInfo=AG.UI.MemberInfo.extend({constructor:function(){this.base();},getElement:function(info_){if(info_.postID)
return document.getElementById('ag_postmemberinfo_'+info_.postID);return null;},onFail:function(){throw('AG.UI.postbitMemberInfo::onFail');}});AG.UI.ProfileMemberInfo=AG.UI.MemberInfo.extend({constructor:function(){this.base();},getElement:function(info_){if(info_.userID)
return document.getElementById('ag_memberinfo_'+info_.userID);return null;},onFail:function(){throw('AG.UI.profileMemberInfo::onFail');}});AG.UI.MemberListPopup=AG.UI.DataRenderer.extend({constructor:function(){this.base();this.data=AG.Data.clan;},registerElement:function(info_,elem_){this.base(info_,elem_);return false;},draw:function(info_,elem_){if(!this.data.loaded||!info_||!info_.query)
return;var members=this.data.selectNodes('.//clan/members/member['+info_.query+']');var s='';for(var i=0;i<members.length;i++)
s+=members[i].getAttribute('name')+'\n';alert(s);},openPopup:function(popupElement_){popupElement_.style.display='block';},closePopup:function(popupElement_){popupElement_.style.display='none';}});AG.UI.PostbitLeftPanel=AG.UI.DataRenderer.extend({constructor:function(){this.base();this.data=AG.Data.clan;},getElement:function(info_){if(info_.postID)
return document.getElementById('ag_postbit_left_'+info_.postID);return null;},registerElement:function(info_){var e=this.base(info_);if(e)
AG.UI.postbitMemberInfo.registerElement(info_);return e;},onFail:function(){throw('AG.UI.postbitLeftPanel::onFail');},draw:function(info_,elem_){var rank=this.data.getMemberRank(info_.userID);if(rank>0)
elem_.style.background='url(\'/styles/clan/images/backgrounds/bg_member_info.png\') no-repeat';}});AG.UI.RSS.EpicForums=AG.UI.DataRenderer.extend({constructor:function(forumIdList_){this.data=new AG.Data.RSS.EpicForums({forumids:forumIdList_});},draw:function(info_,elem_){var self=this;var css=function(c){return self.cssClassFamily+(c==undefined?'':'_'+c);};for(var i=0;i<this.data.getItemCount;i++){var fetch=function(p){return self.data.getItemProperty(i,p);};}}},{__instances:[],getInstance:function(forumIdList_){var instance=AG.UI.RSS.EpicForums.__instances[forumIdList_];if(instance==undefined){instance=new AG.UI.RSS.EpicForums(forumIdList_);AG.UI.RSS.EpicForums.__instances[forumIdList_]=instance;}
return instance;}});AG.UI.RSS.GiveawayOfTheDay=AG.UI.DataRenderer.extend({constructor:function(){this.base();this.data=new AG.Data.RSS.GiveawayOfTheDay();this.cssClassFamily='ag_rss_gaotd';},getElement:function(info_){return document.getElementById(this.cssClassFamily);},draw:function(info_,elem_){var self=this;var fetch=function(p){return self.data.getItemProperty(p);};var css=function(c){return self.cssClassFamily+(c==undefined?'':'_'+c);};var container=this.newDiv({className:css()});var title=this.newDiv({className:css('title')}),titleLink=this.newEl('a',{target:'_blank',href:fetch('url')});titleLink.innerHTML=fetch('title');title.appendChild(titleLink);container.appendChild(title);var publisher=this.newDiv({className:css('publisher')}),publisherLink=this.newEl('a',{target:'_blank',href:fetch('homepage')});publisherLink.innerHTML=fetch('publisher');publisher.appendChild(publisherLink);container.appendChild(publisher);var screenshot=this.newEl('a',{className:css('screenshot'),target:'_blank',href:fetch('url')}),image=this.newEl('img',{src:fetch('screenshot'),alt:fetch('title')});screenshot.appendChild(image);container.appendChild(screenshot);var text=this.newDiv({className:css('body')});text.innerHTML=fetch('content');container.appendChild(text);var footer=this.newDiv({className:css('footer')});var more=this.newDiv({className:css('f_more')}),moreLink=this.newEl('a',{target:'_blank',href:fetch('url')}),moreLinkText=this.newEl('span'),moreLinkArrow=this.newEl('img',{src:'/styles/clan/images/buttons/lastpost.png'});moreLinkText.innerHTML='More info ';moreLink.appendChild(moreLinkText);moreLink.appendChild(moreLinkArrow);more.appendChild(moreLink);footer.appendChild(more);var download=this.newDiv({className:css('f_download')});var price=this.newEl('span',{className:css('f_d_price')});price.innerHTML='Price: '+fetch('price');download.appendChild(price);var downloadLink=this.newEl('a',{className:css('f_d_link'),href:fetch('download_link')});downloadLink.innerHTML="Download full version FREE";download.appendChild(downloadLink);var size=this.newEl('span',{className:css('f_d_size')});size.innerHTML=fetch('size');download.appendChild(size);footer.appendChild(download);var sysreq=this.newDiv({className:css('f_sysreq')});sysreq.innerHTML='System Requirements: '+fetch('sys_req');footer.appendChild(sysreq);container.appendChild(footer);elem_.appendChild(container);}});AG.UI.RSS.RSS2Aggregator=AG.UI.DataRenderer.extend({constructor:function(forumIdList_){this.data=new AG.Data.RSS.RSS2Base();},draw:function(info_,elem_){var self=this;var css=function(c){return self.cssClassFamily+(c==undefined?'':'_'+c);};for(var i=0;i<this.data.getItemCount();i++){var fetch=function(p){return self.data.getItemProperty(i,p);};}}},{__instances:[],getInstance:function(forumIdList_){var instance=AG.UI.RSS.EpicForums.__instances[forumIdList_];if(instance==undefined){instance=new AG.UI.RSS.EpicForums(forumIdList_);AG.UI.RSS.EpicForums.__instances[forumIdList_]=instance;}
return instance;}});AG.UI.RSS.UT3ContentForums=AG.UI.DataRenderer.extend({constructor:function(){this.base();this.data=new AG.Data.RSS.UT3ContentForums();this.cssClassFamily='ag_rss_ut3cf';this.throbber=null;this.throbberFrame=0;this.throbberLastFrameDraw=0;},registerElement:function(info_,elem_){this.drawLoading(info_,elem_);this.base(info_,elem_);},drawLoading:function(info_,elem_){this.throbber=this.newDiv({className:this.cssClassFamily+'_throbber'});elem_.appendChild(this.throbber);var now=this.now(),delta=now-this.throbberLastFrameDraw;this.throbberInterval=this.setInterval('drawThrobberFrame',83.33,[delta]);},drawThrobberFrame:function(delta_){this.throbber.style.backgroundPosition=(-64*(this.throbberFrame++%24))+'px -64px';this.throbberLastFrameDraw=this.now();},draw:function(info_,elem_){this.throbber.style.display='none';clearInterval(this.throbberInterval);var allItems=this.data.selectNodes('.//rss/channel/item');if(allItems.constructor!=Array){var items=[];for(var i=0;i<allItems.length;i++)
items.push(allItems[i]);allItems=items;}
var self=this,data=self.data,css=function(c){return self.cssClassFamily+(c==undefined?'':'_'+c);};var sort={dates:[],indices:[],compare:function(a,b){var aDate=sort.dates[a],bDate=sort.dates[b];return(aDate==bDate?0:(aDate<bDate?1:-1));},execute:function(){this.indices.sort(this.compare);}};for(var i=0;i<allItems.length;i++){sort.dates[i]=new Date(data.getItemProperty(allItems[i],'pubDate'));sort.indices[i]=i;}
sort.execute();var container=this.newDiv({className:css()});for(var i=0;i<allItems.length;i++){var item=allItems[sort.indices[i]];var fetch=function(p,a){return(a===undefined?data.getItemProperty(item,p):data.getItemPropertyAttribute(item,p,a));};var itemContainer=this.newDiv({className:css('item')});var header=this.newDiv({className:css('i_header')});var sourceIcon=this.newDiv({className:css('i_h_icon')});var channelTitle=data.getChannelTitle(item.parentNode);var channelLink=data.getChannelLink(item.parentNode);var iconLegend=['epicgames.com','beyondunreal.com','unrealplayground.com','titaninternet.co.uk'];for(var j=0;j<iconLegend.length;j++)
if(AG.Web.checkDomain(channelLink,iconLegend[j])){sourceIcon.style.backgroundPosition='0 '+(-16*(j+1))+'px';break;}
sourceIcon.title=channelTitle;header.appendChild(sourceIcon);var sourceForum=this.newDiv({className:css('i_h_forum')});var sourceForumLink=this.newEl('a',{className:css('i_h_f_link'),target:'_blank',href:fetch('category','domain')});sourceForumLink.innerHTML=fetch('category');sourceForum.appendChild(sourceForumLink);header.appendChild(sourceForum);var date=new Date(fetch('pubDate'));var itemDate=this.newDiv({className:css('i_h_date')});itemDate.innerHTML=date.toLocaleString();header.appendChild(itemDate);itemContainer.appendChild(header);var title=this.newDiv({className:css('i_title')});var titleLink=this.newEl('a',{className:css('i_t_link'),target:'_blank',href:fetch('guid')});titleLink.innerHTML=fetch('title');title.appendChild(titleLink);var author=this.newEl('span',{className:css('i_t_author')});author.innerHTML=' &nbsp;&mdash;&nbsp;'+fetch('dc:creator');title.appendChild(author);itemContainer.appendChild(title);var itemBody=this.newDiv({className:css('i_body')});var summary=this.newDiv({className:css('i_b_summary')});summary.innerHTML=fetch('description');itemBody.appendChild(summary);var content=this.newDiv({className:css('i_b_content')});content.cachedHTML=fetch('content:encoded');itemBody.appendChild(content);itemContainer.appendChild(itemBody);var expander=this.newDiv({className:css('i_expander')});var expanderCaption=this.newEl('span',{className:css('i_e_caption')});expanderCaption.innerHTML='expand';expander.appendChild(expanderCaption);var expanderHitArea=this.newDiv({className:css('i_e_hitarea')});expander.appendChild(expanderHitArea);expander.caption=expanderCaption;expander.summary=summary;expander.content=content;expander.contentProcessed=false;expander.contentExpanded=false;onClick=function(e){if(e===undefined)
return;var ha=(YAHOO.env.ua.ie?e.srcElement:e.target),x=ha.parentNode;if(!x.contentProcessed){x.content.innerHTML=x.content.cachedHTML;x.contentMaxWidth=x.parentNode.offsetWidth-8;var images=x.content.getElementsByTagName('img');for(var j=0;j<images.length;j++){if(images[j].width){if(images[j].width>x.contentMaxWidth){try{images[j].width=x.contentMaxWidth;}catch(ex){}}}else{images[j].style.visibility='hidden';images[j].customMaxWidth=x.contentMaxWidth;var onLoad=function(e){try{var img=(YAHOO.env.ua.ie?e.srcElement:e.target);if(img.width>img.customMaxWidth)
img.width=img.customMaxWidth;img.style.visibility='visible';}catch(ex){}};if(YAHOO.env.ua.ie)
images[j].attachEvent('onload',onLoad);else
images[j].onload=onLoad;}}
x.contentProcessed=true;}
x.contentExpanded=!x.contentExpanded;x.className=css('i_expander')+(x.contentExpanded?'_expanded':'');x.caption.innerHTML=(x.contentExpanded?'collapse':'expand');x.summary.style.display=(x.contentExpanded?'none':'block');x.content.style.display=(x.contentExpanded?'block':'none');};if(YAHOO.env.ua.ie)
expanderHitArea.attachEvent('onclick',onClick);else
expanderHitArea.onclick=onClick;itemContainer.appendChild(expander);container.appendChild(itemContainer);}
elem_.appendChild(container);}},{__instance:null,getInstance:function(){var instance=AG.UI.RSS.UT3ContentForums.__instance;if(instance==undefined){instance=new AG.UI.RSS.UT3ContentForums();AG.UI.RSS.EpicForums.__instance=instance;}
return instance;}});AG.Data.clan=new AG.Data.Clan();AG.UI.profileMemberInfo=new AG.UI.ProfileMemberInfo();AG.UI.postbitLeftPanel=new AG.UI.PostbitLeftPanel();AG.UI.postbitMemberInfo=new AG.UI.PostbitMemberInfo();AG.UI.memberListPopup=new AG.UI.MemberListPopup();AG.UI.RSS.giveawayOfTheDay=new AG.UI.RSS.GiveawayOfTheDay();