function OfieClass_si_gfredesign_rospartofie() {
	var self = this;	
	this.chCountry   = 'b'; this.sPersonality = 'si_gfredesign_rospartofie'; this.stMagCode = 'GF'; this.sFormName  = 'si_gfredesign_rospartofie_form'; this.sOfieHTML = ""; this.fldName_name = "name"; this.fldName_addr1 = "address1"; this.fldName_addr2 = "address2"; this.fldName_city = "city"; this.fldName_state = "state"; this.fldName_zip = "zipCode"; this.fldName_email ="email";
	this.formLabels;
	this.bUsingLabels = true;
	this.bUsingAddress2 = false;

	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.arUSStates;
	this.arCANProvs;


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


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

	this.setLabels = function() {
		this.formLabels = new Object();
		this.formLabels[this.fldName_name]  = ["Full Name"];
		this.formLabels[this.fldName_addr1] = ["Address"];
		this.formLabels[this.fldName_addr2] = ["Address2"];
		this.formLabels[this.fldName_city]  = ["City"]; 
		this.formLabels[this.fldName_state] = ["State/Province"];		
		this.formLabels[this.fldName_zip] = ["Zip/Po"];
		this.formLabels[this.fldName_email] = ["E-mail"];
	}	
	
	this.setFormLabels = function(fieldName, label, errLabel) {
		this.formLabels[fieldName][0] = label;
		this.formLabels[fieldName][1] = errLabel;
	}
	this.clearLabels = function(f) {
		if (self.bUsingLabels) {
			
			if  ("Full Name" == f["name"].value) f["name"].value = "";
			if  ("Address" == f["address1"].value) f["address1"].value = "";
			if  (self.bUsingAddress2 && "Address 2" == f["address2"].value) f["address2"].value = "";
			if  ("City" == f["city"].value) f["city"].value = "";
			if  ("Zip/Po" == f["zipCode"].value) f["zipCode"].value = "";			
			if  ("E-mail" == f["email"].value) f["email"].value = "";
		}
	}

	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"];

		arStatesOptions = this.arUSStates.concat(this.arCANProvs).sort();
		for(var i = 0; i < arStatesOptions.length; ++i)
		{	stStateOptionsList += '<option value="'+arStatesOptions[i]+'">'+arStatesOptions[i]+'</option>';	}
		return(stStateOptionsList);
	}		
	
	this.submitOfie = function(f,w,h,t,l,props){
		w = parseInt(w); h = parseInt(h);
		var sw = screen.width; var sh = screen.height;
		if(w > sw){w = sw;}  if(h > sh){h=sh;}
		var left = l == "c" ? ((sw - w) / 2) : l;
		var top = t == "c" ? ((sh - h) / 2) : t;

		self.clearLabels(f);
	    	var upsellWin = window.open("", "upsellWin", "width=" + w +",height=" + h + ",top="+ top + ",left=" + left + "," + props);
	   	f.target = "upsellWin";
   		return true;
	}



	this.ofie_init = function(){
	   if (self.bUsingLabels) self.initLabels();	
	}

	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];};
		  		}
			}
		}
	}
} 


var si_gfredesign_rospartofieObj = new OfieClass_si_gfredesign_rospartofie(); 

si_gfredesign_rospartofieObj.setLabels(); 

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

ofieBody = '<form name="'+si_gfredesign_rospartofieObj.getProp("sFormName")+'" id="'+si_gfredesign_rospartofieObj.getProp("sFormName")+'" method="post" action="https://'+stEnv+'subs.timeinc.net/CampaignHandler/si_nb?source_id=6" class="subcrForm" onsubmit="return si_gfredesign_rospartofieObj.submitOfie(this,1024,700,\'c\',\'c\',\'scrollbars=yes,status=yes,resizable=yes\');" ><input type="hidden" name="subs_form_id" value="prod/js/si/si_gfredesign_rospartofie.js" />'+
'    <div id="ofie"><img width="75" height="90" alt="Subscribe to SI for 70&#162; an issue and get a free gift!" src="http://i.cnn.net/si/features/cover/newsletter/cover.gif" class="subcrImg"/>'+
'      <p>Subscribe to SI for 70&#162; an issue and get a free gift!</p>'+
'    </div>'+
'    <div class="subcrFormFields">'+
'      <ul>'+
'        <li>'+
'          <input type="text" style="border: 1px solid rgb(153, 153, 153); margin: 0pt; padding: 0pt; width: 110px; height: 14px; font-size: 10px; color: rgb(51, 51, 51); font-family: Arial,Helvetica,sans-serif;" value="Full Name" maxlength="30" name="name" tabindex="501"/>'+
'        </li>'+
'        <li>'+
'          <input type="text" value="Address" style="border: 1px solid rgb(153, 153, 153); margin: 0pt; padding: 0pt; width: 110px; height: 14px; font-size: 10px; color: rgb(51, 51, 51); font-family: Arial,Helvetica,sans-serif;" maxlength="30" name="address1" tabindex="502"/>'+
'        </li>'+
'        <li>'+
'          <input type="text" value="City" style="border: 1px solid rgb(153, 153, 153); margin: 0pt; padding: 0pt; width: 110px; height: 14px; font-size: 10px; color: rgb(51, 51, 51); font-family: Arial,Helvetica,sans-serif;" maxlength="20" name="city" tabindex="503"/>'+
'        </li>'+
'        <li>'+
'          <select tabindex="504" style="border: 1px solid rgb(153, 153, 153); padding: 0pt; width: 110px; height: 16px; font-size: 9px; color: rgb(51, 51, 51); font-family: Arial,Helvetica,sans-serif;" name="state"><option value="">'+si_gfredesign_rospartofieObj.getProp("formLabels")[si_gfredesign_rospartofieObj.getProp("fldName_state")][0]+'</option>' + si_gfredesign_rospartofieObj.getStateOptionList() +'</select>'+
'        </li>'+
'      </ul>'+
'      <ul>'+
'        <li>'+
'          <input type="text" value="Zip/Po" style="border: 1px solid rgb(153, 153, 153); margin: 0pt; padding: 0pt; width: 110px; height: 14px; font-size: 10px; color: rgb(51, 51, 51); font-family: Arial,Helvetica,sans-serif;" maxlength="6" name="zipCode" tabindex="505"/>'+
'        </li>'+
'        <li>'+
'          <input type="text" value="E-mail" style="border: 1px solid rgb(153, 153, 153); margin: 0pt; padding: 0pt; width: 110px; height: 14px; font-size: 10px; color: rgb(51, 51, 51); font-family: Arial,Helvetica,sans-serif;" maxlength="50" name="email" tabindex="506"/>'+
'        </li>'+
'        <li>'+
'          <input type="image" tabindex="507" alt="Submit" src="'+stImagePath+'gf/gf_pofieftr_ofe_btn_submit.gif" class="subcrSubmit"/>'+
'        </li>'+
'      </ul>'+
'    </div></form>';

si_gfredesign_rospartofieObj.setProp('sOfieHTML', ofieBody); 

if (si_gfredesign_rospartofieObj.getProp('bTCM_Dom')){
	document.write(si_gfredesign_rospartofieObj.getProp('sOfieHTML'));	
	//RUN
   if (window.addEventListener){
     window.addEventListener('load', si_gfredesign_rospartofieObj.ofie_init, false); 
   } else if (window.attachEvent){
     window.attachEvent('onload', si_gfredesign_rospartofieObj.ofie_init);
   }
}
<!--CLD live=03-13-09-10:06 live-last-modified=03-13-09-10:24 stage=03-13-09-10:06 stage-last-modified=03-13-09-10:24 -->
