// SCQT.js
// Tony Wallace, May 14 2011
// Copyright 2011 Heuristic Media Inc.

/*

This script automatically replaces embedded Soundcloud players with streaming QuickTime in browsers that don't support Flash.

Dependencies:
AC_QuickTime.js: http://developer.apple.com/internet/licensejs.html
FlashDetect: http://www.featureblend.com/javascript-flash-detection-library.html
jQuery: http://jquery.org

*/

var SoundCloudClientID = 'ugFx9yvTu3D24XoKnTIN5w';

$(document).ready(function() {

	// Check for Flash:
	if (!FlashDetect.installed) {
	
		$('object').each(function(idx) {
		
			var HTMLObject = $(this);
			var HTMLParam = $(this).children('param').first();
			var HTMLEmbed = $(this).children('embed').first();
			
			// Check for Soundcloud Flash player.
			if ((HTMLEmbed.attr('type') == 'application/x-shockwave-flash') && 
				(HTMLParam.attr('value').indexOf('soundcloud.com') != -1)) {
		
				// Parse soundcloud player URL:
				var src = unescape(HTMLParam.attr('value'));
				var queryString = src.substr(src.lastIndexOf('?')+1);
				var queries = queryString.split('&');
				
				var args = new Array();
				for (var i = 0; i < queries.length; i++) {
					var key = queries[i].substring(0, queries[i].indexOf('='));
					var value = queries[i].substring(queries[i].indexOf('=')+1);
					args[key] = value;
				}
				
				// Get stream info from Soundcloud API: 
				$.ajax({
					url: args['url']+'.json?client_id='+SoundCloudClientID,
					success: function(library) {
					
						HTMLObject.hide(); // Hide the Flash player.
					
						// Create and append a QuickTime player:
						var objectWidth = HTMLObject.attr('width');
						var objectHeight = HTMLObject.attr('height');
						var streamURL = library.stream_url+'?client_id='+SoundCloudClientID;
						var QTObjectText = QT_GenerateOBJECTText(streamURL , objectWidth, objectHeight, '', 'AUTOPLAY', 'FALSE');
						
						var QTObjectContainer = document.createElement('span');
						QTObjectContainer.id = 'scqt_'+idx;
						QTObjectContainer.innerHTML = QTObjectText;
						$(QTObjectContainer).insertAfter(HTMLObject);
						
					}
				});
				
			} // End check for Soundcloud Flash player.
		});
		
	} // End check for Flash.
});
