window.addEvent('domready',function(){
	var cal = new Calendar('calendar');
	
	activateRegisterInterest();
	
	
})

function activateRegisterInterest(){
	$$('.registerInterestBtn').each(function(btn, i){
		var container;
		container = btn.getParent().getElement('.registerInterest');
		
		btn.addEvent('click', function(e){
			container.getParent('.element').setStyle('height','auto')
			container.tween('height', '230px');
		})
		
		container.getElement('.submitBtn').addEvent('click', function(e){
			submitDetails(container);
		});
		
		container.getElement('.cancelBtn').addEvent('click', function(e){
			emptyForm(container);
			container.getParent('.element').setStyle('height','auto')
			container.tween('height', '0px');
		});
	})
}	
	


function submitDetails(container){
	
	var vars = '';
	
	if(container.getElement('input[name=name]').get('value') == ''){
		alert('Please enter your name.');
		return false;
	}
	
	if(container.getElement('input[name=email]').get('value') == ''){
		alert('Please enter your email address.');
		return false;
	}
	
	
	container.getElements('textarea, select, input').each(function(e, i){
		vars += "&"+e.get('name')+"="+e.get('value');
	});
	
	var req = new Request({	
	url:'requestCodeMarkup.php',
	async:'false', 
	onSuccess:  function(responseText){ 
		container.set('html','<center>Your interest has been sent, thankyou.</center>');
		container.getParent().getElement('.registerInterestBtn').dispose();
		container.tween('height', '15px');
	} 
	}).send("content=events&action=registerInterest"+vars);
}	

function emptyForm(container){
	$$('textarea,  input[type=text]').each(function(e, i){
		e.set('value','')
	});
}
	
	
var Calendar = new Class({
   // Implements: Options,
   // options:{},
    
    initialize: function(e){
        //this.setOptions(),
        this.el = $(e);
        this.captureEvents();
        this.openEvent();
    },
    
    captureEvents: function(){
    	this.el.getElements('.day').each(function(cal_day, i){

    		$('accordion').getElements('.event_'+(i+1)).each(function(ev_el){
    			
    			if(ev_el.hasClass('community')){
    				cal_day.addClass('community');
					cal_day.getElement('.clicker').removeEvents('click');
					cal_day.getElement('.clicker').addEvent('click', function(event){
						this.showInfo(cal_day);
					}.bind(this))
					
					
    			}else if(ev_el.hasClass('sphn')){
    				cal_day.addClass('sphn');
    				cal_day.getElement('.clicker').removeEvents('click');
    				cal_day.getElement('.clicker').addEvent('click', function(event){
					this.showInfo(cal_day);
					}.bind(this))
    			}
    			
    		}.bind(this))
    	}.bind(this))
    },
    
    showInfo: function(day){

    	var popupContent = "";
    	var id = day.get('id').split('_');
    	id = id[1];

		$$('.dayInfo.active').each(function(e, i){
    		e.removeClass('active')
    		e.addClass('hidden');
    	})


		day.getElement('a.close').removeEvents('click');
    	day.getElement('a.close').addEvent('click', function(ev){
    		day.getElement('div.dayInfo').addClass('hidden');
    		day.getElement('div.dayInfo').removeClass('active');    		
    	}.bind(this))
    	

		day.getElement('.dayInfo').removeClass('hidden');
    	day.getElement('.dayInfo').addClass('active');	
    	
    	if(!day.hasClass('gotInfo')){
			$('accordion').getElements('.event').each(function(el, i){
				
				if(el.hasClass('event_'+id)){
					var name = el.getElement('h3 a').get('name');
					var trailing_dots = "";
					if(el.getElement('.info').get('text').length > 100){
						trailing_dots = "..."
					}
					popupContent += "<p><strong>"+ el.getElement('h3').get('text') +"</strong><br/>"+el.getElement('.info').get('text').substring(0, 100)+trailing_dots+"<br /><a  onclick='accordion.display("+i+"); scrollToEvent(\""+name+"\")'>More Details</a><p>";
					day.getElement('.dayInfo .dayInfoContent').set('html', popupContent);
				}
			}.bind(this));
			
			day.addClass('gotInfo');
    	}
    },
    
   
    
    openEvent: function(){
    	var hash = location.href.split('#');
        
        if(hash.length > 1){
    		$$('#accordion .toggler a').each(function(e, i){
    			//console.log(e.get('name')+" "+hash[1]);
    			if(e.get('name') == hash[1]){
    				accordion.display(i);
    			}
    		})     
        }
    }
    
});


 function scrollToEvent(name){
 		var myFx = new Fx.Scroll(document).toElement($('accordion'));
    	setTimeout('window.location="#'+name+'"',500);
 }
