function getArgumentValue(QSArgument){
	var argValue = QSArgument.split("=");
	var returnValue = argValue[1].replace(/ /g, "");
	//alert(returnValue);
	return returnValue;
}

function getCampaignString() {
	var qString = document.location.search.replace("?", "");
	var queryArgs = qString.split("&");
	var resultString = "";
	for (var i = 0; i < queryArgs.length; i++) {
		// if this argument is found, in general we are assuming the link to be internal
		if (queryArgs[i].substr(0, 13) == "campaign_code") {
			//alert("Got Code");
			resultString = getArgumentValue(queryArgs[i]);
			break;
		}
		// The assignments below are done this way to prevent problems arising out of the order
		// of values in the query string
		if (queryArgs[i].substr(0, 10) == "utm_source") {
			//alert("Got Source");
			resultString = getArgumentValue(queryArgs[i]) + resultString;
		}
		if (queryArgs[i].substr(0, 12) == "utm_campaign") {
			//alert("Got Campaign");
			resultString += getArgumentValue(queryArgs[i]);
		}
	}
	return resultString;
}

function buildQStringArgument() {
	var campaignString = "campaign_code=" + getCampaignString();
	if (campaignString != "campaign_code=") {
		for (var i = 0; i < document.links.length; i++) {
			var workLink = document.links[i].href;
			// if the link in the anchor is relative, rewrite it to contain the campaign string argument
			if ((workLink.indexOf(".htm") != -1) || (workLink.indexOf(".php") != -1)) {
				workLink.indexOf("?") == -1 ? workLink += "?" : workLink += "&";
				workLink += campaignString;
				document.links[i].href = workLink;
			}
		}
	}
}

function setFormValues() {
	if (document.forms.length > 0) {
		for (var i = 0; i < document.forms.length; i++) {
			var workForm = document.forms[i];
			var workField = workForm.elements["campaignCode"];
			if (workField) {
				workForm.elements["campaignCode"].value = getCampaignString();
				//alert(workForm.elements["campaignCode"].value);
			}
		}
	}
}

function setCampaignValues() {
	buildQStringArgument();
	setFormValues();
}

//These are sample URLs from outside and inside the site, respectively:
//http://www.cyclonerake.com/index.htm?utm_source=yankeemkt&utm_medium=web&utm_campaign=F09
//http://www.cyclonerake.com/index.htm?campaign_code=yankeemktF09

onload = setCampaignValues;

function selectlink() 
{ 
var campaignString = "?campaign_code=" + getCampaignString()
if (campaignString == "?campaign_code=") campaignString = "";
if (top.location == self.location) {location.href = "information.htm" + campaignString}
else {location.href = "sem/information_sem.htm" + campaignString};
} 

function selectlink2() 
{ 
var campaignString = "?campaign_code=" + getCampaignString()
if (campaignString == "?campaign_code=") campaignString = "";
if (top.location == self.location) {location.href = "information_kit.htm" + campaignString}
else {location.href = "sem/information_kit_sem.htm" + campaignString};
} 

var text1;
function checklength(i)
{
var txt;
txt=document.form.message.value;
n=txt.length;
if (n>i) //i is the maxlength of textarea which we have set to 50
{
alert('Please limit your message to 500 characters.');
document.form.message.value=text1;
return;
}
text1=document.form.message.value;
}

  function CalculatePrice()
  {
    var arr = document.getElementsByTagName('INPUT');
    var txtState = document.getElementById("txtState");
    var chkPickup = document.getElementById("chkPickup");
    var hdnModelPrice = document.getElementById("hdnModelPrice");
    var hdnModelPrice_shipping = document.getElementById("hdnModelPrice_shipping");
    var lblModelPrice = document.getElementById("lblModelPrice");
    var hdnTaxRate = document.getElementById("hdnTaxRate");
    var lblSubTotal = document.getElementById("lblSubTotal");
    var lblTax = document.getElementById("lblTax");
    var lblTotal = document.getElementById("lblTotal");
    var hdnSubTotal = document.getElementById("hdnSubTotal");
    var hdnTax = document.getElementById("hdnTax");
    var hdnTotal = document.getElementById("hdnTotal");
    var dblSubTotal = 0;
    
    if ( !chkPickup.checked )
      dblSubTotal += (Number(hdnModelPrice.value) + Number(hdnModelPrice_shipping.value));
    else
      dblSubTotal += Number(hdnModelPrice.value);

    lblModelPrice.innerHTML = "$" + CurrencyFormatted(dblSubTotal);

      
    if ( txtState.value.toUpperCase() == "CT" || chkPickup.checked )
      hdnTaxRate.value = 0.06;
    else
      hdnTaxRate.value = 0.00;
      
    for ( var i = 0; i < arr.length; i++ )
    {
      if ( arr[i].id.length > 0 && arr[i].type == 'checkbox' )
      {
        var hdn = document.getElementById("hdn" + arr[i].id);
        var hdnShipping = document.getElementById("hdn" + arr[i].id + "_shipping");
        var lbl = document.getElementById("lbl" + arr[i].id);
        if ( hdn && lbl && hdnShipping )
        {
          if ( arr[i].checked )
          {
            var dblItemTotal = Number(hdn.value);
            if ( !chkPickup.checked )
              dblItemTotal += Number(hdnShipping.value);
            lbl.innerHTML = "$" + CurrencyFormatted(dblItemTotal);
            dblSubTotal += dblItemTotal;
          }
          else
            lbl.innerHTML = "$0.00";
        }
      }
    }
    
    hdnSubTotal.value = "$" + CurrencyFormatted(dblSubTotal);
    lblSubTotal.innerHTML = hdnSubTotal.value;
    hdnTax.value = "$" + CurrencyFormatted(Number(dblSubTotal) * Number(hdnTaxRate.value));
    lblTax.innerHTML = hdnTax.value;
    hdnTotal.value = "$" + CurrencyFormatted(Number(dblSubTotal) + Number(dblSubTotal) * Number(hdnTaxRate.value));
    lblTotal.innerHTML = hdnTotal.value;
  }
  
  function CurrencyFormatted(amount)
  {
    var i = parseFloat(amount);
    if(isNaN(i)) { i = 0.00; }
    var minus = '';
    if(i < 0) { minus = '-'; }
    i = Math.abs(i);
    i = parseInt((i + .005) * 100);
    i = i / 100;
    s = new String(i);
    if(s.indexOf('.') < 0) { s += '.00'; }
    if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
    s = minus + s;
    return s;
  }


function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' \n'; }
  } if (errors) alert('The following fields must be completed to submit your request:\n'+errors);
  document.MM_returnValue = (errors == '');
}