function trim(s)
{
	while (s.substring(0,1) == ' ')
	{
		s = s.substring(1,s.length);
	}
	while (s.substring(s.length-1,s.length) == ' ')
	{
		s = s.substring(0,s.length-1);
	}
	return s;
}

//	check file type
function validatePDFFile(obj)
{
	validFile = /(.pdf|.PDF|.rtf|.RTF)$/;
	if (obj.value != "")
	{
		if(!validFile.test(obj.value)) 
		{		
			alert("Only PDF/RTF files supported, Please try again.");
			obj.focus();
			obj.select();
			return false;
		}
		return true;
	}
}
//	end check file type

function chkValidTitle(obj, msg)
{
	/************************************************************************************************/
	/*	Following characters should not allowed for the sake of Search Engine Friendly URLs

		_	(Underscore)
		-	(Hyphen)
		?	(Question Mark)
		\	(Back Slash)
		/	(Forward Slash)
		.	(Dot)
		'	(Single Quote)
		“	(Double Quote)
		#	(Hash)
		@	(At the Rate Symbol)
		&	(Ampersand)
		%	(Percentage)

	/*	Only alphanumeric characters (a-z, A-Z, 0-9), blank space, round brackets, comma are allowed
	/************************************************************************************************/

	var validStr = /^[a-zA-Z0-9\s:(),]{1,}$/;

	if (validStr.test(obj.value) == false)
	{
		alert(msg);
		obj.focus();
		obj.select();
		return false;
	}
	return true;
}

function isBlank(obj, msg)
{
	if(obj.value==null)
	{
		alert(msg);			
		obj.focus();
		return false;
	}
	for(var i=0;i<obj.value.length;i++) 
	{
		if(obj.value.charAt(i) ==' ')
		break;
		if ((obj.value.charAt(i)!="\t")&&(obj.value.charAt(i)!="\n")&&(obj.value.charAt(i)!="\r"))
		{
			return true;
		}
	}
	alert(msg);	
	obj.focus();
	obj.select();
	return false;
}

function validateBlank(obj, msg)
{
	var string=trim(obj.value);
	if(string.length<=0)
	{
		alert(msg);
		obj.focus();
		obj.select();
		return false;
	}
	return true;
}

function validateSelect(obj, msg)
{
	var string=trim(obj.value);
	if(string.length<=0)
	{
		alert(msg);
		obj.focus();
		return false;
	}
	return true;
}

//	check string
function validateString(obj, msg)
{
	var validStr = /^[a-zA-Z]{1,}$/;
	if (validStr.test(obj.value) == false)
	{
		alert(msg);
		obj.focus();
		obj.select();
		return false;
	}
	return true;
}

//	check string
function validateFirstnameLastname(obj, msg)
{
	var validStr = /^[a-zA-Z]{1,}$/;

	NameArr=obj.value.split(" ");
	if(NameArr.length>2)
	{
		alert(msg);
		obj.focus();
		obj.select();
		return false;
	}

	for(i=0;i<NameArr.length;i++)
	{
		if (validStr.test(NameArr[i]) == false)
		{
			alert(msg);
			obj.focus();
			obj.select();
			return false;
		}
	}
	return true;
}

//	check character seperated list
function validateSeperate(obj, msg, schar, validStr)
{
	NameArr=obj.value.split(schar);
	
	for(i=0;i<NameArr.length;i++)
	{
		if (validStr.test(NameArr[i]) == false)
		{
			alert(msg);
			obj.focus();
			obj.select();
			return false;
		}
	}
	return true;
}

//	check string
function validateQuestion(obj, msg)
{
	var validStr = /^[a-zA-Z]{1,}$/;

	NameArr=obj.value.split(" ");
	for(i=0;i<NameArr.length;i++)
	{
		if (validStr.test(NameArr[i]) == false)
		{
			alert(msg);
			obj.focus();
			obj.select();
			return false;
		}
	}
	return true;
}

function validatePassword(obj, msg)
{
	var validStr = /^[a-zA-Z0-9]/;
	if (validStr.test(obj.value) == false)
	{
		alert(msg);
		obj.focus();
		obj.select();
		return false;
	}
	return true;
}

function validateUserName(obj, msg)
{
	var validStr = /^[a-zA-Z0-9]{1,}$/;
	if (validStr.test(obj.value) == false)
	{
		alert(msg);
		obj.focus();
		obj.select();
		return false;
	}
	return true;
}

function validateAlphaNumeric(obj, msg)
{
	var validStr = /^[a-zA-Z0-9\s]{1,}$/;
	if (validStr.test(obj.value) == false)
	{
		alert(msg);
		obj.focus();
		obj.select();
		return false;
	}
	return true;
}

function validateAddress(obj, msg)
{
	var validStr = /^[a-zA-Z0-9\s,]{1,}$/;
	if (validStr.test(obj.value) == false)
	{
		alert(msg);
		obj.focus();
		obj.select();
		return false;
	}
	return true;
}


function validNumber(obj, msg)
{
	if (isNaN(obj.value))
	{
		alert(msg);
		obj.focus();
		obj.select();
		return false;
	}
	return true;
}

//	check space
function validateSpace(obj, msg)
{
	var validSpace = /\s/;
	if (validSpace.test(obj.value) == true)
	{
		alert(msg);
		obj.focus();
		obj.select();
		return true;
	}
	return false;
}

//	check string
function validateLength(obj, msg, len)
{
	if (obj.value.length > len )
	{
		alert(msg);
		obj.focus();
		obj.select();
		return false;
	}
	return true;
}

//	check numeric
function validateNumeric(obj, msg)
{
	var validNum =  /^[0-9]{1,}$/;
	if (validNum.test(obj.value) == false)
	{
		alert(msg);
		obj.focus();
		obj.select();
		return false;
	}
	return true;
}

//	check ccno
function validateCCno(obj, msg)
{
	var validNum =  /^[0-9]{16}$/;
	if (validNum.test(obj.value) == false)
	{
		alert(msg);
		obj.focus();
		obj.select();
		return false;
	}
	return true;
}

//	check float value with 2 decimal places
function validateFloat(obj, msg)
{
	var validNum =  /^([0-9]+)\.[0-9]{1,}$/;
	if (validNum.test(obj.value) == false)
	{
		alert(msg);
		obj.focus();
		obj.select();
		return false;
	}
	return true;
}

// 	email validation
function validateEmail(obj, msg)
{
	var emailStr = /^[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]$/;
	if (emailStr.test(obj.value) == false)
	{
		alert(msg);
		obj.focus();
		obj.select();
		return false;
	}
	return true;
}

// 	url validation
function validateUrl(obj, msg)
{
	var urlStr = /^\http\:\/\/[a-zA-Z]{3,}\.[a-zA-Z0-9]{2,}(\.[a-zA-Z]{2,3}|\.[a-zA-Z]{2,3}\.[a-zA-Z]{2})$/;
	if (urlStr.test(obj.value) == false)
	{
		alert(msg);
		obj.focus();
		obj.select();
		return false;
	}
	return true;
}

//	check image file type
function validateImgFile(obj,msg)
{
	validformFile = /(.jpg|.JPG|.gif|.GIF|.JPEG|.jpeg)$/;
	if (obj.value != "")
	{
		if(!validformFile.test(obj.value)) 
		{
			alert(msg);
			obj.focus();
			obj.select();
			return false;
		}
		return true;
	}
}

//	check radio button validation
function validateRadioCheck(fieldName, msg)
{
	var arr = document.getElementsByName(fieldName);
	var choice = false;
	for(r=0;r<arr.length;r++)
	{
		if (arr[r].checked == true)
		choice = true;
	}
	if (!choice)
	{
		alert(msg);
		arr[0].focus();
		return false;
	}
}

//	check all checkboxes
function checkAll(fieldName, val)
{
	var chkarr = document.getElementsByName(fieldName);
	for(r=0;r<chkarr.length;r++)
	{
		if (val == true)
			chkarr[r].checked = true;
		else
			chkarr[r].checked = false;
	}
}

//	confirm to
function confirmTo(msg)
{
	var ans = confirm(msg);
	if (ans == true)
		return true;
	else
		return false;
}

//	confirm password
function confirmValue(obj1, obj2, msg)
{
	if (obj1.value != obj2.value)
	{
		alert(msg);
		obj2.focus();
		obj2.select();
		return false;
	}
	return true;
}
