﻿// JScript File

function doValidate()
{
    if(event.srcElement.type == 'password')
        return doSpecialValidation(event.srcElement, event, 4);
    else 
        return doSpecialValidation(event.srcElement, event, 3);
}

function doSpecialValidation(obj, event, opt)
{
    var kcode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
    if(kcode != 13 && kcode != 9 && kcode != 8 && kcode != 32)
    {
        var objectval = obj.value;
        
        //alert(kcode);
        var curChar    = String.fromCharCode( kcode );
        
        var inpStr     = obj.value + curChar 
        
        window.status  = '';
        obj.title      = '';

        var valid = 'false';

        if(opt==1)
        {
            if((kcode>=48 && kcode <= 57) || (kcode>=65 && kcode <= 90) || (kcode>=97 && kcode <= 122) || kcode==35 || kcode==36 || kcode==45 || kcode==46 || kcode==64 || kcode==95)
                valid = 'true';
                
        }
        
        //email
        else if(opt==2)
        {
            if((kcode>=48 && kcode <= 57) || (kcode>=65 && kcode <= 90) || (kcode>=97 && kcode <= 122) || kcode==45 || kcode==46 || kcode==64 || kcode==95)
                valid = 'true';
        }
        
        //normal
        else if(opt==3)
        {
            if((kcode>=48 && kcode <= 57) || (kcode>=65 && kcode <= 90) || (kcode>=97 && kcode <= 122) || kcode==35 || kcode==36 || kcode==38 || kcode==40 || kcode==41 || kcode==44 || kcode==45 || kcode==46 || kcode==47 || kcode==58 || kcode==63 || kcode==64 || kcode==95 || kcode==123 || kcode==125)
                valid = 'true';
        }
        
        //password
        else if(opt == 4)
        {
            if((kcode>=48 && kcode <= 57) || (kcode>=65 && kcode <= 90) || (kcode>=97 && kcode <= 122) || kcode==35 || kcode==36 || kcode==45 || kcode==46 || kcode==64)
                valid = 'true';
        }
        
        if(valid == 'false')
        {
            window.status = 'Special characters not allowed.';
            return false;
        }
        else
            return true;
    }
    else
        return true;
}

//function doSpecialValidation(obj, event, opt)
//{
//    if(event.keyCode != 13 && event.keyCode != 9 && event.keyCode != 8)
//    {
//        var objectval = obj.value;
//        var kcode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
//        
//        var curChar    = String.fromCharCode( kcode );
//        alert(curChar); 
//        var inpStr     = obj.value + curChar 
//        
//        window.status  = '';
//        obj.title      = '';
//        
//        var ua = navigator.userAgent.toLowerCase();
//        var exp = "";
//        
//        //username
//        if(opt == 1)
//            exp = "^[a-zA-Z0-9_.@#$ \-]+$";
//        //email
//        else if(opt == 2)
//            exp = "^[a-zA-Z0-9_.@ \-]+$";
//        //Question
//        else if(opt == 3)
//            exp = "^[a-zA-Z0-9_.@?()\/: \-]+$";
//        //password
//        else if(opt == 4)
//            exp = "^[a-zA-Z0-9_.@#$\-]+$";
//        
//        if(ua.indexOf("mozilla") != -1 && ua.indexOf("ie") == -1)
//        {
//            var regex = new RegExp(exp);
//            result = regex.test(inpStr);
//        }
//        else if(ua.indexOf("ie") != -1)
//        {
//            result = inpStr.match( exp );
//        }

//        if ( ! result ) 
//        {
//            if(kcode != 8)
//            {
//                window.status = 'Special characters not allowed.';
//                return false;
//            }
//         }
//         else
//            return true;
//    }
//    else
//        return true;
//}
