﻿var eMsg = 'message';
var eProcess = 'loading';
var eGreenProcess = 'toolbarProcess';
var eHomeProcess = 'homeLoading';

function reset(form)
{
    switch (form)
    {
        case 'register':
            getElem(false, 'txtRegFirstName').value = '';
            getElem(false, 'txtRegLastName').value = '';
            getElem(false, 'txtRegMonth').value = '';
            getElem(false, 'txtRegDay').value = '';
            getElem(false, 'txtRegYear').value = '';
            var ddl = getElem(false, 'ddlRegSchools');
            ddl.selectedIndex = 0;
            getElem(false, 'txtRegEmail').value = '';
            getElem(false, 'txtRegPassword').value = '';
            getElem(false, 'txtRegResetPhrase').value = '';
            getElem(false, 'chkLegal').checked = false;
            getElem(false, 'txtName_1').value = '';
            getElem(false, 'txtEmail_1').value = '';
            getElem(false, 'txtName_2').value = '';
            getElem(false, 'txtEmail_2').value = '';
            break;
        case 'signIn':
            getElem(false, 'txtEmail').value = '';
            getElem(false, 'txtPassword').value = '';
            break;
        case "resetPassword":
            getElem(false, 'txtRPPassword').value = '';
            getElem(false, 'txtRPEmail').value = '';
            getElem(false, 'txtRPResetPhrase').value = '';
            break;
    }
}

function setFocus(e)
{
   e.value = '';
   e.focus();
}

/* REGISTER OVERLAY */
function populateSchools(id, div)
{
    Toolbar.PopulateSchools(id, function(r) { cbPopulateSchools(div, r); } );
}
function cbPopulateSchools(div, r)
{
    getElem(false, div).innerHTML = r.ddl;
}
/* REGISTER AJAX */
function register()
{
    var firstName = getElem(false, 'txtRegFirstName').value;
    var lastName = getElem(false, 'txtRegLastName').value;
    var month = getElem(false, 'txtRegMonth').value;
    var day = getElem(false, 'txtRegDay').value;
    var year = getElem(false, 'txtRegYear').value;
    var eDDL = getElem(false, 'ddlRegSchools');
    var school = eDDL.options[eDDL.selectedIndex].value;
    var email = getElem(false, 'txtRegEmail').value;
    var psw = getElem(false, 'txtRegPassword').value;
    var resetPhrase = getElem(false, 'txtRegResetPhrase').value;
    var eLegal = getElem(false, 'chkLegal');
    var legal = ((eLegal.checked) ? 1 : 0);

    var name_1 = getElem(false, 'txtName_1').value;
    var email_1 = getElem(false, 'txtEmail_1').value;
    var name_2 = getElem(false, 'txtName_2').value;
    var email_2 = getElem(false, 'txtEmail_2').value;

    Toolbar.Register(firstName, lastName, month, day, year, parseInt(school), email, psw, resetPhrase, legal, name_1, email_1, name_2, email_2, cbRegister);
}
function cbRegister(r)
{
    if (typeof r == 'object')
    {
        if (r.error != "")
        {
            setMessage(createErrorList(r.error, '*'), false, getElemOffset(getElem(false, 'cmdRegister'), 0, 0)[0], getElemOffset(getElem(false, 'cmdRegister'), 0, -50)[1], eMsg);
            clearMessage(3, eMsg);
        }
        else
        {
            reset('register');
            setMessage('Thanks for registering with \"everylittlebitvideo.com\".', false, getElemOffset(getElem(false, 'cmdRegister'), 70, 0)[0], getElemOffset(getElem(false, 'cmdRegister'), 0, 20)[1], eMsg);
            clearMessage(3, eMsg);
            setTimeout(function() { getElem(false, 'register').className = 'hide'; }, 3000);
        }
    }
}

/* AUTHENTICATE AJAX */
function signIn()
{
    var email = getElem(false, 'txtEmail').value;
    var psw = getElem(false, 'txtPassword').value;
    if (email == 'E-mail Address')
    {
        email = '';
    }
    if (psw == '******')
    {
        psw = '';
    }
    Toolbar.SignIn(email, psw, cbSignIn);
}
function cbSignIn(r)
{
    if (typeof r == 'object')
    {
        if (r.error != "")
        {
            //error
            setMessage(createErrorList(r.error, '*'), false, getElemOffset(getElem(false, 'imgSignIn'), 0, 0)[0], getElemOffset(getElem(false, 'imgSignIn'), 0, 20)[1], eMsg);
            clearMessage(3, eMsg);
        }
        else
        {
            location.href = '/MyAccount.aspx';
            getElem(false, "signIn").className = 'hide';
            getElem(false, "signOut").className = 'show';
            if (r.name != "")
            {
                getElem(false, 'ctl00_ucAuthenticate_spnName').innerHTML = r.name;
            }
            if (r.school != "")
            {
                getElem(false, 'ctl00_ucAuthenticate_spnSchool').innerHTML = r.school;
            }
        }
    }
}

function authenticated(bAuth, name, school)
{
    if (bAuth)
    {
        //authenticated
        getElem(false, 'signIn').className = 'hide';
        getElem(false, 'signOut').className = 'show';
        getElem(false, 'ctl00_ucAuthenticate_spnName').innerHTML = name;
        getElem(false, 'ctl00_ucAuthenticate_spnSchool').innerHTML = school;
        getElem(false, 'imgRegister').className = 'hide';
        getElem(false, 'imgWelcome').className = 'show';
    }
    else
    {
        //not authenticated
        getElem(false, 'signIn').className = 'show';
        getElem(false, 'signOut').className = 'hide';
        getElem(false, 'ctl00_ucAuthenticate_spnName').innerHTML = '';
        getElem(false, 'ctl00_ucAuthenticate_spnSchool').innerHTML = '';
        getElem(false, 'imgRegister').className = 'pointer_cursor hide';
        getElem(false, 'imgWelcome').className = 'hide';
        
        getElem(false, 'txtEmail').value = 'E-mail Address';
        getElem(false, 'txtPassword').value = '******';

        setMessage('You have been signed out - Session Expired', false, getElemOffset(getElem(false, 'cmdSignIn'), 50, 0)[0], getElemOffset(getElem(false, 'cmdSignIn'), 20, 0)[1], eMsg);
        clearMessage(3, eMsg);
        
    }
}

function signOut()
{
    Toolbar.SignOut(cbSignOut);
}
function cbSignOut(r)
{
    if (typeof r == 'object')
    {
        if (r.error == "")
        {
            getElem(false, "signIn").className = 'show';
            getElem(false, "signOut").className = 'hide';
            getElem(false, 'ctl00_ucAuthenticate_spnName').innerHTML = '';

            location.href = r.url;
            getElem(false, 'txtEmail').value = 'E-mail Address';
            getElem(false, 'txtPassword').value = '******';
            
           /* setMessage('You have signed out', false, getElemOffset(getElem(false, 'cmdSignIn'), 50, 0)[0], getElemOffset(getElem(false, 'cmdSignIn'), 20, 0)[1], eMsg);
            clearMessage(3, eMsg);*/
        }
        else
        {
            setMessage(r.error, false, getElemOffset(getElem(false, 'cmdSignOut'), 50, 0)[0], getElemOffset(getElem(false, 'cmdSignOut'),20, 0)[1], eMsg);
            clearMessage(3, eMsg);
        }
    }
    
}

/* SEARCH OPTIONS */
function changeOpt(bSchool, bName)
{
    var schoolOn = getElem(false, 'optBySchoolOn');
    var schoolOff = getElem(false, 'optBySchoolOff');
    var nameOn = getElem(false, 'optByNameOn');
    var nameOff = getElem(false, 'optByNameOff');

    var schoolSearch = getElem(false, 'divSchoolSearch');
    var nameSearch = getElem(false, 'divNameSearch');

    var searchOption = getElem(false, 'hidSearchOption');
    if (bSchool == 1)
    {
        schoolOn.className = 'show';
        schoolOff.className = 'hide';
        nameOn.className = 'hide';
        nameOff.className = 'show';
        searchOption.value = 'S';
        schoolSearch.className = 'show';
        nameSearch.className = 'hide';
    }
    else
    {
        schoolOn.className = 'hide';
        schoolOff.className = 'show';
        nameOn.className = 'show';
        nameOff.className = 'hide';
        searchOption.value = 'N';
        schoolSearch.className = 'hide';
        nameSearch.className = 'show';
    }
}

/* SEARCH AJAX */
function search()
{
    overlay(eGreenProcess, 'show', getElemOffset(getElem(false, 'imgSearch'), 60, 0)[0], getElemOffset(getElem(false, 'imgSearch'), 0, 5)[1]);
   
    
    var arrUrl = location.href.split('/');
    var pg = arrUrl[3].split('.')[0];
    if (pg == 'Videos')
    {
        //execute
        setTimeout("execSearch()", 1000);
    }
    else
    {
        //redirect then execute
        var searchOption = getElem(false, 'hidSearchOption').value;
        if (searchOption == 'S')
        {
            //school
            var ddl = getElem(false, 'ddlSearchSchools');
            var pk = ddl.options[ddl.selectedIndex].value;
           location.href = '/Videos.aspx?school=' + pk;
        }
        else
        {
            //title / name
            var term = getElem(false, 'txtSearchTitleName').value;
            if (term == '')
            {
                //alert
                setMessage('Search value is required', false, getElemOffset(getElem(false, 'imgSearch'), 60, 0)[0], getElemOffset(getElem(false, 'imgSearch'), 0, 5)[1], eMsg);
                clearMessage(3, eMsg);
                overlay(eGreenProcess, 'hide', 0, 0);
            }
            else
            {
                location.href = '/Videos.aspx?term=' + term;
            }
        }
    }
}

function execSearch()
{
    getElem(false, 'videoList').innerHTML = 'Loading...<img src="images/ajax-loader.gif" />';
    overlay(eGreenProcess, 'hide', 0, 0);
    var searchOption = getElem(false, 'hidSearchOption').value;
    if (searchOption == 'S')
    {
        //school
        var ddl = getElem(false, 'ddlSearchSchools');
        var pk = ddl.options[ddl.selectedIndex].value;
        ws.Videos.FilterBySchool(parseInt(pk), parseInt(1), cbExecSearch);
    }
    else
    {
        //title / name
        var term = getElem(false, 'txtSearchTitleName').value;
        if (term == '')
        {
            setMessage('Search value is required', false, getElemOffset(getElem(false, 'imgSearch'), 60, 0)[0], getElemOffset(getElem(false, 'imgSearch'), 0, 5)[1], eMsg);
            clearMessage(3, eMsg);
            overlay(eGreenProcess, 'hide', 0, 0);
        }
        else
        {
            ws.Videos.SearchByTitleName(term, parseInt(1), cbExecSearch);
        }
    }
}

function schoolSearch(pk, pgNumber)
{
    getElem(false, 'videoList').innerHTML = 'Loading...<img src="images/ajax-loader.gif" />';
    ws.Videos.FilterBySchool(parseInt(pk), parseInt(pgNumber), cbExecSearch);
}

function termSearch(term, pgNumber)
{
    getElem(false, 'videoList').innerHTML = 'Loading...<img src="images/ajax-loader.gif" />';
    if (term == '')
    {
        //alert
        setMessage('Search value is required', false, getElemOffset(getElem(false, 'imgSearch'), 60, 0)[0], getElemOffset(getElem(false, 'imgSearch'), 0, 5)[1], eMsg);
        clearMessage(3, eMsg);
        overlay(eGreenProcess, 'hide', 0, 0);
    }
    else
    {
        ws.Videos.SearchByTitleName(term, parseInt(pgNumber), cbExecSearch);
    }
}

function cbExecSearch(r)
{   
    if (typeof r == 'object')
    {
        getElem(false, 'videoList').innerHTML = r.table;
    }  
}


/* HOME TOP VIDEOS */
function topVideos()
{
    overlay(eHomeProcess, 'show', getElemOffset(getElem(false, 'ctl00_body_pgHeaderTitle'), 190, 0)[0], getElemOffset(getElem(false, 'ctl00_body_pgHeaderTitle'), 0, 310)[1]);
    ws.Videos.TopVideos(cbTopVideos);
}
function cbTopVideos(r)
{
    if (typeof r == 'object')
    {
        getElem(false, 'topVideos').innerHTML = r.table;
    }
    overlay(eHomeProcess, 'hide', 0, 0);
}

/* VIDEO VIEWER */
function videoViewer(url, title, runtime, obj, jcvPK, thumbSmall, width, height, id, description, rating, name)
{
    var left = getElemOffset(obj, 0, 0)[0];
    var top = getElemOffset(obj, 0, 75)[1];

    overlay('videoViewer', 'show', left, top);
    getElem(false, 'videoTitle').innerHTML = title;
    getElem(false, 'videoInfo').innerHTML = runtime;
    loadVideoURL(url);
    var pg = location.href.substring(getDomain().length);
    pg = pg.split('.')[0].toString();
    if (pg == 'Videos')
    {
        stopVVPlaying();
    }
    //setup player voting system
    ws.Videos.GetVotingSystem(id, rating, cbGetVotingSystem);

    //setup FB share
    var fb = getElem(false, 'fbShare');
    fb.innerHTML = "<img src='images/icons/fb.png' id='imgFB'"
    + " onmouseover='SwapImgSrc(false, \"imgFB\", \"images/icons/fb_over.png\");'"
    + " onmouseout='SwapImgSrc(false, \"imgFB\", \"images/icons/fb.png\");'"
    + " title='Share on Facebook' onclick='javascript:fbShare(\"" + url + "\",\"" + title + "\", \"" + thumbSmall + "\", \"" + width + "\", \"" + height + "\", \"" + id + "\", \"" + jcvPK + "\", \"" + description + "\");' />";
    //setup email share
    var e = getElem(false, 'eShare');
    e.innerHTML = "<img src='images/icons/email.png' id='imgEmail'"
    + " onmouseover='SwapImgSrc(false, \"imgEmail\", \"images/icons/email_over.png\");'"
    + " onmouseout='SwapImgSrc(false, \"imgEmail\", \"images/icons/email.png\");'"
    + " title='Share by E-mail' onclick='javascript:eShare(\"" + jcvPK + "\", \"" + name + "\");' />";
    //setup twitter share
    var twitter = getElem(false, 'twitterShare');
    twitter.innerHTML = "<img src='images/icons/twitter.png' id='imgTwitter'"
    + " onmouseover='SwapImgSrc(false, \"imgTwitter\", \"images/icons/twitter_over.png\");' "
    + " onmouseout='SwapImgSrc(false, \"imgTwitter\", \"images/icons/twitter.png\");' "
    + " title='Share on Twitter' onclick='javascript:twitterShare(\"" + jcvPK + "\");' />";
    //setup myspace share
    var myspace = getElem(false, 'myspaceShare');
    myspace.innerHTML = "<img src='images/icons/myspace.png' id='imgMySpace'"
    + " onmouseover='SwapImgSrc(false, \"imgMySpace\", \"images/icons/myspace_over.png\");' "
    + " onmouseout='SwapImgSrc(false, \"imgMySpace\", \"images/icons/myspace.png\");'"
    + " title='Share on MySpace' onclick='javascript:myspaceShare(\"" + title + "\",\"" + description + "\", \"" + thumbSmall + "\", \"" + jcvPK + "\");' />";
    
    //update views
    ws.Videos.IncrementViews(jcvPK, function(r)
    {
        cbIncrementViews(runtime, r);
    });
}

function cbIncrementViews(runtime, r)
{
    getElem(false, r.id).innerHTML = ((parseInt(r.views) > 0) ? r.views.toString() : "0") + ((parseInt(r.views) == 1) ? " view" : " views");
    getElem(false, 'videoInfo').innerHTML = runtime + "<br />" + ((parseInt(r.views) > 0) ? r.views.toString() : "0") + ((parseInt(r.views) == 1) ? " view" : " views");
}
function cbGetVotingSystem(r)
{
    if (typeof r == 'string')
    {
        getElem(false, 'playerVotingSystem').innerHTML = r;
    }
}


/* RESET PASSWORD */
function resetPassword()
{
    var psw = getElem(false, 'txtRPPassword').value;
    var email = getElem(false, 'txtRPEmail').value;
    var resetPhrase = getElem(false, 'txtRPResetPhrase').value;
    Toolbar.ResetPassword(email, resetPhrase, psw, cbResetPassword);

}
function cbResetPassword(r)
{
    if (typeof r == 'object')
    {
        if (r.error != '')
        {
            setMessage(createErrorList(r.error, '*'), false, getElemOffset(getElem(false, 'cmdResetPassword'), 0, 0)[0], getElemOffset(getElem(false, 'cmdResetPassword'), 0, 0)[1], eMsg);
            clearMessage(3, eMsg);
        }
        else
        {
            //successful
            
            setMessage('Your password has been reset successfuly. Please Sign In with your new password.', false, getElemOffset(getElem(false, 'imgSignIn'), 0, 0)[0], getElemOffset(getElem(false, 'imgSignIn'), 0, 0)[1], eMsg);
            clearMessage(3, eMsg);
            setTimeout("location.href = '/';", 2750);
           
        }
    }
}

/* SHARE */
function fbShare(url, title, thumb, width, height, id, jcvPK, description)
{
    var domain = getDomain();
    var fbUrl = domain + 'VideoPlayer.aspx?src=' + url + '&title=' + title + '&desc=' + description
    + '&thumb=' + thumb + "&width=" + width + "&height=" + height + '&id=' + id + '&jcv=' + jcvPK + '&sn=fb';
    window.open('http://www.facebook.com/sharer.php?u=' + encodeURIComponent(fbUrl) + '&t=' + encodeURIComponent(title));
    //alert('http://www.facebook.com/sharer.php?u=' + encodeURIComponent(fbUrl) + '&t=' + encodeURIComponent(title));
}
function eShare(jcvPK, name)
{
    var domain = getDomain();
    var eUrl = domain + 'VideoPlayer.aspx?jcv=' + jcvPK;
    location.href = 'mailto:?subject='+ name + ' wants you to check out this video&body=Hey,%0A%0AThere is a video about saving energy on ' + getDomain() + ' I want you to see.%0A%0ACheck it out here: ' + encodeURIComponent(eUrl) + '%0A%0AThanks for looking!%0A%0A' + name;
    
}
function twitterShare(jcvPK)
{
    var domain = getDomain();
    var twitterUrl = domain + 'VideoPlayer.aspx?jcv=' + jcvPK;
    window.open('http://twitter.com/home?status=Great+Video ' + twitterUrl);
}
function myspaceShare(title, description, thumb, jcvPK)
{
    var domain = getDomain();
    var myspaceUrl = domain + 'VideoPlayer.aspx?jcv=' + jcvPK;
    window.open('http://www.myspace.com/index.cfm?fuseaction=postto&t=' + encodeURIComponent(title) + '&c=' + encodeURIComponent('<a href=\"' + myspaceUrl + '\" target=\"_blank\"><img src=\"' + thumb + '\" align=\"left\" style=\"\padding-right: 5px; padding-bottom: 5px; border: none; cursor: pointer;\" /></a>Check out this video <br />' + description) + '&u=' + encodeURIComponent(myspaceUrl));
    
}