var SC={options:{site:"soundcloud.com",apiHost:"http://api.soundcloud.com"},connectCallbacks:{},initialize:function(a){for(var b in a)a.hasOwnProperty(b)&&(this.options[b]=a[b])},_popupWindow:void 0,connect:function(a){a.client_id=a.client_id||SC.options.client_id;a.redirect_uri=a.redirect_uri||SC.options.redirect_uri;SC.connectCallbacks.success=a.connected;SC.connectCallbacks.error=a.error;SC.connectCallbacks.general=a.callback;SC.connectCallbacks.disconnect=a.disconnected;if(a.client_id&&a.redirect_uri)a=
"https://soundcloud.com/connect?"+SC.Helper.buildQueryString({client_id:a.client_id,redirect_uri:a.redirect_uri,response_type:a.flow==="code"?"code_and_token":"token",scope:a.scope||"",display:"popup"}),SC._popupWindow=SC.Helper.openCenteredPopup(a,456,510);else throw"Either client_id and redirect_uri (for user agent flow) must be passed as an option";},connectCallback:function(){var a=SC._popupWindow,b=SC.Helper.parseParameters(a.location.search+a.location.hash);if(b.error==="redirect_uri_mismatch")return a.document.body.innerHTML=
"<p>The redirect URI '"+a.location.toString()+"' you specified does not match the one that is configured in your SoundCloud app.</p> You can fix this in your <a href='http://soundcloud.com/you/apps' target='_blank'>app settings on SoundCloud</a>",!1;a.close();b.error?SC._trigger("error",b.error):(SC.options.access_token=b.access_token,window.setTimeout(SC.disconnectCallback,b.expires_in*1E3),SC._trigger("success"));SC._trigger("general",b.error)},disconnect:function(){this.disconnectCallback()},disconnectCallback:function(){if(SC.options.access_token!==
void 0)SC.options.access_token=void 0,SC._trigger("disconnect")},_trigger:function(a,b){if(this.connectCallbacks[a]!==void 0)this.connectCallbacks[a](b)},get:function(){var a={params:{}};switch(arguments.length){case 1:a=arguments[0];break;case 2:a.url=arguments[0];a.callback=arguments[1];break;case 3:a.url=arguments[0],a.params=arguments[1],a.callback=arguments[2]}a.url=SC.Helper.isRelativeUrl(a.url)?this.options.apiHost+a.url:a.url;this.options.access_token?(a.url=SC.Helper.enforceHTTPS(a.url),
a.params.oauth_token=this.options.access_token):a.params.client_id=this.options.client_id;SC.Helper.get(a)},oEmbed:function(){var a={};switch(arguments.length){case 1:a=arguments[0];break;case 2:a.url=arguments[0];a.callback=arguments[1];break;case 3:a.url=arguments[0],a.params=arguments[1],a.callback=arguments[2]}if(a.callback.nodeType!==void 0&&a.callback.nodeType===1){var b=a.callback;a.callback=function(a){b.innerHTML=a.html}}a.params=a.params||{};a.params.url=a.url;a.url="http://soundcloud.com/oembed";
SC.Helper.get(a)},connectForm:function(a){document.write(SC.connectFormHTML(a));SC.Helper.attachEvent(document.getElementById("cwsw-connect"),"click",function(b){SC.connect(a);b.preventDefault()});SC.Helper.attachEvent(document.getElementById("cwsw-disconnect"),"click",function(a){a.preventDefault()})}};
SC.Helper={openCenteredPopup:function(a,b,c){return window.open(a,"connectWithSoundCloud","location=1, width="+b+", height="+c+", top="+(window.screenY+(window.outerHeight-c)/2)+", left="+(window.screenX+(window.outerWidth-b)/2)+", toolbar=no,scrollbars=yes")},attachEvent:function(a,b,c){a.attachEvent?a.attachEvent("on"+b,c):a.addEventListener(b,c,!1)},JSONP:{callbacks:{},randomCallbackName:function(){return"CB"+parseInt(Math.random()*999999,10)},get:function(a,b){var c=this.randomCallbackName(),
d=document.createElement("script");d.src=a+"&callback=SC.Helper.JSONP.callbacks."+c;SC.Helper.attachEvent(d,"load",function(){document.body.removeChild(d)});SC.Helper.JSONP.callbacks[c]=b;document.body.appendChild(d)}},get:function(a){a.params.format="js";var b=this.mergeUrlParams(a.url,a.params);SC.Helper.JSONP.get(b,a.callback)},mergeUrlParams:function(a,b){var c=a.split("?")[0],d=this.parseParameters(a.toString()),b=b||{},e;for(e in b)b.hasOwnProperty(e)&&(d[e]=b[e]);d=this.buildQueryString(d);
d.length>0&&(d="?"+d);return c+d},scheme:function(a){return(a?"https:":window.location.protocol)+"//"},buildUrl:function(a,b){return a+"?"+this.buildQueryString(b)},isRelativeUrl:function(a){return a[0]==="/"},enforceHTTPS:function(a){return a.replace("http:","https:")},buildQueryString:function(a){var b=[],c;for(c in a)a.hasOwnProperty(c)&&b.push(c+"="+escape(a[c]));return b.join("&")},parseParameters:function(a){a=a.split(/[&?#]/);a[0].match(/^http/)&&a.shift();var b={},c;for(c in a)if(a.hasOwnProperty(c)){var d=
a[c].split("=");d[0]&&(b[d[0]]=unescape(d[1]))}return b}};
SC.connectFormHTML=function(){var a="";a+="<style>                                                                                                                       ";a+=".cwsc-connect-form .cwsc-connect {                                                                                            ";a+="  text-indent: -9999px;                                                                                                        ";a+="  display: block;                                                                                                              ";a+=
"  width: 207px;                                                                                                                ";a+="  height: 25px;                                                                                                                ";a+="  background-image: url(http://connect.soundcloud.com/medium-connect-with-sc.png);                                             ";a+="}\n";a+=".cwsc-connect-form .cwsc-disconnect {                                                                                         ";
a+="  text-indent: -9999px;                                                                                                        ";a+="  width: 119px;                                                                                                                ";a+="  height: 25px;                                                                                                                ";a+="  background-image: url(http://connect.soundcloud.com/medium-disconnect.png);                                                  ";
a+="}\n";a+=".cwsc-connect-form.large .cwsc-connect {                                                                                      ";a+="  width: 242px;   height: 29px; background-image: url(http://connect.soundcloud.com/larger-connect-with-sc.png);               ";a+="}\n";a+=".cwsc-connect-form.large .cwsc-disconnect {                                                                                   ";a+="  width: 140px; height: 29px; background-image: url(http://connect.soundcloud.com/larger-disconnect.png);                      ";
a+="}\n";a+=".cwsc-connect-form.small .cwsc-connect {                                                                                      ";a+="  width: 189px;   height: 21px; background-image: url(http://connect.soundcloud.com/small-connect-with-sc.png);                ";a+="}\n";a+=".cwsc-connect-form.small .cwsc-disconnect {                                                                                   ";a+="  width: 109px; height: 21px; background-image: url(http://connect.soundcloud.com/small-disconnect.png);                       ";
a+="}\n";a+=".cwsc-connect-form .current-user, .cwsc-connect-form a.cwsc-disconnect, .cwsc-connect-form.connected a.cwsc-connect {  ";a+="  display: none;                                                                                                               ";a+="}\n";a+=".cwsc-connect-form.connected .current-user, .cwsc-connect-form.connected a.cwsc-disconnect {                            ";a+="  display: block;                                                                                                              ";
a+="}\n";a+="</style>                                                                                                                       ";a+='<div class="cwsc-connect-form">                                                        ';a+='  <a href="#" id="cwsw-connect" class="cwsc-connect">Connect With SoundCloud</a>       ';a+='  <a href="#" id="cwsw-disconnect" class="cwsc-disconnect">Disconnect From SoundCloud</a> ';a+='  <span class="current-user">                                                          ';
a+="    You are logged in as:                                                              ";a+='    <span class="cwsc-username"></span>                                                ';a+="  </span>                                                                              ";a+="</div>                                                                                 ";return a};(function(){var a=document.getElementsByTagName("script"),a=SC.Helper.parseParameters(a[a.length-1].src);SC.initialize(a)})();

