function GetStartDate(rvalue)
{
    var timeperiodrvalue;
	var month,startdateval;
	var d = new Date();
	if (rvalue=="YTD")
  	 {
  	  startdateval="1/1/" + d.getFullYear();
  	  return startdateval;
  	 } 
	if (rvalue=="QTD")
	{
		month=d.getMonth()+1;
		if ((month>=1) && (month<=3))
			startdateval="1/1/" + d.getFullYear();
		else if ((month>3) && (month<=6)) 
			startdateval="4/1/" + d.getFullYear();
		else if ((month>6) && (month<=9 ))
			startdateval="7/1/" + d.getFullYear();
		else if ((month>9) && (month<=12))/*Changed from 10 to 9 --RaviShankar for including October month in validation*/
			startdateval="10/1/" + d.getFullYear();
		return startdateval;	
	}
	if (rvalue=="MTD")
	{
		startdateval=(d.getMonth()+1) + "/" + "1/" + d.getFullYear();
		return startdateval
	}
	
	if (rvalue=="WTD") 
	{
		var weekday;
		weekday=d.getDay();
		dateval=d.getDate() - weekday;
		
		if(dateval<=0)
		{
			
			// Non-Leap Month days
				MonthDays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
			// Leap year Month days
				lMonthDays = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
				Year=d.getFullYear();
				if ((d.getMonth())>0)
				{
					
					if ((Year%4==0 || Year%400==0) && Year%100!=0 )
						TotalMonthDays=lMonthDays[d.getMonth()-1];
					else
						TotalMonthDays=MonthDays[d.getMonth()-1];
					dateval=TotalMonthDays + dateval;
					startdateval=(d.getMonth()) + "/" + dateval + "/" + d.getFullYear();
				}
				else
				{
				TotalMonthDays=31;
				
				dateval=TotalMonthDays + dateval;
				
				startdateval=12 + "/" + dateval + "/" + (d.getFullYear()-1);
				}
				
				
		}
		else
				startdateval=(d.getMonth()+1) + "/" + dateval + "/" + d.getFullYear();
			
	return startdateval;
	}
	
	if (rvalue=="1stQ")
	{
		startdateval="1/1/" + d.getFullYear();
		return startdateval;
	}	
	if (rvalue=="2ndQ") 
	{
		startdateval="4/1/" + d.getFullYear();
		return startdateval;
	}
	if (rvalue=="3rdQ")
	{
		startdateval="7/1/" + d.getFullYear();
		return startdateval;
	}
	if (rvalue=="4thQ") 
	{
		startdateval="10/1/" + d.getFullYear();
		return startdateval;
	}
	if (rvalue=="Previous Year")
	{
		startdateval="1/1/" + (d.getFullYear()-1);
		return startdateval;
	}
	if (rvalue=="Previous Quarter") 
	{
		var enddateval;
		month=d.getMonth()+1;
		if ((month>=1) && (month<=3))
			startdateval="10/1/" + (d.getFullYear()-1);
		else if ((month>3) && (month<=6)) 
			startdateval="1/1/" + d.getFullYear();
		else if ((month>6) && (month<=9))
			startdateval="4/1/" + d.getFullYear();
		else if ((month>9) && (month<=12))
			startdateval="7/1/" + d.getFullYear();
		return startdateval;
	}
	if (rvalue=="Previous Month")
	{
		if ((d.getMonth()+1)>1)
			startdateval=(d.getMonth()) + "/" + "1/" + d.getFullYear();
		else if (d.getMonth()==0)
			startdateval="12/1/" + (d.getFullYear()-1);
		return startdateval;
	}
	if (rvalue=="Customize")
	{
	 startdateval="";
	 return startdateval;
	}
}

function GetEndDate(rvalue)
{
    var timeperiodrvalue,seperator;
	var month,enddateval,Year;
	var d = new Date();
	if (rvalue=="YTD")
	{
		enddateval=(d.getMonth()+1) + "/" + d.getDate() + "/" + d.getFullYear();
		return enddateval;
	}	
	if (rvalue=="QTD")
	{
		enddateval=(d.getMonth()+1) + "/" + d.getDate() + "/" + d.getFullYear();
		return enddateval;
	}
	if (rvalue=="MTD")
	{
		enddateval=(d.getMonth()+1) + "/" + d.getDate() + "/" + d.getFullYear();
		return enddateval;
	}
	if (rvalue=="WTD") 
	{
		var weekday;
		weekday=d.getDay();
		dateval=d.getDate() - weekday;
		enddateval=(d.getMonth()+1) + "/" + d.getDate() + "/" + d.getFullYear();
		return enddateval;
	}
	if (rvalue=="1stQ")
	{
		enddateval="3/31/" + d.getFullYear();
		return enddateval;
	}	
	if (rvalue=="2ndQ") 
	{
		enddateval="6/30/" + d.getFullYear();
		return enddateval;
	}
	if (rvalue=="3rdQ")
	{
		enddateval="9/30/" + d.getFullYear();
		return enddateval;
	}
	if (rvalue=="4thQ") 
	{
		enddateval="12/31/" + d.getFullYear();
		return enddateval;
	}
	if (rvalue=="Previous Year")
	{
		enddateval="12/31/" + (d.getFullYear()-1);
		return enddateval;
	}
	if (rvalue=="Previous Quarter") 
	{
		var enddateval;
		month=d.getMonth()+1;
		if ((month>=1) && (month<=3))
			enddateval="12/31/" + (d.getFullYear()-1);
		else if ((month>3) && (month<=6)) 
			enddateval="3/31/" + d.getFullYear();
		else if ((month>6) && (month<=9))
			enddateval="6/30/" + d.getFullYear();
		else if ((month>9) && (month<=12))
			enddateval="9/30/" + d.getFullYear();
		return enddateval;
	}
	if (rvalue=="Previous Month")
	{
	   
		if ((d.getMonth()+1)>1)
		{
		 //***********************************************************************
		     // Non-Leap Month days
				MonthDays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
			// Leap year Month days
				lMonthDays = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
					
		Year=d.getFullYear();

		if ((Year%4==0 || Year%400==0) && Year%100!=0 )
			TotalMonthDays=lMonthDays[d.getMonth()-1];
		else
		TotalMonthDays=MonthDays[d.getMonth()-1];
		
		
	//***********************************************************************		
			
			enddateval=(d.getMonth()) + "/" + TotalMonthDays + "/" + d.getFullYear();
			return enddateval;
		}
		else if (d.getMonth()==0)
		{
			enddateval="12/31/" + (d.getFullYear()-1);
			return enddateval;	
		}
	}
	if (rvalue=="Customize")
	{
	 enddateval="";
	 return enddateval;
	}
}

function CheckDate(rvalue)
{
    var timeperiodrvalue;
    var seperator,TotalMonthDays;
	var Month,Year,Todate,startdateval;
    Months = [1, 2, 3, 4, 5, 6,7, 8,9,10,11,12];
    // Non-Leap Month days
    MonthDays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
    // Leap year Month days
    lMonthDays = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
	if (rvalue==null || rvalue=="null" || rvalue=="" || rvalue=="undefined")
	 return false;
	if ((rvalue.length > 10) || (rvalue.length < 5))
	 return false;
	if (((rvalue.indexOf("-") > 0) && (rvalue.indexOf("/") > 0)) || ((rvalue.indexOf("-") < 0) && (rvalue.indexOf("/") < 0)))
	 return false;
	if (((rvalue.indexOf("/"))==(rvalue.lastIndexOf("/"))) && ((rvalue.indexOf("-"))==(rvalue.lastIndexOf("-"))))
	 return false;
	if(isNaN(Date.parse(rvalue)))
	 return false; 
	if ((rvalue.indexOf("/")) > 0)
	 seperator="/";
	else
	 {
	  if ((rvalue.indexOf("-")) > 0)
	   seperator="-"; 
	  else
	   return false;
	 }  
	Month=(rvalue.substring(0, rvalue.indexOf(seperator)));
	if (Month >12)
	 return false;
	Year=rvalue.substring((rvalue.lastIndexOf(seperator)+1),rvalue.length);
	if (Year < 1)
	 return false;
	todate=rvalue.substring(rvalue.indexOf(seperator)+1,rvalue.lastIndexOf(seperator));
	if (isNaN(Month) || isNaN(todate) || isNaN(Year))
	 return false;
	if ((Year%4==0 || Year%400==0) && Year%100!=0 )
     TotalMonthDays=lMonthDays[Month-1];
    else
     TotalMonthDays=MonthDays[Month-1];
    if (todate > TotalMonthDays)
     return false;
    var d = new Date(rvalue);
    var EnteredDate=d.getMonth()+1 + "/" + d.getDate() + "/" + d.getFullYear();
    return EnteredDate; 
}

function CheckTime(rvalue)
{
    var Hours,Minutes,seperator;
	if (rvalue==null || rvalue=="null" || rvalue=="" || rvalue=="undefined")
	 return false;
	if ((rvalue.length > 5) || (rvalue.length < 4))
	 return false;
	if (rvalue.indexOf(":") < 0) 
	 return false;
	seperator=":";
	Hours=(rvalue.substring(0, rvalue.indexOf(seperator)));
	if (isNaN(Hours))
	 return false;
	if ((Hours >23)||(Hours<0))
	 return false;
	Minutes=rvalue.substring((rvalue.lastIndexOf(seperator)+1),rvalue.length);
	if (isNaN(Minutes))
	 return false;
	if ((Minutes>59)||(Minutes<0))
	 return false;
    return true;
}