// JavaScript Document
$(document).ready(function() {
  debug('dom ready');
  $(document).pngFix();
	getListWidth();
	setListNavigation();
	setEventListeners();
	$("#ContactForm").validate(
		 {
  		  debug: true,
				//FIELDS
				rules: {
					name: {
						required: true,
						minlength: 2
					},
					email: {
						required: true,
						email: true
					}								
				},
				//ERROR
				errorPlacement: function(error, element) {
				   error.appendTo( element.prev("label") );
				},
				errorElement: "span",
				highlight: function(element, errorClass) {
					 $(element).addClass(errorClass);
					 //$(element.form).find("label[for=" + element.id + "]").addClass(errorClass);
				},
				unhighlight: function(element, errorClass) {
					 $(element).removeClass(errorClass);
					 //$(element.form).find("label[for=" + element.id + "]").removeClass(errorClass);
				},
				//SUBMIT
			  success: function(label) {
			   	 label.addClass("valid").text("Ok!")
			  },
			  submitHandler: function(form) { 
				   debug("Submitted!") 
					 form.submit();
				}

	   }
	);
});

var enabledLeftArrowImage = 'img/control-left.png';
var disabledLeftArrowImage = 'img/control-left-disabled.png';
var enabledRightArrowImage = 'img/control-right.png';
var disabledRightArrowImage = 'img/control-right-disabled.png';

var setEventListeners = function() {
    debug('setting listeners');
    $('.controlLeft').click(function(){displayPrevious();});
    $('.controlRight').click(function(){displayNext();});
    $('#SubmitLink').click(function(){submitForm();});   
}

var getListWidth = function(){
    $('.appArea').css('width', ($('.appArea > li').length * getLIWidth()) );
}

var getLIWidth = function(){
    return $('.appArea > li').innerWidth();
}

var displayPrevious = function() {
    updateListPosition(getLIWidth());
}

var displayNext = function() {
    updateListPosition(-(getLIWidth()));
}

var updateListPosition = function(value) {
  var newValue = value + parseFloat($('.appArea').css('margin-left')); 
  if(parseFloat($('.appArea').css('margin-left')) % getLIWidth() == 0)
  {
      if ((newValue <= 0) && (newValue >= -(getLIWidth() * $('.appArea > li').length -1)))
      {
          $('.appArea').animate({marginLeft: newValue}, {duration:'slow', complete:setListNavigation});        
      }
  }
}

var setListNavigation = function(){
  debug('setOfferNavigation');
   var currentlyOn =  ((parseInt($('.appArea').css('margin-left')) / parseInt(getLIWidth())) * -1) + 1;
   var offerTotal = $('.appArea > li').length;
	
   if (parseInt($('.appArea').css('margin-left')) == 0) {
     $('.controlLeft img').attr("src", disabledLeftArrowImage);
   } else {
     $('.controlLeft img').attr("src", enabledLeftArrowImage);
   }
   var leftSide = ((parseInt($('.appArea > li').length) - 1) * getLIWidth());
   debug('left: ' +  leftSide);
	 var rightSide = -(parseInt($('.appArea').css('margin-left')));
	 debug('right: ' + rightSide );
	 debug( leftSide <=  rightSide );
 
   if( ((parseInt($('.appArea > li').length) - 1) * getLIWidth()) <=  -(parseInt($('.appArea').css('margin-left'))) )
    {
     $('.controlRight  img').attr("src", disabledRightArrowImage);
   } else {
     $('.controlRight img').attr("src", enabledRightArrowImage);
   }
}

var submitForm = function(){
	 debug('submitForm');
	$('#ContactForm').submit();
}

var debug = function(what){
	if(window.console && window.console.firebug){
		console.log(what);
	}	
	else{
		//alert(what);
	}
}

