function BrowserCheck() {
  if (navigator.userAgent.indexOf("Firefox") == -1
        && navigator.userAgent.indexOf("Iceweasel") == -1
        && navigator.userAgent.indexOf("Namoroka") == -1
        && navigator.userAgent.indexOf("Shiretoko") == -1
        && navigator.userAgent.indexOf("Minefield") == -1) {
    var strNotFF = "";
    var notFFmsg = document.getElementById("notFFmsg");
    var downloadBox = document.getElementById("download_box");
    if (notFFmsg) {
      //notFFmsg.innerHTML = strNotFF;
      notFFmsg.style.display = "block";
      downloadBox.style.display = "none";
    }
  }
}

function setFocus(element) {
  element.focus();
}    

var skipValidate = 0;
function validateSurvey(e) {
    var valid = true;

    if (skipValidate) {
        return true;
    }

    //var inputs = document.getElementsByTagName("input");
    var inputs = document.forms["survey"].elements;
    var checkboxes = [];

    for (var i = 0; i < inputs.length; i++) {
        if (inputs[i].getAttribute("type") == "checkbox") {
            checkboxes.push(inputs[i]);
        }
    }

    var userCheckedSomething = 0;
    for (var i = 0; i < checkboxes.length; i++) {
        if (checkboxes[i].name.indexOf("answer_") == 0 && checkboxes[i].checked) {
            userCheckedSomething++;
        }
    }

    var otherAnswerCheckbox = document.getElementById("answer_other");
    var otherAnswerText = document.getElementById("other_value");
    var email = document.getElementById("email");

    if (userCheckedSomething == 0) {
        errorMsg("Please select at least one reason for uninstalling.");
        valid = false;
    } else if (otherAnswerCheckbox.checked && otherAnswerText.value == '') {
        errorMsg('Please state your other reason.');
        otherAnswerText.focus();
        valid = false;
    } else if (email.value != "" && !validateEmail(email.value)) {
        errorMsg("Please enter a valid email.");
        email.focus();
        valid = false;
    } else {
        clearErrorMsg();
        valid = true;
    }

    if (!valid) {
        if (e) {
            e.stopPropagation();
            e.preventDefault();
        }
        return false;
    }

    return true;
}

function validateNotFirefox() {
    var email = document.notfirefox.email.value;
    if (!email || !validateEmail(email)) {
        errorMsg("Please enter a valid email.");
        document.notfirefox.email.focus();
        return false;
    }    
    return true;
}

function validateEmail(email) {
    return /^.+@[^\.].*\.[a-z]{2,6}$/i.test(email);
}

function errorMsg(msg) {
  var errorContainer = document.getElementById('error');
  errorContainer.innerHTML = msg;
  errorContainer.style.display = 'block';
}

function clearErrorMsg() {
    var errorContainer = document.getElementById('error');
    errorContainer.innerHTML = "msg";
    errorContainer.style.display = "none";
}

function sxipperVersionCheck() {
    var hasSxipper = false;
    var version = sxipperGetUserVersion();

    if (version != "") {
        hasSxipper = true;
    }

    if (!hasSxipper) {
        return;
    }

    if (sxipperVersionIsStableBuild(version)) {
        if (!sxipperUserHasLatestVersion(sxipperVersion, version)) {
            document.getElementById("oldVersionMsg").style.display = "block";
        }
    } else if (sxipperVersionIsDevBuild(version)) {
        if (!sxipperUserHasLatestVersion(sxipperDevVersion, version)) {
            document.getElementById("oldDevVersionMsg").style.display = "block";
        }
    }

    return;
}

function sxipperUserHasLatestVersion(sv, uv) {
    var userHasLatestVersion = true;
    if (sv != "" && uv != "") {
        var latestVersionParts = sv.split(".");
        var userVersionParts = uv.split(".");
        for (var i = 0; i < latestVersionParts.length; i++) {
            if (parseInt(latestVersionParts[i], 10) < parseInt(userVersionParts[i], 10)) {
                break;
            } else if (parseInt(latestVersionParts[i], 10) > parseInt(userVersionParts[i], 10)) {
                userHasLatestVersion = false;
                break;
            }
        }
    }
    return userHasLatestVersion;
}

function sxipperVersionIsStableBuild(version) {
    var versionParts = version.split(".");
    if (versionParts.length <= 3) {
        return true;
    }
    return false;
}

function sxipperVersionIsDevBuild(version) {
    var versionParts = version.split(".");
    if (versionParts.length == 4) {
        return true;
    }
    return false;
}

// Check two global variables and return value of the one that is actually set.
function sxipperGetUserVersion() {
    if (typeof userVersion != "undefined") {
        if (userVersion != "") {
            return userVersion;
        }
    }

    if (typeof userCookie != "undefined") {
        if (userCookie != "") {
            userVersion = userCookie;
            return userCookie;
        }
    }

    return "";
}

//popup window
function popWin(url,name,options){
  var win = window.open(url,name,options);
  win.focus();
  return false;
}
