var fileTypes = ['doc','xls','pdf','mp3'];

$(document).ready(function() {
    initPlUpload();
    trackDownloads();
});
var player = null;
var playingLogo = true;
    function playerReady(thePlayer) {
        player = document.getElementById('single');
        addListeners();
    }


    function addListeners() {
        if (player) {
            player.addModelListener("STATE", "stateListener");
        } else {
            setTimeout("addListeners()", 100);
        }
    }



function trackDownloads() {
	$('a').each(function() {
	  var $a = $(this);
	  var href = $a.attr('href');
	  var hrefArray = href.split('.');
	  var extension = hrefArray[href.length - 1];

	  if ($.inArray(extension,fileTypes) != -1) {
	    $a.click(function() { 
	      // get the post title if there is one 
	      // and add it to the string for tracking
	      _gaq.push(['_trackPageview', '/downloads/' + href]);
	    });
	  }

	});
}

var filename;
var action;

function initPlUpload() {
if ($('.uploader').length)
{
$('#convertStatus').hide();
$('#convertMessage').hide();

   
    // Check if conversion in progress
    $.ajax({
            url: "/my-account/my-profile/filmconvert.aspx?filename=" + filename + "&action=" + action,
            type: 'GET',
            dataType: 'html',
            cache: false,
            timeout: 600000,
            error: function() {
                    $('#convertMessage').addClass('uploadError');
                    $('#convertMessage').html('ERROR CONVERTING FILE. Please contact the website administrator.<br/><br/>Unknown Error.')
                },
            success: function(html) {
                $('#convertStatus').html(html);
                if($('p.status', $('#convertStatus')).text() == 'Idle')
                {
                      InitUploadControls();
                }
                else if($('p.status', $('#convertStatus')).text() == 'Complete')
                {
                    window.location = "/my-account/my-videos/edit-video.aspx";
                }
                else if($('p.status', $('#convertStatus')).text() == 'Error')
                {
                    $('#convertMessage').addClass('uploadError');
                    $('#convertMessage').html('ERROR CONVERTING FILE. Please contact the website administrator.<br/><br/>' + $('p.code', $('#convertStatus')).html() + '<br/>' + $('p.message', $('#convertStatus')).html() );
                }
                else // still converting
                {
                    $('#convertMessage').html('<span style="display:block;padding:0px 0px 10px 0;">Converting Film</span><img style="float:left;padding:0px 10px 0 0;" alt="spinner" src="/media/common/throbber_grey.gif"/><p style="padding:5px 0 0 10px;">Please wait a few more minutes</p>');
                    $('#convertMessage').show();
                    
                    convertVideo();
                    $('.uploader').hide();
                }
                
                }
            });
}

function InitUploadControls()
{
$(".uploader").pluploadQueue({
        runtimes: 'flash,silverlight,gears,html5,browserplus',
        max_file_size: '300mb',
        chunk_size: '200kb',
        unique_names: false,
        url: '/my-account/film-upload.aspx',
        flash_swf_url: '/scripts/plupload/plupload.flash.swf',
        silverlight_xap_url: '/scripts/plupload/plupload.silverlight.xap',
        filters : [
            {title : "Movie Files", extensions : "avi,flv,mov,mp4"}
            ]
});

$(".uploader").each(function(intIndex) {
    var uploader = $(this).pluploadQueue();
    var filenameInput = $(this).siblings(".filename");
    
    uploader.bind('FilesAdded', function(up, files) {
        $('.plupload_progress').show();
        $('.plupload_file_status').show();
        
        
        uploader.start();
        
    });
    
    var convertCalled = false;
    
    uploader.bind('UploadProgress', function(up, file, response) {
        $('.plupload_upload_status').text('Uploading Film');
        
        if($('.plupload_total_status').text() == '100%')
        {
            $('.plupload_progress').show();
            $('.plupload_upload_status').html('Converting Film');
            $('.plupload_total_status').html('').append('<img alt="spinner" src="/media/common/throbber_grey.gif"/>');
        }
    });
    
    uploader.bind('FileUploaded', function(up, file, response) {
        filename = file.name;
        action = "start"
        convertVideo();
       
     });
});
}

function convertVideo()
{
 // Convert Uploaded File to FLV (10 min timeout)
        $.ajax({
            url: "/my-account/my-profile/filmconvert.aspx?filename=" + filename + "&action=" + action,
            type: 'GET',
            dataType: 'html',
            cache: false,
            timeout: 600000,
            error: function() {
                $('.plupload_file_status').hide();
                $('.plupload_progress').hide();
                $('.plupload_upload_status').addClass('uploadError');
                $('.plupload_upload_status').html('ERROR CONVERTING FILE. Please contact the website administrator.<br/><br/>Unknown Error.')
            },
            success: function(html) {
                $("#convertStatus").hide();
                $("#convertStatus").html(html);
                //$('.plupload_upload_status').hide();
                
                //$('.plupload_upload_status').html(html);
                if($('p.status', $('#convertStatus')).text() == 'Complete')
                {
                    window.location = "/my-account/my-videos/edit-video.aspx";
                }
                else if($('p.status', $('#convertStatus')).text() == 'Error')
                {
                    $('.plupload_file_status').hide();
                    $('.plupload_progress').hide();
                    $('.plupload_upload_status').addClass('uploadError');
                    $('.plupload_upload_status').html('ERROR CONVERTING FILE. Please contact the website administrator.<br/><br/>' + $('p.code', $('#convertStatus')).html() + '<br/>' + $('p.message', $('#convertStatus')).html() );
                }
                else 
                {
                    action = "";
                    setTimeout(function(){convertVideo();}, 5000);
                }
            }
        });
}

}
