// Client Side data/form Validation script for profile based forms

//function to validate email address string
function validateEmail(str)
{
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	if (str.indexOf(at)==-1)
	{
	   return false;
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
	{
	   return false;
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
	{
	   return false;
	}

	if (str.indexOf(at,(lat+1))!=-1)
	{
	    return false;
	}

	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
	{
	   return false;
	}

	if (str.indexOf(dot,(lat+2))==-1)
	{
	    return false;
	}

	if (str.indexOf(" ")!=-1)
	{
	    return false;
	}
  return true;
}
//end of function validateEmail()

//function to validae change email form
function validateEmailForm(progressDIV)
{
	var vEmail   =  document.changeEmailForm.newEmail.value;
	    
	if(vEmail == "")
	{
		document.getElementById('showEmailStatus').innerHTML = '<span class="errorMsg">please enter your new email address</span>';
		return false;
	}

	if(validateEmail(vEmail) == false)
	{
		document.getElementById('showEmailStatus').innerHTML = '<span class="errorMsg">please enter a valid email address</span>';
		return false;
	}
	
	//show progress
	document.getElementById(progressDIV).innerHTML = '<img src="/images/loader.gif" />&nbsp;Please wait...';
	
return true;
}
//end of function validateEmailForm()

//function to validae change password form
function validatePassForm(progressDIV)
{
	var oldPass    =  document.changePasswordForm.oldPass.value;
	var newPassA   =  document.changePasswordForm.newPassA.value;
	var newPassB   =  document.changePasswordForm.newPassB.value;
	    
	if(oldPass == "")
	{
		document.getElementById('oldPassStatus').innerHTML = '<span class="errorMsg">please enter your current password</span>';
		return false;
	}
	
	if(newPassA == "")
	{
		document.getElementById('newPassAStatus').innerHTML = '<span class="errorMsg">please enter your new password</span>';
		return false;
	}
	
	if( newPassA.length < 5)
	{
		document.getElementById('newPassAStatus').innerHTML = '<span class="errorMsg">your new password should be at least 5 characters long</span>';
		return false;
	}
	
	if( newPassA != newPassB )
	{
		document.getElementById('newPassBStatus').innerHTML = '<span class="errorMsg">passwords do not match</span>';
		return false;
	}
	
	//show progress
	document.getElementById(progressDIV).innerHTML = '<img src="/images/loader.gif" />&nbsp;Please wait...';
	
return true;
}
//end of function validatePassForm()

//Function to validate avatar image, browse input and file types
function validateUploadAVForm(progressDIV)
{
	var fileInput 		= document.av_uploadForm.userimage.value.toLowerCase();
	var fileInputExt	= fileInput.substring(fileInput.lastIndexOf('.')+1);
	
	if ( fileInput == "" ){ 
		//show error message 
		document.getElementById(progressDIV).innerHTML = '<span class="errorMsg">Please select an image to upload</span>'; 
		return false; 
	}else if( fileInputExt == 'gif' || fileInputExt == 'jpg' ||  fileInputExt == 'jpeg' || fileInputExt == 'png' ){
		//show progress, validation passed
		document.getElementById(progressDIV).innerHTML = '<img src="/images/loader.gif" />&nbsp;Please wait...';
	}else{ 
		//show error message
		document.getElementById(progressDIV).innerHTML = '<span class="errorMsg">This file type is not supported. Please select a JPG, GIF or PNG image</span>';
		return false;
	}
return true;	
}
//end of function validateUploadAVForm()


//Function to validate personal statement section, if user wwants to remove it, he/she can left it blank
function validateStatement(progressDIV)
{
	//get the new statement
	currentSt	=	document.changeStatement.newStatement.value;
	
	//check whether the new statement is blank, or user has requested to delete it
	if( currentSt == "" ){
		confirm_box=confirm("Are you sure, you want to remove your personal statement?");
		if (confirm_box==true){ 
			//show progress
			document.getElementById(progressDIV).innerHTML = '<img src="/images/loader.gif" />&nbsp;Please wait...';
			return true;
		}else{
			return false;
		}
	}
	//checks for maximum length 
	if( currentSt.length > 300 ){
		//show error message
		document.getElementById(progressDIV).innerHTML = '<span class="errorMsg">Maximum characters exceeded</span>';
		return false;
	}
//if all above conditions passed that means, valid input, show progress and proceed 
document.getElementById(progressDIV).innerHTML = '<img src="/images/loader.gif" />&nbsp;Please wait...';	
return true;	
}
//end of function validateStatement()

//Function to get user confirmation to delete avatar, it will prevent users from removing avatar mistakely
function removeAvatar(member_id)
{
	confirm_box=confirm("Are you sure, you want to remove your Avatar?");
	if (confirm_box==true)
	{ 
		ajax_loadContent('progressAV','/update_avatar/remove_avatar.php?memberid=' + member_id);
		return true;
	}
return false;	
}
//end of function removeAvatar()