﻿// JScript File
//Checks malicious input in form
function DenyMalInput()
{
    //If clientsidevalidation has been marked off, then do not validate
    if (typeof DataValidate != "undefined")
        if (!DataValidate) return true; 
    
    var length = document.forms[0].elements.length;
    for (var i = 0; i < document.forms[0].elements.length; i++) 
    {
        if (document.forms[0].elements[i].value != malstring(document.forms[0].elements[i].value))
            {
          
            
                var alertString = "Cannot accept % and any other characters with <>#.";
                alert (alertString);
                return (false);
            }
     }
     return true;
}
function malstring(string) {
    try
    {
        if(string!="<" && string!=">" && string!="<=" && string!=">=" && string!="<>" && string!="#")
        {
	        string = string.replace(/\</g,"");
	        string = string.replace(/\>/g,"");
	        string = string.replace(/&#/g,"");
	        string = string.replace(/%/g,"");
	    }
	}
	catch(err)
	{}
	//string = string.replace(/\+/g,"");
	return (string);
}

//Does LTrim and RTrim to a string
function Trim(string)
{
	while (string.substring(0,1) == ' ')
	{
		string = string.substring(1, string.length);
	}
	
	while (string.substring(string.length-1, string.length) == ' ')
	{
		string = string.substring(0,string.length-1);
	}
	return string;
}

//Get Date from Date control
function getDate(CtrlName)
{       
    if(navigator.appName == "Netscape")
    {
        ChildWindow = window.open('../Common/CalendarControl.aspx?FormName=' + document.forms[0].name +'&CtrlName=' + CtrlName, "PopUpCalendar", "width=257,height=250,top=" + (screen.height - 280) /2 + ",left=" + (screen.width - 245) / 2 + ",toolbars=no,scrollbars=no,status=no,resizable=no");	
    }
    else
    {
        ChildWindow = window.open('../Common/CalendarControl.aspx?FormName=' + document.forms[0].name +'&CtrlName=' + CtrlName, "PopUpCalendar", "width=250,height=260,top=" + (screen.height - 280) /2 + ",left=" + (screen.width - 245) / 2 + ",toolbars=no,scrollbars=no,status=no,resizable=no");	
    }
}
	
//Set TextBox with selected date in date control.
function SetDate(Control,value)
{
    document.getElementById(Control).value=value;	    
}

//function for validating date.
function ValidateDateString(dateStr)
{   
    var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/; 
    var matchArray = dateStr.match(datePat); // is the format ok? 

    if (matchArray == null) 
        return false; 

    month = matchArray[1]; // parse date into variables 
    day = matchArray[3]; 
    year = matchArray[4]; 
    if (month < 1 || month > 12) 
        return false; 

    if (day < 1 || day > 31) 
        return false; 

    if ((month==4 || month==6 || month==9 || month==11) && day==31) 
        return false 

    if (month == 2) 
    { // check for february 29th 
        var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)); 

        if (day>29 || (day==29 && !isleap)) 
            return false; 

    } 
    return true;
}

