var _am_d = document;
var _am_debug = (document.URL.indexOf('amtest=1') >= 0);
var _am_removed = 0;

var _am_vip;
var _am_roi;
var _am_kw;
var _am_cvt;

function __am_parseArgs () {
	sArgs = location.search.slice(1).split('&');
    for (var i = 0; i < sArgs.length; i++) {
        argName  = sArgs[i].slice(0,sArgs[i].indexOf('='));
        argValue = sArgs[i].slice(sArgs[i].indexOf('=')+1);
        __am_setupArgs(argName, argValue);
    }
}

function __am_setupArgs (argName, argValue) {
    if ('source'==argName) {
        _am_roi = (argValue.length > 0 ? unescape(argValue).split(',') : '');
    } else if ('akw'==argName) {
        _am_kw  = (argValue.length > 0 ? unescape(argValue).split(',') : '');
    } else if ('vip'==argName) {
        _am_vip = (argValue.length > 0 ? unescape(argValue).split(',') : '');
    } else if ('acvt'==argName) {
        _am_cvt = (argValue.length > 0 ? unescape(argValue).split(',') : '');
    }
}

function __am_rand() {
    return Math.round(Math.random() * 256).toString(16) + Math.round(Math.random() * 256).toString(16);
}

function __am_uuid() {
    return __am_rand() + "-" + __am_rand() + "-" + __am_rand() + "-" + __am_rand() + new Date().getTime().toString(16);
}

/* This function is used to get cookies */
function __am_valueOf(name) {
    var prefix = name + "="
    var start = _am_d.cookie.indexOf(prefix)

    if (start==-1) {
        return "";
    }

    var end = _am_d.cookie.indexOf(";", start+prefix.length)
    if (end==-1) {
        end=_am_d.cookie.length;
    }

    var value=_am_d.cookie.substring(start+prefix.length, end)
    return unescape(value);
}

function __am_track() {
    var q="http://am1.activemeter.com/webtracker/track2.html?method=track";

    if( __am_valueOf('__avc_'+__pid).length <=0 ) {
        _am_d.cookie = "__avc_"+__pid+"=" + __am_uuid() + "; path=/; expires=Sun, 18 Jan 2038 00:00:00 GMT;"
    }
    __am_parseArgs();

    if (_am_roi != null && _am_roi.length > 0) {
        q += "&clkt=1";
        _am_d.cookie = "__asrc_"+__pid+"="+_am_roi + "; path=/; expires=Sun, 18 Jan 2038 00:00:00 GMT;"
        _am_d.cookie = "__akw_"+__pid+"=; path=/; expires=Thu, 01-Jan-70 00:00:01 GMT;"
    }

    if (_am_kw != null && _am_kw.length > 0) {
        _am_d.cookie = "__akw_"+__pid+"=" + _am_kw + "; path=/; expires=Sun, 18 Jan 2038 00:00:00 GMT;"
    }

    if (_am_vip != null && _am_vip.length > 0) {
        q += "&vip=" + _am_vip;
    }

    if (window.__am_convert) {
        q += "&actn="+ __am_convert;
    } else if (_am_cvt != null && _am_cvt.length > 0) {
            q += "&actn="+ _am_cvt;
    }

    q += "&pid=" + __pid;
    q += "&avc=" + __am_valueOf('__avc_'+__pid);
    q += "&source=" + __am_valueOf('__asrc_'+__pid);
    q += "&keyword=" + __am_valueOf('__akw_'+__pid);
    q += "&ref=" + escape(_am_d.referrer);
    q += "&pageTitle=" + escape(_am_d.title);
    q += "&pageUrl=" + escape(_am_d.location);
    q += "&java=1&amcs="+Math.random();

    if (window.__am_invisible) {
        if (window.__am_invisible==1) {
            var _am_image = new Image();
            _am_image.src = q;
        }
    } else {
        document.writeln("<A HREF=\"http://www.activemeter.com/\" TARGET=\"_blank\"><IMG SRC=\""+q+"\" ALT=\"Active Meter\" BORDER=\"0\"><\/A>");
    }

    __am_findForm();
}

function __am_findForm() {
    var forms = document.getElementsByTagName('form');
    for ( var index = 0; index < forms.length; index++ ) {
        var form = forms[index];
        var action = form.getAttribute('action');
        if ( action.indexOf('http://am1.activemeter.com/webtracker/form') != -1 ) {
            action = 'http://am1.activemeter.com/webtracker/form2.html?method=submit'
            action += "&avc=" + __am_valueOf('__avc_'+__pid);
            action += "&source=" + __am_valueOf('__asrc_'+__pid);
            action += "&keyword=" + __am_valueOf('__akw_'+__pid);
            form.action = action;
            break;
        }
    }
}

/* Function to get a form's values in a string */
function getFormAsString(frmObj) {
    var query = "";
    for (var i = 0; i < frmObj.length; i++) {
        var element = frmObj.elements[i];
        if (element.type.indexOf("checkbox") == 0 || element.type.indexOf("radio") == 0) {
            if (element.checked) {
                query += element.name + '=' + escape(element.value) + "&";
            }
        } else if (element.type.indexOf("select") == 0) {
            for (var j = 0; j < element.length ; j++) {
                if (element.options[j].selected) {
                    query += element.name + '=' + escape(element.value) + "&";
                }
            }
        } else {
            query += element.name + '=' + escape(element.value) + "&";
        }
    }
    return query;
}
