
jQuery.noConflict();
val = {
    'contactsubmission': {
        'royatyFirstname': function(form, value) { return validateNotEmpty(value) },
        'royatyLastname': function(form, value) { return validateNotEmpty(value) },
        'royatyArtistName': function(form, value) { return validateNotEmpty(value) },
        'royatyAffiliation': function(form, value) {return validateNotSelected(value) },
        'royatyLabelName': function(form, value) { return validateNotSelected(value)},
		'royatyTopicType': function(form, value) { return validateNotSelected(value)},
		'royaltyPhone': function(form, value) { return validatePhone(value)},
		'royaltyFax': function(form, value) { return validatePhone(value)},
		'royaltyEmail': function(form, value) { return validateEMail(value) && validateNotEmpty(value) },
        'royaltyComments': function(form, value) {return validateNotEmpty(value)}
        
    }
    
}
function validatePhone(value) {
    return value.length == 0 || value.match(/^[2-9]\d{2}[-\/]?\d{3}[-\/]?\d{4}$/)
}

function validateEMail(value) {
    /* Regex taken from http://www.quirksmode.org/js/mailcheck.html */
    return value.length == 0 || value.match(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/)
}

function validateNotEmpty(value) {
	return Trim(value).length > 0
}

function validateNotSelected(value) {
	if(value == '0'){
		return false;
	}
    return true;
}

function validate(form, rules) {
	form.find('.error,.main_error').hide()
    form.find('.invalid').removeClass('invalid')
    
    valid = true
	inputs = form.find(':input')
	for(var i = 0; i < inputs.length; i++) {
	    
	    //skip fields without validation rules
	    if(val[rules][inputs[i].name] == null) { continue }
	    
	    if(!val[rules][inputs[i].name](form, inputs[i].value)) {
	    	form.find('.' + inputs[i].name).focus()
	        form.find('.' + inputs[i].name + '_error').show()
	        jQuery(inputs[i]).addClass('invalid')
	        valid = false
	    }
	}
	
	if(!valid) {
	    form.find('.main_error').show()
	}
	return valid
}

function requestValidate()
{
	if(validate(jQuery('#contact_form'), 'contactsubmission'))
		submitComment();
		
}

function submitComment(){
	document.contact_form.submit();
	return true;
}

function LTrim(str)
{
  var whitespace = new String(" \t\n\r");

  var s = new String(str);

  if (whitespace.indexOf(s.charAt(0)) != -1) {
    // We have a string with leading blank(s)...

    var j=0, i = s.length;

    // Iterate from the far left of string until we
    // don't have any more whitespace...
    while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
    j++;


    // Get the substring from the first non-whitespace
    // character to the end of the string...
    s = s.substring(j, i);
  }

  return s;
}

function RTrim(str)
{
  // We don't want to trip JUST spaces, but also tabs,
  // line feeds, etc.  Add anything else you want to
  // "trim" here in Whitespace
  var whitespace = new String(" \t\n\r");

  var s = new String(str);

  if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {
    // We have a string with trailing blank(s)...

    var i = s.length - 1;       // Get length of string

    // Iterate from the far right of string until we
    // don't have any more whitespace...
    while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
      i--;


    // Get the substring from the front of the string to
    // where the last non-whitespace character is...
    s = s.substring(0, i+1);
  }

  return s;
}

function Trim(str)
{
  return RTrim(LTrim(str));
}



