jQuery(document).ready(function() {
	jQuery("span.button0").mouseover(function() {
		jQuery(this).addClass("button0_highlight");
		jQuery(this).removeClass("button0");
	});
	jQuery("span.button0").mouseout(function() {
		jQuery(this).addClass("button0");
		jQuery(this).removeClass("button0_highlight");
	});

	jQuery("span.button1").mouseover(function() {
		jQuery(this).addClass("button1_highlight");
		jQuery(this).removeClass("button1");
	});

	jQuery("span.button1").mouseout(function() {
		jQuery(this).addClass("button1");
		jQuery(this).removeClass("button1_highlight");
	});
	
	jQuery("span.button2").mouseover(function() {
		jQuery(this).addClass("button2_highlight");
		jQuery(this).removeClass("button2");
	});

	jQuery("span.button2").mouseout(function() {
		jQuery(this).addClass("button2");
		jQuery(this).removeClass("button2_highlight");
	});
	
	jQuery("span.button3").mouseover(function() {
		jQuery(this).addClass("button3_highlight");
		jQuery(this).removeClass("button3");
	});

	jQuery("span.button3").mouseout(function() {
		jQuery(this).addClass("button3");
		jQuery(this).removeClass("button3_highlight");
	});

	jQuery("span.service_area").mouseover(function() {
		jQuery(this).addClass("service_area_highlight");
		jQuery(this).removeClass("service_area");
	});

	jQuery("span.service_area").mouseout(function() {
		jQuery(this).addClass("service_area");
		jQuery(this).removeClass("service_area_highlight");
	});
});

function is_numeric(input) {
	if (isNaN(input)) { return false; }
	var ValidChars = "0123456789.";
	var IsNumber=true;
	var Char;
	for (i = 0; i < input.length && IsNumber == true; i++) { 
		Char = input.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) {
			IsNumber = false;
		}
	}
	return true;
}

function comma_formatted(amount) {
	var delimiter = ","; // replace comma if desired
	var a = amount.split('.',2)
	var d = a[1];
	var i = parseInt(a[0]);
	if (isNaN(i)) { return ''; }
	var minus = '';
	if (i < 0) { minus = '-'; }
	i = Math.abs(i);
	var n = new String(i);
	var a = [];
	while (n.length > 3) {
		var nn = n.substr(n.length-3);
		a.unshift(nn);
		n = n.substr(0,n.length-3);
	}
	if (n.length > 0) { a.unshift(n); }
	n = a.join(delimiter);
	if (d.length < 1) { amount = n; } else { amount = n + '.' + d; }
	amount = minus + amount;
	return amount;
}

function is_email(arg_value) {
	if (arg_value.indexOf(" ") != -1) {
		return false;
	} else if (arg_value.indexOf("@") == -1) {
		return false;
	} else if (arg_value.indexOf("@") == 0) {
		return false;
	} else if (arg_value.indexOf("@") == (arg_value.length-1)) {
		return false;
	}

	// array_string = arg_value.split("@"); (works only in netscape3 and above.)
	var retSize = custom_split(arg_value, "@", "array_string");

	if (array_string[1].indexOf(".") == -1) {
		return false;
	} else if (array_string[1].indexOf(".") == 0) {
		return false;
	} else if (array_string[1].charAt(array_string[1].length-1) == ".") {
		return false;
	}

	return true;
}

function custom_split(string_value, separator, array_name) {
	var n = 0;

	if (separator.length != 0) {
		while (string_value.indexOf(separator) != -1) {
			eval("arr" + n + " = string_value.substring(0, string_value.indexOf(separator));");
			string_value = string_value.substring(string_value.indexOf(separator) + separator.length, string_value.length + 1);
			n++;
		}
		eval("arr" + n + " = string_value;");
		array_size = n + 1;
	} else {
		for (var x = 0; x < string_value.length; x++) {
			eval("arr" + n +" = \"" + string_value.substring(x, x + 1) + "\";");
			n++;
		}
		array_size = n;
	}

	eval(array_name + " = new make_array(array_size);");

	for (var i = 0; i < array_size; i++) {
		eval(array_name + "[" + i + "] = arr" + i + ";");
	}

	return array_size;
}

function make_array(IntarrSize) {
	for (var n = 0; n < IntarrSize; n++) {
		this[n] = "";
	}
	return this;
}

function is_phone(arg_value) {
	var check_ok = "0123456789-";
	var check_string = arg_value;
	var all_valid = true;
	var valid_groups = true;
  
	for (i = 0; i < check_string.length; i++) {
		ch = check_string.charAt(i);
		for (j = 0; j < check_ok.length; j++) {
			if (ch == check_ok.charAt(j)) {
				break;
			}
		}  
		if (j == check_ok.length) {
			all_valid = false;
			break;
		}
	}

	if (!all_valid) {
		return false;
	}
	
	return true;
}
