function add_tracking_fields()
{
	var form = getElementsByClassName('cform',document.body);

    var z = _uGC(document.cookie, '__utmz=', ';');
    var source = _uGC(z,'utmcsr=', '|');
    var medium = _uGC(z,'utmcmd=', '|');
    var campaign = _uGC(z,'utmccn=', '|');
    var context = _uGC(z,'utmctr=', '|');

	if(form!=false)
	{
		add_hidden_input(form,'Source:',source);
		add_hidden_input(form,'Medium:',medium);
		add_hidden_input(form,'Campaign:',campaign);
		add_hidden_input(form,'Context:',context);
	}
	
	return true;
}

function add_hidden_input(form,fieldname,fieldvalue)
{
    var i, e;
    for (i=0;i<form.length;i++)
    {
        e = form.elements[i];
        if (e.name==fieldname)
        {
            e.value = fieldvalue;
            return true;
        }
    }

    var field = document.createElement('input');
    field.type = 'hidden';
    field.name = fieldname;
    field.value = fieldvalue;
    form.appendChild(field);
	return true;
}

/*
_uGC - needed for new version of Google Analytics (ga.js instead of urchin.js
Not sure what this does - it's from Google
*/
function _uGC(l,n,s) {
 if (!l || l=="" || !n || n=="" || !s || s=="") return "-";
 var i,i2,i3,c="-";
 i=l.indexOf(n);
 i3=n.indexOf("=")+1;
 if (i > -1) {
  i2=l.indexOf(s,i); if (i2 < 0) { i2=l.length; }
  c=l.substring((i+i3),i2);
 }
 return c;
}

function getElementsByClassName(strClassName,obj)
{
	var check;
    if (obj.className==strClassName)
	{
        return obj;
    }
    for (var i=0;i<obj.childNodes.length;i++)
	{
        check = getElementsByClassName(strClassName,obj.childNodes[i]);
		if(check!=false){return check;}
	}
	return false;
}