var basemidiURL		= "/SMSMathematica/NKM/sound.jsp?id=";
var blankmidiURL	= "/generate/blank.html?";
var baseimageURL	= "/SMSMathematica/NKM/image.jsp?id=";

var nkmID = getnkmID();

document.domain = 'wolfram.com';



function playTone() {
	var midiURL = basemidiURL + nkmID;
	if (document.getElementById('toneframe')) {
		document.getElementById('toneframe').src = blankmidiURL;
		document.getElementById('toneframe').src = midiURL;
	}
}



function stopTone() {
	if (document.getElementById('toneframe')) {
		document.getElementById('toneframe').src = blankmidiURL;
	}
}



function loadImage() {
	var imageURL = baseimageURL + nkmID;
	var color = getCookie('NKMColorScheme');
	if (color) { imageURL = imageURL + '&colorscheme=' + color; }
	if (document.getElementById('NKM_image')) {
		document.getElementById('NKM_image').src = imageURL;
	}
	if (document.getElementById('image_div')) {
		var nkmimg = document.getElementById('NKM_image').src;
		if ((color == 'Mixed') || (color == 'Black'))	{ document.getElementById('image_div').style.border = '#dddddd 1px solid'; }
		else						{ document.getElementById('image_div').style.border = '#ffffff 1px solid'; }
	}
}



function deliverTone() {
	var left = window.screen.availWidth - 520;
	var top = window.screen.availHeight/2 - 550/2;
	var location = 'http://' + document.location.host + '/deliver/?id=' + nkmID;
	var features = 'scrollbars=yes,menubar=no,height=550,width=500,resizable=yes,toolbar=no,location=no,status=no';
	if (!window.opera) { features = features + ',screenX='+left+',left='+left+',screenY='+top+',top='+top; }
	window.open(location, 'Deliver'+nkmID, features);
}



function getNKMTitleFromIFrame(title) {
	if (document.getElementById('CompositionTitle')) {
		document.getElementById('CompositionTitle').innerHTML = title;
	}
}


function getNKMFullScaleNameFromIFrame() {}
function getNKMStringFromIFrame() {}
function getNKMTimingFromIFrame() {}
function getNKMTimingAllFromIFrame() {}
function getNKMScaleLabelsFromIFrame() {}



function loadTone() {
	if (!nkmID) { nkmID = getnkmID(); }
	loadImage();
	playTone();
}



function getnkmID() {
	var query = window.location.pathname;
	var match_res = query.match(/^\/id\/(.+)$/);
	if (match_res != null) {
		return match_res[1];
	}
}



function loadInGenerate() {
	window.location = 'http://' + document.location.host + '/gen/' + nkmID;
}



function saveToCollection() {
	if (nkmID) {
		window.location = 'http://' + document.location.host + '/mytones/?save=' + nkmID;
	}
}



function getCookie(which) {
	var name = which;
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	var to_return = "";
	for(var i = 0; i < ca.length; i++) {
		var c = ca[i];
		while (c.charAt(0) == ' ')	{ c = c.substring(1, c.length); }
		if (c.indexOf(nameEQ) == 0)	{ to_return = c.substring(nameEQ.length, c.length); }
	}
	if (to_return == 'undefined')	{ return undef; }
	else				{ return to_return; }
}

