// JavaScript Document
// form validation - core validation routine
function setupValidation()
{
	if(document.getElementById("order"))
	{
	    var frmvalidator = new Validator("order");
				
		frmvalidator.addValidation("EventDate", "req", "Please enter your event date");
		frmvalidator.addValidation("CustomerCategory", "dontselect=0", "Please select your customer category");		
		frmvalidator.addValidation("HearAboutUs", "dontselect=0", "Please select where you heard about us");				
			
		frmvalidator.addValidation("FirstName", "req", "Please enter your first name");
		frmvalidator.addValidation("Surname", "req", "Please enter your surname");
		frmvalidator.addValidation("Address1", "req", "Please enter your postal address");
		frmvalidator.addValidation("City", "req", "Please enter your city");
		frmvalidator.addValidation("County", "req", "Please enter your county");
		frmvalidator.addValidation("PostCode", "req", "Please enter your postcode");
		frmvalidator.addValidation("Tel", "req", "Please enter your phone number");
		frmvalidator.addValidation("email", "req", "Please enter your email address");
		frmvalidator.addValidation("email", "email", "Please enter a valid email address");		
		
		frmvalidator.addValidation("Delivery_FirstName", "req", "Please enter your delivery first name");
		frmvalidator.addValidation("Delivery_Surname", "req", "Please enter your delivery surname");
		frmvalidator.addValidation("Delivery_Address1", "req", "Please enter your delivery postal address");
		frmvalidator.addValidation("Delivery_City", "req", "Please enter your delivery city");
		frmvalidator.addValidation("Delivery_County", "req", "Please enter your delivery county");
		frmvalidator.addValidation("Delivery_PostCode", "req", "Please enter your delivery postcode");
		frmvalidator.addValidation("Delivery_Tel", "req", "Please enter your delivery phone number");
		frmvalidator.addValidation("Delivery_Email", "req", "Please enter you delivery email address");
		frmvalidator.addValidation("Delivery_Email", "email", "Please enter a valid delivery email address");
		
		frmvalidator.addValidation("OrderDetails", "req", "Please enter your order details");
	}
}

function wordwrap(str, int_width, str_break, cut) {
    // http://kevin.vanzonneveld.net
    // +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   improved by: Nick Callen
    // +    revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Sakimori
    // *     example 1: wordwrap('Kevin van Zonneveld', 6, '|', true);
    // *     returns 1: 'Kevin |van |Zonnev|eld'
    // *     example 2: wordwrap('The quick brown fox jumped over the lazy dog.', 20, '<br />\n');
    // *     returns 2: 'The quick brown fox <br />\njumped over the lazy<br />\n dog.'
    // *     example 3: wordwrap('Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.');
    // *     returns 3: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod \ntempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim \nveniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea \ncommodo consequat.'

    // PHP Defaults
    var m = ((arguments.length >= 2) ? arguments[1] : 75);
    var b = ((arguments.length >= 3) ? arguments[2] : "\n");
    var c = ((arguments.length >= 4) ? arguments[3] : false);

    var i, j, l, s, r;

    str += '';

    if (m < 1) {
        return str;
    }

    for (i = -1, l = (r = str.split("\n")).length; ++i < l; r[i] += s) {
        for (s = r[i], r[i] = ""; s.length > m; r[i] += s.slice(0, j) + ((s = s.slice(j)).length ? b : "")) {
            j = c == 2 || (j = s.slice(0, m + 1).match(/\S*(\s)?$/))[1] ? m : j.input.length - j[0].length || c == 1 && m || j.input.length + (j = s.slice(m).match(/^\S*/)).input.length;
        }
    }

	// mod - call nl2br to convert newlines before you return!
    //return nl2br("wordwrap" + r.join("\n"));
	
	return r.join("\n");
	
	
}

// global startup function
/////////////////////////////////////////////////
if(document.getElementById && document.createTextNode)
{
	addEvent(window, 'load', function(e)
	{
		// form validation
		setupValidation();
		
		// setup wordwrap
		addEvent(document.getElementById("order"), 'submit', function(e)
		{
			// wordwrap
			var orderDetails = document.getElementById("OrderDetails");
			orderDetails.value = wordwrap(orderDetails.value, 60);
//			alert(orderDetails.value);
		});
		
    });


}