var Event = ECTYPE.events.Event;
var HTMLElement = ECTYPE.display.HTMLElement;
var URLLoader = ECTYPE.net.URLLoader;
var URLRequest = ECTYPE.net.URLRequest;
var URLVariables = ECTYPE.net.URLVariables;		
var ScrollPane = EXANIMO.containers.ScrollPane;

var currentComedian;

/**
 * Creates the scroll panel for the video chooser
 */
function createScrollPanes()
{
	new ScrollPane(document.getElementById('videoChooser'));
}

/**
 * Sets up the forward to a friend form
 */   
function setupFTAF()
{
	setupFTAFLink();

    var textarea = new HTMLElement(document.getElementById('popup-message'));
    textarea.style.color = textarea.value == 'Message' ? '#ccc' : '#000';

    function blurHandler()
    {
        if (textarea.value == '')
        {
            textarea.style.color = '#ccc';
            textarea.value = 'Message';
        }
    }
    function focusHandler()
    {
        if (textarea.value == 'Message')
        {
            textarea.style.color = '#000';
            textarea.value = '';
        }    
    }
    textarea.addEventListener('blur', blurHandler);
    textarea.addEventListener('focus', focusHandler);

    var submitButton = new HTMLElement(document.getElementById('forwardVideoSubmit'));
    function submitClickHandler(e)
    {    	
        var loader = new URLLoader();
        var request = new URLRequest('./includes/forwardBOTRVideo.php');
        var variables = new URLVariables();

        var yourEmail = document.getElementById('popup-yourEmail');
        var friendsEmail = document.getElementById('popup-friendsEmail');
        var message = document.getElementById('popup-message');

        e.preventDefault();

        if (!checkMail(yourEmail.value))
        {
            alert('Sorry, the email you provided is invalid.');
        }
        else if (!checkMail(friendsEmail.value))
        {
            alert('Please provide us with a valid email address for your friend.');
        }
        else
        {
            variables.yourEmail = yourEmail.value;
            variables.friendsEmail = friendsEmail.value;
            variables.message = message.value == 'Message' ? '' : message.value;
            variables.comedian = currentComedian;
            request.data = variables;
            request.method = 'POST';
            loader.load(request);
			
            yourEmail.value = '';
            friendsEmail.value = '';
            message.value = '';
            
            blurHandler();
			
           	document.getElementById('popup-content').style.display = 'block';
            document.getElementById('popup-form').style.display = 'none';
//            document.getElementById('closeButton').style.display = 'none';
        }
    }

    submitButton.addEventListener('click', submitClickHandler);
}


/**
 * Get the comedian data with the supplied id
 */
function getComedianInfo(id)
{
	currentComedian = id;
	
	// bio
	var bioVariables = new URLVariables();
	bioVariables.id = id;
    bioVariables.ts = new Date().getTime(); // IE doesn't like it when it's cached. Bug in URLLoader???

	var bioRequest = new URLRequest('./includes/getBOTRInfo.php');
	bioRequest.data = bioVariables;

	var bioLoader = new URLLoader(bioRequest);
	bioLoader.addEventListener(
		'complete',
		function(e)
		{
			var hostsDiv = document.getElementById('popup-content');
			hostsDiv.innerHTML = e.currentTarget.data;
			
			setupFTAF();
		}
	);

    getComedianVideo(id);
};

/**
 * Get the comedian's video.
 */
function getComedianVideo(id)
{	
 	if(id == null)
    {
        id = firstHostID;
    }

    // video
	var videoVariables = new URLVariables();
	videoVariables.id = id;
	videoVariables.ts = new Date().getTime();

	var videoRequest = new URLRequest('./includes/getBOTRVideo.php');
	videoRequest.data = videoVariables;

	var videoLoader = new URLLoader(videoRequest);
	videoLoader.addEventListener(
		'complete',
		function(e)
		{
			var myFlashMovie = document.getElementById('videoSWF');
			myFlashMovie.playVideo(e.currentTarget.data);
		}
	);
};

/**
 * Create the chooser menu
 */
function createVideoChooser()
{
	var host = document.getElementById('videoChooser');
	var rows = host.getElementsByTagName('li');

	for(var i = 0; i < rows.length; i++)
	{
        var row = new HTMLElement(rows[i]);
        row.style.cursor = 'pointer';

        function clickHandler(e)
        {			
			var anchors = e.currentTarget.getElementsByTagName('a');
            var a = anchors[anchors.length - 1];
            var id = a.id.split('-').pop();
			
            getComedianInfo(id);
            e.preventDefault();
        }
        row.addEventListener('click', clickHandler);
	}
};



function setupCloseButton()
{
    var closeButton = new HTMLElement(document.getElementById('closeButton'));
    
    function clickHandler(e)
    {
        document.getElementById('popup-content').style.display = 'block';
        document.getElementById('popup-form').style.display = 'none';
//        e.currentTarget.style.display = 'none';
        e.preventDefault();
    }
    
    closeButton.addEventListener('click', clickHandler);
}



function setupFTAFLink()
{
    var popupContent = document.getElementById('popup-content');
    var popupForm = document.getElementById('popup-form');
    var forwardVideoLink = new HTMLElement(document.getElementById('forwardVideoLink'));
    forwardVideoLink.addEventListener(
        'click',
        function(e)
        {
            popupForm.style.display = 'block';
            popupContent.style.display = 'none';
            //document.getElementById('closeButton').style.display = 'block';
            e.preventDefault();
        }
    );
}




window.addEventListener('load', setupCloseButton);
window.addEventListener('load', createVideoChooser);
window.addEventListener('load', createScrollPanes);
window.addEventListener('load', setupFTAF);
