function initialize() {
	enableJSLinks();
	setUpPopups();
	}

//Javascript Detection
function enableJSLinks() {
	var i=0;
	
	while(elem=document.getElementsByTagName("a")[i++]) {
		if(elem.href.match("_nojs") && !elem.rel.match("nojs"))
			elem.href=String(elem.href.replace(/_nojs/, ""));
		}
	}
	
	
//Enable Popups
function setUpPopups() {
	var i=0;
	
	while(elem=document.getElementsByTagName("a")[i++]) {
		if(elem.rel.match("popup"))
			elem.onclick=function() {
				window.open(this.href);
				return false;
				};
		}
	}
	
//Portfolio Selection
var selectedPort = '';
var defaultPort = '';

function selectPort(target) {
	if(document.getElementById(target+'-src')) {
		document.getElementById(target+'-src').className='active';
		document.getElementById(target+'-descrip').className='item';
		document.getElementById(target+'-img').className='item';
		window.location.hash=target;
		}
	selectedPort = target;
	}
	
function deselectPort(target) {
	if(document.getElementById(target+'-src')) {
		document.getElementById(target+'-src').className='';
		document.getElementById(target+'-descrip').className='item-hidden';
		document.getElementById(target+'-img').className='item-hidden';
		}
	}
	
function reselectPort(target) {
	deselectPort(selectedPort);
	selectPort(target);
	}
	
function getURLHash() {
	var urlHash = String(document.location.hash);
	if(urlHash) {
		var urlTarget = urlHash.substring(1, urlHash.length);
		//alert(urlTarget);
		return urlTarget;
		}
	return '';
	}

function initializePort(target) {
	defaultPort = target;

	var urlTarget = getURLHash();
	if(urlTarget == '') {
		//alert("selectport "+target);
		selectPort(target);
		}
	else
		selectPort(urlTarget);
		
	setInterval(function() {
		var currentHash = getURLHash();
		if(currentHash == '') {
			reselectPort(defaultPort);
			}
		else if(currentHash != selectedPort) {
			//alert("change!");
			reselectPort(currentHash);
			}
			
		}, 500);
	}

//Archive selection
var oldElemArch = 'a';

function selectArch(monthyear) {
	document.getElementById(monthyear).className='item';
	}
	
function deselectArch(monthyear) {
	document.getElementById(monthyear).className='item-hidden';
	}
	
function reselectArch(monthyear) {
	if(oldElemArch!='a') deselectArch(oldElemArch);
	selectArch(monthyear);
	oldElemArch = monthyear;
	}
	
//Archive Captcha refresh

var key=0;
function captcha() {
	if(!key) key=1+(Math.floor(Math.random()*5));
	else key=1+(key+(Math.floor(Math.random()*4)))%5;
	
	
	var code = '';
	
	if(key==1) {code = 'bdeedd2754'};
	if(key==2) {code = '3681df8d04'};
	if(key==3) {code = '7625423987'};
	if(key==4) {code = '8a6db8cdcb'};
	if(key==5) {code = '6470b8509d'};
		
		
	document.getElementById('captchaimg').src='/img/captcha/' + code + '.gif';
	document.getElementById('captchamp3').href='/img/captcha/' + code + '.mp3';
	document.getElementById('captchakey').value=code;
	} 
