
var Validator = Class.create();

Validator.prototype = {

	initialize: function() {
	},
    
	paymentClick: function() {
        var p = $('submit123');
        alert(Page_IsValid);
        if (Page_IsValid)
        {
            // this.disabled = true;
            p.style.visibility = 'hidden';
        }
    },
    
    requiredValidate: function(src,args) {
        var ctrl = $(src.controltovalidate);
        var p = ctrl.up('p');
        
        if (args.Value.length > 0)
           p.className = ""; 
        else
            p.className = "invalid";
            
        return args.IsValid = (args.Value.length > 0);
    },
    
    dropdownValidate: function(src,args) {
        var ctrl = $(src.controltovalidate);
        var p = ctrl.up('p');
        
        if (args.Value > 0)
           p.className = ""; 
        else
            p.className = "invalid";
            
        return args.IsValid = (args.Value > 0);
    },
    
    phoneValidate: function(src,args) {
        var ctrl = $(src.controltovalidate);
        var validator = $(src.id);
        var p = ctrl.up('p');
        
        var stripped = args.Value.replace(/[\(\)\.\-\ ]/g, ''); 
        if (stripped.length <= 0)
        {
            args.IsValid = false;
            p.className = "invalid";
            validator.innerHTML = "Please provide your phone number";
        }
        else if (isNaN(parseInt(stripped)) || (stripped.length < 8)) {
            args.IsValid = false;
            p.className = "invalid";
            validator.innerHTML = "Invalid phone number format";
        }
        else
        {
            args.IsValid = true;
            p.className = "";
        }
    },
    
    emailValidate: function(src,args) {
        var ctrl = $(src.controltovalidate);
        var validator = $(src.id);
        var p = ctrl.up('p');
        
        var val = args.Value.replace(/^\s+|\s+$/, '');                  
        var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
        var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
       
        if (val.length <= 0) {
            args.IsValid = false;
            p.className = "invalid";
            validator.innerHTML = "Please provide your email address";
        } 
        else if (!emailFilter.test(val) || val.match(illegalChars)) { 
            args.IsValid = false;
            p.className = "invalid";
            validator.innerHTML = "Invalid email address format";
        }
        else
        {
            args.IsValid = true;
            p.className = "";
        }
    }

};