// tracking.js 
// Created by: Mike Wasson 8/17/06
// Last updated by:
//
// To use this file, add the following tag inside your HEAD tag:  (make sure that src= points to this file)
// <script language="javascript" type="text/javascript" src="tracking.js"></script>
//
// To append the URL arguments k and v to link URLs:
// the links must have their id attribute set to TRACKING_X where X is a number between 1 and 5
// For example:  <a href="http://www.hgvc.com/HHonors/August06/form_orlando.html" id="TRACKING_1">online request form</a>
// inside your BODY tag, add an onload= attribute and call appendToHrefs, passing in a default keycode like this:
// <body onload="appendToHrefs('HHORL806')">
//
// To set form variables from URL arguments:
// inside your BODY tag, add an onload= attribute and call setFormVariables like this:
// <body onload="setFormVariables()">  
// these form variables can be set:
// document.forms['FORM_TRACKING'].memberArea
// document.forms['FORM_TRACKING'].memberNum
// document.forms['FORM_TRACKING'].formCode
// document.forms['FORM_TRACKING'].leadID

function appendToHrefs(defaultKeyCode) {

	var args = getArgs();
	var vlid, keycode;

	if (args.v != null) vlid = args.v;
	if (args.k != null) keycode = args.k;
	if (args.V != null) vlid = args.V;
	if (args.K != null) keycode = args.K;

	for (i = 1; i <= 5; i++) {
		
		if (document.getElementById("TRACKING_" + i) != null) {			
			if (keycode != null) {
				document.getElementById("TRACKING_" + i).href += "?k=" + keycode;
				if (vlid != null) 
				 	document.getElementById("TRACKING_" + i).href += "&v=" + vlid;
			}
			else if (vlid != null)
				document.getElementById("TRACKING_" + i).href += "?v=" + vlid;
			else // default
				document.getElementById("TRACKING_" + i).href += "?k=" + defaultKeyCode;
		}
	}	
}

function appendVlidOnly() {

	var args = getArgs();
	var vlid;

	if (args.v != null) vlid = args.v;	
	if (args.V != null) vlid = args.V;	

	for (i = 1; i <= 5; i++) {
		
		if (document.getElementById("TRACKING_VLID_" + i) != null) {			
			if (vlid != null)
				document.getElementById("TRACKING_VLID_" + i).href += "&v=" + vlid;			
		}
	}	
}

function setFormVariables() {
	
	var args = getArgs( ); // Get arguments
	
	// see if they passed in a member area and number
	if (args.A != null)
		document.forms['FORM_TRACKING'].memberArea.value = args.A;
			
	if (args.N != null)
		document.forms['FORM_TRACKING'].memberNum.value = args.N;	
	
	var vlid = args.V;
	var keycode = args.K;
	
	// handle lower case
	if (args.v != null)
		vlid = args.v;
	if (args.k != null)
		keycode = args.k;
		
	if (vlid != null) {				
		document.forms['FORM_TRACKING'].memberArea.value = vlid.substring(vlid.length-3);		
		document.forms['FORM_TRACKING'].memberNum.value = vlid.substring(0,vlid.length-3);
		document.forms['FORM_TRACKING'].leadID.value = vlid;
	}
	
	if (keycode != null) {
		document.forms['FORM_TRACKING'].formCode.value = keycode;
	}
}

function getArgs( ) {

		var args = new Object( );

		var query = location.search.substring(1); // Get query string

		var pairs = query.split("&"); // break at &

		for(var i = 0; i < pairs.length; i++) {

			var pos = pairs[i].indexOf('='); // Look for "name=value"

			if (pos == -1) continue; // If not found, skip

			var argname = pairs[i].substring(0,pos); // Extract the name

			var value = pairs[i].substring(pos+1); // Extract the value

			args[argname] = unescape(value); // Store as a property

			// In JavaScript 1.5, use decodeURIComponent( ) instead of escape( )

		}

		return args; // Return the object

}
