function fadeBg(id,faderVal) {
	if (faderVal>0) {
		faderVal = faderVal-10;
		var faderOpacity = faderVal/100;
		document.getElementById(id).style.filter = 'alpha(opacity='+faderVal+')';
		document.getElementById(id).style.opacity = faderOpacity;		
		setTimeout(function() { fadeBg(id,faderVal)	}, 10);
	} else return false;
}

function cleardata(id) {
	targetId = document.getElementById(id);
	targetId.innerHTML = dataContainer.innerHTML = '';
	targetId.style.backgroundColor = '#ffffff';
	targetId.style.borderColor = '#ffffff';
	targetId.style.marginBottom = '0px';
	}	
	
	
function prepareData(url,id) {
	currentId = document.getElementById(id);	
	var getTourNo = id.split('tourInfo');
	alterLabelWait(getTourNo[1]);
	
	if(currentId.offsetHeight<10) {
	getdata(url,id);
	currentId.style.borderColor = "#dddddd";
	currentId.style.marginBottom = '4px';		
	newSlideit(id,dataContainerHeight,1);	
	} else {
		newSlideit(id,dataContainerHeight,0);
		cleardata(id);
		}
}	

function alterLabel(linkid) {
	var currentLabelId = 'infoLink'+linkid;
	
	if(document.getElementById(currentLabelId)!=null) {
		var newLabel;
		currentLabel = document.getElementById(currentLabelId).innerHTML;
		var currentRowId = 'tourdateRow'+linkid; //row colour
		var currentCityId = 'cityname'+linkid; // gig city 
		
		if(currentLabel=='close') {
			newLabel = 'details';
			document.getElementById(currentRowId).className = 'unselectedRow';
			document.getElementById(currentCityId).style.display = 'inline';
			if(document.getElementById('artistNameInBar'+linkid)) {
				document.getElementById('artistNameInBar'+linkid).style.color = '#660066';
			}
		}
		else {
			newLabel = 'close';
			document.getElementById(currentRowId).className = 'selectedRow';
			document.getElementById(currentCityId).style.display = 'none';
			if(document.getElementById('artistNameInBar'+linkid)) {
				document.getElementById('artistNameInBar'+linkid).style.color = '#ffffff';
			}
		}
		
		document.getElementById(currentLabelId).innerHTML = newLabel;
	} else alert(linkid);
}

function alterLabelWait(linkid) {
	setTimeout(function () { alterLabel(linkid) }, 50);
	}
	
function cutDays(idnames,dates,letters) {
	for(i=0;i<=dates;i++) {
			currentId = idnames + i;
			if (document.getElementById(currentId)!=null) { 
				currentDay = document.getElementById(currentId).innerHTML;
				if (letters!='') {
					currentCut = currentDay.substring(0,letters);
					document.getElementById(currentId).innerHTML = currentCut;
					} else {
						currentCut = currentDay.split(' ');
						document.getElementById(currentId).innerHTML = currentCut[0];
					} 
				document.getElementById(currentId).style.display = 'inline';
			}
		}
}	
	
	
function renderHeadings(toursNo) {
	for (var x=0;x<toursNo;x++) {
		var swfID = "artistHead" + x; 
		var currentID = "artistName" + x;
		currentHeading = document.getElementById(currentID); 
		if (currentHeading!=null) {
			var currentArtistName = document.getElementById(currentID).innerHTML.toUpperCase();
			var fo = new SWFObject("/au/flash/toursArtistHeader.swf", swfID, "440", "20", "7", "#E1E1E1");
			fo.addParam("wmode", "transparent");
			fo.addVariable("titleText",currentArtistName);
			fo.write(currentHeading);
		}
	}
}	


function curveincrement(percent){
	return (1-Math.cos(percent*Math.PI)) / 2 //return cos curve based value from a percentage input
}

function updateHeight(toExpandObject,height,startTime,direction) {
	var elapsed=new Date().getTime()-startTime //get time animation has run
	var timelength = 700;
	
	if (elapsed<timelength){ //if time run is less than specified length
		var distancepercent=(direction==1)? curveincrement(elapsed/timelength) : 1-curveincrement(elapsed/timelength);
	toExpandObject.style.height=distancepercent * height +"px";
	runtimer=setTimeout(function(){updateHeight(toExpandObject,height,startTime,direction)}, 10);
	} else{ //if animation finished
		toExpandObject.style.height=(direction==1)? height+"px" : 0
		var isExpanded=(direction==1)? "yes" : "no" //remember whether content is expanded or not
		runtimer=null;
	}
}

function newSlideit(layer,height,direction) {
	this.startTime=new Date().getTime() //Set animation start time
	var toExpandObject	= document.getElementById(layer);
	updateHeight(toExpandObject,height,startTime,direction);
}



/* LEGACY DREAMWEAVER ROLLOVER JS CODE */
	
function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}
function MM_nbGroup(event, grpName) { //v3.0
  var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : args[i+1];
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    if ((nbArr = document[grpName]) != null)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = args[i+1];
      nbArr[nbArr.length] = img;
  } }
}

function MM_preloadImages() { //v3.0
 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
   var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
   if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function displaytour() {
}