// JavaScript Document
function listenTo(trk,mp3){
	var flash='/flash/audio_player.swf?mp3='+mp3+'&art='+trk;
	loadFlashInDiv(flash,'audioPlayer');	
}
//function loadPlaylist(pid){
//	loadFlashInDiv('/cms/get/flash/audio/default.swf?id='+pid,'audioPlayer');
//}
//audio player
function update_aptracker(val){
	document.getElementById("aptracker").value=val;	
}
function pauseAudio(){
	document.getElementById("audioPlayer").innerHTML='';
}
function resumeAudio(){
	if (document.getElementById("audioPlayer").innerHTML==''){
		q=document.getElementById("aptracker").value;
		loadFlashInDiv('/cms/get/flash/audio/default.swf?id='+q,'audioPlayer');
	}
}
function loadPlaylist(id){
	v_aptracker=document.getElementById("aptracker").value;
	var parameters = v_aptracker.split('&');
	var queryString = new Array();
	var v='100';
	for (var i=0; i<parameters.length; i++) {
		var pos = parameters[i].indexOf('=');
		if (pos > 0) {
			var paramname = parameters[i].substring(0,pos);
			var paramval = parameters[i].substring(pos+1);
			if (paramname=='volume'){
				v=paramval;
			}
		}
	}
	loadFlashInDiv('/cms/get/flash/audio/default.swf?id='+id,'audioPlayer');
}
//utilities
function btn_overs(sel, newImage){
	var theImage=document.getElementById(sel);
	theImage.src=newImage;
}
function loaders(jsonStrFns){
	for (t=0;t<jsonStrFns.length;t++){
		valueStr='';
		for (v=0;v<jsonStrFns[t][1].length;v++){
			valueStr+="'"+jsonStrFns[t][1][v]+"'";
			if (v!=jsonStrFns[t][1].length-1){valueStr+=",";}	
		}
		functionStr=jsonStrFns[t][0]+"("+valueStr+")";
		eval(functionStr);		
	}
}
function loadFlashInDiv(flash,theDiv){
	//alert (theDiv);
	var flash_width="100%";
	var flash_height="100%";
	var version='8,0,24,0';
	var str='<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version='+version+'" width="'+flash_width+'" height="'+flash_height+'">';
	str+='<param name="movie" value="'+flash+'"><param name="quality" value="high"><param name="wmode" value="transparent"><param name="SCALE" value="noborder">';
	str+='<embed src="'+flash+'" width="'+flash_width+'" height="'+flash_height+'" wmode="transparent" scale="noborder" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed></object>';
	var theTarg=document.getElementById(theDiv);
	theTarg.innerHTML=str;
}
function popupWindow(url) {
  window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=100,height=100,screenX=50,screenY=50,top=50,left=50')
}

function strtolower(str) {
    return (str+'').toLowerCase();
}
function strstr (haystack, needle, bool) { 
    var pos = 0;
    haystack += '';
    pos = haystack.indexOf( needle );
    if (pos == -1) {
        return false;
    } else{
        if (bool){
            return haystack.substr( 0, pos );
        } else{
            return haystack.slice( pos );
        }
    }
}
function str_replace(search, replace, subject, count) {
    var i = 0, j = 0, temp = '', repl = '', sl = 0, fl = 0,
            f = [].concat(search),
            r = [].concat(replace),
            s = subject,
            ra = r instanceof Array, sa = s instanceof Array;
    s = [].concat(s);
    if (count) {
        this.window[count] = 0;
    }

    for (i=0, sl=s.length; i < sl; i++) {
        if (s[i] === '') {
            continue;
        }
        for (j=0, fl=f.length; j < fl; j++) {
            temp = s[i]+'';
            repl = ra ? (r[j] !== undefined ? r[j] : '') : r[0];
            s[i] = (temp).split(f[j]).join(repl);
            if (count && s[i] !== temp) {
                this.window[count] += (temp.length-s[i].length)/f[j].length;}
        }
    }
    return sa ? s : s[0];
}

String.prototype.capitalize = function(){ //v1.0
    return this.replace(/\w+/g, function(a){
        return a.charAt(0).toUpperCase() + a.substr(1).toLowerCase();
    });
};
//end utilities

//ajax/swf address
function toTitleCase(str) {
    var title=str.substr(0,1).toUpperCase() + str.substr(1).toLowerCase();
	title=str_replace('_',' | ',title);
	title=str_replace('-',' ',title);
	title=title.capitalize();
	return title;
}      
function formatTitle(title) {
    return 'Swamp Dylan' + (title != '/' ? ' | ' + toTitleCase(title.substr(1, title.length - 1).replace(/\//g, ' | ')) : '');
}
// Custom SWFAddress and Ajax handling
function getTransport() {
    if (window.XMLHttpRequest) {
        return new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        try {
            return new ActiveXObject('Msxml2.XMLHTTP');
        } catch(e) {
            return new ActiveXObject('Microsoft.XMLHTTP');
        }
    }
}

function appear(content, value) {
    if (typeof value == 'undefined') value = 0;
    if (value > 1) return;
    var property = content.filters ? 'filter' : 'opacity';
    content.style[property] = content.filters ? 'alpha(opacity=' + value*100 + ')' : value;
    setTimeout(function () {appear(content, value + .1)}, 25);
}

function updateChange(xhr,theTarg) {
    if (xhr.readyState == 4) {
        if (xhr.status == 200) {
			if (xhr.urlString=='/video'){
				pauseAudio();
			}else{
				resumeAudio();
			}
			var content = document.getElementById(theTarg);
            content.innerHTML = xhr.responseText;
            appear(content);
        } else {
            //alert('Error: ' + xhr.status + '!');
        }
		
    }
}

function handleChange(event) {
    var index, rel, links = document.getElementsByTagName('a'), path = event.path;
    if (path.substr(path.length - 1) != '/') {
    	path += '/';
    }
    for (var i = 0, l, link; link = links[i]; i++) {
        index = link.rel.indexOf('?');
        rel = (index > -1) ? link.rel.substr(0, index) : link.rel;
        link.className = (rel == path) ? 'selected' : '';
    }
    var parameters = '';
    for (var p in event.parameters) {
        parameters += '&' + p + '=' + event.parameters[p];
    }
	var urlString=event.path + parameters;
	var theTargDiv='contentLeft';
	
	if(strstr (urlString, 'discography')){
		
		urlParts=urlString.split("/");
		if (urlParts.length==3){//album top level selcted
			loadPlaylist('name__'+urlParts[2]+'__configid1013');
		}else{ //album subpage selected
			if (document.getElementById("albumContent") != null) {//already on album, load subpage in albumContent
				theTargDiv='albumContent';
			}else{ //called from an absolute URL, not already on album
				theTargDiv='contentLeft';
				urlString+='/1'; //add absURLToggle to signify a direct 3 level link for discog
			}

		}
	}
    var xhr = getTransport();
    xhr.onreadystatechange = function() {
        updateChange(xhr,theTargDiv);
    }
	window.scrollTo(0,0);
	if (event.path!='/'){
		xhr.urlString=urlString;
		xhr.open('get', '/index.php?url=' + urlString + '&ajax=1', true);
		//alert ('index.php?url=' + urlString + '&ajax=1');
		xhr.send('');
		SWFAddress.setTitle(formatTitle(event.path));
	}
}
//SWFAddress.addEventListener(SWFAddressEvent.CHANGE, handleChange);
//end swf address


