﻿/* common javascript functions are all included in this file */
function TrimString(strInputString)
{
    var outputString;
    outputString  = strInputString.replace(/^\s+|\s+$/g,"");
    return outputString; 
}

function IsStringEmpty(strInputString)
{
    var outputString = "";
    outputString  = strInputString.replace(/^\s+|\s+$/g,"");
    if (outputString == "")
    
        return true;
    else
        return false;
}

function IsValidEmailAddress(strInputString)
{
    var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
    if (filter.test(strInputString))
        return true;
    else
        return false;
}

function IsValidDateMMDDYYYY(strDate)
{
    var validformat=/^\d{1,2}\/\d{1,2}\/\d{4}$/;
	var returnval = false;
	if (!validformat.test(strDate))
	{
	    return false;
	}
	else
	{ 
		//Detailed check for valid date ranges
		var monthfield=strDate.split("/")[0]
		var dayfield=strDate.split("/")[1]
		var yearfield=strDate.split("/")[2]
		var dayobj = new Date(yearfield, monthfield-1, dayfield)
		if ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield))
		{
		    return false;
		}
		else
		{
		    return true;
		}
	}
}

function IsValidDateMMYYYY(strDate)
{
    var dateformat = /^([1][0,1,2]|[0][1-9])[/](20\d{2})$/;
    return dateformat.test(strDate);
}

//function IsInteger( strValue ) 
//{
///***********************************************
//DESCRIPTION: Validates that a string contains only 
//    valid integer number.
//PARAMETERS:
//   strValue - String to be tested for validity
//RETURNS:
//   True if valid, otherwise false.
//***************************************************************************/
//  var objRegExp  = /(^-?\d\d*$)/;
//  //check for integer characters
//  return objRegExp.test(strValue);
//}

function  IsNumeric( strValue )
{
/******************************************************************************
DESCRIPTION: Validates that a string contains only valid numbers.
PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.
*****************************************************************************/
  //var objRegExp  =  /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/; 
  var objRegExp  =  /^-?[0-9]*[.]?[0-9][0-9]*$/;
  //check for numeric characters 
  return objRegExp.test(strValue);
}

function  IsDecimal( strValue )
{
/******************************************************************************
DESCRIPTION: Validates that a string contains only valid numbers.
PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.
*****************************************************************************/
  //var objRegExp  =  /(^[0-9]*[1-9][0-9]*$)|(^[0-9]*[1-9][0-9]*.[0-9]*$)|(^[0-9]*.[0-9]*[1-9][0-9]*$)/; 
  var objRegExp = /^[0-9]*[.]?[0-9][0-9]*$/;
  //check for numeric characters 
  return objRegExp.test(strValue);
}


function  IsInteger( strValue )
{
/******************************************************************************
DESCRIPTION: Validates that a string contains only valid numbers.
PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.
*****************************************************************************/
  var objRegExp  =  /^[0-9]*[1-9][0-9]*$/; 
  //check for numeric characters 
  return objRegExp.test(strValue);
}


//Check only char in string
function  IsString( strValue )
{
  var objRegExp  = /^[A-Za-z]*$/; 
  return objRegExp.test(strValue);
}


//Check for time format
function IsValidHourFormat( strValue)
{
    var result;
    //12 hr format
    var objRegExp = /(^([0][1-9]|1[012])\:([0-5][0-9]) ([AM|PM|]{2,2}?)$)/;
    result = objRegExp.test(strValue);
    if (result == false)
        alert("Please enter valid time in HH:MM AM/PM format.");

    //24 hr format        
//    var objRegExp = /(^([0-1]?[0-9]{1}|2[0-3]{1}):([0-5]{1}[0-9]{1})$)/;
//    result = objRegExp.test(strValue);
//    if (result == false)
//        alert("Please enter valid time in HH:MM format.");
        
    return result;
}


////Tooltip function
function show(obj,msg, evt)
{
    var e = (window.event) ? window.event : evt;
    document.getElementById("messageBox").style.top = (e.clientY + 5)  + document.documentElement.scrollTop + "px";
    document.getElementById("messageBox").style.left = (e.clientX + 5) + "px";
    if (obj.href != null)
        document.getElementById("contents").innerHTML=msg+"<p>"+obj.href;
    else
        document.getElementById("contents").innerHTML=msg;
    document.getElementById("messageBox").style.display="block";
}

function hide()
{
    document.getElementById("messageBox").style.display="none";
}
        
function ReplaceBR(strInputString)
{
    var outputString;
    outputString  = strInputString.replace(/<br>/g,"\n");
    return outputString; 
}

function ReplaceBRWithSpace(strInputString)
{
    var outputString;
    outputString  = strInputString.replace(/<br>/g,"&nbsp;");    
    return outputString;
    
}


function ReplaceSpaceWithUnderScore(strInputString)
{
    var outputString;
    outputString  = strInputString.replace(/ /g,"_");    
    return outputString;
    
}

function IsValidTime(strValue)
{
    var result;
    var objRegExp = /(^([0-1]?[0-9]{1}|2[0-3]{1}):([0-5]{1}[0-9]{1})$)/;
    result = objRegExp.test(strValue);
    if (result == false)
        alert("Please enter valid time in HH:MM format.");
    return result;
}

        
