﻿microsoftbeitvideosload = function (startdivname) {
    if (typeof jQuery == "undefined") {
        microsoftbeitvideosload.getScript("http://ajax.microsoft.com/ajax/jquery/jquery-1.4.min.js");
        microsoftbeitvideosload.tryReady(0, startdivname); 
    } else { microsoftbeitvideosload.LoadJqueryUI(startdivname); }

    microsoftbeitvideosload.getCss("http://www.microsoft.com/italy/beit/css/microsoftbeit/jquery-ui-1.7.2.custom.css");
    microsoftbeitvideosload.getCss("http://www.microsoft.com/italy/beit/css/microsoftbeit/microsoftbeit.css");
    
}

// dynamically load any javascript file.
microsoftbeitvideosload.getScript = function (filename) {
    var script = document.createElement('script');
    script.setAttribute("type", "text/javascript");
    script.setAttribute("src", filename);
    if (typeof script != "undefined")
        document.getElementsByTagName("head")[0].appendChild(script);
}
microsoftbeitvideosload.getCss = function (filename) {
    var script = document.createElement('link');
    script.setAttribute("type", "text/css");
    script.setAttribute("rel", "stylesheet");
    script.setAttribute("href", filename);
    if (typeof script != "undefined")
        document.getElementsByTagName("head")[0].appendChild(script);
}

microsoftbeitvideosload.LoadJqueryUI = function (startdivname) {
    if (typeof jQuery.fn.selectable == "undefined") {
        $.getScript("http://www.microsoft.com/italy/beit/js/microsoftbeit/jquery-ui-1.7.2.custom.min.js", function () { microsoftbeitvideosload.startmicrosoftbeit(startdivname); });
    } else { microsoftbeitvideosload.startmicrosoftbeit(startdivname);}
}
microsoftbeitvideosload.tryReady = function (time_elapsed, startdivname) {
    // Continually polls to see if jQuery is loaded.
    if (typeof jQuery == "undefined") { // if jQuery isn't loaded yet...
        if (time_elapsed <= 5000) { // and we havn't given up trying...
            setTimeout("microsoftbeitvideosload.tryReady(" + (time_elapsed + 200) + ",'" + startdivname + "')", 200); // set a timer to check again in 200 ms.
        } else {
            //alert("Timed out while loading jQuery.");
        }
    } else {

        microsoftbeitvideosload.LoadJqueryUI(startdivname);
    }
}
microsoftbeitvideosload.getQuerystring = function (url) {
    var a = document.createElement('a');
    a.href = url;
    return {
        source: url,
        protocol: a.protocol.replace(':', ''),
        host: a.hostname,
        port: a.port,
        query: a.search,
        params: (function () {
            var ret = {},
                seg = a.search.replace(/^\?/, '').split('&'),
                len = seg.length, i = 0, s;
            for (; i < len; i++) {
                if (!seg[i]) { continue; }
                s = seg[i].split('=');
                ret[s[0]] = s[1];
            }
            return ret;
        })(),
        file: (a.pathname.match(/\/([^\/?#]+)$/i) || [, ''])[1],
        hash: a.hash.replace('#', ''),
        path: a.pathname.replace(/^([^\/])/, '/$1'),
        relative: (a.href.match(/tps?:\/\/[^\/]+(.+)/) || [, ''])[1],
        segments: a.pathname.replace(/^\//, '').split('/')
    };
}
microsoftbeitvideosload.startmicrosoftbeit = function (startdivname) {
    var microsoftbeitvideos = new Array();

    $("#" + startdivname + " DIV > a").each(


    function (i) {
        var myurl = $(this)[0].href;
        myurl = microsoftbeitvideosload.getQuerystring(myurl);
        microsoftbeitvideos[i] = [myurl.params['video'], $(this)[0].innerHTML];
    }

    );


    var microsoftbeitstartdivname = $("#" + startdivname)
    microsoftbeitstartdivname.children().empty();
    microsoftbeitstartdivname.addClass('microsoftbeit-root-div')
    var microsoftbeitlist = $("<div class='microsoftbeit-list-div'></div>");
    microsoftbeitstartdivname.append(microsoftbeitlist);

    var microsoftbeitiframe = $("<iframe class='microsoftbeit-select-result' frameborder='0' allowtransparency='true'></iframe>");
    microsoftbeitstartdivname.append(microsoftbeitiframe);

    var microsoftbeitselectable = $("<ol class='microsoftbeit-selectable'></ol>");
    microsoftbeitlist.append(microsoftbeitselectable);
    microsoftbeitstartdivname.find(":first").hide();

    microsoftbeitselectable.selectable({
        stop: function () {


            $(".ui-selected", this).each(function () {

                microsoftbeitiframe.attr("src", "http://www.microsoft.com/italy/beit/EmbedPlayer.aspx?video=" + this.children[0].innerHTML + "&x=" + escape(document.location.href));

            });
        }
    });

    for (var e in microsoftbeitvideos) {
        var el = $("<li class='ui-widget-content'>" + microsoftbeitvideos[e][1] + "<span style='visibility:hidden;display:none'>" + microsoftbeitvideos[e][0] + "</span></li>");
        if (e == 0) {
            el.addClass('ui-selected');
            microsoftbeitiframe.attr("src", "http://www.microsoft.com/italy/beit/EmbedPlayer.aspx?video=" + microsoftbeitvideos[e][0] + "&x=" + escape(document.location.href));

        }
        microsoftbeitselectable.append(el);
    }
}

