var CPCC = Class.create();

CPCC.prototype = {
	initialize: function(attribute){
		Sponsors.prototype.initialize();
		this.addViewOptional();
	},
	
	addViewOptional: function(){
		var optionals = $$('.optional');
		if(optionals.length > 0){
			optionals.each(function(optional){
				new Insertion.Before(optional, "<a href='#' onclick='CPCC.prototype.toggleOptional();return false;' style='font-size: 11px; text-decoration: none; color: #888;'> + Toggle Optional Info</a><br><br>");
			});
		}
	},
	
	toggleOptional: function(){
		$$('.optional').each(function(optional){
			optional.toggle();
		});
	}
}

Event.observe(window, "load", function(){CPCC.prototype.initialize()});




var Sponsors = Class.create();

Sponsors.prototype = {
	initialize: function(){
		
		Sponsors.prototype.index = 0;
		Sponsors.prototype.initPrimarySponsors();
		Sponsors.prototype.initSecondarySponsors();
		Sponsors.prototype.initTertiarySponsors();
		Sponsors.prototype.setupSponsorshipDetails();
	},
	
	initPrimarySponsors: function(){
	
		Sponsors.prototype.animatePrimarySponsors();
		window.setInterval(Sponsors.prototype.animatePrimarySponsors, 20000);
		
	},
	
	animatePrimarySponsors: function(){
		var position = Sponsors.prototype.index;
		var primary_display = $('primary_sponsors');
		primary_display.innerHTML = '';
		if(primary_sponsors.length > 0 && primary_sponsors[position]){

			var sponsor = primary_sponsors[position].attributes;
			var website = Sponsors.prototype.getSponsorLink(sponsor);
			if(sponsor.logo != ''){
				var image_or_text = "<img src='/sponsor/logo/"+sponsor.id+"/primary/"+sponsor.logo+"'/>";
			}else{
				var image_or_text = "<a href='"+website+"'>"+sponsor.name+"</a>";
			}
			var sponsor_html = "<a href='"+website+"'>"+image_or_text+"</a>";
			
			new Insertion.Top(primary_display, sponsor_html);
			new Effect.SlideDown(primary_display);
			if (Sponsors.prototype.index < primary_sponsors.length-1){
				Sponsors.prototype.index = Sponsors.prototype.index + 1;
			}else{
				Sponsors.prototype.index = 0;
			}
		}
		//window.setTimeout(function(){new Effect.SlideUp(primary_display)}, 4500);
		//alert(primary_sponsors.length);
	},
	
	getSponsorLink: function(sponsor){
		// Get Website
		var website = sponsor.website;
		// Show CPCC sponsor page if no website
		if(website=="N/A" || website==''){website = '/sponsors/'+sponsor.id;}
		// Add http:// if it doesn't exist
		if(website.startsWith('www.')){website = "http://"+website;}
		return website;
	},
	
	initSecondarySponsors: function(){
	
		Sponsors.prototype.animateSecondarySponsors();
		window.setInterval(Sponsors.prototype.animateSecondarySponsors, 15000);
		
	},
	
	animateSecondarySponsors: function(){
		var position = Sponsors.prototype.index;
		var secondary_display = $('secondary_sponsors');
		secondary_display.innerHTML = '';
		secondary_display.style.display = 'none';
		if(secondary_sponsors[position]){
			
			var sponsor = secondary_sponsors[position].attributes;
			
			var website = Sponsors.prototype.getSponsorLink(sponsor);
			
			if(sponsor.logo != ''){
				var image_or_text = "<img src='/sponsor/logo/"+sponsor.id+"/secondary/"+sponsor.logo+"'/>";
			}else{
				var image_or_text = "<a href='"+website+"'>"+sponsor.name+"</a>";
			}
			var sponsor_html = "<a href='"+website+"'>"+image_or_text+"</a>";
			new Insertion.Top(secondary_display, sponsor_html);
			new Effect.Appear(secondary_display);
		}
		if (Sponsors.prototype.index < secondary_sponsors.length-1){
			Sponsors.prototype.index = Sponsors.prototype.index + 1;
		}else{
			Sponsors.prototype.index = 0;
		}
		//window.setTimeout(function(){new Effect.SlideUp(primary_display)}, 4500);
		//alert(primary_sponsors.length);
	},
	
	initTertiarySponsors: function(){
	
		Sponsors.prototype.animateTertiarySponsors();
		window.setInterval(Sponsors.prototype.animateTertiarySponsors, 10000);
		
	},
	
	animateTertiarySponsors: function(){
		
		var position = Sponsors.prototype.index;
		var tertiary_display = $('tertiary_sponsors');
		tertiary_display.innerHTML = '';
		
		if(tertiary_sponsors && tertiary_sponsors[position]){
			//console.log(tertiary_sponsors[position].attributes.logo);
			if(tertiary_sponsors[position].attributes.logo != 'NULL' && tertiary_sponsors[position].attributes.logo != ""){
				var sponsor_html = "<a href='"+tertiary_sponsors[position].attributes.website+"'><img src='/sponsor/logo/"+tertiary_sponsors[position].attributes.id+"/tertiary/"+tertiary_sponsors[position].attributes.logo+"'/></a>";
			}else{
				var sponsor_html = "<a href='"+tertiary_sponsors[position].attributes.website+"'>"+tertiary_sponsors[position].attributes.name+"</a>";
			}
			new Insertion.Top(tertiary_display, sponsor_html);
			new Effect.SlideDown(tertiary_display);
		}
		if (Sponsors.prototype.index < tertiary_sponsors.length-1){
			Sponsors.prototype.index = Sponsors.prototype.index + 1;
		}else{
			Sponsors.prototype.index = 0;
		}
		//window.setTimeout(function(){new Effect.SlideUp(primary_display)}, 4500);
		//alert(primary_sponsors.length);
	},
	
	setupSponsorshipDetails: function(){
	  if($('sponsorship_options')){
	    $$('#sponsorship_options i').each(function(i){
	      i.observe('mouseover', function(e){
	        $$('.sponsorship_details').invoke('hide');
	        $(i.getAttribute('rel')).toggle();
	      })
	      i.observe('mouseout', function(e){
	        $$('.sponsorship_details').invoke('hide');
	      })

	    });
	  }
	}
	
}