/**
 * @author avert
 */
  jQuery(document).ready(function(){
	

  })
  
  var quiz_23 = '0';
  var quiz_26 = '0';
  var quiz_28 = '0';
  var quiz_29 = '0';
  var quiz_30 = '0';
  var quiz_31 = '0';
  var quiz_33 = '0';  
  var quiz_34 = '0';
  
   function nothing()
   {
   		// just here to prevent js error
   }        
  
  /**
   * Destroy selected question
   * 
   * Removes a question the user has already selected from their list
   * 
   * Removes question with given id from the DOM
   * Adds the add function back in the source question so user can re add the question if needed
   * 
   * @param {Object} id of item to remove
   */
  function destroySelectedQuestion(question_id, quiz_id) {
  	//remove the selected question
	jQuery('#selected_question_'+question_id).remove();
	
	//remove the published question
	//jQuery('#published_question_'+question_id).remove();
	
  	//add the add function to the source question
	//jQuery('#add_button_'+question_id).attr('disabled', '');
	jQuery('#add_button_'+question_id).attr('href', 'javascript:copyQuestion(\''+question_id+'\', \''+quiz_id+'\')');
	
	
	jQuery('#add_button_'+question_id).removeClass('button_link_disabled');
	jQuery('#add_button_'+question_id).addClass('button_link');

	//remove the faded class from the question
	jQuery('#question_'+question_id).fadeTo("slow", 1);	

	//decrement the quiz slsected questions tally
	switch(quiz_id)
	{
		case '23':
			var new_total = quiz_23;
			new_total--;
			quiz_23 = new_total;
			break;
		case '26':
			var new_total = quiz_26;
			new_total--;
			quiz_26 = new_total;
			break;	
		case '28':
			var new_total = quiz_28;
			new_total--;
			quiz_28 = new_total;
			break;
		case '29':
			var new_total = quiz_29;
			new_total--;
			quiz_29 = new_total;
			break;	
		case '30':
			var new_total = quiz_30;
			new_total--;
			quiz_30 = new_total;
			break;
		case '31':
			var new_total = quiz_31;
			new_total--;
			quiz_31 = new_total;
			break;	
		case '33':
			var new_total = quiz_33;
			new_total--;
			quiz_33 = new_total;
			break;
		case '34':
			var new_total = quiz_34;
			new_total--;
			quiz_34 = new_total;
			break;	
	}	
	// convert new total to a string to prevent blank when appending a 0
	if (!new_total > 0) new_total = '0'; 
	jQuery('#no_added_questions_'+quiz_id).empty();
	jQuery('#no_added_questions_'+quiz_id).append(new_total);
	
  }
  
  /**
   * Copy question
   * 
   * Adds a question from the list of questions to the users list
   * 
   * @param {Object} question_id of question to add to the list
   */
  function copyQuestion(question_id, quiz_id) {
  	
	//add a new list item to selected questions
	jQuery('#selected_questions').prepend('<div id="selected_question_'+question_id+'" class="question quiz_'+quiz_id+'">');
	//add the question to the list
	//jQuery('#copy_area_'+question_id).clone().appendTo('#selected_question_'+question_id);
	jQuery('#selected_question_'+question_id).append(jQuery('#copy_area_'+question_id).clone());
	jQuery('#selected_question_'+question_id).append('</div>');
	
	//add the remove button
	jQuery('#selected_question_'+question_id).append('<button type="button" onClick="destroySelectedQuestion(\''+question_id+'\', \''+quiz_id+'\')" id="destroy_button_'+question_id+'" class="button">&nbsp;Remove me from your quiz</button>');
  	
	//increment the quiz slsected questions tally
	switch(quiz_id)
	{
		case '23':
			var new_total = quiz_23;
			new_total++;
			quiz_23 = new_total;
			break;
		case '26':
			var new_total = quiz_26;
			new_total++;
			quiz_26 = new_total;
			break;	
		case '28':
			var new_total = quiz_28;
			new_total++;
			quiz_28 = new_total;
			break;
		case '29':
			var new_total = quiz_29;
			new_total++;
			quiz_29 = new_total;
			break;	
		case '30':
			var new_total = quiz_30;
			new_total++;
			quiz_30 = new_total;
			break;
		case '31':
			var new_total = quiz_31;
			new_total++;
			quiz_31 = new_total;
			break;	
		case '33':
			var new_total = quiz_33;
			new_total++;
			quiz_33 = new_total;
			break;
		case '34':
			var new_total = quiz_34;
			new_total++;
			quiz_34 = new_total;
			break;	
	}
	
	jQuery('#no_added_questions_'+quiz_id).empty();
	jQuery('#no_added_questions_'+quiz_id).append(new_total);
	
	//disable the add button from the relevant question
	//jQuery('#add_button_'+question_id).attr('disabled', 'disabled');
	//jQuery('#add_button_'+question_id).attr('onclick', '');
	jQuery('#add_button_'+question_id).attr('href', 'javascript:nothing()');
	jQuery('#add_button_'+question_id).addClass('button_link_disabled');
	jQuery('#add_button_'+question_id).removeClass('button_link');
	
	//add faded class to the question
	jQuery('#question_'+question_id).fadeTo("slow", 0.33);
	
	//make the published list sortable
    Sortable.create("selected_questions",
     {dropOnEmpty:true,containment:["selected_questions"],constraint:false,tag:'div'});
    //Show publish button
    jQuery('#publish_button').show("medium");
	//Show Step_instructions
    jQuery('.step_3_instructions').show("slow");
  }
  
  /**
   * Change questions
   * 
   * When the user clicks on a quiz
   * 
   * Mark the quiz as selected (add selected class)
   * Add the selected quiz name to the quiz heading
   * Show the appropriate quiz
   * 
   * @param {Object} id - id of selected quiz
   */
  function changeQuestions(id) {	
  	//add the selected class to the selected quiz
	jQuery('.quiz_list_item').removeClass('selected');
	jQuery('#quiz_list_item_'+id).addClass('selected');	
	
	//add the heading
	jQuery('#question_title').empty();
	var quiz_name = jQuery('#quiz_name_'+id).html();	
	jQuery('#question_title').append(quiz_name);
	jQuery('.step_2_instructions_start').hide();
	jQuery('.step_2_instructions').show("slow");
	jQuery('#question_title').show("slow");
	
	jQuery('.questions').hide();
	jQuery('#quiz_'+id).show("medium");	
	
  }
  
  function publishQuiz() {
	jQuery('.quiz_container').hide();
	jQuery('#published_quiz').show();
	
	//copy questions
	jQuery('#selected_questions').find('span').clone().appendTo('#published_questions');
	jQuery('#published_questions').find('span').wrap('<li class="question"></li>');
	jQuery('#published_questions').find('li.correct').removeClass('correct');//remove correct answer clue
	jQuery("#published_questions li:nth-child(6)").addClass("break");
	jQuery("#published_questions li:nth-child(11)").addClass("break");
	jQuery("#published_questions li:nth-child(16)").addClass("break");
	jQuery("#published_questions li:nth-child(21)").addClass("break");
	jQuery("#published_questions li:nth-child(26)").addClass("break");
	jQuery("#published_questions li:nth-child(31)").addClass("break");
		
	//copy answers
	jQuery('#selected_questions').find('span').clone().appendTo('#correct_answers');
	jQuery('#correct_answers').find('span').wrap('<li class="question"></li>');
	jQuery('#correct_answers').find('.answers').find('.incorrect').remove();
	jQuery('#correct_answers').find('.answers').find('.correct').removeClass('correct');//remove correct answer clue
  }
  
  function cancelPublishQuiz() {
	jQuery('#published_quiz').hide();
	jQuery('#published_questions').empty();
	jQuery('#correct_answers').empty();
	
  	jQuery('.quiz_container').show();
  	
  }
  
