//Phone Validation
function validatePhone(pno,Statext)
{
	var Exp0 = /\-/g
	var Exp1 = /\s/g
	var Exp2 = /(^\b\d{3,3}\-\d{3,3}\-\d{4,4}\b$)|^\b\d{10,10}\b$/
	var Exp3 = /(^\b\d{3,3}\s+\d{3,3}\s+\d{4,4}\b$)|^\b\d{10,10}\b$/
	var Exp4 = /^\b\d{10,10}\b$/
	
	if (trim(pno.value) == ""){
		alert("Please enter a valid  " + Statext + " number. \nThe number should be 10 digits \nin length with or without spaces or\ndashes in between  \nExamples :\n999 999 9999  \n999-999-9999 \n9999999999");
		//pno.focus;
		return false;	
	}
    if (Exp0.test(trim(pno.value))) {
		if(!Exp2.test(trim(pno.value))){
			//alert("Length of "+ Statext +" Number must be 10 digits. \nThe Format should be in either of the ways \nxxx-xxx-xxxx  \nxxx xxx xxxx  \nxxxxxxxxxx");
			alert("Please enter a valid  " + Statext + " number. \nThe  number should be 10 digits \nin length with or without spaces or\ndashes in between  \nExamples :\n999 999 9999  \n999-999-9999 \n9999999999");
		return false;	
		}
	}
	else if(Exp1.test(trim(pno.value))){
		if(!Exp3.test(trim(pno.value))){
		//alert("Length of "+ Statext +" Number must be 10 digits. \nThe Format should be in either of the ways \nxxx-xxx-xxxx  \nxxx xxx xxxx  \nxxxxxxxxxx");
				alert("Please enter a valid  " + Statext + " number. \nThe  number should be 10 digits \nin length with or without spaces or\ndashes in between  \nExamples :\n999 999 9999  \n999-999-9999 \n9999999999");
		return false;	
		}
	}
	else{
		if(!Exp4.test(trim(pno.value))){
		//alert("Length of "+ Statext +" Number must be 10 digits. \nThe Format should be in either of the ways \nxxx-xxx-xxxx  \nxxx xxx xxxx  \nxxxxxxxxxx");
		alert("Please enter a valid  " + Statext + " number. \nThe  number should be 10 digits \nin length with or without spaces or\ndashes in between  \nExamples :\n999 999 9999  \n999-999-9999 \n9999999999");
		return false;	
		}
	}
	return true;
}

//Email Validation
function ValidateEmail(emailOBj){
	emailfield = emailOBj.value;
	Restr = /^[a-z]([\.\_]?[a-z\d]+)*\@[a-z\d]+([\.\_\-][a-z\d]+)+$/ig;
	if (!Restr.test(emailfield)){
		emailOBj.focus();
		alert("Please enter a valid eMail ID.");
		return false;
	}
	return true;
}

//Currency Validation
function CheckCurrency(parameterobj,SendName)
{
	//var CheckCurrency1 = /^\d+(\.\d+)?$|^(\.\d+)$/;
	//var CheckCurrency1 = /^\d+(\.\d{2,2})?$|^(\.\d{2,2})$/;
	var CheckCurrency1= /(\d*\.\d+)|(\d+)$/;
	if(parameterobj.value=="")
	{
		alert("Please enter "+SendName + ".");
		parameterobj.focus();
		return false;
	}
	
	if (!CheckCurrency1.test(parameterobj.value) || parameterobj.value <= 0){
		alert("Please enter proper "+SendName + ".");
		parameterobj.focus();
		return false;
	}
	
	return true;
}

//Number Validation
function CheckNumber(parameterobj,SendName)
{
	var CheckNumber1 = /^\d*$/ig;
	if(!CheckNumber1.test(parameterobj.value))
	{
		alert("Please enter valid "+SendName + ".");
		parameterobj.focus();
		return false;
	}
	
	return true;
}

//Check mandatory fields
function CheckData(parameterobj,SendName,objType)
{  
	//var CheckBlank = /^[a-zA-Z0-9._-]+$/ig;
	
	var CheckBlank = /^[a-zA-Z0-9][a-zA-Z0-9 -]+$/ig;
		
		///^[a-zA-Z][a-zA-Z0-9\. -]*$/ig;
	
	if(trim(parameterobj.value) == "" )
	{
		if (objType == "T"||objType == "TA"){ //TA for account number field
			alert( SendName);
		}else{
			alert("Please select " + SendName + ".");
		}
		parameterobj.focus();
		return false;
	}

	if((parameterobj.value.charAt(0) == " ") || (!CheckBlank.test(trim(parameterobj.value))))
	{
		if(objType == "T"){
			alert("Please enter  a valid " + SendName + ".");
		}else if(objType == "TA"){ alert("Please enter a valid Account Number.");}
		
		
		else{
			alert("Please select a " + SendName + ".");
		}
		parameterobj.focus();
		return false;
	}
	
	return true;
}
function CheckDrNameData(parameterobj,SendName,objType)
{ 
	//var CheckBlank = /^[\da-z]+.*$/ig;
	//var CheckBlank = /^([a-zA-Z.]|\s)+$/ig;
    //var CheckBlank = /^([a-zA-Z][\.]*|\s)+$/ig;
	//var CheckBlank = /^[a-zA-Z][a-zA-Z0-9\.\s\\\/\&\,-_]*$/ig;
	
	var CheckBlank = /^[a-zA-Z][a-z:A-Z:0-9:\.:\s:\\:\/:\&:\,:\-:]*$/ig;
	if(trim(parameterobj.value) == "" )
	{
		alert("Please enter a " + SendName + ".");
		parameterobj.focus();
		return false;
	}
	
	if((parameterobj.value.charAt(0) == " ") || (!CheckBlank.test(trim(parameterobj.value)))){
		alert("Please enter a valid " + SendName + ".");
		parameterobj.focus();
		return false;
	}
	
	return true;
}
function CheckDrQlyData(parameterobj,SendName,objType)
{ 	
	//var CheckBlank = /^([a-zA-Z.,\(\)\/-]|\s)+$/ig;
	//var CheckBlank = /^[a-zA-Z][a-zA-Z0-9\.\s\\\/\&\,-_]*$/ig;
	var CheckBlank = /^[a-zA-Z][a-z:A-Z:0-9:\.:\s:\\:\/:\&:\,:\-:\_]*$/ig;
	if(trim(parameterobj.value) == "" ){

		alert("Please enter " + SendName + ".");
		parameterobj.focus();
		return false;
	}
	if((parameterobj.value.charAt(0) == " ") || (!CheckBlank.test(trim(parameterobj.value)))){
		
		alert("Please enter valid " + SendName + " for the doctor\n Examples : MD, FACC, OHT, PA, ARNP, etc;");
		parameterobj.focus();
		return false;
	}
	return true;
}
function CheckDrSpData(parameterobj,SendName,objType)
{ 	
	var CheckBlank = /^([a-zA-Z.,-]|\s)+$/ig;
	
	if(trim(parameterobj.value) == "" ){

		alert("Please enter " + SendName + ".");
		parameterobj.focus();
		return false;
	}
	if((parameterobj.value.charAt(0) == " ") || (!CheckBlank.test(trim(parameterobj.value)))){
		
		alert("Please enter a valid " + SendName + "\nExamples : Internal Medicine, Cardiology, Orthopedics etc;");
		parameterobj.focus();
		return false;
	}
	return true;
}
function CheckAddressData(parameterobj,SendName,objType)
{ 
	
	// ---- /^([a-zA-Z0-9._,\#-]|\s)+$/ig;	
	//var CheckBlank = /^[a-zA-Z#][a-zA-Z0-9\.\s\\\/\#\&\,-_]*$/ig;
	var CheckBlank = /^[a-zA-Z0-9\.\s\\\/\#\&\,-_]+$/ig;
	if(trim(parameterobj.value) == "" ){

		alert("Please enter your " + SendName);
		parameterobj.focus();
		return false;
	}
	if((parameterobj.value.charAt(0) == " ") || (!CheckBlank.test(trim(parameterobj.value)))){
		
		alert("Please enter a valid Address");
		parameterobj.focus();
		return false;
	}
	return true;
}
function CheckNameData(parameterobj,SendName,objType)
{  
	//var CheckBlank = /^[\da-z]+.*$/ig;
	//var CheckBlank = /^([a-zA-Z.]|\s)+$/ig;
	//var CheckBlank = /^[a-zA-Z][a-zA-Z0-9\.\s\\\/\&\,-_]*$/ig;
var CheckBlank = /^[a-zA-Z][a-z:A-Z:0-9:\.:\s:\\:\/:\&:\,:\-:\_]*$/ig;
	if(trim(parameterobj.value) == "" )
	{
		if (objType == "TN"||objType == "TC" ||objType == "T")//TC for contact person field  
			alert( SendName );                                 //TN for account name  field
				parameterobj.focus();
		return false;
	}
	
	if((parameterobj.value.charAt(0) == " ") || (!CheckBlank.test(trim(parameterobj.value)))){
		if (objType == "TN")
			alert("Please enter a valid Name for the account.");
		else if(objType == "TC")
		    alert("Please enter a valid name for the contact person on this account.");
		
		parameterobj.focus();
		return false;
	}
	
	return true;
}
function checkDate(dvalue)
{
 	for (var i=0;i<dvalue.length;i++){
		if(dvalue.charAt(i) == " "){
			alert("Date field contains invalid character");
			return false;
		}
	}
	
	var arr = new Array(3);
	if(dvalue!='')
	{
		if( dvalue.split("/").length == 3 )
		{
			arr = dvalue.split("/");			
		}
		else
		{
			alert("Enter the date in MM/DD/YYYY format ");
			return false;
		}
		
		var year = arr[2];
		var month = arr[0];
		var day = arr[1];
       

		if( isNaN(year) || isNaN(month) || isNaN(day) )
		{
			alert('Please enter valid date');
			return false;
		}

		if(month<1 || month>12)
		{
			alert('Month should be 1 to 12');
			return false;
		}

		if(day<1 || day>31) 
		{
			alert('Day should be 1 to 31');
			return false;
		}

		if (year.length !=4 || !(year > 1900) )
		{
			alert('Year should be greater than 1900');
			return false;
		}

		if(month==4 || month==6 || month==9 || month==11)
		{
			if(day==31)
			{
				alert('Day 31 is not available in '+ month +' month.');
				return false;
			}
		}

		if(month==2)
		{
			var g=parseInt(year/4);
			if(isNaN(g))
			{
				alert('This is not a valid leap year.');
				return false;
			}	
			if( (day>29) || (day==29 && ((year/4)!=parseInt(year/4))) )
			{
				alert('This is not a valid leap year.');
				return false;
			}	
		}
		return true;
	}
}
function ltrim(sValue)
{
   while(1)
   {
      if(sValue.substring(0, 1) != " ")
         break;
      sValue = sValue.substring(1, sValue.length);
   }
   return sValue;
}

function rtrim(sValue)
{
   while(1)
   {
      if(sValue.substring(sValue.length - 1, sValue.length) != " ")
         break;
      sValue = sValue.substring(0, sValue.length - 1);
   }
   return sValue;
}

function trim(sValue)
{
   var sTemp = ltrim(sValue);
   return rtrim(sTemp);
}
function checkDocFileName(txtObjValue)
{

	var CheckFileName = /^[a-zA-Z0-9_-]+$/ig;
	
	if((!CheckFileName.test(trim(parameterobj.value))))
	{
		alert("Please select valid files.");
		parameterobj.focus();
		return false;
	}

	return true;
}
function CheckPatientName(txtObjVal,SendName,objType)
{	 
     //var CheckBlank = /^[a-zA-Z\.\s]+$/ig;
	var CheckBlank = /^[a-zA-Z][a-z:A-Z:\.:\s::\\:\/:\&:\,:\-:]*$/ig;
	if(trim(txtObjVal) == "" ){
		alert("Please enter " + SendName + ".");
		txtObjVal.focus();
		return false;
	}
	//if((txtObjVal.charAt(0) == " ") || (txtObjVal.charAt(0) == ".") || (!CheckBlank.test(trim(txtObjVal)))){
	if(!CheckBlank.test(trim(txtObjVal))){
		alert("Please enter valid " + SendName + ".");
		return false;
	}
	return true;
}
function openTopLinks(filename)
{
	w = window.screen.width;
	h = window.screen.height;
	winProperties = "toolbar=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=550,height=300,top=100,left=100";
	M_NewWindow = window.open(filename,"_blank",winProperties);
	M_NewWindow.moveTo((w-550)/2,(h-300)/2);
}
var M_NewWindow = null;
function openReplaceWindow(filename)
{
	w = window.screen.width;
	h = window.screen.height;
	winProperties = "toolbar=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=400,height=180,top=100,left=100";
	M_NewWindow = window.open(filename,"Scriptase",winProperties);
	M_NewWindow.moveTo((w-400)/2,(h-160)/2);
	//************************
	/*var lsWH

	lsWH = window.showModalDialog(filename,null,"dialogWidth:400px;dialogHeight:200px;status:off;scroll:off" )	 	
	if (lsWH == null)
	{
		getRegreshThisPage();
	}
	else
	{
		getRegreshThisPage();
	}*/

}

