﻿// JScript File
//added by nanda on 8/01/2007 for validation of integer,numeric and alphanumeric data and to display messages.
/******************************************************************************
Function Name               fnDisplayMessage
This common function to display message to user. 
It displays the message in a modal dialog window.
The key for message to be displayed to the user and the message type needs to passed as arguments to the function.
The message types are 'i' for info, 'e' for error, 'q' for question, 'w' for warning
******************************************************************************/
function fnDisplayMessage(messageKey, messageType)
{
	//var filepath = "TimeSheet/pages/Message.aspx?key="+ messageKey+"&type="+messageType;
	var filepath = "../../Message.aspx?key="+ messageKey+"&type="+messageType;
	var win = window.showModalDialog(filepath,this,"dialogHeight:120px;dialogWidth:370px;toolbar:no;center:yes;resizable:no;status:no;");
	return win;	
}

function fnIsNumeric(eleName)
{
	if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode == 46) || (event.keyCode == 8) || (event.keyCode == 9))
	{
		 if ((eleName.value.indexOf('.',0)) >= 0 && (event.keyCode == 46))
		 {
			event.returnValue = false;
		 }
	}
	else
	{
		event.returnValue = false;
	}
}

function fnIsDigits(eleName)
{
	if (event.keyCode >= 48 && event.keyCode <= 57)
	{
		 event.returnValue = true;
	}
	else
	{
		event.returnValue = false;
	}
}

function fnIsNumericIeMozilla($char, $mozChar) 
{
    if ($mozChar != null) {
        if (($mozChar >= 48 && $mozChar <= 57) || ($mozChar == 8) || ($mozChar == 46) || ($mozChar == 9)) 
        {
            $RetVal = true;
        }
        else {
            $RetVal = false;
        }
        return $RetVal;
    }
    if ($char != null) {
        if (($char >= 48 && $char <= 57) || ($char == 8) || ($char == 46) || ($char == 9)) 
        {
            $RetVal = true;
        }
        else {
            $RetVal = false;
        }
    }
    return $RetVal;
}

function fnIsAlphabet(eleName)
{ 
    if((event.keyCode >=65 && event.keyCode <=90) || (event.keyCode == 8) || (event.keyCode == 9))
    {
        event.returnValue=true;
    }
    else
    {
        event.returnValue=false;
    }
}
function IsString() {
    if ((event.keyCode >= 97 && event.keyCode <= 122) || (event.keyCode >= 65 && event.keyCode <= 90) || (event.keyCode == 32)) {

        event.returnValue = true;

    }
    else {

        event.returnValue = false;


    }

}

function fnIsAlphaNumeric(eleName)
{  
	if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode == 46) || (event.keyCode >= 65 && event.keyCode <= 90) || (event.keyCode >= 97 && event.keyCode <= 122) || (event.keyCode == 8) || (event.keyCode == 9) || (event.keyCode == 127)|| (event.keyCode == 32))
	{
		 if ((eleName.value.indexOf('.',0)) >= 0 && (event.keyCode == 46))
		 {
			event.returnValue = false;
		 }
	}
	else
	{
		event.returnValue = false;
	}
}
function fnIsDigitsTelephone(eleName)
{
	if ( (event.keyCode == 32) || (event.keyCode == 40) || (event.keyCode == 41) || (event.keyCode == 43) || (event.keyCode == 45) || (event.keyCode >= 48 && event.keyCode <= 57) )
	{
		 event.returnValue = true;
	}
	else
	{
		event.returnValue = false;
	}
}

function fnIsDigitsIeMozilla($char, $mozChar) {
    if ($mozChar != null) {
        if (($mozChar == 32) || ($mozChar == 40) || ($mozChar == 41) || ($mozChar == 43) || ($mozChar == 45) || ($mozChar == 189) || ($mozChar >= 48 && $mozChar <= 57) || ($mozChar >= 96 && $mozChar <= 105) || ($mozChar == 8) || ($mozChar == 46) || ($mozChar == 9))
        {
            $RetVal = true;
        }
        else {
            $RetVal = false;
        }
        return $RetVal;
    }
    if ($char != null) {
        if (($char == 32) || ($char == 40) || ($char == 41) || ($char == 43) || ($char == 45) || ($char == 189) || ($char >= 48 && $char <= 57) || ($char >= 96 && $char <= 105) || ($char == 8) || ($char == 46) || ($char == 9))
        {
            $RetVal = true;
        }
        else {
            $RetVal = false;
        }
    }
    return $RetVal;
}

/******************************************************************************
Function Name               returnTrue
It returns true from modal dialog and closes it.
******************************************************************************/
function returnTrue()
{
    window.returnValue = true;
    self.close();
    return false;
}
/******************************************************************************
Function Name               returnFalse
It returns false from modal dialog and closes it.
******************************************************************************/
function returnFalse()
{
    window.returnValue = false;
    self.close();
    return false;
}
//added by nanda on 26/12/2006
 //this code will redirect to error page with error code 
function RedirectToErrorPage(messageKey)
    {
	    window.location ="Error.aspx?messageKey="+ messageKey;
    }
    
function TrimStringCommon(pstr)
{
  pstr = pstr.replace(/^\s+|\s+$/ig, ''); 
  return pstr;
}

function fnDeleteConfirm()
{

var confirm=fnDisplayMessage("12003","q");
  if(confirm == true)
   {
    return true;
   }
  else
   {
    return false;
   }
    return true;
} 
//added by nanda to check valid date
var dtCh= "/";
var minYear=1900;
var maxYear=2100;

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")
		fnDisplayMessage("12008","i");
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
		//alert("Please enter a valid month")
		fnDisplayMessage("12009","i");
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		//alert("Please enter a valid day")
		fnDisplayMessage("12010","i");
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		//alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
		fnDisplayMessage("12011","i");
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		//alert("Please enter a valid date")
		fnDisplayMessage("12012","i");
		return false
	}
return true
}

function fnInvisibleFaq()
{
    document.all['ctl00_ContentPlaceHolder1_rfvQuestion'].style.display = 'none';
    document.all['ctl00_ContentPlaceHolder1_rfvAnswer'].style.display = 'none';
    document.all['ctl00_ContentPlaceHolder1_RequiredFieldValidator1'].style.display = 'none';    
}
function fnvisibleFaq() {  
    document.all['ctl00_ContentPlaceHolder1_rfvQuestion'].style.display = 'block';
    document.all['ctl00_ContentPlaceHolder1_rfvAnswer'].style.display = 'block';
    document.all['ctl00_ContentPlaceHolder1_RequiredFieldValidator1'].style.display = 'block';    
}
function fnRemovMessage()
{
document.all['ctl00_ContentPlaceHolder1_lblMessage'].innerText="";
}
// Function to encounter Backspace
function IsKeyDown()
{
	if (event.keyCode > 0 && event.keyCode != 46 && event.keyCode != 8)
	 event.returnValue = false;
}

function fnChkListBoxOthers(listbox,txtbox) {
    var Contador = 0;
    var flag = false;
    for (var i = 0; i < document.getElementById(listbox).options.length; i++) {
        if ((document.getElementById(listbox).options[i].selected == true) &&
                    (document.getElementById(listbox).options[i].text == "Others")) {
            flag = true;
            document.getElementById(txtbox).disabled = false;
            document.getElementById('OtherOrg').style.color="Black";//The OtherOrg is the id of the Table Data in table
            break;
        }
    }
    if (flag == false) {
        document.getElementById(txtbox).value = "";
        document.getElementById(txtbox).disabled = true;
        document.getElementById('OtherOrg').style.color="Gray";//The OtherOrg is the id of the Table Data in table
    }
}

function fnIsAlphaNumeric_Photos($char, $mozChar)
{  
    if($mozChar != null)
    {
        if (($mozChar >= 48 && $mozChar <= 57) || ($mozChar == 46) || ($mozChar == 45) || ($mozChar == 95) || ($mozChar >= 65 && $mozChar <= 90) || ($mozChar >= 97 && $mozChar <= 122) || ($mozChar == 8) || ($mozChar == 9) || ($mozChar == 127)|| ($mozChar == 32))
        {
            return true;            
        }
        else
            return false;
    }
    else
    {
        if (($char >= 48 && $char <= 57) || ($char == 46) || ($char == 45) || ($char == 95) || ($char >= 65 && $char <= 90) || ($char >= 97 && $char <= 122) || ($char == 8) || ($char == 9) || ($char == 127)|| ($char == 32))
	    {
//		     if ((eleName.value.indexOf('.',0)) >= 0 && (event.keyCode == 46))
//		    {
//			    event.returnValue = false;
//		    }
            return true;
	    }    
	    else
	        return false;
    }


}

function fnCheckAlphabet($char, $mozChar) {
    var lblMsg = document.getElementById('ctl00_ContentPlaceHolder_lblMsg');

    if ($mozChar != null) {
        if (($mozChar >= 65 && $mozChar <= 90) || ($mozChar >= 97 && $mozChar <= 122) || $mozChar == 0 || $char == 8 || $mozChar == 13 || $mozChar == 9 || $mozChar == 32) {
            $RetVal = true;
            //lblMsg.innerHTML="";
        }
        else {
            $RetVal = false;
            //lblMsg.innerHTML="Numeric data is not allowed."           
            alert("Numeric data is not allowed.");
        }
    }
    else { // Must be an IE-compatible Browser
        if (($char >= 65 && $char <= 90) || ($char >= 97 && $char <= 122) || $char == 13 || $char == 8 || $char == 9 || $char == 32) {
            $RetVal = true;
            //lblMsg.innerHTML="";
        }
        else {
            $RetVal = false;
            //lblMsg.innerHTML="Numeric data is not allowed." 
            alert("Numeric data is not allowed.");
        }
    }
    return $RetVal;
}


function validateFaq() {
    var txtQuestion = document.getElementById("ctl00_ContentPlaceHolder1_txtQuestion");
    var txtAnswer = document.getElementById("ctl00_ContentPlaceHolder1_txtAnswer");
    var txtSort = document.getElementById("ctl00_ContentPlaceHolder1_txtSort");    
    var errmsg = document.getElementById("ctl00_ContentPlaceHolder1_errmsg");    
    var retval = true;
    var displayMan = "";

    var txtQue = txtQuestion.value;
    txtQue = txtQue.replace(/^\s*|\s*$/g, ''); //remove white space from fron and end

    var txtAns = txtAnswer.value;
    txtAns = txtAns.replace(/^\s*|\s*$/g, ''); //remove white space from fron and end
        
    //alert(txtQuestion.value.split(' ').length);
    if (Trim(txtQuestion.value) == "") {
        displayMan = displayMan + "Question is required</br>";
        txtQuestion.value = "";
        if (retval != false)        
            txtQuestion.focus();
        retval = false;
    }
    else if (txtQue.split(' ').length >500) {
        displayMan = displayMan + "Not more than 500 words are allowed in Question<br>";
        retval = false;
    }

    //alert(txtAnswer.value.split(' ').length);
   if (Trim(txtAnswer.value) == "") {
         txtAnswer.value = "";
        displayMan = displayMan + "Answer is required<br>";
        if (retval != false)
            txtAnswer.focus();
        retval = false;
    }
    else if (txtAns.split(' ').length > 500) {
        displayMan = displayMan + "Not more than 500 words are allowed in Answer</br>";
        retval = false;
    }

    if (Trim(txtSort.value) == "") {
        displayMan = displayMan + "Sort order is required";
        if (retval != false)
            txtSort.focus();
        retval = false;
    }
    
    errmsg.innerHTML = displayMan;
    return retval;
}
