﻿var timerid=null;
var thumb_width = 120;
var master_width = 250;
var thumb_height = 249;
var head = document.getElementsByTagName("head")[0];
script = document.createElement('script');
script.id = 'googleScript';
script.type = 'text/javascript';
script.src = "http://www.google.com/jsapi";
head.appendChild(script);

SlideTimer = function (slider, master, timer_interval, slide_obj) {
    this.slider = slider;
    this.master = master;
    this.obj = slide_obj;
    this.timer_interval = timer_interval;
    this.timerid = null;

    this.start = function () {

        thisobject = this;
        this.timerid = setInterval(function () { thisobject.slideImages(); }, this.timer_interval); //"' + slider + '","' + master + '","' + obj + '")', 6000);
    }

    this.stop = function () {
        clearInterval(this.timerid);
    }

    this.slideImages = function () {

        var top_attr = parseInt($(this.slider).css('top'));
        var width_attr = parseInt($(this.master).css('height'));
        var slider_height = parseInt($(this.slider).css('height'));
        var animate_str = '-=' + (parseInt(thumb_height) + 24); // thumb_width.toString();
        if (top_attr > (1 - (slider_height - Math.ceil((thumb_height + 24))))) {
            top_attr -= parseInt(thumb_height) + 24;
            $(this.slider).animate({ top: animate_str }, 'slow');
        }
        else {
            // top_attr = width_attr - ((parseInt(thumb_height) + 24) * 3)
            // $(this.slider).css('top', top_attr.toString() + 'px');
            
            // $(this.slider).css('top', '0px');

            animate_str = '+=' + top_attr.toString().substr(1, 10);
            $(this.slider).animate({ top: animate_str }, 'slow');
        }

    }
}

tubeslider = function (doc, divid, timer_interval) {
    this.doc = doc;
    this.timer_obj;
    this.timerid = null;
    this.timer_interval = timer_interval;
    this.divid = divid;
    this.slider;
    this.master = '#' + divid;

    if (this.timer_obj != null && this.timer_obj != undefined) {
        this.timer_obj.stop();
        delete this.timer_obj;
    }

    this.timer_obj = null;

    this.initex = function (tube_data) {

        var j = 0;
        while (j < tube_data.length && tube_data[j]["thumb_url"] == '#') {
            j++;
        }
        if (j >= tube_data.length)
            return -1;
        var k = 0;
        for (var i_loop = 0; i_loop < tube_data.length; i_loop++) {
            if (tube_data[i_loop]['thumb_url'] != '#')
                k++;
        }

        thumb_width = 280; // parseInt(tube_data[j]["thumb_width"]);
        thumb_height = 225; //  parseInt(tube_data[j]["thumb_height"]);
        thumb_div = thumb_height + 24;
        master_height = (thumb_div) * (k); // (parseInt(tube_data[j]["thumb_height"]) + 4) * (k);
        var temp = '#' + this.divid;

        //master for slider div
        var temp2 = temp + ' > div';
        $(temp2).remove();
        $(temp).css('position', 'absolute');
        $(temp).append("<div id='" + this.divid + "master" +
        "' class='master' style='top:4px; left:4px; width: 300px;height:" + master_height.toString() +
        "px;position:relative;overflow:hidden;'></div>");

        $(temp).append("<div id='" + this.divid + "_player'" +
        " class='playerwin' style='top:1px;left:" + ((parseInt($(temp).css('width')) / 2) / 2).toString() +
        "px;width:" + (parseInt($(temp).css('width')) / 2).toString() +
        "px;height:" + (parseInt($(temp).css('height')) - 10).toString() +
        "px;position:absolute;overflow:hidden;z-index:1;display:none;'><div id='" + this.divid +
        "_close' style='height:3%;text-align:right;width:100%;'>" +
        "<a href='#' style='height:100%;text-align:right;'>Close Window</a></div>" +
        "<div id='" + this.divid + "_ytapiplayer' style='position:relative;'></div></div>"); // float:left;
        var close_win = '#' + this.divid + '_close';
        var temp_id2 = this.divid;
        $(close_win).click(function (event) {
            event.preventDefault();
            if (temp_id2.charAt(0) != '#')
                temp_id2 = '#' + temp_id2 + '_player';
            $(temp_id2).hide();
        });
        var master_id1 = '#' + this.divid + '_player';
        var player_width1 = parseInt($(master_id1).css('width'));
        var player_height1 = parseInt($(master_id1).css('height')) - 17;

        //div to show the text
        temp2 += ":first";

        this.master = temp + "master";

        this.slider = this.divid + '_slider';
        $(this.master).addClass('master');
        $(this.master).append("<div id='" + this.slider + "' class='slider' style='left:0px;width:296px;height:" + master_height + "px;position:relative;'></div>");

        this.slider = '#' + this.slider;
        for (var i = 0; i < tube_data.length; i++) {
            if (tube_data[i]["thumb_url"] != '#') {
                var div_tag = "<div id='" + this.divid + i.toString() + "' style='overlow:hidden;width:296px;height: " + thumb_div + "px; position:relative;'>";
                var a_tag = "<a href='" + tube_data[i]["thumb_url"] + "' target='_blank' style='text-decoration:none;'>";
                var img_tag = "<img src='" + tube_data[i]['thumb_img'] + "' style='width:" + thumb_width + "px; height:" + thumb_height + "px; float:left; margin-right: 10px' alt='" + tube_data[i]['thumb_title'] + "' />";
                var ending_tags = "</a><a href='" + tube_data[i]["thumb_url"] + "' target='_blank' style='text-decoration:none;'>" + tube_data[i]['thumb_title'] + "</a></div>"; // tube_data[i]['vid']
                $(this.slider).append(div_tag + a_tag + img_tag + ending_tags);
            }
        }

        var local_slider = this.slider;
        var local_master = this.master;
        var temp_del = this.slider + " > div"

        this.timer_obj = new SlideTimer(this.slider, this.master, this.timer_interval, this);
        var timer_obj_ref = this.timer_obj;
        $(temp_del).hover(function () {
            timer_obj_ref.stop();
            var id_text = $(this).attr('id');
            if (id_text != undefined || id_text == '') {
                var i = id_text.length - 1;

                var chr_txt = id_text.charAt(i);
                while (!isNaN(parseInt(chr_txt))) {
                    i--;
                    var chr_txt = id_text.charAt(i);
                }
                id_text = id_text.substr(0, (i + 1));
                var txt_div = '#' + id_text + '_text';

                $(txt_div).css('display', 'block');
                $(txt_div).html("<b>" + $(this).text() + "</b>");
            }
        },
        function () {
            timer_obj_ref.start();
            var id_text = $(this).attr('id');
            if (id_text != undefined || id_text == '') {
                var i = id_text.length - 1;

                var chr_txt = id_text.charAt(i);
                while (!isNaN(parseInt(chr_txt))) {
                    i--;
                    var chr_txt = id_text.charAt(i);
                }
                id_text = id_text.substr(0, (i + 1));
                var txt_div = '#' + id_text + '_text';
                $(txt_div).css('display', 'none');
            }

        });

        var master_id = this.divid;
        /*
        $(temp_del).click(function(event) {
        timer_obj_ref.stop();
        event.preventDefault();
        var vid_text = $(this).text();

        if (vid_text != undefined || vid_text == '') {
        var i = vid_text.length - 1;
        var vid_mark1 = vid_text.indexOf('(vid');
        var vid_mark2 = -1;
        if (vid_mark1 != -1) {
        vid_mark1 += 4;
        vid_text = vid_text.substr(vid_mark1, ((vid_text.length - 1) - vid_mark1));
        }

        var playerid = '#' + master_id + '_player';
        vid_text = vid_text.replace(/^\s+|\s+$/g, "");

        var player_width = parseInt($(playerid).css('width'));
        var player_height = parseInt($(playerid).css('height'));

        var str_player = '<object style="position:relative;display:block;top:15px;left:1px;height' +
        (player_height - 17).toString() + 'px; width:' + (player_width - 2).toString() + 'px">' +
        '<param name="movie" value="http://www.youtube.com/v/' + vid_text +
        '?version=3&iv_load_police=3&autoplay=1&color1=0xb1b1b1&color2=0xcfcfcf&feature=player_embedded">' +
        '<param name="allowFullScreen" value="true">' +
        '<param name="allowScriptAccess" value="always">' +
        '<embed src="http://www.youtube.com/v/' + vid_text +
        '?version=3&iv_load_police=3&autoplay=1&color1=0xb1b1b1&color2=0xcfcfcf&feature=player_embedded" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="' +
        (player_width - 2).toString() + '" height="' + (player_height - 17).toString() + '"></object>'

        $(playerid).css('display', 'block');

        var player_div = '#' + master_id + '_ytapiplayer';
        $(player_div).html(str_player);

        }
        });
        */
    }

    this.start = function () {
        if (this.timer_obj != null && this.timer_obj != undefined)
            this.timer_obj.start();
    }
    this.stop = function () {
        if (this.timer_obj != null && this.timer_obj != undefined)
            this.timer_obj.stop();
        delete (this.timer_obj);
        this.timer_obj = null;
    }

}
