
window.onload=function() {   
    var selectElements = document.getElementsByTagName("select");
 
    // Disable the primer selection for all sample types above 80
    for (var i=0; i< selectElements.length; i++) {
      var element = selectElements[i];
      if (element.name.substr(0,10) == 'sampletype') {   
         pos = element.name.substr(10,15);     
         type = element.value;
         if (type >= 80 || type == 10 || type == 20) {
            document.getElementById('primer'+pos).style.display='none';
         } else {
            document.getElementById('primer'+pos).style.display='block';
         }
         if (type == 10 || type == 20) {
            document.getElementById('barcode'+pos).style.display='none';
         } else {
            document.getElementById('barcode'+pos).style.display='block';
        } 
      }
    }

  }




function save_user_defaults_pcr (pos, ot, type) {
 
	var addname = "add";
	var userId=document.getElementById("user_id").value;
	var origin='';
	var ecoli='';
	var vector='';
	var antibiotic='';	
	var itemType = ot;
	var templateType = type;
	var primerA=document.getElementById("primerA"+pos).value;
	var primerB=document.getElementById("primerB"+pos).value;
	var primerC='';
	var primerD='';
	var prep_scale='';
	var date=+ new Date().getTime();
	
	new Ajax.Updater(

             addname,
             "/ajax/store-user-defaults.tcl", 
             {
			
               method    : 'get',
	       parameters:  "origin="+origin+"&user_id="+userId+"&itemType="+itemType+"&templateType="+templateType+"&ecoli="+ecoli+"&vector="+vector+"&antibiotic="+antibiotic+"&primerA="+primerA+"&primerB="+primerB+"&primerC="+primerC+"&primerD="+primerD+"&prep_scale="+prep_scale+"&date="+date+"&clear=false",
		postBody  : 'mimeType=text/html'

             } );
alert('Your input was successfully saved as default');
  changeSampleType(pos);
}


function clear_user_defaults (pos, ot, type) {

	var addname = "add";	
	var userId=document.getElementById("user_id").value;
	var itemType = ot;
	var templateType = type;
	var clear='true';
	var date=+ new Date().getTime();


	new Ajax.Updater(
             addname,
             "/ajax/store-user-defaults.tcl", 
             {
	               method    : 'post',
		        parameters : { user_id: userId, itemType: itemType , templateType: templateType, clear: clear, date: date }
              // postBody  : 'mimeType=text/html',

             } );

	alert('Your default entry was successfully cleared ' )
 		changeSampleType(pos);


}


function save_user_defaults (pos, ot, type) {


	var addname = "add";
	var origin=document.getElementById("origin"+pos).value;
	var userId=document.getElementById("user_id").value;
	var itemType = ot;
	var templateType = type;
	var ecoli=document.getElementById("host"+pos).value;
	var ecoli_other=document.getElementById("otherhost"+pos).value;
	var vector=document.getElementById("vector"+pos).value;
	var vector_other=document.getElementById("othervector"+pos).value;
	var antibiotic=document.getElementById("resistance"+pos).value;
	var antibiotic_other=document.getElementById("otherresistance"+pos).value;
	var date=+ new Date().getTime();	

	if (ot == 'SEQ_CARTE' || ot == 'SEQ_WALK') { 
	var primerA='';
	var primerB='';
	var primerC='';
	var primerD='';	

           if ( document.getElementById("prep_scale1"+pos).checked == true ){
	   var prep_scale=document.getElementById("prep_scale1"+pos).value;
	   } 
           if ( document.getElementById("prep_scale2"+pos).checked == true ){	    
	   var prep_scale=document.getElementById("prep_scale2"+pos).value;
           }          

	} else if (ot == 'SEQ_PLATE') {
	
	var primerA='';
	var primerB='';
	var primerC='';
	var primerD='';	
	var prep_scale='';

	} else { 
	var primerA=document.getElementById("primerA"+pos).value;
	var primerB=document.getElementById("primerB"+pos).value;
	var primerC=document.getElementById("primerC"+pos).value;
	var primerD=document.getElementById("primerD"+pos).value;
	var prep_scale='';
	}

	new Ajax.Updater(
             addname,
             "/ajax/store-user-defaults.tcl", 
             {
               method    : 'get',
	       parameters:  "origin="+origin+"&user_id="+userId+"&itemType="+itemType+"&templateType="+templateType+"&ecoli="+ecoli+"&ecoli_other="+ecoli_other+"&vector="+vector+"&vector_other="+vector_other+"&antibiotic="+antibiotic+"&antibiotic_other="+antibiotic_other+"&primerA="+primerA+"&primerB="+primerB+"&primerC="+primerC+"&primerD="+primerD+"&prep_scale="+prep_scale+"&date="+date+"&clear=false",
postBody  : 'mimeType=text/html'
             } );
alert('Your input was successfully saved as default');
   changeSampleType(pos);

}




function changeSampleType(pos) {       
      var addname = "add"+pos;
      var itemId=document.getElementById("id"+pos);
      var userId=document.getElementById("user_id").value;
      var ot=document.getElementById("ot").value;
 
      var name = "sampletype"+pos;
      var select=document.getElementById(name);

//	if ( (select.value == 21) || (select.value == 1) ) {
//            document.getElementById('meldungen').style.display='block';
//         }  else {
//            document.getElementById('meldungen').style.display='none';
//        } 

      if (select) {
           new Ajax.Updater(
             addname,
             "/ajax/ajax.tcl", 
             {
               method    : 'get',
               parameters:  "id="+itemId.value+"&user_id="+userId+"&pos="+pos+"&ot="+ot+"&selected="+select.value,
               postBody  : 'mimeType=text/html'
             } );
      

        if (select.value >= 80 || select.value == 10 || select.value == 20) {
           document.getElementById('primer'+pos).style.display='none';
        } else {
           document.getElementById('primer'+pos).style.display='block';
        }    
        if ( select.value  == 10 || select.value  == 20) {
            document.getElementById('barcode'+pos).style.display='none';
         }  else {
            document.getElementById('barcode'+pos).style.display='block';
        } 

     } 

 }  

 
// CheckDoc not used at the moment
function checkDoc() {
      var selectElements = document.getElementsByTagName("select");
      var barcode;
      var name;
      var pos;
      var message = '';
      
      for (var i=0; i< selectElements.length; i++) {
         if (selectElements[i].name.substr(0,6) == 'primer') {
            pos = selectElements[i].name.substr(6,10);
                   
            if ((document.getElementById('barcode'+pos).value.length==10) ||
               (document.getElementById('name'+pos).value != "" )) {  
 
                type = document.getElementById('sampletype'+pos).value;
                
                if (selectElements[i].selectedIndex == 0 && type < 80) {
                   message += 'Read at position ' + pos + ' has no primer! \n';
                }
 
            }
         } 
      }
      alert(message);
   }
 
function handleChangedItem(res) {
      if (res.responseText != '') {
         alert(res.responseText);
      }
   }

function changeItem(code, item) {  

       new Ajax.Updater(  'p_message'+item,
                           "/ajax/ajax2.tcl", 
                     {
                           method    : 'get',
                           parameters: "code="+code+"&id="+item,
                           postBody  : 'mimeType=text/html'
                     } );
    }


function mySubmit(a, b)
  {
    //checkDoc();

    document.forms[0].action.value = a;
    document.forms[0].goto_pos.value = b;
    document.forms[0].submit();
  }


function myDelete(a, b)
  {
    var name='name'+b;
    var element=document.getElementById(name);
    element.value = '';  

    name='primer'+b;
    element=document.getElementById(name);
    element.selectedIndex = 0;

    name='sampletype'+b;
    element=document.getElementById(name);   
    element.selectedIndex = 0; 
    changeSampleType(b);
  
    name='barcode'+b;
    element=document.getElementById(name);   
    element.value = element.value.substr(0,7);      
  

  //  name='p_message'+b; 
  //  document.getElementById(name).replaceData("1");
  //  name='w_message'+b; 
  //  document.getElementById(name).replaceData("2");
    
 
    new Ajax.Request( "/ajax/ajax-delete.tcl", 
                     {
                        method     : 'get',
                        parameters : "id="+a,
                        postBody   : 'mimeType=text/html',
			onFailure  : function(resp) { 
			               alert('Unable to delete read: ' + resp.statusText);
                                     },
            	        onException: function(resp) { 
			               alert('Unable to delete read: ' + resp.statusText);
		                     }
                     } );
 }
  
 function addPrimer(primerclass)
 { 
    var name, parameter;

    name =      document.getElementById(primerclass + "name").value;
    label =     document.getElementById(primerclass + "label").value;

    if (primerclass == "d" ) {
       conc = document.getElementById(primerclass+'conc').value;  
       parameter = label;
    } else {
       conc = 100;  
       parameter = document.getElementById(primerclass + "parameter").value;
    }
    new Ajax.Request( "/ajax/ajax-primer.tcl", 
                     {
      method    : 'get',
      parameters: "class="+primerclass+"&pname="+name+"&parameter="+parameter+"&conc="+conc+"&label="+label,
      postBody   : 'mimeType=text/html',
      onSuccess  : primerAdded, 
      onFailure  : function(resp) { 
	   alert('Unable to add primer: ' + resp.statusText+ '|'+name+'|'+parameter+'|'+primerclass);
                                  }
                     } );
 }


 function addStoredPrimer()
 { 
    var name, parameter;

    name = document.getElementById("lname").value;
    parameter = "";
    conc = "";
    primerclass = "l";

    new Ajax.Request( "/ajax/ajax-primer.tcl", 
                     {
      method    : 'get',
      parameters: "class="+primerclass+"&pname="+name+"&parameter="+parameter+"&conc="+conc,
      postBody   : 'mimeType=text/html',
      onSuccess  : primerAdded, 
      onFailure  : function(resp) { 
	   alert('Unable to add primer: ' + resp.statusText+ '|'+name+'|'+parameter+'|'+primerclass);
                                  }
                     } );
 }



function addEntry(listid, id, entry, primerclass)
{
   var count, element;

  //  if (entry== "" || id =="" || listid== "") {
  //          return;
  //  }
   element=document.getElementById(listid);
   count=element.options.length;
   element.options[count]=new Option(primerclass + ") " + entry, id);
   element.options.length=count+1;
}


function primerAdded(rep) 
{
   if ( rep.responseText.substr(0,7) == 'Problem' ) {
      alert(rep.responseText);
   } else { 
      var primerclass=rep.responseText.substr(0,1);
      var id=rep.responseText.substr(2,7);
      //alert(id);   
      var tagname = primerclass + 'name';

      if (primerclass == "l") {
          primerclass = "D"
      }
   
      if (rep.responseText.substr(10,7) == 'Warning' ) {
          alert("Primer has been added at end of primerlist.\n" +rep.responseText.substr(10,999));
	  //window.location.reload(true);
      } else {
         alert("Primer has been added at end of primerlist.\n" +rep.responseText.substr(10,7) );
	
         //window.location.reload(true);

      }

      var selectElements = document.getElementsByTagName("select");     
      for (var i=0; i< selectElements.length; i++) {
  

         if (selectElements[i].name.substr(0,6) == 'primer') {    
              addEntry(selectElements[i].name, 
                       id, 
                       document.getElementById(tagname).value,
		       primerclass);
            }
      }

   } 
}


function show_2nd_plate_coupon() {

	var has_coupon2_value = document.getElementById('coupon2').value;

	// Wenn Wert von Coupon2 existiert radio button auswählen
	if ( has_coupon2_value != '' ) {
		document.getElementById("coupon_2").checked = true;
	}

	if ( has_coupon2_value == '' ) {
		document.getElementById('coupon2').value='';
	}	

	if ( document.getElementById("coupon_2").checked == true || has_coupon2_value != '' ){	 
		document.getElementById('plate_coupon2_html').style.display='block';
	} else {
		document.getElementById('plate_coupon2_html').style.display='none';
	}	
 }

function clearCoupon2() {
	document.getElementById('coupon2').value='';
}

function leave_seq_site_info(sitename) {

	var answer=confirm("Are you sure you saved your entry before leaving this site?\n\n To save your input just close this window and click 'Save'\n\n Clicking 'OK' will forward you to our '"+sitename+"' site without saving.\n\n ")

	if (answer) {
	   return true;
	}
	else { 
	   return false;
	}

}
