var timeoutid;
function contextOn(img, message)
{
var xpos = findPosX(img);
var	ypos = findPosY(img);
	if (xpos > document.body.clientWidth - 200){
	    xpos = (xpos - 200);
	    ypos = (ypos - (img.offsetHeight + 5));
	}
	else 
	{
	xpos = xpos + 15;
	ypos = ypos - 35;
	}
timeoutid = window.setTimeout("subContextOn('"+img+"',"+xpos+","+ypos+",'"+message+"');", 750);
}

function subContextOn(img,xpos,ypos, message)
{
    var obj = document.getElementById('varDiv');
    obj.innerHTML = message;

	obj.style.left = xpos;/*findPosX(img) + 30;*/
	obj.style.top = ypos;/*findPosY(img) - 10;*/
	obj.style.visibility='visible',300;
}
function contextOff()
{
	window.clearTimeout(timeoutid);
	var obj = document.getElementById('varDiv');
	obj.style.visibility='hidden';
}

function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;

	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}
function verify(){
    var fname = document.getElementById("txt_fname");
    var lname = document.getElementById("txt_lname");
    var email = document.getElementById("txt_email");
    var pass1 = document.getElementById("txt_password1");
    var pass2 = document.getElementById("txt_password2");
    
    AjaxService.Verify(fname,lname,email,pass1,pass2, OnRequestComplete);
 }
 
 function OnRequestComplete(result)
 {
   var RsltElem = document.getElementById("notification1");
   RsltElem.innerHTML = result;
 }
 
 function getGroups(folder)
 {
    document.getElementById("monstertabel").innerHTML = "<table cellSpacing=0 cellPadding=4 border=0 class=td_nfo4><tr><td><img src='/images/loading.gif' /></td><td valign=middle> De lijst wordt geladen...</td></tr></table>";
    lokRefService.set_timeout(30000);
    //lokRefService.getGroupTable(getGroupsOp);
    if(!folder) folder = '';
    lokRefService.getGroupTable2(folder,getGroupsOp);
 }
 
function getGroups_en(){
    document.getElementById("monstertabel").innerHTML = "<table cellSpacing=0 cellPadding=4 border=0 class=td_nfo4><tr><td><img src='/images/loading.gif' /></td><td valign=middle> One moment please...</td></tr></table>";
    lokRefService.set_timeout(30000);
    lokRefService.getGroupTable_en(getGroupsOp);
 }
 
function getGroupsOp(result)
 {
   var RsltElem = document.getElementById("monstertabel");
   RsltElem.innerHTML = result[0];
   document.getElementById("btns_groepen").style.visibility=result[1];
 }
 
 function expandLRrow(rownum,refresh) {
    lokRefService.getLRLnfo(rownum,refresh,expandLRrowOp);
 }

 function expandLRrow_en(rownum,refresh) {
    lokRefService.getLRLnfo_en(rownum,refresh,expandLRrowOp);
 }

 function expandLRrowOp(result) {
    var elem = 'expand_' + result[0];
    document.getElementById(elem).innerHTML = result[1];
    document.getElementById('CNT_' + result[0]).innerHTML = result[2]; //update group table counter
}

/*obsoleet
function expandRowSamples(rownum) {
    lokRefService.getSamplesnfo(rownum,expandRowSamplesOp);
}

function expandRowSamplesOp(result) {
    var elem = 'expandSamples_' + result[0];
    document.getElementById(elem).innerHTML = result[1];
}
*/

function closeElem(elem) {
    document.getElementById(elem).innerHTML = '';
}

function openFloat(id) {
    try{window.event.cancelBubble = true;}
    catch(err){}
    lokRefService.getFloatNFO(id, openFloatOp);
}

function openFloatOp(content) {
    if (content == 'ERROR') return;
    var floatForm = document.getElementById('floatForm');
    floatForm.style.width = '';
    floatForm.innerHTML = content;
    if (floatForm.offsetWidth>500) floatForm.style.width=450;
    floatForm.style.left = ((document.body.clientWidth/2) - (floatForm.offsetWidth/2)+100);
    floatForm.style.top = (document.body.scrollTop + (document.body.clientHeight/2) - (floatForm.offsetHeight/2));
    elem1 = document.getElementById('bulk');
    elem1.disabled = true;
    elem1.focus = false;
    floatForm.style.visibility = 'visible';
    elem1.style.zIndex = 0;
    floatForm.style.zIndex = 1001;
    var elem = document.getElementById('tst_frame');
    elem.visible = true;
    elem.style.top = (document.body.scrollTop + (document.body.clientHeight/2) - (floatForm.offsetHeight/2));
    elem.style.left = ((document.body.clientWidth/2) - (floatForm.offsetWidth/2)+100);
    elem.style.width= floatForm.offsetWidth;
    elem.style.height = floatForm.offsetHeight;

    if (document.getElementById('btn_OK')) document.getElementById('btn_OK').focus();
}

function closeFloat() 
{
    document.getElementById('floatForm').style.visibility = 'hidden';
    document.getElementById('bulk').disabled = false;
    document.getElementById('tst_frame').style.width=0;
    document.getElementById('tst_frame').style.height=0;
    document.getElementById('tst_frame').visible = false;
}

function delFolder(folder)
{
    check = confirm('Deze operatie kan niet ongedaan worden gemaakt. Weet u zeker dat u de map ' +folder+ ', INCLUSIEF ALLE GEGEVENS wilt verwijderen?');
    if (check==false) return;
    lokRefService.delFolder(folder,delFolderOp);
}

function delFolderOp()
{
    getGroups();
}

function deleteSamples(groupID, elemID){

//boxes = document.aspnetForm(elemID).length;

selRay = getSelArray(elemID);

if (selRay.length>0) {
    check = confirm('Deze operatie kan niet ongedaan worden gemaakt. Weet u zeker dat u de geselecteerde monsterwaarden wilt verwijderen?');
    if (check==false) return;
}
    else return;

lokRefService.deleteSamples(groupID, selRay, deleteSamplesOp);
}

function deleteSamplesOp(groupID) {
    expandLRrow(groupID, true);
}

function deleteSansSamples(groupID, elemID){

//boxes = document.aspnetForm(elemID).length;

selRay = getSelArray(elemID);

if (selRay.length>0) {
    check = confirm('Deze operatie kan niet ongedaan worden gemaakt. Weet u zeker dat u de geselecteerde toetswaarden wilt verwijderen?');
    if (check==false) return;
}
    else return;

lokRefService.deleteSansSamples(groupID, selRay, deleteSansSamplesOp);
}

function deleteSansSamplesOp(groupID) {
    expandLRrow(groupID, true);
}

function editSamples(LocID, elemID) {

/*selRay = getSelArray(elemID);
if (selRay.length==0) {
    alert('Geen monsters geselecteerd om te bewerken');
    return;
}

lokRefService.editSamples(selRay);*/

lokRefService.anySamples(LocID, anySamplesOp);
}

function anySamplesOp(LocID) {
if (!LocID) return;
window.open("gegevens.aspx?mode=bewerken&locid="+LocID,"","toolbar=no,width=800, height=700,left=50,top=50,scrollbars=1");
}

function editSamples2(LocID, elemID) {
    lokRefService.anySamples(LocID, anySamplesOp2);
}

function anySamplesOp2(LocID) {
if (!LocID) return;
window.open("data_entry.aspx?mode=bewerken&locid="+LocID,"","toolbar=no,width=800, height=700,left=50,top=50,scrollbars=1");
}

function getSelArray(elemID) {

if (null == document.aspnetForm[elemID]) return new Array(0);

boxes = document.aspnetForm[elemID].length;

var selRay = new Array();

if (typeof boxes != 'undefined') {

j=0;
for (i = 0; i < boxes; i++) {
    if (document.aspnetForm[elemID][i].checked) {
        selRay[j] = document.aspnetForm[elemID][i].value;
        j++;
    }
}

}
else if (typeof document.aspnetForm[elemID] != 'undefined')
{
    if (document.aspnetForm[elemID].checked) {
        selRay[0] = document.aspnetForm[elemID].value;
    }
}

return selRay;

}

function confrm() {
    check = confirm('Deze operatie kan niet ongedaan worden gemaakt. Weet u zeker dat u de wijzigingen wilt opslaan?');
    if (check==false) lokRefService.cancelBewerken(true);
    else lokRefService.cancelBewerken(false);
}

function newGroupOK() {
    var elem = document.getElementById('txt_groepBij');
    if (elem.value == '') {
        closeFloat();
    }
    else {
        lokRefService.addGroup(elem.value, newGroupOKOp);
    }
} 

function newGroupOKOp(result,groupID) {
    if (result[0] == 'error') {
        alert('Toevoegen groep mislukt. Let op: gebruik alleen unieke namen!');
    }
    else {
    closeFloat();
    getGroups(result[2]);
    expandLRrow(result[1], true)
    }
}

function newFolderOK()
{
    var elem = document.getElementById('txt_folderBij');
    if (elem.value =='') closeFloat()
    else lokRefService.addFolder(elem.value, false,newFolderOKOp);
}

function newFolderOKOp(result)
{
    if (result[0] == 'error') 
    {
        alert('Toevoegen map mislukt. Let op: gebruik alleen unieke namen!');
    }
    else 
    {
        closeFloat();
        getGroups(result[1]);
    }
}

function delGroupOK() {
    var elem = document.getElementById('lst_groepAf');
    if (elem.selectedIndex == -1) return;

    check = confirm('Deze operatie kan niet ongedaan worden gemaakt. Weet u zeker dat u de geselecteerde groepen met onderliggende gegevens gegevens wilt verwijderen?');   
    if (check==false) return;
    lokRefService.delGroup(elem.value, delGroupOp);
}

function delGroupOp(result) {
    if (result == 'error') {
        alert('Verwijderen groep mislukt. Probeer het nog een keer of raadpleeg de technische helpdesk');
    }
    else {
        closeFloat();
    getGroups();
    }
}

function addSamples(LocID) {
    window.open("gegevens.aspx?mode=toevoegen&locid="+LocID,"","toolbar=no,width=800, height=700,left=50,top=50,scrollbars=1");
}

function addSamples2(LocID) {
    window.open("data_entry.aspx?mode=toevoegen&locid="+LocID,"","toolbar=no,width=800, height=700,left=50,top=50,scrollbars=1");
}

function addSansSamples(LocID) {
    window.open("/tools/sanscrit/gegevens.aspx?mode=toevoegen&locid="+LocID,"","toolbar=no,width=800, height=700,left=50,top=50,scrollbars=1");
}

function boltGroupOK() {
    var elem = document.getElementById('sel_grendel');
    if (elem.selectedIndex == -1) return;
    
    lokRefService.boltGroup(elem.value,boltGroupOp);
}

function boltGroupOp(result) {
    if (result == 'error') {
        alert('Operatie mislukt. Probeer het nogmaals, of neem contact of met de helpdesk.');
    }
    else {
        closeFloat();
    getGroups();
    }
}

function checkVal(id) {
    var elem = document.getElementById(id + '_' + 'substSelect');
    if (elem.selectedIndex == 0) return;
    var elem2 = document.getElementById(id + '_' + 'concentratie');
    if (elem2.value == '') return;
    var OS, lutum, pH;
    OS = ((document.getElementById('txt_OS').value == '')? 0 : (document.getElementById('txt_OS').value.replace(',', '.')/100));
    lutum = ((document.getElementById('txt_lut').value == '')? 0 : (document.getElementById('txt_lut').value.replace(',', '.')/100));
    pH = ((document.getElementById('txt_pH').value == '')? 0 : document.getElementById('txt_pH').value.replace(',', '.'));
    lokRefService.checkBounds(elem.value, elem2.value, id, OS, pH, lutum, checkValOp)
}

function checkVal_nw(id) {
    var elem = document.getElementById(id + '_' + 'substSelect');
    if (elem.selectedIndex == 0) return;
    var elem2 = document.getElementById(id + '_' + 'concentratie');
    if (elem2.value == '') return;
    var OS, lutum, pH;
    OS = ((document.getElementById('txt_OS').value == '')? 0 : (document.getElementById('txt_OS').value.replace(',', '.')/100));
    lutum = ((document.getElementById('txt_lut').value == '')? 0 : (document.getElementById('txt_lut').value.replace(',', '.')/100));
    pH = ((document.getElementById('txt_pH').value == '')? 0 : document.getElementById('txt_pH').value.replace(',', '.'));
    lokRefService.checkBounds2(elem.value, elem2.value, id, OS, pH, lutum, checkValOp_nw)
}

function checkValOp(msg) {
    if (msg[0] == 'error') return;
    var elem = document.getElementById(msg[1] + '_' + 'concentratie');
    elem.value = msg[2];
    if (!(msg[0] == 'OK')) alert(msg[0]);
}

var meldingen;
var offsetmeldingen = 0;

function checkValOp_nw(msg) {
    meldingen = msg;
    if (msg[0] == 'error') return;
    var elem = document.getElementById(msg[1] + '_' + 'concentratie');
    elem.value = msg[0];
    geefMeldingen(0);
}

function initMeldingen()
{
    lokRefService.geefMeldingen(initMeldingenOp);
}

function initMeldingenOp(msg)
{
    meldingen = msg;
    geefMeldingen(0);
}

function geefMeldingen(offset)
{
    offsetmeldingen = offsetmeldingen + offset;
    var i = ((meldingen.length/2)-1);
    var limit = (i<=3)?i:3;
    
    document.getElementById('titel_meldingen').innerHTML = 'Meldingen (' + i + ')';

    for (j = 1; j <= limit; j++)
    {
        document.getElementById('img_melding' + j).innerHTML = '<img src="/images/stop.gif" alt="Let op" />';
        document.getElementById('melding' + j).innerHTML = meldingen[((j+offsetmeldingen)*2)];
        document.getElementById('nfo_melding' + j).innerHTML = meldingen[(((j+offsetmeldingen)*2)+1)];
    }
    for (j=i+1; j<4; j++)
    {
        if (j==1)
        {
        document.getElementById('img_melding' + j).innerHTML = '<img src="/images/vink.gif" alt="Geen meldingen" />';
        document.getElementById('melding' + j).innerHTML = 'Geen meldingen';
        }
        else
        {
        document.getElementById('img_melding' + j).innerHTML = '&nbsp';
        document.getElementById('melding' + j).innerHTML = '&nbsp';
        }
        document.getElementById('nfo_melding' + j).innerHTML = '&nbsp';
    }

    if (i - offsetmeldingen > 3)
    {
        document.getElementById('meldingen_down').innerHTML = '<img src="/images/scroll_down.gif" alt="Omlaag" onclick="geefMeldingen(1)" style="cursor:hand" />';
    }
    else
    {
            document.getElementById('meldingen_down').innerHTML = '<img src="/images/scroll_down_disabled.gif" alt="Omlaag" />';
    }
    
    if (offsetmeldingen > 0)
    {
        document.getElementById('meldingen_up').innerHTML = '<img src="/images/scroll_up.gif" alt="Omhoog" onclick="geefMeldingen(-1)"  style="cursor:hand"/>';
    }
    else
    {
        document.getElementById('meldingen_up').innerHTML = '<img src="/images/scroll_up_disabled.gif" alt="Omhoog" />';
    }
}

function checkVal2(id) {
    var elem = document.getElementById(id);
    lokRefService.checkVal(id, elem.value, checkVal2Op);
}

function checkVal2Op(val) {
    var elem = document.getElementById(val[0]);
    elem.value = val[1];
}

function checkVal2_en(id) {
    var elem = document.getElementById(id);
    lokRefService.checkVal_en(id, elem.value, checkVal2Op_en);
}

function checkVal2Op_en(val) {
    var elem = document.getElementById(val[0]);
    elem.value = val[1];
}


function hilite(elem) {
    elem.style.backgroundColor = '#def7fe';//'#c4d9dc';
}

function normal(elem) {
    elem.style.backgroundColor = '';
}

function getDetailNFO(type, ID,txt)
{
    contextOff();
    window.open("detailInfo.aspx?resultType=" + type + "&resultID=" + ID + "&subTitle=" + txt,"","toolbar=no,width=805, height=200,left=50,top=50,scrollbars=0");
}

function openW(url)
{
    window.open(url + ".aspx","","toolbar=no,scrollbars=0,resizable=yes");
}
function changeInpType(val)
{
var curID = 1;
var element = "entryList_ctl0" + curID + "_typeSelect";
while (document.getElementById(element))
    {
        var elem = document.getElementById(element);
        elem.value = val;
        curID = curID + 1;
        if (curID<10)
            {
            element = "entryList_ctl0" + curID + "_typeSelect";
            }
        else
            {
            element = "entryList_ctl" + curID + "_typeSelect";
            }
    }
}

function wijzigNaamOK()
{
    var elem = document.getElementById('sel_naam');
    if (elem.selectedIndex == -1) 
    {
        document.getElementById('txt_warning').innerHTML = 'Kies eerst een monstergroep';
        return;
    }
    var elem2 = document.getElementById('txt_newname');
    if (elem2.value == '')
    {
        document.getElementById('txt_warning').innerHTML = 'Vul de nieuwe naam in';
        return; 
    }
    if (elem.children(elem.selectedIndex).text == elem2.value)
    {
            document.getElementById('txt_warning').innerHTML = 'De nieuwe naam kan niet hetzelfde zijn als de oude naam';
            return;
    }
    lokRefService.wijzigNaam(elem.value,elem2.value,wijzigNaamOp);
}

function wijzigNaamOp(result)
{
    if (result == 'error') 
    {
        alert('Operatie mislukt. Probeer het nogmaals, of neem contact of met de helpdesk.');
    }
    else 
    {
        closeFloat();
        getGroups();
    }
}

function kopieerOK()
{
    var elem = document.getElementById('sel_naam');
    if (elem.selectedIndex == -1) 
    {
        document.getElementById('txt_warning').innerHTML = 'Kies eerst een monstergroep';
        return;
    }
    var elem2 = document.getElementById('txt_newname');
    if (elem2.value == '')
    {
        document.getElementById('txt_warning').innerHTML = 'Vul de nieuwe naam in';
        return; 
    }
    if (elem.children(elem.selectedIndex).text == elem2.value)
    {
            document.getElementById('txt_warning').innerHTML = 'De nieuwe naam kan niet hetzelfde zijn als de oude naam';
            return;
    }
    var elem3 = document.getElementById('sel_folder');
    lokRefService.kopieerGroep(elem.value,elem2.value,elem3.value,kopieerOp);
}

function kopieerOp(result)
{
    if (result[0] == 'error') 
    {
        alert('Toevoegen groep mislukt. Let op: gebruik alleen unieke namen!');
    }
    else 
    {
        closeFloat();
        getGroups(result[1]);
        expandLRrow(result[2], true)
    }
}

function printpage()
{
    window.open('/printen.aspx');
}

function getSelGroups()
{
    i=0;
    j=0;
    elem=document.getElementById('selgroup_' + i);
    var selRay = new Array();
    while(!(elem == null))
    {
        if(elem.checked)
        {
            selRay[j] = elem.value;
            j++;
        }
        i++;
        elem=document.getElementById('selgroup_' + i);
    }
    return selRay;
}


function delGroups()
{
    selRay = getSelGroups();
    if(selRay.length==0)
    {
        alert('Geen groepen geselecteerd');
        return;
    }
    if (confirm('Deze operatie kan niet ongedaan worden gemaakt. Geselecteerde groepen INCLUSIEF gegevens verwijderen?')) lokRefService.delGroups(selRay,delGroupsOp)
}

function delGroupsOp(result)
{
    if(result[0]=='OK')
    {
        getGroups(result[1]);
    }
    else alert('Er heeft zich een fout voorgedaan tijdens het verwijderen van groepen. Probeer het nogmaals, of neem contact op met de helpdesk')
}

function lockGroups()
{
    selRay = getSelGroups();
    if(selRay.length==0)
    {
        alert('Geen groepen geselecteerd');
        return;
    }
    if (confirm('Geselecteerde groepen markeren als Lokale Maximale Waarden?')) lokRefService.lockGroups(selRay,lockGroupsOp)
}

function lockGroupsOp(result)
{
    if(result[0]=='OK')
    {
        getGroups(result[1]);
    }
    else alert('Er heeft zich een fout voorgedaan tijdens het markeren van de groepen. Probeer het nogmaals, of neem contact op met de helpdesk')
}

function verplaatsen()
{
    selRay = getSelGroups();
    if(selRay.length==0)
    {
        alert('Geen groepen geselecteerd');
        return;
    }
    openFloat('verplaatsen');
}

function verplaatsOK()
{
    selRay = getSelGroups();
    folder = document.getElementById('sel_folder').value;
    closeFloat();
    lokRefService.moveGroups(selRay,folder,verplaatsOKOp);
}

function verplaatsOKOp(result)
{
    if(result[0]=='OK')
    {
        getGroups(result[1]);
    }
    else alert('Er heeft zich een fout voorgedaan tijdens het verplaatsen van groepen. Probeer het nogmaals, of neem contact op met de helpdesk')
}

function delSansDos(dos)
{
    if(!(confirm('Dit dossier en ALLE ONDERLIGGENDE GEGEVENS verwijderen?'))) return
    lokRefService.delSansDos(dos, delSansDosOp);
}

function delSansDosOp(res)
{
    if(!(res=='')) alert('Fout tijdens het verwijderen van het dossier. Probeer het nogmaals, of neem contact op met de helpdesk')
    else window.location.reload()
}

function openSansDos(ID)
{
    if(!ID) window.location = 'dossier_info.aspx'
    else window.location = 'dossier_info.aspx?dosID='+ID
}

function sansUseChanged(ID1,ID2)
{
    elem1 = document.getElementById(ID1);
    elem2 = document.getElementById(ID2);
    
    if((elem1.value==1)|(elem1.value==7))elem2.disabled = false;
    else elem2.disabled = true;
    
    if(elem1.value==2)
    {
        document.getElementById('dd_speelplaats').value=2;
        document.getElementById('dd_speelplaats').disabled = true;
    }
    else document.getElementById('dd_speelplaats').disabled = false;
}

function sansmode(folder)
{
    elem = document.getElementById("rd_sansmode0");
    lokRefService.sansmode(elem.checked,folder,sansModeOp);
}

function sansModeOp(folder)
{
    getGroups(folder)
}
