/**
 *	Check and submit form for posting a comment
 * 
 */
function checkAndSubmitComments(element, requiredFields) {

	var allValid = true;

	allValid = formCheck(element, requiredFields);
	
	if (!maxCharactersCheck(document.getElementById('comment'), 650)) {
		allValid = false;
		showErrorField('comment_overflow');
	}
	else {
		hideErrorField('comment_overflow');
	}

	if (!checkEmail('email')) {
		allValid = false;
		showErrorField('email');
	}
	else {
		hideErrorField('email');
	}

	return actionForForm(element, allValid);
} 

/**
 *	Check and submit form for sending an e-mail to friend
 * 
 */
function checkAndSubmitSendToFriend(element, requiredFields) {
	
	var allValid = true;

	allValid = formCheck(element, requiredFields);
	
	if (!checkEmail('mailfriend_receipant_email')) {
		allValid = false;
		showErrorField('mailfriend_receipant_email');
	}
	else {
		hideErrorField('mailfriend_receipant_email');
	}

	if (!checkEmail('mailfriend_sender_email')) {
		allValid = false;
		showErrorField('mailfriend_sender_email');
	}
	else {
		hideErrorField('mailfriend_sender_email');
	}

return actionForForm(element, allValid);
}

/**
 *	Check the form to be submitted on required fields
 * 
 */
function formCheck (element, requiredFields)
{
	var allValid = true;
	var fieldsArray = requiredFields.split(",");
	
	for (i=0; i<fieldsArray.length; i++) {
	
	    if(fieldIsEmpty(fieldsArray[i])) {
	    	showErrorField(fieldsArray[i]);
	        allValid = false ;
	    }
		else {
	    	hideErrorField(fieldsArray[i]);
		}
	}

	return allValid;
} 


/**
 *	Check if field has content
 * 
 */
function fieldIsEmpty (field) {

		var isEmpty = false;
		var re = /^\s{1,}$/g; //match any white space including space, tab, form-feed, etc.
		
		if (
			(document.getElementById(field).value.length==0) ||
	        (document.getElementById(field).value==null) ||
	        (document.getElementById(field).value.search(re) > -1) ||
	        (document.getElementById(field).value=="")
	       ) {
	        
        	isEmpty = true;
        }

		return isEmpty;
}

/**
 *	Check if e-mail is correct
 * 
 */
function checkEmail (field) {

		var isValid = false;
		var re = /^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/g; 
		
		if (document.getElementById(field).value.match(re)) { 
        	isValid = true;
        }

		return isValid;
}

/**
 *	Make error message visible in form
 * 
 */
function showErrorField (field) {
	document.getElementById('error_' + field).style.display = 'block';
}

/**
 *	Make error message invisible in form
 * 
 */

function hideErrorField (field) {
	document.getElementById('error_' + field).style.display = 'none';
}

/**
 *	Execute the action for the form
 * 
 */
function actionForForm(element, submitAction) {

	var returnValue = false;

	if(submitAction == false) {
        //history.go(0);
		returnValue = false;
    }
    else
	{
		if (submitAction == true)
			element.submit();
			//history.go(-1);
			returnValue = true;
	}

	return returnValue;
}