
function changedStyle(el)
{
 return "changedStyle";
}

mousewheelkiller=function onmousewheel(){
        event.returnValue=false;
        event.cancelBubble=true;
    }
    
var dirtyCount=0;

function markClean(f)
{
 var sstyle=changedStyle(f);
 var el=document.getElementById(f.name+"LabelCell");
 if (el==undefined) return;
 el.className=el.className.replace(new RegExp(sstyle,"g"), "");		 
}

function markDirty(f)
{
 var sstyle=changedStyle(f);
 var el=document.getElementById(f.name+"LabelCell");
 if (el==undefined) return;
 el.className=el.className.replace(new RegExp(sstyle,"g"), "")+" "+sstyle;
}

function markAsNeeded(f)
{
 if (f.origvalue!=f.value)
 {
  markDirty(f);
 }
 else
 {
  markClean(f);
 }
}

function changeHandler()
{    
    var f=this;
    var sstyle=changedStyle(f);
    var el=document.getElementById(f.name+"LabelCell");
    if (el==undefined) return;

    if (f.origvalue!=f.value)
    {
     el.className=el.className.replace(new RegExp(sstyle,"g"), "")+" "+sstyle;			 
    }
    else
    {
     el.className=el.className.replace(new RegExp(sstyle,"g"), "");
    }
}



changeHandlerSetup = function() {
        window.changeHandlerSetupFlag=true;

	var sfEls = document.getElementsByTagName("INPUT");
        
	for (var i=0; i<sfEls.length; i++) {         
                var field=sfEls[i];
                field.origvalue=field.value;
                markClean(field);
		field.onkeyup=field.onchange=changeHandler;
		
	}

        sfEls = document.getElementsByTagName("SELECT");

	for (var i=0; i<sfEls.length; i++) {                
		var field=sfEls[i];
                field.origvalue=field.value;
                markClean(field);
		field.onkeyup=field.onchange=changeHandler;
	}

        sfEls = document.getElementsByTagName("TEXTAREA");

	for (var i=0; i<sfEls.length; i++) {                
		var field=sfEls[i];
                field.origvalue=field.value;
                markClean(field);
		field.onkeyup=field.onchange=changeHandler;
	}



}

if (window.attachEvent) 
 window.attachEvent("onload", changeHandlerSetup)
else
 window.addEventListener("load",changeHandlerSetup,false);
