var tips;
var fetch_event;
var min_events;
var max_events;

var content_left_home;
var ajax_get_event;

window.addEvent('domready',function()
	{
		if (Browser.Engine.webkit)
		{
			$('menu').setStyle('margin-top','80px');
			$('menu').setStyle('margin-left','-150px');
		}
	
		//Initialise
		fetch_event = 0;
		min_events	= 0;
		max_events	= 0;
		
		tips = new Tips('.tooltip');
		//Initialise
		
		attachMenuEvents($$('span.menu_item a'));
		
		set_minmax_events ();

		menu_item($('home'));
		
		hideDropdown();
					
		ajax_get_event = new Request.HTML (
			{	
				url: '../../lib/ajax/create_event.asp',
				method: 'get',
				update: $('content'),
				evalScripts: true,
				useWaiter: true,
				waiterOptions: 
				{
					baseHref: '',
					img: 
					{
						src: '../images/animations/waiter_large.gif',
						styles: {
							position: 'absolute',
							width: 24,
							height: 24,
							zIndex: 999
						}
					},
					layer: 
					{
						style: 'background:rgb(0, 0, 0) none repeat scroll 0% 0%;',
						opacity: 0.5
					}
				},
				onComplete: function()
					{
						if ($('event_content'))
						{
							new ScrollBar('event_content', 'track', 'thumb');
						
							new Drag('event_content', {
								'modifiers': {y: 'height', x: false},
								onDrag: function(){
									scroller.update();
								}
							});
							
							update_buytickets ($('ticket_reference').value);
							fetch_event = $('event_id').value;
							
							hide_tips();
						}
					}
			});
	});
	
var attachMenuEvents = function (menu_items)
{
	menu_items.each(function (item)
		{			
			item.addEvents(
				{
					'click':function()
						{
							if (!this.get('href'))
							{
								menu_item(this);
								return false;
							}
						},
					'mouseover':function()
						{
							highlight_menu(this,'on');
						},
					'mouseout':function()
						{
							highlight_menu(this,'off');
						}
				});
		});
		
	$('events_dropdown').addEvents(
		{
			'hover':showDropdown,
			'mouseout':hideDropdown
		});
		
	$('item_4').addEvents(
		{
			'mouseover':showDropdown,
			'mouseout':hideDropdown
		});
}
	
var hide_tips = function ()
	{
		var tip = $$('div.tip')
		if (tip.length > 0)
		{
			var tip_parent;
			
			for(var i=0; i<tip.length; i++)
			{
				tip_parent = tip.getParent();
				
				if (tip_parent)
				{
					tip_parent.set('style',new String(tip_parent.get('style')).replace('visible','hidden'));
				}
			}
		}
	}
			
var set_minmax_events = function ()
	{
		new Request(
		{	
			url: '../../lib/ajax/get_minmax_events.asp',
			method: 'get',
			onComplete: function(minmax)
				{
					var min_max = minmax.split('^');
					min_events = min_max[0];
					max_events = min_max[1];
				}
		}).send();
	}
			
var get_event = function (event_number,direction)
{		
	ajax_get_event.addEvent('complete',function(){attachPreviousNextEvents();});
	ajax_get_event.send(new String('direction=' + direction + '&eventid=' + event_number.toString()));
}

var return_id = function(element)
{
	var id = '';
	if (isIe())
	{
		id = $(element.id.toString());
	}
	else
	{
		id = $(element.get('id').toString());
	}
	return id;
}

var highlight_border = function (image, on_off)
{
	var border = $(return_id(image) + '_border');
		
	if(border)
	{
		if (on_off == "on")
		{
			border.set('morph', {link: 'chain'});
			border.morph('.border_highlight');
		}
		else
		{
			border.morph('.border');
		}
	}
}

var highlight_menu = function (item,on_off)
{	
	item = $(return_id(item));
	
	if(item)
	{
		if (item.className.indexOf('selected') > -1)
		{
			return;
		}
		
		if (on_off == "on")
		{
			item.set('morph', {link: 'chain',duration:'short'});
			item.morph('.menu_item_hover');
		}
		else
		{
			item.morph('.menu_item');
		}
	}
}

var menu_item = function (item)
{
	if (item)
	{
		var classname = '';
		
		if (item.hasClass('selected'))
		{
			return false;
		}
			
		var page;
		
		if(!isIe())
		{
			page = item.get('id');
		}
		else
		{
			page = item.id;
		}
			
		if (page != null)
		{
			if (page.indexOf('.asp') > -1)
			{
				page = page.toString();
			}
			else
			{
				page = page.toString() + '.html';
			}
		
			var data = new String("random="+ $time() + $random(0, 100));
					
			var ajax = new Request.HTML (	
				{	
					url: page,
					method: 'get',
					update: $('content'),
					evalScripts: true,
					useWaiter: true,
					waiterOptions: 
					{
						baseHref: '',
						img: 
						{
							src: '../images/animations/waiter_large.gif',
							styles: {
								position: 'absolute',
								width: 24,
								height: 24,
								zIndex: 999
							}
						},
						layer: 
						{
							style: 'background:rgb(0, 0, 0) none repeat scroll 0% 0%;',
							opacity: 0.5
						}
					},
					onRequest: removeSelectedMenuItem,
					onComplete: function()
						{
							tips.attach('.tooltip');
							var visible_tips = $$('.tip-top');
							
							if (visible_tips.length > 0)
							{
								for (var i=0; i<visible_tips.length; i++)
								{
									var parent = visible_tips[i].getParent();
									if (parent)
									{
										parent.setStyle('visibility','hidden');
									}
								}
							}
							
							if (isIe())
							{
								item.setAttribute('className', item.className + ' selected');
							}
							else
							{
								item.addClass('selected');
							}
						}
				}
			).send(data);
		}
	}
}

var removeSelectedMenuItem = function ()
{
	var menu_items = $$('span.menu_item a');
	
	menu_items.each(function (item)
		{
			if (item.hasClass('selected'))
			{
				item.removeClass('selected').morph('.menu_item');
			}
		});
}

var isIe = function ()
{
	return navigator.appVersion.indexOf("MSIE")!=-1 && navigator.userAgent.indexOf('Opera ') == -1; //(navigator.appName.toUpperCase() == 'MICROSOFT INTERNET EXPLORER');
}

var isIeSix = function ()
{
	return Browser.Engine.trident4;
}

var new_window = function (name, location, width, height)
{
	if (width)
	{
		if (width < 1)
		{	width = 600;	}
	}
	else
	{	width = 600;	}
	
	if (height)
	{	
		if (height < 1)
		{	height = 400;	}
	}
	else
	{	height = 400;	}
		
	var top		= (screen.height - height)/2;
	var left	= (screen.width - width)/2;
							
	window.open(location, name, 'top=' + top + ',left=' + left + ',toolbar=no,scrollbars=yes,resizable=yes,height=' + height + ',width=' + width).focus();
}

var update_buytickets = function (refferer_id)
{
	var buy_tickets = $('buy_tickets');
	if (buy_tickets)
	{
		buy_tickets.set('href','https://www.webtickets.co.za/assembly/index.asp?itemid=1865&referrerid=' + refferer_id.toString());
	}
}

var highlight_x = function(element,className)
{
	element = $(return_id(element));
					
	if(element)
	{
		element.set('morph', {link: 'chain',duration:'short'});	
		element.morph(className);
	}
}
var read_more = function (event_number)
{
	fetch_event = event_number;
	
	ajax_get_event.options.update = $('content');
	ajax_get_event.addEvent('complete',function(){removeSelectedMenuItem();attachPreviousNextEvents();});
	get_event(event_number,0);	
}
		
var attachPreviousNextEvents = function ()
{
	var previous_link = $('previous_link');
	
	if (previous_link)
	{
		previous_link.addEvent ('click', function(){get_event(fetch_event,1);});
	}
	
	var next_link = $('next_link');
	
	if (next_link)
	{
		next_link.addEvent ('click', function(){get_event(parseInt(fetch_event,10),2);});
	}
		
	var previous = $('previous');
	
	if (previous)
	{
		previous.addEvent ('mouseover', function(){if(fetch_event!=min_events){this.set('src','../images/previous_available.png');}});
		previous.addEvent ('mouseout', function(){this.set('src','../images/previous.png');});
	}
		
	var next = $('next');
	
	if (next)
	{
		next.addEvent ('mouseover', function(){if(fetch_event!=max_events){this.set('src','../images/next_available.png');}});
		next.addEvent ('mouseout', function(){this.set('src','../images/next.png');});
	}
}

var showDropdown = function ()
	{
		var drop_down = $('events_dropdown_menu');
		
		if(drop_down)
		{
			drop_down.morph('.unhidden');
		}
	}
	
var hideDropdown = function ()
	{
		var drop_down = $('events_dropdown_menu');
		
		if(drop_down)
		{
			drop_down.morph('.hidden');
		}
	}
	
var reattachTips = function()
	{
	
		tips.attach('.tooltip');
		var visible_tips = $$('.tip-top');
		
		if (visible_tips.length > 0)
		{
			for (var i=0; i<visible_tips.length; i++)
			{
				var parent = visible_tips[i].getParent();
				if (parent)
				{
					parent.setStyle('visibility','hidden');
				}
			}
		}
	}
