
/**
* hides various elements if they do not match a certain os
*/
function doHide(tagnames){

    var os = getOS();
    if (!os){return}
    var ff = getBrowser();
    
    var eles = document.getElementsByTagName("*");
    for (var i=0; i<eles.length; i++){
        var ele = eles[i];
        var osRequired = ele.getAttribute("os");
        if (osRequired && osRequired.indexOf(os) == -1){
            ele.style.display = "none";
        }
        //and show/hide for firefox versions
        var verRequired = ele.getAttribute("browserversion");
        if (verRequired && verRequired.indexOf(ff) == -1){
            ele.style.display = "none";
        }
    }
}

/**
* return a string identifiing the client operating system
* NOTE: very kludgy, but will do for now.
*/
function getOS(){
    var agt = navigator.userAgent.toLowerCase();
    if (agt.indexOf("win")!=-1){
        return "win"
    }
    else if (agt.indexOf("mac")!=-1){
        return "mac"
    }
    else if (agt.indexOf("inux")!=-1){
        return "linix"
    }
    else {
        return null;
    }
}

function getBrowser(){
    var agt = navigator.userAgent.toLowerCase();
    if (agt.indexOf('gecko') > -1){
        if ((agt.indexOf('firefox/3') > -1) || (agt.indexOf('minefield/3') > -1)){
            return "ff3";
        }
        else if (agt.indexOf('firefox/3') > -1){
            return "ff2";
        }
        else {
            return "ff1";
        }
    }
    return null;    
}

doHide()
