﻿    var _span_forecolor ='black';
    var iserror = 0;
    var error_msg = '';
    var alreadyFocussed = false;    
    
    function start_check()
    {
       iserror = 0;
       error_msg = '';
       alreadyFocussed = false;
    }
    
    function end_check()
    {
        if(iserror > 0)
        {
           alert("Hi Please,\n" + error_msg);
           return false;
        }
        else
        {   
            return true;
        }
    }
    
    function check_string(_span, _ctrl_name ,_msg)
    {
        
        document.getElementById(_span).style.color =  _span_forecolor;
        var _ctrl = document.all(_ctrl_name);
        if (rm_trim(_ctrl.value) == "" || rm_trim(_ctrl.value) == "0" || rm_trim(_ctrl.value) <= 0)
        {
            error_msg+="\n" + _msg;
            document.getElementById(_span).style.color = 'red';
            
            if (! alreadyFocussed)
            {
               _ctrl.focus();
               alreadyFocussed = true;
            }
            iserror++;
        } 
    }
    
    function check_string_html(_span, _ctrl ,_msg)
    {
        document.getElementById(_span).style.color =  _span_forecolor;
        if (rm_trim(_ctrl.value) == "" || rm_trim(_ctrl.value) == "0")
        {
            error_msg+="\n" + _msg;
            document.getElementById(_span).style.color = 'red';
            
            if (! alreadyFocussed)
            {
               _ctrl.focus();
               alreadyFocussed = true;
            }
            iserror++;
        } 
    }
        
    function check_number(_span, _ctrl_name, _msg)
    {
        document.getElementById(_span).style.color= _span_forecolor;   
        var _ctrl = document.all(_ctrl_name);
        
        if (rm_trim(_ctrl.value)!="")
        {
           if(!rm_isInteger(rm_trim(_ctrl.value)))
           {
              error_msg+="\n" + _msg;
              document.getElementById(_span).style.color = 'red';
              if (! alreadyFocussed)
              {
                  _ctrl.focus();
                  alreadyFocussed = true;
              }
              iserror++;
           }    
        } 
    }
    
    function check_number_html(_span, _ctrl, _msg)
    {
        document.getElementById(_span).style.color= _span_forecolor;   
        if (rm_trim(_ctrl.value)!="")
        {
           if(!rm_isInteger(rm_trim(_ctrl.value)))
           {
              error_msg+="\n" + _msg;
              document.getElementById(_span).style.color = 'red';
              if (! alreadyFocussed)
              {
                  _ctrl.focus();
                  alreadyFocussed = true;
              }
              iserror++;
           }    
        } 
    }
        
    function check_date(_span,_ctrl_dd,_ctrl_mmm,_ctrl_yyyy,_msg)
    {
        document.getElementById(_span).style.color= _span_forecolor;   
        var _dd = document.all(_ctrl_dd);
        var _mm = document.all(_ctrl_mmm);
        var _yyyy = document.all(_ctrl_yyyy);
        if (_dd.value =="" || _mm.value =="" || _yyyy.value =="" || _dd.value =="0" || _mm.value =="0" || _yyyy.value =="0" )
        {
            error_msg+="\n " + _msg ;
            document.getElementById(_span).style.color = 'red';
            if (! alreadyFocussed)
            {
                _dd.focus();
                alreadyFocussed = true;
            }
            iserror++;
        }
        else
        {
            var xdate =_mm.value + "/" + _dd.value + "/" +  _yyyy.value;
            
            if (isDate(xdate)==false)
            {
               error_msg+="\n " + _msg ;
               document.getElementById(_span).style.color = 'red';
               if (! alreadyFocussed)
               {
                   _dd.focus();
                   alreadyFocussed = true;
               }
               iserror++;
            }
        }
    }
    
    function check_datetime(_span,_ctrl,_msg)
    {
        var _datetime = document.getElementById(_ctrl);
        
        if (rm_trim(_datetime.value)!="")
        {
            if (isDatetime(_datetime.value)==false)
            {
               error_msg+="\n " + _msg ;
               document.getElementById(_span).style.color = 'red';
               if (! alreadyFocussed)
               {
                   document.all(_ctrl).focus();
                   alreadyFocussed = true;
               }
               iserror++;
            }
        }
    }
    
    function check_email(_span,_ctrl_name,_msg)
    {
        document.getElementById(_span).style.color= _span_forecolor;   
        var _ctrl = document.all(_ctrl_name);
        
        
        if (rm_trim(_ctrl.value)!="")
        {
            var stremail;
            stremail=_ctrl.value;
                        
            var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
            //var filter=/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/
            if (stremail.search(filter) == -1)
            {
               document.getElementById(_span).style.color = 'red';
                error_msg+="\n" + _msg;
                if (! alreadyFocussed)
                {
                   _ctrl.focus();
                   alreadyFocussed = true;
                }
                iserror++;
            }    
        } 
    }
        
    
    function rm_isInteger(iNumber)
    {
        var i;
        for (i=0;i<iNumber.length;i++)
        {
            var c = iNumber.charAt(i);
            if (!rm_isDigit(c))
            {
                return false;
            }
            else
            {
                return true;
            }
        }
    }
    
    function rm_isDigit(c)  { return ((c >= "0") && (c <= "9")) }


    function rm_trim(inputString)
    {
        if (typeof inputString != "string") { return inputString; }
        var temp_str = '';
        temp_str = inputString.replace(/[\s]+/g,"");
    
        if(temp_str == '') return "";

        var retValue = inputString;
        var ch = retValue.substring(0, 1);
        while (ch == " ")
        {
            retValue = retValue.substring(1, retValue.length);
            ch = retValue.substring(0, 1);
        }
    
        ch = retValue.substring(retValue.length-1, retValue.length);
    
        while (ch == " ")
        {
            retValue = retValue.substring(0, retValue.length-1);
            ch = retValue.substring(retValue.length-1, retValue.length);
        }
    
        while (retValue.indexOf("  ") != -1)
        {
            retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length);
        }
        return retValue;
    }
    
   
   
   function check_datepicker(_span,_ctrl,_ctrl_focus,_msg)
    {
    
        document.getElementById(_span).style.color= _span_forecolor;
        
        _ctrl= document.all(_ctrl);                 //date value control
        _ctrl_focus = document.all(_ctrl_focus);    //focus control
        
        if (rm_trim(_ctrl.value) == "" || rm_trim(_ctrl.value) == "0")
        {
            error_msg+="\n" + _msg + " cannot be Empty";
            document.getElementById(_span).style.color = 'red';
            
            if (! alreadyFocussed)
            {
               _ctrl_focus.focus();
               alreadyFocussed = true;
            }
            iserror++;
        } 
        else if (rm_trim(_ctrl.value)!="")
        {
            if (isDatepicker_Date(_ctrl.value)==false)
            {
               error_msg+="\n Invalid " + _msg ;
               document.getElementById(_span).style.color = 'red';
               if (! alreadyFocussed)
               {
                   _ctrl_focus.focus();
                   alreadyFocussed = true;
               }
               iserror++;
            }
        }
    }
    
    function control_visible(_ctrl_name,_visible)
    {
        var _ctrl = document.all(_ctrl_name);
        if (_visible == 'false')
        {
            _ctrl.style.visibility='hidden';
            _ctrl.style.display='none';
        }
        else
        {
            _ctrl.style.visibility='visible';
            _ctrl.style.display='block';
        }
    }

