<?php
	$disconnect_url = $this->url ( array ("module" => "soundcloud", "controller" => "index", "action" => "disconnect") );
?>
<div id="dialog-confirm" title="Are you sure?">
	<span style="display: none">
		SoundCloud Connect will be disconnected from its linked SoundCloud account. You can always re-connect it later, or even connect it to a different SoundCloud account.
	</span>
</div>
<div id="dialog-connect" title="Please connect to SoundCloud">
	<span style="display: none">
		Wait! Before sending your tracks, you need to connect this app with your SoundCloud account.
	</span>
</div>
	<div class="appContentBox">
		<div id="welcomeMessage" class="floatLeft">
			<?php
				if(!$this->accessToken){
			?>
				<h2>Getting Started</h2>
			<?php }else{?>
			<div id="connected">
				<h2>You are connected!</h2>
				<span class="floatRight">You are connected to <a id="soundcloudAccountName" href="#myAccount" onclick="window.open('<?php echo $this->myAccountUri;?>');"><?php echo $this->userName;?></a>.</span>
			</div>
			<?php }?>
		</div>
			<div class="floatRight">
				<?php
					 $param = "{'artist_id': '".$this->tracks[0]['artist'][0]['artistId']."'}";
					if(!$this->accessToken){
				?>
					<a id="connect" class="soundcloudBtn" href="<?php echo $this->soundcloudConnectURL."?".$this->client_id;?>" onclick ="trackGAEvent('SoundCloud','Connect',<?php echo $param;?>);"><img src="/soundcloud/images/scBtnIcon-orange.png" /><span>Connect with SoundCloud</span></a>
				<?php }else{?>
					<a id="disconnect" class="soundcloudBtn" href="#disconnectfromsouncloud"><img src="/soundcloud/images/scBtnIcon-white.png" /><span>Disconnect</span></a>
				<?php }?>
			</div>
			<div class="clear"></div>
		<div class="doubleBorder"></div>
			<div id="gettingStarted">
				<?php
					if(!$this->accessToken){
				?>
					<p>Moving music from The Orchard Workstation couldn't be any easier: choose the songs you want to send and they'll be ready for streaming on SoundCloud in a flash. But before you begin, you must give this app access to your SoundCloud account.</p>
				<?php }else{?>
					<p>Use the list below to select which tracks you want to upload to your SoundCloud account. All uploaded tracks will be set as private by default, so when the uploads are finished, head over to your SoundCloud account page to make any changes before sharing them with your contacts - or make them public!</p>
				<?php }?>
				<p>
				<b>Note:</b> Because SoundCloud employs content protection on behalf of The Orchard, you'll need to whitelist your account to avoid encountering issues while uploading your content. You can do so simply by clicking on the Connect to SoundCloud button to the right, and linking your account via this app. You'll also benefit from additional perks like scheduling, geo-blocking and domain locking. Check out our blog post to find out more.
				</p>
			</div>
			<div id="instructions"></div>
	</div>
	<div class="appContentBox">
		<h2>Your Catalogue</h2>
		<div class="clear"></div>
			<div id="tableMainHeader" class="darkGrayHeaderBar">
				<h3 class="floatLeft">Send your tracks to SoundCloud</h3>
				<input type="text" value="Search Tracks..." class="floatRight" onkeyup="searchTrack(this.value)" id="searchText" />
				<div class="clear"></div>
			</div>
				<div class="tableSubHeader">
					<div class="col1">Track Info</div>
					<div class="col2">Release Date</div>
					<div class="col3">SoundCloud Status</div>
					<div class="clear"></div>
				</div>
				<div id="catalogueWrap">
					<table id="myCatalogue" border="0" cellspacing="0" width="100%">
						<tbody>
							<?php
							if(isset($this->tracks)){
								$iCountTrack = 1;
								foreach($this->tracks as $track){
									if(isset($track['isrc']) && isset($track['upc']) && $track['type'] == 'music'){
							?>
									<tr id="tr_<?php echo $track['isrc'];?>" height="112">
										<td width="34">&nbsp;</td>
										<td class="col1" width="393">
											<img class="floatLeft" src="<?php echo $track['releaseArtwork']; ?>" height="76" width="76" />
												<div class="floatLeft">
													<?php if(isset($track['trackName'])){?>
													<h3><?php echo $track['trackName'];?></h3>
													<?php } ?>
													<span class="label">Track <?php echo $track['trackNumber']?><span>, Volume
														<?php
															echo $track['volume'];
														?> from
														</span>
													</span>
													<span class="release">
													<?php
														echo $track['releaseName'];
														echo ($track['releaseVersion']) ? " (". $track['releaseVersion'].")" : "";
													?>
													</span>
												</div>
										</td>
										<td align="center" class="col2" width="105">
											<span><?php echo isset($track['releaseDate']['date']) ? date('m/d/Y', strtotime($track['releaseDate']['date'])) : "";?></span>
										</td>
										<td class="col3">
											<?php
                                                $params = "{'artist_id':'".$track['artist'][0]['artistId']
                                                    ."', 'upc':'".$track['upc']
                                                    ."', 'isrc':'".$track['isrc']."'}";
												$btnclass = ($this->accessToken) ? "btnGreen" : "btnGray";

											?>
											<span id="spanTrackText<?php echo $iCountTrack;?>"></span>
                                            <a class="<?php echo $btnclass;?> sendButton" href="#upload" 
                                               id="link<?php echo $iCountTrack;?>"
                                               data-params="<?php echo $params; ?>" 
                                               data-upc="<?php echo $track['upc'];?>"
                                               data-isrc="<?php echo $track['isrc'];?>"
                                               data-artist_id="<?php echo $track['artist'][0]['artistId'];?>"
                                               data-track_name="<?php echo urlencode($track['trackName']);?>"
                                               data-release_name="<?php echo urlencode($track['releaseName']);?>"
                                               data-icount_track="<?php echo $iCountTrack;?>"
                                               data-artist_name="<?php echo urlencode($track['artist'][0]['artistName']);?>"
                                               data-user_name="<?php echo urlencode($this->userName);?>"
                                            >
												<span id="trackText<?php echo $iCountTrack;?>">
													Send
												</span>
											</a>
											<span id="loader" class="track<?php echo $iCountTrack;?>" style="display:none;">Uploading...</span>
										</td>
									</tr>
							<?php
									$iCountTrack++;
								}}
							}else{
							?>
								<tr height="670">
								<td valign="top">
									<div id="noSoundcloudTracks">
										<h4>We don't have any tracks for this artist!</h4>
										<p>Use Release Builder to create an album for this artist<br />before you use SoundCloud Connect.</p>
									</div>
								</td>
								</tr>
							<?php }?>
								<tr height="670" style="display: none;" id="noMatchFound">
								<td width="33%">&nbsp;</td>
								<td valign="top">
									<div id="noSoundcloudTracks">
										<h4>No search results found</h4>
									</div>
								</td>
								<td width="33%">&nbsp;</td>
								</tr>
						</tbody>
					</table>
				</div>
	</div>

<script type="text/javascript">
    const accessToken = '<?=$this->accessToken?>';
    // Send to soundcloud button handler  
     $('a.sendButton').live('click', function() {
         if(!accessToken) return connectToSoundCloud(); //cannot send without connecting to api
         
        var all_data = $(this).data();
        trackGAEvent('SoundCloud','Send', $(this).data('params'));
        uploadTrack(all_data.upc, all_data.isrc, all_data.track_name, all_data.release_name, all_data.icount_track, 
                    all_data.artist_id, all_data.artist_name, all_data.user_name);
    });

	var availableTracks = [ <?php if(isset($this->tracks)){foreach ( $this->tracks as $rd ){?>{ TrackName : "<?php if(isset($rd['trackName'])){ echo $this->escapejs($rd['trackName']);}?>",ReleaseName : "<?php if(isset($rd['releaseName'])){ echo $this->escapejs($rd['releaseName']);}?>",ISRC :"<?php if(isset($rd['isrc'])){ echo $rd['isrc'];}?>"}, <?php }}?> ];
	function searchTrack(value){
		   var counter = 0;
		   for(i=0;i<availableTracks.length;i++){
			   $("#noMatchFound").css("display","none");
			   var index = availableTracks[i].TrackName.toUpperCase().indexOf(value.toUpperCase());
			   var releaseIndex = availableTracks[i].ReleaseName.toUpperCase().indexOf(value.toUpperCase());
			   if(index > -1 || releaseIndex > -1)
			   {
				    $('#tr_'+availableTracks[i].ISRC).css("display","table-row");
				    $('#tr_'+availableTracks[i].ISRC+"1").css("display","table-row");
				    $('#tr_'+availableTracks[i].ISRC+"2").css("display","table-row");
				    $('#tr_'+availableTracks[i].ISRC).removeClass();
				    if(counter%2==0){
						$('#tr_'+availableTracks[i].ISRC).addClass('odd');
					} else {
						$('#tr_'+availableTracks[i].ISRC).addClass('even');
					}
				    counter++;
			   }
			   else
			   {
				   $('#tr_'+availableTracks[i].ISRC).css("display","none");
			   }
		   }
		   if(counter == 0){
				$("#noMatchFound").css("display","block");
			}
	}
    $(function(){
	    $("#searchText").click(function(){
	         var val=$(this).val();
	         if(val=="Search Tracks..."){
	         	$(this).val('');
	         }
	     });
	    $("#searchText").blur(function(){
	            var val=$(this).val();
	            if(val==""){
	            	$(this).val('Search Tracks...');
	            }
	      });
      $("#disconnect").click(function(){
          trackGAEvent('SoundCloud','Disconnect',<?php echo $param;?>);
    	  $( "#dialog-confirm span" ).css('display','block');
    		$( "#dialog-confirm" ).dialog({
    			resizable: false,
    			height:200,
    			width:500,
    			modal: true,
    			buttons: {
    				"Disconnect": function() {
    					$( this ).dialog( "close" );
    					window.location.href='<?php echo $disconnect_url;?>';
    				},
    				Cancel: function() {
    					$( this ).dialog( "close" );
    				}
    			}
    		});
    		$(".ui-dialog-buttonset :first").addClass('btnGreen');
    		$(".ui-dialog-buttonset button").next().addClass('btnGray');
          });
    });

    $('#myCatalogue tr:odd').addClass('odd');
    $('#myCatalogue tr:even').addClass('even');

    //This function connects to SoundCloud Account when send button is disabled.
    function connectToSoundCloud(){
    	$( "#dialog-connect span" ).css('display','block');
    	$( "#dialog-connect" ).dialog({
			resizable: false,
			height:200,
			width:500,
			modal: true,
			buttons: {
				"Connect": function() {
					window.location.href='<?php echo $this->soundcloudConnectURL."?".$this->client_id;?>';
				},
				Cancel: function() {
					$( this ).dialog( "close" );
				}
			}
		});
    	$(".ui-dialog-buttonset :first").addClass('btnGreen');
		$(".ui-dialog-buttonset button").next().addClass('btnGray');
    }
</script>