function wtRegEvent(evtName, sequence, fieldName, pageGroup, clickGroup, value) {
	var evt, func;  
	var node = document.getElementsByName(fieldName)[0];
	if (node == null)
		node = document.getElementById(fieldName);
	if (node != null) {
	    evt = node.attributes["on" + evtName]; 
	    if (evt == null || evt.value == "null")    
	    	evt = "trackEvent(this, '" + pageGroup + "', '" + clickGroup + "', '" + value + "');";
	    else
	   		if (sequence == 0)
	     		evt = "trackEvent(this, '" + pageGroup + "', '" + clickGroup + "', '" + value + "');" + evt.value;
	     	else
	     		evt = evt.value + ";trackEvent(this, '" + pageGroup + "', '" + clickGroup + "', '" + value + "')";
	    func = function (event) {if (!event) var event = window.event; eval(evt)};
	    if (evtName == "click")
		    node.onclick = func;
		else if (evtName == "dblclick")
			node.ondblclick = func;
		else if (evtName == "change")
			node.onchange = func;
		else if (evtName == "mouseover")
			node.onmouseover = func;
		else if (evtName == "mouseout") {
			node.onmouseout = func;
			var evt2 = node.attributes["onmouseover"];

		    if (evt2 == null || evt2.value == "null")    
		    	evt2 = "initMouseOverDate()";
		    else
		    	evt2 = evt2.value + ";initMouseOverDate()";
		    	
		    var func2 = function (event) {eval(evt2)};
			node.onmouseover = func2;
		}
	}
}

var onMouseOverDate = null;
var mouseEventDelay = 500;
function initMouseOverDate() {
	onMouseOverDate = new Date();
}

function trackEvent(field, pageGroup, clickGroup, value) {
	var fieldName, fieldLoc;
	
	if (onMouseOverDate != null) {
		var currDate = new Date();
		if (currDate - onMouseOverDate < mouseEventDelay) {
			onMouseOverDate = null;
			return true;
		} else
			onMouseOverDate = null;
	}
	
	if (value == "null")
	  	fieldName = getFieldName(field);
	else 
      	fieldName = value;
  	fieldLoc = getFieldLocation(field);
  	dcsMultiTrack("WT.cg_n",pageGroup,"WT.cg_s",clickGroup,"WT.ac",fieldName,"WT.ac_url",fieldLoc);
	return true;
}

function getFieldLocation(field) {
  var loc, fieldType;
  loc = "Unknown URL";
  fieldType = field.tagName;
  if (fieldType == "A") {
    loc = field.href;
  }
  return loc;
}

function getFieldName(field) {
  var name, fieldType;
  if (field.name != null)
  	name = field.name + "Clicked";
  else
  	name = field.id + "Clicked";
  
  fieldType = field.tagName;
  if ((fieldType == "A" || fieldType == "BUTTON") && field.innerHTML != null) {
    if (field.firstChild != null && field.firstChild.tagName == "IMG") {
      name = field.firstChild.alt;  
    } 
    else {  
      name = field.innerHTML;
    }
  } 
  else if (fieldType == "IMG" && field.alt != null) {
    name = field.alt;
  } 
  else if (fieldType == "INPUT" && field.value != null) {
    name = field.value;
  } 
  return name;
}
