// sets a cookie.  If you don't want an expiration, leave days null
function setCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; domain=shifthound.com; path=/";
}



// gets a cookie
function getCookie(c_name) {
	//alert('getting cookie for ' + c_name + ", document.cookie = " + document.cookie);
	var retval = '';

	if (document.cookie.length>0) {
		c_start=document.cookie.indexOf(c_name + "=");
		if (c_start!=-1) {
			c_start=c_start + c_name.length+1;
			c_end=document.cookie.indexOf(";",c_start);
			if (c_end==-1) {
				c_end=document.cookie.length;
			}
			retval = unescape(document.cookie.substring(c_start,c_end));
		}
	}
	
	//alert('returning ' + retval + ' for cookie ' + c_name);
	return retval;
}

function removeField(fieldName) {
	var elements = document.forms[0].elements;
	for (var i=0; i<elements.length; i++) {
		if (elements[i].name == fieldName) {
			elements[i].parentNode.removeChild(elements[i]); // will this work?
		} 
	}
}

function changeFieldNameAndId(fromName, toName) {
	var field = document.getElementById(fromName);
	if (field != null) {
		field.name = toName;
		field.id = toName;
	}
}


function rewrite_shEntry() {
	var shEntry = getCookie('shEntry') || '';
	if (shEntry == 'RD') {
		document.forms[0].action = 'https://www.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8';
		document.forms[0].setAttribute("onsubmit", "MM_validateForm('first_name','','R','last_name','','R','company','','R','email','','RisEmail','phone','','R');if (document.MM_returnValue) {prepForm(document.forms[0]); return false;} else { return false; }");
		document.forms[0].oid.value = '00D80000000ao47';
		document.forms[0].retURL.value = 'http://www.shifthound.com/html/contactThanks.html';
		removeField('sfga');
		removeField('00N40000001rzJ7');
		changeFieldNameAndId('00N40000001rxrr', 'industry');
		changeFieldNameAndId('00N40000001rxrR', 'employees');
	} else if (shEntry == 'talkshifts') {
		var source = getQueryVariable('source') || getCookie('source');
		var group = getQueryVariable('group') || getCookie('group');
	
		//document.forms[0].description.value = 'TS_newsletter' + source;
		setFormField('description', 'TS_newsletter' + source);

		if (group == 'ahd') {
			//document.forms[0].lead_source.value = 'SP - Tim Donegan';
			setFormField('lead_source', 'SP - Tim Donegan');
		}
		else if (group == 'healthcare') {
			document.getElementById('topPeopleImage').style.backgroundImage = 'url(http://www.shifthound.com/landingPageFiles/peopleHealth.jpg) !important;';
			//document.forms[0].lead_source.value = 'Internal List - HC';
			setFormField('lead_source', 'Internal List - HC');
		}
		else if (group == 'non_healthcare') {
			//document.forms[0].lead_source.value = 'Internal List - NHC';
			setFormField('lead_source', 'Internal List - NHC');
		}
	} else if (shEntry == 'CreditU') {
		//document.forms[0].description.value = 'Credit Union Partner';
		setFormField('description', 'Credit Union Partner');
		setFormField('lead_source', 'SP - Credit Union');
		setFormField('00N40000001rzJ7', 'Referral Partnership');
	}
}

function setFormField(name, value) {
	var field = document.getElementById(name);
	if (field != null) {
		field.value = value;
	} else {
		field = document.createElement("input");
		field.name = field.id = name;
		field.type = 'hidden';
		field.value = value;
		document.forms[0].appendChild(field);
	} 
}


// rewrites a contact form with RD-specific info
// deprecated.  Use rewrite_shEntry instead
function rewrite_RD() {
	/* 
	<input type=hidden name="oid" value="00D80000000ao47">
	<input type=hidden name="retURL" value="http://www.shifthound.com/html/contactThanks.html">
	<input type="hidden" name="description" id="description" value="ShiftHound - Healthcare"/>
	<input type="hidden" name="lead_source" id="lead_source" value="ShiftHound - Healthcare"/>
	first_name
	last_name
	email
	phone
	title
	company
	employees
   <select  id="industry" name="industry" title="Business Type">
	*/
	document.forms[0].action = 'https://www.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8';
	document.forms[0].setAttribute("onsubmit", "MM_validateForm('first_name','','R','last_name','','R','company','','R','email','','RisEmail','phone','','R');if (document.MM_returnValue) {prepForm(document.forms[0]); return false;} else { return false; }");
	document.forms[0].oid.value = '00D80000000ao47';
	document.forms[0].retURL.value = 'http://www.shifthound.com/html/contactThanks.html';
	removeField('sfga');
	removeField('00N40000001rzJ7');
	changeFieldNameAndId('00N40000001rxrr', 'industry');
	changeFieldNameAndId('00N40000001rxrR', 'employees');
}


// deprecated.  Use rewrite_shEntry instead
function rewrite_talkshifts() {
	var source = getQueryVariable('source') || getCookie('source');
	var group = getQueryVariable('group') || getCookie('group');

	document.forms[0].description.value = 'TS_newsletter' + source;
	if (group == 'ahd') {
		document.forms[0].lead_source.value = 'SP - Tim Donegan';
	}
	else if (group == 'healthcare') {
		document.getElementById('topPeopleImage').style.backgroundImage = 'url(http://www.shifthound.com/landingPageFiles/peopleHealth.jpg) !important;';
		document.forms[0].lead_source.value = 'Internal List - HC';
	}
	else if (group == 'non_healthcare') {
		document.forms[0].lead_source.value = 'Internal List - NHC';
	}
}

function prepForm(form) {
	var msg = '';
	for (var i=0; i<form.elements.length; i++) {
		var e = form.elements[i];
		if (e.name != '') {
			msg += e.name + ": " + e.value + "\n";
		}
	}

	var url = "/cgi-shifthound/prepForm.cgi";
	var params = "r=" + Math.random() + "&msg=" + encodeURIComponent(msg);

	//console.log('url = ' + url + ', params = ' + params);

	if (window.XMLHttpRequest) { // Non-IE browsers
		req = new XMLHttpRequest();
		req.onreadystatechange = submitFormPostPrep;
		
		req.open("POST", url, true);
		
		//Send the proper header information along with the request
		req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		req.setRequestHeader("Content-length", params.length);
		req.setRequestHeader("Connection", "close");
		
		req.send(params);
	} else {
		if (window.ActiveXObject) { // IE
			req = new ActiveXObject("Microsoft.XMLHTTP");
			if (req) {
				req.onreadystatechange = submitFormPostPrep;
				req.open("POST", url, true);
				
				//Send the proper header information along with the request
				req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				req.setRequestHeader("Content-length", params.length);
				req.setRequestHeader("Connection", "close");
				
				req.send(params);
			}
		}
	}
	//alert('leaving prepForm');
}

function submitFormPostPrep() {
	//console.log('req.readyState = ' +req.readyState);
	if (req.readyState == 4) {
		//console.log('req.status = ' +req.status);
		if (req.status == 200) {
			document.forms[0].setAttribute("onsubmit", "return true;");
			document.forms[0].submit();
		} else{
			alert("Problem: " + req.statusText);
		}
	}
}

function getQueryVariable(variable) {
  var query = window.location.search.substring(1);
  var vars = query.split("&");
  for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split("=");
    if (pair[0] == variable) {
      return pair[1];
    }
  } 
  return null;
}

function checkReferrer() {
	if (document.referrer.indexOf('talkshifts.com') != -1) {
		setCookie('talkshifts', 'yup');
		var stuff = document.referrer.split("?")[1];
		var vars = stuff.split("&");
  		for (var i=0;i<vars.length;i++) {
			var pair = vars[i].split("=");
			if (pair[0] == 'source') {
				setCookie('source', pair[1]);
    		} else if (pair[0] == 'group') {
				setCookie('group', pair[1]);
    		}
  		}
	}
} 
