/*************************************************************
 * Personalizer
 * created by Michel Komarov (iCoder.com)
 *
 * Permanent link:
 * http://askmichel.icoder.com/2006/06/02/page-personalization/
 *
 * Got a question?
 * http://askmichel.icoder.com
 *
 * `i Code to help you profit`
 *  http://www.icoder.com
 *  
 * Edited by Larry Keenan - mymagicwebutilities.com
 * Added user field for Autoresponder Unlimited.
 * Added nickname field for Rapid Action Profits.
 *
 * Added f , l and e fields for Infinite Responder.
 *
 * Added category2 and category3 for getresponse.
 *
 * Added affname to allow for affiliate name display
 *
 * Shorten Document Domain to allow script to work accross
 * sub domains.    
 *
 * Added f1 to f15 - l1 to l15 and e1 to e15 for multiple use in
 * very long sales letters at the request of a customer
 *   
 *************************************************************/
var ShortDom = document.domain.split('.');
if (ShortDom.length > "2"){
document.domain = ShortDom.splice(1,3).join('.');
}
function __personalize() {
	var cookieFields = document.cookie.split("; ");
	var nickname = __getPersonalizednickName(cookieFields);
	var firstName = __getPersonalizedFirstName(cookieFields);
	var lastName  = __getPersonalizedLastName(cookieFields);
	var fullName  = __getPersonalizedFullName(cookieFields);
	var email     = __getPersonalizedEmail(cookieFields);
	var affname   = __getPersonalizedAffname(cookieFields);
	if ("" == firstName) firstName = checkUrlParam("__fn","firstname");
	if ("" == lastName)  lastName  = checkUrlParam("__ln","lastname");
	if ("" == fullName)  fullName  = checkUrlParam("__n","fullname");
	if ("" == email)     email     = checkUrlParam("__e","email");
	if ("" == nickname)  nickname  = checkUrlParam("__r","nickname");
	if ("" == affname)  affname  = checkUrlParam("yn","affname");
	if ("" == fullName) {
	if ("" != firstName) fullName  = firstName + " " + lastName;
	} else {
		var names = fullName.split(" ");
		if ("" == firstName) firstName = names[0];
		if (("" == lastName) && (names.length > 1)) lastName = names[1];
	}
	if ("" != firstName) __personalizeFirstName(firstName);
	if ("" != lastName)  __personalizeLastName(lastName);
	if ("" != fullName)  __personalizeFullName(fullName);
	if ("" != email)     __personalizeEmail(email);
  if ("" != nickname)  __personalizenickName(nickname);
  if ("" != affname)  __personalizeaffname(affname);
  
	for (var i = 0; document.forms.length > i; ++i) {
		if ("function" == typeof(document.forms[i].onsubmit))
			document.forms[i].__onsubmit = document.forms[i].onsubmit;
		document.forms[i].onsubmit = __personalizeCheckForm;
	}
}
function __personalizeCheckForm(event) {
	var d = new Date();
	d.setMonth(d.getMonth() + 11);
	var fieldNames = "|first_name|first_Name|firstname|firstName|f|f1|f2|f3|f4|f5|f6|f7|f8|f9|f10|f11|f12|f13|f14|f15|"
		+ "|last_name|last_Name|lastname|lastName|l|l1|l2|l3|l4|l5|l6|l7|l8|l9|l10|l11|l12|l13|l14|l15|"
		+ "|full_name|full_Name|fullname|fullName|name|Name|user|category2|"
		+ "|email|Email|from|From|nickname|NICKNAME|e|category3|affname|AFFNAME|e1|e2|e3|e4|e5|e6|e7|e8|e9|e10|e11|e12|e13|e14|e15";
	var items = this.elements;
	for (var i = 0; items.length > i; ++i) {
		if (("INPUT" == items[i].tagName)
		&&  ("text" == items[i].type)
		&&  (-1 != fieldNames.indexOf("|"+items[i].name+"|"))) {
			document.cookie = "__personalize_" +items[i].name
				+ "=" + escape(items[i].value)
				+ "; expires="+d.toGMTString()+"; path=/;domain="+document.domain+";";
		}
	}
	if ("function" == typeof(this.__onsubmit))
		return this.__onsubmit(event);
	return true;
}

function __personalizeFirstName(fieldValue) {
	__personalizeField("first_name", fieldValue);
	__personalizeField("first_Name", fieldValue);
	__personalizeField("firstname",  fieldValue);
	__personalizeField("firstName",  fieldValue);
	__personalizeField("f",  fieldValue);	
	__personalizeField("f1",  fieldValue);	
	__personalizeField("f2",  fieldValue);	
	__personalizeField("f3",  fieldValue);	
	__personalizeField("f4",  fieldValue);	
	__personalizeField("f5",  fieldValue);	
	__personalizeField("f6",  fieldValue);	
	__personalizeField("f7",  fieldValue);	
	__personalizeField("f8",  fieldValue);	
	__personalizeField("f9",  fieldValue);	
	__personalizeField("f10",  fieldValue);	
	__personalizeField("f11",  fieldValue);	
	__personalizeField("f12",  fieldValue);	
	__personalizeField("f13",  fieldValue);	
	__personalizeField("f14",  fieldValue);	
	__personalizeField("f15",  fieldValue);	
}
function __personalizenickName(fieldValue) {
	__personalizeField("nickname", fieldValue);
	__personalizeField("NICKNAME", fieldValue);
}

function __personalizeLastName(fieldValue) {
	__personalizeField("last_name", fieldValue);
	__personalizeField("last_Name", fieldValue);
	__personalizeField("lastname",  fieldValue);
	__personalizeField("lastName",  fieldValue);
	__personalizeField("l",  fieldValue);
  __personalizeField("l1",  fieldValue);
	__personalizeField("l2",  fieldValue);
	__personalizeField("l3",  fieldValue);
	__personalizeField("l4",  fieldValue);
	__personalizeField("l5",  fieldValue);
	__personalizeField("l6",  fieldValue);
	__personalizeField("l7",  fieldValue);
	__personalizeField("l8",  fieldValue);
	__personalizeField("l9",  fieldValue);
	__personalizeField("l10",  fieldValue);
	__personalizeField("l11",  fieldValue);
	__personalizeField("l12",  fieldValue);
	__personalizeField("l13",  fieldValue);
	__personalizeField("l14",  fieldValue);
	__personalizeField("l15",  fieldValue);
		
}
function __personalizeFullName(fieldValue) {
	__personalizeField("full_name", fieldValue);
	__personalizeField("full_Name", fieldValue);
	__personalizeField("fullname",  fieldValue);
	__personalizeField("fullName",  fieldValue);
	__personalizeField("name",      fieldValue);
	__personalizeField("Name",      fieldValue);
	__personalizeField("user",      fieldValue);
	__personalizeField("category2",      fieldValue);  	
}
function __personalizeEmail(fieldValue) {
	__personalizeField("email", fieldValue);
	__personalizeField("Email", fieldValue);
	__personalizeField("from",  fieldValue);
	__personalizeField("From",  fieldValue);
	__personalizeField("e",  fieldValue);
	__personalizeField("category3",  fieldValue);
	__personalizeField("e1",  fieldValue);
	__personalizeField("e2",  fieldValue);
	__personalizeField("e3",  fieldValue);
	__personalizeField("e4",  fieldValue);
	__personalizeField("e5",  fieldValue);
	__personalizeField("e6",  fieldValue);
	__personalizeField("e7",  fieldValue);
	__personalizeField("e8",  fieldValue);
	__personalizeField("e9",  fieldValue);
	__personalizeField("e10",  fieldValue);
	__personalizeField("e11",  fieldValue);
	__personalizeField("e12",  fieldValue);
	__personalizeField("e13",  fieldValue);
	__personalizeField("e14",  fieldValue);
	__personalizeField("e15",  fieldValue);
}
function __personalizeaffname(fieldValue) {
	__personalizeField("affname", fieldValue);
	__personalizeField("AFFNAME", fieldValue);
}

function __personalizeField(fieldName, fieldValue) {
	var fieldObjects = document.getElementsByName(fieldName);
	for(var i = 0; fieldObjects.length > i; ++i) {
		switch (fieldObjects[i].tagName) {
			case "A":
			case "DIV":
			case "SPAN":
				fieldObjects[i].innerHTML = fieldValue;
				break;
			case "INPUT":
				if ("" == fieldObjects[i].value)
					fieldObjects[i].value = fieldValue;
				break;
		}
	}
}

function __getPersonalizedFirstName(cookieFields) {
	var fieldNames = "|first_name|first_Name|firstname|firstName|f|f1|f2|f3|f4|f5|f6|f7|f8|f9|f10|f11|f12|f13|f14|f15|";
	return __getPersonalizedField(fieldNames, cookieFields);
}
function __getPersonalizednickName(cookieFields) {
	var fieldNames = "|nickname|NICKNAME|";
	return __getPersonalizedField(fieldNames, cookieFields);
}
function __getPersonalizedLastName(cookieFields) {
	var fieldNames = "|last_name|last_Name|lastname|lastName|l|l1|l2|l3|l4|l5|l6|l7|l8|l9|l10|l11|l12|l13|l14|l15|";
	return __getPersonalizedField(fieldNames, cookieFields);
}
function __getPersonalizedFullName(cookieFields) {
var fieldNames = "|full_name|full_Name|fullname|fullName|name|Name|user|category2|";
	return __getPersonalizedField(fieldNames, cookieFields);
}
function __getPersonalizedEmail(cookieFields) {
	var fieldNames = "|email|Email|from|From|e|e1|e2|e3|e4|e5|e6|e7|e8|e9|e10|e11|e12|e13|e14|e15";
	return __getPersonalizedField(fieldNames, cookieFields);
}
function __getPersonalizedEmail(cookieFields) {
	var fieldNames = "|email|Email|from|From|e|category3";
	return __getPersonalizedField(fieldNames, cookieFields);
}
function __getPersonalizedAffname(cookieFields) {
	var fieldNames = "|affname|AFFNAME|";
	return __getPersonalizedField(fieldNames, cookieFields);
}

function __getPersonalizedField(fieldNames, cookieFields) {
	for (var i = 0; cookieFields.length > i; ++i) {
		var pair = cookieFields[i].split("=");
		if ((0 == pair[0].indexOf("__personalize_"))
		&& (-1 != fieldNames.indexOf("|"+pair[0].substr(14)+"|"))) {
			return unescape(cookieFields[i].substr(pair[0].length + 1));
		}
	}
	return "";
}
function checkUrlParam(urlParam, cookieName) {
	var value = "";
	if (document.location.search.length > 1) {
		var p = document.location.search.substr(1);
		var pFields = p.split("&");
		for(var i in pFields) {
			if (0 == pFields[i].indexOf(urlParam+"=")) {
				value = unescape(pFields[i].substr((urlParam+"=").length));
				var d = new Date();
				d.setMonth(d.getMonth() + 24);
				document.cookie = "__personalize_" +cookieName
				+ "=" + escape(value)
				+ "; expires="+d.toGMTString()+"; path=/;domain="+document.domain+";";
				break;
			}
		}
	}
	return value;
}
__personalize();


