// sets a cookie.  If you don't want an expiration, leave days null
function setCookie(name,value,days,domain) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	if (!domain) {
		domain=window.location.hostname;
		//alert('domain = ' + domain);
	}
	//document.cookie = name+"="+value+expires+"; domain=" + domain + "; path=/";
	document.cookie = name+"="+value+expires+"; 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') || '';
	//alert('shEntry cookie = ' + shEntry);

	if (shEntry.indexOf('shiftshappening') != -1) {
		setFormField('lead_source', 'Email - RMC - RMC Lists');
		setFormField('00N40000001rzJ7', 'Email');
		setFormField('description', 'http://www.shiftshappeningagain.com/RD_newsletter/');
	} else if (shEntry.indexOf('nocmeover') != -1) {
		setFormField('lead_source', 'Email - Various - NOC Lists');
		setFormField('00N40000001rzJ7', 'Email');
		setFormField('description', 'http://www.nocmeoveragain.com/newsletter/');
	} else if (shEntry.indexOf('manufacturingshifts') != -1) {
		setFormField('lead_source', 'Email - Medinfosource - Manufacturing');
		setFormField('00N40000001rzJ7', 'Email');
		setFormField('description', 'http://www.manufacturingshifts.com/newsletter/');
	} else if (shEntry.indexOf('physiciangroupscheduling') != -1) {
		setFormField('lead_source', 'Email - Various - Physician Groups List');
		setFormField('00N40000001rzJ7', 'Email');
		setFormField('description', 'http://www.physiciangroupschedulingagain.com/newsletter/');
	} else if (shEntry.indexOf('NOC') != -1) {
		setFormField('lead_source', 'PPC - Google Adwords - NOC');
		setFormField('00N40000001rzJ7', 'PPC');
		setFormField('description', 'http://www.shifthound.com/NOCs/');
	} else if (shEntry.indexOf('EMS') != -1) {
		setFormField('lead_source', 'PPC - Google Adwords - EMS');
		setFormField('00N40000001rzJ7', 'PPC');
		setFormField('description', 'http://www.shifthound.com/EMS/');
	} else if (shEntry.indexOf('CallCenter') != -1) {
		setFormField('lead_source', 'PPC - Google Adwords - Call Center');
		setFormField('00N40000001rzJ7', 'PPC');
		setFormField('description', 'http://www.shifthound.com/CallCenter/');
	} else if (shEntry.indexOf('AONE') != -1) {
		setFormField('lead_source', 'Industry - AONE Website - HC');
		setFormField('00N40000001rzJ7', 'Industry');
		setFormField('description', 'http://www.shifthound.com/AONE/');
	} else if (shEntry.indexOf('surgerycentered') != -1) {
		setFormField('lead_source', 'Email - Various - Surgery Centers Lists');
		setFormField('00N40000001rzJ7', 'Email');
		setFormField('description', 'http://www.surgerycenteredagain.com/newsletter/');
	} else if (shEntry.indexOf('shiftshappens') != -1) {
		var group = getQueryVariable('group') || getCookie('group');
		if (group == 'hospice' || 
			(shEntry.indexOf('Newsletter') != -1 && shEntry.indexOf('HospiceA') != -1) ) {
			setFormField('lead_source', 'Email - Infysource - Hospice');
			setFormField('00N40000001rzJ7', 'Email');
			setFormField('description', 'http://www.shiftshappens.com/newsletter/page_hospice.html');
		} else if (group == 'ltc' || 
				(shEntry.indexOf('Newsletter') != -1 && shEntry.indexOf('LTCA') != -1) ) {
			setFormField('lead_source', 'Email - Infysource - LTC');
			setFormField('00N40000001rzJ7', 'Email');
			setFormField('description', 'http://www.shiftshappens.com/newsletter/page_ltc.html');
		} else if (group == 'snf' || 
				shEntry.indexOf('page_snf') != -1 || 
				(shEntry.indexOf('Newsletter') != -1 && shEntry.indexOf('SNFA') != -1)) {
			setFormField('lead_source', 'Email - Infysource - Skilled Nursing');
			setFormField('00N40000001rzJ7', 'Email');
			setFormField('description', 'http://www.shiftshappens.com/newsletter/page_snf.html');
		}
	} else if (shEntry.indexOf('talkshifts') != -1) {
		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 ( shEntry.indexOf('SS_newsletter') != -1 || 
				(shEntry.indexOf('Newsletter') != -1 && shEntry.indexOf('ShiftSchedulesA') != -1)) {
			setFormField('lead_source', 'Email - ShiftSchedules - SS List');
			setFormField('00N40000001rzJ7', 'Email');
			setFormField('description', 'http://www.talkshiftsagain.com/SS_newsletter/');
		} else if (shEntry.indexOf('Newsletter') != -1 && shEntry.indexOf('GeneralA') != -1) {
			setFormField('lead_source', 'Email - Various - General');
			setFormField('00N40000001rzJ7', 'Email');
			setFormField('description', 'http://www.talkshiftsagain.com/Newsletter/GeneralA/');
		} else if (shEntry.indexOf('Newsletter') != -1 && shEntry.indexOf('HealthcareA') != -1) {
			setFormField('lead_source', 'Email - Various - Healthcare');
			setFormField('00N40000001rzJ7', 'Email');
			setFormField('description', 'http://www.talkshiftsagain.com/TS_newsletter/');
			//setFormField('description', 'http://www.talkshiftsagain.com/Newsletter/HealthcareA/');
		} else if (group == 'ahd') {
			setFormField('lead_source', 'SP - Tim Donegan');
		} else if (group == 'healthcare') {
			document.getElementById('topPeopleImage').style.backgroundImage = 'url(http://www.shifthound.com/landingPageFiles/peopleHealth.jpg)';
			setFormField('lead_source', 'Internal List - HC');
		} else if (group == 'nurses') {
			document.getElementById('topPeopleImage').style.backgroundImage = 'url(http://www.shifthound.com/landingPageFiles/peopleHealth.jpg)';
			setFormField('lead_source', 'Internal List - Nurses');
		} else if (group == 'non_healthcare') {
			setFormField('lead_source', 'Internal List - NHC');
		} else {
			setFormField('lead_source', 'TalkShifts - ' + group );
		}
	} else if (shEntry.indexOf('CreditU') != -1) {
		//document.forms[0].description.value = 'Credit Union Partner';
		setFormField('description', 'Credit Union Partner');
		setFormField('lead_source', 'SP - Credit Union');
		setFormField('00N40000001rzJ7', 'Referral Partnership');
	} else if (shEntry.indexOf('McKnights') != -1) {
		setFormField('lead_source', 'Industry - McKnights Website - HC');
		setFormField('00N40000001rzJ7', 'Industry');
		setFormField('description', 'http://www.shifthound.com/McKnights/');
	} else if (shEntry.indexOf('shiftschedules') != -1) {
		setFormField('00N40000001rzJ7', 'Partnership');
		if (shEntry.indexOf('call-center-scheduling-software') != -1) {
			setFormField('lead_source', 'Partner - ShiftSchedules - Call Center');
			setFormField('description', 'http://www.shiftschedules.com/call-center-scheduling-software/');
		} else if (shEntry.indexOf('ems-scheduling-software') != -1) {
			setFormField('lead_source', 'Partner - ShiftSchedules - EMS');
			setFormField('description', 'http://www.shiftschedules.com/ems-scheduling-software/');
		} else if (shEntry.indexOf('medical-staff-scheduling-software') != -1) {
			setFormField('lead_source', 'Partner - ShiftSchedules - Medical Staff');
			setFormField('description', 'http://www.shiftschedules.com/medical-staff-scheduling-software/');
		} else if (shEntry.indexOf('nurse-scheduling-software') != -1) {
			setFormField('lead_source', 'Partner - ShiftSchedules - Nurse');
			setFormField('description', 'http://www.shiftschedules.com/nurse-scheduling-software/');
		} else if (shEntry.indexOf('physician-and-staff-scheduling-software') != -1) {
			setFormField('lead_source', 'Partner - ShiftSchedules - Physicians');
			setFormField('description', 'http://www.shiftschedules.com/physician-and-staff-scheduling-software/');
		} else if (shEntry.indexOf('urgent-care-scheduling-software') != -1) {
			setFormField('lead_source', 'Partner - ShiftSchedules - Urgent Care');
			setFormField('description', 'http://www.shiftschedules.com/urgent-care-scheduling-software/');
		} else if (shEntry.indexOf('employee-schedule') != -1) {
			setFormField('lead_source', 'Partner - ShiftSchedules - Employee Schedule');
			setFormField('description', 'http://www.shiftschedules.com/employee-schedule/');
		} else if (shEntry.indexOf('index2') != -1) {
			setFormField('lead_source', 'Partner - ShiftSchedules - Main (Small)');
			setFormField('description', 'http://www.shiftschedules.com/landing/index2.html');
		} else if (shEntry.indexOf('law-enforcement') != -1) {
			setFormField('lead_source', 'Partner - ShiftSchedules - Law Enforcement');
			setFormField('description', 'http://www.shiftschedules.com/law-enforcement/');
		} else { // default, and also landing/index.html
			setFormField('lead_source', 'Partner - ShiftSchedules - Main (Large)');
			setFormField('description', 'http://www.shiftschedules.com/landing/index.html');
		}
	} else if (shEntry.indexOf('viewhospitals') != -1) {
		setFormField('lead_source', 'Industry - Vew Hospitals Website - HC');
		setFormField('00N40000001rzJ7', 'Industry');
		setFormField('description', 'http://www.shifthound.com/viewhospitals');
	} else if (shEntry.indexOf('ltcscheduling') != -1) {
		setFormField('lead_source', 'Fax - MedInfoSource - Nursing Homes');
		setFormField('00N40000001rzJ7', 'Fax');
		setFormField('description', 'http://www.ltcscheduling.com/Fax/LTCA/');
	} else if (shEntry.indexOf('shiftwork') != -1) {
		setFormField('lead_source', 'Partner - Shiftwork - General');
		setFormField('00N40000001rzJ7', 'Partnership');
		setFormField('description', 'http://www.shifthound.com/shiftwork/');
	} else if (shEntry.indexOf('EmployeeSchedulingPharmacyLive') != -1 || 
			(shEntry.indexOf('ppcgoog') != -1 && shEntry.indexOf('PharmacyA') != -1) ) {
		setFormField('lead_source', 'PPC - Google Adwords - Pharmacy');
		setFormField('00N40000001rzJ7', 'PPC');
		if (shEntry.indexOf('EmployeeSchedulingPharmacyLive') != -1) {
			setFormField('description', 'http://www.shifthound.com/EmployeeSchedulingPharmacyLive/');
		} else {
			setFormField('description', 'http://www.shifthound.com/ppcgoog/PharmacyA/');
		}
	} else if (shEntry.indexOf('NOCs') != -1 || 
			(shEntry.indexOf('ppcgoog') != -1 && shEntry.indexOf('NOCA') != -1) ) {
		setFormField('lead_source', 'PPC - Google Adwords - NOC');
		setFormField('00N40000001rzJ7', 'PPC');
		if (shEntry.indexOf('NOCs') != -1) {
			setFormField('description', 'http://www.shifthound.com/NOCs/');
		} else {
			setFormField('description', 'http://www.shifthound.com/ppcgoog/NOCA/');
		}
	} else if (shEntry.indexOf('EmployeeSchedulingGeneralLive') != -1 || 
			(shEntry.indexOf('ppcgoog') != -1 && shEntry.indexOf('General') != -1) ) {
		setFormField('lead_source', 'PPC - Google Adwords - General');
		setFormField('00N40000001rzJ7', 'PPC');
		if (shEntry.indexOf('EmployeeSchedulingGeneralLive') != -1)  {
			setFormField('description', 'http://www.shifthound.com/EmployeeSchedulingGeneralLive/new.html');
		} else {
			setFormField('description', 'http://www.shifthound.com/ppcgoog/General/');
		}
	} else if (shEntry.indexOf('EmployeeSchedulingHealthCareA') != -1 && shEntry.indexOf('UMS') != -1) {
		setFormField('lead_source', 'Partner - UMS - Healthcare');
		setFormField('00N40000001rzJ7', 'Partnership');
		setFormField('description', 'http://www.shifthound.com/EmployeeSchedulingHealthCareA/UMS/');
	} else if (shEntry.indexOf('EmployeeSchedulingGeneralA') != -1 && shEntry.indexOf('UMS') != -1) {
		setFormField('lead_source', 'Partner - UMS - General');
		setFormField('00N40000001rzJ7', 'Partnership');
		setFormField('description', 'http://www.shifthound.com/EmployeeSchedulingGeneralA/UMS/');
	} else if (shEntry.indexOf('EmployeeSchedulingEmergencyResponseA') != -1 && shEntry.indexOf('UMS') != -1) {
		setFormField('lead_source', 'Partner - UMS - EMS');
		setFormField('00N40000001rzJ7', 'Partnership');
		setFormField('description', 'http://www.shifthound.com/EmployeeSchedulingEmergencyResponseA/UMS/');
	} else if (shEntry.indexOf('RD') != -1) {
		setFormField('lead_source', 'Partner - RMC - Healthcare');
		setFormField('00N40000001rzJ7', 'Partnership');
		if (shEntry.indexOf('RD1') != -1) {
			setFormField('description', 'http://www.shifthound.com/RD1/');
		} else {
			setFormField('description', 'http://www.shifthound.com/RD/');
		}
	} else if (shEntry.indexOf('ppcgoog') != -1) {
		setFormField('00N40000001rzJ7', 'PPC');
		if (shEntry.indexOf('HealthcareA') != -1) {
			setFormField('lead_source', 'PPC - Google Adwords - HealthcareA');
			setFormField('description', 'http://www.shifthound.com/ppcgoog/HealthcareA/');
		} else if (shEntry.indexOf('GeneralA') != -1) {
			setFormField('lead_source', 'PPC - Google Adwords - GeneralA');
			setFormField('description', 'http://www.shifthound.com/ppcgoog/GeneralA/');
		} else if (shEntry.indexOf('GeneralB') != -1) {
			setFormField('lead_source', 'PPC - Google Adwords - GeneralB');
			setFormField('description', 'http://www.shifthound.com/ppcgoog/GeneralB/');
		} else if (shEntry.indexOf('NurseA') != -1) {
			setFormField('lead_source', 'PPC - Google Adwords - Nurse');
			setFormField('description', 'http://www.shifthound.com/ppcgoog/NurseA/');
		} else if (shEntry.indexOf('NurseB') != -1) {
			setFormField('lead_source', 'PPC - Google Adwords - Nurse');
			setFormField('description', 'http://www.shifthound.com/ppcgoog/NurseB/');
		}
	} else {
		//setFormField('lead_source', 'Internal - Website');
	}
}


function setFormField(name, value) {
	for (var i=0; i<document.forms.length; i++) {
		//var field = document.getElementById(name);
		var field = document.forms[i].elements[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[i].appendChild(field);
		} 
	}

	if (name == 'lead_source') {
		setFormField('00N40000002RHAf', value); // create a copy for lead tracking
	}
}


// 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() {
	setCookie('shEntry', 'talkshifts' );
	rewrite_shEntry();
	return;

	// all of this is dead code...
	var source = getQueryVariable('source') || getCookie('source');
	var group = getQueryVariable('group') || getCookie('group');

	//alert('source = ' + source + ', group = ' + group);

	document.forms[0].description.value = 'TS_newsletter' + source;
	if (group == 'ahd') {
		setFormField('lead_source', 'SP - Tim Donegan');
	}
	else if (group == 'healthcare') {
		var element = document.getElementById('topPeopleImage');
		if (element != null) {
			element.style.backgroundImage = 'url(http://www.shifthound.com/landingPageFiles/peopleHealth.jpg) ';
		}
		element = document.getElementById('hcquotes');
		if (element != null) {
			element.style.display='block';
		}	
		element = document.getElementById('trialOfferDiv');
		if (element != null) {
			element.style.top='auto';
			element.style.bottom='30px';
		}
		setFormField('lead_source', 'Internal List - HC');
	}
	else if (group == 'non_healthcare') {
		setFormField('lead_source', 'Internal List - NHC');
	} 
	else if (group == 'shiftschedules') {
		setFormField('lead_source', 'Internal List - SS');
		document.forms[0].description.value = 'SS_newsletter' + source;
	}
}

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 = function() { submitFormPostPrep(req) };
		
		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 = function() { submitFormPostPrep(req) };
				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(req) {
	//alert('req.readyState = ' +req.readyState);
	if (req.readyState == 4) {
		//alert('req.status = ' +req.status);
		if (req.status == 200) {
			alert('form action = ' + document.forms[0].action);
			//document.forms[0].setAttribute("onsubmit", "return true;");
			document.forms[0].onsubmit = function() { return true } ;
			document.forms[0].submit();
		}
	}
}

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 add_shEntry(shEntry) {
	var forms = document.forms;
    for( var index = 0; index < forms.length; index++ ) {
		var form = forms[index];
    	var fields = form.elements;
		var found = false;
	    for( var fieldIndex = 0; fieldIndex < fields.length; fieldIndex++ ) {
	        var field = fields[fieldIndex];
	        var name = field.getAttribute('name');
	        if (name == 'shEntry') {
	            field.value = shEntry;
				found = true;
	        }
	    }
		if (!found) {
			// add a shEntry field to the form
           var newField = document.createElement("input");
           newField.type = "hidden";
           newField.id = "shEntry";
           newField.name = "shEntry";
           newField.value = shEntry;
           form.appendChild(newField);
		}
	}
}


function checkReferrer() {
	var domains = new Array(
		'nocmeover', 'physiciangroupscheduling', 'shiftshappening', 'surgerycentered',
		'talkshifts', 'shiftshappens', 'manufacturingshifts', 'shiftschedules', 'ltcscheduling'
	);

	for (var i=0; i<domains.length; i++) {
		if (document.referrer.indexOf(domains[i]) != -1 && document.referrer.indexOf('click.php') == -1) {
			//setCookie(domains[i], 'yup');
			//setCookie('shEntry', domains[i]);
			setCookie('shEntry', document.referrer.split("?")[0]);
			//add_shEntry(document.referrer.split("?")[0]);
		}
	}

	var stuff = document.referrer.split("?")[1];
	if (stuff) {
		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]);
	   		}
	  	}
  	}
} 

