<!--




function externalLinks() {
  if (!document.getElementsByTagName) return;
  var anchors = document.getElementsByTagName("a");
  for (var i=0; i<anchors.length; i++) {
    var anchor = anchors[i];
    if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external")
      anchor.target = "_blank";
	    }
}


function deliciouslink(url,pagetitle) {
	document.write("<p>+ <a href='http://del.icio.us/post?url="+url+"&amp;title="+pagetitle+"'>Add this page to my del.icio.us</a></p>");


}

function init_viewer() {
if (!document.getElementsByTagName) return false;
var viewer = document.getElementById('viewer-nav');
if (!viewer) return false;
var viewerlinks = viewer.getElementsByTagName('A');

	for (var i=0; i < viewerlinks.length; i++) {
		viewerlinks.item(i).onclick = function() {
				/* alert(this); */
				switch_image(this);
				 this.blur();  
				 return false;
				}
	}
}

function changecasestudy(theRef) {
	if (!document.getElementsByTagName) return false;
	var selector = document.getElementById('selector');
	if (!selector) return false;
	var caselinks = selector.getElementsByTagName('A');

	for (var i=0; i < caselinks.length; i++) {
		caselinks[i].className = '';  // reset on states
			
			if (caselinks[i] == theRef) {
				var projectlink = document.getElementById('projectlink');
				var projTitle = caselinks[i].getAttribute('title');
				if (projTitle) { document.getElementById('projecttitle').childNodes[0].nodeValue = projTitle; 	}
				
				var casestudyurl = caselinks[i].getAttribute('href');
				if (casestudyurl) { projectlink.href = casestudyurl; }
					
					requestedimage = (i+1)+'.jpg';
					
					var currentimagelocation = document.getElementById('thephoto').src;
					var imagearr = currentimagelocation.split("/");
					var currentimage = imagearr[(imagearr.length)-1]; 
	
					if (currentimage != requestedimage) {   //check if the requested image is different from the current one
						caselinks[i].className = 'on';
						loadimage('/images/uploads/casestudies/'+requestedimage);
						}
					else {
						caselinks[i].className = 'on';
						}
					
			}
		
		}

}


function switch_image(theRef) {
	if (!document.getElementsByTagName) return false;
	var viewer = document.getElementById('viewer');
	if (!viewer) return false;
	var viewerlinks = viewer.getElementsByTagName('A');

	for (var i=0; i < viewerlinks.length; i++) {
		viewerlinks[i].className = '';  // reset on states
			
			if (viewerlinks[i] == theRef) {
				var curr_image_url = document.getElementById('workimage').src;
				var req_image_url = viewerlinks[i].getAttribute('href');
				
				curr_image = curr_image_url.substring(curr_image_url.lastIndexOf("/images/"));
				req_image = req_image_url.substring(req_image_url.lastIndexOf("/images/"));
				// req_image = req_image_url.substring(req_image_url.lastIndexOf("/images/")+1);
			
				// alert(curr_image);
				
					if (curr_image != req_image) {   //check if the requested image is different from the current one
						viewerlinks[i].className = 'on';
						loadimage(req_image);
						}
					else {
						viewerlinks[i].className = 'on';
						}
					
			}
		
		}

}




function swtImg(imageref,itemref) {
	var viewer = document.getElementById('viewer');
	var viewerlinks = viewer.getElementsByTagName('A');
	var theitem = document.getElementById(itemref);
	var	casestudyimage = document.getElementById('thephoto');
	var currentimage = casestudyimage.src;
	var reqimage = imageref;

	casestudyimage.style.display = 'none';
	
	theitem.blur(); //get rid of dodgy bordering ~ accessibility police please don't hurt me

	if (currentimage != reqimage)  //check if the requested image is different from the current one
	{

	//reset any current "on" states
	for (var i = 0; i < viewerlinks.length; i++) {	viewerlinks[i].className = '';	}
	
	
	// show new picture	
	if (document.images) {
//			casestudyimage.src = '/images/uploads/casestudies/' + reqimage;
			casestudyimage.src = reqimage;
					
			//change "on" state
			theitem.className = 'on';
			}
	}
	
	casestudyimage.style.display = 'block';

}



function loadimage(caseimg){
				var	workimage = document.getElementById('workimage');
				workimage.style.visibility = 'hidden';
				
				newimg = new Image();
				newimg.src = caseimg;
				
			if (newimg.complete) {
					workimage.src = caseimg;
					workimage.style.visibility = "visible";
					}
				else {
					setTimeout("loadimage('"+caseimg+"')", 50);
					}
}


function initImage(imageId) {
	// imageId = 'bannerimage';
	if (image = document.getElementById(imageId)) {
	setOpacity(image, 0);
	image.style.visibility = "visible";
	fadeIn(imageId,0);
	}
}

function fadeIn(objId,opacity) {
	if (document.getElementById) {
		obj = document.getElementById(objId);
		if (opacity <= 100) {
			setOpacity(obj, opacity);
			opacity += 10;
			window.setTimeout("fadeIn('"+objId+"',"+opacity+")", 100);
		}
	}
}

function fadeOut(objId,opacity) {
	if (document.getElementById) {
		obj = document.getElementById(objId);
		if (opacity >= 10) {
			setOpacity(obj, opacity);
			opacity -= 20;
			window.setTimeout("fadeOut('"+objId+"',"+opacity+")", 50);
		}
	}
}


function setOpacity(obj, opacity) {
	opacity = (opacity == 100)?99.999:opacity;
	// IE/Win
	obj.style.filter = "alpha(opacity:"+opacity+")";
	// Safari<1.2, Konqueror
	obj.style.KHTMLOpacity = opacity/100;
	// Older Mozilla and Firefox
	obj.style.MozOpacity = opacity/100;
	// Safari 1.2, newer Firefox and Mozilla, CSS3
	obj.style.opacity = opacity/100;
}



function addEvent(obj, evType, fn, useCapture){
  if (obj.addEventListener){
    obj.addEventListener(evType, fn, useCapture);
    return true;
  } else if (obj.attachEvent){
    var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
    alert("Handler could not be attached");
  }
} 


function shuffle() {
	if (document.getElementById("shufflelink")) {
		var shufflelink = document.getElementById("shufflelink");
		shufflelink.onclick = function () {
				shufflelink.blur();
				shufflelink.className = "shuffleload";
				shufflelink.innerHTML = "Shuffling...";
				loadXMLDoc('/work/xml');
				return false;
				}
		}
}

var req;

function loadXMLDoc(url) 
{ 
   // branch for native XMLHttpRequest object 
    if (window.XMLHttpRequest) { 
        req = new XMLHttpRequest(); 
	     req.onreadystatechange = processReqChange; 
        req.open("GET", url, true); 
        req.send(null); 
    // branch for IE/Windows ActiveX version 
    } else if (window.ActiveXObject) { 
        req = new ActiveXObject("Microsoft.XMLHTTP"); 
        if (req) { 
        req.onreadystatechange = processReqChange; 
            req.open("GET", url, true); 
            req.send(); 
        } 
    } 
} 


function processReqChange() 
{
	// only if req shows "complete"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
            // ...processing statements go here...
			var showcase = req.responseXML.documentElement;
			var casestudies = showcase.getElementsByTagName('casestudy');
			
			var currentlist = document.getElementById("showcase");
			var showcaseitems = currentlist.getElementsByTagName("li");
			
					for (var i=0; i<6; i++) {
						var name = casestudies[i].getElementsByTagName('name')[0].firstChild.data;
						var url = casestudies[i].getElementsByTagName('link')[0].firstChild.data;
						var image = casestudies[i].getElementsByTagName('image')[0].firstChild.data;
						var thumb = casestudies[i].getElementsByTagName('thumb')[0].firstChild.data;
				
						var thisitem = showcaseitems[i];
																		
								if (thisitem.className == "featured") {
									thisitem.getElementsByTagName("a")[0].href = casestudies[i].getElementsByTagName('link')[0].firstChild.data;
									thisitem.getElementsByTagName("a")[0].title = 'View case study: '+name;
									thisitem.getElementsByTagName("img")[0].src = '/images/uploads/casestudies/'+image;
									thisitem.getElementsByTagName("span")[0].innerHTML = name; 
									}
								else {
									thisitem.getElementsByTagName("a")[0].href = casestudies[i].getElementsByTagName('link')[0].firstChild.data;
									thisitem.getElementsByTagName("a")[0].title = 'View case study: '+name;
									thisitem.getElementsByTagName('img').item(0).src = '/images/uploads/casestudies/'+thumb;
									}
						document.getElementById("shufflelink").className = "shuffle";
						document.getElementById("shufflelink").innerHTML = "Shuffle";
						}
		}
		else {
            alert("There was a problem retrieving the XML data:\n" + req.statusText);
        }
	}
		
}



function showcase_listener() {
	if (document.getElementById("showcase")) {
			var showcase = document.getElementById("showcase");
			var showcase_items = showcase.getElementsByTagName("li");
			var showcase_links = showcase.getElementsByTagName("a");
		
			// showcase.onmouseout = function () { showcase_dimmer(false); }
		
			for (var i=0; i<showcase_items.length; i++) {
					if (showcase_items[i].className != "links") {
							showcase_items[i].getElementsByTagName("a")[0].onmouseover = function () {
								// dim all case studies apart from the one rolled over
										showcase_dimmer(true,this.href);
								}
								showcase_items[i].getElementsByTagName("a")[0].onmouseout = function () {
										showcase_dimmer(false);
								}
							
					}
			}
	}
}


function showcase_dimmer(dim,thisitem) {
		if (document.getElementById) {
			var showcase = document.getElementById("showcase");
			var showcase_links = showcase.getElementsByTagName("a");
			
			for (var i=0; i<showcase_links.length; i++) {
				if (dim) {
						if (showcase_links[i].href != thisitem) {
								if (showcase_links[i].parentNode.className != "links") {
								setOpacity(showcase_links[i], 30);
								//	curr_obj = showcase_links[i].getAttribute("id");
								//	fadeOut(curr_obj, 100);
								// showcase_links[i].className = "dimmed";
								}
						}
				}
				else {
							// showcase_links[i].className = "";
								setOpacity(showcase_links[i], 100);
					}
			}

		}
}


window.onload = function() {
	init_viewer();
	externalLinks();
	shuffle();
//	showcase_listener();
}





-->