
//actual values for these global variables are assigned
//in factory_tour_layout.jsp
var SEARCH_MODEL_CENTER_ADDRESS_ASSET = "";
var SEARCH_MODEL_CENTER_ASSET = "";
var INTERNAL_SERVER_ERROR = "";
var FACTORY_TOUR_COOKIE_USER_NAME="";
var FACTORY_TOUR_COOKIE_EMAIL_ADDRESS="";
var FACTORY_TOUR_COOKIE_USER_UID="";
var FACTORY_TOUR_MEDIA_PLAYER=null;
var FACTORY_TOUR_STATIC_SWF=null;
var FACTORY_TOUR_EMAIL_COMMENTS_MAX_LENGTH=0;
var FACTORY_TOUR_SIGNUP_URL="";
var phhFactoryTour=null;
var FACTORY_TOUR_COOKIE_MAX_DAYS=999;
function factoryTourBodyOnload(){
	setFTGreeting();
}
function setFTGreeting(){
	var userName=readCookie(FACTORY_TOUR_COOKIE_USER_NAME);
	if(userName != null && userName.length > 0){
		document.getElementById("spanFTGreetingName").innerHTML=userName;
		document.getElementById("spanFTGreetingNotName").innerHTML=userName;
		document.getElementById("spanFTLogout").style.visibility="visible";
		document.getElementById("login").style.visibility="visible";		
	}
}
function ftUserLogout(){
	eraseCookie(FACTORY_TOUR_COOKIE_USER_NAME);
	eraseCookie(FACTORY_TOUR_COOKIE_EMAIL_ADDRESS);
	eraseCookie(FACTORY_TOUR_COOKIE_USER_UID);
	document.getElementById("spanFTLogout").style.visibility="hidden";
	document.getElementById("login").style.visibility="hidden";
	if(FACTORY_TOUR_STATIC_SWF != null){
		FACTORY_TOUR_STATIC_SWF.write("ftDivVideo");
		phhFactoryTour = null;
	}
	
}
function isFTCookieExist(){
	var userName=readCookie(FACTORY_TOUR_COOKIE_USER_NAME);
	if(userName != null && userName.length > 0){
		return true;
	}else{
		return false;
	}
}
function callSignup() {
	Modalbox.show(FACTORY_TOUR_SIGNUP_URL, {title: "Sign up or log in to see video", width: 750, method: "post"});
}
function getModelCenterSearchAsset() {
	var objAddress = document.modelForm.completeAddress;
	if (objAddress.value != null && objAddress.value.length > 0) {
		document.modelForm.asset.value = SEARCH_MODEL_CENTER_ADDRESS_ASSET;
	} else {
		document.modelForm.asset.value = SEARCH_MODEL_CENTER_ASSET;
	}
	return true;
}
function createCookie(name,value,days) {
	var expires;
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		expires = "; expires="+date.toGMTString();
	}
	else expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) {
			var userName= c.substring(nameEQ.length,c.length);
			userName = ftEscapeXML(unescape(userName));
			return userName;
		}
	}
	return null;
}
function ftEscapeXML(value){
	if(value != null && value.length > 0){
		value = value.replace(/</g, "&lt;"); 
		value = value.replace(/>/g, "&gt;"); 
	}
	return value;
}
function eraseCookie(name) {
	createCookie(name,"",-1);
}
document.onkeypress = factoryTourSubmitHandler;
function factoryTourSubmitHandler(evt) {
	try {
		var oEvent = (window.event) ? window.event : evt;
		var nKeyCode = oEvent.keyCode ? oEvent.keyCode : oEvent.which ? oEvent.which : void 0;
		if (nKeyCode == 13) {
			var objControl = oEvent.target ? oEvent.target : oEvent.srcElement;
			if(objControl.type && objControl.type != "textarea"){
				if(document.userProfileForm && document.userProfileForm.ftForgotPwdSubmit){
					//forgot password
					document.userProfileForm.ftForgotPwdSubmit.onclick();
				}else if(document.emailForm && document.emailForm.ftEmailFriendSubmit){
					//email friend
					document.emailForm.ftEmailFriendSubmit.onclick();
				}else if(document.userProfileLoginForm && document.userProfileLoginForm.ftLoginSubmit && objControl.parentNode && objControl.parentNode.name == "userProfileLoginForm"){
					//login
					document.userProfileLoginForm.ftLoginSubmit.onclick();
				}else if(document.userProfileForm && document.userProfileForm.ftUserRegSubmit){
					//user registration
					document.userProfileForm.ftUserRegSubmit.onclick();
				}else if(document.promotionRequestForm && document.promotionRequestForm.ftSendRequestSubmit){
					//request free dvd
					document.promotionRequestForm.ftSendRequestSubmit.onclick();
				}
			}
		}else if(document.emailForm){
			var objControl = oEvent.target ? oEvent.target : oEvent.srcElement;
		 	if(objControl.type && objControl.type == "textarea" && objControl.name && objControl.name == "emailContent"){
				return checkEmailCommentsMaxLength(nKeyCode, objControl);
			}
		}
	}
	catch (e) {
		alert("Javascript Error =>" + e.description);
	}
	return true;
}
if (document.layers){
	document.captureEvents(Event.KEYPRESS);
} 
function checkEmailCommentsMaxLength(nKeyCode, obj) {
	if(nKeyCode != 8 && obj.value != null && obj.value.length > FACTORY_TOUR_EMAIL_COMMENTS_MAX_LENGTH){
		return false;
	}else{
		return true;
	}
}
function userLoginSendRequest(formName, formErrors, divPassword, divConfirmPassword) {
	var url = document.forms[formName].action;
	if(divConfirmPassword != null && divConfirmPassword.length > 0){
		//User Registration
		populateTrafficSourceHiddenFields(formName);//load the traffic source data
		document.getElementById(divConfirmPassword).innerHTML=document.forms[formName].confirmPassword.value;
		if(document.forms[formName].confirmPassword.value.length > 0){
			document.forms[formName].confirmPassword.value = binl2b64(str2binl(document.forms[formName].confirmPassword.value));
		}
		document.getElementById(divPassword).innerHTML=document.forms[formName].password.value;
		if(document.forms[formName].password.value.length > 0){
			document.forms[formName].password.value = binl2b64(str2binl(document.forms[formName].password.value));
		} 		
	}else{
		//Login Screen
		document.getElementById(divPassword).innerHTML=document.forms[formName].password.value;
		if(document.forms[formName].password.value.length > 0){
			document.forms[formName].password.value = b64_md5(document.forms[formName].password.value);
		} 
	}
	document.getElementById(formErrors).style.display = "none";
	new Ajax.Request(url, {method:"post", 
							parameters:$(formName).serialize(true),
							onSuccess:function(result) {
										var respTxt = result.responseText.strip();
										var respObj = null;
										try{
											respObj=respTxt.evalJSON(true);
										}catch(e){
											respObj = null;
										}
										if (respObj != null) {
											createCookie(FACTORY_TOUR_COOKIE_USER_NAME, escape(respObj.firstName + " " + respObj.lastName), FACTORY_TOUR_COOKIE_MAX_DAYS);
											createCookie(FACTORY_TOUR_COOKIE_EMAIL_ADDRESS, respObj.emailAddress, FACTORY_TOUR_COOKIE_MAX_DAYS);
											createCookie(FACTORY_TOUR_COOKIE_USER_UID, respObj.uid, FACTORY_TOUR_COOKIE_MAX_DAYS);
											setFTGreeting();
											if(divConfirmPassword!=null && divConfirmPassword.length > 0){
												//Modalbox.show("<div class='mb'><h2>Thank you for signing up!</h2><p><a href='javascript:void(0);' onclick='Modalbox.hide(); return false;' title='Close this dialog'>Close this dialog</a> and start your Factory Tour.</p></div>", {title: 'Message sent', width: 500});
												Modalbox.hide();
											}else{
												Modalbox.hide();
											}
											if(FACTORY_TOUR_MEDIA_PLAYER != null){
												FACTORY_TOUR_MEDIA_PLAYER.write("ftDivVideo");
											}
											if(window.document.detailplayer){
												phhFactoryTour = window.document.detailplayer;
											}											
										} else {
											document.getElementById(formErrors).innerHTML = respTxt;
											document.getElementById(formErrors).style.display = "block";
											Modalbox.resizeToContent();
											
										}
									}, 
							onFailure:function (result) {
										document.getElementById(formErrors).innerHTML = INTERNAL_SERVER_ERROR;
										document.getElementById(formErrors).style.display = "block";
										Modalbox.resizeToContent();
									}
							}
					);
	if(divPassword != null && divPassword.length > 0){					
		document.forms[formName].password.value = document.getElementById(divPassword).innerHTML;
	}
	if(divConfirmPassword != null && divConfirmPassword.length > 0){					
		document.forms[formName].confirmPassword.value = document.getElementById(divConfirmPassword).innerHTML;
	}
}
function emailFriend(formName, formErrors) {
	var url = document.forms[formName].action;
	document.getElementById(formErrors).style.display = "none";
	new Ajax.Request(url, {method:"post", 
							parameters:$(formName).serialize(true),
							onSuccess:function(result) {
										var respTxt = result.responseText.strip();
										var respObj = null;
										try{
											respObj=respTxt.evalJSON(true);
										}catch(e){
											respObj = null;
										}
										if (respObj != null) {										
											Modalbox.show("<div class='mb'><h2>Thank you!</h2><p>Your message has been sent.<a href='#' title='Close this dialog' onclick='Modalbox.hide(); return false;'>Close this dialog</a>.</p></div>", {title:"Message sent", width:500});
										} else {
											document.getElementById(formErrors).innerHTML = respTxt;
											document.getElementById(formErrors).style.display = "block";
											Modalbox.resizeToContent();
										}
									}, 
							onFailure:function (result) {
										document.getElementById(formErrors).innerHTML = INTERNAL_SERVER_ERROR;
										document.getElementById(formErrors).style.display = "block";
										Modalbox.resizeToContent();
									}
							}
					);	
}

function forgotPassword(formName, formErrors, successPage) {
	var url = document.forms[formName].action;
	document.getElementById(formErrors).style.display = "none";
	new Ajax.Request(url, {method:"post", 
							parameters:$(formName).serialize(true),
							onSuccess:function(result) {
										var respTxt = result.responseText.strip();
										var respObj = null;
										try{
											respObj=respTxt.evalJSON(true);
										}catch(e){
											respObj = null;
										}
										if (respObj != null) {										
											Modalbox.show("<div class='mb'><h2>Thank you!</h2><p>Your pasword has been sent. <a href='" + successPage + "' title='Sign up or log in to see video' onclick='Modalbox.show(this.href, {title: this.title, width: 750}); return false;\'>Close this dialog</a>.</p></div>", {title: 'Password sent', width: 500});
										} else {
											document.getElementById(formErrors).innerHTML = respTxt;
											document.getElementById(formErrors).style.display = "block";
											Modalbox.resizeToContent();
										}
									}, 
							onFailure:function (result) {
										document.getElementById(formErrors).innerHTML = INTERNAL_SERVER_ERROR;
										document.getElementById(formErrors).style.display = "block";
										Modalbox.resizeToContent();
									}
							}
					);	
}

function ftRequestDVD(formName, formErrors) {
	var url = document.forms[formName].action;
	document.getElementById(formErrors).style.display = "none";
	eval("document." + formName).id=formName;
	populateTrafficSourceHiddenFields(formName);//load the traffic source data
	new Ajax.Request(url, {method:"post", 
							parameters:$(formName).serialize(true),
							onSuccess:function(result) {
										var respTxt = result.responseText.strip();
										var respObj = null;
										try{
											respObj=respTxt.evalJSON(true);
										}catch(e){
											respObj = null;
										}
										if (respObj != null) {										
											Modalbox.show("<div class='mb'><h2>Thank you!</h2><p>You should receive your DVD in 7 to 10 business days, depending on the mail provider. <a href='#' title='Close this dialog' onclick='Modalbox.hide(); return false;'>Close this dialog</a>.</p></div>", {title: 'Request sent', width: 500});
										} else {
											document.getElementById(formErrors).innerHTML = respTxt;
											document.getElementById(formErrors).style.display = "block";
											Modalbox.resizeToContent();
										}
									}, 
							onFailure:function (result) {
										document.getElementById(formErrors).innerHTML = INTERNAL_SERVER_ERROR;
										document.getElementById(formErrors).style.display = "block";
										Modalbox.resizeToContent();
									}
							}
					);	
}