// contest functions - AR and UPC flow

/****** WEBCAM SELECT ******/

function webcamSelectLoaded(responseText, textStatus, XMLHttpRequest) {
	htmlContentFullLoaded(responseText, textStatus, XMLHttpRequest);
}

// temp switcher function
function setWebcam(webcam) {
	if (webcam == true) {
		contestType = "AR";
		omniture("?event=event5");
	} else {
		contestType = "UPC";
		omniture("?event=event6");
	}
	setLocation('/contest/2');
}

/***** END WEBCAM SELECT *****/

/***** CONTEST FORM - AR FLOW ******/

function contestARLoaded(responseText, textStatus, XMLHttpRequest) {
	$("#html-content .container").css("height","425px");
	$("#html-content").css("top","100px");
	$("#slider-bg").css("margin-left", "643px");
	$("#slider").css("margin-left", "642px");
	omniture("?event=event7");
	Recaptcha.create(recaptcha_key.public, "recaptcha", {theme:"blackglass",lang:lang});
	
	htmlContentLoaded(responseText, textStatus, XMLHttpRequest);
}

function skipContest() {
	setUserData("0", "", lang);
	htmlEvent("showARInstructions");
}

/***** END CONTEST FORM - AR FLOW *****/

/***** CONTEST FORM - UPC FLOW *****/

function contestUPCLoaded(responseText, textStatus, XMLHttpRequest) {
	$("#html-content .container").css("height","425px");
	$("#html-content").css("top","100px");
	$("#slider-bg").css("margin-left", "643px");
	$("#slider").css("margin-left", "642px");
	omniture("?event=event7");
	Recaptcha.create(recaptcha_key.public, "recaptcha", {theme:"blackglass",lang:lang});
	
	$("#html-content form #upc").focus(function() {
		var regex=/[A-Za-z]/g;
		if (regex.test($(this).val())) {
			$(this).val("");
		}
	});
	
	htmlContentLoaded(responseText, textStatus, XMLHttpRequest);
}

/***** END CONTEST FORM - UPC FLOW *****/

/***** CONTEST REGISTRATION PROCESSING *****/

function submitRegistration() {
	$("#html-content form #dob").val(contestDOB);
	$("#html-content form #language").val(lang.toUpperCase());
	if (contestType == "UPC") {
		if ($("#html-content form #host-m").attr("checked")) {
			contestHost = "m";
		} else {
			contestHost = "f";			
		}
	}
	
	$.post(api_paths.register, $("#html-content form").serialize(), function(data) {
		$(".errors").hide();
		if (data.success == "false") {
			// show errors
			if ("errors" in data) {
				if ("recaptcha_error" in data) {
					data.errors.push(data.recaptcha_error);
				}
				showRegistrationErrors(data.errors);
			} else if ("recaptcha_error" in data) {
				showRegistrationErrors(new Array(data.recaptcha_error));
			}
			Recaptcha.create(recaptcha_key.public, "recaptcha", {theme:"blackglass",lang:lang});
		} else if (data.success == "true") {
			omniture("?event=event3");
			omniture("?event=event8");
			// set user data cookie
			setUserData(data.id, data.email, data.language);
			// redirect to next step
			registrationComplete();
		}
	}, "json");
}

function setUserData(id, email, language) {
	var user_id = id;
	var user_email = email;
	var user_language = language;
	var user_data = user_id + "|" + user_email + "|" + user_language;
	$.cookie('Dentyne_user', user_data, { path: '/' });	
}

function getUserData() {
	var user_data = $.cookie('Dentyne_user');
	var user_array = user_data.split("|");
	return {id:user_array[0],email:user_array[1],language:user_array[2]};
}

function showRegistrationErrors(errorArray) {
	$(".errors").html("");
	for (var i = 0; i < errorArray.length; i++) {
		var error = $("<li class='error'>" + errorArray[i] + "</li>");
		$(".errors").append(error);
	}
	$(".errors").show();
	htmlContentLoaded(); // resize scrollable area
}

function registrationComplete() {
	setLocation('/contest/3');
}

/***** END CONTEST REGISTRATION PROCESSING *****/

/***** UPC INSTANT WIN CHECK *****/

function upcInstantWinCheckLoaded(responseText, textStatus, XMLHttpRequest) {
	instantWinCheck(getUserData().id, upcWinner, upcLoser);
	
	htmlContentFullLoaded(responseText, textStatus, XMLHttpRequest);
}

function upcWinner(prize_id, prize_desc, skill_question_id, skill_question) {
	thisMovie("flash-object").instantWinVideo(prize_desc, contestHost);
}

function upcLoser() {
	thisMovie("flash-object").instantWinVideo("0", contestHost);
}

/***** END UPC INSTANT WIN CHECK *****/

/***** AR INSTRUCTIONS *****/

function instructionsLoaded(responseText, textStatus, XMLHttpRequest) {
	omniture("?event=event22");
	htmlContentFullLoaded(responseText, textStatus, XMLHttpRequest);
}

function instructionsRead() {
	// push back to flash to request screen animation
	closeHTMLContent();
	thisMovie("flash-object").openScreen();
}

/***** END AR INSTRUCTIONS *****/

