function km_extendedOnload() {
	if (window.myVol)
		myVol.init();
		/*
	if (window.hasAccess && hasAccess)
		get_object('btnLogout').style.display='block';
		*/
	initTableSorter();
	jQuery("a.songPayment").fancybox({
		overlayOpacity:0.5
		,overlayColor:'#000'
		,padding:5
		,hideOnContentClick:true
		,titlePosition:'outside'
	});
	if (get_object('showContactArtist')) {
		jQuery("#showContactArtist").fancybox({
			overlayOpacity:0.5
			,overlayColor:'#000'
			,padding:5
			,hideOnContentClick:false
			,titlePosition:'outside'
		});
	}
}
function initTableSorter() {
	var i=0;
	while (get_object('songList_'+i)) {
		$("#songList_"+i).tablesorter({
			debug: false,
			headers: eval('tableSorter_headers_'+i), //set in volbooza.cfc > outputSongList 
			sortList: [[eval('tableSorter_initCol_'+i),0]],
			widgets: ['zebra']
		});
		$("#songList_"+i).trigger("applyWidgets");
		i++;
	}
}
function displayEr(em_ar) {
	var em='';
	for (var i=0;i<em_ar.length;i++) {
		em+='\n* '+em_ar[i];
	}
	alert('Felmeddelande'+em);
}
function trace(output,single) {
	if (developer) {
		var o;
		if (!get_object('debugger')) {
			o=document.createElement('div');
			o.setAttribute('id','debugger');
			document.body.appendChild(o);
		} else {
			o=get_object('debugger');
		}
		if (single)
			o.innerHTML=output+'<br />';
		else
			o.innerHTML+=output+'<br />';
	}
}
var activeSongNo=0;
var activeTopBar='';
var topBarSwitching=false;
var volbooza={
	listen: function(id,songNo) {
		if (activeTopBar != '')
			this.closeTopBar();
		var theUrl='km/play.cfm?id='+id;
		km_loadAjax('play',theUrl);
		if (songNo)
			this.setSong(songNo);
	},
	logout: function() {
		window.location.href='index.cfm?pg='+pg+'&myVolbooza_logout=true';
	},
	closeTopBar: function() {
		switch (activeTopBar) {
			case 'audioPlayerHolder':
				AudioPlayer.getPlayer('audioplayer_1').close();
				this.setSong();
			break;
		}
		this.setTopBar(activeTopBar);
	},
	setTopBar: function(id,show) {
		if (show) {
			$("#"+id).addClass("topBarExpanded", 250);
			$("#siteHolder").addClass("siteHolderExpanded", 250);
			get_object(id).style.display='block';
		} else {
			$("#"+id).removeClass("topBarExpanded", 250);
			$("#siteHolder").removeClass("siteHolderExpanded", 250);
		}
		activeTopBar=(show)?id:'';
	},
	setSong: function(songNo) {
		if (activeSongNo != 0)
			this.setSongListTdClass(activeSongNo);
		if (songNo)
			this.setSongListTdClass(songNo,true);
		activeSongNo=(songNo)?songNo:0;
	},
	setSongListTdClass: function(songNo,activate) {
		var tdItem=get_object('song_'+songNo).getElementsByTagName('td');
		for (var i=0;i<tdItem.length;i++) {
			switch (tdItem[i].className) {
				case 'songList':
				case 'songList_playing':
					tdItem[i].className=(activate)?'songList_playing':'songList';
				break;
				case 'songList_listen':
				case 'songList_listenOn':
					tdItem[i].className=(activate)?'songList_listenOn':'songList_listen';
				break;
			}
		}
	},
	openArtist: function(id) {
		window.location.href='index.cfm?pg='+pg+'&pr='+pr+'&ic='+ic+'&ar='+id;
	},
	downloadSong: function(id,zprId) {
		var theUrl='km/download.cfm?id='+id;
		if (zprId)
			theUrl+='&zprId='+zprId;
		trace(theUrl);
		window.frame_download.location.href=theUrl;
	},
	buySong: function(id) {
		if (activeTopBar != '')
			this.closeTopBar();
		get_object('buySongEnterMobile').style.display='none';
		get_object('buySongSmsInstructions').style.display='none';
		var theUrl='km/getBuyInfo.cfm?id='+id;
//		trace(theUrl);
		km_loadAjax('buyInfo',theUrl);
	},
	showPaymentPopup: function(id) {
		document.form_payment.id.value=id;
		$("a#showPaymentSelection").fancybox().trigger('click');
	},
	payViaSms: function(theForm) {
		$.fancybox.close();
		this.buySong(theForm.id.value);
	},
	payViaPayPal: function(id) {
		var theForm=document.form_payment;
		theForm.action='paypal.cfm';
		if (id)//if called directly from buy button (when only paypal)
			theForm.id.value=id;
		else
			$.fancybox.close();
		theForm.ic.value=ic;
		if (window.ar)
			theForm.ar.value=ar;
		theForm.submit();
	},
	storeMobile: function() {
		var em_ar=new Array();
		var mobile=trim(get_object('buySongMobileInput').value);
		if (mobile.length != 10)
			em_ar.push('Mobilnumret måste bestå av exakt 10 siffror');
		if (em_ar.length == 0) {
			var theUrl='km/getBuyInfo.cfm?id='+zsnHash+'&mobile='+mobile;
			km_loadAjax('buyInfo',theUrl);
		} else {
			displayEr(em_ar);
		}
	},
	checkForSms: function(zprId) {
		if (activeTopBar == 'buySongHolder')
			setTimeout("volbooza.callAjaxForSms("+zprId+");",5000);
	},
	callAjaxForSms: function(zprId) {
		var theUrl='km/checkForSms.cfm?zprId='+zprId;
//		trace(theUrl);
		km_loadAjax('checkForSms',theUrl);
	},
	showContact: function() {
		var div=get_object('artistMessageForm');
		div.style.display=(div.style.display == 'none')?'block':'none';
	},
	sendMessage: function(theForm) {
		var em_ar=new Array();
		var mobile=trim(get_object('buySongMobileInput').value);
		if (!isValid('email',trim(theForm.con_email.value)))
			em_ar.push('E-postadressen ogiltlig');
		if (trim(theForm.con_message.value).length == 0)
			em_ar.push('Meddelandet är tomt');
		if (em_ar.length == 0)
			theForm.submit();
		else
			displayEr(em_ar);
	},
	doSearch: function() {
		var theForm=document.form_search;
		if (trim(theForm.searchPhrase.value).length != 0)
			theForm.submit();
	}
}
function km_popAjax_play(responseXML) {
	var theStatus=responseXML.getElementsByTagName('status')[0].firstChild.data;
	if (theStatus == "ok") {
		var theArtist=responseXML.getElementsByTagName('artist')[0].firstChild.data;
		var theTitle=responseXML.getElementsByTagName('title')[0].firstChild.data;
		var theToken=responseXML.getElementsByTagName('token')[0].firstChild.data;
		var theUrl='km/play.cfm?token='+theToken;
		AudioPlayer.embed("audioplayer_1", {
			soundFile: theUrl,
			autostart: 'yes',
			animation: 'no',
			titles: theTitle,
			artists: theArtist,
			bg: 'bef589'
		});
		volbooza.setTopBar('audioPlayerHolder',true);
	} else {
		alert("Filen hittades ej");
	}
}
function km_popAjax_buyInfo(responseXML) {
	var status=responseXML.getElementsByTagName('status')[0].firstChild.data;
	switch (status) {
		case 'ok':
			var zsnHash=responseXML.getElementsByTagName('id')[0].firstChild.data;
			var price=responseXML.getElementsByTagName('price')[0].firstChild.data;
			var prefix=responseXML.getElementsByTagName('prefix')[0].firstChild.data;
			var mobile=responseXML.getElementsByTagName('mobile')[0].firstChild.data;
			var mosms=responseXML.getElementsByTagName('mosms')[0].firstChild.data;
			var song=responseXML.getElementsByTagName('song')[0].firstChild.data;
			var zsnId=responseXML.getElementsByTagName('zsnId')[0].firstChild.data;
			var zprId=responseXML.getElementsByTagName('zprId')[0].firstChild.data;
			get_object('sms_mobile').innerHTML=mobile;
			get_object('sms_text').innerHTML=prefix+' '+zsnId;
			get_object('sms_to').innerHTML=mosms;
			get_object('sms_price').innerHTML=price;
			get_object('sms_song').innerHTML=song;
			if (mobile.length != 10) {
				alert("Du kan inte köpa låtar förrän du angett ditt mobilnummer under din profil");
				/*
				get_object('buySongSmsInstructions').style.display='none';
				get_object('buySongEnterMobile').style.display='block';
				*/
			} else {
				get_object('buySongEnterMobile').style.display='none';
				get_object('buySongSmsInstructions').style.display='block';
			}
			volbooza.setTopBar('buySongHolder',true);
			if (zprId != 0)
				volbooza.checkForSms(zprId);
		break;
		case 'alreadyBought':
			var zsnHash=responseXML.getElementsByTagName('id')[0].firstChild.data;
			var zprId=responseXML.getElementsByTagName('zprId')[0].firstChild.data;
			if (confirm("Du har redan köpt denna låten\nVill du ladda ner den igen?"))
				volbooza.downloadSong(zsnHash,zprId);
		break;
		case 'notLoggedIn':
			alert("Du måste vara inloggad för att ladda ner eller köpa låtar");
		break;
		case 'noprefix':
			alert("Du kan inte köpa låtar av denna artist");
		break;
		default:
			alert("Ett fel uppstod\Försök igen senare");
	}
}
function km_popAjax_checkForSms(responseXML) {
	var status=responseXML.getElementsByTagName('status')[0].firstChild.data;
	var zprId=responseXML.getElementsByTagName('zprId')[0].firstChild.data;
	switch (status) {
		case 'ok':
			var zsnHash=responseXML.getElementsByTagName('id')[0].firstChild.data;
			volbooza.downloadSong(zsnHash,zprId);
		break;
		default://continue to check
			//alert("No sms");
			volbooza.checkForSms(zprId);
	}
}

