﻿var sleepPlayer = {};
window.addEvent('domready', function() {
    /***  SMART SEARCH  ***/
    var mySField = document.id('SearchText');
    var mySWrap = document.id('smartResults');
    var pUL = document.id('pagesList');
    var mUL = document.id('mentionsList');
    var myScroll = document.id('smartScroll');
    var scrollFx = new Fx.Scroll('mentionsWrap', { link: 'cancel' });
    var str = "";
    var _currN = null;

    //smart search parser
    function buildResults(obj) {

        document.addEvent('click', function(e) {
            e.stop();
            mySWrap.setStyles({ 'visibility': 'hidden', 'display': 'none' });
            this.removeEvents('click');
        });
        mySWrap.addEvent('click', function(e) { e.stopPropagation(); });
        myScroll.setStyle('visibility', 'hidden')
        pUL.empty();
        mUL.empty();
        mySWrap.setStyles({ 'visibility': '', 'display': '' });
        _currN = 0;       
        for (var i = 0; i <= 2 && obj.pages[i]; i++) {
            //if (obj.pages[i]) {
            var l = new Element('li');
            var a = new Element('a', { 'href': obj.pages[i].url, 'html': obj.pages[i].txt, 'onclick': obj.pages[i].onclick }).inject(l);
            l.inject(pUL);
            //}
        }
        for (var j = 0; j <= obj.mentions.length - 1; j++) {
            var z = new Element('li');
            var d = new Element('a', { 'href': obj.mentions[j].url, 'html': obj.mentions[j].txt }).inject(z);            
            z.inject(mUL);
        }
        if (obj.mentions.length > 6) {
            scrollFx.set(0, 0)
            myScroll.setStyle('visibility', '');
            document.id('scrollUp').addEvent('click', scrollUp)
            document.id('scrollDown').addEvent('click', scrollDown)
        }
    }
    function scrollUp() {
        _currN = (_currN - 30 >= 0) ? _currN - 30 : 0;
        scrollFx.start(0, _currN);
    }
    function scrollDown() {
        _currN = (_currN + 30 <= mUL.getSize().y - document.id('mentionsWrap').getSize().y) ? _currN + 30 : _currN = (mUL.getSize().y - document.id('mentionsWrap').getSize().y) + 5;
        scrollFx.start(0, _currN);
    }

    //request
    var mySmartSearch = new Request.JSON({
        url: window.root + 'AutoCompleteSearchResults/searchResults.aspx?id=hcp',
        method: 'get',
        autoCancel: true,
        onComplete: function(jsonObj) {
            buildResults(jsonObj);
        }
    });

    //listen to search field
    mySField.addEvent('keyup', function() {
        var _srchTxt = this.get('value');
        var _res = _srchTxt.replace(/\s/g, "");
        if (_res.length >= 1) {
            str = _srchTxt;
            mySmartSearch.send('term=' + str)
        }
    })

    /* initialize the video widget if on the sleep expert page */
    if (document.id('sleepWrap')) sleepPlayer.startShow()

    /***  TOOLTIPS  ***/
    //store titles and text
    $$('a.myTip').each(function(element, index) {
        element.set('href', window.root + 'sleep-glossary.aspx?term=' + element.get('html'))
        var content = element.get('title')//.split('::');
        element.store('tip:title', '<p>' + content + '</p>');
        element.store('tip:text', '<a class="glossarymorelink" href="' + window.root + 'sleep-glossary.aspx?term=' + element.get('html') + '">See More</a>');
    });

    //create the tooltips
    var tipz = new Tips('.myTip', {
        className: 'tipWrap',
        fixed: false,
        hideDelay: 1500,
        showDelay: 100,
        offsets: { 'x': 16, 'y': 16 }
    });


});

window.addEvent('load', function() {
    //dont attach events to experts player buttons until page loaded
    sleepPlayer.loadButtons();
})


/***  EXPERTS VIDEO PLAYER  ***/
var play1, play2;

var sleepPlayer = {
    curr: {},

    startShow: function() {
        play1 = (window.root) ? window.root + 'images/btn_watchVideo1.jpg' : 'images/btn_watchVideo1.jpg';
        play2 = (window.root) ? window.root + 'images/btn_watchVideo2.jpg' : 'images/btn_watchVideo2.jpg';

        sleepPlayer.scroll = new Fx.Scroll(document.id('controlBody'), { link: 'cancel' });
        sleepPlayer.curr.item = 0;

        sleepPlayer.vidItems = $$('.videoItem')
        sleepPlayer.vidItems.each(function(el) {
            el.store('img', el.getElement('a.watchVideo').getElement('img'))
            el.store('desc', el.getElement('p.desc').get('html'))
        })

        document.id('upVideo').addEvent('click', sleepPlayer.goUp)
        document.id('downVideo').addEvent('click', sleepPlayer.goDown)


    },
    loadButtons: function() {
        var watch = $$('.watchVideo').each(function(el, i) {
            el.addEvent('click', function() {
                sleepPlayer.playVideo(i);
            })
        })
    },
    playVideo: function(i) {
        if (i != sleepPlayer.curr.vid) {
            loadVideoById(i + 1)
        }
        else return

        var img = sleepPlayer.vidItems[i].retrieve('img');
        var p = sleepPlayer.vidItems[i].retrieve('desc');

        //remove styles from current if exists
        if (document.idchk(sleepPlayer.curr.vid)) {
            sleepPlayer.vidItems[sleepPlayer.curr.vid].toggleClass('on');
            sleepPlayer.vidItems[sleepPlayer.curr.vid].retrieve('img').set('src', play1);

        }

        sleepPlayer.vidItems[i].toggleClass('on');
        sleepPlayer.vidItems[i].retrieve('img').set('src', play2);

        if (document.id('nowPlaying')) document.id('nowPlaying').empty().set('html', p);

        sleepPlayer.curr.vid = i;
    },
    goUp: function() {
        if (sleepPlayer.curr.item == 0) {
            sleepPlayer.scroll.toElement(sleepPlayer.vidItems[sleepPlayer.vidItems.length - 2]);
            sleepPlayer.curr.item = sleepPlayer.vidItems.length - 2;
        }
        else {
            sleepPlayer.scroll.toElement(sleepPlayer.vidItems[sleepPlayer.curr.item - 1]);
            sleepPlayer.curr.item -= 1;
        }
    },
    goDown: function() {
        if (sleepPlayer.curr.item == sleepPlayer.vidItems.length - 2) {
            sleepPlayer.scroll.toElement(sleepPlayer.vidItems[0]);
            sleepPlayer.curr.item = 0;
        }
        else {
            sleepPlayer.scroll.toElement(sleepPlayer.vidItems[sleepPlayer.curr.item + 1]);
            sleepPlayer.curr.item += 1;
        }
    }
}


function submitSearchForm() {
    var searchTerm = "SearchText";
    if (validateSearchForm(searchTerm)) {
        if (document.getElementById(searchTerm).value.toLowerCase() == "sample" || document.getElementById(searchTerm).value.toLowerCase() == "solostar samples" || document.getElementById(searchTerm).value.toLowerCase() == "solostar sample") {
            document.getElementById(searchTerm).value = "samples";
        }
        window.location = window.root + 'hcp/search_results.aspx?q=' + document.getElementById(searchTerm).value + '&s-type=s';
    }
    return false;
}
function validateSearchForm(searchTerm) {
    var valid = true;
    if (document.getElementById(searchTerm).value == "Search" ||
    document.getElementById(searchTerm).value.length == 0) {
        window.alert("Please enter a search text.");
        valid = false;
    }
    else {
        var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?";
        for (var i = 0; i < document.getElementById(searchTerm).value.length; i++) {
            if (iChars.indexOf(document.getElementById(searchTerm).value.charAt(i)) != -1) {
                window.alert("Your search text has special characters. \nThese are not allowed.\nPlease remove them and try again.");
                valid = false;
                break;
            }
        }
    }
    return valid;
}

// movie functions
function thisMovie(movieName) {
    if (navigator.appName.indexOf("Microsoft") != -1) {
        return window[movieName];
    } else {
        return document[movieName];
    }
}
function playVideo() {
    thisMovie("videoSection").playVideo();
}
function pauseVideo() {
    thisMovie("videoSection").pauseVideo();
}
function stopVideo() {
    thisMovie("videoSection").stopVideo();
}
function seekVideo(offset) {
    thisMovie("videoSection").seekVideo(offset);
}
function setVideoVolume(level) {
    thisMovie("videoSection").setVideoVolume(level);
}
function fullScreenVideo(state) {
    thisMovie("videoSection").fullScreenVideo(state);
}
function loadVideoById(id) {
    thisMovie("videoSection").loadVideoById(id);
}
function resumeVideo() {
    thisMovie("videoSection").resumeVideo();
}


function trackpdfClick(sptagName) {
    var urlString = unescape(window.location);
    var axel = Math.random() + "";
    var a = axel * 10000000000000;
    document.getElementById('spotTag').innerHTML = '<iframe src="http://fls.doubleclick.net/activityi;src=1089869;type=lantu530;cat=' + sptagName + ';ord=1;num=' + a + '?" width="1" height="1" frameborder="0"></iframe>';   
    //document.write('<iframe src="http://fls.doubleclick.net/activityi;src=1089869;type=lantu530;cat=' + sptagName + ';ord=1;num=' + a + '?" width="1" height="1" frameborder="0"></iframe>');
}

function trackClick(sptagName) {
    var urlString = unescape(window.location);
    var axel = Math.random() + "";
    var a = axel * 10000000000000;
    //document.getElementById('spotTag').innerHTML = '<iframe src="http://fls.doubleclick.net/activityi;src=1089869;type=lantu530;cat=' + sptagName + ';ord=1;num=' + a + '?" width="1" height="1" frameborder="0"></iframe>';
    document.write('<iframe src="http://fls.doubleclick.net/activityi;src=1089869;type=lantu530;cat=' + sptagName + ';ord=1;num=' + a + '?" width="1" height="1" frameborder="0"></iframe>');
}


function tracknewClick(sptagName) {
    var urlString = unescape(window.location);
    var axel = Math.random() + "";
    var a = axel * 10000000000000;
    //document.getElementById('spotTag').innerHTML = '<iframe src="http://fls.doubleclick.net/activityi;src=1089869;type=lantu530;cat=' + sptagName + ';ord=1;num=' + a + '?" width="1" height="1" frameborder="0"></iframe>';
    document.write('<iframe src="http://fls.doubleclick.net/activityi;src=3012733;type=lantu479;cat=' + sptagName + ';ord=1;num=' + a + '?" width="1" height="1" frameborder="0"></iframe>');
}


function tracknewsptlighttag(sptagName) {

    var urlString = unescape(window.location);
    var axel = Math.random() + "";
    var a = axel * 10000000000000;
    document.getElementById('newspotTag').innerHTML = '<iframe src="http://fls.doubleclick.net/activityi;src=3012733;type=lantu479;cat=' + sptagName + ';ord=1;num=' + a + '?" width="1" height="1" frameborder="0"></iframe>';
    //document.write('<iframe src="http://fls.doubleclick.net/activityi;src=1089869;type=lantu530;cat=' + sptagName + ';ord=1;num=' + a + '?" width="1" height="1" frameborder="0"></iframe>');
}

