$(document).ready(function(){
  navigate('home');
});

function goHome(){
  if((document.getElementById('main').innerHTML).indexOf('home_') == -1){
    $('#home a').click();
  }
}

function go(w){
  if(w.className != 'here'){
    $('.here').addClass('there').removeClass('here');
    $(w).addClass('here').removeClass('there');
    navigate(w.parentNode.id);
  }
}

function navigate(w){
  $('#micetype').fadeOut();
  $('#progress').show();
  $('#main').fadeOut('',function(){
    $('#main').load(w + '.php',function(){
      $('#main').fadeIn();
      $('#micetype').fadeIn('',function(){
        $('#progress').hide();
      });
    });
  });
}

function clickProduct(){
  $('.here').addClass('there').removeClass('here');
  navigate(this.id);
}

function thanks(){
  $('#thanks').slideDown('',function (){
    $('.here').addClass('there').removeClass('here');
    $('#home a').click();
  });
}

function sendForm(){
  var form = $('#retailForm').serialize();
  $.post('handleForm.php', form, thanks);
}

function isFilled(w){
  var val = $(w).val();
  if (val == '' || val == null){
	  $('#errors').prepend('<div>"' + $(w).attr('title') + '" is a required field.</div>');
	  $(w).css('border-color','red');
  	return false;
  }
  return true;
}

function isAlpha(w){
  if(!isFilled($(w))) return false;
  var val = $(w).val();
  if (val == '' || val == null){
	  $('#errors').prepend('<div>"' + $(w).attr('title') + '" is a required field.</div>');
	  $(w).css('border-color','red');
  	return false;
  }
  for(i=0;i < val.length; i++){
  	if(!val.charAt(i).match(/[a-zA-Z ]/)){
  	  $('#errors').prepend('<div>"' + $(w).attr('title') + '" must contain letters and spaces only.</div>');
  	  $(w).css('border-color','red');
  	  return false;
  	}
  }
  return true;
}

function isEmail(w){
  if(!isFilled($(w))) return false;
  var val = $(w).val();
  var emailPattern = /^[a-zA-Z0-9_\-\.]+\@[a-zA-Z0-9_\-\.]+\.([a-zA-Z]{2,3})$/;
  if(!emailPattern.test(val)){
	  $('#errors').prepend('<div>Please provide a valid email address.</div>');
	  $(w).css('border-color','red');
    return false;
  }
  return true;
}

function isPhone(w){
  if(!isFilled($(w))) return false;
  var val = $(w).val();
  if(val.length != 12){
	  $('#errors').prepend('<div>"Phone" must use the format ###-###-####.</div>');
	  $(w).css('border-color','red');
  	return false;
  }
  var phonePattern = /[0-9]{3}\-[0-9]{3}\-[0-9]{4}/;
  if(!phonePattern.test(val)){
	  $('#errors').prepend('<div>"Phone" must use the format ###-###-####.</div>');
	  $(w).css('border-color','red');
  	return false;
  };
  return true;
}

function validate(){
  $('#errors').empty();
  $('.wide_text').css('border-color',"#ccc");
  if(!isEmail($('#email'))){
    $('#email').val('');
    $('#email').select('');
  }
  if(!isAlpha($('#contactName'))){
    $('#contactName').val('');
    $('#contactName').select('');
  }
  if(!isPhone($('#phone'))){
    $('#phone').val('');
    $('#phone').select('');
  }
  if(!isFilled($('#address1'))){
    $('#address1').val('');
    $('#address1').select('');
  }
  if(!isFilled($('#storeName'))){
    $('#storeName').val('');
    $('#storeName').select('');
  }
  if(($('#errors').html()).length > 0){
    return false;
  }
  sendForm();
}

