function hov(loc,cls){
	if (loc.className) loc.className=cls;
}

function displayInstructions(comments) {
	document.getElementById("instructions").innerHTML = comments;
}

function doPopupClock(target) {
	window.open('http://www.keloland.com/ClassLibrary/Page/News/public_displayClock.cfm?target=' + target,'instaClock','width=200,height=300,status=yes');
}

function validate_Form(x) {
	var success = validateForm(document.AddEvent);
	if (success) {
		return true;
	}
	return false;
}

function updateaction(x) {
	if (x.checked == true) {
		document.loginform.action.value='forgotpassword';
		document.loginform.submit.value='Send Password';
	}
	else {
		document.loginform.action.value='login';
		document.loginform.submit.value='Login';
	}
}

var uid = getCookie('WA_UID'); var pwd = getCookie('WA_PWD'); var save = getCookie('WA_SAVE');

function setupLoginForm() {
	var formfields = $('#loginform input[type="text"], #loginform input[type="password"], #loginform textarea, #loginform select');
	var pwreq = true;
	if ($('#loginform #emailaddress').val()=='' && uid!=null) $('#loginform #emailaddress').val(uid);
	if ($('#loginform #password').val()=='' && pwd!=null) $('#loginform #password').val(pwd);
	if (save==1) $('#loginform #rm').attr('checked','checked');
	else $('#loginform #rm').attr('checked','');
	$("#loginform #fp").click(function () { 
		if (this.checked==true) {
			$('#loginform #action').val('forgotpassword'); 
			$('#loginform #btn_submit').val('Send Password'); 
			pwreq = false;
		}
		else {
			$('#loginform #action').val('login'); 
			$('#loginform #btn_submit').val('Login'); 
			pwreq = true;
		}
		$("#loginform #password").valid();
	});
	
	formfields.focus(function() {$(this).addClass("focused"); $(this).select();});
	formfields.blur(function() {$(this).removeClass("focused");});
	
	$("#loginform").validate({
		rules: {
			EmailAddress: {required:true, email:true},
			Password: {required: function(element) {return pwreq;}}
		},
		messages: {
			EmailAddress: {required: "E-mail address is required", email: "A valid e-mail address is required"},
			Password: {required: "Password is required."}
		}
	});
}

function setupSmallLoginForm() {
	var formfields = $('#loginform input[type="text"], #loginform input[type="password"], #loginform textarea, #loginform select');
	var pwreq = true;
	if ($('#loginform #emailaddress').val()=='' && uid!=null) $('#loginform #emailaddress').val(uid);
	if ($('#loginform #password').val()=='' && pwd!=null) $('#loginform #password').val(pwd);
	if (save==1) $('#loginform #rm').attr('checked','checked');
	else $('#loginform #rm').attr('checked','');
	$("#loginform #fp").click(function () { 
		if (this.checked==true) {
			$('#loginform #action').val('forgotpassword'); 
			$('#loginform #btn_submit').val('Send Password'); 
			pwreq = false;
		}
		else {
			$('#loginform #action').val('login'); 
			$('#loginform #btn_submit').val('Login'); 
			pwreq = true;
		}
		$("#loginform #password").valid();
	});
	
	formfields.focus(function() {$(this).addClass("focused"); $(this).select();});
	formfields.blur(function() {$(this).removeClass("focused");});
	
	$("#loginform").validate({
		rules: {
			EmailAddress: {required:true, email:true},
			Password: {required: function(element) {return pwreq;}}
		},
		messages: {
			EmailAddress: {required: "E-mail address is required", email: "A valid e-mail address is required"},
			Password: {required: "Password is required."}
		}
	});
}

function setupRegistrationForm() {
	var formfields = $('#regform input[type="text"], #regform input[type="password"], #regform textarea, #regform select');
	var validscreenname = $('#regform #validscreenname');
	formfields.focus(function() {$(this).addClass("focused"); $(this).select();});
	formfields.blur(function() {$(this).removeClass("focused");});
	$("#regform #phone").mask("999-999-9999");
	$("#regform #fax").mask("999-999-9999");

	$('#regform #screenname').keyup(function () {
		var t = this; 
		validscreenname.html('');
		if ($('#regform #screenname').val().length >= 5) {
			if (this.value != this.lastValue) {
			if (this.timer) clearTimeout(this.timer);
				validscreenname.removeClass('error').html('<img src="/images/loading.gif" height="16" width="16" /> checking availability...');
				this.timer = setTimeout(function () {
					$.getJSON('/ClassLibrary/com/ushare/ushare.cfc?method=validateScreenName','screenname='+t.value,function (json) {validscreenname.html(json.MSG);}
					);
				}, 1000);
				this.lastValue = this.value;
			}
			$("#regform #screenname").valid();
		}
	});

	$("#regform").validate({
		rules: {
			FirstName: {required:true},
			LastName: {required:true},
			EmailAddress: {required:true, email:true},
			Password: {required:true, minlength:4},
			ScreenName: {required:true, minlength:5},
			Address: {required:true},
			City: {required:true},
			State: {required:true},
			Zip: {required:true},
			Age: {required:true},
			Gender: {required:true}
		},
		messages: {
			FirstName: {required: "First Name is required"},
			LastName: {required: "Last Name is required"},
			EmailAddress: {required: "E-mail address is required", email: "A valid e-mail address is required"},
			Password: {required: "Password is required.", minlength:"Your password must be at least 4 characters long"},
			ScreenName: {required: "Screen Name is required", minlength:"Screen name must be at least 5 characters long"},
			Address: {required: "Address is required"},
			City: {required: "City is required"},
			State: {required: "State is required"},
			Zip: {required: "Zip Code is required"},
			Age: {required: "Age range is required"},
			Gender: {required: "Gender is required"}
		}
	});
}

function setupDesktopDownloadForm() {
	$("#downloadform").validate({
  		errorPlacement: function(error, element) {
			error.insertAfter("#tclabel");
		},
		rules: {TermsConditions: {required:true}},
		messages: {TermsConditions: {required: "You must agree to the terms and conditions."}}
	});
}

function HasRuntimeVersion(v) {
	var va = GetVersion(v);	var i; var a = navigator.userAgent.match(/\.NET CLR [0-9.]+/g);
	if (a != null)
		for (i = 0; i < a.length; ++i)
			if (CompareVersions(va, GetVersion(a[i])) <= 0)
				return true;
	return false;
}

function GetVersion(v) {
	var a = v.match(/([0-9]+)\.([0-9]+)\.([0-9]+)/i);
	return a.slice(1);
}

function CompareVersions(v1, v2) {
	for (i = 0; i < v1.length; ++i) {
		var n1 = new Number(v1[i]);
		var n2 = new Number(v2[i]);
		if (n1 < n2)
			return -1;
		if (n1 > n2)
			return 1;
	}
	return 0;
}
