	/*
		Support Scripts for AJAX portions of TWD Site
		
		Author: Chris Seufert <seufert@gmail.com>
		Date: 2007-08-28
	*/
	
	function portf_showtick() {
		$('portload').style.backgroundImage = "url('/img/loading.gif')";
	}

	function portf_hidetick() {
		$('portload').style.backgroundImage = "";
	}
	
	function portf_loadNew() {
		id = window.document.loadportid;
		if(!window.document.loadportxhr) {
			var xhr = Ajax.getTransport();
			window.document.loadportxhr = xhr;
		} else
			var xhr = window.document.loadportxhr;
		xhr.abort();
		xhr.open('GET','/xml/' + id,true);
		xhr.onreadystatechange = portf_loadxhr;
		xhr.send("");
	}
	
	function portf_loadxhr() {
		var xhr = window.document.loadportxhr;
		if(xhr.readyState == 4) {
// 			var root = xhr.responseXML.firstChild;
			var dest = $('portinner');
			dest.innerHTML = xhr.responseText;
		window.document.porteffect.cancel();
		window.document.porteffect = 
			new Effect.Opacity('portinner',{'to':1.0, 'beforeFinish':portf_hidetick});
		}
	}

	function load_portfolio(id) {
		window.document.loadportid = id;
		if(window.document.porteffect)
			window.document.porteffect.cancel();
		window.document.porteffect = 
			new Effect.Opacity('portinner',{'to':0.0, 'duration':0.5, 'afterSetup':portf_showtick, 'beforeFinish':portf_loadNew});
	}
	
	function portf_loadpage(id, page) {
		window.document.loadportpageid = id;
		window.document.loadportpage = page;
		if(window.document.portpageef)
			window.document.portpageef.cancel();
		window.document.portpageef = 
		new Effect.Opacity('gallery',{'to':0.0, 'duration':0.5, 'beforeFinish':portf_getpage});
	}
	
	function portf_getpage() {
		id = window.document.loadportpageid;
		page = window.document.loadportpage;
		if(!window.document.loadpagexhr) {
			var xhr = Ajax.getTransport();
			window.document.loadpagexhr = xhr;
		} else
			var xhr = window.document.loadpagexhr;
		xhr.abort();
		xhr.open('GET','/xml/' + id + '/menu/?page=' + page,true);
		xhr.onreadystatechange = portf_loadpagexhr;
		xhr.send("");
	}
	
	function portf_loadpagexhr() {
		var xhr = window.document.loadpagexhr;
		if(xhr.readyState == 4) {
			var dest = $('gallery');
			dest.innerHTML = xhr.responseText;
		window.document.portpageef.cancel();
		window.document.portpageef = 
			new Effect.Opacity('gallery',{'to':1.0, 'duration':2.0, 'beforeFinish':portf_hidetick});
		portf_fixpagenum();
		}
	}
	
	function portf_fixpagenum() {
		if(!$('pagetop')) return false;
		var page = $('pagetop').firstChild;
		do { 
			var m = page.href.match(/=([0-9]+)$/);
			page.pageno = m[1];
			page.pageid = window.document.immixid;
			page.onclick = function() { portf_loadpage(this.pageid, this.pageno); return false; }
		} while(page = $(page).nextSibling)
        }
