function attemptLogin()
{
    // Request salt value from server
    var frameWorker = document.getElementById('frameLogin');
    frameWorker.contentWindow.document.location = '/getloginsalt.asp?database=cows';
}

function gotLoginSalt(intSalt, strSaltId)
{
    if (intSalt == null) {
        alert('Internal error: database access error');
        return;
    }
    var objElePasswordUnencoded = document.getElementById('loginPassword');
    var objElePassword = document.getElementById('loginPasswordEncoded');
    var objEleSaltId = document.getElementById('loginPasswordSalt');

    // Encode password with salt value
    var strPassword = objElePasswordUnencoded.value;
    strPassword = SHA1Encode(strPassword);
    strPassword = MD5Encode(strPassword + intSalt);

    // Update entries on form
    objElePasswordUnencoded.value = '';
    objElePassword.value = strPassword;
    objEleSaltId.value = strSaltId;

    // Submit form now the entries are ready
    var objForm = document.forms['formLogin'];

    // Ideally, open new window for COWS, but this may be blocked
    // in which case an error may be thrown (eg. 0x8000405 in Firefox).
    // If this is so, attempt to open in current window.
    try {
        objForm.submit();
    }
    catch(e) {
        objForm.target = '_self';
        objForm.submit();
    }
}
