// JavaScript Document
var $err_ = "<img src='images/error_icon.gif' alt='' align='absmiddle' /> ";
var $hint_ = "<img src='images/hint_icon.gif' alt='' align='absmiddle' /> ";

function hide_hint() {
	document.getElementById("hint_dialog").innerHTML = "";
	document.getElementById("hint_dialog").style.backgroundColor = "#fff";
	document.getElementById("hint_dialog").style.display = "block";
}

function show_hint(state, err_msg) {

	document.getElementById("hint_dialog").style.display = "block";
	document.getElementById("hint_dialog").style.backgroundColor = "#ffc";
	if(err_msg == "undefined")
		err_msg = "";

	switch(state) {
		case "err": 
		document.getElementById("hint_dialog").style.color = "#f00";
		break;
		
		case "hint":
		if(err_msg != "")
			err_msg = $hint_ + err_msg;
		else
			err_msg = $hint_ + "Click on the appropriate time slots to view the replay";
		document.getElementById("hint_dialog").style.color = "#36c";
		break;
		
		case "process":
		document.getElementById("hint_dialog").style.color = "#360";
		break;
		
		default: 
		break;
	}
	
	document.getElementById("hint_dialog").innerHTML = err_msg;
}

function check_id(obj, evt, state) {
	// <!-- code comment --> // alert(evt.keyCode);
	if((evt.keyCode > 112 && evt.keyCode < 126) || (evt.keyCode > 95 && evt.keyCode < 106) || (evt.keyCode > 32 && evt.keyCode < 40) || (evt.keyCode > 44 && evt.keyCode < 58) || (evt.keyCode > 15 && evt.keyCode < 21) || evt.keyCode == 9 || evt.keyCode == 8 || evt.keyCode == 27 || evt.keyCode == 13 || evt.keyCode == 188) {
		hide_hint();
		return true;
	}
	else {
		err_msg = $err_ + "Student ID should contain only numbers <b>[ 0 - 9 ]</b>";
		show_hint("err", err_msg);
		event.returnValue = false;
	}
}



function apply_styles() {
	if( navigator.userAgent.indexOf("MSIE") > 0 )
		document.write("<link href='style/replay_ie.css' type='text/css' rel='stylesheet' media='screen' />");
	else
		document.write("<link href='style/replay_fx.css' type='text/css' rel='stylesheet' media='screen' />");
}

function validate_login() {
	var err_msg = "";
	var formAccess = document.login;
	
	form_length:
	for(iterator = 0; iterator < formAccess.elements.length; iterator++)
		if(formAccess.elements[iterator].value == "") {
			switch(formAccess.elements[iterator].name) {
				case "username":
					err_msg = $err_ + "Username cannot be empty";
					break form_length;
					break;

				case "password":
					err_msg = $err_ + "Password cannot be empty";
					break form_length;
					break;
					
				default: break;
			}
		}
	if(err_msg != "") {
		show_hint("err", err_msg);
		formAccess.elements[iterator].focus();
		return false;
	} else {
		err_msg = "Logging in...";
		show_hint("process", err_msg);
		return true;
	}
}

// Date retreival function
function retreive_date() {
	
	//declarations
	var learnies_dot_com = new Date();
	var day = learnies_dot_com.getDay();
	var month = learnies_dot_com.getMonth();
	var date = learnies_dot_com.getDate();
	var year = learnies_dot_com.getFullYear();
	var date_header = day + ", " + month + " " + date + ", " + year; 
	var lit_day = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
	var lit_month = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
	//assign date information
	day = lit_day[day];
	month = lit_month[month];
	date_header = day + ", " + month + " " + date + ", " + year; 
	return(date_header);
}


function translate_key(host_key) {
	switch(host_key) {

		case "first_name": 
		return "First Name";
		break;

		case "last_name": 
		return "Last Name";
		break;
		
		case "parent_username": 
		return "Username";
		break;

		case "parent_password": 
		return "Password";
		break;

		case "confirm_parent_password": 
		return "Confirm Password";
		break;

		case "e_mail_id": 
		return "e-mail ID";
		break;

		case "student_id": 
		return "Student ID";
		break;

		case "hint_ans": 
		return "Hint Answer";
		break;
		
		default:
		break;
	}
	
}

function validate_registration() {
	var formAccess = document.forms[0];
	isFormComplete = true;
	var err_msg = "";

	hide_hint();
	for(iterator = 0; iterator < formAccess.elements.length; iterator++) {
		if(formAccess.elements[iterator].value == "") {
			isFormComplete = false;
			err_msg = $err_ + translate_key(formAccess.elements[iterator].name) + " cannot be empty.";
			formAccess.elements[iterator].focus();
			break;
		}
	}
	
	// check for a valid username
	var filter = /\D\W/;
	if(isFormComplete && filter.test(formAccess.parent_username.value)) {
		err_msg = $err_ + "Username can contain only alphabets <b>[a-z]</b> and / or numbers <b>[0-9]</b>.";
		isFormComplete = false;
		formAccess.parent_username.focus();
	}
	
	
	// check for a password confirmation
	if(isFormComplete)
		if(formAccess.parent_password.value.length >= 6 && formAccess.confirm_parent_password.value.length >= 6) {
			if(formAccess.parent_password.value != formAccess.confirm_parent_password.value) {
				err_msg = $err_ + "Password confirmation does not match.";
				isFormComplete = false;
				formAccess.parent_password.focus();
			}
		} else {
			err_msg = $err_ + "Password should contain a minimum of 6 characters.";
			isFormComplete = false;
			if(formAccess.parent_password.value.length >= 6)
				formAccess.confirm_parent_password.focus();
			else
				formAccess.parent_password.focus();
		}
	

	// check for a valid e-mail ID
	var filter = /^.+@.+\..{2,}$/;
	if(isFormComplete && !filter.test(formAccess.e_mail_id.value)) {
		err_msg = $err_ + "e-mail ID is not valid.";
		isFormComplete = false;
		formAccess.e_mail_id.focus();
	}

	/*
	// check for a valid Student ID
	if(!isNaN(formAccess.student_id.value)) {
		// do something
	} else {
		err_msg = $err_ + "e-mail ID is not valid.";
		isFormComplete = false;
		formAccess.e_mail_id.focus();
	}
	*/
	
	
	// Submit the completed registration
	if(isFormComplete) {
		show_hint("process", "Submitting your registration...")
		// alert("! Form Submitted !");
		return true;
	}
	else {
		show_hint("err", err_msg);
		return false;
	}
}