//Client Detect
var usrAgnt = navigator.userAgent.toLowerCase();
var CM_isDom = document.getElementById ? true : false;
var CM_isGecko = (usrAgnt.indexOf("gecko")!=-1);
var CM_isMac = (usrAgnt.indexOf('mac')!=-1);

var sFormName = "sk_getfreepreview";
var sPerName  = "sk_OFIE_RF01_0106";
var sFormPath = "https://subs.timeinc.net/";
var sPgLoc = document.location.href;
if (sPgLoc.indexOf("file://") !=-1) sFormPath = "https://dev-subs.timeinc.net/" //local dev
if (sPgLoc.indexOf("timeinc.net/subs2/dev/") !=-1) sFormPath = "https://dev-subs.timeinc.net/"
if (sPgLoc.indexOf("timeinc.net/subs2/stage/") !=-1) sFormPath = "https://stage-subs.timeinc.net/"

var sImagePath = "http://i.timeinc.net/subs2/images/sk/";


var sMagCodeOption = usrAgnt.indexOf("aol") != -1 ? "SK_5" : "SK_2";
 
// Array of US States
var usStates = ["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"];
// Array of Canada Provinces (defined as global variable)
var canProvs = ["AB", "BC", "MB", "NB", "NL", "NS", "NT", "NU", "ON", "PE", "QC", "SK", "YT"];
// Array of all States/Provinces
var statesProvs = usStates.concat(canProvs).sort();
var stateOptionsList = "";

for(var i = 0; i < statesProvs.length; ++i){
	stateOptionsList += '<option value="'+statesProvs[i]+'">'+statesProvs[i]+'</option>';
}

var fldName_fName = "shipName";
var fldName_addr1 = "shipAddress1";
var fldName_city  = "shipCity";
var fldName_state = "shipState";
var fldName_zip   = "shipZipCode";
var fldName_email = "email";

// Form field labels
formLabels = new Object();
formLabels.shipName = ["Name", "**Name**"];
formLabels.shipAddress1 = ["Address", "**Address**"];
formLabels.shipCity = ["City", "**City**"];
//formLabelsCan.state = ["St/Prov", "**St/Prov**"];
if(CM_isGecko||CM_isMac)formLabels.shipZipCode = ["Zip/Po", "*Zip*"];
else formLabels.shipZipCode = ["Zip/Postal", "**Zip/Postal**"];
//formLabels.email = ["E-mail", "**E-mail**"];

function TICM_arrayContains(str){
	for (var i = 0; i < this.length; i++){
		if (this[i] == str) return true;
	}
	return false;
}

Array.prototype.contains = TICM_arrayContains;

function jsTrim(strInput)
{
	var strResult;
	var objRegex = new RegExp("(^\\s+)|(\\s+$)");
	strResult = strInput.replace(objRegex, "");
	return(strResult);
}

function CM_init() {
	with (document.getElementById(sFormName))
	{
		// Add Event Handlers for field focus	
		for (var i = 0; i < elements.length; i++) {
			var formElement = elements[i];
			if (formElement.type == "text") {
				formElement.onfocus = function() {fieldFocus = true; if (this.value == formLabels[this.name][0] || this.value == formLabels[this.name][1]) this.value = "";};
				formElement.onblur = function() {fieldFocus = false; if (jsTrim(this.value) == "") this.value = formLabels[this.name][0];};
		  	}
		}
	}
}

// Data handling functions
function ofieSubmit(f) {
  if (ofieCheck(f)) {
  	//take out 'Email:' string: (needed if email is not required)
	//if (formLabels[fldName_email].contains(f[fldName_email].value)) f.fldName_email.value = "";
    var upsellWin = window.open("", "upsellWin", "width=400,height=600,top=2,left=2,scrollbars=yes,status=yes,resizable=yes");
   f.target = "upsellWin";
    return true;
  }
  else return false;
}

//form validation
function ofieCheck(f){
   f = f.elements;
   var state = f[fldName_state].value;

   var t, msg, good;
   msg = '';

	if ((f[fldName_fName].value.search(/[A-Za-z]\s[A-Za-z]/) == -1)||(f[fldName_fName].value == null) || (formLabels[fldName_fName].contains(f[fldName_fName].value)) || (f[fldName_fName].value == '') || fldName_isblank(f[fldName_fName].value) ){
		f[fldName_fName].value = formLabels[fldName_fName][1];
		msg += "Please enter your Child's Full Name.\n";
	}
	
	if ((f[fldName_addr1].value == null) || (formLabels[fldName_addr1].contains(f[fldName_addr1].value)) || (f[fldName_addr1].value == '') || fldName_isblank(f[fldName_addr1].value)){
		f[fldName_addr1].value = formLabels[fldName_addr1][1];
		msg += "Please enter your Child's Address.\n";
	}	
	if ((f[fldName_city].value == null) || (formLabels[fldName_city].contains(f[fldName_city].value)) || (f[fldName_city].value == '') || fldName_isblank(f[fldName_city].value)){
		f[fldName_city].value = formLabels[fldName_city][1];
		msg += "Please enter your Child's City.\n";
	}	

	if (state=='')msg+="Please enter your Child's State/Province.\n"

	//validate zipCode
	good=1; t = f[fldName_zip].value;
	if (t==null || (formLabels[fldName_zip].contains(t)) || t=='' || fldName_isblank(t) || t.length<5 || t.length>6 )good=0;
	else{if (fldName_state!=''){
			if (t.length==5 && (t.search(/^\d{5}$/) != -1)){ 
				if (canProvs.contains(state))good=0;
			}else good=0;
			if (t.length==6 && t.search(/^([a-zA-Z]\d){3}$/)!=-1){
				good=0;
				if (canProvs.contains(state))good=1;
			}
		}
	}
  
	if (!good){
		f[fldName_zip].value = formLabels[fldName_zip][1];
		msg+="Your Child's Zip/Postal code is blank or incorrect,\nor it doesn\'t match the State/Province you selected.\n";
	}

	//validate fldName_email
 /* good=1; t=f[fldName_email].value;
	if (t==null || (formLabels[fldName_email].contains(t)) || t=='' || fldName_isblank(t)) good=0;
	else good=(t.search(/^(\w|-)+((\.|\+)(\w|-)+)*@((\w|-)+\.)+[a-zA-Z]{2,4}$/)==-1)?0:1;
    
	if(!good){
		f[fldName_email].value = formLabels[fldName_email][1];
		msg+="Your E-mail address is blank or incorrect.\n\n";
	}*/

	if (msg.length) {
		alert ("The form was not submitted because of the following error(s):\n\n" + msg + "\n\nPlease correct these error(s) and resubmit your form.\n\nThank you,\nSI FOR KIDS.");
		return false;
	}
	return true;
}

function fldName_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;
}
// End of Data handling functions


// OFIE styles
var CM_ofieStyle = '<style type="text/css">'+
'.CM_formfield{font-family: Arial, Helvetica, sans-serif; font-size: 11px; color: #000000; border: solid #000000 1px; padding: 0 0 0 1px; margin: 0 0 2px 0; width: 82px;}'+
'.CM_formfieldright {margin-left : 2px;}'+
'</style>'

// OFIE HTML
var CM_ofieBody = '<table width="300px"  border="0" cellpadding="0" cellspacing="0">'+
'<form method="post" name="'+sFormName+'" id="'+sFormName+'" action="'+sFormPath+'SK/'+sPerName+'.jhtml" onsubmit="return ofieSubmit(this);">'+
'<input type="hidden" name="magCode_Option" value="'+sMagCodeOption+'">'+
'<tr>'+
'<td>'+
'<div id="ofiemain" style="width: 300px; height: 135px; background-image: url('+sImagePath+'sk_getfreepreview_bkrd3.gif);"><img src="'+sImagePath+'sk_getfreepreview_cover02.jpg" width="85" height="113" style="margin-top: 10px; margin-left: 10px; float: left;">'+
'<div id="form" style="font-family: Arial, Helvetica, sans-serif; font-size: 10px; color: #000000; float: right; width: 195px; height: 93px; padding-top: 40px; position: relative;">'+
'<input  name="'+fldName_fName+'" value="'+formLabels[fldName_fName][0]+'" id="'+fldName_fName+'" maxlength="30" type="text" size="14" class="CM_formfield">'+
'<input name="'+fldName_addr1+'" value="'+formLabels[fldName_addr1][0]+'" id="'+fldName_addr1+'" maxlength="30" type="text" size="14" class="CM_formfield CM_formfieldright">'+
'<input name="'+fldName_city+'" value="'+formLabels[fldName_city][0]+'" id="'+fldName_city+'" maxlength="20" type="text" size="14" class="CM_formfield">'+
'<select name="'+fldName_state+'" id="'+fldName_state+'" size="1" class="CM_formfield CM_formfieldright" style="font-size:10px;margin-bottom:0;width:60px;}">'+
'<option>St/Pr:</option>' + stateOptionsList +'"</select>' +
'<input name="'+fldName_zip+'" value="'+formLabels[fldName_zip][0]+'" id="'+fldName_zip+'" maxlength="6" type="text" size="14"  class="CM_formfield">'+
'<input type="image" src="'+sImagePath+'sk_getfreepreview_inv_btn.gif" width="72" height="20" style="display: block; position: absolute; top: 112px; left: 120px;">'+
'</div>'+
'</div>'+
'<div style="clear:both;"></div>'+
'</td>'+
'</tr>'+
'</form>'+
'</table>'+
'<scr'+'ipt type="text/javascript">CM_init();</scr'+'ipt>';

if(CM_isDom) document.write(CM_ofieStyle+CM_ofieBody);
//<!--CLD live=06-22-06-15:41 live-last-modified=07-19-06-11:25 stage=07-19-06-11:11 stage-last-modified=07-19-06-11:12 -->

