<%@ include file="/WEB-INF/common/header.jsp"%>

<head>
<title><fmt:message key="quality.title" /></title>
<meta name="menu" content="QualityMenu" />
<script type="text/javascript"
  src="<c:url value='/scripts/jquery/jquery-1.11.1.min.js'/>"></script>
<script type="text/javascript"
  src="<c:url value='/scripts/jquery/jquery.dataTables.js'/>"></script>
<link type="text/css" rel="stylesheet"
  href="<c:url value="/styles/jquery.dataTables.css" />" />
</head>


<body>

  <div class="wrap">
    <div class="main">
      <label>Select some datasources:</label> <br />
      <table id="datasettable" class="display dataTable" cellspacing="0"
        width="100%">
        <thead>
          <tr>
            <th><input type="checkbox" id="checkall" /></th>
            <th>Datasource</th>
            <th>Provider</th>
            <th>Quality</th>
          </tr>
        </thead>
        <tbody>
          <c:forEach items="${datasources}" var="datasource"
            varStatus="loop">
            <c:if test="${datasource.harvestedCount>0}">
              <tr>
                <td><input type="checkbox" name="datasourcename"
                  value="${datasource.id}" /></td>
                <td>${datasource.name}</td>
                <td>${datasource.providerName}</td>
                   <c:set var="todo" value="false" />
                  <c:forEach var="item" items="${datasourcesToDo}">
                    <c:if test="${item eq datasource.id}">
                      <c:set var="todo" value="true" />
                    </c:if>
                  </c:forEach>
                  <c:if test="${todo}">
                  <td>to do</td>
                  </c:if>
                  <c:if test="${!todo}">
                  <td>done</td>
                  </c:if>
              </tr>
            </c:if>
          </c:forEach>
        </tbody>
      </table>
    </div>

    <div id="sidebar">
      <ul class="noli">
        <label>Start Quality tests</label>
        <form id="runqualityForm" method="post"
          action="runQuality"
          validate="false">
          <input type="hidden" name="${_csrf.parameterName}"
            value="${_csrf.token}" />
          <li><input type="checkbox" value="geo" id="geo_box"
            name="geo">Check ISO, Countryname and coordinates</li>
          <li><input type="checkbox" value="name" id="name_box"
            name="name">Check scientific names</li>
          <li><input type="checkbox" value="date" id="date_box"
            name="date">Check dates formats</li>
			&nbsp;<br /> 
			<!--a id="run">Run selected tests</a-->
          <input value="<fmt:message key="button.schedule"/>"
              name="value" type="button" onclick="fillValueRun();"
              cssClass="button" theme="simple" />
			 to run <select class="separator-right"
              id="schedule" name="filter"
              onchange="if (this.options[this.selectedIndex].value=='once'); 
												else if (this.options[this.selectedIndex].value=='every week');
												else if (this.options[this.selectedIndex].value=='every 2 weeks');
												else if (this.options[this.selectedIndex].value=='every 3 weeks');
												else if (this.options[this.selectedIndex].value=='every 4 weeks');
												else if (this.options[this.selectedIndex].value=='every 8 weeks');
												else if (this.options[this.selectedIndex].value=='every 12 weeks');">
                <option selected value="Once">once</option>
                <option value="1week">every week</option>
                <option value="2weeks">every 2 weeks</option>
                <option value="3weeks">every 3 weeks</option>
                <option value="4weeks">every 4 weeks</option>
                <option value="8weeks">every 8 weeks</option>
                <option value="12weeks">every 12 weeks</option>
            </select>
			<input id="runselectedDatasourceID" name="runselectedDatasourceID" type="hidden" /><br />&nbsp;
		</form>
      </ul>
      <br />

      <ul>
        <label>Quality tests</label>
        <form id="qualityForm" method="post"
           action="seeQuality"
          validate="false">
          <input type="hidden" name="${_csrf.parameterName}"
            value="${_csrf.token}" />
          <li><a id="country">See country quality</a></li>
          <li><a id="coords">See coordinates quality</a></li>
          <li><a id="date">See date quality</a></li>
          <li><a id="coordVScountry">See coordinates vs.
              country</a></li>
          <li><a id="associated">See association statistics</a></li>
      </ul>
      <input id="selectedDatasourceID" name="selectedDatasourceID"
        type="hidden" /> <input id="qualityType" name="qualityType"
        type="hidden" />
      </form>
      <br />



      <ul>
        <label>Quality tests - export</label>
        <form id="qualityExportForm" method="post"
           action="exportQuality"
          validate="false">
          <input type="hidden" name="${_csrf.parameterName}"
            value="${_csrf.token}" />
          <li><a id="countryExport">Export country quality</a></li>
          <li><a id="countryIsoExport">Export country vs.
              isocode quality</a></li>
          <li><a id="coordsExport">Export coordinates quality</a></li>
          <li><a id="dateExport">Export date quality</a></li>
          <li><a id="coordVScountryExport">Export coordinates
              vs. country</a></li>
          <li><a id="associatedExport">Export association
              statistics</a></li>
          <li><a id="missingExport">Export missing units</a></li>
          <li><a id="multimediaExport">Export empty multimedia</a>
          </li>
          <li><a id="namesExport">Export names statistics</a></li>
          <li><a id="allExport">Export all test results</a></li>
      </ul>
      <input id="selectedDatasourceIDExport"
        name="selectedDatasourceIDExport" type="hidden" /> <input
        id="qualityTypeExport" name="qualityTypeExport" type="hidden" />
      </form>
    </div>


  </div>
  <script type='text/javascript'>
$(window).load(function(){
$(document).ready(function () {
     $("#datasettable").dataTable( {
         "lengthMenu": [[10, 15, 20, 25, 50, -1], [10, 15, 20, 25, 50, "All"]],
    	 "pageLength": 15});
 
    $('#checkall').click(function() {  //on click
            if(this.checked) { // check select status
                $('#datasettable').find(':checkbox').prop('checked', 'checked');
            }else{
                $('#datasettable').find(':checkbox').prop('checked', null);    
            }
        });
       
    
    $("#country").click(function() {
        $('#qualityType').val("country");
        fillValue();
    });
    $("#coords").click(function() {
        $('#qualityType').val("coords");
        fillValue();
    });
    $("#date").click(function() {
        $('#qualityType').val("date");
        fillValue();
    });
    $("#coordVScountry").click(function() {
        $('#qualityType').val("coordVScountry");
        fillValue();
    });
    $("#associated").click(function() {
        $('#qualityType').val("association");
        fillValue();
    });
    $("#names").click(function() {
        $('#qualityType').val("names");
        fillValue();
    });
    
    $("#countryExport").click(function() {
        $('#qualityTypeExport').val("country");
        fillValueExport();
    });
    $("#countryIsoExport").click(function() {
        $('#qualityTypeExport').val("countryIso");
        fillValueExport();
    });
    $("#coordsExport").click(function() {
        $('#qualityTypeExport').val("coords");
        fillValueExport();
    });
    $("#dateExport").click(function() {
        $('#qualityTypeExport').val("date");
        fillValueExport();
    });
    $("#coordVScountryExport").click(function() {
        $('#qualityTypeExport').val("coordVScountry");
        fillValueExport();
    });
    $("#associatedExport").click(function() {
        $('#qualityTypeExport').val("association");
        fillValueExport();
    }); 
    $("#namesExport").click(function() {
        $('#qualityTypeExport').val("names");
        fillValueExport();
    }); 
    $("#allExport").click(function() {
        $('#qualityTypeExport').val("all");
        fillValueExport();
    }); 
    $("#multimediaExport").click(function() {
        $('#qualityTypeExport').val("multimedia");
        fillValueExport();
    });  
    $("#missingExport").click(function() {
        $('#qualityTypeExport').val("missing");
        fillValueExport();
    }); 
    
    
    //$("#run").click(function() {
    //    fillValueRun();
    //});
    
});
}); 

function fillValue(){
    var chkArray = [];
    $("input:checkbox[name=datasourcename]:checked").each(function(){
        chkArray.push($(this).val());
    });
    
    var selected;
    selected = chkArray.join(',') + ",";
    $('#selectedDatasourceID').val(selected);
    if(selected.length > 1){
        $('#qualityForm').submit();
    }else{
        alert("Please at least one of the checkbox");   
    }
}

function fillValueRun(){
    var chkArray = [];
    $("input:checkbox[name=datasourcename]:checked").each(function(){
        chkArray.push($(this).val());
    });
    
    var selected;
    selected = chkArray.join(',') + ",";
    $('#runselectedDatasourceID').val(selected);
    if(selected.length > 1){
		if (document.forms["runqualityForm"].filter.value!="Once") {
			var answer = confirm("Auto-schedule the BioDatasource(s) checked?")
			if (answer) {
				document.forms["runqualityForm"].submit()
			} else {
				// do nothing
			}
		} else {
			document.forms["runqualityForm"].submit()
		}
    }else{
        alert("Please at least one of the checkbox");   
    }
}

function fillValueExport(){
    var chkArray = [];
    $("input:checkbox[name=datasourcename]:checked").each(function(){
        chkArray.push($(this).val());
    });
    
    var selected;
    selected = chkArray.join(',') + ",";
    $('#selectedDatasourceIDExport').val(selected);
    if(selected.length > 1){
        $('#qualityExportForm').submit();
    }else{
        alert("Please at least one of the checkbox");   
    }
}
</script>
</body>