function openLink(link_url) 
{
	document.location = link_url;
}

function openDownload(link_url)
{
	window.open(link_url);
}

// showFields() || Author: Kyle Crystal
// showFields() || Date: January 25th, 2007
// showFields() || Script: dateInfo()
// showFields() || Description: Show the number of fields the user selects.
function showFields(num)
{
	var browserName = navigator.appName; 
	if (browserName == "Netscape")
	{
		for (var i = 1; i <= num; i++)
		{
			var field_id = "field_" + i;
			var field_name = "field_" + i + "_used";
			document.getElementById(field_id).style.display = 'table-row';
			document.getElementById(field_id).style.visibility = 'visible';
		}
		for (var i = (parseInt(num) + 1); i <= 15; i++)
		{
			var field_id = "field_" + i;
			var field_name = "field_" + i + "_used";
			document.getElementById(field_id).style.visibility = 'collapse';
			document.getElementById(field_id).style.display = 'none';
		}
	}
	else
	{
		for (var i = 1; i <= num; i++)
		{
			var field_id = "field_" + i;
			var field_name = "field_" + i + "_used";
			document.getElementById(field_id).style.display = 'inline';
		}
		for (var i = (parseInt(num) + 1); i <= 15; i++)
		{
			var field_id = "field_" + i;
			var field_name = "field_" + i + "_used";
			document.getElementById(field_id).style.display = 'none';
		}
	}
}
// showFields() || END

function previewRegistration()
{
	window.open('../default_files_new/pages/registrationPreview.php', 'registrationPreview', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=600,height=520');
}

function launchPlayer(width, height, reservation_id, webcast_id, template)
{
	window.open('../templates/' + template + '/player.php?reservation_id=' + reservation_id + '&webcast_id=' + webcast_id, 'player', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=yes,width=' + width + ',height=' + height + '');
}

function systemTest(webcast_id, template)
{
	window.open('../templates/' + template + '/webcastTestSystem.php?webcast_id=' + webcast_id + '&template=' + template, 'systemTest', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=520,height=420');
}

var browserName = navigator.appName;
function changeVisibility(elemId)
{
	if (browserName != "Microsoft Internet Explorer")
	{
		document.getElementById(elemId).style.display = 'table-cell';
		var currentVis = document.getElementById(elemId).style.visibility;
		if (currentVis == 'collapse')
			document.getElementById(elemId).style.visibility = 'visible';
		else
		{
			document.getElementById(elemId).style.visibility = 'collapse';
			document.getElementById(elemId).style.display = 'none';
		}
	}
	else
	{
		var currentVis = document.getElementById(elemId).style.display;
		if (currentVis == 'none')
			document.getElementById(elemId).style.display = 'inline';
		else
			document.getElementById(elemId).style.display = 'none';
	}
}

var width = screen.availWidth;
var height = screen.availHeight;
var browserName = navigator.appName;
var closeWindow = 0;

function init()
{
	var anchorHash = window.location.hash;
	
	if (anchorHash != "")
	{
		var hashSplit = anchorHash.split("#");
		showParticipant(hashSplit[1]);
	}
}

function showSelectedResolution(selectedWidth, selectedHeight)
{
  width = selectedWidth;
  height = selectedHeight;
  document.getElementById('currentRes').innerHTML = "Current selected size is: " + width + "x" + height;
  changeVisibility('resolutions');
}

function showOtherResolutions(tempX, tempY)
{
	var res_link = document.getElementById('resolutions');
  res_link.style.top = tempY;
  res_link.style.left = tempX;
  changeVisibility('resolutions');
}

function openMenu()
{
  if (browserName == "Microsoft Internet Explorer")
    window.event.cancelBubble = true;
  changeVisibility('menu');
}

function hideWindows()
{
	if (document.getElementById('resolutions_link') != null)
		windows = new Array('resolutions', 'menu');
	else
		windows = new Array('menu');
		
	for (var i = 0; i < windows.length; ++i)
	{
		var elem = document.getElementById(windows[i]);
		if (browserName != "Microsoft Internet Explorer")
		{
			elem.style.visibility = 'collapse';
			elem.style.display = 'none';
		}
		else
			elem.style.display = 'none';
	}
}

function getMouseXY(e) 
{
	var tempX = 0;
  var tempY = 0;
  if (browserName != "Microsoft Internet Explorer")
  {
    tempX = e.pageX;
    tempY = e.pageY;
    e.preventDefault();
  }
  else
  {
    tempX = event.clientX + document.body.scrollLeft;
    tempY = event.clientY + document.body.scrollTop;
    event.returnValue = false;
  }
  
  if (this.innerHTML.match("Close"))
  {
    newLinkHTML = this.innerHTML.replace(/Close/gi, "Bring Up");
    this.innerHTML = newLinkHTML;
  }
  else
  {
    newLinkHTML = this.innerHTML.replace(/Bring Up/gi, "Close");
    this.innerHTML = newLinkHTML;
  }
  
  showOtherResolutions(tempX, tempY);
}

function changeCheck(inputChecked)
{
	if (inputChecked.checked == false)
		inputChecked.checked = true;
	else
		inputChecked.checked = false;
}

function showPanel(panelID)
{
	var panels = new Array('documentLibrary', 'questionPanel');
	
	for (i = 0; i < panels.length; i++)
		if (panels[i] != panelID)
			document.getElementById(panels[i]).className = "hidden";
	
	var panel = document.getElementById(panelID);
	
	if (panel.className == "hidden")
		panel.className = "";
	else
		panel.className = "hidden";
}

function mouseOver(obj, colour, textColour)
{
    obj.style.background = colour;
    obj.style.cursor = "pointer";
    obj.style.color = textColour;
}

function mouseOut(obj, colour, textColour)
{
    obj.style.background = colour;
    obj.style.color = textColour;
}

var showingParticipant = 0;
function showParticipant(participantId)
{
	var elem = document.getElementById('participant_' + participantId);
	
	if (elem.className == '')
	{
		elem.className = 'hidden';
		showingParticipant = 0;
	}
	else
	{
		elem.className = '';
		if (showingParticipant != 0)
			document.getElementById('participant_' + showingParticipant).className = 'hidden';
		showingParticipant = participantId;
	}
}

var currentlySelected;
function changeSlidePreview(selection, previewWindow, reservation_id, webcast_id, template)
{
    if (currentlySelected != null)
    {
        Hydra.removeClass(currentlySelected, 'selectedSlide');
        Hydra.addClass(currentlySelected, 'notSelectedSlide');
    }

    currentlySelected = selection;
    Hydra.addClass(currentlySelected, 'selectedSlide');
    Hydra.removeClass(currentlySelected, 'notSelectedSlide');
    var splitSelection = selection.split("_");
    
    var slideSelection = document.getElementById("slideSelection");
    var selected = document.getElementById(currentlySelected);
    slideSelection.scrollTop = selected.offsetTop;

    if (splitSelection[0] == "slide")
        document.getElementById(previewWindow).innerHTML = "<img src=\"" + webcast_id + "/slides/" + splitSelection[1] + "\" width=\"545\" alt=\"" + splitSelection[1] + "\" />";
    else if (splitSelection[0] == "poll")
        document.getElementById(previewWindow).innerHTML = "<iframe height=\"400\" width=\"545\" src=\"../templates/" + template + "/polling.php?reservation_id=" + reservation_id + "&webcast_id=" + webcast_id + "&question=" + splitSelection[1] + "\" frameborder=\"0\" scrolling=\"no\"></iframe>";
    else if (splitSelection[0] == "survey")
        document.getElementById(previewWindow).innerHTML = "<iframe height=\"400\" width=\"545\" src=\"../templates/" + template + "/survey.php?reservation_id=" + reservation_id + "&webcast_id=" + webcast_id + "\" frameborder=\"0\" scrolling=\"no\"></iframe>";

    var ajax;
    try
    {
        // Firefox, Opera, and the like
        ajax = new XMLHttpRequest();
    }
    catch (e)
    {
        //Internet Exploder?
        try
        {
            ajax= new ActiveXObject("Msxm12.XMLHTTP");
        }
        catch (e)
        {
            ajax = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    ajax.open('POST', 'index.php?action=admin&page=liveslides&webcast_id=' + webcast_id, true);
    ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    ajax.send("selection=" + selection);
}

function changeSlidePreviewWithKey(e, ele, previewWindow, reservation_id, webcast_id, template)
{
    // 37 left
    // 38 up
    // 39 right
    // 40 down
    if (e.keyCode == 38 || e.keyCode == 37)
    {
        if(e.stopPropagation)
            e.stopPropagation();
        if(e.preventDefault)
            e.preventDefault();
        e.cancelBubble = true;
        e.cancel = true;
        e.returnValue = false;

        previousSlide(ele, previewWindow, reservation_id, webcast_id, template);
    }
    else if (e.keyCode == 40 || e.keyCode == 39)
    {
        if(e.stopPropagation)
            e.stopPropagation();
        if(e.preventDefault)
            e.preventDefault();
        e.cancelBubble = true;
        e.cancel = true;
        e.returnValue = false;

        nextSlide(ele, previewWindow, reservation_id, webcast_id, template);
    }
}

function hideSolutions()
{
	if (browserName != "Microsoft Internet Explorer")
	{
		document.getElementById('solutions').style.visibility = 'collapse';
		document.getElementById('solutions').style.display = 'none';
	}
	else
		document.getElementById('solutions').style.display = 'none';
}

function openPanel(link_url, width, height)
{
    window.open(link_url, 'newPanel', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=' + width + ',height=' + height);
}

function answerQuestion(questionId, webcastId, template, showAll)
{
    Hydra.ajaxSetup('GET', 'index.php?action=admin&page=questions&webcast_id=' + webcastId + '&question_id=' + questionId);

    if (showAll == null)
    {
        var questionsEle = document.getElementById('questions');
        var questionEle = document.getElementById('question_' + questionId);
        var answeredEle = document.getElementById('answered_questions');

        questionEle.style.overflow = 'hidden';
        Hydra.fade('question_' + questionId, 0, 5, 10);
        setTimeout(function() {
            Hydra.slide('question_' + questionId, 0, 5, 25);
        }, 500);
        setTimeout(function() {
            questionsEle.removeChild(questionEle);
            answeredEle.innerHTML = parseInt(answeredEle.innerHTML) + 1;

            if (questionsEle.children.length == 0)
                questionsEle.innerHTML = "<div>There are no questions at this time.</div>";
        }, 949);
    }
    else
    {
        var questionImageEle = document.getElementById('questionImage_' + questionId);
        var answerLinkEle = document.getElementById('answerLink_' + questionId);

        if (answerLinkEle.innerHTML == 'Answered')
        {
            answerLinkEle.innerHTML = 'Un-Answer';
            questionImageEle.src = '../templates/' + template + '/layout/images/mail_accept.png';
        }
        else
        {
            answerLinkEle.innerHTML = 'Answered';
            questionImageEle.src = '../templates/' + template + '/layout/images/mail.png';
        }
    }
}

function deleteQuestion(questionId, webcastId)
{
    var confirmation = confirm("WARNING\n\rThis action can not be undone, do you really wish to delete this question?");
    if (confirmation)
    {
        Hydra.ajaxSetup('GET', 'index.php?action=admin&page=questions&webcast_id=' + webcastId + '&question_id=' + questionId + '&delete=true');

        var questionsEle = document.getElementById('questions');
        var questionEle = document.getElementById('question_' + questionId);

        questionEle.style.overflow = 'hidden';
        Hydra.fade('question_' + questionId, 0, 5, 10);
        setTimeout(function() {
            Hydra.slide('question_' + questionId, 0, 5, 25);
        }, 500);
        setTimeout(function() {
            questionsEle.removeChild(questionEle);

            if (questionsEle.children.length == 0)
                questionsEle.innerHTML = "<div>There are no questions at this time.</div>";
        }, 949);
    }
}

function previousSlide(ele, previewWindow, reservation_id, webcast_id, template)
{
    var children;
    var i;

    children = ele.getElementsByTagName('div');

    if (currentlySelected == null)
        changeSlidePreview(children[children.length - 1].id, previewWindow, reservation_id, webcast_id, template);
    else
    {
        for (i = 0; i < children.length; ++i)
        {
            if (currentlySelected == children[i].id)
            {
                if (i - 1 == -1)
                    changeSlidePreview(children[children.length - 1].id, previewWindow, reservation_id, webcast_id, template);
                else
                    changeSlidePreview(children[i - 1].id, previewWindow, reservation_id, webcast_id, template);

                break;
            }
        }
    }
}

function nextSlide(ele, previewWindow, reservation_id, webcast_id, template)
{
    var children;
    var i;

    children = ele.getElementsByTagName('div');

    if (currentlySelected == null)
        changeSlidePreview(children[0].id, previewWindow, reservation_id, webcast_id, template);
    else
    {
        for (i = 0; i < children.length; ++i)
        {
            if (currentlySelected == children[i].id)
            {
                if (i + 1 == children.length)
                    changeSlidePreview(children[0].id, previewWindow, reservation_id, webcast_id, template);
                else
                    changeSlidePreview(children[i + 1].id, previewWindow, reservation_id, webcast_id, template);

                break;
            }
        }
    }
}