

var isRegPassValid = false;
var isSignInPassValid = false;
var emailMatchedFlag = '';
function registerGoldCard(){
	clearExistingErrors();
	refreshScreen();
	document.getElementById("operation").value = 'goldCardRegister';
	clearSignInFields();
	if(!validateGoldCardSignInActionForm(document.GoldCardSignInActionForm)){
		$(function(){
					$(window).openDOMWindow({ 
					    eventType:null,
					    borderSize: 0,
					    width: 750,
					    height: 500,
					    windowBGColor: 'none',
					    windowSourceID:'#errorMessage' 
					});
					});
	initSelectivelyRegClamShell();
	$("#testme").show();
			return;
	}
	var pass = trimAll($('#regPassword').val())
   	var goldCardNumber = new ParameterBean('signinVO.goldCardNumber',$('#regGoldcardNum').val());
    var email = new ParameterBean('signinVO.email',$('#regEmail').val());
    var address = new ParameterBean('signinVO.address',$('#regAddress').val());
    var city = new ParameterBean('signinVO.city',$('#regCity').val());
    var state = new ParameterBean('signinVO.state',$('#regState').val());
    var zip = new ParameterBean('signinVO.zip',$('#regZip').val());
    var captchaSecurityCode = new ParameterBean('signinVO.captchaSecurityCode',$('#regCaptcha').val());
    var countryCode = new ParameterBean('countryCode',$('#countryCode').val());
    var languageCode = new ParameterBean('languageCode',$('#languageCode').val());
    var sessionString = new ParameterBean('sessionString',$('#sessionStringId').val());
    var username = new ParameterBean('signinVO.username',$('#regUsername').val());
    var password = new ParameterBean('signinVO.password',pass);
    var signUser = new ParameterBean('signinVO.signInUsername','');
    var signPass = new ParameterBean('signinVO.signInPassword','');
    var signCaptcha = new ParameterBean('signinVO.signCaptchaSecurityCode','');
    var flagFlowMode = new ParameterBean('flowMode','registrationFlow');
    var vEmailMatchedFlag = new ParameterBean('signinVO.userConsentEmailUpdateFlag',emailMatchedFlag);
    
    var functionBean = new FunctionBean('GCRegistration', countryCode, languageCode, sessionString,goldCardNumber,email,address,city,state,zip,username,password,flagFlowMode,captchaSecurityCode,signUser,signPass,signCaptcha,vEmailMatchedFlag);	
	var functionList = new Array();
	functionList[0] = functionBean;
	$('#regButton').attr("disabled", "true"); 
	registerGoldCard_errFlag=false;
	callWaitingMessage();
	SpiderLiteManager.spiderLiteCall(functionList, {errorHandler:function(msg,ex){registerGoldCard_errFlag=true;registerGoldCardCallback(null);}, callback:registerGoldCardCallback,timeout:120000});
}

function registerGoldCardCallback(data){
	setEmailMatched('');
	hideWaitingMessage();
	if(data == null){
		registerGoldCard_errFlag=true;
		obj = document.getElementById("globalErrorMessage_unknownError");
		obj.style.display="block";
		createErrMessageDiv(obj, document.getElementById('defaultErrMsg').value);
		handleRegisterGoldCardCallbackError();
		return;
	}
	
	var serverSideErrors = data.GCRegistration.serverSideErrorList;
	var isServerSideErr = false;
	$('#regButton').attr("disabled", "true"); 
	var isServerSideErr = displayServerErrors(serverSideErrors);
	if (isServerSideErr == false){
		var response = data.GCRegistration
		if(response['flagSuccess'] == true){
			document.getElementById('operation').value = "goldCardRegister";
			$('#regButton').removeAttr("disabled");
			if(response['oldGoldCardNumber'] != null){
				$('#hOldGoldNumber').val(response['oldGoldCardNumber']);
				headerGoToPage("/WUCOMWEB/ActionNeededAction.do?method=load","load");
			}else{
				setOmnitureDetail('RegConfirm');
				initRegClamShell();
				$(function(){
					$(window).openDOMWindow({ 
					    eventType:null,
					    borderSize: 0,
					    width: 750,
					    height: 500,
					    windowBGColor: 'none',
					    windowSourceID:'#errorMessage'
					});
					});
					$("#confirmMsg").show();
					return;
			}
		}
		
	}else{
		if(data.GCRegistration.captchaError == true){
			document.getElementById("imagecpt").src="captcha?" + Math.random();
		}
		if (data.GCRegistration.emailMatchedFlag == 'false'){
			popUpEmailUpdate();
		}
		else{
			handleRegisterGoldCardCallbackError();
		}
	}
}

function handleRegisterGoldCardCallbackError(){

	$('#regButton').removeAttr("disabled");
	$(function(){
					$(window).openDOMWindow({ 
					    eventType:null,
					    borderSize: 0,
					    width: 750,
					    height: 500,
					    windowBGColor: 'none',
					    windowSourceID:'#errorMessage' 
					});
					});
	$("#testme").show();
    return;
}


function reActivateGoldCard(){
	refreshScreen();
	if(validateGoldCardSignInActionForm(document.GoldCardSignInActionForm)){
		var goldCardNumber = new ParameterBean('signinVO.goldCardNumber',$('#eGoldCardNum').val());
    	var email = new ParameterBean('signinVO.email',$('#eEmailAdd').val());
    	var countryCode = new ParameterBean('countryCode',$('#countryCode').val());
    	var languageCode = new ParameterBean('languageCode',$('#languageCode').val());
    	var sessionString = new ParameterBean('sessionString',$('#sessionStringId').val());
    	var oldGCNumber = new ParameterBean('signinVO.oldGCNumber',$('#oldGCNumber').val());
    	if($('#oldGCNumber').val() != $('#eGoldCardNum').val()){
    		$('#eFlowMode').val('reActivateGCChangeFlow');
    	}
    	var flowMode = new ParameterBean('flowMode',$('#eFlowMode').val());
    	var activationStatus = new ParameterBean('signinVO.activationStatus',$('#eStatus').val());
    	var functionBean = new FunctionBean('GCResendActivationUrl', countryCode, languageCode, sessionString,goldCardNumber,email,flowMode,activationStatus);	
    	var functionList = new Array();
		functionList[0] = functionBean;
		$('#subButton').attr("disabled", "true"); 
		reActivateGoldCard_errFlag=false;
		SpiderLiteManager.spiderLiteCall(functionList, {errorHandler:function(msg,ex){reActivateGoldCard_errFlag=true;reActivateGoldCardCallback(null);}, callback:reActivateGoldCardCallback,timeout:120000});
    	
	}else{
		$(function(){
					$(window).openDOMWindow({ 
					    eventType:null,
					    borderSize: 0,
					    width: 750,
					    height: 500,
					    windowBGColor: 'none',
					    windowSourceID:'#errorMessage' 
					});
					});
	
			
			return;
	}
	
}

function reActivateGoldCardCallback(data){
	if(data == null){
	
		obj = document.getElementById("globalErrorMessage_unknownError");
		obj.style.display="block";
		createErrMessageDiv(obj, document.getElementById('defaultErrMsg').value);
		handleReActivateGoldCardCallbackError();
		
	}else{
		var serverSideErrors = data.GCResendActivationUrl.serverSideErrorList;
		var isServerSideErr = false;
		var isServerSideErr = displayServerErrors(serverSideErrors);
		var response = data.GCResendActivationUrl;
		if (isServerSideErr == false){
			if(response['flagSuccess'] == true){
				if(response['flowMode'] == 'reActivateGCChangeFlow'){
					headerGoToPage("/WUCOMWEB/ActionNeededAction.do?method=load","load");
					return;
				}
				setOmnitureDetail('ResendActivationURLConfirm');
				$('#subButton').removeAttr("disabled");
					$('#eEmailAdd').val("");
					$(function(){
						$(window).openDOMWindow({ 
						    eventType:null,
						    borderSize: 0,
						    width: 750,
						    height: 500,
						    windowBGColor: 'none',
						    windowSourceID:'#goldCardRegConfirmMessage'
						});
						});
						$("#testme").show();
						return;
			}
		
		}else{
			handleReActivateGoldCardCallbackError();
		}
	}
}

function handleReActivateGoldCardCallbackError(){
	$('#subButton').removeAttr("disabled");
	$(function(){
					$(window).openDOMWindow({ 
					    eventType:null,
					    borderSize: 0,
					    width: 750,
					    height: 500,
					    windowBGColor: 'none',
					    windowSourceID:'#errorMessage' 
					});
					});
					
					$("#testme").show();
					return;
}


function submitGoldCardSignIn(){
	
	clearExistingErrors();
	document.getElementById("operation").value = 'signIn';
	clearRegisterFields();
	if(validateGoldCardSignInActionForm(document.GoldCardSignInActionForm)){
		refreshScreen();
		var countryCode = new ParameterBean('countryCode',$('#countryCode').val());
	    var languageCode = new ParameterBean('languageCode',$('#languageCode').val());
	    var sessionString = new ParameterBean('sessionString',$('#sessionStringId').val());
		var username = new ParameterBean('signinVO.signInUsername',$('#logUsername').val());
	    var password = new ParameterBean('signinVO.signInPassword',$('#logPassword').val());
	    var regUser = new ParameterBean('signinVO.username','');
	    var regPass = new ParameterBean('signinVO.password','');
	    var flagFlowMode = new ParameterBean('flowMode','signInFlow');
	    var captchaSecurityCode = new ParameterBean('signinVO.signCaptchaSecurityCode',$('#captchaSignInId').val());
	    var regCaptcha = new ParameterBean('signinVO.captchaSecurityCode','');
	    var functionBean = new FunctionBean('GCSignIn', countryCode, languageCode, sessionString,username,password,flagFlowMode,captchaSecurityCode,regUser,regPass,regCaptcha);	
		var functionList = new Array();
		functionList[0] = functionBean;
		signInGoldCard_errFlag=false;
		callWaitingMessage();
		SpiderLiteManager.spiderLiteCall(functionList, {errorHandler:function(msg,ex){signInGoldCard_errFlag=true;GCSignInCallBack(null);}, callback:GCSignInCallBack,timeout:120000});
	}
	else
	{
		$(function(){
					$(window).openDOMWindow({ 
					    eventType:null,
					    borderSize: 0,
					    width: 750,
					    height: 500,
					    windowBGColor: 'none',
					    windowSourceID:'#errorMessage'
					});
					});
		initSelectivelySigninClamShell();
					$("#testme").show();
	}
	
}

function GCSignInCallBack(data)
{
	
	if(data == null){
		obj = document.getElementById("globalErrorMessage_unknownError");
		obj.style.display="block";
		createErrMessageDiv(obj, document.getElementById('defaultErrMsg').value);
		document.getElementById("imagecpt").src="captcha?" + Math.random();
		signInGoldCard_errFlag=true;
		$("#testme").show();
		return;
	}
	var serverSideErrors = data.GCSignIn.serverSideErrorList;
	var isServerSideErr = false;
	var isServerSideErr = displayServerErrors(serverSideErrors);
	if (isServerSideErr == false){
		
		if(data.GCSignIn['flagSuccess'] == true){
			if(data.GCSignIn['flowMode']=='activateGoldCard'){
				document.getElementById("flowModeId").value='activateGoldCard';
				document.GoldCardSignInActionForm.action = '/WUCOMWEB/ActivateGoldCardAction.do?method=load';
				document.GoldCardSignInActionForm.submit();
				return;
			}
			else{
				document.getElementById("operation").value = 'signIn';
				headerGoToPage("/WUCOMWEB/GoldcardPointsLookUpAction.do?method=load","load");
			}
		}
	}else{
		if(data.GCSignIn.errorBean.errorCode == 'G0125'){
				document.getElementById("flowModeId").value='dormantUser';
				headerGoToPage("/WUCOMWEB/GoldCardForgotPwd.do?method=load","load");
				return;
		}
		if(data.GCSignIn.errorBean.errorCode == 'G0124'){
				document.getElementById("flowModeId").value='reActivateFlow';
				document.getElementById("errorCodeId").value='G0124';
				$('#regGoldcardNum').val(data.GCSignIn['goldCardNumber']);
				$('#hOldGoldNumber').val(data.GCSignIn['goldCardNumber']);
				document.GoldCardSignInActionForm.action = '/WUCOMWEB/ActivateGoldCardAction.do?method=load';
				document.GoldCardSignInActionForm.submit();
				return;
		}
		document.getElementById("imagecpt").src="captcha?" + Math.random();
		$(function(){
					hideWaitingMessage();
					$(window).openDOMWindow({ 
					    eventType:null,
					    borderSize: 0,
					    width: 750,
					    height: 500,
					    windowBGColor: 'none',
					    windowSourceID:'#errorMessage'
					});
					});
					
					$("#testme").show();
					return;
	}
}

function clearRegisterFields(){
	document.getElementById("regPassword").value = '';
	document.getElementById("regUsername").value = '';
	document.getElementById("regGoldcardNum").value = '';
	document.getElementById("regEmail").value = '';
	if(document.getElementById("logUsername").value == 'UserName')
	{
		document.getElementById("logUsername").value = '';
		
	}
	if(isSignInPassValid == false){
		document.getElementById("logPassword").value = '';		
	}
	if($('#captchaSignInId').val()=="CAPTCHA"){
		$('#captchaSignInId').val("");
	}
	if(document.getElementById("regAddress").value == 'Address or P.O. Box'){
		document.getElementById("regAddress").value = '';
	}
	if(document.getElementById("regCity").value == 'City'){
		document.getElementById("regCity").value = '';
	}
	if(document.getElementById("regZip").value == 'Zip'){
		document.getElementById("regZip").value = '';
	}
}

function clearSignInFields(){
	document.getElementById("logUsername").value = '';
	document.getElementById("logPassword").value = '';
	if(isRegPassValid==false)
	{
		document.getElementById("regPassword").value = '';
	}
	if(document.getElementById("regUsername").value == 'Create User Name'){
		document.getElementById("regUsername").value = '';
	}
	if(document.getElementById("regUsername").value == 'User Name'){
		document.getElementById("regUsername").value = '';
	}
	if(document.getElementById("regEmail").value == 'Email Address'){
		document.getElementById("regEmail").value = '';
	}
	if(document.getElementById("regGoldcardNum").value == 'Gold Card Number'){
		document.getElementById("regGoldcardNum").value = '';
	}
	if(document.getElementById("regAddress").value == 'Address or P.O. Box'){
		document.getElementById("regAddress").value = '';
	}
	if(document.getElementById("regCity").value == 'City'){
		document.getElementById("regCity").value = '';
	}
	if(document.getElementById("regZip").value == 'Zip'){
		document.getElementById("regZip").value = '';
	}
	if($('#regCaptcha').val()=="CAPTCHA"){
		$('#regCaptcha').val("");
	}	
}

function saveAlternateGoldCard(){
	
	var countryCode = new ParameterBean('countryCode',$('#countryCode').val());
	var languageCode = new ParameterBean('languageCode',$('#languageCode').val());
	var sessionString = new ParameterBean('sessionString',$('#sessionStringId').val());
	var flowMode = new ParameterBean('flowMode',"reActivateGCChangeFlow");
	var functionBean = new FunctionBean('GCSaveAlternateGoldCard', countryCode, languageCode, sessionString,flowMode);	
	var functionList = new Array();
	functionList[0] = functionBean;
	$('#subButton').attr("disabled", "true"); 
	saveAlternateGoldCard_errFlag=false;
	SpiderLiteManager.spiderLiteCall(functionList, {errorHandler:function(msg,ex){saveAlternateGoldCard_errFlag=true;saveAlternateCallback(null);}, callback:saveAlternateCallback,timeout:120000});
	
}

function saveAlternateCallback(data){
	if(data == null){
		
		obj = document.getElementById("globalErrorMessage_unknownError");
		obj.style.display="block";
		createErrMessageDiv(obj, document.getElementById('defaultErrMsg').value);
		handleSaveAlternateCallback();
	}else{
		var serverSideErrors = data.GCSaveAlternateGoldCard.serverSideErrorList;
		var isServerSideErr = false;
		var isServerSideErr = displayServerErrors(serverSideErrors);
		if (isServerSideErr == false){
			
			var response = data.GCSaveAlternateGoldCard
			if(response['flagSuccess'] == true){
				setOmnitureDetail('AlternateCardConfirm');
				$('#subButton').removeAttr("disabled");
					$(function(){
						$(window).openDOMWindow({ 
						    eventType:null,
						    borderSize: 0,
						    width: 750,
						    height: 500,
						    windowBGColor: 'none',
						    windowSourceID:'#goldCardAlternateCardConfirmMsg'
						});
						});
						
						return;
			}
		
		}else{
			handleSaveAlternateCallback();
		}
	}
}

function handleSaveAlternateCallback(){
	$('#subButton').removeAttr("disabled");
}

function initRegClamShell(){
$('#regGoldcardNum').val('Gold Card Number'); 
$('#regEmail').val('Email Address');
$('#regAddress').val('Address or P.O. Box');
$('#regCity').val('City');
$('#regZip').val('Zip');    
$('#regUsername').val('User Name');
$('#regPassword').val("Password");
toggleRegPasswordType(false);
$('#regCaptcha').val("");
$('#regState').val("");


}

function initSigninClamShell(){
$('#logUsername').val('UserName'); 
$('#logPassword').val(""); 
toggleSignInPasswordType(false);
$('#captchaSignInId').val("");
}

function isSiginPassEntered(sPass){
	if(sPass != null && sPass.value != ""){
		isSignInPassValid = true;
	}
	else{
		isSignInPassValid = false;
	}
	if(!isSignInPassValid)
		toggleSignInPasswordType(false)
}

function isRegPassEntered(rPass){
	
	if(rPass != null && rPass.value != ""){
		isRegPassValid = true;
	}
	else{
		isRegPassValid = false;
	}
	if(!isRegPassValid)
		toggleRegPasswordType(false)
}
function callWaitingMessage() {
	$(function(){
			$(window).openDOMWindow({ 
			    eventType:null,
			    borderSize: 0,
			    width: 750,
			    height: 500,
			    windowBGColor: 'none',
			    windowSourceID:'#errorMessage'
			});
		});
	$("#divAjaxWaitingMsg").show();
	return false;
}		
function hideWaitingMessage() {

	$("#divAjaxWaitingMsg").hide();
}

function initSelectivelyRegClamShell(){

    if($('#regGoldcardNum').val()==""){
		$('#regGoldcardNum').val('Gold Card Number');
	}
	if($('#regAddress').val()==""){
    	$('#regAddress').val('Address or P.O. Box');
    }
    if($('#regCity').val()==""){
     	$('#regCity').val('City');
    }
    if($('#regZip').val()==""){
    	$('#regZip').val('Zip');
    	}
    if($('#regEmail').val()==""){	      
		$('#regEmail').val('Email Address'); 
		}
	if($('#regUsername').val()==""){
		$('#regUsername').val('User Name'); 
		}
	if($('#regPassword').val()==""){
		toggleRegPasswordType(false);
		$('#regPasswordText').val('Password');
	}
	if($('#regCaptcha').val()==""){
    	$('#regCaptcha').val(''); 
    	}
}
function initSelectivelySigninClamShell(){
if($('#logUsername').val()=="")
	$('#logUsername').val('UserName');
if($('#logPassword').val()=="") {
	toggleSignInPasswordType(false);
	$('#signInPasswordText').val('Password');
}
}

function toggleRegPasswordType(isPassType){
	if(isPassType){
		$("#regPasswordText").attr("tabindex","2");
		$('#regPasswordText').hide();
		$("#regPassword").attr("tabindex","2");
		$('#regPassword').show();
	}else{
		$("#regPassword").attr("tabindex","2");
		$('#regPassword').hide();
		$("#regPasswordText").attr("tabindex","2");
		$('#regPasswordText').show();
		$('#regPasswordText').val('Password')
		
	}
	
}

function toggleSignInPasswordType(isPassType){
	if(isPassType){
		$("#signInPasswordText").attr("tabindex","200");
		$('#signInPasswordText').hide();
		$("#logPassword").attr("tabindex","11");
		$('#logPassword').show();
	}else{
		$("#logPassword").attr("tabindex","200");
		$('#logPassword').hide();
		$("#signInPasswordText").attr("tabindex","11");
		$('#signInPasswordText').show();
		$('#signInPasswordText').val('Password')
	}
}

function setRegPasswordTypeField(){
	$("#regPasswordText").attr("tabindex","2");
	$('#regPasswordText').hide();
	$("#regPassword").attr("tabindex","2");
	$('#regPassword').show();
	$('#regPassword').val('');
	$('#regPassword').focus();
	
}

function setSignInPasswordTypeField(){
	$("#signInPasswordText").attr("tabindex","200");
	$('#signInPasswordText').hide();
	$("#logPassword").attr("tabindex","11");
	$('#logPassword').show();
	$('#logPassword').focus();
}
	
	
function popUpEmailUpdate(){
	$(function(){
		$(window).openDOMWindow({ 
		    eventType:null,
		    borderSize: 0,
		    width: 750,
		    height: 500,
		    windowBGColor: 'none',
		    windowSourceID:'#errorMessage'
		});
	});
	$("#confirmationMessageEmailUpdate").show();
	return;
}
					
function setEmailMatched(emailMatched){
	emailMatchedFlag = emailMatched;
	$("#confirmationMessageEmailUpdate").hide();

}