//currency
function clean (w){
    spacing="$";
    max_length=12;
	if(!w){
	    alert("missing input after "+ w2.name);         
	    return(0);
	}
	y="0"+w.value;                          //0 to prevent NaN
	yl=y.length;
	for(z=0;z<yl;z++){
		if(y.charAt(z)<"." || y.substring(z,z+1)>"9" || y.substring(z,z+1)=="/"){
			y=(y.substring(0,z) + y.substring(z+1));
			z--;
			yl--;
		}
	}
	y=parseFloat(y);
	x=Math.floor(y);
	xx=y-x;
	xx=xx+"00.00"                 //xx=the cents only (with zeroes).
	a=xx.indexOf(".");
	q=x+xx.substring(a,a+3);

	ql= (q.length < max_length)?(max_length-q.length):0;
	w.value=(y)?spacing.substring(0,ql)+q:"";
	r=parseFloat(q);                            //should be dddd.dd
	w2=w;
	return (r);
}
// End -->



// JavaScript Document
// A utility function that returns true if a string contains only 
// whitespace characters.
function isblank(s) {
    for(var i = 0; i < s.length; i++) {
        var c = s.charAt(i);
        if ((c != ' ') && (c != '\n') && (c != '\t')) return false;
    }
    return true;
}

// This is the function that performs form verification. It is invoked
// from the onsubmit event handler. The handler should return whatever
// value this function returns.
function verify(f) {
    var msg;
    var empty_fields = "";
    var errors = "";

    // Loop through the elements of the form, looking for all 
    // text and textarea elements that don't have an "optional" property
    // defined. Then, check for fields that are empty and make a list of them.
    // Also, if any of these elements have a "min" or a "max" property defined,
    // verify that they are numbers and in the right range.
    // If the element has a "numeric" property defined, verify that
    // it is a number, but don't check its range.
    // Put together error messages for fields that are wrong.
    for(var i = 0; i < f.length; i++) {
        var e = f.elements[i];
        if (((e.type == "text") || (e.type == "textarea")) && !e.optional) {
            // first check if the field is empty
            if ((e.value == null) || (e.value == "") || (e.value == "http://")|| isblank(e.value)) {
                empty_fields += "\n          " + e.name;
                continue;
            }

            // Now check for fields that are supposed to be numeric.
            if (e.numeric || (e.min != null) || (e.max != null)) { 
                var v = parseFloat(e.value);
                if (isNaN(v) || 
                    ((e.min != null) && (v < e.min)) || 
                    ((e.max != null) && (v > e.max))) {
                    errors += "- The field " + e.name + " must be a number";
                    if (e.min != null) 
                        errors += " that is greater than " + e.min;
                    if (e.max != null && e.min != null) 
                        errors += " and less than " + e.max;
                    else if (e.max != null)
                        errors += " that is less than " + e.max;
                    errors += ".\n";
                }
            }
        }
    }
	// Check for correct email address
	if ((!isblank(f.Email.value)) && (f.Email != null)) {
		var str = f.Email.value;
		var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
		if (!str.match(re)) {
        errors += "- Please verify your e-mail address.\n";
			}
		}
		
	// Check that a dropdown type is selected
        if ((f.Genre.selectedIndex == 0) || (f.Genre.selectedIndex == -1)){
                errors += "- Please select a Genre.\n";
        }
		// Check that a dropdown type is selected
        if ((f.State.selectedIndex == 0) || (f.State.selectedIndex == -1)){
                errors += "- Please select a State.\n";
        }
		

    // Now, if there were any errors, display the messages, and
    // return false to prevent the form from being submitted. 
    // Otherwise return true.
    if (!empty_fields && !errors) return true;
    msg = "The form was not submitted because of the following error(s).\n";
    msg += "Please correct these error(s) and re-submit.\n\n";
  
    if (empty_fields) {
        msg += "- The following required field(s) are empty:" 
                + empty_fields + "\n";
        if (errors) msg += "\n";
    }
    msg += errors;
    alert(msg);
    return false;
}
