var activeDocPicture
var activeDocForm
var sTotalWeight
var sTotalTimesShown
var sLeastShown
var sLeastPctShown
var sHeight
var sWidth
var fHeight
var fWidth
var fldName
var sAdCount
var whichPicture
var whichText
var whatBrowser
var adCtr

whatBrowser = navigator.appName;

function getObjectRef(name) {

if(document.getElementById) return document.getElementById(name);

else if(document.all) return document.all[name];

else return null;

}


function removeCharacter(tmpfld, tmpchar){
    var workfld
    var fldlen
    var charlen
    var testchar
    var pos

    workfld = "";
    fldlen = tmpfld.length
//    alert("length = " + fldlen);
    if (tmpchar == " "){
        charlen = 1;
        testchar = " ";
    }
    else {
        charlen = tmpchar.length;
        testchar = tmpchar;
    }
//    alert("testchar = " + testchar + " charlen = " + charlen);
    
    for (pos = 0; pos < fldlen; pos++) {
//	alert("pos = " + pos + " " + asc(Mid(Trim(tmpfld), pos, 1)))
        if (tmpfld.substr(pos, charlen) == testchar){
//	    alert("we found tmpchar");
            pos = pos + charlen - 1;
	}
        else{
            workfld = workfld + tmpfld.substr(pos, 1);
//	    alert("workfld 1 = " + workfld);
	}
    }
//   alert("workfld = " + workfld);
    return workfld;

}

function replaceCharacter(tmpfld, tmpchar, tmpReplace){
    var workfld
    var fldlen
    var charlen
    var testchar
    var rcharlen
    var rtestchar
    var pos

    workfld = "";
    fldlen = tmpfld.length;
    if (tmpchar == " "){
        charlen = 1;
        testchar = " ";
    }
    else{
        charlen = tmpchar.length;
        testchar = tmpchar;
    }
    if (tmpReplace == " "){
        rcharlen = 1;
        rtestchar = " ";
    }
    else{
        rcharlen = tmpReplace.length;
        rtestchar = tmpReplace;
    }
    for (pos = 0; pos < fldlen; pos++) {
        if (tmpfld.substr(pos, charlen) == testchar){
            pos = pos + charlen - 1;
	    workfld = workfld + rtestchar;
	}
        else{
            workfld = workfld + tmpfld.substr(pos, 1);
        }
    } 
    return workfld;

}

function removeAsciiLow(tmpString){

    var i
    var workString

    workString = "";

    for (i = 0; i < tmpString.length; i++){
        if (tmpString.charCodeAt(i) < 32){
//            do not keep this character;
	}
        else{
            workString = workString + tmpString.substr(i, 1);
        }
    }
    return workString;
}

function setAdInMotion(pPic){

    activeDocPicture = pPic;
    resetAd();

}

function resetAd(){
 
    determinePicture();
    getObjectRef(activeDocPicture).src = whichPicture;
    getObjectRef(activeDocPicture).alt = whichText;
    getObjectRef("currentShown").value = sLeastShown;
    getObjectRef(activeDocPicture).style.height = sHeight + "px";
    getObjectRef(activeDocPicture).style.width = sWidth + "px";
//    alert("done with picture");
//    if (whichBrowser == "Netscape"){
//	do not do frameElement;
//    }
//    else {
//    	window.frameElement.style.height = fHeight + "px";
//    	window.frameElement.style.width = fWidth + "px";
//    }
//    alert("done with frame");
    startClockForAd();
}

function determinePicture(){
    sLeastShown = 0; // default
    sAdCount = getObjectRef("AdCount").value;
    sTotalWeight = 0;
    sTotalTimesShown = 0;
    getTotalWeight();
    getTotalTimesShown();
    sLeastPctShown = 100;
    getLeastShown();
    fldName = "adPicture" + sLeastShown;
    whichPicture = getObjectRef(fldName).value;
    fldName = "adText" + sLeastShown;
    whichText = getObjectRef(fldName).value;
    fldName = "adThisCount" + sLeastShown;
    getObjectRef(fldName).value = parseInt(getObjectRef(fldName).value) + 1;
    fldName = "adHeight" + sLeastShown;
    sHeight = getObjectRef(fldName).value;
    fldName = "adWidth" + sLeastShown;
    sWidth = getObjectRef(fldName).value;
    fHeight = sHeight + 2;
    fWidth = sWidth + 2;
}

function getTotalWeight(){
    for (i = 0; i < sAdCount; i++){
        fldName = "adWeight" + i;
	sTotalWeight = sTotalWeight + parseInt(getObjectRef(fldName).value);
    }
//    alert("weight = " + sTotalWeight);
}

function getTotalTimesShown(){
    for (i = 0; i < sAdCount; i++){
	fldName = "adTimesShown" + i;
	sTotalTimesShown = sTotalTimesShown + parseInt(getObjectRef(fldName).value);
	fldName = "adThisCount" + i;
	sTotalTimesShown = sTotalTimesShown + parseInt(getObjectRef(fldName).value);
    }
//    alert("times shown = " + sTotalTimesShown); 
}

function getLeastShown(){
    var sAdPctWeight
    var sAdPctTimesShown
    var thisWeight
    var thisTimesShown 

    for (i = 0; i< sAdCount; i++){
        fldName = "adWeight" + i;
	thisWeight = getObjectRef(fldName).value;
	fldName = "adTimesShown" + i;
	thisTimesShown = getObjectRef(fldName).value;
        fldName = "adThisCount" + i;
        thisTimesShown = parseInt(thisTimesShown) + parseInt(getObjectRef(fldName).value);
	sAdPctWeight = (parseInt(thisWeight) / sTotalWeight) * 100;
	if (sTotalTimesShown > 0){
	    sAdPctTimesShown = (thisTimesShown / sTotalTimesShown) * 100;
	}
        else{
	    sAdPctTimesShown = 0;
	}
        if (sAdPctTimesShown < sAdPctWeight){
	    if (sAdPctTimesShown < sLeastPctShown){
		sLeastShown = i;
		sLeastPctShown 	= sAdPctTimesShown;
	    }	
	}
    }
}

function countHtm(pPage){
    var d
    var beginValue
    var endValue
	
    window.location.href="pageCounters_d.asp?pageName=" + pPage;
//    done = false
//    d = new Date();
//    beginValue = d.getSeconds();
//    do {
//	endValue = d.getSeconds();
//	alert("begin = " + beginValue + " end = " + endValue);
//	alert(beginValue - endValue);
//    }
//    while (abs(beginValue - endValue) <= 1);
//    alert("done with while");
}

function setMiscInfo(pInfo){

    getObjectRef("Password").value = pInfo;
}