﻿// Common.js

function isEmpty(ControlID, MessageID, MessageText) {
    var ctl = document.getElementById(ControlID);
    
    if (ctl != null) {
        ctl.value = trim(ctl.value);
        if (ctl.value == "") {
            if (MessageText != "") {
                showMsg(MessageID, MessageText + ' is required.');
                setBg(ctl, true);
            }                
            return true;
        } else {
            showMsg(MessageID, "");
            setBg(ctl, false);
            return false;
        }
    } else
        return true;
}

function isSelected(ControlID, MessageID, MessageText) {
    var ctl = document.getElementById(ControlID);
    var msg = document.getElementById(MessageID);
    
    if (ctl != null && msg != null) {
        if (ctl.selectedIndex == 0) {
            showMsg(MessageID, MessageText);
            setBg(ctl, true);
            return false;
        } else {
            showMsg(MessageID, "");
            setBg(ctl, false);
            return true;
        }
    } else
        return false;
}

function isName(ControlID, MessageID, MessageText) {
    if (!isEmpty(ControlID, MessageID, MessageText)) {
        var ctl = document.getElementById(ControlID);
        var nameRegExp = /^[a-zA-Z\s]+(([\'\,\.\-][a-zA-Z\s])?[a-zA-Z\s]*)*$/

        if (ctl != null) {
	        if (nameRegExp.test(ctl.value)) {
		        showMsg(MessageID, "");
		        setBg(ctl, false);
		        return true;
	        } else {
	            showMsg(MessageID, 'Invalid ' + MessageText + '. <small class=\"clsErrorEx\">Eg: Sameul | O\'Conner | Mary-Kate</small>');
	            setBg(ctl, true);
		        return false;
	        }
	    }
	} else {
        return false;	    
	}
}

function isNotNumber(str) {
    var numRegExp = /\D+$/
    
    return numRegExp.test(str);
}

function isAlpha(str) {
	var alphaRegExp = /^[a-zA-Z]+$/
	
	return (alphaRegExp.test(str));
}

function isAlphaSpace(str) {
    var alphasRegExp = /^[a-zA-Z\s]+$/
    
    return alphasRegExp.test(str);
}

function isEmail(str) {
	var dotRegExp = /\.\./g
	var emailRegExp = /^[a-z][a-z_0-9\.]*[a-z0-9]+@[a-z0-9]+[a-z_0-9\.]*[a-z0-9]+\.[a-z]{2,3}$/i

	if (!(emailRegExp.test(str)) || (dotRegExp.test(str)))
		return false;
	else
		return true;
}

function isZip(str) {
    var zipRegExp = /^\d{5}$/
    
    return zipRegExp.test(str);
}

function isPinCode(str) {
	var zipRegExp = /[a-z0-9]{5}/i
	var pinRegExp1 = /^[1-9][0-9]{5}$/
	var pinRegExp2 = /^[1-9][0-9]{2} [0-9]{3}$/
	
	if (str.length == 5) {
		return (zipRegExp.test(str));
	} else if (str.length == 6) {
		return (pinRegExp1.test(str));
	} else if (str.length == 7) {
		return (pinRegExp2.test(str));
	} else
		return false;
}

function isNumber(str) {
    var numRegExp = /^\d+$/
    
    return numRegExp.test(str);
}

function isDecimal(str) {
    var decRegExp = /^-?\d*(\.\d+)?$/
    
    return decRegExp.test(str);
}

function isUrl(str) {
    var urlRegExp = /(http:\/\/www.|https:\/\/www.|ftp:\/\/www.|www.){1}([\w]+)(.[\w]+){1,2}$/
    
    return urlRegExp.test(str);    
}

function trim(str) {
	return str.replace(/^\s+|\s+$/g,"");
}

function ltrim(str) {
	return str.replace(/^\s+/,"");
}

function rtrim(str) {
	return str.replace(/\s+$/,"");
}

function setBg(ctl, flag) {
    if (flag) {
        ctl.style.background = '#ffff00';
    } else {
        ctl.style.background = '#ffffff';
    }
}

function showMsg(MessageID, MessageText) {
    var msg = document.getElementById(MessageID);
    if (msg != null)
        msg.innerHTML = "<span class=\"clsErrorMsg\">" + MessageText + "</span>";
}
