function OfieObject_ee_railofie0807(){
	this.chCountry   = 'b'; 
	this.TICM_pageid = this.TICM_ek = this.sPersonality = this.stMagCode = this.sFormName = this.stMagTitle = this.sOfieHTML = ""; 
	this.fldName_name = this.fldName_addr1 = this.fldName_addr2 = this.fldName_city = this.fldName_state = this.fldName_zip = this.fldName_email ="";
	this.bEmailRequired = false;
	this.formLabels;
	this.bUsingLabels = true;
	this.bUsingAddress2 = false;
	this.usrAgnt = this.bTCM_Dom = this.bTCM_Geck = this.bTCM_Mac = false;
	this.arUSStates;
	this.arCANProvs;

	this.jsTrim=  function (stInput) {
		var stResult;
		var obRegex = new RegExp("(^\\s+)|(\\s+$)");
		stResult = stInput.replace(obRegex, "");
		return(stResult);
	}

	this.isBlank = function TCM_isBlank(s){
		for(var i = 0; i < s.length; i++){
			var c = s.charAt(i);
			if ((c != ' ') && (c != '\n') && (c != '\t')) return false;
		}
		return true;
	}
	
	this.clientDetect= function() {		
		this.bTCM_Dom = document.getElementById ? true : false;
		this.usrAgnt    = navigator.userAgent.toLowerCase();
		this.bTCM_Gecko = (this.usrAgnt.indexOf("gecko")!=-1);
		this.bTCM_Mac   = (this.usrAgnt.indexOf('mac')!=-1);
	}

	this.getProp = function(sProp) {return this[sProp]}
	this.setProp = function(sProp,sVal) {this[sProp]=sVal}

	this.setFieldNames = function(name, addr1, addr2, city, state, zip, email) {
		this.fldName_name  = name;
		this.fldName_addr1 = addr1;
		this.fldName_addr2 = addr2; 
		this.fldName_city  = city;
		this.fldName_state = state;
		this.fldName_zip   = zip;
		this.fldName_email = email;	
	}
	this.setLabels = function() {
		this.formLabels = new Object();
		this.formLabels[this.fldName_name]  = ["Full Name", "**Full Name**"];
		this.formLabels[this.fldName_addr1] = ["Address", "**Address**"];
		this.formLabels[this.fldName_addr2] = ["Address2", "**Address2**"];
		this.formLabels[this.fldName_city]  = ["City", "**City**"]; 
		
		switch(this.getProp('chCountry')){
			case 'b':
				this.formLabels[this.fldName_state] = ["State/Province", "**State/Province**"];
				break;
			case 'u':
				this.formLabels[this.fldName_state] = ["State", "**State**"]; 				
				break;
			case 'c':
				this.formLabels[this.fldName_state] = ["Province", "**Province**"]; 
				break;
		}
		switch(this.getProp('chCountry')){
			case 'b':
				if(this.getProp('bTCM_Gecko')||this.getProp('bTCM_Mac')) this.formLabels[this.fldName_zip] = ["Zip/Po", "*Zp/Po"]; 
				else this.formLabels[this.fldName_zip] = ["Zip/Postal Code", "**Zip/Postal Code**"];
				break;
			case 'u':
				if(this.getProp('bTCM_Gecko')||this.getProp('bTCM_Mac'))this.formLabels[this.fldName_zip] = ["Zip", "*Zip*"]; 
				else this.formLabels[this.fldName_zip] = ["Zip Code", "**Zip Code**"]; 								
				break;
			case 'c':
				if(this.getProp('bTCM_Gecko')||this.getProp('bTCM_Mac'))this.formLabels[this.fldName_zip] = ["Po", "*Po*"]; 
				else this.formLabels[this.fldName_zip] = ["Postal Code", "**Postal Code**"]; 
				break;
		}
		this.formLabels[this.fldName_email] = ["E-mail", "**E-mail**"];
	}
	
	this.setFormLabels = function(fieldName, label, errLabel) {
		this.formLabels[fieldName][0] = label;
		this.formLabels[fieldName][1] = errLabel;
	}

	this.getStateOptionList = function(){ 	
		var arStatesOptions = "", stStateOptionsList = "";
		this.arUSStates = ["AA", "AE", "AK", "AL", "AP", "AR", "AS", "AZ", "CA", "CO", "CT", "DC", "DE", "FL", "GA", "GU", "HI", "IA", "ID", "IL", "IN", "KS", "KY", "LA", "MA", "MD", "ME", "MI", "MN", "MO", "MS", "MT", "NC", "ND", "NE", "NH", "NJ", "NM", "NV", "NY", "OH", "OK", "OR", "PA", "PR", "RI", "SC", "SD", "TN", "TX", "UT", "VA", "VI", "VT", "WA", "WI", "WV", "WY"];
		this.arCANProvs = ["AB", "BC", "MB", "NB", "NL", "NS", "NT", "NU", "ON", "PE", "QC", "SK", "YT"];

		switch(this.getProp('chCountry')){
			case 'b':
				arStatesOptions = this.arUSStates.concat(this.arCANProvs).sort();
				break;
			case 'u':
				arStatesOptions = this.arUSStates.sort();
				break;
			case 'c':
				arStatesOptions = this.arCANProvs.sort();
				break;
		}
		for(var i = 0; i < arStatesOptions.length; ++i)
		{	stStateOptionsList += '<option value="'+arStatesOptions[i]+'">'+arStatesOptions[i]+'</option>';	}
		return(stStateOptionsList);
	}			
	
	this.isValid = function(f,fldName){
		fldVal = f[fldName].value;	
		if ((fldVal==null)||(fldVal=="")||this.isBlank(fldVal)) return true;				
		if (this.bUsingLabels && (this.contains(this.formLabels[fldName],fldVal))) return true;
		else return false;	
	}

	this.getError = function(err,f,fldName)
	{
		if((fldName&&f[fldName].type=="text")&&this.bUsingLabels)f[fldName].value = this.formLabels[fldName][1];
		if(fldName&&f[fldName].type=="text");
		return("- Please enter a valid "+err+".\n");
	}

	this.contains = function(arr, str) 
	{
		for (var i = 0; i < arr.length; i++)
		{	if (arr[i] == str) return true;}
		return false;
	}   
	
	this.checkOfie = function()
	{
	   f = document.forms[this.sFormName];
	   var stState = f[this.fldName_state].value;
	   var stZip = f[this.fldName_zip].value;
	   var bValid = false;
	   var errMsg = "";

		if (this.isValid(f,this.fldName_name) || (f[this.fldName_name].value.search(/[A-Za-z0-9]\s+[A-Za-z]/) == -1))
			errMsg += this.getError(this.formLabels[this.getProp('fldName_name')][0],f,this.fldName_name);

		if (this.isValid(f,this.fldName_addr1))
			errMsg += this.getError(this.formLabels[this.getProp('fldName_addr1')][0],f,this.fldName_addr1);
			
		if (this.isValid(f,this.fldName_city))
			errMsg += this.getError(this.formLabels[this.getProp('fldName_city')][0],f,this.fldName_city);

		if (stState=="")
			errMsg += this.getError(this.formLabels[this.getProp('fldName_state')][0],f,this.fldName_state);

		bValid=true;
		
		if (this.isValid(f,this.fldName_zip) || stZip.length<5 || stZip.length>6)
				errMsg += this.getError(this.formLabels[this.getProp('fldName_zip')][0],f,this.fldName_zip);
		
		else if (stState!=""){
			if (stZip.length==5){
				if ((this.chCountry=='c') || (!this.contains(this.arUSStates,stState)) || (stZip.search(/^\d{5}$/) == -1))
					bValid=false;
			}
			else if (stZip.length==6){
				if ((this.chCountry=='u') || (!this.contains(this.arCANProvs, stState)) || (stZip.search(/^([a-zA-Z]\d){3}$/) == -1))
					bValid=false;
			}
		}
  
		if (!bValid){
			if (this.bUsingLabels) f[this.fldName_zip].value = this.formLabels[this.fldName_zip][1];			
				errMsg += this.getError(this.formLabels[this.fldName_zip][0],f,this.fldName_zip);
		}
		
  		bValid=true;
		if (this.isValid(f,this.fldName_email)) bValid=(this.bEmailRequired) ? 0:1;
		else bValid=(f[this.fldName_email].value.search(/^(\w|-)+(\.(\w|-)+)*@((\w|-)+\.)+[a-zA-Z]{2,4}$/)==-1)?0:1;
		
		if(!bValid) 
			errMsg += this.getError(this.formLabels[this.getProp('fldName_email')][0],f,this.fldName_email);
		
		if (f.consent && (typeof(f.consent) != "undefined") && !f.consent.checked){
			errMsg += "Please confirm that you have read and accept the Offer Terms.\n";
		}

		if (errMsg.length) {
			alert ("The form was not submitted because of the following error(s):\n\n" + errMsg + "\n\nPlease correct these error(s) and resubmit your form.\n\nThank you,\n" + this.getProp('stMagTitle') + ".");
			return false;
		}
		
		if(this.bUsingLabels && this.bUsingAddress2){
			if((typeof f[this.fldName_addr2]!="undefined")&&(f[this.fldName_addr2].value==this.formLabels[this.fldName_addr2][0]))f[this.fldName_addr2].value = "";
		}	
		return true;
	}
	
	this.submitOfie = function(w,h,props){
		if (this.checkOfie()) 
		{
			if ( (this.bUsingLabels) && (this.formLabels[this.fldName_email][0] == (f[this.fldName_email].value))) f[this.fldName_email].value = "";
	    	var upsellWin = window.open("", "upsellWin", "width=" +w+",height=" +h+ "," + props);
		   	f.target = "upsellWin";
    		return true;
	  	}
	  	else return false;
	}

	this.initLabels = function()
	{
		f = document.forms[this.sFormName];
		var oOfie = this
		with (f)
		{
			for (var i = 0; i < elements.length; i++) 
			{
				var formElement = elements[i];
				if (formElement.type == "text") 
				{
					formElement.onfocus = function() {fieldFocus = true; if (this.value == oOfie.getProp('formLabels')[this.name][0] || this.value == oOfie.getProp('formLabels')[this.name][1]) this.value = "";};
					formElement.onblur = function() {fieldFocus = false; if (oOfie.jsTrim(this.value) == "") this.value = oOfie.getProp('formLabels')[this.name][0];};
		  		}
			}
		}
	}
}
// End OFIE Obj Code

if (typeof CM_aOfies == "undefined") { 
	var CM_aOfies = new Array(); 
	var CM_nOfie=0; 
}
else CM_nOfie++

oOFIE = CM_aOfies[CM_nOfie] = new OfieObject_ee_railofie0807(); 

// *** START OFIE Prop Declarations ***
TICM_per_name = '';
oOFIE.setProp('sFormName', 'ee_railofie0807');
oOFIE.setProp('sPersonality', TICM_per_name);
oOFIE.setProp('stMagCode', 'EE');
oOFIE.setProp('stMagTitle', 'Essence'); 
//oOFIE.setProp('TICM_pageid', '');
//oOFIE.setProp('TICM_ek', '');
oOFIE.setProp('chCountry', 'b');   // (b,c,u) = (both, canada, us)
oOFIE.setProp('bEmailRequired', true); 

oOFIE.setFieldNames("name", "address1", "address2", "city", "state", "zipCode", "email"); 
oOFIE.clientDetect(); 
oOFIE.setProp('bUsingLabels', true);
oOFIE.setLabels(); 
// *** END OFIE Prop Declarations ***

stEnv   = "";
stPgLoc = document.location.href;
if ( (stPgLoc.indexOf("file:///") !=-1) || (stPgLoc.indexOf("timeinc.net/subs2/dev/") !=-1)) stEnv = "dev-"
if (stPgLoc.indexOf("timeinc.net/subs2/stage/") !=-1) stEnv = "stage-"
stImgPath = "http://i.timeinc.net/subs2/images/ee/";

ofieBody = '<style type="text/css">.tcmofinp {font-size: 9px; height: 13px; width: 146px; border: 1px solid #FFF; margin: 0; padding: 0 0 0 2px} </style>'+
'<div id="ofie" style="width: 160px; height: 250px; background-color: #C41558; font-family: Arial, Helvetica, sans-serif; color: #CCCCCC;"><img src="'+stImgPath+'ee_railofie0807_ofe_bnr.gif" alt="Try 2 Risk Free Issues" style="width: 160px; height: 125px; display: block; " />'+
'<form method="post" name="'+oOFIE.getProp("sFormName")+'" id="'+oOFIE.getProp("sFormName")+'" action="https://'+stEnv+'subs.timeinc.net/EE/ee_railofie0807v2.jhtml" onsubmit="return CM_aOfies['+ CM_nOfie +'].submitOfie(700, 650,\'top=2,left=2,scrollbars=yes,status=yes,resizable=yes\');" style="margin:0;padding:0;"> '+
'<input type="hidden" name="subs_form_id" value="prod/js/ee/ee_railofie0807.js" />'+
'<table border="0" cellpadding="0" cellspacing="0" id="form" style="margin: 3px auto 0 auto; width: 147px;">'+
'<tr><td colspan="2" style="height: 19px; vertical-align: top;">'+
'<input name="'+oOFIE.getProp("fldName_name")+'" maxlength="30" type="text" value="'+oOFIE.getProp("formLabels")[oOFIE.getProp("fldName_name")][0]+'" class="tcmofinp" />'+
'</td></tr>'+
'<tr><td colspan="2" style="height: 19px; vertical-align: top;">'+
'<input name="'+oOFIE.getProp("fldName_addr1")+'" maxlength="30" type="text" value="'+oOFIE.getProp("formLabels")[oOFIE.getProp("fldName_addr1")][0]+'" class="tcmofinp" />'+
'</td></tr>'+
'<tr><td colspan="2" style="height: 19px; vertical-align: top;">'+
'<input name="'+oOFIE.getProp("fldName_city")+'" maxlength="20" type="text" value="'+oOFIE.getProp("formLabels")[oOFIE.getProp("fldName_city")][0]+'" class="tcmofinp" />'+
'</td></tr>'+
'<tr><td style="height: 18px;">'+
'<select name="'+oOFIE.getProp("fldName_state")+'" style="font-size: 9px; border: 1px solid #FFF; margin: 0; padding: 0; width: 60px; line-height:1.5em;" >'+
'<option value="">St/Pr</option>'+ oOFIE.getStateOptionList() +'</select>'+
'</td>'+
'<td style="height: 19px; vertical-align: top; text-align: left;">'+
'<input name="'+oOFIE.getProp("fldName_zip")+'" maxlength="6" type="text" value="'+oOFIE.getProp("formLabels")[oOFIE.getProp("fldName_zip")][0]+'" style="width: 80px; font-size: 9px; height: 13px; border: 1px solid #FFF; margin: 0; padding: 0 0 0 2px;" />'+
'</td></tr>'+
'<tr><td colspan="2" style="height: 19px; vertical-align: top;">'+
'<input name="'+oOFIE.getProp("fldName_email")+'" maxlength="50" type="text" value="'+oOFIE.getProp("formLabels")[oOFIE.getProp("fldName_email")][0]+'" class="tcmofinp" />'+
'</td></tr></table>'+
'<input type="image" src="'+stImgPath+'ee_railofie0807_btn_ofe.gif" alt="Continue" style="width: 160px; height: 24px; display: block; clear: both;" /> '+
'</form></div><div style="width: 148px; margin: 0 auto;"></div>'

oOFIE.setProp('sOfieHTML', ofieBody); 

if (oOFIE.getProp('bTCM_Dom')) document.write(oOFIE.getProp('sOfieHTML'));
if (oOFIE.getProp('bUsingLabels')) oOFIE.initLabels();

<!--CLD live=08-14-07-12:49 live-last-modified=09-21-07-10:13 stage=08-09-07-15:46 stage-last-modified=09-21-07-10:08 -->
