/*CREATED BY KUNAL AKHAURY
CoFuture
kunal.akhaury@cofuture.com
JavaScript validation file*/

function IsEmailValid(ElemName)
{
	var EmailOk  = true
	var Temp     = ElemName
	var AtSym    = Temp.indexOf('@')
	var Period   = Temp.lastIndexOf('.')
	var Space    = Temp.indexOf(' ')
	var Length   = Temp.length - 1   // Array is from 0 to length-1

	if(Length >0)
	{
		if ((AtSym < 1) ||                 // '@' cannot be in first position
		(Period <= AtSym+1) ||             // Must be atleast one valid char btwn '@' and '.'
		(Period == Length ) ||             // Must be atleast one valid char after '.'
		(Space  != -1))                    // No empty spaces permitted
		{  
		  EmailOk = false
		  alert('Please enter a valid e-mail address!')
		}		
	}		
	return EmailOk
}


function IsPhone(checkString)
{
    newString = "";    // REVISED/CORRECTED STRING
    i = 0;         // COUNTER FOR LOOPING THROUGH STRING

    // LOOP THROUGH STRING CHARACTER BY CHARACTER
    for (i = 0; i < checkString.length; i++) {
        ch = checkString.substring(i, i+1);

        // ENSURE CHARACTER IS A DIGIT
        if ((ch >= "0" && ch <= "9") || ch == "-" || ch == " "  || ch == ")" || ch == "(" ) 
        {
            newString += ch;
        }
        else return false;
    }
    return true;
}



function isNumeric(checkString)
{
	i = 0;         // COUNTER FOR LOOPING THROUGH STRING

    // LOOP THROUGH STRING CHARACTER BY CHARACTER
    for (i = 0; i < checkString.length; i++) 
    {
        ch = checkString.substring(i, i+1);
        // ENSURE CHARACTER IS A DIGIT
        if (ch < "0" || ch > "9") 
        {
            return false;
		}
    }
return true;
}

function checkQuote(checkString)
{
	i = 0;         // COUNTER FOR LOOPING THROUGH STRING

    // LOOP THROUGH STRING CHARACTER BY CHARACTER
    for (i = 0; i < checkString.length; i++) 
    {
        ch = checkString.substring(i, i+1);
        // ENSURE CHARACTER IS A DIGIT
        if (ch == "'" || ch ==  "\"") 
        {
            return true;
		}
    }
return false;
}

function isAlpha(checkString)
{
    i = 0;         // COUNTER FOR LOOPING THROUGH STRING

    // LOOP THROUGH STRING CHARACTER BY CHARACTER
    for (i = 0; i < checkString.length; i++) {
        ch = checkString.substring(i, i+1);

        // ENSURE CHARACTER IS AN ALPHA CHARACTER
        if ((ch >= "a" && ch <= "z") || (ch >= "A" && ch <= "Z" ) || ch == " ") {
        }
        else
        {
			return false;
		}
    }
return true;
}

function isDate(strDate){
//	window.onerror=null // for all other strange errors
	var err=0
	var psj=0;
	if (strDate.length != 10) err=1
	month = strDate.substring(3, 5)// month
	c = strDate.substring(2, 3)// '/'
	day = strDate.substring(0, 2)// day
	e = strDate.substring(5, 6)// '/'
	year2 = strDate.substring(8, 10)// year
	year4 = strDate.substring(6, 10)// year

	//basic error checking
	if (month<1 || month>12) err = 1
	if (c != '/') err = 1
	if (day<1 || day>31) err = 1
	if (e != '/') err = 1
	if (year2<0 || year2>99) err = 1
	if (year4<1900 || year4>2100) err = 1

	//advanced error checking

	// months with 30 days
	if (month==4 || month==6 || month==9 || month==11){
		if (day==31) err=1
	}

	// february, leap year
	if (month==2){
		// feb
		var g=parseInt(year2/4)
		if (isNaN(g)) {
			err=1
		}

		if (day>29) err=1
		if (day==29 && ((year2/4)!=parseInt(year2/4))) err=1
	}

	if (err==1){
		return false;
	}
	else{
		return true;
	}

}


function CheckSafCode(SafNumber)
{
var ch,i;
	if (SafNumber.length != 8)
	{
		return false;
	}
	else
	{
		for (i = 0; i < SafNumber.length; i++) {
        ch = SafNumber.substring(i, i+1);

        // ENSURE CHARACTER IS A DIGIT
        if (ch < "0" && ch > "9") 
        {
        return false;
        }
        }
        //else{return false;}
		return true;
	}
}

function isalphanumeric(checkString)
{
	i = 0;         // COUNTER FOR LOOPING THROUGH STRING

    // LOOP THROUGH STRING CHARACTER BY CHARACTER
    for (i = 0; i < checkString.length; i++) {
        ch = checkString.substring(i, i+1);

        // ENSURE CHARACTER IS AN ALPHANUMERIC CHARACTER 
        if ((ch >= "a" && ch <= "z") || (ch >= "A" && ch <= "Z" ) || ch == " " || ch == "."  || ch == "/" || (ch >= "0" && ch <= "9")) {
        }
        else
        {
			return false;
		}
    }
    return true;
}

function compdate(date1,date2)
{
//return false if date1 > date2
	//if(!isDate(date1)) return -1;
	//if (!isDate(date2)) return -1;
	
	date1month = date1.substring(3, 5)// month
	date1day = date1.substring(0, 2)// day
	date1year = date1.substring(6, 10)// year
	date1month = parseInt(date1month,10) -1;
	d1 = new Date(date1year, date1month, date1day);

	date2month = date2.substring(3, 5)// month
	date2day = date2.substring(0, 2)// day
	date2year = date2.substring(6, 10)// year
	date2month = parseInt(date2month,10) -1;
	d2 = new Date(date2year, date2month, date2day);

	if (d1 > d2)
	{
		return false;
	}
	else
	{
		return true;
	}
//	return 0;
}


function checkCurrency(checkString)
{
var ptchr;
var strdelimiter;
	i = 0;         
	// COUNTER FOR LOOPING THROUGH STRING

    // LOOP THROUGH STRING CHARACTER BY CHARACTER
    flg = 0;
    ptchr = 0;
    for (i = 0; i < checkString.length; i++) 
    {
        ch = checkString.substring(i, i+1);
		if (ch == "."){
			flg = 1;		
		}
		if (flg == 1) {
			ptchr = ptchr + 1;	
		}
		
        // ENSURE CHARACTER IS A DIGIT
        if ( ((ch < "0" || ch > "9")  && (ch != ".") ) || (ptchr == 4))
        {
            return false;
		}
    }
    //strdelimiter = checkString.substring(ptchr, checkString.length);
    //if (strdelimiter.length > 2){
      //  return false;
    //}
    
    
return true;
}


function IsEmpty(strvalue)
{
	var ilength;
	var strsplitvalue;
		
	ilength=strvalue.length;
		
	strsplitvalue=strvalue.split(" ");
		
	if (ilength==strsplitvalue.length-1)
		return true;
	else
		return false;
		
}




function ErrorMsg(ErrMsgCode,FieldName,FieldLength){
var ErrMsg;
//Validates the Input.
	if (arguments.length == 1)
	{
		FieldName = '';
		FieldLength = '';
	}
	else if (arguments.length == 2)
	{
		FieldLength = '';
	}

//Customize Error Message
	switch (ErrMsgCode)
	{
		case 1 :
			ErrMsg = 'Enter Data in Mandatory field '+FieldName+'.';
			break;
		case 2 :
			ErrMsg = 'Enter Alphanumeric value only'
			if (FieldName == '')
				ErrMsg = ErrMsg + '.'
			else
				ErrMsg = ErrMsg + ' in ' + FieldName + '.';
			break;
		case 3:
			ErrMsg = 'Enter Numeric value only'
			if (FieldName == '')
				ErrMsg = ErrMsg + '.'
			else
				ErrMsg = ErrMsg + ' in ' +FieldName+'.';
			break;
		case 4:
			ErrMsg1 = 'Enter'
                        ErrMsg2 = 'in (DD/MM/YYYY) format only'
			if (FieldName == '')
				ErrMsg = ErrMsg + '.'
			else
				//ErrMsg = ErrMsg + ' in ' +FieldName+'.';
                 ErrMsg = ErrMsg1 + ' ' + FieldName + ' '+ ErrMsg2 + '.';
			break;
		case 5:
			ErrMsg = 'Enter Alphabets value only'
			if (FieldName == '')
				ErrMsg = ErrMsg + '.'
			else
				ErrMsg = ErrMsg + ' in ' +FieldName+'.';
			break;
		case 6:
			if (FieldLength == '')
				return false;
			ErrMsg = 'The field length cannot be less than '+FieldLength;
			if (FieldName == '')
				ErrMsg = ErrMsg + '.'
			else
				ErrMsg = ErrMsg + ' for ' +FieldName+'.';
			break;
		default:
			ErrMsg = 'Input not in correct format';
			if (FieldName == '')
				ErrMsg = ErrMsg + '.'
			else
				ErrMsg = ErrMsg + ' for ' +FieldName+'.';
			break;			
	}
	return ErrMsg;
}


String.prototype.trim = function()
{
    return this.replace(/(^\s*)|(\s*$)/g, "");
}

function checkalphanumericwithdash(checkString)
{
	i = 0;         // COUNTER FOR LOOPING THROUGH STRING

    // LOOP THROUGH STRING CHARACTER BY CHARACTER
    for (i = 0; i < checkString.length; i++) {
        ch = checkString.substring(i, i+1);

        // ENSURE CHARACTER IS AN ALPHANUMERIC CHARACTER 
        if ((ch >= "a" && ch <= "z") || (ch >= "A" && ch <= "Z" ) || ch == " " || (ch >= "0" && ch <= "9") || (ch == "-") || (ch == ".") || (ch == "/")|| (ch == "&")) {
        }
        else
        {
			return false;
		}
    }
    return true;
}

function LPad(strValue,varLength,varChar)
{
var strLength;
var stringVal;

stringVal = new String(strValue);
strLength = stringVal.length;

if (strLength > varLength)
	return 	strValue;
	
for (i=0;i < (varLength - strLength);i++)
	stringVal = varChar + stringVal;

return 	stringVal;
}

function checkRealwithSign(checkString)
{
	i = 0;     
        dec_count = 0;    
	// COUNTER FOR LOOPING THROUGH STRING

    // LOOP THROUGH STRING CHARACTER BY CHARACTER
    for (i = 0; i < checkString.length; i++) 
    {
        ch = checkString.substring(i, i+1);

        // ENSURE CHARACTER IS A DIGIT
        if (((ch < "0" || ch > "9")) && (ch != ".") && (ch != "-") && (ch != "+"))
                    return false;
	else
           if(ch == ".")
              dec_count =  dec_count + 1;       
              
    }
    if(dec_count > 1)
        return false;      
return true;
}

function checkReal(checkString)
{
	i = 0;     
        dec_count = 0;    
	// COUNTER FOR LOOPING THROUGH STRING

    // LOOP THROUGH STRING CHARACTER BY CHARACTER
    for (i = 0; i < checkString.length; i++) 
    {
        ch = checkString.substring(i, i+1);

        // ENSURE CHARACTER IS A DIGIT
        if (((ch < "0" || ch > "9")) && (ch != "."))
                    return false;
	else
           if(ch == ".")
              dec_count =  dec_count + 1;       
              
    }
    if(dec_count > 1)
        return false;      
return true;
}

function checkRealwithColon(checkString)
{
    
	i = 0;     
        dec_count = 0;    
	// COUNTER FOR LOOPING THROUGH STRING

    // LOOP THROUGH STRING CHARACTER BY CHARACTER
    for (i = 0; i < checkString.length; i++) 
    {
       
		   ch = checkString.substring(i, i+1);

		   // ENSURE CHARACTER IS A DIGIT
		   if (((ch < "0" || ch > "9")) && (ch != ":")){
		
		      return false;
		         
		 }
    }      
            return true;
}




function CheckDPFormat(strDPNumber)
{
	if (isAlpha(strDPNumber.substr(0,3)) && isNumeric(strDPNumber.substr(3,2)) && isalphanumeric(strDPNumber.substr(5,1)) && isNumeric(strDPNumber.substr(6,1)) && isAlpha(strDPNumber.substr(7,1)) && isNumeric(strDPNumber.substr(8,3)) &&  isAlpha(strDPNumber.substr(11,1)) &&((strDPNumber.length == 11)||(strDPNumber.length == 12)))
	{
		return true;
	}
	else
	{
		return false;
	}
}

function Check_letter(vBandWidth) 
 {
   
    nCounter = 0 ;
    var nIndex = 0;
     
   for (nIndex=0;nIndex<vBandWidth.length;nIndex++)
   {
     
    if ((vBandWidth.substr(nIndex, 1)=='H') || (vBandWidth.substr(nIndex, 1)== 'K')|| (vBandWidth.substr(nIndex, 1)=='M') || (vBandWidth.substr(nIndex, 1)== 'G'))
	 {
	    nCounter = nCounter + 1 ;
	 }
  
   }
   
 if (nCounter == 1)
   {
      return true ;
   }
      return false ;
}

function Check_NumLetter(vChar) 
{
   
if (vChar =='0'|| vChar=='1'|| vChar== '2'|| vChar=='3'|| vChar=='4' ||  vChar== '5'|| vChar== '6'|| vChar=='7'|| vChar== '8'|| vChar== '9'|| vChar== 'H'|| vChar=='G'|| vChar== 'K'|| vChar== 'M')
  {
    return true ;
  }
   return false; 
 }


function Check_Letter_5(vChar) 
{
     
if (vChar =='A'|| vChar=='N'|| vChar== 'H'|| vChar=='R'|| vChar=='J' ||  vChar== 'B'|| vChar== 'C'|| vChar=='F'|| vChar== 'G'|| vChar== 'D'|| vChar== 'P'|| vChar=='K'|| vChar== 'L'|| vChar== 'M' || vChar== 'Q' || vChar== 'V' || vChar== 'W' || vChar== 'X')
  {
    return true ;
  }
   return false; 
 }


function Check_Letter_6(vChar) 
{
     
if (vChar =='0'|| vChar=='1'|| vChar== '2'|| vChar=='3'|| vChar=='7' ||  vChar== '8'|| vChar== '9'|| vChar=='X')
  {
    return true ;
  }
   return false; 
 }
 
 
 function Check_Letter_7(vChar) 
{
     
if (vChar =='N'|| vChar=='A'|| vChar== 'B'|| vChar=='C'|| vChar=='D' ||  vChar== 'E'|| vChar== 'F'|| vChar=='W' || vChar=='X')
  {
    return true ;
  }
   return false; 
 }
 
 

 function Check_Letter_8(vChar) 
{
     
if (vChar=='A'|| vChar== 'B'|| vChar=='C'|| vChar=='D' ||  vChar== 'E'|| vChar== 'F'|| vChar=='G' || vChar=='H' || vChar=='J'|| vChar== 'K'|| vChar=='L'|| vChar=='M' ||  vChar== 'N'|| vChar== 'W'|| vChar=='X')
  {
    return true ;
  }
   return false; 
 }


function Check_Letter_9(vChar) 
{
     
if (vChar =='N'|| vChar=='C'|| vChar== 'F'|| vChar=='T'|| vChar=='W' || vChar=='X')
  {
    return true ;
  }
   return false; 
 }
  
function Check_Emission_desi(vEmisDesi) 
{
  
   nLongueur = parseInt((vEmisDesi.length),10);
   var vDesignation;
   var vCR ;
   
   if (vEmisDesi != "")
	{
  
       
		if (((Check_letter(vEmisDesi.substr(0,4)) == false)) ||
			((vEmisDesi.substr(0, 1) == '0')||(vEmisDesi.substr(0, 1) == 'K')||(vEmisDesi.substr(0, 1) ==  'M')||(vEmisDesi.substr(0, 1) == 'G')) ||
			((nLongueur >= 2 && (Check_NumLetter(vEmisDesi.substr(1, 1)) == false))) ||
			((nLongueur >= 3 && (Check_NumLetter(vEmisDesi.substr( 2, 1)) == false))) ||
			((nLongueur >= 4 && (Check_NumLetter(vEmisDesi.substr( 3, 1)) == false))) ||
			((nLongueur >= 5 && (Check_Letter_5(vEmisDesi.substr(4, 1)) == false))) ||
			((nLongueur >= 6 && (Check_Letter_6(vEmisDesi.substr(5, 1)) == false))) ||
			((nLongueur >= 7 && (Check_Letter_7(vEmisDesi.substr(6, 1)) == false))) || 
			((nLongueur >= 8 && (Check_Letter_8(vEmisDesi.substr(7, 1)) == false))) ||
			((nLongueur >= 9 && (Check_Letter_9(vEmisDesi.substr(8, 1)) == false))))
   
			{
				alert("Enter Emission Designation in Correct Format");
			
				return false;
			}
 
		return true;
   } 
   return true;
}



function countdatavalue(countdata)
{
	
	if(countdata != "")
		{
		  vdata = 1;
		 
		}
	else
		{
			vdata = 0;
			
		}
}



 function checkst(checkString,ctrlname)
{
	i = 0;         

     ctrl_name = ctrlname.name
   
    for (i = 0; i < checkString.length; i++) 
    {
        ch = checkString.substring(i, i+1);
      
        if (ch == "," || ch ==  "%") 
        {
            
		alert("You cannot enter Special Characters like ',' and '%' in this field");
		
		document.getElementById(ctrl_name).focus()
		return false;
		}
	
    }

return true;
} 


