/*
 * This page contains common js functions used throughtout the CSG site
 */
var _startEventType = "domready";
var _browser=navigator.appName;
if ( _browser==='Microsoft Internet Explorer' ) { _startEventType = "load"; }

/* creates a popup window */
function openW(url, name, w, h, o) {
	// options - menubar,resizable,scrollbars,status,toolbar (there are more)
	// if you want them just list them seperated by commas
	var wlocation = "left=25,screenX=25,top=25,screenY=25";
	var windowprops = "width=" + w + ",height=" + h;
	if (o != '') 
		windowprops = windowprops + "," + o + "," + wlocation;
	popup = window.open(url, name, windowprops);
	//setTimeout('popup.focus();',250);
}


/* add a onload event */
function addOnLoadEvent(onloadToAdd){
    var prevOnLoad = window.onload;
    if(typeof window.load != 'function'){
        window.onload = onloadToAdd; 
    } else {
        window.onload = function(){
            if(prevOnLoad){
                prevOnLoad();
            }
            onloadToAdd();
        }
    }   
} 


/* validates to see that the varDate is not from the past of fixedDate */
function compareDates(varDate, fixedDate) {

	var initDateArray = varDate.split("/");
	var endDateArray = fixedDate.split("/");
	
	initDateArray[0] = initDateArray[0].replace(/^\n/g, "");
	endDateArray[0] = endDateArray[0].replace(/^\n/g, "");

	var endIsBigger = false;
	
	if (endDateArray[2] > initDateArray[2]) {
		endIsBigger = true;
	} 
	else {
		if ((endDateArray[2] == initDateArray[2])
				&& (endDateArray[0] > initDateArray[0])) {
			endIsBigger = true;
		} 
		else {
			if ((endDateArray[2] == initDateArray[2])
					&& (endDateArray[0] == initDateArray[0])
					&& (endDateArray[1] > initDateArray[1])) {
				endIsBigger = true;
			} 
			else {
				if ((endDateArray[2] == initDateArray[2])
						&& (endDateArray[0] == initDateArray[0])
						&& (endDateArray[1] == initDateArray[1])) {
					endIsBigger = true;
				}
			}
		}
	}

	return endIsBigger;
}

/* validates date is not from the past */
function validateDateIsNotPast(inputDate) {

	var today = new Date();
	var dd = today.getDate();
	var mm = today.getMonth() + 1;
	var yyyy = today.getFullYear();

	if (dd < 10) {
		dd = '0' + dd
	}
	if (mm < 10) {
		mm = '0' + mm
	}

	var todaysDate = mm + '/' + dd + '/' + yyyy;

	return compareDates(inputDate, todaysDate);
}

function validateDate(inputDate){
	
	var validformat=/^\d{2}\/\d{2}\/\d{4}$/ //Basic check for format validity
	var returnval=false;
	
	if (!validformat.test(inputDate)){
		
		return false;
	}
	else
	{ //Detailed check for valid date ranges
		var monthfield=inputDate.split("/")[0]
		var dayfield=inputDate.split("/")[1]
		var yearfield=inputDate.split("/")[2]
		var dayobj = new Date(yearfield, monthfield-1, dayfield)
		
		if ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield))
			return false;
		else
			returnval=true;
	}

	return returnval;
}


function textCounter(field, count, max) { 
	// if the length of the string in the input field is
	// greater than the max value, trim it  
	var counter;
	if (field.value.length > max) 
		field.value = field.value.substring(0, max); 
	else // calculate the remaining characters   
		count.innerHTML = max - field.value.length; 
}	