// Removes leading whitespaces
function LTrim( value ) {
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
}

// Removes ending whitespaces
function RTrim( value ) {
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
}

// Removes leading and ending whitespaces
function trim( value ) {
	return LTrim(RTrim(value));
}
String.prototype.trim = function () {
    return this.replace(/^\s*/, "").replace(/\s*$/, "");
}

function checkEmpty(value){
	if ((value.trim()).length == 0){
		return true;
	} else {
		return false;
	}
}

function checkEqual(value1, value2){
	if(value1.trim() == value2.trim()){
		return true;
	} else {
		return false;
	}
}

function checkPassword(pwd) {
	pwd = pwd.trim();
	if (pwd.length < 6) {
		return true;
	} else {
		return false;
	}
}

function checkEmail(email) {
	email = email.trim();
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	if (filter.test(email)) {
		return true;
	} else {
		return false;
	}
}

function isValidURL(url){
    var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;
    if(RegExp.test(url)){
        return true;
    }else{
        return false;
    }
}

/***************************	FOR LOGIN FORM	***************************************/
function check_login_form(){
	var errorMsg='';
	var email	=	document.getElementById('Email');
	var	pass	=	document.getElementById('Password');
	
	document.getElementById('error_email').innerHTML = '';
	document.getElementById('error_password').innerHTML = '';
	
	if (checkEmpty(pass.value)){
		errorMsg	=	'Please enter your password';
		document.getElementById('error_password').innerHTML = "Please enter your password.";
		document.getElementById('Password').style.border="#FF0000 2px solid";
		pass.focus();
	}else{
		document.getElementById('Password').style.border="";
	}
	if (checkEmpty(email.value)){
		errorMsg	=	'Please enter your e-mail';
		document.getElementById('error_email').innerHTML = "Please enter your e-mail.";
		document.getElementById('Email').style.border="#FF0000 2px solid";
		email.focus();
	}else{
		if(!checkEmail(email.value)) {
			errorMsg	=	'Please enter valid e-mail id.';
			document.getElementById('error_email').innerHTML = "Please enter valid e-mail id.";
			document.getElementById('Email').style.border="#FF0000 2px solid";
			email.focus();
		}else{
			document.getElementById('Email').style.border="";
		}
	}
	if (errorMsg == ''){
		return true;
	} else{
		return false;
	}
}

/***************************	FOR REGISTRATION FORM	*******************************/
function check_registration_form(){
	var errorMsg='';
	var fname	=	document.getElementById('firstName');
	var	npass	=	document.getElementById('newPassword');
	var	cpass	=	document.getElementById('confirmPassword');
	var	umail	=	document.getElementById('eMail');
	var	scode	=	document.getElementById('VerificationCode');

	document.getElementById('error_firstname').innerHTML = '';
	document.getElementById('error_newpassword').innerHTML = '';
	document.getElementById('error_confirmpassword').innerHTML = '';
	document.getElementById('error_email').innerHTML = '';
	document.getElementById('error_verifycode').innerHTML = '';
	document.getElementById('error_tandc').innerHTML = '';
	
	if (checkEmpty(fname.value)){
		errorMsg	=	'Please enter your name';
		document.getElementById('error_firstname').innerHTML = "Please enter your name.";
		document.getElementById('firstName').style.border="#FF0000 2px solid";
		fname.focus();
	}else{
		document.getElementById('firstName').style.border="1px solid #656565";
	}
	if (checkEmpty(npass.value)){
		errorMsg	=	'Please enter your password';
		document.getElementById('error_newpassword').innerHTML = "Please enter your password.";
		document.getElementById('newPassword').style.border="#FF0000 2px solid";
		npass.focus();
	}else{
		if (checkPassword(npass.value)){
			errorMsg	=	'Password should be minimum of 6 characters';
			document.getElementById('error_newpassword').innerHTML = "Password should be minimum of 6 characters.";
			document.getElementById('newPassword').style.border="#FF0000 2px solid";
			npass.value='';
			npass.focus();
		}else{
			document.getElementById('newPassword').style.border="1px solid #656565";	
		}
	}
	if (checkEmpty(cpass.value)){
		errorMsg	=	'Please re-enter your password';
		document.getElementById('error_confirmpassword').innerHTML = "Please re-enter your password.";
		document.getElementById('confirmPassword').style.border="#FF0000 2px solid";
		cpass.focus();
	}else{
		if (!checkEqual(npass.value, cpass.value)) {
			errorMsg	=	'Password and re-type password should be the same';
			document.getElementById('error_confirmpassword').innerHTML = "Password and re-type password should be the same.";
			document.getElementById('confirmPassword').style.border="#FF0000 2px solid";
			npass.value='';
			cpass.value='';
			npass.focus();
		}else{
			document.getElementById('confirmPassword').style.border="1px solid #656565";
		}
	}
	if (checkEmpty(umail.value)){
		errorMsg	=	'Please enter your e-mail';
		document.getElementById('error_email').innerHTML = "Please enter your e-mail.";
		document.getElementById('eMail').style.border="#FF0000 2px solid";
		umail.focus();
	}else{
		if(!checkEmail(umail.value)) {
			errorMsg	=	'Please enter valid e-mail id';
			document.getElementById('error_email').innerHTML = "Please enter valid e-mail id.";
			document.getElementById('eMail').style.border="#FF0000 2px solid";
			umail.value='';
			umail.focus();
		}else{
			document.getElementById('eMail').style.border="1px solid #656565";
		}
	}
	if (checkEmpty(scode.value)){
		errorMsg	=	'Please enter the code shown';
		document.getElementById('error_verifycode').innerHTML = "Please enter the code shown.";
		document.getElementById('VerificationCode').style.border="#FF0000 2px solid";
		scode.focus();
	}else{
		document.getElementById('VerificationCode').style.border="1px solid #656565";
	}
	if (!document.getElementById('ckeckbox').checked) {
		errorMsg	=	'You must agree to our terms and conditions';
		document.getElementById('error_tandc').innerHTML = "You must agree to our terms and conditions.";
	}
	if (errorMsg == ''){
		return true;
	} else{
		return false;
	}
}

/***************************	FOR CREATE GROUP FORM	*******************************/
function check_frm_create_grp(){
	var errorMsg='';
	var gname	=	document.getElementById('groupName');

	document.getElementById('error_groupname').innerHTML = '';
	
	if (checkEmpty(gname.value)){
		errorMsg	=	'Please enter group name';
		document.getElementById('error_groupname').innerHTML = "Please enter group name.";
		document.getElementById('groupName').style.border="#FF0000 2px solid";
		gname.focus();
	}
	if (errorMsg == ''){
		return true;
	} else{
		return false;
	}
}

/***************************	FOR GROUP FIND FORM	***********************************/
function check_frm_find_group(){
	var errorMsg='';
	var grpid	=	document.getElementById('groupId');
	var gpass	=	document.getElementById('groupPassword');

	document.getElementById('error_groupid').innerHTML = '';
	document.getElementById('error_grouppass').innerHTML = '';
	
	if (checkEmpty(grpid.value)){
		errorMsg	=	'Please enter group id';
		document.getElementById('error_groupid').innerHTML = "Please enter group id.";
		document.getElementById('groupId').style.border="#FF0000 2px solid";
		grpid.focus();
	}
	if (checkEmpty(gpass.value)){
		errorMsg	=	'Please enter group password';
		document.getElementById('error_grouppass').innerHTML = "Please enter group password.";
		document.getElementById('groupPassword').style.border="#FF0000 2px solid";
		gpass.focus();
	}
	if (errorMsg == ''){
		return true;
	} else{
		return false;
	}
}

/***************************	FOR PROFILE FORM	***********************************/
function check_frm_profile(){
	var errorMsg='';
	var mmail	=	document.getElementById('eMail');
	var fname	=	document.getElementById('firstName');
	var opass	=	document.getElementById('currentPassword');
	var npass	=	document.getElementById('newPassword');
	var cpass	=	document.getElementById('confirmPassword');

	document.getElementById('error_email').innerHTML = '';
	document.getElementById('error_firstname').innerHTML = '';
	document.getElementById('error_currentpassword').innerHTML = '';
	document.getElementById('error_newpassword').innerHTML = '';
	document.getElementById('error_confirmpassword').innerHTML = '';
	
	if (checkEmpty(mmail.value)) {
		errorMsg	=	'Please enter your email.';
		document.getElementById('error_email').innerHTML = "Please enter your email.";
		document.getElementById('eMail').style.border="#FF0000 2px solid";
		mmail.focus();
	}else{
		if(!checkEmail(mmail.value)) {
			errorMsg	=	'Please enter valid e-mail id.';
			document.getElementById('error_email').innerHTML = "Please enter valid e-mail id.";
			document.getElementById('eMail').style.border="#FF0000 2px solid";
			mmail.focus();
		}
	}
	
	if (!checkEmpty(opass.value)){
		if (checkEmpty(npass.value)){
			errorMsg	=	'Please enter new password.';
			document.getElementById('error_newpassword').innerHTML = "Please enter new password.";
			document.getElementById('newPassword').style.border="#FF0000 2px solid";
			npass.focus();
		}
	}
	if (!checkEqual(npass.value, cpass.value)) {
		errorMsg	=	'New password and re-type password should be same';
		document.getElementById('error_confirmpassword').innerHTML = "New password and re-type password should be same.";
		document.getElementById('newPassword').style.border="#FF0000 2px solid";
		document.getElementById('confirmPassword').style.border="#FF0000 2px solid";
		cpass.focus();
	}
	if (!checkEmpty(npass.value)){
		if (checkEmpty(opass.value)){
			errorMsg	=	'Please enter current password.';
			document.getElementById('error_currentpassword').innerHTML = "Please enter current password.";
			document.getElementById('currentPassword').style.border="#FF0000 2px solid";
			opass.focus();
		}
		if (checkPassword(npass.value)){
			errorMsg	=	'New password should be minimum of 6 characters';
			document.getElementById('error_newpassword').innerHTML = "New password should be minimum of 6 characters.";
			document.getElementById('newPassword').style.border="#FF0000 2px solid";
			npass.focus();
		}
	}
	if (checkEmpty(fname.value)){
		errorMsg	=	'Please enter your name';
		document.getElementById('error_firstname').innerHTML = "Please enter your name.";
		document.getElementById('firstName').style.border="#FF0000 2px solid";
		fname.focus();
	}
	if (errorMsg == ''){
		return true;
	} else{
		return false;
	} 
}

/***************************	FOR ADD WEBSITE LINK FORM	***************************/
function check_frm_add_website(){
	var errorMsg='';
	var linku	=	document.getElementById('linkUrl');
	var linkt	=	document.getElementById('linkTitle');
	document.getElementById('error_linkurl').innerHTML = '';
	document.getElementById('error_linktitle').innerHTML = '';
	
	if (checkEmpty(linku.value)){
		errorMsg	=	'Please enter website link url';
		document.getElementById('error_linkurl').innerHTML = "Please enter website link url.";
		document.getElementById('linkUrl').style.border="#FF0000 2px solid";
	}else{
		if(!isValidURL(linku.value)){
			errorMsg	=	"Please enter a valid URL\n";
			document.getElementById('error_linkurl').innerHTML = "Please enter valid website link url.";
			document.getElementById('linkUrl').style.border="#FF0000 2px solid";
			linku.focus();
		}else{
			document.getElementById('linkUrl').style.border="";
		}
		/*if (linku.value.indexOf ('www', 0) == -1 || linku.value.length < 10){
			if(linku.value.indexOf ('.com', 0) == -1 || linku.value.length < 10){
				errorMsg	=	'Please enter valid website link url';
				document.getElementById('error_linkurl').innerHTML = "Please enter valid website link url.";
				document.getElementById('linkUrl').style.border="#FF0000 2px solid";
				linku.focus();
			}
		}*/
		
	}
	
	if (checkEmpty(linkt.value)){
		errorMsg	=	'Please enter website link title';
		document.getElementById('error_linktitle').innerHTML = "Please enter website link title.";
		document.getElementById('linkTitle').style.border="#FF0000 2px solid";
		linkt.focus();
	}else{
		document.getElementById('linkTitle').style.border="";
	}
	if (errorMsg == ''){
		document.getElementById('loadImg').style.display="block";
		return true;
	} else{
		return false;
	}
}

/***************************	FOR LINK COMMENT FORM	*******************************/
function check_frm_comment(){
	var errorMsg='';
	var comnt	=	document.getElementById('textComment');
	document.getElementById('errorMessage').innerHTML = '';
	
	if (checkEmpty(comnt.value)){
		document.getElementById('errorMessage').innerHTML = "Please, enter your comment.";
		document.getElementById('textComment').style.border="#FF0000 2px solid";
		comnt.focus();
		return false;
	}
	if (errorMsg == ''){
		return true;
	} else{
		return false;
	}
}

/***************************	FOR SEARCH FORM	***************************************/
function search_frm_search(){
	var errorMsg='';
	var srckey	=	document.getElementById('searchKey');
	var srcby	=	document.getElementById('searchBy');
	
	document.getElementById('error_searchKey').innerHTML = '';
	document.getElementById('error_searchBy').innerHTML = '';
	
	if (srcby.selectedIndex == 0){
		errorMsg	=	'Please select any option';
		document.getElementById('error_searchBy').innerHTML = "Please select any option.";
		document.getElementById('searchBy').style.border="#FF0000 2px solid";
		srcby.focus();
	}
	if (checkEmpty(srckey.value)){
		errorMsg	=	'Please, enter keyword';
		document.getElementById('error_searchKey').innerHTML = "Please enter keyword.";
		document.getElementById('searchKey').style.border="#FF0000 2px solid";
		srckey.focus();
	}
	if (errorMsg == ''){
		return true;
	} else{
		return false;
	}
}

/***************************	FOR CONTACT-US FORM	***********************************/
function check_frm_contact_us(){
	var errorMsg='';
	var cname	=	document.getElementById('name');
	var cmail	=	document.getElementById('email');
	var csubj	=	document.getElementById('subject');
	var ccmnt	=	document.getElementById('comment');
	var	scode	=	document.getElementById('VerificationCode');
	
	document.getElementById('error_name').innerHTML = '';
	document.getElementById('error_email_cont').innerHTML = '';
	document.getElementById('error_subject').innerHTML = '';
	document.getElementById('error_comment').innerHTML = '';
	document.getElementById('error_verifycode').innerHTML = '';
	
	if (checkEmpty(cname.value)){
		errorMsg	=	'Please, enter your name';
		document.getElementById('error_name').innerHTML = "Please enter your name.";
		document.getElementById('name').style.border="#FF0000 2px solid";
		cname.focus();
	}
	if (checkEmpty(cmail.value)){
		errorMsg	=	'Please, enter your e-mail id.';
		document.getElementById('error_email_cont').innerHTML = "Please enter your e-mail id.";
		document.getElementById('email').style.border="#FF0000 2px solid";
		cmail.focus();
	}else{
		if(!checkEmail(cmail.value)) {
			errorMsg	=	'Please enter valid e-mail id.';
			document.getElementById('error_email_cont').innerHTML = "Please enter valid e-mail id.";
			document.getElementById('email').style.border="#FF0000 2px solid";
			cmail.focus();
		}
	}
	if (checkEmpty(csubj.value)){
		errorMsg	=	'Please, enter subject';
		document.getElementById('error_subject').innerHTML = "Please enter subject.";
		document.getElementById('subject').style.border="#FF0000 2px solid";
		csubj.focus();
	}
	if (checkEmpty(ccmnt.value)){
		errorMsg	=	'Please, enter comment';
		document.getElementById('error_comment').innerHTML = "Please enter comment.";
		document.getElementById('comment').style.border="#FF0000 2px solid";
		ccmnt.focus();
	}
	if (checkEmpty(scode.value)){
		errorMsg	=	'Please enter the code shown';
		document.getElementById('error_verifycode').innerHTML = "Please enter the code shown.";
		document.getElementById('VerificationCode').style.border="#FF0000 2px solid";
		scode.focus();
	}else{
		document.getElementById('VerificationCode').style.border="1px solid #656565";
	}
	if (errorMsg == ''){
		return true;
	} else{
		return false;
	}
}

/***************************	FOR PAGE NAVIGATION	***********************************/
function navPage(pageLocation){
	var pnum		=	parseInt(document.getElementById('navigate').value);
	var ptot		=	parseInt(document.getElementById('pageCount').value);
	//alert('Go to page no: '+pnum);
	//alert('Total page no: '+ptot);
	
	document.getElementById('error_pagenum').innerHTML = '';
	
	if(pnum<=ptot){
		location.href	=	"group-home.php?gid="+pageLocation+"&page="+pnum;
		return true;
	}else{
		document.getElementById('error_pagenum').innerHTML = "Please enter correct page number.";
		document.getElementById('navigate').style.border="#FF0000 2px solid";
		return false;
	}	
}

function navPagePerson(pageLocation,memberid){
	var pnum		=	parseInt(document.getElementById('navigate').value);
	var ptot		=	parseInt(document.getElementById('pageCount').value);
	//alert('Go to page no: '+pnum);
	//alert('Total page no: '+ptot);
	
	document.getElementById('error_pagenum').innerHTML = '';
	
	if(pnum<=ptot){
		location.href	=	"group-selected-persons.php?gid="+pageLocation+"&mid="+memberid+"&page="+pnum;
		return true;
	}else{
		document.getElementById('error_pagenum').innerHTML = "Please enter correct page number.";
		document.getElementById('navigate').style.border="#FF0000 2px solid";
		return false;
	}	
}
