winwidth = window.getSize().x;
winheight = window.getSize().y;
catportheight = winheight-105;
pagewidth = 0;


reLayout = function () {
	
	winwidth = window.getSize().x;
	winheight = window.getSize().y;
	catportheight = winheight-105;
	pagewidth = 0;
	
	if ($('columnizeeventtext')) {
		var commcols = $('columnizeeventtext').getElements('div');
		var numcommcols = commcols.length;
		var eventtextwidth = (numcommcols*400)+41+4;
		$('columnizeeventtext').setStyle('width', eventtextwidth-(41+4));
		$('contentreel').setStyle('width', contentreel_given_width+eventtextwidth);
		if ($('eventtextleft')&&$('eventtextright')&&$('eventtextrightshadow')) {
			$('eventtextleft').setStyle('left', $('columnizeeventtext').getPosition($('contentreel')).x-41);
			$('eventtextright').setStyle('left', $('columnizeeventtext').getPosition($('contentreel')).x+$('columnizeeventtext').getWidth()-16);
			$('eventtextrightshadow').setStyle('left', $('columnizeeventtext').getPosition($('contentreel')).x+$('columnizeeventtext').getWidth()+4);
		}
	}
	
	if (currpagecommenting==1) {
		var commcols = $('columnizecomments').getElements('div');
		var numcommcols = commcols.length;
		if (currnumcomments==0) {
			$('commentbelt').setStyle('width', 302+25);
			$('commentbeltbg').setStyle('left', 32);
			$('commentbeltbg').setStyle('width', 302+25-32-24);
			pagewidth = $('contentreel').getSize().x + 302+25+10+10;
		} else {
			$('commentbelt').setStyle('width', (numcommcols*262)+302+25);
			$('commentbeltbg').setStyle('left', 32);
			$('commentbeltbg').setStyle('width', (numcommcols*262)+302+25-32-24);
			pagewidth = $('contentreel').getSize().x + (numcommcols*262)+302+25+10+10;
		}
	} else {
		pagewidth = $('contentreel').getSize().x + 10+10;
	}
	
	
	
	
	
	if (menustate=='open') {
		$('grandmasterwrapper').setStyle('top', winheight);
		$('menupanel').setStyle('top', -100);
		$$('#bright', '#brightlogo').setStyle('height', winheight);
		$$('.catbtn').setStyle('background-position', '0px 0px');
	} else {
		$('menupanel').setStyle('top', -winheight-100);
		$$('.catbtn').setStyle('background-position', '0px -66px');
	}
	
	$('contentreel').setStyle('margin-left', 10);
	$$('#dark', '#darklogo', '#bguidetext').setStyle('height', winheight);
	$$('#bright', '#dark', '#menupanel', '#grandmasterwrapper', '#contentcell', '#categoryport').setStyle('width', winwidth);
	$$('#categoryreel').setStyle('width', winwidth*numcats);
	$$('#bright', '#dark').setStyle('background-position', 'center '+Math.round(-((1200-winheight)/2))+'px');
	$$('#contentbelt', '#contentport').setStyle('width', pagewidth);
	$$('#categoryport', '#categoryreel').setStyle('height', catportheight);
	
	$('beltshadow').setStyle('width', $('contentreel').getSize().x-14);
  if (currpagecommenting==1) {
		$('beltshadowm').setStyle('left', $('contentreel').getSize().x+3);
		$('commshadow').setStyle('left', $('contentreel').getSize().x+38);
		$('commshadow').setStyle('width', $('commentbelt').getSize().x-53);
  }
	$('beltshadowr').setStyle('left', pagewidth-35);
	
	$('grandmasterwrapper').setStyle('height', winheight-95);

	$('contentcell').setStyle('height', winheight-95);
	ccmargintop = (winheight-(115 + 503))/2;
	ccmargintop = (ccmargintop>=0) ? ccmargintop : 0;
	$('contentport').setStyle('margin-top', ccmargintop );
	if ($('event_listing_title')) $('event_listing_title').setStyle('top', ccmargintop-12 );
	
	$('categoryreel').setStyle('left', ((currcat-1)*(0-winwidth))+'px');
	if (currcat!=0) {
		$('catmenuindic').setStyle('left', $('cat'+currcat+'img').getPosition( $('catbtns')).x + $('cat'+currcat+'img').getSize().x + 2 );
	}
	
	$$('.thumbsport', '.thumbcell').setStyle('width', winwidth);
	$$('.thumbsport', '.thumbcell').setStyle('height', catportheight);
	if ($('calendartablewrap')) $('calendartablewrap').setStyles({'width': winwidth, 'height': catportheight});
	if ($('calendartable')) $('calendartable').setStyles({'width': winwidth-20, 'height': catportheight-25});
	
	if ($('cat1btn')) {
		iconbeltwidth = iconstotalwidth + (numcats * (9 + 9)) + 12;
		$('catbtns').setStyle('width', iconbeltwidth);
		if (iconbeltwidth>(winwidth-catmenuleft-12)) {
			$('catmenu').setStyle('left', 35+catmenuleft+bgw);
			$('catmenu').setStyle('width', winwidth-catmenuleft-40-40);
			$$('#menuscrollerleft', '#menuscrollerright').setStyle('display', 'block');
		} else {
			$('catmenu').setStyle('left', catmenuleft+bgw);
			$('catmenu').setStyle('width', winwidth-catmenuleft);
			$$('#menuscrollerleft', '#menuscrollerright').setStyle('display', 'none');
		}
		
		if ( ($('catmenu').getSize().x-$('catbtns').getSize().x) < 0 ) {
			if ( ($('catmenu').getSize().x-$('catbtns').getSize().x) > ($('catbtns').getStyle('left').toInt()+12) ) {
				$('catbtns').setStyle('left', ($('catmenu').getSize().x-$('catbtns').getSize().x-12) );
			}
		} else {
			$('catbtns').setStyle('left', 0 );
		}
	}
	
	
	if ($('TB_overlay')) {
		TB_overlaySize();
	}
	if ($('dialog')) {
		dialogposition();
	}
	
	if($('ltie7')) {
		$('ltie7').setStyle('width', winwidth);
	}
	
	/*
	if ($('calendarport') && $('calendarport').getElement('table') && ($('calendarport').getElement('table').getWidth()>winwidth)) {
		$('calendarport').setStyle('width', $('calendarport').getElement('table').getWidth());
	} else {
		$('calendarport').setStyle('width', '100%');
	}
	*/
	
	if ($$('.numevents')&&$('calendartable')) $$('.numevents').setStyle('width', $('calendartable').getWidth().toInt()/7);
	if ($$('.datecircle')&&$('calendartable')) $$('.datecircle').setStyle('width', $('calendartable').getWidth().toInt()/7);
	
	$$('.deaddatecell', '.emptydatecell', '.datecell').each(function(item, index){
		item.setStyle('background-position', '-'+item.getPosition($('calendartable')).x+'px '+(1024+($('calendartable').getHeight()-item.getPosition($('calendartable')).y))+'px');
	});
	
	eventdropdownpos();
	
}


function eventdropdownpos() {
	if ($('eventtypemenu') && $('eventtypemenubtn') && $('cat1btn') && $('cat1img').getProperty('src')=='/caticons/1_events.png') {
		var offset = 17;
		$('eventtypemenubtn').setStyle('left', $('cat1btn').getPosition().x);
		$('eventtypeselection').setStyle('left', $('cat1btn').getPosition().x-23);
		$('eventtypemenu').setStyle('left', $('cat1btn').getPosition().x-offset);
		$('eventtypemenubg').setStyles({
			'left': $('cat1btn').getPosition().x-offset,
			'background-position': (Math.round(-((1600-winwidth)/2))-($("cat1btn").getPosition().x-offset))+'px '+(Math.round(-((1200-winheight)/2))-90)+'px'
		});
	}
}


var iconffwtimer = 0;
ffwicons = function () {
	if ( ($('catmenu').getSize().x-$('catbtns').getSize().x) < ($('catbtns').getStyle('left').toInt()+12) ) {
		$('catbtns').setStyle('left', $('catbtns').getStyle('left').toInt()-5 );
		eventdropdownpos();
		iconffwtimer = setTimeout(ffwicons, 10);
	}
}
var iconrewtimer = 0;
rewicons = function () {
	if ( 0 > $('catbtns').getStyle('left').toInt() ) {
		$('catbtns').setStyle('left', $('catbtns').getStyle('left').toInt()+5 );
		eventdropdownpos();
		iconrewtimer = setTimeout(rewicons, 10);
	}
}

disabler = function(dur) {
	new Element('div').setProperty('id', 'TB_overlay').injectInside(document.body);
	$('TB_overlay').setOpacity(0);
	TB_overlaySize();
	if (dur) {
		setTimeout(fuckdisabler, dur);
	}
}
fuckdisabler = function () {
	$('TB_overlay').dispose();
}



openmenu = function() {
	disabler(menuduration);
	setTimeout("$$('.catbtn').setStyle('background-position', '0px 0px');", (menuduration/2));
	$('menupanel').tween('top', -100);
	$('grandmasterwrapper').tween('top', winheight);
	$('categoryreel').setStyle('left', (currcat-1)*(0-winwidth));
	$('logoclick').removeEvents();
	if (currcatid!=0) {
		$('logoclick').addEvent('click', function() {
			location.href='/';
		});
	} else {
		$('logoclick').addEvent('click', function() {
			closemenu();
		});
	}
	if (currcat==0) {
		currcat=1;
		clearTimeout(reeltimer);
		$('categoryreel').setStyle('left', 0);
		$('catmenuindic').setStyle('left', $('cat1img').getPosition( $('catbtns')).x + $('cat1img').getSize().x + 2);
	}
	$('bright').tween('height', winheight);
	$('brightlogo').tween('height', winheight);
	$('bright').setStyle('visibility', 'visible');
	$('brightlogo').setStyle('visibility', 'visible');
	/*
	if ($('eventtypemenu')) {
		$('eventtypemenu').setStyle('display','none');
		$('eventtypemenubg').setStyle('display','none');
		$('eventtypemenubg').setStyle('background-image', 'url(/g/1_bg.jpg)');
		$('eventtypemenubtn').setStyle('background-position', '23px 2px');
		$$('#eventtypemenu table td').setStyle('color', '#000');
		$$('#eventtypeselection').setStyle('color', '#000');
		Cufon.replace('#eventtypemenu',{ fontFamily: 'clarendon', hover: true, hoverables: { td: true } });
		Cufon.replace('#eventtypeselection',{ fontFamily: 'clarendon' });
	}*/
	setTimeout("$('grandmasterwrapper').setStyle('visibility', 'hidden'); menustate='open';", menuduration);
}

closemenu = function() {
	disabler(menuduration);
	currcat = currpagecat;
	setTimeout("$$('.catbtn').setStyle('background-position', '0px -66px');", (menuduration/2));
	(currcat == 0) ? $('catmenuindic').tween('left', -50) : $('catmenuindic').tween('left', $('cat'+currcat+'img').getPosition( $('catbtns')).x + $('cat'+currcat+'img').getSize().x + 2);
	$('menupanel').tween('top', -winheight-100);
	$('grandmasterwrapper').tween('top', 95);
	$('bright').tween('height', 0);
	$('brightlogo').tween('height', 0);
	
	$('logoclick').setStyle('display', 'block');
	$('grandmasterwrapper').setStyle('visibility', 'visible');
	$('logoclick').removeEvents();
	$('logoclick').addEvent('click', function() {
		location.href='/';
	});
	if ($('eventtypemenu')) {
		$('eventtypemenu').setStyle('display','none');
		$('eventtypemenubg').setStyle('display','none');
		$('eventtypemenubg').setStyle('background-image', 'url(/g/1_bg2.jpg)');
		$('eventtypemenubtn').setStyle('background-position', '23px -12px');
		$$('#eventtypemenu table td').setStyle('color', '#e0d4c5');
		$$('#eventtypeselection').setStyle('color', '#e0d4c5');
		Cufon.replace('#eventtypemenu',{ fontFamily: 'clarendon', hover: true, hoverables: { td: true } });
		Cufon.replace('#eventtypeselection',{ fontFamily: 'clarendon' });
	}
	setTimeout("$('bright').setStyle('visibility', 'hidden'); $('brightlogo').setStyle('visibility', 'hidden');  menustate='closed';", menuduration);
}


checkform = function() {
	if (document.commentform.comment.value!='Your comment...' && document.commentform.comment.value!='' && document.commentform.name.value!='your name' && document.commentform.name.value!='') {
		$('commentsubmitbtn').setStyles({
			opacity: 1,
			cursor: 'pointer'
		});
		$('commentsubmitbtn').removeEvents();
		$('commentsubmitbtn').addEvent('click', function() {
			document.commentform.submitbtn.click();
		});
		$('commentatororgan').value='y';
	} else {
		$('commentsubmitbtn').setStyles({
			opacity: 0.5,
			cursor: 'default'
		});
		$('commentsubmitbtn').removeEvents();
		$('commentatororgan').value='n';
	}
}
function disableEnterKey(e)
{
	var key;
	if(window.event)
		key = window.event.keyCode; //IE
	else
		key = e.which; //firefox
	if(key == 13) {
		event.preventDefault();
		return false;
	} else {
		return true;
	}
}

focuscomment = function (field) {
	if (field=='name' && $('commentform'+field).value=='your name') {
		$('commentform'+field).value='';
	} else if (field=='comment' && $('commentform'+field).value=='Your comment...') {
		$('commentform'+field).value='';
	}
	focusedel='comment';
}
blurcomment = function (field) {
	if (field=='name' && $('commentform'+field).value=='') {
		$('commentform'+field).value='your name';
	} else if (field=='comment' && $('commentform'+field).value=='') {
		$('commentform'+field).value='Your comment...';
	}
	focusedel=null;
}



var pagescrolltimer = 0;
scrollpage = function (dir) {
	var pagestep = (dir=='ffw') ? 50 : -50;
	$('contentcell').scrollLeft += pagestep;
	pagescrolltimer = setTimeout("scrollpage('"+dir+"')", 10);
}
gotocat = function (dir) {
	if (dir=='next' && currcat<numcats) {
		var descat = currcat+1;
	} else if (dir=='prev' && currcat>1) {
		var descat = currcat-1;
	} else {
		var descat = 0;
	}
	if (descat!=0) {
		switchcat(descat);
	}
}
bindkeyboard = function () {
	document.onkeyup = null;
	document.onkeyup = function(event){
		var event = new Event(event);
		switch (event.code) {
			case 39: //right arrow
				if (menustate=='closed' && focusedel!='comment') {
					clearTimeout(pagescrolltimer);
					bindkeyboard();
					event.preventDefault();
					return false;
				}
				break;
			case 37: //left arrow
				if (menustate=='closed' && focusedel!='comment') {
					clearTimeout(pagescrolltimer);
					bindkeyboard();
					event.preventDefault();
					return false;
				}
				break;
		}
	}
	document.onkeydown = null;
	document.onkeydown = function(event){
		var event = new Event(event);
		switch (event.code) {
			case 39: //right arrow
				if (menustate=='closed' && focusedel!='comment') {
					document.onkeydown = null;
					scrollpage('ffw');
					event.preventDefault();
					return false;
				} else if (menustate=='open' && focusedel!='comment') {
					gotocat('next');
					event.preventDefault();
					return false;
				}
				break;
			case 37: //left arrow
				if (menustate=='closed' && focusedel!='comment') {
					document.onkeydown = null;
					scrollpage('rew');
				} else if (menustate=='open' && focusedel!='comment') {
					gotocat('prev');
					event.preventDefault();
					return false;
				}
				break;
			case 38: //up arrow
				if (menustate=='closed' && focusedel!='comment') {
					pagescrollfx.toLeft();
					event.preventDefault();
					return false;
				}
				break;
			case 40: //down arrow
				if (menustate=='closed' && focusedel!='comment') {
					pagescrollfx.toRight();
					event.preventDefault();
					return false;
				}
				break;
			case 32: //space
				if (focusedel!='comment' && dialogstate=='closed') {
					if (menustate=='open') {
						closemenu();
						event.preventDefault();
						return false;
					} else if (menustate=='closed') {
						openmenu();
						event.preventDefault();
						return false;
					}
				}
				break;
			case 9: //tab
				if (focusedel!='comment') {
					return false
				}
				break;
		}
	}
}

scrollcatmenu = function(descat) {
	var indicdest = $('cat'+descat+'img').getPosition($('catbtns')).x + $('cat'+descat+'img').getSize().x + 2;
	if (indicdest > ($('catmenu').getSize().x-37) ) {
		mtbsc = indicdest - ($('catmenu').getSize().x-37);
		$('catbtns').tween('left', -mtbsc );
	} else {
		$('catbtns').tween('left', 0 );
	}
	setTimeout(eventdropdownpos, menuduration);
}
switchcat = function(catcount) {
	if (currcat==catcount && menustate=='open') {
		closemenu();
	} else {
		currcat=catcount;
		clearTimeout(reeltimer);
		(menustate=='closed') ? openmenu() : null;
		$('categoryreel').tween('left', (catcount-1)*(0-winwidth));
		$('catmenuindic').tween('left', $('cat'+catcount+'img').getPosition( $('catbtns')).x + $('cat'+catcount+'img').getSize().x + 2);
		scrollcatmenu(currcat);
	}
}
dialogposition = function () {
	if ($("dialog")) {
		var dialogwidth = $('dialog').getSize().x;
		var dialogheight = $('dialog').getSize().y;
		if (dialogstate=='open') {
			$("dialog").setStyles({
				left: ( (window.getWidth() - dialogwidth) / 2),
				top: ( (window.getHeight() - dialogheight) / 2)
			});
		} else {
			$("dialog").setStyles({
				left: ( (window.getWidth() - dialogwidth) / 2),
				top: ( window.getHeight() )
			});
		}
	}
}
var dialogbgimgs = new Asset.images(['/g/1_dialog_contr_bg.png','/g/1_dialog_subsc_bg.png']);
var dialogstate = 'closed';
opendialog = function (dialog) {
	disabler();
	$('TB_overlay').addEvent('click', function(){
		closedialog();
	});
	
	if (dialog=='contribute') {
		var bg = '/g/1_dialog_contr_bg.png';
		var w = 359;
		var h = 448;
		var contentHTML = '/contribute.html';
	} else if (dialog=='subscribe') {
		var bg = '/g/1_dialog_subsc_bg.png';
		var w = 359;
		var h = 448;
		var contentHTML = '/subscribe.html';
	}
	
	new Element('div').setProperty('id', 'dialog').injectInside(document.body);
	$('dialog').setStyles({
		width: w,
		height: h,
		background: 'url('+bg+') no-repeat'
	});
	$('dialog').load(contentHTML);
	dialogposition();
	$('dialog').set('tween', {
		transition: Fx.Transitions.Elastic.easeOut,
		duration: 500,
		onComplete: function(){
			dialogstate = 'open';
			dialogposition();
		}
	});
	$('dialog').tween('top', (window.getHeight() - h) / 2);
}
closedialog = function () {
	$('dialog').set('tween', {
		transition: Fx.Transitions.Sine.easeOut,
		duration: 100,
		onComplete: function(){
			dialogstate = 'closed';
			$('TB_overlay').dispose();
			$('dialog').dispose();
		}
	});
	$('dialog').tween('top', window.getHeight());
	
}

function getInternetExplorerVersion()
// Returns the version of Internet Explorer or a -1
// (indicating the use of another browser).
{
  var rv = -1; // Return value assumes failure.
  if (navigator.appName == 'Microsoft Internet Explorer')
  {
    var ua = navigator.userAgent;
    var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
    if (re.exec(ua) != null)
      rv = parseFloat( RegExp.$1 );
  }
  return rv;
}


columnize = function (ref) {
		multiColumnSettings=new MultiColumnSettings;
	if (ref=='columnizethis') {
		multiColumnSettings.numberOfColumns=numcols;
		multiColumnSettings.colWidths=colwidths;
		multiColumnSettings.colHeights=colheights;
		multiColumnSettings.colXposs=colxposs;
		multiColumnSettings.colYposs=colyposs;
		if (typeof(colcolors)!='undefined') {
			multiColumnSettings.colColors=colcolors;
		}
		multiColumnSettings.artcols=true;
	} else if (ref=='columnizecomments') {
		var comtoth = (Browser.Engine.trident && getInternetExplorerVersion()<8) ? $(ref).getScrollSize().y : $(ref).getScrollSize().y-480;
		$(ref).setStyle('width', 'auto');
		var numnesscols = Math.ceil((comtoth/426)+1);
		multiColumnSettings.numberOfColumns = numnesscols;
		multiColumnSettings.colWidths=Array();
		for (i=0; i<numnesscols; i++) { multiColumnSettings.colWidths[i]=246; }
		multiColumnSettings.colHeights=Array();
		for (i=0; i<numnesscols; i++) { multiColumnSettings.colHeights[i]=426; }
		multiColumnSettings.colXposs=Array();
		for (i=0; i<numnesscols; i++) { multiColumnSettings.colXposs[i]=(i*262); }
		multiColumnSettings.colYposs=Array();
		for (i=0; i<numnesscols; i++) { multiColumnSettings.colYposs[i]=27; }
	} else if (ref=='columnizeeventtext') {
		var comtoth = (Browser.Engine.trident && getInternetExplorerVersion()<8) ? $(ref).getScrollSize().y : $(ref).getScrollSize().y;
		$(ref).setStyle('width', 'auto');
		multiColumnSettings.eventtext = true;
		var numnesscols = Math.ceil((comtoth/426)+1);
		multiColumnSettings.numberOfColumns = numnesscols;
		multiColumnSettings.colWidths=Array();
		for (i=0; i<numnesscols; i++) { multiColumnSettings.colWidths[i]=385; }
		multiColumnSettings.colHeights=Array();
		for (i=0; i<numnesscols; i++) { multiColumnSettings.colHeights[i]=426; }
		multiColumnSettings.colXposs=Array();
		for (i=0; i<numnesscols; i++) { multiColumnSettings.colXposs[i]=(i*400); }
		multiColumnSettings.colYposs=Array();
		for (i=0; i<numnesscols; i++) { multiColumnSettings.colYposs[i]=27; }
	}
	new MultiColumn(document.getElementById(ref),multiColumnSettings);
}


makecontrscroll = function() {
	if ($('contrdesc') && ($('contrdesc').getScrollSize().y>$('contrdesc').getSize().y) ) {
		$('contrdesc').addEvent('mouseenter', function() {
			contrdesccoord = ((winheight-(115 + 503))/2)+95+30;
			contrdesccoord = (contrdesccoord>=(95+30)) ? contrdesccoord : 95+30;
			contrdesccoord-= $('contentcell').getScroll().y;
		});
		$('contrdesc').addEvent('mousemove', function(event) {
			contrdescscr = ((event.page.y-contrdesccoord)*($('contrdesc').getScrollSize().y-$('contrdesc').getSize().y))/$('contrdesc').getSize().y;
			$('contrdesc').scrollTo(0, contrdescscr);
		});
	}
}



bindsharelinks = function() {
	var cat = currcattitle;
	var title = document.title;
	var introtext = '';
	if ($('contentreel')) {
		var pageparagraphs = $('contentreel').getElements('p');
		for (i=0; i<pageparagraphs.length; i++) {
			if (pageparagraphs[i].get('text').length>150) {
				introtext = pageparagraphs[i].get('text');
				break;
			}
		}
	}
	var htmlc = encodeURIComponent('<p><a href="'+location.href+'" target="_blank"><img src="http://'+domain+currpagethumb+'" /></a></p><p>'+introtext+'</p>');
	var plainc = encodeURIComponent(introtext);
	var facebooka = new Element('a', {href:'http://www.facebook.com/share.php?u='+encodeURIComponent(location.href), target:'_blank'});
	
	facebooka.wraps($('icon-facebook'));
	var twittera = new Element('a', {href:'http://twitter.com/home?status='+encodeURIComponent(title)+'+'+encodeURIComponent(location.href), target:'_blank'});
	twittera.wraps($('icon-twitter'));
	var myspacea = new Element('a', {href:'http://www.myspace.com/Modules/PostTo/Pages/?u='+encodeURIComponent(location.href)+'&c='+htmlc+'&t='+encodeURIComponent(title)+'&l=1', target:'_blank'});
	myspacea.wraps($('icon-myspace'));
	var netloga = new Element('a', {href:'http://www.netlog.com/go/manage/links/view=save&origin=external&url='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(title)+'&description='+plainc, target:'_blank'});
	netloga.wraps($('icon-netlog'));
	var deliciousa = new Element('a', {href:'http://delicious.com/save?v=5&noui&jump=close&url='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(title), target:'_blank'});
	deliciousa.wraps($('icon-delicious'));
	var digga = new Element('a', {href:'http://digg.com/submit?url='+encodeURIComponent(location.href)+'&title='+currpagetitle+encodeURIComponent(' - Dive Dive Dive')+'&bodytext='+plainc, target:'_blank'});
	digga.wraps($('icon-digg'));
	var googlea = new Element('a', {href:'http://www.google.com/bookmarks/mark?op=add&bkmk='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(title), target:'_blank'});
	googlea.wraps($('icon-google'));
	var bloggera = new Element('a', {href:'http://www.blogger.com/blog_this.pyra?t&u='+encodeURIComponent(location.href)+'&n='+encodeURIComponent(title)+'&a=ADD_SERVICE_FLAG&alinsu=0&aplinsu=0&alwf=true&hl=en&skipvpage=true&rm=false&showra=1&fpui=2&naui=8', target:'_blank'});
	bloggera.wraps($('icon-blogger'));
	var wpa = new Element('a', {href:'http://api.addthis.com/oexchange/0.8/view?desc=&url='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(title)+'&type=link&dest=wordpress&ate=&ip=&uci=&pco=&lng=', target:'_blank'});
	wpa.wraps($('icon-wordpress'));
	var typepada = new Element('a', {href:'http://www.typepad.com/services/quickpost/post?v=2&qp_show=ac&qp_href='+encodeURIComponent(location.href)+'&qp_title='+encodeURIComponent(title)+'&qp_text='+plainc, target:'_blank'});
	typepada.wraps($('icon-typepad'));
	var tumblra = new Element('a', {href:'http://www.tumblr.com/share?v=3&u='+encodeURIComponent(location.href)+'&t='+encodeURIComponent(title)+'&s='+htmlc, target:'_blank'});
	tumblra.wraps($('icon-tumblr'));
	var livea = new Element('a', {href:'https://skydrive.live.com/sharefavorite.aspx%2f.SharedFavorites??marklet=1&mkt=en-us&url='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(title)+'&top=1', target:'_blank'});
	livea.wraps($('icon-live'));
}

togglebreathing = function(elem) {
	if (elem) {
		if (window[elem+'alive']==true) {
			window[elem+'alive'] = false;
			window[elem+'breathefx'].cancel();
		} else {
			window[elem+'alive'] = true;
			breathing(elem);
		}
	}
}
breathing = function(elem) {
	window[elem+'breathefx'] = new Fx.Tween(elem, {
		transition :Fx.Transitions.Sine.easeInOut,
		duration: 700,
		onComplete: function (){
			if (window[elem+'alive']==true) {
				window[elem+'breathefx'] = new Fx.Tween(elem, {
					transition :Fx.Transitions.Sine.easeInOut,
					duration: 700,
					onComplete: function (){
						if (window[elem+'alive']==true) breathing(elem);
					}
				});
				window[elem+'breathefx'].start('opacity', 1);
			}
		}
	});
	window[elem+'breathefx'].start('opacity', 0.1);
}

swim = function(elem) {
	var swimfx = new Fx.Morph(elem, {
		transition: Fx.Transitions.Quad.easeIn,
		duration: 7000,
		onComplete: function (){
			swimfx.cancel();
			elem.setStyles({
				'left': -elem.getWidth()+24,
				'top': -elem.getHeight()+16
			});
			swimfx.start({
				'left': winwidth,
				'top': winheight
			});
		}
	});
	swimfx.start({
		'left': winwidth,
		'top': winheight
	});
}


bg_overlay_size = function() {
	$('bg_overlay').setStyles({
		'position': 'absolute',
		'left': 0,
		'top': 0,
		'z-index': 99,
		'width': 6000,
		'height': 6000,
		'cursor': 'pointer'
	});
	$('bg_overlay').addEvent('click', function() {
		closebguide();
	});
}
var bguide = false;
var bgw = 0;
openbguide = function() {
	bguide=true;
	bgw = 600;
	$('bguide').setStyles({
		'width': bgw,
		'height': 6000
	});
	$('bguidetext').setStyles({
		'display': 'block',
		'width': bgw
	});
	$('wtf').removeEvents();
	new Element('div').setProperty('id', 'bg_overlay').injectInside(document.body);
	$('bg_overlay').setOpacity(0);
	bg_overlay_size();
	$$('#logoclick','#subscriberclick','#contributeclick','#rssclick').setStyle('display', 'none');
	$$('#brightlogo','#bright','#darklogo','#dark','#catmenu','#menuscrollerleft','#menuscrollerright','#menupanel','#grandmasterwrapper','#bg_overlay').set('tween', {
		transition:Fx.Transitions.Sine.easeInOut,
		duration:menuduration,
		onComplete: function() {
			$('bguide').setStyle('z-index', 20);
			$('wtf').addEvent('click', function() {
				closebguide();
			});
		}
	});
	$$('#brightlogo','#darklogo').tween('left', bgw+20);
	var cml = $('catmenu').getStyle('left').toInt();
	$('catmenu').tween('left', bgw+cml);
	$('menuscrollerleft').tween('left', bgw+catmenuleft+2);
	$('menuscrollerright').tween('right', 12-bgw);
	$$('#bright','#dark','#menupanel','#grandmasterwrapper','#bg_overlay').tween('left', bgw);
}
closebguide = function() {
	$('bguide').setStyle('z-index', -5);
	$('wtf').removeEvents();
	$$('#brightlogo','#bright','#darklogo','#dark','#catmenu','#menuscrollerleft','#menuscrollerright','#menupanel','#grandmasterwrapper','#bg_overlay').set('tween', {
		transition:Fx.Transitions.Sine.easeInOut,
		duration:menuduration,
		onComplete: function(){
			bguide=false;
			bgw = 0;
			setTimeout(reLayout, 100);
			if ($('bg_overlay')) {
				$('bg_overlay').dispose();
			}
			$('bguidetext').setStyle('display', 'none');
			$$('#logoclick','#subscriberclick','#contributeclick','#rssclick').setStyle('display', 'block');
			$('wtf').addEvent('click', function() {
				openbguide();
			});
		}
	});
	$$('#brightlogo','#darklogo').tween('left', 20);
	var cml = $('catmenu').getStyle('left').toInt();
	$('catmenu').tween('left', cml-bgw);
	$('menuscrollerleft').tween('left', catmenuleft+2);
	$('menuscrollerright').tween('right', 12);
	$$('#bright','#dark','#menupanel','#grandmasterwrapper','#bg_overlay').tween('left', 0);
}


var new_prevnext = 'none';
var event_month_req = new Request.HTML({ 
	method: 'get', 
	url: '/eventcalendar.php',
	evalScripts: true,
	onSuccess: function(responseTree, responseElements, responseHTML, responseJavaScript) {
		$('calendarport').set('html', responseHTML);
		if ($('calendartablewrap')) {
			$('calendartablewrap').setStyles({
				'width': winwidth,
				'height': catportheight
			});
			$('calendartable').setStyles({
				'width': winwidth-20,
				'height': catportheight-25
			});
			if (new_prevnext=='prev') {
				$('calendartablewrap').setStyle('margin-left', -(winwidth));
			} else if (new_prevnext=='next') {
				$('calendartablewrap').setStyle('margin-left', (winwidth));
			}
			if ($$('.numevents')) $$('.numevents').setStyle('width', $('calendartable').getWidth().toInt()/7);
			if ($$('.datecircle')) $$('.datecircle').setStyle('width', $('calendartable').getWidth().toInt()/7);
			var cal_new_prevnext_fx = new Fx.Morph($('calendartablewrap'), {
				transition: Fx.Transitions.Quad.easeIn,
				duration: 200
			});
			cal_new_prevnext_fx.start({
				'margin-left': 0
			});
		}
		$$('.datecell').each(function(item, index){
			item.addEvents({
				'mouseenter': function(){
					this.addClass('hover');
				},
				'mouseleave': function(){
					this.removeClass('hover');
				}
			});
		});
		$$('.monthnamecell').each(function(item, index){
			item.addEvents({
				'mouseenter': function(){
					this.addClass('hover');
				},
				'mouseleave': function(){
					this.removeClass('hover');
				}
			});
		});
		$$('.deaddatecell', '.emptydatecell', '.datecell').each(function(item, index){
			item.setStyle('background-position', '-'+item.getPosition($('calendartable')).x+'px '+(1024+($('calendartable').getHeight()-item.getPosition($('calendartable')).y))+'px');
		});
		Cufon.replace('#calendartable',{ fontFamily: 'clarendon', hover: true, hoverables: { td: true } });
		//$$('.deaddatecell p').setStyle('color','#736a5f');
	} 
});
var cal_loadingHTML = '<table id="calendartablewrap" style="width:100%; border:none; background:none;" cellpadding="0" cellspacing="0" border="0"><tr><td style="width:100%; background:url(/g/loading.gif) no-repeat center center; border:none;"></td></tr></table>';

function load_event_month(month,prevnext,eventtype) {
	if ($('calendartablewrap') && prevnext!='none') {
		var cal_prevnext_fx = new Fx.Morph($('calendartablewrap'), {
			transition: Fx.Transitions.Quad.easeIn,
			duration: 150,
			onComplete: function (){
				$('calendarport').set('html', cal_loadingHTML);
				if ($('calendartablewrap')) $('calendartablewrap').setStyles({'width': winwidth, 'height': catportheight});
				if ($('calendartable')) $('calendartable').setStyles({'width': winwidth-20, 'height': catportheight-25});
				new_prevnext = prevnext;
				event_month_req.get('/eventcalendar.php?month='+month+'&type='+eventtype);
			}
		});
		if (prevnext=='prev') {
			cal_prevnext_fx.start({
				'margin-left': (winwidth)
			});
		} else {
			cal_prevnext_fx.start({
				'margin-left': -(winwidth)
			});
		}
	} else {
		$('calendarport').set('html', cal_loadingHTML);
		if ($('calendartablewrap')) $('calendartablewrap').setStyles({'width': winwidth, 'height': catportheight});
		if ($('calendartable')) $('calendartable').setStyles({'width': winwidth-20, 'height': catportheight-25});
		event_month_req.get('/eventcalendar.php?month='+month+'&type='+eventtype);
	}
}


function scrolltoeventmap() {
	if ($('contentcell')&&$('event-map')) {
		var mappos = $('event-map').getPosition($('contentreel')).x;
		var myFx = new Fx.Scroll($('contentcell'), {
			transition: Fx.Transitions.Sine.easeOut,
			duration: 300
		}).start(mappos-40, 0);
		//$('contentcell').scrollTo(mappos-40,0);
	}
}






window.addEvent('domready', function() {

	$(window).addEvent('scroll', function() {
		setTimeout ("$(window).scrollTo(0,0)", 1);
	});
	$('grandmasterwrapper').addEvent('scroll', function() {
		setTimeout ("$('grandmasterwrapper').scrollTo(0,0)", 1);
	});
	$('logoclick').addEvent('click', function() {
		location.href='/';
	});
	$('subscribeclick').addEvent('click', function() {
		opendialog('subscribe');
	});
	$('contributeclick').addEvent('click', function() {
		opendialog('contribute');
	});
	$('rssclick').addEvent('click', function() {
		location.href='/rss.xml';
	});
	$('wtf').addEvent('click', function() {
		openbguide();
	});
	$('menuscrollerleft').addEvent('mousedown', function() {
		rewicons();
	});
	$('menuscrollerright').addEvent('mousedown', function() {
		ffwicons();
	});
	$$('div').addEvent('mouseup', function() {
		clearTimeout(iconrewtimer);
		clearTimeout(iconffwtimer);
	});
	
	
	function hideeventdd() {
		$('eventtypemenu').setStyle('display','none');
		$('eventtypemenubg').setStyle('display','none');
	}
	function toggleeventdd(toggle) {
		$$('#eventtypemenu','#eventtypemenubg').set('morph', {
			transition: Fx.Transitions.Sine.easeOut,
			duration: 200,
			onComplete: function (){
				if (toggle!='reveal') {
					$$('#eventtypemenu','#eventtypemenubg').setStyle('display','none');
				}
			}
		});
		if (toggle=='reveal') {
			$$('#eventtypemenu','#eventtypemenubg').setStyle('display','block');
			$('eventtypemenu').morph({
				'clip': ['210px 130px 210px 0px', [0, 130, 210, 0]],
				'top': 90
			});
			$('eventtypemenubg').morph({
				'clip': ['0px 130px 0px 0px', [0, 130, 210, 0]]
			});
		} else {
			$('eventtypemenu').morph({
				'clip': ['0px 130px 210px 0px', [210, 130, 210, 0]],
				'top': 90-210
			});
			$('eventtypemenubg').morph({
				'clip': ['0px 130px 210px 0px', [0, 130, 0, 0]]
			});
		}
	}
	if ($('eventtypemenu') && $('cat1btn') && $('cat1img').getProperty('src')=='/caticons/1_events.png') {
		$('eventtypemenu').setStyles({
			'clip': [210, 130, 210, 0],
			'top': 90-210
		});
		$('eventtypemenubg').setStyles({
			'clip': [210, 130, 0, 0]
		});
		var myTimer = 0;
		$$('#eventtypemenubtn','#eventtypeselection','#eventtypemenu','#eventtypemenubg').addEvents({
			'mouseenter': function() {
				myTimer = $clear(myTimer);
				if ($('eventtypemenu').getStyle('display')=='none') toggleeventdd('reveal');
			},
			'mouseleave': function() {
				myTimer = (function(){toggleeventdd('hide')}).delay(200);
			}
		});
		
		$$('#eventtypemenu table td').each(function(item, index){
			item.addEvents({
				'mouseenter': function(){
					this.addClass('hover');
				},
				'mouseleave': function(){
					this.removeClass('hover');
				}
			});
		});
	}
	
	
	if (currpagecommenting==1) {
		$('commentsubmitbtn').setStyle('opacity', 0.5);
		$$('#commentformname', '#commentformgotcha').addEvent('keypress', function(event) { if(event.key=='enter'){ event.preventDefault(); return false; } });
	}

	var menufxopt = JSON.decode('{"transition":Fx.Transitions.Sine.easeInOut,"duration":menuduration}');
	
	$('menupanel').set('tween', menufxopt);
	$('grandmasterwrapper').set('tween', menufxopt);
	$('catmenuindic').set('tween', menufxopt);
	$('bright').set('tween', menufxopt);
	$('brightlogo').set('tween', menufxopt);
	$('categoryreel').set('tween', menufxopt);
	$('catbtns').set('tween', menufxopt);
	pagescrollfx = new Fx.Scroll($('contentcell'), menufxopt);
	
	
	$$('.thumb').addEvents({
		'mouseenter': function() {
			var meth = this.getElement('.meta').getScrollSize().y-1;
			meth = (meth<300) ? meth : 300;
			this.getElement('.thumbimg').tween('top', -meth );
			this.getElement('.meta').tween('top', 300-meth );
		},
		'mouseleave': function() {
			this.getElement('.thumbimg').tween('top', 0);
			this.getElement('.meta').tween('top', 300);
		}
	});
	var thumbfxopt = JSON.decode('{"transition":Fx.Transitions.Sine.easeInOut,"duration":150}');
	$$('.thumbimg').set('tween', thumbfxopt);
	$$('.meta').set('tween', thumbfxopt);
	
	
	$$('.coversleeve').addEvents({
		'mouseenter': function() {
			var meth = this.getElement('.covermeta').getScrollSize().y-1;
			meth = (meth<480) ? meth : 480;
			this.tween('bottom', -meth );
		},
		'mouseleave': function() {
			this.tween('bottom', 0);
		}
	});
	$$('.coversleeve').set('tween', thumbfxopt);
	
	
	$('contentcell').addEvent('mousewheel', function(event) {
		$('contentcell').scrollLeft -= event.wheel * mousewheelsensitivity;
		event.preventDefault();
		return false;
	});
	
	if (currpageshowmeta==1 || currcatsafetitle=='contributors') {
		bindsharelinks();
		$('contentreel').adopt($$('.contr'), $('contrdatecell'), $('sharelabel'), $('share'));
	}
	
	contentreel_given_width = $('contentreel').getStyle('width').toInt();
	
	
});


window.onresize = function () {
	reLayout();
}

setpage = function () {
	
	if ($('columnizethis')) {
		columnize('columnizethis');
	}
	
	if (currpagecommenting==1 && currnumcomments>0) {
		if ($('columnizecomments')) {
			columnize('columnizecomments');
		}
	}
	
	if ($('columnizeeventtext')) {
		columnize('columnizeeventtext');
	}
	
	reLayout();
	//Set the menu to the current article thumb
	if (currcatsafetitle=="contributors") {
		if ($('cthumb'+currpageid)!=null) {
			$('thumbsport'+currcat).scrollTo(0, ($('cthumb'+currpageid).getPosition($('thumbsport'+currcat)).y) );
		}
	} else {
		if ($('thumb'+currpageid)!=null) {
			$('thumbsport'+currcat).scrollTo(0, ($('thumb'+currpageid).getPosition($('thumbsport'+currcat)).y) );
		}
	}
	// Scroll category menu finger and the whole line-up in to right position
	$('cat'+currcat+'img') ? $('catmenuindic').setStyle('left', $('cat'+currcat+'img').getPosition($('catbtns')).x + $('cat'+currcat+'img').getSize().x + 2) : null;
	if ( $('catmenuindic').getPosition($('catmenu')).x > ($('catmenu').getSize().x-37) ) {
		mtbsc = $('catmenuindic').getPosition($('catmenu')).x - ($('catmenu').getSize().x-37);
		$('catbtns').setStyle('left', -mtbsc );
	}
	
	makecontrscroll();
	
	bindkeyboard();
	
	if (menustate=='open') {
		$$('#brightlogo', '#bright', '#darklogo', '#dark', '#menupanel', '#grandmasterwrapper', '#catmenu', '#menuscrollerleft', '#menuscrollerright').setStyle('visibility', 'visible');
	} else {
		$$('#darklogo', '#dark', '#menupanel', '#grandmasterwrapper', '#catmenu', '#menuscrollerleft', '#menuscrollerright').setStyle('visibility', 'visible');
	}
	if ($('D_loadc')) {
		$('D_loadc').dispose();
	}
	if ($('TB_overlay')) {
		$('TB_overlay').set('tween', {
			duration: 400,
			onComplete : function() {
				$('TB_overlay').dispose();
			}
		});
		$('TB_overlay').tween('opacity', 1, 0);
	}
	
	// Scroll to the comments if the get variable is set
	if (show=='comments') {
		if (Browser.Engine.trident) {
		  setTimeout("$('contentcell').scrollTo($('contentreel').getSize().x, 0);", 1000);
		} else {
			$('contentcell').scrollTo($('contentreel').getSize().x, 0);
		}
	}
	

/*
	if ($('eventtypemenu')) {
		if (menustate=='closed') {
			$('eventtypemenubg').setStyle('background-image', 'url(/g/1_bg2.jpg)');
			$('eventtypemenubtn').setStyle('background-position', '23px -12px');
			$$('#eventtypemenu table td').setStyle('color', '#e0d4c5');
			$$('#eventtypeselection').setStyle('color', '#e0d4c5');
		}
		Cufon.replace('#eventtypemenu',{ fontFamily: 'clarendon', hover: true, hoverables: { td: true } });
		Cufon.replace('#eventtypeselection',{ fontFamily: 'clarendon' });
	}
	Cufon.replace('.noposter p.h1',{ fontFamily: 'clarendon' });
*/
	// Load pagethumbs
	var thumbimgsl = new Asset.images(thumbimgs, {onProgress: function(i){$('thumbimg'+thumbids[i]).src=thumbimgs[i];} });
	
	// Load contributorthumbs
	var cthumbimgsl = new Asset.images(cthumbimgs, {onProgress: function(i){$('cthumbimg'+cthumbids[i]).src=cthumbimgs[i];} });
	
}
/*
Cufon.replace('#columnizeeventtext h1',{ fontFamily: 'clarendon' });
Cufon.replace('#columnizeeventtext h4',{ fontFamily: 'clarendon' });
*/