//**** for textboxes ****************************
function validateTextHasData(elementID, setFocus, errMsg) {
    var el = document.getElementById(elementID);
    
    if(el != null) {
        var i = el.value.search(/\S/g);
        
        if(i == -1) {
			doErrorMsg(errMsg);
			if(setFocus)
				el.focus();
			return false;
        }
    }
    
    return true;
}

function validateTextIsNumeric(elementID, setFocus, errMsg) {
    var el = document.getElementById(elementID);
    
    if(el != null) {
        var i = el.value.search(/[^0-9.,]/g);
        if(i != -1) {
			doErrorMsg(errMsg);
			if(setFocus)
				el.focus();
			return false;
        }
    }
    
    return true;
}

function validateTextIsDate(elementID, setFocus, errMsg) {
    var el = document.getElementById(elementID);
    
    if(el != null) {
        if(!isDate(el.value)) {
			doErrorMsg(errMsg);
			if(setFocus)
				el.focus();
			return false;
        }
    }
    
    return true;
}

//**** for valid date ******************************\
function isDate(dateStr) {

	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
	var matchArray = dateStr.match(datePat); // is the format ok?

	if (matchArray == null) {
	    return false;
	}

	month = matchArray[1];
	day = matchArray[3];
	year = matchArray[5];

	if (month < 1 || month > 12)
	    return false;

	if (day < 1 || day > 31)
	    return false;

	if ((month==4 || month==6 || month==9 || month==11) && day==31)
	    return false;

	if (month == 2) { // check for february 29th
	    var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
	    if (day > 29 || (day==29 && !isleap)) {
	        return false;
	    }
	}
	
	return true;
}

//**** for selects ******************************
function validateSelectIsChosen(elementID, setFocus, errMsg) {
    var el = document.getElementById(elementID);
    
    if(el != null) {
        if(el.selectedIndex == 0) {
			doErrorMsg(errMsg);
			if(setFocus)
				el.focus();
			return false;
        }
    }
    
    return true;
}


function doErrorMsg(errMsg) {
    if(errMsg == undefined)
        return;
        
    var errLabel = document.getElementById("ctlContentHeader_divError");
    
    if(errLabel != null) {
        errLabel.innerHTML = errMsg;
        errLabel.style.display = "";
        scroll(0,0);
    } else {
        alert(errMsg);
    }
}