var num_testimonials = 0;
var next_testimonial = 0;
var response_text = '';

function fetch_next_testimonial() {
  var prev = next_testimonial;
  while (next_testimonial == prev) {
    next_testimonial = Math.floor(Math.random() * num_testimonials);
  }
  new Ajax.Request('/support/fetch_next_testimonial?align=' + (next_testimonial % 2 == 0 ? 'left' : 'right') + '&idx=' + next_testimonial,
    {asynchronous:true, evalScripts:true,
      onSuccess:function(request) { ajax_success(request); },
      onFailure:function(request) {}
    });
}

function ajax_success(request) {
  response_text = request.responseText;
  if (response_text != 'stop_rotation') {
    Effect.Fade('testimonial-' + next_testimonial);
    setTimeout('display_new_testimonial()', 1200);
  }
}

function display_new_testimonial() {
  $('testimonial-' + next_testimonial).innerHTML = response_text;
  Effect.Appear('testimonial-' + next_testimonial);
  setTimeout('fetch_next_testimonial()', 5000);
}

function setup_folding_link() {
	try {
	  $('unfold_testimonial_link').onclick = function() {
	    if ($('testimonial-fold-div').style.display == 'none') {
	      Effect.BlindDown('testimonial-fold-div');
	    } else {
	      Effect.BlindUp('testimonial-fold-div');
	    }
	    return false;
	  }
	} catch(e) {}
}

function select_sign_in_box() {
  alert('Please Sign In');
  $('member-middle').elements[0].focus();
}

function update_chars_remaining() {
  $('test-chars-remaining').innerHTML = 255 - $('testimonial_text').value.length;
}

function validate_testimonial() {
  var text_length = $('testimonial_text').value.length;
  var country = $('testimonial_address[country]').value;
  var zip = $('testimonial_address_postal_code').value;
  if (!user_is_logged_in()) {
    alert('You must be logged in to submit a testimonial.')
    return false;
  } else if ($('testimonial_first_name').value.length == 0) {
    alert('First Name is blank.')
    return false;
  } else if ($('testimonial_last_name').value.length == 0) {
    alert('Last Name is blank.')
    return false;
  } else if ($('testimonial_address_street1').value.length == 0) {
    alert('Street 1 is blank.');
    return false;
  } else if ($('testimonial_address_city').value.length == 0) {
    alert('City is blank.');
    return false;
  } else if ($('testimonial_address[state]').value.length == 0) {
    alert('State/Province is blank.');
    return false;
  } else if (country.length == 0) {
    alert('Country is blank.');
    return false;
  } else if (zip.length == 0) {
    alert('Zip/Postal Code is blank.');
    return false;
  } else if (country == "USA" && zip.search(/(^[0-9]{5}$)|(^[0-9]{5}-[0-9]{4}$)/) == -1) {
    alert('Zip/Postal Code must be in the format 55555 or 55555-5555.');
    return false;
  } else if (country == "CAN" && zip.search(/(^[a-zA-Z][0-9][a-zA-Z][ -]?[0-9][a-zA-Z][0-9]$)/) == -1) {
    alert('Zip/Postal Code must be in the format A1A 1A1, A1A-1A1, or A1A1A1.')
    return false;
  } else if ($('testimonial_shirt_size').value.length == 0) {
    alert('Please select a T-Shirt Size.');
    return false;
  } else if (text_length == 0) {
    alert('Testimonial is blank.');
    return false;
  } else if (text_length > 255) {
    alert('Testimonials can only be 255 characters or less.\nCurrent length is ' + text_length + ' characters.');
    return false;
  } else if (!$('testimonial_permission').checked) {
    alert('You must give SpadeClub permission to use your testimonial.')
    return false;
  }
  return true;
}
