///////// global variables  //////////////fadervar current_id = 0;var thumbs_array = new Array();var tween_in = false;var speed = 30;var fader_running = false;//othervar current_scroll = 0;var slow_down_n = 20;var sections = new Array();sections[0] = new Array();sections[1] = new Array();sections[2] = new Array();sections[3] = new Array();sections[4] = new Array();sections[5] = new Array();sections[0]['name']="WELCOME";sections[1]['name']="THE FESTIVAL";sections[2]['name']="PROGRAM";sections[3]['name']="LATEST NEWS";sections[4]['name']="COMPETITIONS";var pages_to_load = new Array();pages_to_load["home"]=0;pages_to_load["festival"]=1;pages_to_load["program"]=2;pages_to_load["venue"]=3;pages_to_load["news"]=4;pages_to_load["contact"]=5;pages_to_load["sponsorship"]=6;pages_to_load["credits"]=7;pages_to_load["subscribe"]=8;pages_to_load["thankyou"]=9;pages_to_load["about"]=10;///////// change section  ////////////function change_section(id){current_id = id;	var divs = new Array();	divs['in'] = new Array();	divs['out'] = new Array();	divs['out'][1] = new Array("photo_container", 1, 0);	divs['out'][2] = new Array("content", 1, 0);	divs['in'][1] = new Array("photo_container", 0, 1);	divs['in'][2] = new Array("content", 0, 1);	fader(divs, true, 10);		for (i=0;i<11;i++)	{	var link 		= document.getElementById("link"+i);		if(!link)		{//		alert(i+' not found');		} else {			if(i == id)			{					if(i > 4)				{					link.style.color = "#ffffff";				} else {				link.innerHTML = '<a class="selected" href="#" onclick="change_section('+i+'); return false;">'+sections[i]['name']+'</a>';				}			} else if(i < 5) {							if(i == (id - 1))				{								id_left = id - 1;				var link_left 	= document.getElementById("link"+id_left);				link_left.innerHTML = '<a class="link_shadow_right" href="#" onclick="change_section('+i+'); return false;">'+sections[i]['name']+'</a>';								} else if(i == (id + 1)) {								id_right = id + 1;				var link_right 	= document.getElementById("link"+id_right);				link_right.innerHTML = '<a class="link_shadow_left" href="#" onclick="change_section('+i+'); return false;">'+sections[i]['name']+'</a>';								} else {				link.innerHTML = '<a href="#" onclick="change_section('+i+'); return false;">'+sections[i]['name']+'</a>';				}			} else {			link.style.color = "#919497";			}					}		}}function show_image(id){var div_loading = document.getElementById('loading');var div_photo 		= document.getElementById(id);div_loading.style.display = 'none';div_photo.style.display = 'block'; var t=setTimeout("show_image_finish()",500);}function show_image_finish(){load_past_newsletters();filterIntervalId = setInterval ("filter_thumbs('in')", 10);}function get_content(url, target) {//  document.getElementById(target).innerHTML = ' Fetching data...';  if (window.XMLHttpRequest) {    req = new XMLHttpRequest();  } else if (window.ActiveXObject) {    req = new ActiveXObject("Microsoft.XMLHTTP");  }  if (req != undefined) {    req.onreadystatechange = function() {get_content_done(url, target);};    req.open("GET", url, true);    req.send("");  }}  function get_content_done(url, target) {  if (req.readyState == 4) { // only if req is "loaded"    if (req.status == 200) { // only if "OK"      document.getElementById(target).innerHTML = req.responseText;    } else {    load_fail();//      document.getElementById(target).innerHTML="<h2>Sorry</h2><p>Sorry, but the page you are looking for couldn't be found. Try using the links below.</p>";//      document.getElementById(target).innerHTML="Error: \n"+ req.status + "\n" +req.statusText;    }  }}function load(name, div) {	get_content(name,div);	return false;}function getURLParam(strParamName){  var strReturn = "";  var strHref = window.location.href;  if ( strHref.indexOf("?") > -1 ){    var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();    var aQueryString = strQueryString.split("&");    for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){      if ( aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1 ){        var aParam = aQueryString[iParam].split("=");        strReturn = aParam[1];        break;      }    }  }  return unescape(strReturn);}function load_fail(){var tester = document.URL.split("?");location.href = tester[0];}///////// scroll  ////////////var scroll_interval_id = 0;function scroll(direction){var div_scrollbox	= document.getElementById("scrollbox");var offset = 10;	if(direction == 'up')	{	current_scroll = (current_scroll == 0) ? (0) : (current_scroll + offset);			if(current_scroll !== 0)		{		scroll_interval_id = setInterval( "scroll_up()", 30 );		}			} else if(findPosY(document.getElementById('paragraph_end')) > 500) {	scroll_interval_id = setInterval( "scroll_down()", 30 );	}}function scroll_down(){var div_scrollbox	= document.getElementById("scrollbox");current_scroll = current_scroll - 10;div_scrollbox.style.marginTop = current_scroll+"px";	if(findPosY(document.getElementById('paragraph_end')) < 500)	{	stop_scrolling('down');	}}function scroll_up(){var div_scrollbox	= document.getElementById("scrollbox");current_scroll = current_scroll + 10;div_scrollbox.style.marginTop = current_scroll+"px";	if(current_scroll > 0)	{	current_scroll = 0;	div_scrollbox.style.marginTop = "0px";	stop_scrolling('stop');	}}function stop_scrolling(direction){	clearInterval ( scroll_interval_id );		if(findPosY(document.getElementById('paragraph_end')) > 500)	{			if(current_scroll <= -20)		{		slow_down_n = 10;		slow_interval_id = setInterval( "slow_down('"+direction+"')", 30 );		} else {		 document.getElementById("scrollbox").style.marginTop = "0px";		}	}}function slow_down(direction){var div_scrollbox	= document.getElementById("scrollbox");	if(slow_down_n > 0)	{	if(direction == 'down')	{	current_scroll = current_scroll - slow_down_n;	div_scrollbox.style.marginTop = current_scroll+"px";	slow_down_n = slow_down_n - 2;	} else if(direction == 'up') {	current_scroll = current_scroll + slow_down_n;	div_scrollbox.style.marginTop = current_scroll+"px";	slow_down_n = slow_down_n - 2;	} else if(direction == 'stop') {	clearInterval ( slow_interval_id );	}	}	if(slow_down_n < 1)	{	clearInterval ( slow_interval_id );	}}///////// find X/Y position of object  ////////////	  function findPosX(obj)  {    var curleft = 0;    if(obj.offsetParent)        while(1)         {          curleft += obj.offsetLeft;          if(!obj.offsetParent)            break;          obj = obj.offsetParent;        }    else if(obj.x)        curleft += obj.x;    return curleft;  }  function findPosY(obj)  {    var curtop = 0;    if(obj.offsetParent)        while(1)        {          curtop += obj.offsetTop;          if(!obj.offsetParent)            break;          obj = obj.offsetParent;        }    else if(obj.y)        curtop += obj.y;            return curtop;      }	///////// fader  ////////////		function fader(thumbs, tween, the_speed)	{			if(fader_running == false)		{		tween_in = tween;		thumbs_array = thumbs;		speed = the_speed;		filterIntervalId = setInterval ("filter_thumbs('out')", speed);		} 	}	function filter_thumbs(tween)	{	fader_running = true;	var finished = false;		for (i=1;i<thumbs_array[tween].length;i++)		{				document.getElementById(thumbs_array[tween][i][0]).style.opacity = thumbs_array[tween][i][1];		document.getElementById(thumbs_array[tween][i][0]).style.filter = 'alpha(opacity=' + thumbs_array[tween][i][1] * 100 + ')';						if(thumbs_array[tween][i][2] < thumbs_array[tween][i][1])			{			thumbs_array[tween][i][1] = thumbs_array[tween][i][1]-.2;						if(thumbs_array[tween][i][1] < thumbs_array[tween][i][2])				{				finished = true;				}					} else {							if(document.getElementById(thumbs_array[tween][i][0]).style.display !== 'block')				{				document.getElementById(thumbs_array[tween][i][0]).style.display = 'block';				}						thumbs_array[tween][i][1] = Number(thumbs_array[tween][i][1])+.2;				if(thumbs_array[tween][i][1] > thumbs_array[tween][i][2])				{				finished = true;				}			}				}			if(finished == true)		{		stop_fading();		}			function stop_fading()		{			for (i=1;i<thumbs_array[tween].length;i++)			{			document.getElementById(thumbs_array[tween][i][0]).style.opacity = thumbs_array[tween][i][2];			document.getElementById(thumbs_array[tween][i][0]).style.filter = 'alpha(opacity=' + thumbs_array[tween][i][2] * 100 + ')';			}		clearInterval(filterIntervalId);			if(tween_in == true)			{			change_layout(current_id);									tween_in = false;			document.getElementById('loading').style.display = 'block';			var photo = (current_id < 5) ? ("photo"+current_id) : ("photo5");			document.getElementById("photo_container").innerHTML = '<img id="'+photo+'" style="display: none;" onload="show_image(\''+photo+'\')" src="images/'+photo+'.jpg" width="581" height="511" alt="" />';						document.getElementById("scrollbox").style.marginTop = "0px";			current_scroll = 0;			load('content/'+current_id+'.inc','scrollbox');							//opera bug breaks onload for images				//for opera, using a 1 second delay, then show content				if(BrowserDetect.browser == 'Opera')				{				document.getElementById("photo_container").innerHTML = '<img id="'+photo+'" style="display: block;" src="images/'+photo+'.jpg" width="581" height="511" alt="" />';				var t=setTimeout("show_image_finish()",1000);				}						} else {			fader_running = false;			}						}		}						///////// browser detection  ////////////var BrowserDetect = {	init: function () {		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";		this.version = this.searchVersion(navigator.userAgent)			|| this.searchVersion(navigator.appVersion)			|| "an unknown version";		this.OS = this.searchString(this.dataOS) || "an unknown OS";	},	searchString: function (data) {		for (var i=0;i<data.length;i++)	{			var dataString = data[i].string;			var dataProp = data[i].prop;			this.versionSearchString = data[i].versionSearch || data[i].identity;			if (dataString) {				if (dataString.indexOf(data[i].subString) != -1)					return data[i].identity;			}			else if (dataProp)				return data[i].identity;		}	},	searchVersion: function (dataString) {		var index = dataString.indexOf(this.versionSearchString);		if (index == -1) return;		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));	},	dataBrowser: [		{ 	string: navigator.userAgent,			subString: "OmniWeb",			versionSearch: "OmniWeb/",			identity: "OmniWeb"		},		{			string: navigator.vendor,			subString: "Apple",			identity: "Safari"		},		{			prop: window.opera,			identity: "Opera"		},		{			string: navigator.vendor,			subString: "iCab",			identity: "iCab"		},		{			string: navigator.vendor,			subString: "KDE",			identity: "Konqueror"		},		{			string: navigator.userAgent,			subString: "Firefox",			identity: "Firefox"		},		{			string: navigator.vendor,			subString: "Camino",			identity: "Camino"		},		{		// for newer Netscapes (6+)			string: navigator.userAgent,			subString: "Netscape",			identity: "Netscape"		},		{			string: navigator.userAgent,			subString: "MSIE",			identity: "Explorer",			versionSearch: "MSIE"		},		{			string: navigator.userAgent,			subString: "Gecko",			identity: "Mozilla",			versionSearch: "rv"		},		{ 		// for older Netscapes (4-)			string: navigator.userAgent,			subString: "Mozilla",			identity: "Netscape",			versionSearch: "Mozilla"		}	],	dataOS : [		{			string: navigator.platform,			subString: "Win",			identity: "Windows"		},		{			string: navigator.platform,			subString: "Mac",			identity: "Mac"		},		{			string: navigator.platform,			subString: "Linux",			identity: "Linux"		}	]};BrowserDetect.init();function change_layout(id)	{			if(id == 2)		{		document.getElementById('content_controls').style.visibility = 'hidden';		document.getElementById('photo_container').style.visibility = 'hidden';		document.getElementById('content').style.left = '50px';		document.getElementById('content').style.width = '900px';		document.getElementById('content').style.lineHeight = '18px';		} 		else if (id == 6) 		{		document.getElementById('content_controls').style.visibility = 'hidden';		document.getElementById('photo_container').style.visibility = 'hidden';		document.getElementById('content').style.left = '40px';		document.getElementById('content').style.width = '900px';		document.getElementById('content').style.lineHeight = '18px';		}		else {		document.getElementById('content_controls').style.visibility = 'visible';		document.getElementById('photo_container').style.visibility = 'visible';		document.getElementById('content').style.left = '634px';		document.getElementById('content').style.width = '310px';		document.getElementById('content').style.lineHeight = '18px';		}					}function include(filename){//	var head = document.getElementsByTagName('blockquote')[0];	var head = document.getElementById('past_news');		script = document.createElement('script');	script.src = filename;	script.type = 'text/javascript';		head.appendChild(script)}function load_past_newsletters()	{			if( (current_id == 8) || (current_id == 3) || (current_id == 1))		{		document.getElementById('past_news').innerHTML = document.getElementById('past_news_hidden').innerHTML;		}	}							