 document.observe('dom:loaded', function() {
	Event.observe($('topmenu'), 'mouseover', menuOverOut);
	Event.observe($('topmenu'), 'mouseout', menuOverOut);
	/*Event.observe($('topmenu'), 'mousedown', menuClick);
	Event.observe($('topmenu'), 'mouseup', menuClick);*/
	Event.observe($('submenu'), 'mouseover', menuOverOut);
	Event.observe($('submenu'), 'mouseout', menuOverOut);
	if ($('login-menu')) {
		Event.observe($('login-menu'), 'mouseover', menuOverOutGen);
		Event.observe($('login-menu'), 'mouseout', menuOverOutGen);
	}
	//observers for tab menu
	if($('statmenu')){
		$('statmenu').select('.tab').each(function (el) {
			$(el).observe('click', switchTab);
		})
	}
	//observer for search input under klansida page
	if($('clan_name')){
		$('clan_name').observe('keyup', ajaxSearch);
	}
	
	//observers for submit the membership form under klansidan
	if($('ajax_wrapper')){
		$('ajax_wrapper').select('.formsubmit').each(function (el){
			$(el).setStyle({cursor: 'pointer'});
			$(el).observe('click', applyClan);
		})
	}
	
	//oberserver for url sharing input
	if($('share_url')){
		$('share_url').observe('focus',function(event){var el = event.element(); el.focus(); el.select();});
	}
	
	if($('newsfeed')){
		
		fetchNewsFeed();
		/*re = 0;
		new Ajax.PeriodicalUpdater('newsfeed', '/scripts/newsfeed/index.php', {
			method: 'get', 
			frequency: 5, 
			parameters: { mode: 'update' },
			insertion: Insertion.Bottom,
			onSuccess: function(response) {
				re = response.responseText; 
				re = re.length;
				
			}
		});
		alert(re);
		if(re > 1){
			alert("update starts!");
			new UI.Carousel("vertical_carousel", {direction: 'vertical'});
			$('newsfeed').fire("hej:hej");
		}
		*/
	}
	
});

/*function menuClick(event) {
	var el = event.element();
	var name = el.nodeName.toLowerCase();

	if (name == 'img') {
		if (!$(el).hasClassName('active')) {
			var src = $(el).readAttribute('src');
			if ($(el).hasClassName('pushed')) {
				src = src.replace(/-push.gif$/, '') + '.gif';
				$(el).writeAttribute('src', src);
				$(el).removeClassName('pushed');
			} else {
				src = src.replace(/-on.gif$/, '') + '-push.gif';
				$(el).writeAttribute('src', src);
				$(el).addClassName('pushed');
			}
		}
	}
}*/

function menuOverOut(event) {
	var el = event.element();
	var name = el.nodeName.toLowerCase();

	if (name == 'img') {
		if (!$(el).hasClassName('active')) {
			var src = $(el).readAttribute('src');
			if (!src.match(/.*divider.gif$/)) {
				if ($(el).hasClassName('on')) {
					src = src.replace(/-on.(gif|png)$/, '.gif');
					$(el).writeAttribute('src', src);
					$(el).removeClassName('on');
				} else {
					src = src.replace(/.(gif|png)$/, '-on.gif');
					$(el).writeAttribute('src', src);
					$(el).addClassName('on');
				}
			}
		}
	}
}

function menuOverOutGen(event) {
	var el = event.element();
	var name = el.nodeName.toLowerCase();

	if (name == 'img') {
		if (!$(el).hasClassName('active')) {
			var src = $(el).readAttribute('src');
			if (!src.match(/.*divider.gif$/)) {
				var path = src.split('/');
				if (path[2] == 'gen') {
					if ($(el).hasClassName('on')) {
						src = path[0] + '/' + path[1] + '/' + path[2] + '/' + path[3] + '/' + path[4].replace('-on', '') + '/' + path[5];
						$(el).writeAttribute('src', src);
						$(el).removeClassName('on');
					} else {
						src = path[0] + '/' + path[1] + '/' + path[2] + '/' + path[3] + '/' + path[4] + '-on/' + path[5];
						$(el).writeAttribute('src', src);
						$(el).addClassName('on');
					}
				}
			}
		}
	}
}

function pimg() {
	if (document.images) {
		/*var imgs = new Array();
		var srcs = new Array(
			'/gfx/newnewpics/top_menu/framsidan_on.jpg',
			'/gfx/newnewpics/top_menu/servrar_on.jpg',
			'/gfx/newnewpics/top_menu/teamgnu_on.jpg',
			'/gfx/newnewpics/top_menu/boka_server_on.jpg',
			'/gfx/newnewpics/top_menu/gather_on.jpg',
			'/gfx/newnewpics/top_menu/2on2_ladder_on.jpg',
			'/gfx/newnewpics/top_menu/cs_cinema_on.jpg',
			'/gfx/newnewpics/top_menu/forum_on.jpg',
			'/gfxv12/menu2/kalender_on.jpg',
			'/gfxv12/menu2/hallofshame_on.jpg',
			'/gfxv12/menu2/birthdays_on.jpg',
			'/gfxv12/menu2/gnutv_on.jpg',
			'/gfxv12/menu2/photos_on.jpg',
			'/gfxv12/menu2/tryouts_on.jpg',
			'/gfxv12/menu2/support_on.jpg',
			'/gfxv12/menu2/regler_on.jpg',
			'/gfxv12/menu2/buggar_on.jpg',
			'/gfxv12/menu2/fragesport_on.jpg',
			'/gfxv12/stats/csdm_on.jpg',
			'/gfxv12/stats/csdm.jpg',
			'/gfxv12/stats/public_on.jpg',
			'/gfxv12/stats/public.jpg',
			'/gfxv12/stats/aim_on.jpg',
			'/gfxv12/stats/aim.jpg',
			'/gfxv12/stats/gatherstats_on.jpg',
			'/gfxv12/stats/gatherstats.jpg',
			'/gfxv12/stats/fun_on.jpg',
			'/gfxv12/stats/fun.jpg',
			'/gfxv12/stats/vapenrankning_on.jpg',
			'/gfxv12/stats/vapenrankning.jpg',
			'/gfxv12/stats/hurfunkardet.jpg',
			'/gfxv12/stats/hurfunkardet_on.jpg',
			'/gfxv12/stats/visaplacering.jpg',
			'/gfxv12/stats/visaplacering_on.jpg',
			'/gfxv12/stats/small_csdm_on.jpg',
			'/gfxv12/stats/small_csdm_active.jpg',
			'/gfxv12/stats/small_csdm.jpg',
			'/gfxv12/stats/small_public_on.jpg',
			'/gfxv12/stats/small_public_active.jpg',
			'/gfxv12/stats/small_public.jpg',
			'/gfxv12/stats/small_aim_on.jpg',
			'/gfxv12/stats/small_aim_active.jpg',
			'/gfxv12/stats/small_aim.jpg',
			'/gfxv12/stats/small_gatherstats_on.jpg',
			'/gfxv12/stats/small_gatherstats_active.jpg',
			'/gfxv12/stats/small_gatherstats.jpg',
			'/gfxv12/stats/small_fun_on.jpg',
			'/gfxv12/stats/small_fun_active.jpg',
			'/gfxv12/stats/small_fun.jpg',
			'/gfxv12/stats/small_hurfunkardet.jpg',
			'/gfxv12/stats/small_hurfunkardet_on.jpg',
			'/gfxv12/stats/small_hurfunkardet_active.jpg',
			'/gfxv12/upgrade_new/inbetalning-on.jpg',
			'/gfxv12/upgrade_new/kreditkort-on.jpg',
			'/gfxv12/upgrade_new/telefonrakning-on.jpg',
			'/gfxv12/upgrade_new/sms-on.jpg'
		);  

		for (i = 0; i < srcs.length; i++) {
			imgs[i] = new Image();
			imgs[i].src = srcs[i];
		}*/  
	}
}

function banpopup(url, name) {
	window.open(url,name,"width=300,height=230,scrollbars=no,status=no,toolbar=no,resizable=no,location=no,menubar=no,directories=no")
}

function replaceText(text){
	while(text.lastIndexOf("&") > 0){
		text = text.replace('&', '[i-Stats]');
	}
	return text;
}

function seccheck(message, url) {
  if(confirm(message)) location.href = url;
}

function openwind(url,name,features) {
  window.open(url,name,features);
}

function formrule(field) {
  if (field.defaultValue == field.value) field.value = "";
}


/*	js code for upgrade function	*/
	/**
	*	dispaly element with different styles
	*/
	function loadMsg (eId, mode){
		
		switch (mode) {
			case 1:
				new Effect.BlindDown($(eId));
				break;
			case 2:
				new Effect.Appear($(eId));
				break;
			case 3:
				new Effect.Fade($(eId));
				break;
			case 4:
				new Effect.SlideDown($(eId));
				break;
			case 5:
				new Effect.BlindUp($(eId));
				break;
			default:
				break;
		}
		
		
	}
		/**
	*	switch the display value in style
	*/
	function switchView (id, mode){
		
		if($(id)){
			if(!$(id).visible())
				loadMsg($(id), mode);
			else
				loadMsg($(id), 5);
			
		}
	}
	
function switchPayment (tab_id){

	new Ajax.Request('/scripts/upgrade/index.php',
	{
	    method:'get',
	    parameters:{mode: 'method_switch', switchto: tab_id},
	    onSuccess: function(response){
	    	
	      	var re = response.responseText;
	      	
	      	//add the got HTML into body div
	      	if($('payment_desc')){
	      		$('payment_desc').innerHTML = re;
	      		//set special effect to show the body
	      		if($('ajax_wrapper')){
	      			loadMsg($('ajax_wrapper'), 2);
	      		}
	      	}
	      	else{
	      		alert('can not get container');
	      	}
	      	
	    },
	    onFailure: function(){ alert('Something went wrong...') }
	  });
		
}

// this function gets the get value from site url
function gup( name )
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  
  var regexS = "[/]"+name+"/([^&#]*)/";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}
/**
*	Tab menu swtich
**/
function switchTab (event){
	var el = event.element();
	//var tmp_id = $(el).up('div').readAttribute('id').split('_');
	var tab_id = $(el).up('div').readAttribute('id');
	var tab_name = $(el).innerHTML;
	var isPersonal = gup('personal');
	
	new Ajax.Request('/scripts/toplist/index.php',
	{
	    method:'get',
	    parameters:{p: 'topplistor', server: tab_name, personal: isPersonal},
	    onLoading:function(response){
	    	var loadImg = '<img id="ajax_loader" src="/img/tabs/ajax-loader.gif">';
	    	
	    	
	    	if($('list_content')){
	    		$('list_content').setClassName('');
	    		$('list_content').update(loadImg);
	    	}
	    },
	    onComplete: function(response){
	    
	    	//get last highlighted tab
	    	if($('current_tab')){
	    		//var last_tab_id = $('current_tab').readAttribute('name');
	    		var last_tab_id = $('current_tab').up('div').readAttribute('id');
	    		var last_tab_name =$('current_tab').down('.tab_middle').innerHTML;
	    		
	    		if($(last_tab_id)){
	    			//change the content to be normal tab
	    			//$(last_tab_id).update('<div class="tab" id="' + last_tab_id +'">' + last_tab_id.toUpperCase() + '</div>\n');
	    			$(last_tab_id).update('<div class="tab">' + last_tab_name.toUpperCase() + '</div>\n');
	    			//change the clicked tab to be highlighted
	    			if($(tab_id)){
	    				var s = '<div class="tab_wrapper" id="current_tab">\n<div class="tab_left"></div>\n<div class="tab_middle">' + tab_name.toUpperCase() + '</div>\n<div class="tab_right"></div>\n</div>\n';
	    				$(tab_id).update(s);
	    			
	    			}
	    		}
	    	
	    		//$('current_tab').update($('current_tab').readAttribute('name'));
	    	}
	    	
	    	
	      	var re = response.responseText;
	      	
	      	//add the got HTML into body div
	      	if($('list_content')){
	      		$('list_content').update(re);
	      
	      		// update the observers
	      		$('statmenu').select('.tab').each(function (el) {
					$(el).observe('click', switchTab);
				});
			}
	      	
	      	
	    },
	    onFailure: function(){ alert('Something went wrong...') }
	  });
		
}

	//ajax search function for klansida
	function ajaxSearch (event){
		var el = event.element();
		var clan_name = $(el).value;
	
		new Ajax.Request('/scripts/klansidan/index.php',
		{
			method:'get',
		    parameters:{p: 'klansidan', clan_name: clan_name},
		    
		    onComplete:function(response){
		    	var re = response.responseText;
		    	//add the got HTML into body div
		      	if($('ajax_wrapper')){
		      		$('ajax_wrapper').update(re);
		      		if($('ajax_wrapper')){
						$('ajax_wrapper').select('.formsubmit').each(function (el){
							$(el).observe('click', applyClan);
						})
					}
				}
		    },
	  		onFailure: function(){ alert('Something went wrong...') }
		});
	
	}
	
	function applyClan (event){
		var el = event.element();
		var tmp_id = el.readAttribute('id').split('_');
		var clan_id=tmp_id[1];
		var app_msg ='';
		
		if($('app_msg_' + clan_id))
			app_msg = $('app_msg_' + clan_id).value;
		
		new Ajax.Request('/scripts/klansidan/index.php',
		{
			method:'get',
		    parameters:{p: 'applyclan', clan_id: clan_id, msg:app_msg},
		    onLoading:function(response){
		    	if($('response_div_' + clan_id)){
		    		var loadImg = '<img id="ajax_loader" src="/img/tabs/ajax-loader2.gif">';
		    		$('response_div_' + clan_id).update(loadImg);
		    	}
		    },
		    onComplete:function(response){
		    	var re = response.responseText;
		    	
		    	//add the got HTML into body div
		      	if($('response_div_' + clan_id)){
		      		$('response_div_' + clan_id).update(re);
		      		
		      		//loadMsg('ajax_' + clan_id, 2);
		      		//setTimeout("switchView('ajax_" + clan_id + "', 2)", 2000);
		      		//update the container
		      		//setTimeout("updaeContainer('ajax_wrapper', '/scripts/klansidan/', 'p=refresh')", 4000);
		      		setTimeout("window.location='/klansidan'", 3000);
		      		
				}
		    },
	  		onFailure: function(){ alert('Something went wrong...') }
		});
	
		
	}
	
	/**
	*	this function submits a form with Ajax (right now its for creating a new clan)
	*/
	function myForm (form_id, action, formWrapperId){
		
		//validate the form 
		if($('namn')){
			if($('namn').value.length == 0){
				var error = "Du m&aring;ste d&ouml;pa din klan.";
				$('err_div').update(error);
				switchView('err_div', 2);
				return false;
			}
		}
		
		//get the form
		if($(form_id)){
			//form post string
			var postString = Form.serialize(form_id);
			
			
			new Ajax.Request(action,
			{
				method:'get',
			    parameters:postString,
			    onLoading:function(response){
			    	if($(formWrapperId)){
			    		var loadImg = '<img id="ajax_loader" src="/img/tabs/ajax-loader2.gif">';
			    		$(formWrapperId).update(loadImg);
			    	}
			    },
			    onComplete:function(response){
			    	var re = response.responseText;
			    	
			    	//add the got HTML into body div
			      	if($(formWrapperId)){
			      		$(formWrapperId).update(re);
			      	}
			    },
		  		onFailure: function(){ alert('Something went wrong...') }
			});
			 
		}
		
	}
	
	//fucntion for leaving a clan
	function clanAction(clan_id, action_mode){
		
		new Ajax.Request('/scripts/klansidan/',
		{
			method:'get',
		    parameters:{p: 'quit', clan_id : clan_id, action_mode: action_mode},
		    onLoading:function(response){
		    	if($(formWrapperId)){
		    		var loadImg = '<img id="ajax_loader" src="/img/tabs/ajax-loader.gif">';
		    		$(formWrapperId).update(loadImg);
		    	}
		    },
		    onComplete:function(response){
		    	var re = response.responseText;
		    	
		    	//quit a clan
		    	if(action_mode == 0)
		    		msg_div = 'leave_msg';
		    	//abandone an application	
		    	else if(action_mode == 1)
		    		msg_div = 'app_msg';
		    	//add the got HTML into body div
		      	if($(msg_div)){
		      		$(msg_div).update(re);
		      		switchView(msg_div, 2);
		      		//setTimeout("switchView('"+ msg_div +"',3)", 2000);
		      		//setTimeout("updaeContainer('ajax_wrapper', '/scripts/klansidan/', 'p=refresh')", 4000);
					setTimeout("window.location='/klansidan'", 3000);
				}
		    },
	  		onFailure: function(){ alert('Something went wrong...') }
		});
		//update the container
		
		
	}

	function updaeContainer(container_id, action, parameters){
		new Ajax.Updater(container_id, action, 
		{
			method:'get',
  			parameters: parameters,
  			onComplete:function(){
  				if($('ajax_wrapper')){
					$('ajax_wrapper').select('.formsubmit').each(function (el){
						$(el).observe('click', applyClan);
					})
				}
  			}
  		});
  		
	}
	
	//newsfeed
	function fetchNewsFeed(){
		
		new Ajax.Request('/scripts/newsfeed/index.php', 
		{
			  method: 'get',
			  parameters: { mode: 'update'},
			//  insertion: Insertion.Bottom,
			  onComplete: function(response){
			  
			  		//var re = response.responseText;
			  		var obj = response.responseJSON;
			  		if(obj.length > 0){
			  			for (i = 0; i < obj.length; i++) {
			  				
			  					
			  				var a_tag = new Element('a');
			  				a_tag.setAttribute('href', obj[i].link);
			  				a_tag.update(obj[i].content + ' ' + obj[i].icon);
			  				
							
							var li = new Element('li').
			  					addClassName(obj[i].type).
			  					update(a_tag);
			  					
			  				$('newsfeed').insert({bottom:li});
			  			}
			  			
			  			//$('newsfeed').insert({bottom:re});
			  		
						var ul = $('newsfeed');
						var to_subtract = $(ul).down('li').getHeight();
				
						var new_margin = $(ul).getStyle('margin-top').replace(/px$/, '')-to_subtract;
					
						$(ul).morph('margin-top: ' + new_margin + 'px');
						
					}
			  }
		});
		
		
		setTimeout("fetchNewsFeed()", 5000);
	}

