// JavaScript Document

//search functionality
	function ifIE()
	{
		if (/MSIE (\d+\.\d+);/.test(navigator.userAgent))
		{ 
			var ieversion=new Number(RegExp.$1) // capture x.x portion and store as a number
		 	if (ieversion>=8)
		  		return 8;
		 	else if (ieversion>=7)
		  		return 7;
			else if (ieversion>=6)
		  		return 6;
		 	else if (ieversion>=5)
		  		return 5;
		}
		else
		 	return false;
	
	}
	
	function showDropDown(item, display)
	{
		var dropdown = $(item);
		var af = $("activity_feed");
		var ie = ifIE();
		var timeout = 5000;
		
		if (display == "hide" || dropdown.style.display == "block"){
			dropdown.style.display = "none";
			document.body.onmouseup = "";
			if (ie != false) {
				af.style.position = "relative";
			}
		}
		else if (display == "show") {
			if (ie != false) {
				//alert("ie");
				dropdown.style.top = "18px";
				af.style.position = "static";
				dropdown.style.display = "block";
			}
			else {
				dropdown.style.display = "block";
			}
			
			document.body.onmouseup = function(){showDropDown('tbf_dropdown','hide'); showDropDown('adsearch_dropdown','hide')};
		}
	}
	
	function selectParam(item)
	{
		
		var itemSelected = $(item);
		var hdnSelected = $("hdnPlatform");
		var textbox = $("tbf_search_text");
		var itemFilled = $("qs_platform_selected");
		itemFilled.innerHTML = itemSelected.innerHTML;
		hdnSelected.value = itemSelected.innerHTML;
		showDropDown("tbf_dropdown", "hide");
		// clear();
		textbox.focus();
	}
	
	function swapFeatureGame(tabName, imageName, competitionName, supervisorName, profileId)
	{
		$("spotlight_left_img_" + tabName).src = imageName;
		$("spotlight_left_title_" + tabName).innerHTML = competitionName;
		$("spotlight_left_supervisor_" + tabName).innerHTML = supervisorName;
		$("spotlight_left_supervisor_link_" + tabName).href = '/index.php?controller=Account&method=profile&profileId='+profileId;
	}

	function clear()
	{
		var textbox = $("tbf_search_text");
		textbox.value = "";
		
	}
	
	
	
	function runCompetitionSearch(page)
	{
		xajax_Play_runCompetitionSearch(xajax.getFormValues($('competition_advanced_search_form')), page);
	}
	
	
	function selectQuickSearch(searchValue, selectedItem)
	{
		$("qs_platform_selected").innerHTML = $(selectedItem).innerHTML+'<span class="icon"></span>';
		$("hdnPlatform").value = searchValue;
		showDropDown("tbf_dropdown", "hide");
		// clear();
		$('tbf_search_text').focus();
	}
	
	function runQuickSearch()
	{
		var fv = new Object;
		
		// establish wide-open defaults
		fv.keyword = $('tbf_search_text').value;
		
		if (fv.keyword == 'Enter game name or keyword') {
			fv.keyword = 'Keyword';
		}
		
		fv.onlyFriends = 'n';

		if ($('qs_ended_competitions').checked == true) {
			fv.includeEnded = 'y';
		} else {
			fv.includeEnded = 'n';
		}
		
		switch ($('hdnPlatform').value) {
			case 'platform_pc':
				fv.competitionType = 'all';
				fv.platforms = new Array('pc');
				break;
			case 'platform_xb360':
				fv.competitionType = 'all';
				fv.platforms = new Array('xb360');
				break;
			case 'platform_wii':
				fv.competitionType = 'all';
				fv.platforms = new Array('wii');
				break;
			case 'platform_ps3':
				fv.competitionType = 'all';
				fv.platforms = new Array('ps3');
				break;
			case 'type_ggl':
				fv.competitionType = 'ggl';
				fv.platforms = new Array('all');
				break;
			case 'type_member':
				fv.competitionType = 'member';
				fv.platforms = new Array('all');
				break;
			case 'type_popular':
				fv.competitionType = 'popular';
				fv.platforms = new Array('all');
				break;
			case 'type_new':
				fv.competitionType = 'new';
				fv.platforms = new Array('all');
				break;
			case '':
			case 'platform_all':
			default:
				fv.platforms = new Array('all');
				break;
		}
		
		populateSearchFormValues(fv);
		xajax_Play_runCompetitionSearch(fv, 1);
	}
	
	
	function selectEZSearch(searchValue, selectedItem)
	{
		$('ezsearch_selected').innerHTML = $(selectedItem).innerHTML;
		$('hdnEasySearch').value = searchValue;
		hideBlock('adsearch_dropdown');
	}
	
	
	function runEZsearch()
	{
		if ($('hdnEasySearch').value == '') {
			alert('Choose an Easy Search to continue');
			return;
		}
		
		var fv = new Object;
		switch ($('hdnEasySearch').value) {
			case 'active_pc':
				fv.keyword = '';
				fv.platforms = new Array('pc');
				fv.competitionType = 'all';
				fv.includeEnded = 'n';
				fv.onlyFriends = 'n';
				break;
			case 'active_ps3':
				fv.keyword = '';
				fv.platforms = new Array('ps3');
				fv.competitionType = 'all';
				fv.includeEnded = 'n';
				fv.onlyFriends = 'n';
				break;
			case 'active_xb360':
				fv.keyword = '';
				fv.platforms = new Array('xb360');
				fv.competitionType = 'all';
				fv.includeEnded = 'n';
				fv.onlyFriends = 'n';
				break;
			case 'active_wii':
				fv.keyword = '';
				fv.platforms = new Array('wii');
				fv.competitionType = 'all';
				fv.includeEnded = 'n';
				fv.onlyFriends = 'n';
				break;
			case 'active_friends':
				fv.keyword = '';
				fv.platforms = new Array('all');
				fv.competitionType = 'all';
				fv.includeEnded = 'n';
				fv.onlyFriends = 'y';
				break;
		}
		
		// populate the form with the ez vars
		populateSearchFormValues(fv);
		
		xajax_Play_runCompetitionSearch(fv, 1);
	}
	
	
	function populateSearchFormValues(valuesArray) 
	{
		if (valuesArray.keyword) {
			$('adform_keyword').value = valuesArray.keyword;
		} else {
			$('adform_keyword').value = '';
		}
		if (valuesArray.competitionType) {
			$('adform_competitionType_'+valuesArray.competitionType).checked = true;
		}
		if (valuesArray.platforms) {
			$('adform_platforms_all').checked = false;
			$('adform_platforms_pc').checked = false;
			$('adform_platforms_ps3').checked = false;
			$('adform_platforms_xb360').checked = false;
			$('adform_platforms_wii').checked = false;
			for (var i=0; i<valuesArray.platforms.length; i++) {
				$('adform_platforms_'+valuesArray.platforms[i]).checked = true;
			}
		}
		if (valuesArray.includeEnded) {
			$('adform_includeEnded_'+valuesArray.includeEnded).checked = true;
		}
		if (valuesArray.onlyFriends) {
			$('adform_onlyFriends_'+valuesArray.onlyFriends).checked = true;
		}
	}
	
	function expandCollapseQuickSearch()
	{
		if ($('sgma').tabber.tabs[3].li.className == $('sgma').tabber.classNavActive) {
			hideBlock('play_competition_quicksearch');
		} else {
			showBlock('play_competition_quicksearch');
		}
	}	
// end search functionality

//window onload
Event.observe(window, 'load', function() {
	//scroll functionality for spotlight competitions 		
		var num_to_show = 3;
		var wrapper 	= $('spotlight').select('.competitions_wrapper')[0];
		var ul			= $('spotlight').select('ul.competitions')[0];
		var all_li 		= ul.select('li');
		var first_li 	= all_li[0];
		//li height, including top and bottom margins
		var li_height 	= Number(first_li.getStyle('margin-top').replace('px', ''))//margin top
						  +Number(first_li.getStyle('margin-bottom').replace('px', ''))//margin bottom
						  +first_li.getHeight();//height
						  
		var button_fadeout_opacity = .3;
		
		//initialize
		for(i = 0; i < all_li.length; i++){
			if(i < num_to_show){
				all_li[i].addClassName('active');
			} else {
				all_li[i].hide();
				all_li[i].addClassName('inactive');
			}
		}
		
		//create and bind up and down links
		var down = new Element('a', {href:'#', 'class':'scroll_down'});
	
			down.onclick = function(){			
				var li_to_hide  = ul.select('li.active')[0];
				var li_to_show = li_to_hide.nextSiblings()[2]; 
				
				//no more elements, quit
				if(!li_to_show) { return false; }
	
				li_to_hide.hide().toggleClassName('active').toggleClassName('inactive');
				li_to_show.show().toggleClassName('active').toggleClassName('inactive');
				
				new Effect.Fade(up, {to:1, duration:.5});
				if(!li_to_show.nextSiblings()[0]){
					if(!this.fadingout) {
						this.fadingout = true;
						new Effect.Fade(this, {
							to:button_fadeout_opacity, 
							duration:.5, 
							afterFinish:function(effect){effect.element.fadingout=false;}
						});
					}
				}
				return false;
			};
			var up = new Element('a', {href:'#', 'class':'scroll_up'});
			
			up.onclick = function(){
				var li_to_hide  = ul.select('li.active')[num_to_show-1];
				var li_to_show = li_to_hide.previousSiblings()[num_to_show-1]; 
				
				//no more elements, quit
				if(!li_to_show) { return false; }
				
				//all system go
				li_to_hide.hide().toggleClassName('active').toggleClassName('inactive');
				li_to_show.show().toggleClassName('active').toggleClassName('inactive');
				
				new Effect.Fade(down, {to:1, duration:.5});
				if(!li_to_show.previousSiblings()[0]){
					if(!this.fadingout) {
						this.fadingout = true;
						new Effect.Fade(this, {
							to:button_fadeout_opacity, 
							duration:.5, 
							afterFinish:function(effect){effect.element.fadingout=false;}
						});
					}
				}
				return false;
			};
		
		//bind mousewheel action
		Event.observe(wrapper, "mouse:wheel", function(event){
			event.stop(); 
			event.memo.delta>0 ? up.onclick(): down.onclick();
		});
		
		//insert up and down links into dom
		$(wrapper).insert({after:down});
		$(wrapper).insert({before:up});		
		
		//fade out the top link, since we start at the top
		new Effect.Fade(up, {to:button_fadeout_opacity, duration:2});
		if(all_li.length <= 3) { new Effect.Fade(down, {to:button_fadeout_opacity, duration:2}); }
	//end scroll functionality for spotlight competitions 		
})
