function addScript(data,cache){  
	//if (site.sid != null) data += '&'+site.sid;
	if (cache == true) {
		var cached = site.cache;
		var d = cached + 'site='+site.game +'&url='+encodeURIComponent(data);
	    var jsn = new Request.JSON({url: d,
		 onComplete: function(response,text) {
		 eval(text);   
		}
	  }).send();
	} else new Asset.javascript(data, {id: 'my_script'});
	//$('latestTweet').set('html',data);
}
	var C = new Class({
	  Implements: Chain,
	  initialize: function(){
		(function() {  }).delay(1000);
		this.chain.apply(this, arguments);
		
	  }
	});
	String.implement({
		tweetify: function() {
			return this.replace(/(https?:\/\/\S+)/gi,'<a href="$1">$1</a>').replace(/(^|\s)@(\w+)/g,'$1<a href="http://twitter.com/$2">@$2</a>').replace(/(^|\s)#(\w+)/g,'$1<a href="http://search.twitter.com/search?q=%23$2">#$2</a>');
		}
	});
	function create_url(mod,data) {
	if (data == '') return site.root + mod + site.ext;
	else {
		var param  = ''
		$H(data).each(function(i,k) {
			i = String.split(i,' ').join('');
			param += site.sep + i;

		});
		return site.root + mod + param + site.ext;
		}
	}
	function topHero(data) {
		if(data==null) alert('error');
		else  { 
			var x = data.CharList;	
			var tr = $('topHeroes');
	
			var h3 = new Element('h3').set('text','Top 5 Heroes').injectInside(tr);
			var url = create_url('rankings');
			var a = new Element('a',{'href':url,'class':'small'}).set('text',' more hero rankings').injectInside(h3);
			var ul = new Element('ul',{'class':'topcont'}).inject(tr);
			var count = 0; var imgTemp = [];
			x.each(function(top) {
			if (top.NAME) {
				var el = new Element('li',{'class':'ranklabel'});
				var img = new Element('img',{'src':site.template+'chars/'+(top.CLASS)+'.png'}).injectInside(el);
				var name = new Element('div',{'class':'cname'}).injectAfter(img);
				var url = create_url('rankings',{0:'character',1:top.MU_ID,2:top.NAME});
				var urli = new Element('a',{'href':url}).set('html',top.NAME).inject(name);
				var job = new Element('div',{'class':'cls'}).set('html',top.CL).injectAfter(name);				
				var level = new Element('div',{'class':'level'}).set('html','L <b>' +top.CLEVEL +'</b> R <b>'+top.RESETS+'</b>').injectAfter(job);
				//imgTemp[count] = new Asset.image(site.location+'GD/?n='+top.name); count++;
			el.addEvent('click',function() {
					window.location.href = url;
				});
			 el.injectInside(ul);
			/* el.addEvents({
				'mouseenter': function() {
					img.fade('out');
					img.set('src',site.location+'GD/?n='+top.name); 
				
					 (function() {  img.fade('in'); } ).delay(500);
					el.getParent().getChildren().removeClass('rankhighlight');
					el.addClass('rankhighlight');
				}
			 });*/
			}
			
			});
			
		}
	}
	function topGuilds(data) {
		if(data==null) alert('error');
		else  { 
			var x = data.GuildList;	
			var tr = $('topGuilds');
	
			var h3 = new Element('h3').set('text','Top 5 Guilds').injectInside(tr);
			var a = new Element('a',{'href':'rankings.html','class':'small'}).set('text',' more guild rankings').injectInside(h3);
			var ul = new Element('ul',{'class':'topcont'}).inject(tr);
			var count = 0; var imgTemp = [];
			//{"GuildList":[{"GMARK":"1111111111e1111111eeeee1111e1111111e1111111e1111111e111111111111","MEMB_COUNT":2,"G_NAME":"Guild1","G_MASTER":"Alex","G_MARK":null,"NUMBER":1},
			x.each(function(top) {
			if (top.G_NAME) {
				var el = new Element('li',{'class':'ranklabel'});
				var img = new Element('img',{'src':site.root+'includes/crest.php?decode='+(top.GMARK)}).injectInside(el);
				var name = new Element('div',{'class':'cname'}).injectAfter(img);
				var url = create_url('rankings',{0:'guilds',1:top.NUMBER,2:top.G_NAME});
				var urli = new Element('a',{'href':url}).set('html',top.G_NAME).inject(name);
				var job = new Element('div',{'class':'cls'}).set('html',top.G_MASTER).injectAfter(name);				
				var level = new Element('div',{'class':'level'}).set('html','Members <b>' +top.MEMB_COUNT +'</b>').injectAfter(job);
				//imgTemp[count] = new Asset.image(site.location+'GD/?n='+top.name); count++;
				
				el.addEvent('click',function() {
					window.location.href  = url;
				});
			 el.injectInside(ul);
			/* el.addEvents({
				'mouseenter': function() {
					img.fade('out');
					img.set('src',site.location+'GD/?n='+top.name); 
				
					 (function() {  img.fade('in'); } ).delay(500);
					el.getParent().getChildren().removeClass('rankhighlight');
					el.addClass('rankhighlight');
				}
			 });*/
			}
			
			
			});
	
			
		}
	}
	function servStats(data) {
		if(data==null) alert('error');
		else  { 
		 var x = data.data;
		 var tr = $('servStats');
		 var h3 = new Element('h3').set('text','Server Statistics').injectInside(tr);
		 var a = new Element('a',{'href':'statistics.html','class':'small'}).set('text',' more statistics').injectInside(h3);
		 var ul = new Element('ul',{'class':'topcont'}).inject(tr);
		 x.each(function(ss) {
				var el = new Element('li',{'class':'sslabel'});
				var name = new Element('div').set('html',ss.value).injectInside(el);
				var job = new Element('label').set('html',ss.label).injectAfter(name);			
			el.injectInside(ul);
		 });
		
		}	
	}
	function twitterCallback(obj){	  
	  var tr = $('latestTweet');
	  var h3 = new Element('h3').set('html','Developer tweets:').injectInside(tr);
	  var div = new Element('div',{'class':'tweet'}).injectAfter(h3);
	  var ul = new Element('ul',{'class':'tweet_list'}).injectInside(div);	
	  for(var i=0 ; i < obj.length ; i++){	
		var ND = new Date();
		var DD = new Date();
		DD.parse(obj[i].created_at);
		if (DD.diff(ND,'day') > 1) var diff = ( DD.diff(ND,'day') ) + ' Days ago'; 
		else var diff = ( DD.diff(ND,'hour') ) + ' Hours ago'; 	
		  var el = new Element('li',{'class':'tweet_first tweet_odd'});
		var aa = new Element('a',{'href':'http://twitter.com/'+ site.tweeter +"/status/" + obj[i].id,'text':diff}).injectInside(el);
		var join = new Element('span',{'class':'tweet_join'}).set('text', ' ').injectAfter(aa);
		var text = new Element('span',{'class':'tweet_text'}).set('html',obj[i].text.tweetify()).injectAfter(join);
		
		el.inject(ul);
	  }

	}
	//tweetify baby

	//servercheck stuff
	function serverCheck(data) {
		var x = data.data, time = data.date, zone = data.zone, total = data.total;
		
		last = new Date().parse(time);
		var now = new Date();
		var minutes = last.diff(now, 'minute');
		//alert(minutes);
		
		var t = $('latestTweet');
		if ($('serverCheck')) var tr = $('serverCheck').empty();
		else var tr = new Element('div',{'id':'serverCheck'}).injectBefore(t);
		
		
		var h1 = new Element('h5').set('html','Game Server Check').inject(tr);
		var total = new Element('div',{'class':'totalonline'}).set('html','<b>'+total+'</b><label>Total Online</label>').inject(tr);
		

		var ul = new Element('ul').inject(tr);
		var h2 = new Element('h4').set('html','Last Check: ' +minutes+' minutes').inject(tr);
		$H(x).each(function(v,k) {
			var li = new Element('li');
			var name = new Element('label').set('html',k).inject(li);
			if (v.status == 'up') var status = 'On' + '<dd>'+v.on+'</dd>';
			else var status = 'Offline';			
			var stat = new Element('b',{'class':v.status}).set('html',status).injectAfter(name);
			
			li.inject(ul);
		
		});
		tr.addEvents({
			'click':function() {
			ul.set('html','Refreshing Data... Please wait a while');
			addScript('widgets.php?callback=servercheck&nocache=1',true);
			},
			'mouseenter': function() {
				h2.set('html','Click on this to Refresh').addClass('expand');
			},
			'mouseleave':function() {
				h2.set('html','Last Check: ' +minutes+' minutes').removeClass('expand');		
			}
		});
	}
	//end servercheck

		var navtail =  function(data) {	$('navtail').set('html',' &gt; <strong>'+data+'</strong>'); }
		
		function castleSiege(data) {
			window.location.reload();
		
		}
window.addEvent('domready', function(){
			

				var notify = new Notimoo();
				// modal box
								
			
					$('fb-modal').setStyles({
						opacity:0,
						display:'block'
					});
					/* hiders */
					$('fb-close').addEvent('click',function(e) { $('fb-modal').fade('out'); });
					window.addEvent('keypress',function(e) { if(e.key == 'esc') { $('fb-modal').fade('out'); } });
					$(document.body).addEvent('click',function(e) { 
						if($('fb-modal').get('opacity') == 1 && !e.target.getParent('.generic_dialog')) { 
							$('fb-modal').fade('out'); 
						} 
					});				
			

				//end modal box
			
				
				/* top menu effects*/
					$$('#topnav_m .menu li').each(function(child) {
							var siblings = child.getParent().getChildren().erase(child);
							child.addEvents({
								mouseenter: function() { siblings.tween('opacity',0.5); this.addClass('active'); },
								mouseleave: function() { siblings.tween('opacity',1); this.removeClass('active'); }
								
							});
						
					});
					
				// end top menu effects
				// dboyz nav parts
					$$('#leftSide ul li').addEvents({
						'mouseenter': function() {
							this.getChildren('div').setStyle('display','block').fade('in');						
						},
						'mouseleave': function(){
							this.getChildren('div').fade('out').setStyle('display','none');							
						}
					
					});
			
				// end dboyz nav parts
				// panels scripts								
				var Cpanel = new Accordion($$('#cpanel_list li'),$$('.get-started-content'),{
					height: true,	
					width: false,
					fixedWidth: 500,
					
					show:0,
					onActive: function(toggler, element) {					
						toggler.tween('background-color', '#111'); 
						var parent = element.getParent().getParent().getParent();
						var delay = 300;
					
						switch(toggler.id) {
							case 'topHero':	 case 'topGuild':			
								parent.tween('width','750px');								
								element.getElements('li').each(function(li, i) {
									li.highlight.delay(i*delay, li);
								});
							break;
							case 'serverInfo':			
								parent.tween('width','540px');
								element.getElements('li').each(function(li, i) {
									li.highlight.delay(i*delay, li);
								});
							break;
							
							default:							
								if (site.login == 1) parent.tween('width','720px');
								else parent.tween('width','320px');
							break;
						
						}
					
					},
					onBackground: function(toggler, element) {
						toggler.setStyle('background-color', 'transparent'); 
					}
					
				});
				
					//end panels scripts
	// chains commands
	var c = new C(
	  function(){ addScript('widgets.php?callback=servercheck',true); },
	  function(){ addScript('widgets.php?callback=servstats&style=json',true); },
	  function(){ addScript('widgets.php?callback=tophero&style=json',true); },
	  function(){ addScript('widgets.php?callback=topguild&style=json',true); },
	 
	  function(){ addScript('http://cdn.wibiya.com/Toolbars/dir_0265/Toolbar_265177/Loader_265177.js'); }
	  
	);
	// end chains
				//startup 				
				c.callChain();
				c.callChain();
				c.callChain();
				c.callChain();c.callChain();
				
				new Countdown( $('countdown') , 
				{	countplus:false, 
					message:'&nbsp;',
					formatDays: '<li>%days%<label>days</label></li>',
					formatHours: '<li>%hours%<label>hours</label></li>',
					formatMinutes: '<li>%minutes%<label>minutes</label></li>', 
					formatSeconds: '<li>%seconds%<label>seconds</label></li>'
				});
		$('CSregister').addEvents({ 
			'mouseenter': function() {
				var tr = this.getChildren('ul');
				 tr.tween('display','block');
			},
			'mouseleave': function() {
				   var tr = this.getChildren('ul');
					 tr.tween('display','none');
			}
		});
		$('castlesiegeBlock').addEvent('dblclick',function() {
			addScript('widgets.php?callback=castlesiege&nocache=1',true);
		});
});