var Search = { showSearch: function(){ $("#search-wrapper").toggleClass("hide"); if(Helper.mobilecheck()) { $(".search_input").focus(); } $("#song-title").toggleClass("hide"); $("#results").toggleClass("hide"); $("#results").empty(); $("#search-btn i").toggleClass("mdi-navigation-close"); $("#search-btn i").toggleClass("mdi-action-search"); $("#search").focus(); }, search: function(search_input){ if(result_html === undefined || empty_results_html === undefined) { result_html = $("#temp-results-container"); empty_results_html = $("#empty-results-container").html(); } $(".search_results").html(''); if(search_input !== ""){ searching = true; var keyword= encodeURIComponent(search_input); //response= x var yt_url = "https://www.googleapis.com/youtube/v3/search?key="+api_key+"&videoEmbeddable=true&part=id&fields=items(id)&type=video&order=viewCount&safeSearch=none&maxResults=25"; yt_url+="&q="+keyword; if(music)yt_url+="&videoCategoryId=10"; var vid_url = "https://www.googleapis.com/youtube/v3/videos?part=contentDetails,snippet,id&key="+api_key+"&id="; if(Helper.contains($("#search_loader").attr("class").split(" "), "hide")) $("#search_loader").removeClass("hide"); if(Helper.contains($("#results").attr("class").split(" "), "hide")) $("#results").removeClass("hide"); $.ajax({ type: "GET", url: yt_url, dataType:"jsonp", success: function(response){ if(response.items.length === 0) { $("
").appendTo($("#results")).show("blind", 83.33); if(!Helper.contains($("#search_loader").attr("class").split(" "), "hide")) $("#search_loader").addClass("hide"); }else if(response.items){ //get list of IDs and make new request for video info $.each(response.items, function(i,data) { vid_url += data.id.videoId+","; }); $.ajax({ type: "GET", url: vid_url, dataType:"jsonp", success: function(response){ var output = ""; var pre_result = $(result_html); //$("#results").append(result_html); $.each(response.items, function(i,song) { var duration=song.contentDetails.duration; secs=Search.durationToSeconds(duration); if(!longsongs || secs<720){ title=song.snippet.title; enc_title=title;//encodeURIComponent(title).replace(/'/g, "\\\'"); id=song.id; duration = duration.replace("PT","").replace("H","h ").replace("M","m ").replace("S","s"); thumb=song.snippet.thumbnails.medium.url; //$("#results").append(result_html); var songs = pre_result; songs.find(".search-title").text(title); songs.find(".result_info").text(duration); songs.find(".thumb").attr("data-original", thumb); //songs.find(".add-many").attr("onclick", "submit('"+id+"','"+enc_title+"',"+secs+");"); songs.find("#add-many").attr("data-video-id", id); songs.find("#add-many").attr("data-video-title", enc_title); songs.find("#add-many").attr("data-video-length", secs); //$($(songs).find("div")[0]).attr("onclick", "submitAndClose('"+id+"','"+enc_title+"',"+secs+");"); songs.find("#temp-results").attr("data-video-id", id); songs.find("#temp-results").attr("data-video-title", enc_title); songs.find("#temp-results").attr("data-video-length", secs); //$($(songs).find("div")[0]).attr("id", id) output += songs.html(); } }); $("").appendTo($("#results")).show("blind", (response.items.length-1) * 83.33); setTimeout(function(){$(".thumb").lazyload({container: $("#results")});}, 250); if(!Helper.contains($("#search_loader").attr("class").split(" "), "hide")) $("#search_loader").addClass("hide"); $(".add-many").click(function(e) { e.preventDefault(); e.stopPropagation(); return false; }); } }); } } }); }else{ $(".main").removeClass("blurT"); $("#controls").removeClass("blurT"); $(".main").removeClass("clickthrough"); } }, backgroundSearch: function(title, artist, length, totalNumber, current){ var keyword= encodeURIComponent(title + " " + artist); var yt_url = "https://www.googleapis.com/youtube/v3/search?key="+api_key+"&videoEmbeddable=true&part=id,snippet&fields=items(id,snippet)&type=video&order=relevance&safeSearch=none&maxResults=5"; yt_url+="&q="+keyword; var vid_url = "https://www.googleapis.com/youtube/v3/videos?part=contentDetails,snippet,id&key="+api_key+"&id="; artist = artist.split(" "); var temptitle = title.split("-"); temptitle = temptitle.join(" ").split(" "); $.ajax({ type: "GET", url: yt_url, dataType:"jsonp", success: function(response){ //console.log(response); if(response.items.length > 0) { $.each(response.items, function(i,data) { var acceptable_track = true; //console.log(data.snippet.title.toLowerCase().indexOf("cover")); //$.each(artist, function(i, data_artist){ if(data.snippet.title.toLowerCase().indexOf(artist[0].toLowerCase()) == -1 && (data.snippet.channelTitle.toLowerCase().indexOf(artist[0].toLowerCase()) == -1 && data.snippet.channelTitle.toLowerCase().indexOf("vevo") == -1)){ acceptable_track = false; return false; } //}); if(data.snippet.title.toLowerCase().indexOf("cover") == -1 && acceptable_track && title.toLowerCase().indexOf("cover") == -1 && ((data.snippet.title.toLowerCase().indexOf("remix") == -1 && title.toLowerCase().indexOf("remix") == -1) || (data.snippet.title.toLowerCase().indexOf("remix") != -1 && title.toLowerCase().indexOf("remix") != -1))) { vid_url += data.id.videoId+","; } }); $.ajax({ type: "GET", url: vid_url, dataType:"jsonp", success: function(response){ if(response.items.length > 0) { var matched = false; $.each(response.items, function(i, data){ //console.log(data); //var title = data.snippet.title; var duration = Search.durationToSeconds(data.contentDetails.duration); var not_matched = false; $.each(temptitle, function(i, data_title){ if(data.snippet.title.toLowerCase().indexOf(data_title.toLowerCase()) == -1) not_matched = true; return false; }); if( (!not_matched //&& //(duration + 1 > length && duration - 1 < length) ) ){ matched = true; /*console.log("------------------------------"); console.log("MATCH FOR:"); console.log("YouTube title: " + data.snippet.title); console.log("YouTube Channel: " + data.snippet.channelTitle); console.log("YouTube duration: " + duration); console.log("Spotify title: " + title + " " + artist.join(" ")); console.log("Spotify length: " + length); console.log("------------------------------");*/ Search.submit(data.id,data.snippet.title, duration, true, current, totalNumber); return false; } }); if(!matched){ if(localStorage.debug === "true") { console.log("------------------------------"); console.log("NO MATCH FOR:"); console.log("Spotify title: " + title + " " + artist.join(" ")); console.log("Spotify length: " + length); console.log("------------------------------"); } var not_added_song = $("