function matches(a, b) {
    if (a === b) {
        return true;
    } else {
        return false;
    }
}

function getParentRow(element) {

    var tmpRow = element.getParent();

    for (var i = 0; i < 100; ++i) {
        if (matches(tmpRow.get('id'), "row")) {
            i = 100;
            return tmpRow;
        } else {
            tmpRow = tmpRow.getParent();
        }

    }

}

function notNull(string) {
    var strTemp = trimAll(string);
    if (strTemp.length > 0) {
        return true;
    }
    return false;
}

//dd/mm/yyyy
function dateFormat(string) {
	//12091988
    var digitOnly = /\d{8}/;
    //12/09/1988
    var dateRegEx = /^\d{1,2}\/\d{1,2}\/\d{4}$/;
    //12 09 1988
    var dateSpaceRegEx = /^\d{1,2}\s\d{1,2}\s\d{4}$/;
    //12-09-1988
    var dateNumHyphRegEx = /^\d{1,2}[\-]\d{1,2}[\-]\d{4}$/;
    //12.09.1988
    var dateNumDotRegEx = /^\d{1,2}[\.]\d{1,2}[\.]\d{4}$/;
    //12,09,1988
    var dateNumCommaRegEx = /^\d{1,2}[\,]\d{1,2}[\,]\d{4}$/;
    //12 09 1988
    var dateWrdSpaceRegEx = /^\d{1,2}\s\d{1,2}\s\d{4}$/;

    //12/nov/1988
    var dateWrdSlashRegEx = /^\d{1,2}\/\w{3}\/\d{4}$/;
    //12-nov-1988
    var dateWrdHyphRegEx = /^\d{1,2}[\-]\w{3}[\-]\d{4}$/;
    //12.nov.1988
    var dateWrdDotRegEx = /^\d{1,2}[\.]\w{3}[\.]\d{4}$/;
    //12,nov,1988
    var dateWrdCommaRegEx = /^\d{1,2}[\,]\w{3}[\,]\d{4}$/;
    //12 nov 1988
    var dateWrdSpaceRegEx = /^\d{1,2}\s\w{3}\s\d{4}$/;

    if (string.search(digitOnly) == -1
    && string.search(dateRegEx) == -1
    && string.search(dateSpaceRegEx) == -1
    && string.search(dateNumHyphRegEx) == -1
    && string.search(dateNumDotRegEx) == -1
    && string.search(dateNumCommaRegEx) == -1
    && string.search(dateWrdSpaceRegEx) == -1
    && string.search(dateWrdSlashRegEx) == -1
    && string.search(dateWrdHyphRegEx) == -1
    && string.search(dateWrdDotRegEx) == -1
    && string.search(dateWrdCommaRegEx) == -1
    && string.search(dateWrdSpaceRegEx) == -1) {
        return false;
    } else {
        return true;
    }
}

function phoneFormat(string)
 {
    var specCharString = "0123456789-+() ";
    for (var i = 0; i < string.length; ++i) {
        var tmpChar = string.charAt(i);
        var match = false;
        for (var j = 0; j < specCharString.length; ++j) {
            var tmpSpec = specCharString.charAt(j);
            if (matches(tmpChar, tmpSpec)) {
                match = true;
            }
        }
        if (!match) {
            return false;
        }
    }

    return true;
}

function emailFormat(string) {
    var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
    if (string.search(emailRegEx) == -1) {
        return false;
    } else {
        return true;
    }
}

function numbersOnly(string) {

    var numRegExp = /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/;
    if (string.search(numRegExp) == -1) {
        return false;
    } else {
        return true;
    }
}

function alphaOnly(string) {
    var specCharString = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz '";
    for (var i = 0; i < string.length; ++i) {
        var tmpChar = string.charAt(i);
        var match = false;
        for (var j = 0; j < specCharString.length; ++j) {
            var tmpSpec = specCharString.charAt(j);
            if (matches(tmpChar, tmpSpec)) {
                match = true;
            }
        }
        if (!match) {
            return false;
        }
    }

    return true;
}

function isClean(string) {
    var dropStringArr = Array("DROP *;", "DROP TABLE *;");
    if (!string || string === "") {
        return true;
    }
    for (var i = 0; i < dropStringArr.length; ++i) {
        if (string.indexOf(dropStringArr[i]) != -1) {
            return false;
        }
    }
    return true;
}

function isAlphaNumerical(string) {
    var specCharString = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 '-_.";
    for (var i = 0; i < string.length; ++i) {
        var tmpChar = string.charAt(i);
        var match = false;
        for (var j = 0; j < specCharString.length; ++j) {
            var tmpSpec = specCharString.charAt(j);
            if (matches(tmpChar, tmpSpec)) {
                match = true;
            }
        }
        if (!match) {
            return false;
        }
    }

    return true;
}

function contains(a, obj) {

    if (null === a || a === undefined) {
        return false;
    }

    if (null === obj || obj === undefined) {
        return false;
    }

    var i = a.length;
    while (i--) {
        if (a[i] === obj) {
            return true;
        }
    }
    return false;
}

function stringContainsString(string, term) {

    if (null === string || string === undefined) {
        return false;
    }

    if (string.indexOf(term) !== -1) {
        return true;
    }
    return false;
}

