/*******************************************************************************

  Name:           No IE Information Bar
  Version:        0.2.5
  Date:           December 14, 2004
  Author:         Martin Ng        <http://minghong.webhop.org>
  Contributors:   Ching Yonghanasteko. Modified by Aurelien Bompard <gauret(a)free.fr>


  ------------------------------------------------------------------------------

  Creative Commons Deed
  Attribution-NonCommercial 2.0

  Read full license here:
  http://creativecommons.org/licenses/by-nc/2.0/legalcode

*******************************************************************************/

var urlprefix = "javascript/";
var animated = true;



/*
 * TRANSLATIONS
 */
var messages = new Array();
messages["cz"] = "Dočasně zhoršený příjem Internetu je zpusoben prohlížečem Internet Explorer. Podrobnější informace najdete zde...";
messages["da"] = "Internet Explorer forhindrer dig i at få en bedre oplevelse af internettet. Klik her og få mere at vide...";
messages["de"] = "Internet Explorer verhindert ein besseres Internet-Erlebnis. Klicken Sie hier für weitere Informationen...";
messages["at"] = messages["de"];
messages["ch"] = messages["de"];
messages["el"] = "Ο εξερευνητής Διαδικτύου σας αποτρέπει από την κατοχή μιας καλύτερης εμπειρίας Διαδικτύου. Χτυπήστε εδώ για να μάθετε περισσότερους...";
messages["en"] = "Internet Explorer is preventing you from having a better Internet experience. Click here to learn more...";
messages["es"] = "Internet Explorer está impidiendo que disfrutes de una mejor experiencia de Internet. Haz clic aquí para obtener más información...";
messages["fi"] = "Internet Explorer estää sinua kokemasta nettiä paremmin. Napsauta tästä lisätietoja...";
messages["fr"] = "Internet Explorer vous empeche de voir cette page correctement. Cliquez ici pour plus d'informations...";
messages["id"] = "Internet Explorer menghambat Anda merasakan pengalaman ber-Internet yang lebih baik. Klik di sini untuk mengetahui lebih banyak...";
messages["it"] = "Internet Explorer vi sta impedendo di sfruttare al meglio Internet. Clicca qui per avere ulteriori informazioni...";
messages["ja"] = "Internet Explorerによって、より良いインターネット体験が妨げられています。詳細を表示するには、ここをクリックしてください...";
messages["ms"] = "Internet Explorer menghalang anda untuk mendapat pengalaman Internet yang lebih baik. Klik sini untuk mengetahui lebih banyak...";
messages["nl"] = "Internet Explorer weerhoudt u van een betere internetervaring. Klik hier voor meer informatie...";
messages["no"] = "Internet Explorer hindrer deg i å ha en bedre opplevelse av internett. Klikk her for mer informasjon...";
messages["pl"] = "Internet Explorer przeszkodził ci w doświadczeniu lepszego internetu. Aby dowiedzieć się więcej kliknij tutaj...";
messages["pt-br"] = "Internet Explorer está impedindo você de ter uma melhor experiência na internet. Clique aqui para saber mais...";
messages["pt-pt"] = messages["pt-br"];    // Temporary
messages["ru"] = "Исследователь интернета предотвращает вас от иметь более лучший опыт интернета. Щелкните здесь для того чтобы выучить больше...";
messages["sl"] = "Internet Explorer vam preprečuje lepše doživljanje interneta. Kliknite tukaj za več informacij...";
messages["sv"] = "Internet Explorer hindrar dig från att ha en bättre internetupplevelse. Klicka här för mer information...";
messages["tn"] = "Internet Explorer sizi daha iyi bir internet deneyiminden alıkoyuyor. Daha fazla bilgi için buraya tıklayın...";
messages["zh-cn"] = "Internet Explorer 阻止你有更好的网络体验。按此了解更多…";
messages["zh-tw"] = "Internet Explorer 阻止你有更好的網絡體驗。按此瞭解更多…";

// Localized tooltips
var tooltips = new Array();
tooltips["cz"] = "Browse Happy — stav připojení. ne trápit se.";
tooltips["da"] = "Browse Happy — Online. Bekymringsløst.";
tooltips["de"] = "Browse Happy — Online. Sorgenfrei online.";
tooltips["at"] = tooltips["de"];
tooltips["ch"] = tooltips["de"];
tooltips["el"] = "Browse Happy — Online. καμία ανησυχία.";
tooltips["en"] = "Browse Happy — Online. Worry-free.";
tooltips["es"] = "Browse Happy — en línea. sin preocuparse.";
tooltips["fi"] = "Browse Happy — Verkossa. Huoletta.";
tooltips["fr"] = "Pourquoi ne pas utiliser Internet Explorer";
tooltips["id"] = "Browse Happy — Online. Tanpa takut.";
tooltips["it"] = "Browse Happy — in linea. senza pensieri.";
tooltips["ja"] = "Browse Happy — 心配事なく、ネットしよう。";
tooltips["ms"] = "Browse Happy — Online. Tak perlu bimbang.";
tooltips["nl"] = "Browse Happy — Online. zonder zorgen.";
tooltips["no"] = "Browse Happy — Online. Bekymringsløst";
tooltips["pl"] = "Browse Happy — serfuj bez obaw!!";
tooltips["pt-br"] = "Browse Happy — Online. Sem preocupações.";
tooltips["pt-pt"] = tooltips["pt-br"];    // Temporary
tooltips["ru"] = "Browse Happy — Online. нет тревожить.";
tooltips["sl"] = "Browse Happy — Na zvezi - brez skrbi.";
tooltips["sv"] = "Browse Happy - Online, utan bekymmer.";
tooltips["tn"] = "Browse Happy — Çevrimiçiyken endişeye son.";
tooltips["zh-cn"] = "Browse Happy — 上网。无忧。";
tooltips["zh-tw"] = "Browse Happy — 上網。無憂。";

// Localized explanation pages
var learnmorepages = new Array();
learnmorepages["en"] = "http://browsehappy.com/";
learnmorepages["fr"] = "http://frenchmozilla.sourceforge.net/firefox/pourquoi/";



var tid;
var infobar;

function makeInfoBar(url, tooltip, message) {
    var body = document.getElementsByTagName("body")[0];

    // Initialize the infobar
    infobar = document.createElement( "div" );
    infobar.setAttribute("id", "infobar");
    body.appendChild( infobar );

    // Update the infobar
    // message object:
    var textNode = document.createTextNode( message );
    // link object:
    var linkNode = document.createElement( "a" );
    linkNode.setAttribute( "href", url );
    linkNode.setAttribute( "target", "_blank" );
    linkNode.setAttribute( "title", tooltip );
    // warning icon:
    var imgNode = document.createElement( "img" );
    imgNode.setAttribute( "src", urlprefix+"warning.gif" );
    imgNode.setAttribute( "alt", "Warning" );
    // close icon:
    var closeNode = document.createElement( "img" );
    closeNode.setAttribute( "src", urlprefix+"close.gif" );
    closeNode.setAttribute( "alt", "Close" );
    closeNode.setAttribute( "title", "Close" );
    closeNode.className = "close";
    closeNode.onclick = closeInfoBar;
    // assamble nodes:
    linkNode.appendChild( imgNode );
    linkNode.appendChild( textNode );
    infobar.appendChild( linkNode );
    infobar.appendChild( closeNode );

    // Add the stylesheet
    var stylesheet = document.createElement( "link" );
    stylesheet.setAttribute( "rel", "stylesheet" );
    stylesheet.setAttribute( "type", "text/css" );
    stylesheet.setAttribute( "href", urlprefix+"infobar.css" );
    var head = document.getElementsByTagName( "head" )[0];
    head.appendChild( stylesheet );

    // make room for the infobar
    body = body.style.paddingTop = infobar.offsetHeight+"px";
    // show it
    infobar.style.display = "block";
    // Slide the infobar into view
    if ( animated ) {
        var inHeight = infobar.offsetHeight;
        infobar.style.top = inHeight * -1;
        tid = window.setInterval( "lowerInfoBar()", 1 );
    }
}

function lowerInfoBar() {
    if ( parseInt( infobar.style.top ) < 0 ) {
        infobar.style.top = parseInt( infobar.style.top ) + 1;
    } else {
        clearInterval( tid );
    }
}

function closeInfoBar() {
    infobar.style.display = "none";
    var body = document.getElementsByTagName("body")[0];
    body = body.style.paddingTop = "0px";
}


function showInfoBar() {
    // Detect Internet Explorer
    if (navigator.appName.indexOf("Internet Explorer") == -1) {
        return true;
    }


    // Detect the locale
    var locale = navigator.language ? navigator.language : navigator.userLanguage;
    switch ( locale ) {
        // Traditional Chinese
        case "zh-tw":
        case "zh-hk":
        case "zh-mo":
            locale = "zh-tw";
            break;
        // Simpified Chinese
        case "zh-cn":
        case "zh-sg":
            locale = "zh-cn";
            break;
        // European Portuguese
        case "pt-pt":
            locale = "pt-pt";
            break;
        // Brazilian Portuguese
        case "pt-br":
            locale = "pt-br";
            break;
        // For others, remove country code
        default:
            if ( locale.indexOf("-") > 0 )
            {
                locale = locale.substring( 0, locale.indexOf("-") );
            }
    }
    // Select localized strings
    var tooltip = tooltips[locale] ? tooltips[locale] : tooltips["en"];
    var message = messages[locale] ? messages[locale] : messages["en"];
    var learnmorepage = learnmorepages[locale] ? learnmorepages[locale] : learnmorepages["en"];

    // Create infobar
    makeInfoBar(learnmorepage, tooltip, message);
}
