var i;

function isnumeric_check(check_object, value_desc, default_value, display_message_ind) {
	var ValidChars = "0123456789.-";
	var IsNumber = true;
	var Char;

 	isblank_check(check_object, value_desc, default_value, display_message_ind);
 
	for (i = 0; i < check_object.value.length && IsNumber == true; i++) { 
		Char = check_object.value.charAt(i); 
		
		if (ValidChars.indexOf(Char) == -1) {
			if (display_message_ind == "Y") {
				alert("The entered value of '" + check_object.value + "' is not correct!\n\nThe value for " + value_desc + " has to be numeric and only the following characters are valid: " + ValidChars + ". Please re-enter the " + value_desc + " value.\n\nNote that the value will be reset to " + default_value + ".");
				check_object.focus();
			}
			
			check_object.value = default_value;
			IsNumber = false;
			return default_value;
		}
	}
	
	return check_object.value;
}


function left(str, n) {
	if (n <= 0)
		return "";
	else if (n > String(str).length)
		return str;
	else
		return String(str).substring(0,n);
}

function isblank_check(check_object, value_desc, default_value, disp_msg_ind) 
{
	var check_string = check_object.value;
	
	if (check_string.replace(/\s/g, "") == "") {
		if (disp_msg_ind == "Y") {
			alert("The value for " + value_desc + " is not correct as the value cannot be blank. Please re-enter the " + value_desc + " value.");
		}
		
		check_object.value = default_value;
		check_object.focus();
		return false;
	}
	
	return true;
}

function return_short_long_month(long_short_ind, month_value) {
	var short_months_array = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
	var long_months_array = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");

	if (long_short_ind == 1) {
		return short_months_array[month_value];
	}
	else {
		return long_months_array[month_value];
	}

}


function get_cookie(cookie_name) {
	var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );

	if (results) {
		return (unescape(results[2]));
	}
	else {
		return null;
	}
}

function set_cookie(name, value, exp_y, exp_m, exp_d, path, domain, secure) {
	var cookie_string = name + "=" + escape ( value );

	if (exp_y) {
		var expires = new Date ( exp_y, exp_m, exp_d );
		cookie_string += "; expires=" + expires.toGMTString();
	}
	
	if (path) {
		cookie_string += "; path=" + escape(path);
	}
	
	if (domain) {
		cookie_string += "; domain=" + escape(domain);
	}
	
	if (secure) {
		cookie_string += "; secure";
	}
	
	document.cookie = cookie_string;
}

function sort_list(sort_object) {
	var split_array;
	sort_array = new Array();
	
	for(i = 0; i < sort_object.length; i++)  {
		sort_array[i] = sort_object.options[i].text + "<@>" + sort_object.options[i].value;
	}
	
	sort_array.sort();
	
	for(i = 0; i < sort_object.length; i++)  {
		split_array = sort_array[i].split("<@>");
		
		sort_object.options[i].text = split_array[0];
		sort_object.options[i].value = split_array[1];
	}
}

function is_valid_date(day, month, year) {
	if ((parseInt(day) > 30) && ((parseInt(month) == 4) || (parseInt(month) == 6) || (parseInt(month) == 9) || (parseInt(month) == 11))) {
		return false;
	}
	
	if (parseInt(day) == 29 && parseInt(month) == 2) {
		if (year % 4 != 0) {
			return false;
		}
	}
	
	return true;
}

function set_button(button_object, button_value, enable_disable_ind) {
	button_object.value = button_value;
	button_object.disabled = enable_disable_ind;	
}

function check_email(check_email_value, additional_msg) {
	if (check_email_value.indexOf("@") < 0 || check_email_value.indexOf(".") < 0) {
		alert("The entered e-mail address does not appear to be correct. Please ensure you entered a valid e-mail address, for example: name@mailbox.com" + additional_msg);
		
		return false;
	}
	
	return true;
}

function admin_login() {
	window.open("admin_login.asp?login_ind=Y", "postback_iframe");
}

function admin_logout() {
	window.open("admin_login.asp?login_ind=O", "postback_iframe");
}
