window.wibiyaToolbar = window.wibiyaToolbar || {};
wibiyaToolbar.pl = "true";
wibiyaToolbar.nc = "false";
wibiyaToolbar.flashFix = true;
wibiyaToolbar.wibiyaTimeoutId = null;
wibiyaToolbar.preventLoad = (typeof prevent_wibiya_load != "undefined") ? prevent_wibiya_load : false;


if (!Array.prototype.indexOf) {
    Array.prototype.indexOf = function(obj, start) {
        for (var i = (start || 0), j = this.length; i < j; i++) {
            if (this[i] === obj) {
                return i;
            }
        }
        return -1;
    }
}

function loadjscssfile(filename, filetype, where){
    var fileref;
    if (filetype=="js"){ //if filename is a external JavaScript file
        fileref=document.createElement("script");
        fileref.setAttribute("type","text/javascript");
        fileref.setAttribute("src", filename);
    }
    else if (filetype=="css"){ //if filename is an external CSS file
        fileref=document.createElement("link");
        fileref.setAttribute("rel", "stylesheet");
        fileref.setAttribute("type", "text/css");
        fileref.setAttribute("href", filename);
    }
    if (typeof fileref!="undefined"){
        if (where=="head"){
            document.getElementsByTagName("head")[0].appendChild(fileref);
        }
        else{
            document.getElementsByTagName("body")[0].appendChild(fileref);
        }
    }
}

function CheckJQueryLoader(toolbarId)
{
    if (typeof jQuery == "function") {
        clearTimeout(wibiyaToolbar.wibiyaTimeoutId);
        SetToolbarLoad();
    }
    else {
        wibiyaToolbar.wibiyaTimeoutId = setTimeout("CheckJQueryLoader("+toolbarId+");",200);
    }
}

function getQueryParam(name){
    var qString = window.location.search.substring(1).split("&");
    var params = new Array();

    var p;
    for(var i=0; i<qString.length; i++){
        p = qString[i].split("=");
        params[p[0]] = p[1];
    }

    return params[name];
}

function wbpad(number, length) {
    var str = '' + number;
    while (str.length < length) {
        str = '0' + str;
    }
    return str;
}

function altToolbarUrl(altToolbar){
    var cdn = getQueryParam("cdn");
    cdn = (typeof cdn=="undefined")?"cdn.wibiya.com":cdn;
    if(!cdn.match(/^(st)?cdn\.wibiya\.(com|local)$/)){
        cdn = "cdn.wibiya.com";
    }

    var toolbarId = altToolbar.match(/\d+/);
    var dir = wbpad(Math.floor(toolbarId / 1000), 4);
    var toolbarUrl = 'http://' + cdn + '/Toolbars/dir_' + dir + '/Toolbar_' + toolbarId + '/' + altToolbar;
    return toolbarUrl;
}


function loadWibiyaToolbar(src){
    var bodyRef = document.getElementsByTagName("body");

    if(bodyRef.length == 0){
        window.wiBodyWaitRetry = window.wiBodyWaitRetry || 0;
        window.wiBodyWaitRetry++;
        if(window.wiBodyWaitRetry <= 10){
            window.wiBodyWait = setTimeout("loadWibiyaToolbar('"+src+"');",500);
        }
        else {
            console.log("Could not find body tag and unable to load "+src);
            return;
        }
    }
    else{
        loadjscssfile(src,"js","body");
    }
}

function SetToolbarLoad(){
    var wibiya_mobiles = ["iphone","ipod","ipad","series60","symbian","android","windows ce",
        "blackberry","palm","avantgo","docomo","vodafone","j-phone",
        "xv6850","htc","lg;","lge","mot","nintendo","nokia","samsung","sonyericsson"];
    wibiyaToolbar.wibiya_isMobile = false;
    wibiyaToolbar.wibiya_uAgent = navigator.userAgent.toLowerCase();
    for(var i=0;i<wibiya_mobiles.length;i++){
        if(wibiyaToolbar.wibiya_uAgent.match(wibiya_mobiles[i]) != null){
            wibiyaToolbar.wibiya_isMobile = true;
            var img=new Image(1,1);
            img.src = "http://wstat.wibiya.com/m.jpg?t="+wibiyaToolbar.id;
            break;
        }
    }

    if ((jQuery.browser.msie && parseInt(jQuery.browser.version)==6) || wibiyaToolbar.wibiya_isMobile == true){

    }
    else{
        if(wibiyaToolbar.flashFix === true){
            wibiyaToolbar.rewriteFlash = 0;
            wibiyaToolbar.framework.FlashFix();
            wibiyaToolbar.rewriteFlashInterval = setInterval("wibiyaToolbar.framework.FlashFix();", 3333);
        }

        wibiyadomain = "http://cdn.wibiya.com/Toolbars/dir_0044/Toolbar_44316/";
        // no-conflict
        if (wibiyaToolbar.nc=="true") jQuery.noConflict();

        var altToolbar = getQueryParam("toolbarObjId");
        // detect jd_gallery, ie, user_request - load page after document.ready
        if (typeof (startGallery) == "function" || jQuery.browser.msie || wibiyaToolbar.pl=="true") {
            var wibiyaScriptSrc;
            jQuery(document).ready(function(){
                if (typeof altToolbar == "undefined"){
                    wibiyaScriptSrc = wibiyadomain+"toolbar_44316_4d40094eb4db0.js";
                }
                else{
                    wibiyaScriptSrc = altToolbarUrl(altToolbar);
                }
                loadWibiyaToolbar(wibiyaScriptSrc);
            });
        }
        else{
            if (typeof altToolbar == "undefined"){
                wibiyaScriptSrc = wibiyadomain+"toolbar_44316_4d40094eb4db0.js";
            }
            else{
                wibiyaScriptSrc = altToolbarUrl(altToolbar);
            }
            loadWibiyaToolbar(wibiyaScriptSrc);
        }
    }
}

if(!wibiyaToolbar.preventLoad){
    if (typeof jQuery != "function"){
        loadjscssfile("http://cdn.wibiya.com/Scripts/jquery-1.4.2.min.js","js","head");
    }
    var wibiyaToolbar = {};
    wibiyaToolbar.framework = {};
        wibiyaToolbar.framework.getAttributes=function(obj){
    var _attrList = ["height","width","classid"];
    var attr = "";
    for(var i=0;i<obj.attributes.length;i++){
        if(jQuery.inArray(obj.attributes[i].name, _attrList) > -1){
            attr+= ' ' + obj.attributes[i].name + '="' + obj.attributes[i].value + '"';
        }
    }
    return attr;
};

wibiyaToolbar.framework.getParams=function(obj){
    var _params = jQuery(obj).children("param");
    var _paramAttr;
    var _newParams = "";
    jQuery.each(_params, function(i){
        _paramAttr = "";
        for(var j=0;j<_params[i].attributes.length;j++){
            _paramAttr+= ' ' + _params[i].attributes[j].name + '="' + _params[i].attributes[j].value + '"';
        }
        _newParams+= "<param" + _paramAttr + "/>";
    });
    var _embed = jQuery(obj).children("embed");
    var _embedAttr = "";
    if(_embed.length > 0){
        for(var i=0;i<_embed[0].attributes.length;i++){
            _embedAttr+= ' ' + _embed[0].attributes[i].name + '="' + _embed[0].attributes[i].value + '"';
        }
    }

    return _newParams+"<embed " +_embedAttr + "></embed>";
};

wibiyaToolbar.framework.FlashFix=function(){
    var _oldEmbeds = jQuery("embed[wmode!=\"opaque\"][wmode!=\"transparent\"]");
    var _embed;
    jQuery.each(_oldEmbeds,function(i){
        _embed = jQuery(_oldEmbeds[i]).clone();
        _embed.attr("wmode","opaque");
        jQuery(_oldEmbeds[i]).after(_embed);
        jQuery(_oldEmbeds[i]).remove();
    });

    if(jQuery.browser.msie || jQuery.browser.safari){
        var _objects = jQuery("object");
        var _params;
        jQuery.each(_objects, function(i){
            _params = jQuery(_objects[i]).children('param[name="wmode"]');
            if(_params.length===0){
                jQuery(_objects[i]).after('<object ' + wibiyaToolbar.framework.getAttributes(_objects[i]) + '>' + wibiyaToolbar.framework.getParams(_objects[i]) + '<param name="wmode" value="opaque" />' + '</object>');
                jQuery(_objects[i]).remove();
            }
            else if(_params.val().toLowerCase() == "window"){
                jQuery(_objects[i]).after('<object ' + wibiyaToolbar.framework.getAttributes(_objects[i]) + '>' + jQuery(_objects[i]).html().toLowerCase().replace('window', 'opaque') + '</object>');
                jQuery(_objects[i]).remove();
            }
        });
    }

    wibiyaToolbar.rewriteFlash++;
    if(wibiyaToolbar.rewriteFlash>=3){
        clearInterval(wibiyaToolbar.rewriteFlashInterval);
    }
};
        wibiyaToolbar.id="44316";
    wibiyaToolbar.referrer=document.referrer;
    CheckJQueryLoader(wibiyaToolbar.id);
}
