<?php
use Orchard\Feature\Feature;

$isFacebookConnected = isset($this->connected_sites[Model_Sites::FACEBOOK]) ? true : false;
$hasFacebookConnectionPreference = isset($this->connection_preferences[Model_Sites::FACEBOOK]) ? true : false;
$facebookPreferences = isset($this->preferences[Model_Sites::FACEBOOK]) ? implode(',', $this->preferences[Model_Sites::FACEBOOK]) : '';
$facebookNewShowPreferences = '1,2,22,23,24,25';
$facebookDayOfShowPreferences = '3';
$facebookNewsPreferences = '4,16,17';
$facebookPhotosPreferences = '42,43';
$facebookVideosPreferences = '5,34,37';

$isTwitterConnected = isset($this->connected_sites[Model_Sites::TWITTER]) ? true : false;
$twitterPreferences = isset($this->preferences[Model_Sites::TWITTER]) ? implode(',', $this->preferences[Model_Sites::TWITTER]) : '';
$twitterNewShowPreferences = '6';
$twitterMultipleShowDayPreferences = '7'; //import, this can only be one integer number.
$twitterDayOfShowPreferences = '8';
$twitterNewsPreferences = '9,20,21';
$twitterVideosPreferences = '10,36,39';

$isMyspaceConnected = isset($this->connected_sites[Model_Sites::MYSPACE]) ? true : false;
$hasMyspaceConnectionPreference = isset($this->connection_preferences[Model_Sites::MYSPACE]) ? true : false;
$myspacePreferences = isset($this->preferences[Model_Sites::MYSPACE]) ? implode(',', $this->preferences[Model_Sites::MYSPACE]) : '';
$myspaceDayOfShowPreferences = '44';
$myspacePhotosPreferences = '45,46';
$myspaceVideosPreferences = '47';
$myspaceNewsPreferences = '48';

//$isYoutubeConnected = isset($this->connected_sites[Model_Sites::YOUTUBE]) ? true : false;

?>
<div id="content" class="content-div">
    <div id="bread">
        <a href="/artist"><?=$this->translate('All Artists')?></a>
    </div>
    <h1>
        <span><?=$this->artistImages($this->artist->artist_id, $this->artist->name);?></span> <?=(isset($this->artist) ? $this->artist->name : 'Create Artist')?>
    </h1>
<!-- Start Artist Builder Wrap-->
<div id="artistBuilderWrap">
<!-- Start Left Content-->
    <div id="contentLeftsm"><?=$this->artistBuilderNavigation('social', 'navigateAway', $this->performanceArtistIndexEnabled)?></div>
    <!-- End Left Content-->
    <!-- Start Right Content-->
    <div id="contentRightlg">
        <h2><?=$this->translate('Social Profiles')?></h2>
        <div class="clear"></div>
        <div id="contentSocialSync">
            <div class="clear"></div>

            <?php //  Removed code for Twitter  and Myspace for hiding  the "Connect to Twitter" and "Connect to Myspace" panels ?>

            <div class="clear"></div>
                <!-- Temporary youtube connect placeholder START -->
                <!-- This Youtube Connect panel is used only to save youtube url -->
            <!-- <div id="youtube-social-connect" class="socialSyncAccount">
                <form id="profile_youtube" method="post" action="/artistsocial/connect/artist_id/<?php //echo $this->artist->artist_id; ?>/site_id/<?php //echo Model_Sites::YOUTUBE; ?>" onsubmit="return validateYoutubeChannelName();">
                    <input type="hidden" name="connection_type" value="Connect"></input>
                    <input type="hidden" name="expanded_forms" value="<?php //echo (isset($this->expanded_forms) ? implode(",",$this->expanded_forms) : ""); ?>"></input>
                    <span class="socialSiteName youtube">
                        <span class="on_off">
                            <input name="connection_type" id="youtubeConnect" class="<?php //echo ($isYoutubeConnected ? 'ytConnected' : 'ytNotConnected'); ?>" type="button" disabled="disabled" id="on_off_on"/>
                        </span>
                    </span>
                    <span class="connectStatus">
                    <?php //echo $this->translate("<div class='pleaseConnect'>Connect to YouTube</div>"); ?>
                    </span>
                    <div class="clear"></div>
                    <div class="socialSyncInfo" style="<?php //echo (in_array(Model_Sites::YOUTUBE,$this->expanded_forms) ? "" : "display:none"); ?>">
                        <ul>
                            <li>
                                <div class="element_container"><label>Enter YouTube Channel Name</label>
                                    <a onmousedown="<?php //echo (!$isYoutubeConnected) ? 'toggleConnection(\'profile_youtube\',this)' : ''?>" class="pageFormBtn update_btn <?php //echo ($isYoutubeConnected) ? 'submitOff':''?>" >Save</a>
                                    <div class="clear"></div>
                                    <div id="youtubeChannelError" class="missingForm"></div>

                                    <div class="socialAccountName">
                                        <div id="youtubeSuccessMsg" style="color: green; display: block;" class="submitMessage float-left"><?php //if($this->youtubeSuccessMsg == "1") echo "Channel saved successfully";?></div>
                                    </div>
                                </div>
                            </li>
                        </ul>
                        <div class="dottedborder"></div>
                        <p>Have a channel you'd like to have partnered with The Orchard's YouTube account? Enter and save it here, then contact your label representative about getting your channel verified. Once your channel is verified by The Orchard, you'll be able to use your own channel in Marketplace apps like Pseudo Video Producer.</p>
                    </div>
                </form>
                <a onclick="togglePanel('profile_youtube', <?php //echo Model_Sites::YOUTUBE; ?>, this)"  class="expandContract youtubeToggle <?php //echo (in_array(Model_Sites::YOUTUBE,$this->expanded_forms) ? "" : "close"); ?>">open/close</a>
            </div>

            <!-- Temporary youtube connect placeholder END -->
            <div class="clear"></div>
            <div class="clear"></div>
        </div>
    </div>
</div>
    <!-- End Right Content-->
<!-- End Artist Builder Wrap-->
</div>
</div>
<script type="text/javascript">

    var expanded_forms = new Array();
    <?php
    if (isset($this->expanded_forms)) {
        ?>expanded_forms = [<?php echo (count($this->expanded_forms) ? implode(',', $this->expanded_forms) : ''); ?>];
    <?php
    }
    ?>

    /** multiple dates checked placeholder */
    var twitter_multiple_dates_checked = <?=in_array(explode(',', $twitterMultipleShowDayPreferences), explode(',', $twitterPreferences)) ? 'true' : 'false'?>;

    function validateURL(value){
        /*
        if (value.length==0){
            return true;
        }
        var regexp = /^(?:\w*:\/\/)?((?:[\w-_]*\.?)+:?\d*(?:\/?[\w-_.]+\/?)*)[\?]?[\&]?([\w-_]*)?=?([\/\w-_\?\)%\.\(\*\[\]\^<>\\]*)?[\&]?([\w-_]*)?=?([\/\w-_\?\)%\.\(\*\[\]\^<>\\]*)?[\&]?([\w-_]*)?=?([\/\w-_\?\)%\.\(\*\[\]\^<>\\]*)?[\&]?([\w-_]*)?=?([\/\w-_\?\)%\.\(\*\[\]\^<>\\]*)?$/;
        if (regexp.test(value)) { return true; } return false;
        */
        return true;
    }

    function validateURLBox(text_input_id, error_message_div) {
        if (!validateURL($("#"+text_input_id).val())){
            $("#"+error_message_div).fadeOut();
            $("#"+error_message_div).fadeIn();
            return false;
        } else {
            $("#"+error_message_div).fadeOut();
            return true;
        }
    }

    function savePreference(checkbox, form_id, preference_ids){
        if(preference_ids.length > 0){
            if($(checkbox).hasClass("checked")){
                $(checkbox).removeClass("checked");
                var preferences = $("#"+form_id+" .hiddenPreferences").val();
                preferences = preferences.split(",");
                if(preference_ids.length > 0){
                    for(var i in preference_ids){
                        var preference_id = preference_ids[i].toString();
                        if(jQuery.inArray(preference_id,preferences) != -1){
                            preferences.splice(jQuery.inArray(preference_id,preferences),1);
                        }
                    }
                }
                $("#"+form_id+" .hiddenPreferences").val(preferences.join(","));
            }else{
                $(checkbox).addClass("checked");
                var preferences = $("#"+form_id+" .hiddenPreferences").val();
                preferences = preferences.split(",");
                if(preference_ids.length > 0){
                    for(var i in preference_ids){
                        var preference_id = preference_ids[i].toString();
                        if(jQuery.inArray(preference_id,preferences) == -1){
                            preferences.push(preference_id.toString());
                            $("#"+form_id+" .hiddenPreferences").val(preferences.join(","));
                        }
                    }
                }
            }
        }
        if(preference_ids.length <= 0){
            var data = $("#"+form_id).serialize();
            $(checkbox).html("<?=$this->translate('Save Preferences')?>");
            $('#'+form_id+'_save_button_message').hide();
            $.ajax({
                type: 'POST',
                url: '/artistsocial/savepreference',
                data: "format=json&artist_id=<?php echo $this->artist->artist_id; ?>&expanded_forms="+expanded_forms+"&"+data,
                dataType: "json",
                success: function(data, textStatus, XMLHttpRequest) {
                    $(checkbox).html("<?=$this->translate('Save Preferences')?>");
                    $('#' + form_id + '_save_button_message').html('<div class="col-md-12 alert alert-success alert-img"><span class="bold lead"><?=$this->translate('Updated')?></span><div><?=$this->translate('Your preferences have been successfully updated.')?></div></div>');
                    $('#'+form_id+'_save_button_message').show();
                    $('#'+form_id+'_save_button_message').fadeOut(5000);
                },
                error: function(xhr, textStatus, errorThrown) {
                    $(checkbox).html("<?=$this->translate('Save Preferences')?>");
                    $('#' + form_id + '_save_button_message').html('<div class="col-md-12 alert alert-danger alert-img"><p class="bold"><?=$this->translate('Error saving preferences.')?></p></div>');
                    $('#'+form_id+'_save_button_message').show();
                }
              });
        }
    }

    function saveAccountName(site_id,account_name){
        $.ajax({
            type: 'POST',
            url: '/artistinfo/updatesocialsiteaccountname',
            data: "format=json&artist_id=<?php echo $this->artist->artist_id; ?>&site_id="+site_id+"&account_name="+account_name,
            dataType: "json",
            success: function(data, textStatus, XMLHttpRequest) {},
            error: function(xhr, textStatus, errorThrown) {
                alert("<?=$this->escapejs($this->translate('Error setting profile image'))?>");
            }
      });
    }

    $(document).ready(function(){
        //$("input[name='socialWebsite[0_3]']").blur(validateYoutubeChannelName);            // validate youtube channel name
        $("#profile_myspace_toggle_button").click(function(){
            $(this).toggleClass("down");
        });
        /** if twitter multiple tour dates check validate the URL */
        $("#twitterTourDatesURL").blur(function(){
            if($("#twitter_multiple_dates").hasClass("checked")){
                if(validateURLBox("twitterTourDatesURL", "customTourDateUrlError")){
                    $("#customTourDateUrlError").html("");
                    saveCustomTourDateUrl(<?php echo Model_Sites::TWITTER; ?>,$("#twitterTourDatesURL").val());
                }else{
                    var preferences = $("#profile_twitter input.hiddenPreferences").val();
                    preferences = preferences.split(",");
                    if(jQuery.inArray("<?=$twitterMultipleShowDayPreferences?>",preferences) > -1){
                        preferences.splice(jQuery.inArray("<?=$twitterMultipleShowDayPreferences?>",preferences),1);
                    }
                    $("#profile_twitter input.hiddenPreferences").val(preferences.join(","));
                    $("#twitter_multiple_dates").removeClass("checked");
                    $("#customTourDateUrlError").html("<?=$this->translate('Valid URL is required')?>");
                    savePreference(this, 'profile_twitter',[]);
                }
            }else{
                if(validateURLBox("twitterTourDatesURL", "customTourDateUrlError")){
                    $("#customTourDateUrlError").html("");
                    saveCustomTourDateUrl(<?php echo Model_Sites::TWITTER; ?>,$("#twitterTourDatesURL").val());
                }else{
                    var preferences = $("#profile_twitter input.hiddenPreferences").val();
                    preferences = preferences.split(",");
                    if(jQuery.inArray("<?=$twitterMultipleShowDayPreferences?>",preferences) > -1){
                        preferences.splice(jQuery.inArray("<?=$twitterMultipleShowDayPreferences?>",preferences),1);
                    }
                    $("#profile_twitter input.hiddenPreferences").val(preferences.join(","));
                    $("#customTourDateUrlError").html("<?=$this->translate('Valid URL is required')?>");
                    savePreference(this, 'profile_twitter',[]);
                }
            }
        });

        /** capture the twitter radio clicks for AJAX postback */
        $("#twitter_multiple_dates").click(function(){
            if($('#twitterTourDatesURL').val() && validateURL($('#twitterTourDatesURL').val())){
                $("#customTourDateUrlError").html("");
                if(!twitter_multiple_dates_checked){
                    if (validateURLBox("twitterTourDatesURL", "customTourDateUrlError")){
                        savePreference(this, 'profile_twitter',[<?=$twitterMultipleShowDayPreferences?>]);
                        twitter_multiple_dates_checked = !twitter_multiple_dates_checked;
                    }
                } else {
                    savePreference(this, 'profile_twitter',[<?=$twitterMultipleShowDayPreferences?>]);
                    twitter_multiple_dates_checked = !twitter_multiple_dates_checked;
                }
            }else{
                $("#customTourDateUrlError").html("<?=$this->translate('Valid URL is required')?>");
            }
        });

        $("#defaultFacebookPage").change(function(){
            var expanded_form_str = expanded_forms.join(",");
            var selected_page = $(this).val();
            if($(this).val() != ""){
                $(this).html("<option><?=$this->translate('Loading...')?></option>");
            }
            $.ajax({
                type: 'POST',
                url: '/artistsocial/savepreference',
                data: "format=json&artist_id=<?php echo $this->artist->artist_id; ?>&expanded_forms="+expanded_form_str+"&site_id=2&defaultFacebookPage="+selected_page,
                dataType: "json",
                success: function(data, textStatus, XMLHttpRequest) {
                    document.location.href = '/artistsocial/index/artist_id/<?php echo $this->artist->artist_id; ?>';
                },
                error: function(xhr, textStatus, errorThrown) {
                    alert("<?=$this->escapejs($this->translate('Error establishing connection. Please try again later.'))?>");
                }
              });
        });

    });

    function togglePanel(form_id, site_id, toggleButton){
        var eachpanelheight = $(toggleButton).parent().height();
        var formwrapheight = $(toggleButton).parent().parent().parent().height();
        var formWrapId = $(toggleButton).parent().parent().parent().attr("id");
        var openOrClose = $(toggleButton).hasClass("close");
        var fixedheightofpanel = $('#'+form_id+' div.socialSyncInfo').height();
        if(openOrClose){
            $(toggleButton).removeClass("close");
            expanded_forms.push(site_id.toString());
            $("#"+formWrapId).height(parseInt(formwrapheight) + fixedheightofpanel);
            $('#'+form_id+' div.socialSyncInfo').slideToggle('fast',function(){
                $("#"+formWrapId).height($("#"+formWrapId).height() + 45);
            });
        }else{
            $(toggleButton).addClass("close");
            if(expanded_forms.length > 0){
                expanded_forms.splice(jQuery.inArray(site_id.toString(),expanded_forms),1);
            }
            $("#"+formWrapId).height(parseInt(formwrapheight));
            $('#'+form_id+' div.socialSyncInfo').slideToggle('fast',function(){
                $("#"+formWrapId).height(parseInt(formwrapheight) - fixedheightofpanel - 45);
            });
        }

        $("input[name=expanded_forms]").val(expanded_forms.join(","));
    }

    function toggleConnection(form_id, button){
        if(form_id == "profile_youtube" && !validateYoutubeChannelName()){
                return;
        }
        $('#'+form_id).submit();
    }

    function repopulateFacebookAlbumForDefaultFanPage(){
        $("#defaultFacebookPhotoAlbum").attr("disabled","disabled");
        $("#defaultFacebookPhotoAlbum").html("");
        $("#defaultFacebookPhotoAlbum").append("<option value=''><?=$this->translate('Repopulating...')?></option>");
        $.ajax({
            type: 'POST',
            url: '/artistsocial/repopulateFacebookalbumtodefaultfanpage',
            data: "format=json&artist_id=<?=$this->artist->artist_id?>",
            dataType: "json",
            success: function(data, textStatus, XMLHttpRequest) {
                $("#defaultFacebookPhotoAlbum").html("");
                $("#defaultFacebookPhotoAlbum").append("<option value=''><?=$this->translate('Select One')?></option>");
                if(data){
                    for(var i in data){
                        $("#defaultFacebookPhotoAlbum").append("<option value='"+data[i].id+"'>"+data[i].name+"</option>");
                    }
                }
                $("#defaultFacebookPhotoAlbum").append("<option value='create_album'><?=$this->translate('Create New Album')?></option>");
                $("#defaultFacebookPhotoAlbum").attr("disabled","");
            },
            error: function(xhr, textStatus, errorThrown) {
                alert("<?=$this->escapejs($this->translate('Error when retrieving Album info from Facebook'))?>");
                $("#defaultFacebookPhotoAlbum").attr("disabled","");
                $("#defaultFacebookPhotoAlbum").html("");
            }
      });
    }

    function navigateAway(target_page_url){
        $.ajax({
            type: 'POST',
            url: '/artistsocial/clearsession',
            data: "param=expanded_forms&artist_id=<?=$this->artist->artist_id?>",
            dataType: "json",
            success: function(data, textStatus, XMLHttpRequest) {
                document.location.href = target_page_url;
            },
            error: function(xhr, textStatus, errorThrown) {
                alert("Error navigating away from the page.");
            }
          });
    }

    function saveCustomTourDateUrl(site_id, tourDateURL){
        if(site_id){
            $.ajax({
                type: 'POST',
                url: '/artistsocial/savecustomtourdate',
                data: "artist_id=<?php echo $this->artist->artist_id; ?>&site_id="+site_id+"&tourDateURL="+tourDateURL,
                dataType: "json",
                success: function(data, textStatus, XMLHttpRequest) {

                },
                error: function(xhr, textStatus, errorThrown) {

                }
            });
        }
    }
    /*function validateYoutubeChannelName(){
        var ytregex=/^[a-z0-9]+$/i;
        var channelName = $("input[name='socialWebsite[0_3]']").val();
        $("#youtubeSuccessMsg").hide();
        if(channelName.length < 2 || channelName.length >= 21){
            $("#youtubeChannelError").html("Channel name length must be between 2 and 20 characters");
            return false;
        }
        if(ytregex.test(channelName) || channelName == ""){
            $("#youtubeChannelError").html("");
            return true;
        }
        $("#youtubeChannelError").html("Invalid Youtube Channel Name");
        return false;
    }*/

</script>
