// Site features
$(function() {
	
	// Homepage scrolling
    $("div.scrollable").scrollable({ 
		prev: '#wrapper #content div.photography a.previous',
		next: '#wrapper #content div.photography a.next',
		easing: 'swing',
		loop: true,
		clickable: true,
		keyboard: true,
		size : 1
	});
	
	// Cycle top banner images
	$('#header div.image').cycle({ 
		fx: 'fade',
		timeout: 1000
	});
	
	// Lightbox on products & portfolio
	$('div.images div.items div a, #products a, a.lightbox').lightBox();
	
	 
	 // Add another photo to upload
	 $('#show_3').click(function(){
        $('fieldset.photo_3').slideDown();
	});
	 
	  $('a.add_4').click(function(){
        $('fieldset.photo_4').slideDown();
		return false;
	});
	  
	   $('a.add_5').click(function(){
        $('fieldset.photo_5').slideDown();
		return false;
	});
	
	$("form.checkout").click(function() {
		window.open("checkout.php");
		return false;
	});
	
	$('#photo_upload').show();
	$('#no_js').hide();
	
	
	var maxQueueSize = 1;
	var queueSize = 0;
	var validate_error = false;
	var error_message = "";
	var valid_two = false;
	var valid_three = false;
	var valid_four = false;
	var valid_five = false;
	
	
	// Check how many files to allow
	$('#show_2').click(function(){
		if($('#show_2').is(':checked')){
			$('fieldset.photo_2').slideDown();
			valid_two = true;
		}
		else {
			$('fieldset.photo_2').slideUp();
			valid_two = false;
		}
	});
	
	$('#show_3').click(function(){
		if($('#show_3').is(':checked')){
			$('fieldset.photo_3').slideDown();
			valid_three = true;
		}
		else {
			$('fieldset.photo_3').slideUp();
			valid_three = false;
		}
	});
	
	$('#show_4').click(function(){
		if($('#show_4').is(':checked')){
			$('fieldset.photo_4').slideDown();
			valid_four = true;
		}
		else {
			$('fieldset.photo_4').slideUp();
			valid_four = false;
		}
	});
	
	$('#show_5').click(function(){
		if($('#show_5').is(':checked')){
			$('fieldset.photo_5').slideDown();
			valid_five = true;
		}
		else {
			$('fieldset.photo_5').slideUp();
			valid_five = false;
		}
	});
	
	
	// Validate user info
	function validate_info() {
		
		// name
		if($('#name').val() == ""){ 
			validate_error = true;
			error_message += "\nPlease enter your name";
		}
		else {
			validate_error = false;
		}
		
		// Number
		if($('#number').val() == ""){ 
			validate_error = true;
			error_message += "\nPlease enter a telephone number";
		}
		else {
			validate_error = false;
		}
		
		// email
		if($('#email').val() == ""){ 
			validate_error = true;
			error_message += "\nPlease enter an email address";
		}
		else {
			validate_error = false;
		}
	}
	
	
	// Validate 1 Photo
	function validate_one() {
		
		// shape
		if($('[name=shape_1]').is(':checked')) { 
			validate_error = false;
		} 
		else {
			validate_error = true;
			error_message += "\nPlease select a canvas shape (Photo one)";
		}
		
		// shape
		if($('[name=style_1]').is(':checked')) { 
			validate_error = false;
		} 
		else {
			validate_error = true;
			error_message += "\nPlease select a canvas shape (Photo one)";
		}
		
		// width
		if($('#w_1').val() == ""){ 
			validate_error = true;
			error_message += "\nPlease enter a width (Photo one)";
		}
		else {
			validate_error = false;
		}
		
		// height
		if($('#h_1').val() == ""){ 
			validate_error = true;
			error_message += "\nPlease enter a height (Photo one)";
		}
		else {
			validate_error = false;
		}
	}
	
	
	// Validate 2 Photo
	function validate_two() {
		
		// shape
		if($('[name=shape_2]').is(':checked')) { 
			validate_error = false;
		} 
		else {
			validate_error = true;
			error_message += "\nPlease select a canvas shape (Photo two)";
		}
		
		// shape
		if($('[name=style_2]').is(':checked')) { 
			validate_error = false;
		} 
		else {
			validate_error = true;
			error_message += "\nPlease select a canvas shape (Photo two)";
		}
		
		// width
		if($('#w_2').val() == ""){ 
			validate_error = true;
			error_message += "\nPlease enter a width (Photo two)";
		}
		else {
			validate_error = false;
		}
		
		// height
		if($('#h_2').val() == ""){ 
			validate_error = true;
			error_message += "\nPlease enter a height (Photo two)";
		}
		else {
			validate_error = false;
		}
	}
	
	
	// Validate 3 Photo
	function validate_three() {
		
		// shape
		if($('[name=shape_3]').is(':checked')) { 
			validate_error = false;
		} 
		else {
			validate_error = true;
			error_message += "\nPlease select a canvas shape (Photo three)";
		}
		
		// shape
		if($('[name=style_3]').is(':checked')) { 
			validate_error = false;
		} 
		else {
			validate_error = true;
			error_message += "\nPlease select a canvas shape (Photo three)";
		}
		
		// width
		if($('#w_3').val() == ""){ 
			validate_error = true;
			error_message += "\nPlease enter a width (Photo three)";
		}
		else {
			validate_error = false;
		}
		
		// height
		if($('#h_3').val() == ""){ 
			validate_error = true;
			error_message += "\nPlease enter a height (Photo three)";
		}
		else {
			validate_error = false;
		}
	}
	
	// Validate 4 Photo
	function validate_four() {
		
		// shape
		if($('[name=shape_4]').is(':checked')) { 
			validate_error = false;
		} 
		else {
			validate_error = true;
			error_message += "\nPlease select a canvas shape (Photo four)";
		}
		
		// shape
		if($('[name=style_4]').is(':checked')) { 
			validate_error = false;
		} 
		else {
			validate_error = true;
			error_message += "\nPlease select a canvas shape (Photo four)";
		}
		
		// width
		if($('#w_4').val() == ""){ 
			validate_error = true;
			error_message += "\nPlease enter a width (Photo four)";
		}
		else {
			validate_error = false;
		}
		
		// height
		if($('#h_4').val() == ""){ 
			validate_error = true;
			error_message += "\nPlease enter a height (Photo four)";
		}
		else {
			validate_error = false;
		}
	}
	
	
	// Validate 5 Photo
	function validate_five() {
		
		// shape
		if($('[name=shape_5]').is(':checked')) { 
			validate_error = false;
		} 
		else {
			validate_error = true;
			error_message += "\nPlease select a canvas shape (Photo five)";
		}
		
		// shape
		if($('[name=style_5]').is(':checked')) { 
			validate_error = false;
		} 
		else {
			validate_error = true;
			error_message += "\nPlease select a canvas shape (Photo five)";
		}
		
		// width
		if($('#w_5').val() == ""){ 
			validate_error = true;
			error_message += "\nPlease enter a width (Photo five)";
		}
		else {
			validate_error = false;
		}
		
		// height
		if($('#h_5').val() == ""){ 
			validate_error = true;
			error_message += "\nPlease enter a height (Photo five)";
		}
		else {
			validate_error = false;
		}
	}

	
	function check_queue_size() {
		if (valid_two == true) {
			maxQueueSize = 2;
		}
		if ((valid_two == true) && (valid_three == true)) {
			maxQueueSize = 3;	
		}
		if ((valid_two == true) && (valid_three == true) && (valid_four == true)) {
			maxQueueSize = 4;	
		}
		if ((valid_two == true) && (valid_three == true) && (valid_four == true) && (valid_five == true)) {
			maxQueueSize = 5;																 
		}		
		return maxQueueSize;
	}
	
	
	function startUpload(id) {
		check_queue_size();
	   if (queueSize == maxQueueSize) {
		   $('#'+id).fileUploadStart();
	   } else {
			alert("Oops! you haven't added enough files");
	   }
	}
	
	
	
	$('p.upload_files').click(function() {
		error_message = "";
		validate_one();
		if(valid_two == true) { validate_two(); }
		if(valid_three == true) { validate_three(); }
		if(valid_four == true) { validate_four(); }
		if(valid_five == true) { validate_five(); }
		validate_info();
		if (validate_error == true) {
			alert("Please check you have entered all the required information\n------\n" + error_message);
		} else {
   			startUpload('fileUpload');
		}
   	});
	
	
	$('#fileUpload').fileUpload ({
		'uploader'  : 'uploader.swf',
		'script'    : 'upload.php',
		'cancelImg' : 'images/cancel.png',
		'multi' : true,
		'auto'      : false,
		'simUploadLimit' : '6',
		'sizeLimit' : '10485760',
		'fileExt' : '*.jpg;*.gif;*.png',
		'fileDesc' : 'jpg, gif and png Images only please',
		onCancel: function (a, b, c, d) {
         queueSize = d.fileCount;
      },
      onClearQueue: function (a, b) {
         queueSize = b.fileCount;
      },
      onSelect: function (a, b) {
		  check_queue_size();
         if (queueSize < maxQueueSize) {
                  queueSize++;
				  alert("adding image "+queueSize+" of "+ maxQueueSize);
		 }
         else {
		 	alert("You have reached the maximum number of files you can upload.");
			return false;
		 }
      },
      onSelectOnce: function (a, b) {
         queueSize = b.fileCount;
      },
      onAllComplete: function () {
         $("#photo_upload").submit();      
         queueSize = 0;
      },
      onComplete: function (a, b ,c, d, e) {
         queueSize--;
      }
	});

	 
});
	
