﻿// JScript File

function swapImage() {
	e = event.srcElement;
	var s = e.src;
	e.src = e.swapimage;
	e.swapimage = s;
}

function swapTableImage() {
	var e = event.srcElement;
	while (e.tagName != "TABLE") {e = e.parentElement;}
	LoopChilds(e);
}

function LoopChilds(e) {
	for(var ii=0; ii<e.children.length; ii++) {
		if(e.children[ii].swapclass != "") {swapClass(e.children[ii]);}
		LoopChilds(e.children[ii]);
	}	
}

function swapClass(e) {
	var s = e.className;
	e.className = e.swapclass;
	e.swapclass = s;
}

function HtmlToWord(form, sID, hiddenfield) {
	var e = document.getElementById(sID);
	var eHidden = document.getElementById(hiddenfield);
	eHidden.value = e.innerHTML;
	form.action = "Html2Word.aspx";
	form.submit();
}

function Print(form, sID, hiddenfield) {
	var e = document.getElementById(sID);
	var eHidden = document.getElementById(hiddenfield);
	eHidden.value = e.innerHTML;
	form.action = "Html2Print.aspx";
	form.submit();
}

function DisplayElementsByName(sElementName, style) {
    var e = document.getElementsByName(sElementName);
	for(ii=0;ii<e.length;ii++) {
		e[ii].style.display = style;
	}
}

function RemoveElementsByName(sElementName) {
    var e = document.getElementsByName(sElementName);
	for(ii=0;ii<e.length;ii++) {
	    e[ii].parentElement.removeChild(e[ii]);
	}
}

// JScript File
function ExpandCompetentie(sFldID, sImID) {
    var fldID = document.getElementById(sFldID);
    var imID = document.getElementById(sImID);
    CollapseExpand(fldID);
    if (fldID.style.display != "none") {
        imID.src = "Images\\collapse.GIF";
    } else {
        imID.src = "Images\\expand.GIF";
    }
}

function CollapseExpand(fldID) {
    if(fldID.style.display == "none") {
        fldID.style.display = "";
    } else {
        fldID.style.display = "none";
    }
}

// --------------------------------------------------------------------------
function FindArrayValue(ar, value) {
    var bFound = false;
    for (var ii=0; ii<ar.length; ii++) {
        if(ar[ii] == value) {bFound = true;}
    }
    return bFound;
}

function AddArrayValue(ar, value) {
    var ar2 = new Array(ar.length);
    for (var ii=0; ii<ar.length; ii++) {
        ar2[ii] = ar[ii];
    }
    ar2[ii] = value;
    return ar2;
}

function RemoveArrayValue(ar, value) {
    if(FindArrayValue(ar, value)) {
        var ar2 = new Array(ar.length-1);
        var cor = 0;
       
        for (var ii=0; ii<ar.length; ii++) {
            if(ar[ii] != value) {
                ar2[ii+cor] = ar[ii];
            } else {
				cor--;
            }
        }
        return ar2;
    }
    return ar;
}

function SetStatusRadioGroup(radioGroup, enabled)
{
	for(var jj=0;jj<radioGroup.length;jj++)
	{
		radioGroup[jj].disabled = !enabled;
	}
}

function GetValueRadioGroup(radioGroup)
{
	for(var jj=0;jj<radioGroup.length;jj++)
	{
		if(radioGroup[jj].checked==true){return radioGroup[jj].value;}
	}
}

function GetArrayValue(ar, iID, iColumn) {
	for (var ii=0; ii<ar.length; ii++) {
		if(ar[ii][0] == iID) {
			return ar[ii][iColumn];
		}
	}
	return "";
}

/* Lists */
function ListSetValue(sID, value) {
    var o = document.getElementById(sID);
    var s = o.value;
    var ar = new Array();
    if(s != "") {ar = s.split(",");}
    if (!FindArrayValue(ar, value)) {
        ar = AddArrayValue(ar, value);
    }
    o.value = ar.join(",");
}

function ListRemoveValue(sID, value) {
    var o = document.getElementById(sID);
    var s = o.value;
    var ar = s.split(",");
    ar = RemoveArrayValue(ar, value);
    o.value = ar.join(",");
}

function ListSelectDeselect(e, sID, min, max, text2many) {
	if (e.selected == "1") {
		e.selected = "0";
		ListRemoveValue(sID, e.value);
	} else {
		if(max==0 || ListCountSelected(sID) < max) {
			e.selected = "1";
			ListSetValue(sID, e.value);
		} else {
			alert(text2many);
			return false;
		}
	}
	swapClass(e);
}

function ListCountSelected(sID) {
	var o = document.getElementById(sID);
	var iCnt = 0;
	if (o.value != "") {
		var ar = o.value.split(",");
		iCnt = ar.length;
	}
	return iCnt;
}

/* functietaken */
function ListDoubleValidate(sID1, sID2, iMax, sText) {
	var e = event.srcElement;
	var iCnt = ListDoubleCount(sID1, sID2);
		
	if(e.selected==0 && iCnt>=iMax) {
		alert("U kunt slechts " + iMax + " " + sText + " selecteren");
		return false;
	}
	return true;
}

function ListDoubleUpdateText(sID1, sID2, iMax, sSpanID, sText) {
	var o = document.getElementById(sSpanID);
	var iCnt = ListDoubleCount(sID1, sID2);
	if(iCnt == iMax) {
		o.className = "warning";
	} else {
		o.className = "info";
	}
	o.innerText = iCnt + " " + sText;
}

function ListDoubleCount(sID1, sID2) {
	var bDoubleList = true;
	
	if (document.getElementById(sID2) == undefined) {
		bDoubleList = false;
	}
	
	var iCnt1 = ListCountSelected(sID1);
	var iCnt2 = 0;
	if(bDoubleList) {
		iCnt2 = ListCountSelected(sID2);
	}
	var iCnt = iCnt1 + iCnt2;
	return iCnt;
}

/* Competentie niveaus lijst */
function CompNivSelectDeselect(e, sID) {
	if (e.selected == "1") {
		e.selected = "0";
		ListRemoveValue(sID, e.value);
	} else {
		e.selected = "1";
		ListSetValue(sID, e.value);
	}
	swapClass(e);
}

function CompNivGetGedragskenmerkBlok(ar, sID, iCompID, iNiveau) {
	var s = "";
	var sArID = iCompID + '_' + iNiveau;
	s += "<b>" + GetArrayValue(ar, sArID, 1) + "</b><hr size=1 style=\"color:black;\">";
	s += GetArrayValue(ar, sArID, 2) + "<p>";
	s += "<b>Gedragsbeschrijving (niveau " + iNiveau + ")</b><hr size=1 style=\"color:black;\">";
	s += GetArrayValue(ar, sArID, 3);
	return s;
}

function setCompNivDelete(sTbl, oHdn) {
	oHdn.value = GetListSelectedValue(sTbl, "TR");
}

function GetListSelectedValue(sTbl, e) {
	var o = document.getElementById(sTbl);
	var es = o.getElementsByTagName(e);
	for(var ii=0; ii<es.length; ii++) {
		if(es[ii].selected == 1) {
			return es[ii].value;
		}
	}
	return 0;
}

/* Functie printen */
function PrintFunctie(f) {
	f.target = "_blank";
}

/* Popups */
function WijzigFunctienaam() {
	var sNaam, o;
	sNaam = showModalDialog('FunctienaamWijzigen.aspx', '', "dialogHeight:250px;dialogWidth:660px");
	o = document.getElementsByTagName("span");
	for(var ii=0; ii<o.length; ii++) {
		if(o[ii].name == "lblFunctie") {
			o[ii].innerText = sNaam;
		}
	}
	o = document.getElementById("hdnFunctie");
	o.value = sNaam;
}

function CompetentieToevoegen() {
	var sValues = showModalDialog('FunctieCompetenties.aspx', '', "dialogHeight:480px;dialogWidth:640px");
	if (sValues != undefined) {
		var o = document.getElementById("hdnCompetenties");
		o.value = sValues;
		return true;
	} else {
		return false;
	}
}

function OpenVacature(iFunctieID) {
	var sValues = showModalDialog('FunctieVacature.aspx?FunctieID=' + iFunctieID, 'FunctieID=' + iFunctieID, "dialogHeight:350px;dialogWidth:450px");
	if (sValues != undefined) {
	    var o = document.getElementById('hdnFunctieVacature');
	    o.value = iFunctieID + ";" + (sValues[0] ? 1 : 0) + ";" + sValues[1];
	    return true;
	} else {
		return false;
	}
}

/* Functie validatie */
function FunctieValidate(iStep, iImage) {
	var bReturn = false;
	
	//als op een stap wordt geklikt dan alleen valideren als de volgende stap groter is
	if(((iImage -1  < iStep && iStep < 3) || (iImage -1 < iStep -1 && iStep >= 3)) && iImage != 0) {
		bReturn = true;
	} else {
		switch(iStep) {
			case 0:
				if(ListCountSelected("lstFuncties") > 0) {
					bReturn = true;
				} else {
					alert('U heeft nog geen functie(s) geselecteerd');
				}
				break;
			case 1:
				if(ListDoubleCount("lstFunctietaken1", "lstFunctietaken2") > 0) {
						bReturn = true;
				} else {
					alert('U heeft nog geen kerntaken geselecteerd.');
				}
				break;
			case 2:
				if(ListDoubleCount("lstCompetenties1", "lstCompetenties2") > 0) {
						bReturn = true;
				} else {
					alert('U heeft nog geen competenties geselecteerd.');
				}
				break;
			case 3:
				var o = document.getElementById('tblCompNiv_lstCompNiveaus');
				var rds = o.getElementsByTagName('INPUT');
				for(var ii=0; ii<rds.length; ii++) {
					if (rds[0].type == "radio") {
						bReturn = true;
					}
				}
				if (!bReturn) {alert('U heeft nog geen competenties geselecteerd.');}
				break;
			case 4:
				if(ListDoubleCount("lstFunctieresultaten1", "lstFunctieresultaten2") > 0) {
						bReturn = true;
				} else {
					alert('U heeft nog geen functieresultaten geselecteerd.');
				}
				break;
			case 5: //Voor de afronding zijn geen velden verplicht ;-)
				break;
		}
	}
	return bReturn;
}


function OpenNewWindow() {
	window.open('http://www.con7.nl/Con7/proftest.nsf/WebCode/b3c7o5?opendocument&uid=Anonymous');
	return false;
	// Continue with submit
	//this.click();
}
