﻿// JScript File

String.prototype.trim = function () 
{
    return this.replace(/^\s*/, "").replace(/\s*$/, "");
}

function ValidateInput()
{
    try
    { 
        var Title = document.getElementById(txtTitleID).value;
        var Programs = document.getElementById(ddlProgramsID).options.value;  
        var StartDate = document.getElementById(txtStartDateID).value;          
        var EndDate   = document.getElementById(txtEndDateID).value;  
           
        Title = Title.trim();
        Programs = Programs.trim();
        StartDate = StartDate.trim();
        EndDate = EndDate.trim();
        
        if (Title.length==0)
        {
            alert("Please enter event title.");
            document.getElementById(txtTitleID).focus();
            return false; 
        }            
        
        if (Programs.length==0 || Programs=="0" )
        {
            alert("Please select a program.");
            document.getElementById(ddlProgramsID).focus();
            return false; 
        }
        
        if (StartDate.length==0)
        {
            alert("Please select event start date.");
            document.getElementById(txtStartDateID).focus();
            return false; 
        }             
       
        if (document.getElementById(rbtnOneID).checked )
        {
            var Watershed = document.getElementById(ddlWatershedsID).options.value; 
            Watershed = Watershed.trim();
            
            if (Watershed.length==0 || Watershed=="0")
            {
                alert("Please select watershed.");
                document.getElementById(ddlWatershedsID).focus();
                return false; 
            }
        } 
        
        if (document.getElementById(ucStartTimeID+"_hour").value == 0)
        {
            alert("Please enter the start time.");
            document.getElementById(ucStartTimeID+"_hour").focus();
            return false; 
        } 
        
        if (EndDate.length>0 && StartDate.length>0)
        {
            if (DateCompare(StartDate, EndDate) == false)
            {
                alert ("End time must occur after the start time");
                document.getElementById(txtEndDateID).focus();
                return false;
            }
//            if (!DateCheck(StartDate, EndDate))
//            {
//                document.getElementById(txtEndDateID).focus();
//                return false;
//            }
        }
        
        return true; 
    }
    catch(err)
    {
        alert("Error : " + err.description);
        return false;
    }   
}

function SetEndDate()
{
    try
    { 
        var StartDate = document.getElementById(txtStartDateID).value;          
        var EndDate   = document.getElementById(txtEndDateID).value;  
        
        StartDate = StartDate.trim();
        document.getElementById(txtEndDateID).value = StartDate;
    }
    catch(err)
    {
        alert(err.description);
        return false;
    }   
}

function ValidateSearchInput()
{
    try
    { 
        var StartDate = document.getElementById(txtFallsOnID).value;          
        var EndDate   = document.getElementById(txtBetweenID).value; 
        
        if (StartDate.trim().length>0)
        {
//            var sDate = new Date(StartDate.trim());
//            if (isNaN(sDate))
//            {
//                alert ( 'Pleaser enter valid date' );
//                document.getElementById(txtFallsOnID).focus();
//                return false;
//            }
            
            if (IsValidDate(StartDate.trim())==false)
            {
                alert ( 'Pleaser enter valid falls on date' );
                document.getElementById(txtFallsOnID).focus();
                return false;
            }
        }
        
        if (EndDate.trim().length>0)
        {
            if (IsValidDate(EndDate.trim())==false)
            {
                alert ( 'Pleaser enter valid between date' );
                document.getElementById(txtBetweenID).focus();
                return false;
            }
        } 
        
        if (DateCompare(StartDate, EndDate) == false)
        {
            alert ("End time must occur after the start time");
            document.getElementById(txtBetweenID).focus();
            return false;
        }
        
        return true;
    }
    catch(err)
    {
        alert(err.description);
        return false;
    }   
}

function DateCompare(StartDate, EndDate)
{ 
    try
    { 
        StartDate = StartDate.trim();
        EndDate = EndDate.trim();

        var sDate = new Date(StartDate);
        var eDate = new Date(EndDate);        
        
        if (sDate >eDate)
        {
            //alert ("End time must occur after the start time");
            return false;
        }

        //  if (sDate < eDate){
        //    alert ("End Date is greater");
        //  }

        //  if (sDate == eDate){
        //    alert ("Dates are the same");
        //  }
        return true;
    }
    catch(err)
    {
        alert(err.description);
        return false;
    }  
}


function DateCheck(from, to)
{
    if (Date.parse(from.value) <= Date.parse(to.value))
    {
        //alert("The dates are valid.");
        return true;
    }
    else
    {
        if (from.value == "" || to.value == "") 
        {
            alert("Both dates must be entered.");
            return false;
        }
        else 
        {
            alert("End date must occur after the start date.");
            return false;
        }
    }
}
    
function ValidateInput1()
{
    try
    { 
    }
    catch(err)
    {
        alert(err.description);
    }   
}

function ddlRecursiveChange()
{
    try
    {   
        if(document.getElementById(ddlRecursiveID).options.value=="0")
        {
            document.getElementById(lblRecursiveToID).style.visibility ='hidden';
            document.getElementById(txtRecursiveToID).style.visibility ='hidden';
            document.all("imgRecursiveTo").style.visibility ='hidden';
            //objImg = document.getElementById("imgRecursiveTo");
            //if (objImg)

        }
        else
        {
            document.getElementById(lblRecursiveToID).style.visibility ='visible';
            document.getElementById(txtRecursiveToID).style.visibility ='visible';
            document.getElementById("imgRecursiveTo").style.visibility ='visible';
            
            var datetime=new Date();
            var day=datetime.getDate();
            var month=datetime.getMonth(); 
            var year=datetime.getYear();
            document.getElementById(txtRecursiveToID).innerText = month+1 + "/" + day + "/" + year;
            
        }
    }
    catch(err)
    {
        alert(err.description);
    } 
}


/*
	ValidDate - true for valid date, false for invalid
*/
function IsValidDate(PossibleDate)
{
	var PDate = new String(PossibleDate);
	
	var regex = /(^\d{1,2})\/(\d{1,2})\/(\d{4,4})|(^\d{1,2})\/(\d{1,2})\/(\d{2,2})/;
	
	if( regex.test(PDate) )
	{
		var month = new String(RegExp.$1);
		var day = new String(RegExp.$2);
		var year = new String(RegExp.$3);
		if( month.length == 0 )
		{
			month = new String(RegExp.$4);
			day = new String(RegExp.$5);
			year = new String(RegExp.$6);
		}
		
		var today = new Date();
		var thisYear = new String(today.getFullYear());
		
		if( year.length == 2 )
		{					
			if( year > 50 )
			{
				year = String(Number(thisYear.substring(0,2))-1) + year;
			}
			else
			{
				year = thisYear.substring(0,2) + year;
			}
		}
		
		if( month < 1 || month > 12 ) { return false; }

		if( day < 1 || day > 31 ) { return false; }

		if ((month==4 || month==6 || month==9 || month==11) && day>30) { 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;
			}
		}		
		
		if( (Number(year) < Number(thisYear) - 250) ||
			(Number(year) > Number(thisYear) + 250) )
			{ return false; }
			
		return true;
	}
	return false;
}

