window.onload = function() {
	/* Fetch success story and display it */
	
	var paramsHash = new Hash();
	paramsHash['action'] = "fetchEventsListing";
	
	URL = '/events/fetch_event.php';
	var request = new Ajax.Request(
		URL,
		{			
			/* Insert other parameters here */
			method : 'get',
			
			onSuccess: function(transport, json) {
				showList(request, transport, json);
			},
			
			parameters : paramsHash.toQueryString()
		}
	);		
};

/* Initiates ajax call to fetch list of stories, and passes it on to fetch story */
function showList(request, transport, json)
{
	/* Check if query string has a specific id of a story and fetch that story if its given,
	 * otherwise, get the most recent story and fetch that instead
	 */
	var list = $('events_listing');
	//var list = document.createElement('ul');
	//list.setAttribute('id', 'stories_listing');
	list.toggle();

	for(var cnt = 0; cnt < json.length; cnt++)
	{
		var event = json[cnt];
		var id = event['id'];

		/* Create bulleted list */
		var bullet = document.createElement('li');

		var qString = new Hash();
		qString['event'] = event['id'];
		
		var linkDesc = '';
		if (event['link'])
			linkDesc += event['link'];
		if (event['link'] && event['desc'])
			linkDesc += ' - ';
		if (event['desc'])
			linkDesc += event['desc'];

		/* Lazy innerHTM method */
		iHtml = '';
		if (event['viewable'] != '')
		{
			if (event['id'])
				iHtml += '<a href="/events/view_event.php/' + event['id'] + '">';
			else
				iHtml += '<a href="/events/view_event.php?'+ qString.toQueryString() + '">';
		}
		iHtml += linkDesc;
		if (event['viewable'] != '')
			iHtml += '</a>'		 
		bullet.innerHTML = iHtml;

		list.appendChild(bullet);
	}
		
	var body = $('events_list');
	body.appendChild(list);
	
	/* Check if id specified in query string */
	var qString = window.location.search.substring(1).toQueryParams();
	if (qString['id'])
		fetchStory(qString['id']);
	else
		fetchStory(biggestId);
}

var $j = jQuery.noConflict();

$j(document).ready(function() {
	var oDivCalendar = $j('#events_calendar');
	if (typeof(oDivCalendar.fullCalendar) != 'function') return;

	var camscColor = '#C41E39'; 
	var supplierColor = '#3ABDE6'; 
	var memberColor = '#B494C4';
	var partnerColor = '#FDB53D';

	oDivCalendar.fullCalendar({
		events: "/engine/web/fetch_calendar_events",
		eventRender: function(calEvent, element, view) {
			var bgColor;
			switch (calEvent.type) {
				case 1: 
					bgColor = camscColor;
					break;
				case 2:
					bgColor = supplierColor;
					break;
				case 3:
					bgColor = memberColor;
					break;
				case 4:
					bgColor = partnerColor;
					break;
				default:
			}
			element.css('border-color', bgColor);
			var oSpan = element.find("span");
			oSpan.css('background-color', bgColor);
			oSpan.parent().css({'background-color': bgColor, 'border-color': bgColor});
		},
		
		loading: function(bool) {
			if (bool) $j('#loading').show();
			else $j('#loading').hide();
		}
	});
});

function showPastEvents(year) {
	var list = $j('#events_' + year);
	if (list.children().length > 0) {
		list.toggle();
		return false;
	}
	list.append('<p>');
	var today = getDateString(new Date());
	$j.getJSON('/engine/web/events/' + year,
        function(data, textStatus){
			if (textStatus == 'success') {
				$j.each(data, function(i,item){
					var enddate = item.start;
					if (item.end) {
						enddate = item.end;
					}
					if (enddate < today ) {
						if (item.desc) {
							var html;
							if (item.url) {
								html = '<li><a href="' + item.url + '">' + item.dlink + '<br/>' + item.desc + '</a></li>';
							} else if (item.file) {
								html = '<li><a 	href="/events/view_event.php?event=' + item.id + '">' + 	item.dlink + '<br/>' + item.desc + '</a></li>';
							} else {
								html = '<li>' + item.dlink + '<br/>' + item.desc + '</li>';
							}
							list.append(html);
						}
					}
				});
			}
        }
	);
}

$j(document).ready(function() { 
	if (window.location.toString().indexOf('/releases/') > -1) showPressReleases(); 
});
function showPressReleases() {
	var list = $j('#press_releases');
	if (list.children().length > 0) {
		list.toggle();
		return false;
	}
	list.append('<p>');
	list.append('<li><a href="../5/innovation_awards_gala_call_for_nominations_2010_05_19" onClick = "showPressReleaseArticle(5)">Februray 15, 2010<br/>CAMSC Award for Corporate Advocacy to be presented at CATA\'s Innovation Awards Gala</a></li>');
	list.append('<li><a href="../6/a_call_to_action_canada" onClick = "showPressReleaseArticle(6)">November 19, 2009<br/>A Call to Action Canada</a></li>');
	list.append('<li><a href="../7/camsc_2009_business_achievement_awards_winners" onClick = "showPressReleaseArticle(7)">October 20, 2009<br/>2009 CAMSC Business Achievement Awards Winners</a></li>');
	list.append('<li><a href="../8/camsc_2008_business_achievement_awards_winners" onClick = "showPressReleaseArticle(8)">Nov 11, 2008<br/>2008 Business Achievement Awards Winners</a></li>');
	list.append('<li><a href="../9/cross_border_b2b_opportunities_highlighted_at_the_1st_ever_camsc_and_mmbdc_networking_forum" onClick = "showPressReleaseArticle(9)">September, 2008<br/>Cross Border B2B Opportunities Highlighted at the 1st Ever CAMSC & MMBDC Networking Forum</a></li>');
	list.append('<li><a href="../10/camsc_congratulates_the_2007_business_achievement_awards_winners" onClick = "showPressReleaseArticle(10)">2007 Business Achievement Awards Winners</a></li>');
}

function showPressReleaseArticle(articleId) {
	$j.ajax({
		url: "/engine/web/releases/" + articleId
	});
}

function showWarning()
{
	$j('#noUrlWarning').center();
	$j('#noUrlWarning').jAlert('Additional information for this event will be coming soon. Please check again later.', 'warning');
	$j('.msg-box-cont').animate({opacity: 1.0}, 2000).fadeOut(5000);
}

jQuery.fn.center = function () 
{
	this.css("position","absolute");    
	this.css("top", ( $j(window).height() - this.height() ) / 2 + $j(window).scrollTop() + "px");    
	this.css("left", ( $j(window).width() - this.width() ) / 2 + $j(window).scrollLeft() + "px");    
	return this;
}

function getDateString(date)
{
   var year = date.getFullYear();
   var month = date.getMonth() + 1;
   var day = date.getDate();
   if (month < 10) month = '0' + month;
   if (day < 10) day = '0' + day;
   return year + '-' + month + '-' + day;
}

