function setChecked(frmName,chkName,val,quote_id) {

  var dml = document.forms[frmName];
  var len = dml.elements.length;
  var i = 0;

  for( i=0; i<len; i++) {
    if (dml.elements[i].name==chkName) {
      dml.elements[i].checked=val;
    }
  }
  
  var rChecked = countChecked(frmName,chkName,quote_id);
  
  if ( rChecked > 0) {
    $('select_submit'+quote_id).disabled = false;
  } else {
    $('select_submit'+quote_id).disabled = true;
  }
}

function countChecked(frmName,chkName,quote_id) {

  var dml = document.forms[frmName];
  var len = dml.elements.length;
  var i = 0;
  var areChecked = 0;
  
  for( i=0; i<len; i++) {
    if (dml.elements[i].name==chkName) {
      if (dml.elements[i].disabled) continue;
      if (dml.elements[i].checked) areChecked++;
    }
  }
  return areChecked;
}

function updateSubmit(frmName,chkName,quote_id) {
  
  var e = 'select_submit'+quote_id;
  var cnt = countChecked(frmName,chkName,quote_id);
  
  if (cnt == 0) {
    $(e).disabled= true;
  } else {
    $(e).disabled = false;
  }
}

function postSelect(select_form_id, quote_id) {

  var form = document.forms[select_form_id];

  if (SelectHandler(form, quote_id)) {
    
    var add_button = $('select_submit'+quote_id);
    add_button.value = "Envoi en cours...";
    add_button.disabled = true;
  }
 return false;
}

function SelectHandler(select_form, quote_id) { // begin select handler
  
    postFormByForm(select_form, true, selectResponse);
    return true;
}


function selectResponse(req) {

  var theDiv =  $('response_div');
  
  if( req.readyState == 4) { // request ready
    
    //$nodisplay('wait_div');

    if (req.status == 200) { // request succeed
      
      var response_str = req.responseText;
      var responses = response_str.split('<SEP>');
      var response_code = responses[0];
      var quote_id = responses[1];
      var response_html = responses[2];
      
      if (response_code == 'OK' ) { // request okay
	
	$('quote'+quote_id).innerHTML = response_html;
	//$('quote'+quote_id).className = 'new_div';

	setTimeout(function() { 
	  $('dt'+quote_id).className = 'quoteNormal';
	  $nodisplay('quote'+quote_id);
	  $('dt'+quote_id).className = 'quoteNormal';

	}, 5000);
	
      } else {   // request failed // there is errors 
	
	alert('Corrigez ces erreurs:\n'+ response_html);	          
	$('select_submit' + quote_id).disabled = false;
	$('select_submit' + quote_id).value = 'J\'ai corrigé !';
      }

    } else {
      alert("Erreur interne, veuillez réessayer:\n" + req.statusText);
      $('select_submit'+quote_id).disable = false;
    }
    
  } else {
    
    //$display('wait');
  }
}

function hideSelectForm(quote_id) {

      $('quote' + quote_id).innerHTML = '';
      $('dt'+quote_id).className = 'quoteNormal';
      $nodisplay('quote'+quote_id); 
}


function showSelectForm(quote_id) {

  var randNum = Math.floor(Math.random()*5);
  var url = script_name + '?do=show_selectquote&quote_id='+quote_id+'&rnd='+randNum;
  $('s' + quote_id).src = '/iquotes/rates/loading.gif';
  getUrl(url, true, execOnSuccess(handleSelect));
}

function handleSelect(req) {
  
  var response_str = req.responseText;
  var responses = response_str.split('<SEP>');
  var response_code = responses[0];
  var quote_id = responses[1];
  var response_html = responses[2];
  $('quote' + quote_id).innerHTML = response_html;
  $('dt'+quote_id).className = 'quoteSelected';
  $('s' + quote_id).src = '/qimg/note_add.png';
  $display('quote'+quote_id); 
}

function toggleChecked(frmName,chkName,val) {

  var dml = document.forms[frmName];
  var len = dml.elements.length;
  var i = 0;

  for( i=0; i<len; i++) {

    if (dml.elements[i].name.match(chkName)) {
      dml.elements[i].checked=val;
    }
  }

}

function showAction() {

  var aChecked = parseInt(countChecked('admin_quotes','quote_id'));
  
  if (aChecked > 0) {
    $enabled('subdo');
  } else {
    $disabled('subdo');
    $nodisplay('other_chapters');	 
  }
}

function countChecked(frmName,chkName) {

  var dml = document.forms[frmName];
  var len = dml.elements.length;
  var i = 0;
  var areChecked = 0;
  
  for( i=0; i<len; i++) {

    if (dml.elements[i].name.match(chkName)) {
      if (dml.elements[i].checked) areChecked++;
    }
  }
  return areChecked;
}

function hQuote() {

  var subDo = $('subdo').value;
  
    if (  subDo == 'delete_quote' ) {

      var cQuotes = parseInt(countChecked('admin_quotes','quote_id'));

      
      if (cQuotes > 0 ) {
	
	var s = cQuotes > 1 ? 's' : '';
	
	if (confirm('Vous allez supprimer ' + cQuotes +' citation'+s+'!\nConfirmez-vous ce choix ?\n')) {
	
	  postForm('admin_quotes', true, showResponseGen);
	  setTimeout(
		     function() {
	    changeChapter();
	    iUpdateChapters();
    }, 3000);
	  
	  
	}
	
      } else {
	alert('Veuiller cocher les citations que vous voulez supprimer\n');
	return;
	
      }
    } else {
           $('other_chapters').style.display='inline';
	   $enabled('other_chapter');
    }
}
function hChapter() {
  
  var dest_chapter_id = $('other_chapter').value;
  
  if (dest_chapter_id == 'new_chapter' ) {
    
    $display('nChapter');
    
 } else if (dest_chapter_id.match(/^\d+$/) ) {
    
    postForm('admin_quotes', true, showResponseGen);

    var url = script_name + '?do=list_quotes_ajax&chapter_id='+dest_chapter_id;
    var randNum = Math.floor(Math.random()*5);
    url += '&rnd='+ randNum;
    
    setTimeout(
	       function() {
      getGen(url, 'gray');
      iUpdateChapters();
    }, 3000);
    
  } else {
    alert('Veuillez choisir un chapitre');
    return false;
    
  }
}

function changeChapter() {
	
   var chapter_id = 0;

   if ($('chapter_id')) {
     chapter_id = $('chapter_id').value;
   }
   
   var url = script_name + '?do=list_quotes_ajax&chapter_id='+chapter_id;
   var randNum = Math.floor(Math.random()*5);
   url += '&rnd='+ randNum;
   getGen(url, 'gray');
}

function hNewChapter() {
  
  var dest_chapter_id = $('other_chapter').value;

  if (dest_chapter_id != 'new_chapter' ) {
    return;
  }
  
  postForm('admin_quotes', true, showResponseGen);
    
  var url = script_name + '?do=list_quotes_ajax&chapter_id=0';
  var randNum = Math.floor(Math.random()*5);
  url += '&rnd='+ randNum;
    
  setTimeout(
	     function() {
    getGen(url, 'gray');
    iUpdateChapters();
  }, 3000);
}
