/*
 * Javascipt dat alle checkboxen in de boekenlijst vervangt door afbeeldingen
 * en zorgt ervoor dat dezelfde boeken altijd in de huidige periode worden besteld en niet dubbel 
 */ 


var imgFalse = './images/checkbox_false.png';
var imgTrue = './images/checkbox_true.png';
var imgFalseDisabled = './images/checkbox_false_disabled.png';
var imgTrueDisabled = './images/checkbox_true_disabled.png';

function replaceChecks() {
  var i = 0;
  $(":checkbox:disabled").each(function(){
    i++;
    var img = document.createElement('img');
    if($(this).is(':checked')) {
      img.src = imgTrueDisabled;
		} else {
			img.src = imgFalseDisabled;
		} 
		img.id = 'checkImage'+i; 		
		$(this).before(img);	
		$(this).hide();     
  });

	$(":checkbox:enabled").each(function(){
    i++;
    var img = document.createElement('img');
    if($(this).is(':checked')) {
      img.src = imgTrue;
		} else {
			img.src = imgFalse;
		} 
		img.id = 'checkImage'+i;
		img.onclick = new Function('checkChange('+i+')'); 
		$(this).before(img);		
	  $(this).hide();     
  });
}

//change the checkbox status and the replacement image
function checkChange(i) {
  if($("#checkImage"+i).next(":checkbox").is(':checked')){
    $("#checkImage"+i).attr('src', imgFalse);
    $("#checkImage"+i).next().attr("checked", '');
    $("#checkImage"+i).onclick = new Function('checkChange('+$("#checkImage"+i).attr('id').substr(10)+')'); 
    $("#checkImage"+i).next().attr('disabled','');  
  }else{
    $("#checkImage"+i).attr("src", imgTrue);
    $("#checkImage"+i).onclick = new Function('checkChange('+$("#checkImage"+i).attr('id').substr(10)+')'); 
    $("#checkImage"+i).next().attr("checked", 'checked');
    $("#checkImage"+i).next().attr('disabled','');  
  }
  
  CheckNextCheckboxes(i);
  CheckPrevCheckboxes(i);
}

function checkOut(i) {
  $("#checkImage"+i).attr('src', imgFalse);
  $("#checkImage"+i).next().attr("checked", '');
  $("#checkImage"+i).onclick = new Function('checkChange('+$("#checkImage"+i).attr('id').substr(10)+')');     
}

function checkOn(i){
  $("#checkImage"+i).attr("src", imgTrue);
  $("#checkImage"+i).onclick = new Function('checkChange('+$("#checkImage"+i).attr('id').substr(10)+')'); 
  $("#checkImage"+i).next().attr("checked", 'checked');
}

function CheckNextCheckboxes(i){
  var name = $("#checkImage"+i).next().attr("name");
  name = name.substr(2);
  $("#checkImage"+i).nextALL(":checkbox").each(function(){
    var obj = $(this);
    if((obj.attr("name").substr(2) == name) && (obj.prev().attr('id') != "checkImage"+i) ){ // later nog eenzelfde boek dus die ook aan/uit vinken maar wel disabled
      var img = document.createElement('img');
      img.id = obj.prev().attr('id');
      if($("#checkImage"+i).next(":checkbox").is(':checked')) {
        img.src = imgTrueDisabled;
      } else {
      	img.src = imgFalse;
        img.onclick = new Function('checkChange('+img.id.substr(10)+')'); 
      } 
      
      checkOut(img.id.substr(10));
      obj.attr('disabled','disabled');
      
      obj.prev().remove(); //verwijder huidige image
      obj.before(img); // plaats nieuwe image
      
      if($("#checkImage"+i).next().is(':checked')){
        obj.attr('checked', 'checked');
      }else{
        obj.attr('checked', ''); 
      }      
    }      
  });
}

function CheckPrevCheckboxes(i){
  var name = $("#checkImage"+i).next().attr("name");
  name = name.substr(2);
  $("#checkImage"+i).prevALL(":checkbox").each(function(){
    var obj = $(this);
    if((obj.attr("name").substr(2) == name) && (obj.prev().attr('id') != "checkImage"+i)){ // eerder eenzelfde boek dus die aan/uit vinken en geklikte disablen
      var img = document.createElement('img');
      img.id = obj.prev().attr('id');
      if($("#checkImage"+i).next(":checkbox").is(':checked')) {
        img.src = imgTrueDisabled;
      } else {
      	img.src = imgFalse;
        img.onclick = new Function('checkChange('+img.id.substr(10)+')'); 
      } 
            
      checkOut(img.id.substr(10));
      obj.attr('disabled','disabled');
      
      obj.prev().remove(); // verwijder huidige image
      obj.before(img); // plaats nieuwe image
      
      if($("#checkImage"+i).next(":checkbox").is(':checked')){
        obj.attr('checked', 'checked');
      }else{
        obj.attr('checked', ''); 
      }
      
      //CheckNextCheckboxes(img.id.substr(10));
      
      /* geklikte checkbox disablen
      var img = document.createElement('img');
      img.id = $("#checkImage"+i).attr('id');
      img.src = imgTrueDisabled;
      if($("#checkImage"+i).next(":checkbox").is(':checked')){
        $("#checkImage"+i).next(":checkbox").before(img);
        $("#checkImage"+i).remove();
      }
      */   
    }      
  });
}

function verwijderDisabled(){
  var i = 0;
  $(":checkbox:disabled").each(function(){
    i++;
		$(this).attr('checked','');     
  });
  return true;
}
