﻿//NOTE: RETIRED, replaced by validation control

// JScript File

function ValidateLogin()
{
    var objEmail = document.getElementById('ctl00_ContentPlaceHolder1_txtEmail');
    var objPwd = document.getElementById('ctl00_ContentPlaceHolder1_txtPwd');
    var lblErr = document.getElementById('ctl00_ContentPlaceHolder1_lblErrMssg');
    if(objEmail.value == "")
    {
        //lblErr.innerHTML = "Please enter your email.";
        alert("Please enter your email.");
        return false;
    }    
    else if(!ValidateEmail('ctl00_ContentPlaceHolder1_txtEmail','Please enter a valid email address'))
    {        
        return false;        
    }
    else if(objPwd.value == "")
    {
        alert("Please enter your password.");
        return false;
    }
    return true;
}

function ValidatePassword(id1,id2)
{
    var objNewPwd = document.getElementById(id1);
    var objconfirmPwd = document.getElementById(id2);

    if(objNewPwd.value == "" )
    {
        //alert("Please enter new password");
        document.getElementById('ctl00_ContentPlaceHolder1_ltrlError').innerHTML = "Please enter new password";
        objNewPwd.focus();
        return false;
    }
    else if(objNewPwd.value != "" )
    {
        if(objNewPwd.value != objconfirmPwd.value)
        {
            //alert("Please enter same password in new password and confirm password");
            document.getElementById('ctl00_ContentPlaceHolder1_ltrlError').innerHTML = "The two entries do not match. Please try again.";
            objNewPwd.focus();
            return false;
        }                
    }
    return true;
}
function validateTreatmentPopup()
{
    var objDate = document.getElementById('ctl00_ContentPlaceHolder2_txtEditDate');
    var objMonth = document.getElementById('ctl00_ContentPlaceHolder2_txtEditMonth');
    var objYear = document.getElementById('ctl00_ContentPlaceHolder2_txtEditYear');
    var objDrName = document.getElementById('ctl00_ContentPlaceHolder2_txtDoctorName');
    var objNotes = document.getElementById('ctl00_ContentPlaceHolder2_txtNotes');
    var dt = objMonth.value+"/"+objDate.value+"/"+objYear.value;
    if (isDate(dt)==false)
    {		
	    alert("Please enter a valid date.");					
	    return false;
    }
	if(objDrName.value == '' || objDrName.value.length>=100)//!ValidateString('ctl00_ContentPlaceHolder2_txtDoctorName',1,25,"Please enter your doctor's name","Please enter your doctor name"))
	{
		alert("Please enter your doctor's name and the length should not exceed 100 characters.");					
		return false;
	}
	else if(objNotes.value.length >=200)
	{
	    alert("Please enter notes and the length should not exceed 200 characters.");					
	    return false;
	}
    return true;
    
}
function alertInline(msg) {
    var objMsgSpan = document.getElementById('spnClientMessage');
    objMsgSpan.innerHTML = msg;

}

function validatePersonalInfo()
{
    var objFirstName = document.getElementById('ctl00_ContentPlaceHolder2_txtFirstName');
    var objLastName = document.getElementById('ctl00_ContentPlaceHolder2_txtLastName');

    var objEmail = document.getElementById('ctl00_ContentPlaceHolder2_txtEmail');
    var objAddress1 = document.getElementById('ctl00_ContentPlaceHolder2_txtAddr1');
    var objCity = document.getElementById('ctl00_ContentPlaceHolder2_txtCity');
    var objState = document.getElementById('ctl00_ContentPlaceHolder2_ddlStates');
    var objZip = document.getElementById('ctl00_ContentPlaceHolder2_txtZip');
    var objMonth = document.getElementById('ctl00_ContentPlaceHolder2_ddlMonth');
    var objDate = document.getElementById('ctl00_ContentPlaceHolder2_ddlDay');
    var objYear = document.getElementById('ctl00_ContentPlaceHolder2_ddlDobYear');
    var objGender = document.getElementById('ctl00_ContentPlaceHolder2_ddlGender');
    var objMobile = document.getElementById('ctl00_ContentPlaceHolder2_tbMobile1');
    var IsDobValid = true;
    
    
    //if(!ValidateString('ctl00_ContentPlaceHolder2_txtFirstName',1,255,"Please enter a valid first name","Please enter your first name"))
    if(objFirstName.value == '' || objFirstName.value.length > 100)
    {
        //alert("Please enter your first name and the length should not exceed 100 characters.");
        alertInline("Please enter your first name and the length should not exceed 100 characters.")
        return false;
    }
    else if(objLastName.value == '' || objLastName.value.length > 100)
    //if(!ValidateString('ctl00_ContentPlaceHolder2_txtLastName',1,255,"Please enter a valid last name","Please enter your last name"))
    {                
        alert("Please enter your last name and the length should not exceed 100 characters.");
        return false;
    }
    else if(!ValidateEmail('ctl00_ContentPlaceHolder2_txtEmail',"Please enter a valid email address"))
    {                
        return false;
    }
    else if(objAddress1.value == "")
    {
        alert("Please enter your address1");
        objAddress1.focus();
        return false;
    }
    else if(objCity.value == "")
    {
        alert("Please enter your city");
        objCity.focus();
        return false;
    }
    else if(objState.value == -1)
    {
        alert("Please select your state");
        objState.focus();
        return false;
    }
    else if(!validateZIP(objZip.value))
    {
        objZip.focus();
        return false;
    } 
    else if (!validateMobileNumber())
    {
        objMobile.focus();
        return false;
    }
    else
    {
        IsDobValid = CheckDob(objMonth.value, objDate.value, objYear.value)
        if(IsDobValid)
        {
            if(!CalcAge(objMonth,objDate,objYear))
		    {
			    alert("Please select a valid date of birth.");
			    objMonth.focus();
			    return false;
		    }
		    else
		    {
		        IsDobValid = true;
		    }
        }
        else if(!IsDobValid)
        {
            alert("Please select a valid date of birth.");
            objMonth.focus();
		    return false;
        }
    }    
    if(IsDobValid)
    {
        if(objGender.value == -1)
        {
            alert("Please select your gender");
            objGender.focus();
            return false;
        }
    }
    return true;
}
function validateMobileNumber()
{
    var objMobile1 = document.getElementById('ctl00_ContentPlaceHolder2_tbMobile1');
    var objMobile2 = document.getElementById('ctl00_ContentPlaceHolder2_tbMobile2');
    var objMobile3 = document.getElementById('ctl00_ContentPlaceHolder2_tbMobile3');

    var MobileNum = '' + objMobile1.value + objMobile2.value + objMobile3.value;
    var bResult;
 

    if (MobileNum == '')   
    {
        bResult=true;
    }
    else if  ((isInteger(MobileNum) && MobileNum.length == 10) ) 
    {
        bResult=true;
    
    }
    else {
        alert("Invalid Phone Number");
        bResult=false
    }
 
    return bResult

}

function validateSQInfo()
{                                                   
    var objNewPwd = document.getElementById('ctl00_ContentPlaceHolder2_txtNewPwd');
    var objconfirmPwd = document.getElementById('ctl00_ContentPlaceHolder2_txtConfrmPwd');
    var objSQ1 = document.getElementById('ctl00_ContentPlaceHolder2_ddlQuestion1');
    var objSQ2 = document.getElementById('ctl00_ContentPlaceHolder2_ddlQuestion2');
    var objAns1 = document.getElementById('ctl00_ContentPlaceHolder2_txtAnswer1');
    var objAns2 = document.getElementById('ctl00_ContentPlaceHolder2_txtAnswer2');
    var bool = false;
    
    if(objNewPwd.value != objconfirmPwd.value)
    {
        alert("Please enter same password in new password and confirm password");
        objNewPwd.focus();
        return false;
    }
    else if(objSQ1.value == -1) 
    {
        alert("Please select Security Question #1");
        objSQ1.focus();
        return false;        
    }
    else if(objAns1.value == '')
    {
        alert("Please enter your answer for the Security Question #1");
        objAns1.focus();
        return false;        
    }
    else if(objSQ2.value == -1 )
    {
        alert("Please select Security Question #2");
        objSQ2.focus();
        return false;
    }
    else if(objAns2.value == '')
    {
        alert("Please enter your answer for the Security Question #2");
        objAns2.focus();
        return false;        
    }
    else if(objSQ1.value == objSQ2.value)
    {
        alert("Security questions should not be same,\nPlease select different security questions");
        objAns2.focus();
        return false;        
    }    
    return true;
}


function ValidateString(ctrlId,minLength,maxLength,errorMsg,blankErrorMsg)
{
	var value = document.getElementById(ctrlId).value;
	if(value == '')
	{
		alert(blankErrorMsg);
		document.getElementById(ctrlId).focus();
		return false;
	}
	if(IsValidString(value))
	{
		if(value.length > maxLength)
		{
			alert(errorMsg+"\nNote:The length should not exceed "+maxLength+" characters.");
			document.getElementById(ctrlId).focus();
			return false;
		}
		if(value.length < minLength)
		{
			alert(errorMsg);
			document.getElementById(ctrlId).focus();
			return false;
		}
	}
	else
	{
		alert(errorMsg+"\nNote: It should not contain numbers/spaces/special characters.");
		document.getElementById(ctrlId).focus();
		return false;
	}
	return true;
}


function IsValidString(strValue)
{

				var Alphabet;
				//Alphabet = "^[a-zA-Z]+$";
				Alphabet =/^[A-Za-z]+$/;
				//A-Z or a-z Alphabets only allowed

				var name = strValue;
				if (name.search(Alphabet) == -1) 
				//	Or
				//if (!name.match(Alphabet))
				{
					return false;
				}
				else
				{
					return true;
				}

}

function IsValidateEmail(ctrlId,errorMsg)
{
    if(!ValidateEmail(ctrlId,errorMsg))
    {                
        return false;
    }
    return true;
}
// checks the format of the email
function ValidateEmail(ctrlId,errorMsg)
{
	var objEmail = document.getElementById(ctrlId);
	var value = document.getElementById(ctrlId).value;
	var emailPat = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	if ((value==null)||(value==""))
	{
		alert(errorMsg);
		objEmail.focus();
		return false;
	}
	else if (emailPat.test(value)==false)
	{
		alert(errorMsg);
		objEmail.focus();
		return false;
	}
	else
	{
		return true;
	}
}


function validateZIP(field) 
{
	var valid = "0123456789-";
	var hyphencount = 0;
	if(field=="")
	{
	    alert("Please enter a US Zip Code.");
		return false;
	}
	else
	{
	    if (field.length!=5 && field.length!=10) 
	    {
		    alert("Please enter a valid US Zip Code.");
		    return false;
	    }
	}
	for (var i=0; i < field.length; i++) 
	{
		temp = "" + field.substring(i, i+1);
		if (temp == "-") 
			hyphencount++;
		if (valid.indexOf(temp) == "-1") 
		{
			alert("Invalid characters in the Zip Code you have entered.  Please try again.");
			return false;
		}
		if ((hyphencount > 1) || ((field.length==10) && ""+field.charAt(5)!="-")) 
		{
			alert("The hyphen character should be used with a properly formatted 5 digit + four Zip Code, like '12345-6789'.\n   Please try again.");
			return false;
	    }
	}
	return true;
}


function CheckDob(month_id,date_id,year_id)
{

    if(month_id!=-1&&date_id!=-1&&year_id!=-1)
    {
	    var dt = month_id+"/"+date_id+"/"+year_id;
	    if (isDate(dt)==false)
	    {		
		    //alert("Please select a valid date of birth.");					
		    return false;
	    }
	    return true;
    }
    else 
    {
        //alert("Please select a valid date of birth.");					
		return false;
    }
	
}

var dtCh= "/";
var minYear=1900;
var maxYear=2050;

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(dtStr){
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strMonth=dtStr.substring(0,pos1)
	var strDay=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1){
		//alert("The date format should be : mm/dd/yyyy")
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
		//alert("Please select a valid month")
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		//alert("Please select a valid day")
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		//alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		//alert("Please select a valid date")
		return false
	}
return true
}



function CalcAge(objMonth,objDate,objYear) 
{
	if(isValidDateOfBirth(objMonth.value,objDate.value,objYear.value))
	{
		  var the_date  = new Date();
		  var DoB    = Date.parse(objMonth.value+"/"+objDate.value+"/"+objYear.value);
		  var DoC    = the_date;
		  var AOkay  = true;
		  // Check dates for validity
		  if ((DoB==null)||(isNaN(DoB))) 
		  {
			alert("Please enter a valid Date of Birth.");
			AOkay = false;
		  }
		  if ((DoC==null)||(isNaN(DoC))) 
		  {
			alert("Please enter a valid Date of Birth.");
			AOkay = false;
		  }

		//if the year is not Y2K compliant
		  var ToDate   = new Date();
		  var ToDateYr = ToDate.getFullYear();
		  var DateofB  = new Date(DoB);
		  var DoBYr    = DateofB.getFullYear();
		  var DoBMo    = DateofB.getMonth();
		  var DoBDy    = DateofB.getDate();
		  
		  var DateofC  = new Date(DoC);
		  var DoCYr    = DateofC.getFullYear();
		  var DoCMo    = DateofC.getMonth();
		  var DoCDy    = DateofC.getDate();
		  
		  if (DoB > DoC) 
		  {
			alert("Please enter a valid Date of Birth.");
			AOkay = false;
		  }
		  if (DoC > ToDate) 
		  {
			alert("Please enter a valid Date of Birth.");
			AOkay = false;
		  }
		  if (AOkay) 
		  {
			var AgeDays  = 0;
			var AgeWeeks = 0;
			var AgeMonth = 0;
			var AgeYears = 0;
			var AgeRmdr  = 0;
			mSecDiff   = DoC - DoB;
			AgeDays  = mSecDiff / 86400000;
			AgeWeeks = AgeDays / 7;
			AgeMonth = AgeDays / 30.4375;
			AgeYears = AgeDays / 365.24;    
			AgeYears = Math.floor(AgeYears);
			AgeRmdr  = (AgeDays - AgeYears * 365.24) / 30.4375;
			AgeDays  = Math.round(AgeDays * 10) / 10;
			AgeWeeks = Math.round(AgeWeeks * 10) / 10;
			AgeMonth = Math.round(AgeMonth * 10) / 10;
			AgeRmdr  = Math.round(AgeRmdr * 10) / 10;
			if (AgeYears>=18)
			{
				//alert("true");
				return true;
			}
			else
			{
				alert("You must be 18 years of age or older to register.");
				return false;
			}
		 }
		 else
			return false;
	}
	else
		return false;
}

function isValidDateOfBirth(month_id,date_id,year_id)
{
	var selDOBMonth = month_id;
	var selDOBDate = date_id;
	var selDOBYear = year_id;

	if(selDOBMonth=="-1" && selDOBDate=="-1" && selDOBYear=="-1")
	{
		alert("Please enter a valid Date of Birth.");
		return false;
	}
	else
	{
		if(selDOBMonth=="-1" || selDOBDate=="-1" || selDOBYear=="-1")
		{
			alert("Please enter a valid Date of Birth.");
			return false;
		}
		else
		{
			if(selDOBMonth=="02")
			{
				var returndays;
				// checks for the leap year
				if ((parseInt(selDOBYear)%4) == 0)
				{
					if (parseInt(selDOBYear)%100 == 0)
					{
						if (parseInt(selDOBYear)%400 != 0)
						  returndays=28;
						else
						  returndays=29;
					}
					else
						returndays=29;
				}
				else
					returndays=28;
				// continue the original function of date checking
				if(selDOBDate > returndays)
				{
					alert("Please enter a valid Date of Birth.");
					return false;
				}
				else
					return true;
			}
			else if(selDOBMonth=="01" || selDOBMonth=="03" || selDOBMonth=="05" || selDOBMonth=="07" || selDOBMonth=="08" || selDOBMonth=="10" || selDOBMonth=="12")
			{
				return true;
			}
			else if(selDOBMonth=="04" || selDOBMonth=="06" || selDOBMonth=="09" || selDOBMonth=="11")
			{
				if(selDOBDate=="31")
				{
					alert("Please enter a valid Date of Birth.");
					return false;
				}
				else
				{
					return true;
				}
			}
		}
	}
}
