
function isDateInRange(strDate, strRangeFrom, strRangeUntil) {
    var dateFrom = new Date(
            Math.floor(strRangeFrom.substr(0, 4)),
            Math.floor(strRangeFrom.substr(4, 2)) - 1,
            Math.floor(strRangeFrom.substr(6, 2)), 0, 0, 0, 0);
    var dateUntil = new Date(
            Math.floor(strRangeUntil.substr(0, 4)),
            Math.floor(strRangeUntil.substr(4, 2)) - 1,
            Math.floor(strRangeUntil.substr(6, 2)), 0, 0, 0, 0);
    var date = new Date(
            Math.floor(strDate.substr(0, 4)),
            Math.floor(strDate.substr(4, 2)) - 1,
            Math.floor(strDate.substr(6, 2)), 0, 0, 0, 0);
    return ((date >= dateFrom) && (date <= dateUntil));
}

function isDateBefore(strDate){
    var date1 = new Date(
            Math.floor(strDate.substr(0, 4)),
            Math.floor(strDate.substr(4, 2)) - 1,
            Math.floor(strDate.substr(6, 2)), 0, 0, 0, 0);
    var date2 = new Date()
        date2.setHours(0, 0, 0, 0);
    return (date1 < date2);
}

function areDatesOk(strDateFrom, strDateUntil) {
    var dateFrom = new Date(
            Math.floor(strDateFrom.substr(0, 4)),
            Math.floor(strDateFrom.substr(4, 2)) - 1,
            Math.floor(strDateFrom.substr(6, 2)), 0, 0, 0, 0);
    var dateUntil = new Date(
            Math.floor(strDateUntil.substr(0, 4)),
            Math.floor(strDateUntil.substr(4, 2)) - 1,
            Math.floor(strDateUntil.substr(6, 2)), 0, 0, 0, 0);
    return (dateFrom <= dateUntil);
}

function numberDaysBetweenDates(strDateFrom, strDateUntil) {

    var numberDays = 0;

    var dateFrom = new Date(
            Math.floor(strDateFrom.substr(0, 4)),
            Math.floor(strDateFrom.substr(4, 2)) - 1,
            Math.floor(strDateFrom.substr(6, 2)), 0, 0, 0, 0);
    var dateUntil = new Date(
            Math.floor(strDateUntil.substr(0, 4)),
            Math.floor(strDateUntil.substr(4, 2)) - 1,
            Math.floor(strDateUntil.substr(6, 2)), 0, 0, 0, 0);

    while(dateFrom <= dateUntil){
        numberDays++;
        dateFrom.setDate(dateFrom.getDate() + 1);
    }

    return numberDays;

}


function isEspNumber(strNum) {
    var expReg = /^(\-|\d{1,4}|\.\d{1,8})+$/;
	if (strNum == "-") return false;
    return expReg.test(strNum);
}


function isNumber(strNum) {
    var expReg = /^\d+$/;
    return expReg.test(strNum);
}

function isDecimalNumber(strNum) {
    if (isNumber(strNum)) return true;
    var expReg = /^(\d{1,3}\,\d{1,2})+$/;
    return expReg.test(strNum);
}

function isThousandsNumber(strNum) {
    if (isNumber(strNum)) return true;
    var expReg = /^(\d{1,4}\,\d{1,2})+$/;
    return expReg.test(strNum);
}

function isMillionNumber(strNum) {
    if (isNumber(strNum)) return true;
    var expReg = /^(\d{1,7}\,\d{1,2})+$/;
    return expReg.test(strNum);
}

function isNegativeNumber(strNum) {
    if (strNum.indexOf('-') == 0) {
        return isNumber(strNum.substr(1));
    } else {
        return isNumber(strNum);
    }
}

function isNegativeDecimalNumber(strNum) {
    if (strNum.indexOf('-') == 0) {
        return isDecimalNumber(strNum.substr(1));
    } else {
        return isDecimalNumber(strNum);
    }
}


function isEmail(strEmail) {
    var objRegExp  = /^[a-z]\w*([.\-]\w+)*@[a-z]\w*([.\-]\w+)*\.[a-z]{2,4}$/i;
    return objRegExp.test(strEmail);
}


function isArray(form, inputName){
    var value = false;
    var num = 0;

    for(var i = 0; i != form.elements.length; i++){
        if(form.elements[i].name == inputName){
            num++;
        }
    }

    return (num > 1);
}
