//**Tab Controller for Gallery**//
tabHoverControl = function(ev) {
	var el = Event.element(ev);
	el.toggleClassName('On');
}
tabReset = function(){
	$('images').hide();
	$('controller').hide();
	$('playoffController').hide();
	$('prev').stopObserving('click');
	$('next').stopObserving('click');
	var cs = Array('playoffOn', 'galleryOn', 'winnersOn');
	cs.each(function(s){$$('.'+s).each(function(t){t.removeClassName(s)});});
}
tabLoadPlayoff = function(ev) {
	var el = Event.element(ev);
	tabReset();
	el.up().addClassName('playoffOn');
	new Ajax.Request('includes/playoff.php', { method: 'post', onSuccess: function(transport) { 
		var gal = $('images');
		gal.update(transport.responseText);
		new Effect.Appear('images');
		Event.observe('playoffStart', 'click', function(event){
			tabPagePlayoff(event);
			trackTab('playoffStart');
		});
	}});
}
tabLoadGallery = function(ev) {
	var el = Event.element(ev);
	tabReset();
	el.up().addClassName('galleryOn');
	new Ajax.Request('includes/gallery.php', { method: 'post', parameters: {l:gallerycounter, r:'ra'}, onSuccess: function(transport) { 
		var gal = $('images');
		gallery_pages = (parseInt(transport.responseText.substring(4,transport.responseText.indexOf('-->'))) - 1);
		gal.update(transport.responseText);
		new Effect.Appear('images');
		var pagerText = "Page "+(gallerycounter+1)+" of "+ (gallery_pages+1);
		$('pager').update(pagerText);
		Event.observe('prev', 'click', (function(event){
			if(gallerycounter>0){gallerycounter--;}else{gallerycounter=0;}
			tabPageGallery(event);
		}));
		Event.observe('next', 'click', (function(event){
			if(gallerycounter<gallery_pages){gallerycounter++;}else{gallerycounter=gallery_pages;}
			tabPageGallery(event);
		}));
		if(gallery_pages > 0){ new Effect.Appear('controller'); }
			var pass_id = 0;
			if(ev.type=='dataavailable'){
				pass_id = parseInt(ev.memo.id);
				$$('.gallery')[0].down().stopObserving('tab:gallery');
			}
			loadGallery(pass_id);
		}
	});
}
tabLoadWinners = function(ev) {
	var el = Event.element(ev);
	tabReset();
	el.up().addClassName('winnersOn');
	new Ajax.Request('includes/winner.php', { method: 'post', parameters: {l:winnercounter, r:'g'}, onSuccess: function(transport) { 
		var gal = $('images');
		winner_pages = (parseInt(transport.responseText.substring(4,transport.responseText.indexOf('-->'))) - 1);
		gal.update(transport.responseText);
		new Effect.Appear('images');
		var pagerText = "Page "+(winnercounter+1)+" of "+ (winner_pages+1);
		$('pager').update(pagerText);
		Event.observe('prev', 'click', (function(event){
			if(winnercounter>0){winnercounter--;}else{winnercounter=0;}
			tabPageWinners(event);
		}));
		Event.observe('next', 'click', (function(event){
			if(winnercounter<winner_pages){winnercounter++;}else{winnercounter=winner_pages;}
			tabPageWinners(event);
		}));
		if(winner_pages > 0){ new Effect.Appear('controller'); }
			var pass_id = 0;
			if(ev.type=='dataavailable'){
				pass_id = parseInt(ev.memo.id);
				$$('.winners')[0].down().stopObserving('tab:winners');
			}
			loadWinner(pass_id);
		}
	});
}
selectImage = function(ev){
	var el = Event.element(ev);
	el.stopObserving('click');
	$$('.playoffLink').each(function(s){if(s.hasClassName('On')){s.removeClassName('On');}});
	new Ajax.Request('includes/playoff.php', {method: 'post', parameters: {r:'selectImage', i:el.up().id}, onSuccess: function(transport) {
			el.up().addClassName('On');
			if($('playoffNext')){$('playoffNext').up().appear();}
			setupPlayoffEvents();
		}
	});
	
}
trackTab = function(id){
	if($(id)){
		var axel = Math.random()+"";
		var a = axel * 10000000000000;
		if(id == 'playoffStart'){
			var trackStr = '<!-- Start of DoubleClick Spotlight Tag: Please do not remove-->\n<!-- Activity Name for this tag is:M&Ms_Nascar_Q1_2009_Bracket_Vote -->\n<!-- Web site URL where tag should be placed: http://tbd.com -->\n<!-- This tag must be placed within the opening <body> tag, as close to the beginning of it as possible-->\n<!-- Creation Date:02/03/09 -->\n<iframe src="https://fls.doubleclick.net/activityi;src=1448605;type=mmsna057;cat=mmsna592;ord=1;num='+ a + '?" width="1" height="1" frameborder="0"></iframe>\n<!-- End of DoubleClick Spotlight Tag: Please do not remove-->';
		}else if(id == 'playoffSubmit'){
			var trackStr = '<!-- Start of DoubleClick Spotlight Tag: Please do not remove-->\n<!-- Activity Name for this tag is:M&Ms_Nascar_Q1_2009_Bracket_Submit -->\n<!-- Web site URL where tag should be placed: http://tbd.com -->\n<!-- This tag must be placed within the opening <body> tag, as close to the beginning of it as possible-->\n<!-- Creation Date:02/03/09 -->\n<iframe src="https://fls.doubleclick.net/activityi;src=1448605;type=mmsna057;cat=mmsna081;ord=1;num='+ a + '?" width="1" height="1" frameborder="0"></iframe>\n<!-- End of DoubleClick Spotlight Tag: Please do not remove-->';
		}
		$(id+"-track").update(trackStr);
		$(id+"-track").show();
	}
}
setupPlayoffEvents = function(){
	var array = ['playoffNext','playoffPrevious','playoffSubmit'];
	if($$('.playoffLink').length > 0){ 
		var test = true;
		$$('.playoffLink').each(function(s){ 
			$(s).stopObserving('click');
			$(s).observe('click', function(event){selectImage(event)}); 
			if(s.hasClassName('On')){ test = false; }
		});
		if(test){$('playoffNext').up().hide();}
	}else if($('playoffNext')){$('playoffNext').up().appear();}
	array.each(function(s){
		if($(s)){
			$(s).stopObserving('click');
			$(s).observe('click', function(event){ 
				tabPagePlayoff(event);
				if(s == 'playoffSubmit'){
					trackTab('playoffSubmit');
				}
			});
		}
	});
}
tabPagePlayoff = function(ev){
	var el = Event.element(ev);
	new Ajax.Request('includes/playoff.php', {method: 'post', parameters: {r:el.id}, onSuccess: function(transport) {
			var gal = $('images');
			gal.update(transport.responseText);
			setupPlayoffEvents();
			new Effect.Appear('images');
			if( $('playoffSubmit') || $('playoffThanks') ){
				$('playoffController').hide();
			} else {
				new Effect.Appear('playoffController');
			}
		}
	});
}
tabPageGallery = function(ev){
	$('images').hide();
	new Ajax.Request('includes/gallery.php', { method: 'post', parameters: {l:gallerycounter, r:'ra'}, onSuccess: function(transport) { 
		var gal = $('images');
		gal.update(transport.responseText);
		new Effect.Appear('images');
		var pagerText = "Page "+(gallerycounter+1)+" of "+ (gallery_pages+1);
		$('pager').update(pagerText);
		loadGallery(0);
		}
	});
}
tabPageWinners = function(ev){
	$('images').hide();
	new Ajax.Request('includes/winner.php', { method: 'post', parameters: {l:winnercounter, r:'g'}, onSuccess: function(transport) { 
		var gal = $('images');
		gal.update(transport.responseText);
		new Effect.Appear('images');
		var pagerText = "Page "+(winnercounter+1)+" of "+ (winner_pages+1);
		$('pager').update(pagerText);
		loadWinner(0);
		}
	});
}
tabControl = function() {
	root = $('tabs').down().childElements();
	root.each(function(s){
		Event.observe(s.down(), 'mouseover', (tabHoverControl));
		Event.observe(s.down(), 'mouseout',  (tabHoverControl));
		if(s.hasClassName('playoff')){
			Event.observe(s.down(), 'click', (tabLoadPlayoff));
			Event.observe(s.down(), 'tab:playoff', (tabLoadPlayoff));
		}else if(s.hasClassName('gallery')){
			Event.observe(s.down(), 'click', (tabLoadGallery));
			Event.observe(s.down(), 'tab:gallery', (tabLoadGallery));
		}else if(s.hasClassName('winners')){
			Event.observe(s.down(), 'click', (tabLoadWinners));
			Event.observe(s.down(), 'tab:winners', (tabLoadWinners));
		}else{
			alert("Error: Switching to invalid tab.");
		}
	});
	if(win_id != 0){
		$$('.winners')[0].down().fire('tab:winners', { id : win_id });
	}else if(default_id != 0){
		$$('.gallery')[0].down().fire('tab:gallery', { id : pid_id});
	} else {
		//$$('.playoff')[0].down().fire('tab:playoff');
		$$('.gallery')[0].down().fire('tab:gallery', { id : pid_id});
	}
}

loadGallery = function(id){
	new Ajax.Request('includes/gallery.php', { method: 'post', parameters: {r:'ra', i:id, l:gallerycounter}, onSuccess: function(transport){
			//alert(transport.responseText);
			var div = new Element('div',{'class':'winnerBox'}).update(transport.responseText);
			$('images').insert(div);
		 }
	});
}

loadWinner = function(id){
	new Ajax.Request('includes/winner.php', { method: 'post', parameters: {r:'i', i:id, l:winnercounter}, onSuccess: function(transport){
			//alert(transport.responseText);
			var div = new Element('div',{'class':'winnerBox'}).update(transport.responseText);
			$('images').insert(div);
		 }
	});
}

checkLength = function(event) {  		
	var field = Event.element(event);
	var value = field.value;
	var maxLength = 80;
	if(value.length>maxLength) {
		field.value=value.substring(0,maxLength);
	}  		
	if($(field.id+"Counter")) $(field.id+"Counter").innerHTML=maxLength-field.value.length+" / "+maxLength; }

fixPng = function(el) {
	if(el.nodeName.toLowerCase() == "img"){
		var src = el.src;
		var dims = el.getDimensions(); 
		var div = document.createElement("DIV"); 
		div.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizing='scale')"; 
		div.style.styleFloat = el.style.styleFloat;
		div.style.width = dims.width;
		div.style.height = dims.height;
		el.replaceNode(div);
	}else {
		var src = el.style.backgroundImage.slice(4,-1);
		el.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizing='scale')"; 
		el.style.backgroundImage = "";
	}
} 
findPng = function(event){
	$$('.fixPNG').each(function(s){ fixPng(s); });
}

openPopup = function(url, name, style) {
/*toolbar[=yes|no]|[=1|0]  location[=yes|no]|[=1|0]  directories[=yes|no]|[=1|0]  status[=yes|no]|[=1|0]  menubar[=yes|no]|[=1|0]  scrollbars[=yes|no]|[=1|0]  resizable[=yes|no]|[=1|0]  width=pixels  height=pixels*/
	if (!name){	name = new Date().getTime() + ''; }
	if (!style){
		style = 'width=320,height=270,status=yes,menubar=no,toolbar=no,resizable=no,scrollbars=no,location=no';
		var popupWindow = window.open(url,name,style);
		popupWindow.focus();
	}
}
openWidget = function(){
	openPopup('widget.php', 'Widget');
}
updateName = function(val){
	var el = $('ToNameUpdate');
	el.update(val);
}
//OnLoad Events
setOnLoadFunctions = function(){
	if(document.getElementById('tabs')){ 
		var loc		= new String(window.location);
		var query 	= (loc.indexOf("?") != -1 && (loc.indexOf("pid") || loc.indexOf("wid")))  ? loc.substring(loc.indexOf("?")+1) : null;
		if(!!query){
			var pairs = query.split("&");
			for(i=0; i != pairs.length; i++){
				if(pairs[i].indexOf("pid") != -1){ default_id = pairs[i].split("=")[1]; new Effect.ScrollTo('gallery');	}
				//else if(pairs[i].indexOf("wid") != -1){ win_id = pairs[i].split("=")[1]; new Effect.ScrollTo('gallery'); }
			}
		}
		tabControl();
	}
}
if(Event.observe){
	var rankcounter = 0;
	var rank_pages;
	var datecounter = 0;
	var date_pages;
	var gallerycounter = 0;
	var gallery_pages;
	var winnercounter = 0;
	var winner_pages;
	var root;
	var default_id = 0;
	var win_id = 0;
	var pid_id = 0;
	Event.observe(window, 'load', (setOnLoadFunctions));
}
