// PageFunctions.js
//
// Author:      J. Robar/Uniband, Inc.
// Created:     17 July, 2000
// Purpose:     reload calling window

// IMAGE ROLL-OVER FUNCTION
var NavUseImages = 1;
function ChngImg(imgDocID, imgObjName) {
 if (NavUseImages=="1") { document.images[imgDocID].src=eval(imgObjName+".src"); }
}

// STATUS LINE UPDATE FUNCTION
function ChngStat(Msg) {
 if (Msg!="") { window.status = Msg; }
}

//// field: text area form field name, cntfield: form field to display count; maxlimit: maximum number of characters allowed; 
//function textCounter(field,cntfield,maxlimit) {
//if (field.value.length > maxlimit) // if too long...trim it!
//field.value = field.value.substring(0, maxlimit);
//// otherwise, update 'characters left' counter
//else
//cntfield.value = maxlimit - field.value.length;
//}
// used in form:
//<textarea name="message2" wrap="physical" cols="28" rows="5"
//onKeyDown="textCounter(document.myForm.message2,document.myForm.remLen2,125)"
//onKeyUp="textCounter(document.myForm.message2,document.myForm.remLen2,125)"></textarea>
//<br>
//<input readonly type="text" name="remLen2" size="3" maxlength="3" value="125"> characters left

// field: form field name, maxChars: maximum number of characters allowed; 
//function TextCounterByID(field,maxChars,spanName) {
// var txtArea = document.getElementById(field)
// if (txtArea.value.length > maxChars) {
// 	alert("Please shorten your note.\r\nYour note can contain up to " + maxChars + " characters, including letters, numbers and underscores.  Watch the text counter to tell how many characters you have remaining.");
//	 txtArea.value = txtArea.value.substring(0, maxChars-2);
// }
//	document.getElementById(spanName).innerHTML = maxChars - txtArea.value.length;
//}

// DETECT IF BROWSER SUPPORTS STYLE SHEETS
if (document.all) { NavStyles = 1; } //IE w/ CSS
//else {
// if (document.tags.body) { NavStyles = 1; } //NS w/ CSS
 else { NavStyles = 0; } //browser doesnt support CSS
//}

// display amount of memory, etc. used by a page
function showPageWeight() {
    var pw;
    var pwdoc = document;
    var pwfilesize = 0;
    var pwimagesize = 0;
    var pwimageMap = new Object();
    var pwmessage = "";

    pwfilesize = parseInt(pwdoc.fileSize,10);

    for (pw = 0; pw < pwdoc.images.length; pw++) {
        if (!pwimageMap[pwdoc.images[pw].src]) {
            pwimagesize += parseInt(pwdoc.images[pw].fileSize);
            pwimageMap[pwdoc.images[pw].src] = true;
        }
    }
    
    pwmessage += "This page weighs " +
               (pwfilesize + pwimagesize).simpleFormat() + " bytes:\n\n";
    pwmessage += "Document: " + pwfilesize.simpleFormat() + " bytes\n";
    pwmessage += "Images: " + pwimagesize.simpleFormat() + " bytes*\n";
    alert(pwmessage);
}

Number.prototype.simpleFormat = function() {
    var nstr = new String(this);
    var f = 1;
    
    for (var sf = nstr.length - 1; sf > 0; sf--) {
        if (f/3 == Math.ceil(f/3)) {
            nstr = nstr.substring(0,sf) + ',' +
            nstr.substring(sf,nstr.length);
        }
        f++;
    }
    
    return nstr;
}

Number.prototype.toDownloadSeconds = function(bitsPerSecond) {
    if (isNaN(bitsPerSecond)) return NaN;
    return this / (bitsPerSecond / 8);
}

Number.prototype.roundTo = function(places) {
    if (isNaN(places)) return Math.round(this);
    return (Math.round(this * Math.pow(10,places)) / Math.pow(10,places));
}

// invoke on load
//showPageWeight();