function isEmailAddress(string){
	return /^[^@]+@[^.]+(\.[^.]+)+$/.test(string);
}

function validate(form){
	var controls = form.elements, emailAddress = controls['Email'].value;
	termsAccept = controls['acceptTerm'].checked;
	
	/* Validate other controls */
	
	if (!isEmailAddress(emailAddress)) {
		alert('Please enter your e-mail address.');
		return false;
	}
	if (emailAddress != controls['EmailConf'].value) {
		alert('You may have mistyped your e-mail address.' +
		' Please check both fields carefully and try again.');
		return false;
	}
	
	if (!termsAccept) {
		alert('You must accept the terms');
		return false;
	}
	
	return true;
}

function validateSS(form){
	var controls = form.elements;
	
	if (form.elements['Email']) {
		var emailAddress = controls['Email'].value;
	}
	var termsAccept = controls['acceptTerm'].checked;
	var selectedName = controls['ByNameRadio'];
	var comment = controls['StoryBody'].value;
	var uName = '';
	
	
	selectedName = getCheckedValue(selectedName);
	if (selectedName == 'byName') {
		uName = controls['ByName'].value;
	}else{
		uName = controls['Username'].value;		
	}
	
	if(!uName.length){
		alert('Please enter your name or name or username');
		return false;		
	}	
	
	if (form.elements['Email']) {
		/* Validate other controls */
		if (!isEmailAddress(emailAddress)) {
			alert('Please enter your e-mail address.');
			return false;
		}
		if (emailAddress != controls['EmailConf'].value) {
			alert('You may have mistyped your e-mail address.' +
			' Please check both fields carefully and try again.');
			return false;
		}
	}
	
	if(!comment.length){
		alert('Please submit your story');
		return false;
		
	}
	
	if (!termsAccept) {
		alert('You must accept the terms');
		return false;
	}
	
	return true;
}


function validateNL(form){
	var controls = form.elements;
	var emailAddress = controls['Email'].value;
	var uName = controls['memberName'].value;
	
	/* Validate other controls */
	
	if(!uName.length){
		alert('Please enter your name');
		return false;
	}
	
	if (!isEmailAddress(emailAddress)) {
		alert('Please enter your e-mail address.');
		return false;
	}
	
	/* More validation */
	
	return true;
}

function validateContact(form,status){
	var controls = form.elements
	var emailAddress = '';
	var subject = controls['FeedbackTitle'].value;
	var comment = controls['FeedbackBody'].value;
	
	
	
	if (!status) {
		emailAddress = controls['Email'].value;
		/* Validate other controls */
		
		if (!isEmailAddress(emailAddress)) {
			alert('Please enter your e-mail address.');
			return false;
		}
		if (emailAddress != controls['EmailConf'].value) {
			alert('You may have mistyped your e-mail address.' +
			' Please check both fields carefully and try again.');
			return false;
		}
	}
	
	if (!subject.length) {
		alert('Please submit a subject');
		return false;
	}
	
	if (!comment.length) {
		alert('Please submit a comment');
		return false;
	}
	
	/* More validation */
	
	return true;
}

function validateAdvice(form){
	var controls = form.elements;
	if (form.elements['Email']) {
		var emailAddress = controls['Email'].value;
	}
	var comment = controls['AdviceBody'].value;
	var termsAccept = controls['acceptTerm'].checked;
	var selectedName = controls['ByNameRadio'];
	var uName = '';	
	/* Validate other controls */
	
	
	selectedName = getCheckedValue(selectedName);
	if (selectedName == 'byName') {
		uName = controls['ByName'].value;
	}else{
		uName = controls['Username'].value;		
	}
	
	if(!uName.length){
		alert('Please enter your name or name or username');
		return false;		
	}	
	
	if (form.elements['Email']) {
		if (!isEmailAddress(emailAddress)) {
			alert('Please enter your e-mail address.');
			return false;
		}
		if (emailAddress != controls['EmailConf'].value) {
			alert('You may have mistyped your e-mail address.' +
			' Please check both fields carefully and try again.');
			return false;
		}
	}
	
	
	
	
	if (!comment.length) {
		alert('Please submit a question');
		return false;
	}
	
	if (!termsAccept) {
		alert('You must accept the terms');
		return false;
	}
	
	/* More validation */
	
	return true;
}

function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

function textCounter(field, countfield, maxlimit)
{
	try
	{
		if ( field.value.length > maxlimit ) // too long...trim it!
		{
			field.value = field.value.substring(0, maxlimit);
		}
			
		else // otherwise, update 'characters left' counter
		{
			document.getElementById(countfield).value = maxlimit - field.value.length;
		}
	}
	catch (err) {}	
	return true;
}

function isDefined( variable)
{
    return (typeof(window[variable]) == "undefined")?  false: true;
}

