<?php

use Orchard\Service\SegmentAnalyticsTracking;

    $segmentKeyConfigured = SegmentAnalyticsTracking::getKey('workstation');
    $trackSearchOptions = $segmentKeyConfigured ? 'onblur = trackSearchOptions(this)' : '';
    $trackAdvanceOptions = $segmentKeyConfigured ? 'onclick = trackAdvanceOptions(this)' : '';
    $artistTranslation = $this->translate('Artist');
    if (is_array($artistTranslation)) {
        $artistTranslation = $artistTranslation[0];
    }
?>
<!--Start Track Search Box-->
<div class="browse_catalog_trackSearchBox">
    <div class="form-group clearfix">
        <input class="searchbox trackSearchBox form-control" id="browse_catalog_modal_searchbox" type="text" data-event="blur" data-event-category="Release" data-event-action="Select Existing Track" data-event-label="<?= $this->vendor_id; ?>"
        data-event-text="Search From Text Field" <?= $trackSearchOptions; ?>></input>
        <div id="browse_catalog_modal_advance_search_link" class="browse_catalog_trackSearchOptions" data-event="click" data-event-category="Release" data-event-action="Advance Options" data-event-label="<?= $this->vendor_id; ?>"
        <?= $trackAdvanceOptions; ?>>
            <span><?=$this->translate('advanced options')?></span>
        </div>
    </div>
    <div class="clear"></div>
    <div id="browse_catalog_modal_advance_search_panel" class="browse_catalog_trackSearchAdvancedBox" style="display:none">
        <form id="browse_catalog_modal_advance_search_form">
            <div class="form-group">
               <label><?=$artistTranslation?>:&nbsp;</label>
               <input class="searchbox form-control" name="artist" type="text" data-event="blur" data-event-category="Release" data-event-action="Select Existing Track" data-event-label="<?= $this->vendor_id; ?>"
               data-event-text="Search From Artist Field" <?= $trackSearchOptions; ?>></input>
            </div>
            <div class="form-group">
                <label><?=$this->translate('Release')?>:&nbsp;</label>
                <input class="searchbox form-control" name="release" type="text" data-event="blur" data-event-category="Release" data-event-action="Select Existing Track" data-event-label="<?= $this->vendor_id; ?>"
                data-event-text="Search From Release Field" <?= $trackSearchOptions; ?>></input>
            </div>
            <?php if ($this->genre_id != 12) { ?>
                <div class="form-group">
                    <label><?=$this->translate('Track')?>:&nbsp;</label>
                    <input class="searchbox form-control" name="track" type="text" data-event="blur" data-event-category="Release" data-event-action="Select Existing Track" data-event-label="<?= $this->vendor_id; ?>"
                    data-event-text="Search From Track Field" <?= $trackSearchOptions; ?>></input>
                </div>
            <?php } else { ?>
                <div class="form-group">
                    <label><?=$this->translate('Work')?>:&nbsp;</label>
                    <input class="searchbox form-control" name="work" type="text" data-event="blur" data-event-category="Release" data-event-action="Select Existing Track" data-event-label="<?= $this->vendor_id; ?>"
                    data-event-text="Search From Work Field" <?= $trackSearchOptions; ?>></input>
                </div>
                <div class="form-group">
                    <label><?=$this->translate('Movement')?>:&nbsp;</label>
                    <input class="searchbox form-control" name="movement" type="text" data-event="blur" data-event-category="Release" data-event-action="Select Existing Track" data-event-label="<?= $this->vendor_id; ?>"
                    data-event-text="Search From Movement Field" <?= $trackSearchOptions; ?>></input>
                </div>
            <?php } ?>
            <div class="form-group">
                <label>ISRC:&nbsp;</label>
                <input class="searchbox form-control" name="isrc" type="text" data-event="blur" data-event-category="Release" data-event-action="Select Existing Track" data-event-label="<?= $this->vendor_id; ?>"
                data-event-text="Search From ISRC Field" <?= $trackSearchOptions; ?>></input>
            </div>
        </form>
        <div class="clear"></div>
    </div>
</div>
<!--End Track Search Box-->
<!--Start Track Search Table-->
<div class="browse_catalog_trackSearchTable">
    <p id="enter_text_message"><?=$this->translate('Enter a track name, artist name, release name or ISRC to search for a track.')?></p>
    <p id="enter_text_message_classical" style="display: none;"><?=$this->translate('Enter a work name, movement, artist name, release name or ISRC to search for a track.')?></p>
    <table style="display:none" id="browse_catalog_modal_result_table" class="homepageTable table table-sorter table-hover">
        <thead>
            <tr>
                <?php
                if (count($this->columns)) {
                    foreach ($this->columns as $column) {
                        ?><th><?=ucwords(str_replace('_', ' ', $column))?></th><?php
                    }
                } else {
                ?>
                    <th class="ri text-left"><?=$this->translate('Track')?></th>
                    <th class="text-left"><?=$artistTranslation?></th>
                    <th class="text-left"><?=$this->translate('Release')?></th>
                    <th>ISRC</th>
                <?php
                } ?>
            </tr>
        </thead>
        <tbody id="browse_catalog_modal_result_tbody">
            <tr>
                <td colspan="<?=(count($this->columns) ? count($this->columns) : 4)?>"><?=$this->translate('Please enter text')?>.</td>
            </tr>
        </tbody>
    </table>
</div>

<script type="text/javascript">
    var alwSegmentEnabled = <?=json_encode(($alwSegmentEnabled && $segmentKeyConfigured))?>;
    if (alwSegmentEnabled) {
        window._mfq = window._mfq || [];
        window._mfq.push(["newPageView", "/releasebuilder/view/modal"]);
    }

    function trackAdvanceOptions(trigger){
        if (! $("#browse_catalog_modal_advance_search_link span").hasClass("trackSearchOptionsClosed")) {
            window._mfq.push(["newPageView", "/releasebuilder/view/advanceOptions"]);
            modalSegmentAnalytics(trigger);
        }
    }

    function trackSearchOptions(trigger){
        modalSegmentAnalytics(trigger);
    }

    var state = "";
    var inputs = "";
    var old_input = "";

    $(".searchbox").keyup(function(){
        $("#enter_text_message").hide();
        $("#browse_catalog_modal_result_table").show();
        $("#browse_catalog_modal_result_tbody").html("<tr><td colspan='<?=(count($this->columns) ? count($this->columns) : 4)?>'><img src='/images/ajax-loader.gif' /></td></tr>");
        state = false;
        adv_params = $("#browse_catalog_modal_advance_search_form").serialize();
        inputs = adv_params+"&inputs="+$("#browse_catalog_modal_searchbox").val() + "&release_id=" + "<?=$this->release_id ?>";

        setTimeout(function(){
            if(!state && inputs != "" && inputs != old_input){
                old_input = inputs;
                old_adv_params = adv_params;
                $.ajax({
                     type: 'POST',
                     url: '/index/browsecatalog',
                     data: inputs+"&format=json",
                     dataType: "json",
                     beforeSend: function(){
                        $("#browse_catalog_modal_result_tbody").html("<tr><td colspan='4'><img src='/images/ajax-loader.gif' /></td></tr>");
                     },
                     success: function( objResponse, textStatus, XMLHttpRequest ){
                         var no_result = false;
                         if(objResponse && objResponse.results && (inputs!="artist=&release=&track=&isrc=&inputs=")){
                                    $("#browse_catalog_modal_result_tbody").html("");
                                    if(objResponse.results.length <= 0)
                                        no_result = true;
                                    for(var unique_id in objResponse.results){
                                        if(objResponse.results[unique_id]){
                                            var release_name = objResponse.results[unique_id]["release_name"];
                                            var artist_name = objResponse.results[unique_id]["artist_name"];
                                            var track_name = objResponse.results[unique_id]["track_name"];
                                            var status = objResponse.results[unique_id]["status"];
                                            var upc = objResponse.results[unique_id]["upc"];
                                            var cd = objResponse.results[unique_id]["cd"];
                                            var track_id = objResponse.results[unique_id]["track_id"];
                                            var isrc = objResponse.results[unique_id]["isrc"];
                                            var append_str = " <tr id='copytracktr"+unique_id+"' onclick=' ";
                                            append_str += " if(window.browseCatalogTrackOnClick){browseCatalogTrackOnClick({modalWindowID:\"<?=$this->modalWindowID?>\",upc:\""+upc+"\",cd:\""+cd+"\",track_id:\""+track_id+"\",unique_track_id:\""+unique_id+"\",status:\""+status+"\"})} ";
                                            append_str += " if(window.browseCatalogReleaseOnClick){browseCatalogReleaseOnClick({upc:\""+upc+"\",status:\""+status+"\"});}"
                                            append_str += " ' class='browse_catalog_track_tr'>";
                                            <?php
                                            if (count($this->columns)) {
                                                foreach ($this->columns as $column) {
                                                    ?>append_str += "<td>"+<?=$column?>+"</td>";<?php
                                                }
                                            } else {
                                            ?>
                                            append_str += "<td><span class='trackName'>"+track_name+"</span></td><td>"+artist_name+"</td><td>"+release_name+"</td><td>"+isrc+"</td>";
                                            <?php
                                            }?>
                                            $("#browse_catalog_modal_result_tbody").append(append_str);
                                            $("#browse_catalog_modal_result_tbody").append("</tr>");
                                        }else
                                            no_result = true;
                                    }
                        } else {
                             no_result = true;
                             if(no_result)
                                 $("#browse_catalog_modal_result_tbody").html("<tr><td colspan='<?=(count($this->columns) ? count($this->columns) : 4)?>'><?=$this->escapejs($this->translate('No result found'))?>.</td></tr>");
                        }

                        $(".table-sorter").tablesorter();
                        $(".table-sorter").trigger('update');
                     },
                     error: function( xhr, textStatus, errorThrown ){
                            var err_obj = eval("("+xhr.responseText+")");
                            alert("<?=$this->escapejs($this->translate('Sorry, an error occurred'))?> ");
                      }
                 });
            }
        },1800);
    }).keydown(function(){
        state = true;
    });

    $("#browse_catalog_modal_advance_search_link").click(function(){
        if($("#browse_catalog_modal_advance_search_link span").hasClass("trackSearchOptionsClosed")){
            $("#browse_catalog_modal_advance_search_link span").removeClass("trackSearchOptionsClosed");
        }else{
            $("#browse_catalog_modal_advance_search_link span").addClass("trackSearchOptionsClosed");
            $("#browse_catalog_modal_advance_search_form input").val("");
        }
        $("#browse_catalog_modal_advance_search_panel").toggle();
    });

    $(document).ready(function(){
        var genreId = tm.customParams.genre_id;
        if(genreId == 12){
                $('#nonclassicalSearch').hide();
                $('#classicalSearch').show();
                $('#enter_text_message_classical').show();
                $('#enter_text_message').hide();
            }else{
                $('#nonclassicalSearch').show();
                $('#classicalSearch').hide();
                $('#enter_text_message').show();
                $('#enter_text_message_classical').hide();
            }
        });
</script>
<?php
$loadbaroptions = array(
    array('loadingbarid' => 'onselecttrack', 'loadingtext' => 'Please Wait....'));
echo $this->Loadingimage($loadbaroptions)?>
