window.addEvent('domready', function(e){
	// General
	var bodyTag = document.getElement('body');
	
	// Localization
	if($('flagSelect')){
		var flagSelect = $('flagSelect');
		var flagOptions = $('flagOptions');
		var flagOptionsX = flagSelect.getPosition($('pageWrapper')).x;
		var flagOptionsY = flagSelect.getPosition($('pageWrapper')).y + flagSelect.getSize().y;
		var flagOptionsWidth = flagSelect.getSize().x - 2;
		var flagOptionsTimeout = false;
		var flagOptionsShowTime = 700;
		var flagDropDuration = 250;
		
		// Options Fx
		var flagOptionsFx = new Fx.Morph(flagOptions.getElement('ul'), {'link':'cancel','duration':flagDropDuration,'transition':Fx.Transitions.Cubic.easeOut});
			
		// Initialize FlagBox
		flagOptions.setStyles({
			'position':'absolute',
			'z-index':999999,
			'left':flagOptionsX,
			'top':flagOptionsY,
			'width':flagOptionsWidth,
			'overflow':'hidden'
		});
		flagOptions.inject($('pageWrapper'), 'bottom');
		var flagOptionsH = flagOptions.getElement('ul').getSize().y;
		//flagOptions.setStyle('height', flagOptionsH);
		flagOptions.getElement('ul').setStyles({
			'margin-top': flagOptionsH * -1,
			'opacity': 0	
		});
		
		function timeoutFlagOptions(){
			flagSelect.fireEvent('hideOptions');
		}
		
		flagSelect.addEvents({
			'mouseenter': function(e){
				this.addClass('hover');
				this.store('hasHover', true);
				$clear(flagOptionsTimeout);
			},
			'mouseleave': function(e){
				this.removeClass('hover');
				this.store('hasHover', false);
				flagSelect.fireEvent('checkHover');
			},
			'click': function(e){
				this.fireEvent('showOptions');
				this.store('hasHover', true);
				e.stopPropagation();
			},
			'showOptions': function(e){
				flagOptionsFx.start({
					'margin-top': 0,
					'opacity': 1
				});
				flagSelect.removeEvents('click');
				flagSelect.addEvent('click', function(e){this.fireEvent('hideOptions');});
			},
			'hideOptions': function(e){
				flagSelect.removeEvents('click');
				flagSelect.addEvent('click', function(e){this.fireEvent('showOptions');});
				
				flagOptionsFx.start({
					'margin-top': flagOptionsH * -1,
					'opacity': 0
				});
				$clear(flagOptionsTimeout);
			},
			'checkHover': function(e){
				if(!(this.retrieve('hasHover')) && !(flagOptions.retrieve('hasHover'))){
					flagOptionsTimeout = timeoutFlagOptions.delay(flagOptionsShowTime);
				}
			}
		});
		
		flagOptions.addEvents({
			'mouseenter': function(e){
				flagSelect.fireEvent('showOptions');
				this.store('hasHover', true);
				$clear(flagOptionsTimeout);
			},
			'mouseleave': function(e){
				this.store('hasHover', false);
				flagSelect.fireEvent('checkHover');
			}
		});
		
		// Add Events for Each Langauge
		flagOptions.getElements('li').each(function(element){
			element.addEvents({
				'mouseenter': function(e){
					element.addClass('hover');	
				},
				'mouseleave': function(e){
					element.removeClass('hover');
				},
				'click': function(e){
					var targetUrl = false;
					
					flagOptions.getElement('li.selected').removeClass('selected');
					element.addClass('selected');
					if(flagSelect.getElement('.windowPane').innerHTML !== element.innerHTML){
						flagSelect.getElement('.windowPane').innerHTML = element.innerHTML;
            targetLang = element.getElement('dl').getAttribute('lang');
						targetUrl = element.getElement('dl').getAttribute('rel');
					}
					flagSelect.fireEvent('hideOptions');
					
          if (targetLang) {
            Cookie.write('lang', targetLang, {domain: '.aeriagames.com', path: '/'});
          }

					if(targetUrl){
						window.location = targetUrl;
					}
					e.stopPropagation();
				}
			});											
		});
	}

/*	
	// Login AREA
	if($('loginButton')){
		$$('.loginInput').each(function(element){
			var input = element.getElement('input');
			var label = element.getElement('label');
			this.store('hasFocus', false);
			
			if(input.value === ''){label.setStyle('display', 'block');}
			input.addEvents({
				'focus': function(e){label.setStyle('display', 'none');element.store('hasFocus', true);loginDetails.fireEvent('showDetails');},
				'blur': function(e){if(this.value === ''){label.setStyle('display', 'block');element.store('hasFocus', false);loginDetails.fireEvent('checkHide');}}
			});
			label.addEvent('click', function(e){input.focus();});
		});
		$('loginButton').addEvents({
			'click': function(e){this.getParent('form').submit();loginDetails.fireEvent('showDetails');},
			'focus': function(e){this.store('hasFocus', true);loginDetails.fireEvent('showDetails');},
			'blur': function(e){this.store('hasFocus', false);loginDetails.fireEvent('checkHide');}
		});
		
		// Login Extras
		var username = $('usernameWrapper');
		var password = $('passwordWrapper');
		var loginSubmit = $('loginButton'); 
		var loginExtra = $('loginExtras');
		var loginDetails = $('loginForm');
		var registerX = $('registerButton').getSize().x;
		var loginExtraX = loginDetails.getPosition($('pageWrapper')).x;
		var loginExtraW = loginDetails.getSize().x;
		var loginExtraH = loginExtra.getSize().y;
		
		function loginFocused(){
			if(username.retrieve('hasFocus') || password.retrieve('hasFocus') || loginSubmit.retrieve('hasFocus') || loginExtra.retrieve('hasFocus')){
				return true;	
			} else {
				return false;	
			}
		}
		
		// Remember User
//		var rememberInput = $('loginRemember');
//		var rememberLink = $('rememberLink').getElement('a');
//		
//		if(rememberInput.value){rememberLink.addClass('selected');}
//		rememberLink.addEvent('click', function(e){
//			if(this.hasClass('selected')){
//				this.removeClass('selected');
//				rememberInput.value = false;
//			} else {
//				this.addClass('selected');
//				rememberInput.value = true;
//			}
//		});
		
		loginExtra.setStyles({
			'position':'absolute',
			'z-index':999998,
			'top':0,
			'left': loginExtraX,
			'width': loginExtraW - registerX - 5,
			'visibility': 'visible'
		});
		loginExtra.getElement('.container').setStyle('margin-top', loginExtraH * -1);
		
		var extraBox = new Element('div', {'styles':{
			'position':'absolute',
			'background': 'black',
			'z-index':999997,
			'top':0,
			'left': loginExtraX,
			'width': loginExtraW - registerX - 5,
			'height': 0,
			'opacity':0
		}});
		
		// Move Login to Absolute Positioning
		loginDetails.setStyles({
			'position':'absolute',
			'z-index':999999,
			'top': 0,
			'padding-top':8,
			'left': loginExtraX,
			'width': loginExtraW,
			'height': 27
		});
		loginDetails.inject($('pageWrapper'), 'bottom');
		extraBox.inject($('pageWrapper'), 'bottom');
		loginExtra.inject($('pageWrapper'), 'bottom');
		
		// Set Animations
		var boxOpacity = .85;
		var boxDuration = 500;
		var logExtraFx = new Fx.Morph(loginExtra.getElement('.container'), {link:'cancel','duration':boxDuration,'transition':Fx.Transitions.Cubic.easeOut});
		var logBlackFx = new Fx.Morph(extraBox, {link:'cancel','duration':boxDuration,'transition':Fx.Transitions.Cubic.easeOut});
		var logDetH = loginDetails.getStyle('height').toInt();
		var logDetPT = loginDetails.getStyle('padding-top').toInt();
		var logShow = false;
		
		loginDetails.addEvents({
			'mouseenter': function(e){
				loginExtra.store('hasFocus', true);
				logShow = true;
				this.fireEvent('showDetails', this, 250);
			},
			'mouseleave': function(e){
				logShow = false;
			},
			'showDetails': function(e){
				if(logShow){
					logExtraFx.start({'margin-top':0, 'opacity':1});
					logBlackFx.start({'height':loginExtraH, 'opacity': boxOpacity});
					
					loginExtra.addEvents({
						'mouseenter': function(e){
							this.store('hasFocus', true);
						},
						'mouseleave': function(e){
							this.store('hasFocus', false);
							loginDetails.fireEvent('checkHide');
						}
					});
				}
			},
			'hideDetails': function(e){
				logExtraFx.start({'margin-top':loginExtraH * -1, 'opacity':0});
				logBlackFx.start({'height':0, 'opacity': 0});
			},
			'checkHide': function(e){
				if(!(loginFocused())){
					loginDetails.fireEvent('hideDetails');	
				}
			}
		});
	}
*/								 
		
	// Breadcrumb Links
	$$('.breadcrumbs a').each(function(element){
		var fx=new Fx.Morph(element,{'duration':200,'wait':false,'transition':Fx.Transitions.Quart.easeInOut});
		element.addEvent('mouseenter',function(){fx.start({'padding-left':23,'padding-right':34});});
		element.addEvent('mouseleave',function(){fx.start({'padding-left':3,'padding-right':24});});
	});	
	
	// Branding Links
	$$('.brandingLinks .animate a strong').each(function(element) {
		var fx=new Fx.Morph(element,{duration:200,wait:false,transition:Fx.Transitions.Quart.easeInOut});
		element.addEvent('mouseenter',function(){fx.start({'font-size':19});});
		element.addEvent('mouseleave',function(){fx.start({'font-size': 14});});
	});
	
	// Member Avatars
	/*$$('.avatarContainer').each(function(element){
		var avatar = element.getElement('.avatar');
		var container = element;
		var newsize = new Array({'x':avatar.getSize().x,'y':avatar.getSize().y});
		var margins = new Array({'x':0,'y':0});
		
		container.size = new Array();
		avatar.size = new Array();
		container.size = container.getSize();
		avatar.size = avatar.getSize();
		newsize.x = container.size.x;
		newsize.y = ((container.size.x/avatar.size.x) * avatar.size.y).toInt();
		
		if(newsize.y < container.size.y){
			setToWidth = false;
			var ratio = container.size.y/newsize.y;
			newsize.y = container.size.y;
			newsize.x = (ratio * newsize.x).toInt();
		}
		newsize.y+=2;
		newsize.x+=2;
		
		margins.y = (((newsize.y - container.size.y) / 2).toInt()) * -1;
		margins.x = (((newsize.x - container.size.x) / 2).toInt()) * -1;
				
		avatar.setStyles({'width':newsize.x, 'height':newsize.y, 'visibility':'visible', 'margin-top':margins.y, 'margin-left':margins.x});		
	});*/
	
	// Broadcast Ads
	var headCastFx = false;
	var miniCastFx = false;
	var windowFx = false;
	var miniCastHeight = false;
	var fullCastHeight = false;
	var headCastHovered = false;
	var headFxTime = 800;
	var headFadeTime = 250;
	var castAction = false;
	
	function fullCastShow(){
		if(headCastFx && headCastHovered){
			windowFx.toTop();
			$('closeCast').setStyle('display','block');
			castAction = 'open';
			miniCastFx.start(0);
		}	
	}
	
	function headCastClose(){
		$('closeCast').setStyle('display','none');
		castAction = 'close';
		headCast.getElement('a#miniCast').removeEvents('mouseenter');
		headCastFx.start(miniCastHeight);
		var delayIt = function(){headCastRollover();}.delay(headFxTime + 250);
	}
	
	function headCastRollover(){
		headCast.getElement('a#miniCast').addEvents({
			'mouseenter': function(e){
				headCastHovered = true;
				var delayIt = function(){fullCastShow();}.delay(250);
			},
			'mouseleave': function(e){
				headCastHovered = false;
			}
		});
	}
	
	if($('globalBroadcast')){
		var headCast = $('globalBroadcast');
		var miniCast = headCast.getElement('a#miniCast');
		var fullCast = headCast.getElement('a#fullCast');
		miniCastHeight = miniCast.getAttribute('rel').toInt();
		fullCastHeight = fullCast.getAttribute('rel').toInt();
		
		windowFx = new Fx.Scroll(window);
		
		headCastFx = new Fx.Tween(headCast, {
			property:'height',
			duration:headFxTime,
			link:'cancel',
			//transition:Fx.Transitions.Bounce.easeOut,
			transition:Fx.Transitions.Quart.easeOut,
			onComplete: function(){
				if(castAction === 'close'){
					miniCastFx.start(1);	
				}
			}
		});
		
		miniCastFx = new Fx.Tween(miniCast, {
			property:'opacity',
			duration:headFadeTime, 
			link:'cancel',
			onComplete: function(){
				if(castAction === 'open'){
					headCastFx.start(fullCastHeight);	
				}
			}
		});
		
		// EVENTS
		$('closeCastLink').addEvent('click', function(e){
			headCastClose();
			headCastHovered = false;
		});
		headCast.addEvent('click', function(e){
			window.open(
				this.getElement('a').getAttribute('href'),
				'_blank',
				'menubar=yes,toolbar=yes,location=yes,directories=yes,fullscreen=no,titlebar=yes,hotkeys=yes,status=yes,scrollbars=yes,resizable=yes'
			);
		});
		headCast.getElements('a').each(function(element){
			element.addEvent('click', function(e){
				e.stopPropagation();								   
			});										
		});
		
		if(headCast.hasClass('mini')){
			headCastRollover();
		}
	}
});
