﻿/*
    _date
    uren_
    minuten_
    urendecimalen_
    _integer
    bedrag_
    _real
    _updatescreen
*/

function formatDate(D)
{
    for (var i=0; i<D.length; i++) {
        var c = D.charAt(i);
        if (((c < "0") || (c > "9"))) {
            D = D.substring(0,i) + '-' + D.substring(i+1,D.length);
        }
    }
    if (D.indexOf('-') < 0) {
        if (D.length != 8)
            D = ''
        else
            D = D.substr(0,2)+'-'+D.substr(2,2)+'-'+D.substr(4,4);
    }
    else {
        Dbuf = D;
        D = '';
        while (Dbuf.length > 0) {
            i = Dbuf.indexOf('-');
            if (i >= 0) {
                if (i < 2)
                    D = D + '0'+Dbuf.substr(0,i+1);
                else
                    D = D + Dbuf.substr(0,i+1);
                Dbuf = Dbuf.substr(i+1,Dbuf.length);
            }
            else {
                D = D + Dbuf;
                Dbuf = '';
            }
        }
    }
    if (IsValidDate(D))
        return D
    else
        return '';
}

function trim(value) {
  value = value.replace(/^\s+/,''); 
  value = value.replace(/\s+$/,'');
  return value;
}

function forceInt(s) {
    s = s + '';
    while (s.substr(0, 1) == '0') { s = s.substr(1); }
    return parseInt(s*1);
}

function BedragNaarCenten(Bedrag) {
    if (Bedrag == '')
        Bedrag = '0';
    return forceInt(Bedrag.replace(',',''));
}

function CentenNaarBedrag(Centen) {
    Centen = '' + Centen;
    return Centen.substr(0,Centen.length-2)+','+Centen.substr(Centen.length-2,2);
}

function createXMLHttpRequest() {
	var Req = false;
	// branch for native XMLHttpRequest object
	if (window.XMLHttpRequest) {
		try {
			Req = new XMLHttpRequest();
		} 
		catch(e) {
			Req = false;
		}
	// branch for IE/Windows ActiveX version
	} else 
	if (window.ActiveXObject) {
		try {
			Req = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e) {
			try {
				Req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				Req = false;
			}
		}
	}
	return Req;
}

function setDocumentElement(elm, value, disabled)
{
    if (elm.tagName.toUpperCase() == 'INPUT') {
        if (elm.type.toUpperCase() == 'CHECKBOX') {
            elm.checked = (value == 'true');
        }
        else
            if (elm.type.toUpperCase() == 'RADIO') {
            elm.checked = (elm.value == value);
        }
        else
            if (value == 'disableControl') {
            elm.disabled = true;
            elm.className = 'disabled';
        }
        else
            if (value == 'enableControl') {
            elm.disabled = false;
            elm.className = 'enabled';
        }
        else
            elm.value = value;
        //      elm.disabled = (disabled == 'true');
        if (disabled == 'true')
            elm.disabled = true;
        if (disabled == 'false')
            elm.disabled = false;
    }
    else
        if (elm.tagName.toUpperCase() == 'SELECT') {
        for (var j = 0; j < elm.options.length; j++) {
            if (elm.options[j].value == value) {
                elm.selectedIndex = j;
            }
        }
        //      elm.disabled = (disabled == 'true');
        if (disabled == 'true')
            elm.disabled = true;
        if (disabled == 'false')
            elm.disabled = false;
    }
    /*
    else
        if (elm.tagName.toUpperCase() == 'UL') {
            elm.innerHTML = value.item(1).childNodes.item(0).text;

//            elm.innerHTML = '';
//            alert(value.length);
//            for (var i = 0; i < value.length; i++) {
//                alert(value.item(i).text);
                //elm.innerHTML += '<li>' + '<div class="label">' + value.item(i).firstChild.text + '</div>' + '<div>' + value.item(i).firstChild.nextSibling.text + '</div>' + '</li>';
                //elm.innerHTML += '<li>' + '<div class="label">' + value.item(i).firstChild.text + '</div>' + '<div>' + value.item(i).firstChild.nextSibling.text + '</div>' + '</li>';
//            }
    }
   */
    else
        if (value != '' && elm.className.toUpperCase() == 'ALERT') {
        alert(value);
    }
    else {
        elm.innerHTML = value;
    }
}

var HttpRequests = new Array();
var CurHttpReq = null;

function InAjaxRequest() {
    return CurHttpReq != null;
}

function SchermUpdateAjaxHandler()
{
    var elm,elms,tagname,value,disabled;
    
	if (CurHttpReq.readyState == 4 && CurHttpReq.status == 200) {
	    var response = CurHttpReq.responseXML;
		elms = document.getElementsByTagName('*');
        for (var i=0 ; i<elms.length; i++)  {
            if (elms[i].id.substr(0,1) == '_') {
                tagname = elms[i].id.substr(1); 
		    	elm = response.getElementsByTagName(tagname);
		    	if (elm && elm.item(0)) {
		    	    disabled = '';
		    	    value = '';
		    	    if (elm.item(0).firstChild) {
		    	        value = elm.item(0).firstChild.data;
		    	        /*
		    	        if (tagname == 'reserveringen') {
		    	            alert(value);
		    	            if (elm.item(0).firstChild.childNodes.length > 0) {
		    	                value = elm.item(0).firstChild.childNodes;
		    	            }
		    	            else {
		    	                value = elm.item(0).childNodes.item(1).childNodes;
		    	            }
		    	        }
		    	        */
		    	        if (elm.item(0).attributes.length > 0) {
		    	            disabled = elm.item(0).getAttribute('disabled');
		    	            var hidden = elm.item(0).getAttribute('hidden');
		    	            if (hidden != '') {
		    	                var grp = document.getElementById('grp_' + tagname);
		    	                if (grp) {
		    	                    if (hidden == 'true')
		    	                        grp.style.visibility = 'hidden';
		    	                    else
		    	                        grp.style.visibility = 'visible';
		    	                }
		    	            }
		    	        }
		    	    }
		    	    setDocumentElement(elms[i], value, disabled)
		    	}
		    }
		}
		selectFocusedElement();
		CurHttpReq = null;
		scheduleAjax();
    }
}

function scheduleAjax() {
    if (CurHttpReq != null) {
        return;
    }
    var i = 0;
    var bFound = false;
    while (i < HttpRequests.length && !bFound) {
        if (HttpRequests[i] != null) {
            bFound = true
        }
        else {
            i++;
        }
    }
    if (bFound) {
        CurHttpReq = HttpRequests[i][0];
        var sUrl = HttpRequests[i][1];
        var sParams = '';
        if (HttpRequests[i][2] != '')
            sParams = HttpRequests[i][2];
        var DataHandle = HttpRequests[i][3];
        HttpRequests[i] = null;
        CurHttpReq.onreadystatechange = DataHandle;
        CurHttpReq.open("POST", sUrl, true);
        CurHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        CurHttpReq.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
        CurHttpReq.send(sParams);
    }
}

function addAjaxRequest(sUrl, sParams, AjaxHandler) {
    var HttpRequest = new Array(createXMLHttpRequest(), sUrl, sParams, AjaxHandler);
    HttpRequests.push(HttpRequest);
    scheduleAjax();
}

function getSchermUpdateLijst(Params) {
    addAjaxRequest('getschermupdatelijst.xml', Params, SchermUpdateAjaxHandler);
}

function getFpuUittredingen(Params) {
    addAjaxRequest('getfpuuittredingen.ajax.xml', Params, SchermUpdateAjaxHandler);
}

function checkBrowser(BrowserName) {
    if (BrowserName == 'Safari') {
        return (navigator.userAgent.indexOf(BrowserName) > -1);
    }
    else
    if (BrowserName == 'IE6') {
        return getInternetExplorerVersion() == 6;
    }
    else {
        return false;
    }
}

var inputFormElements = [];

function registerInputForm(inputFormName) {
    var inputForm = document.getElementById(inputFormName);
    if (inputForm) {
        inputFormElements.length = 0;
        for (var x = 0; x < inputForm.elements.length - 1; x++) {
            //            alert(inputForm.elements[x].tagName);
            if (inputForm.elements[x].tagName.toUpperCase() == 'INPUT' && (inputForm.elements[x].type.toUpperCase() == 'TEXT' || inputForm.elements[x].type.toUpperCase() == 'CHECKBOX')) {
                inputFormElements.push(inputForm.elements[x]);
            }
        }
    }
}

function gotoNextElement(evt) {
    // enter pressed, !!! afvoeren??
    return true;
    /*
    var my1 = document.createEventObject(event);
    my1.keyCode = 9;
    my1.shiftKey = true;
    event.srcElement.fireEvent("on" + event.type, my1);
    event.keyCode = 0;
    event.returnValue = false;
    return true;
    
    var src = (evt.target) ? evt.target : evt.srcElement;
    for (var x = 0; x < inputFormElements.length - 2; x++) {
        if (inputFormElements[x].id == src.id || (src.name != '' && inputFormElements[x].name == src.name)) {
            inputFormElements[x + 1].focus();
            inputFormElements[x + 1].select();
            return false;
        }
    }
    */
}

function onKeyPressDate(evt)
{
	if (checkBrowser('Safari'))
		return true;
		
	var key=0;
	evt = (evt) ? evt : (window.event) ? window.event : "";

    if (evt.charCode == null) {
        // IE
		key = evt.keyCode;
    }
	else {
	    // Firefox
		key = evt.charCode;
	}
	if (evt.keyCode == 13) {
	    gotoNextElement(evt);
	}
	if (key != 0 && (key > 57 || key < 48) && (key != 45) && (key != 47))
	{
		evt.preventDefault? evt.preventDefault() : evt.returnValue = false; 
	}
}

function onKeyPressReal(evt)
{
	if (checkBrowser('Safari'))
		return true;
		
	var key=0;
	evt = (evt) ? evt : (window.event) ? window.event : "";

	var src = (evt.target) ? evt.target : evt.srcElement;
	var allowminus = (src.className.indexOf('_allowminus') >= 0);
	
    if (evt.charCode == null) {
        // IE
		key = evt.keyCode;
    }
	else {
	    // Firefox
		key = evt.charCode;
	}
	if (evt.keyCode == 13) {
	    gotoNextElement(evt);
	}
	if (key != 0 && (key > 57 || key < 48) && (key != 44) && (key != 46) && (key != 45 || !allowminus))
	{
		evt.preventDefault? evt.preventDefault() : evt.returnValue = false; 
	}
}

function onKeyPressInteger(evt)
{
	if (checkBrowser('Safari'))
		return true;
		
	var key=0;
	evt = (evt) ? evt : (window.event) ? window.event : "";

    if (evt.charCode == null) {
        // IE
		key = evt.keyCode;
    }
	else {
	    // Firefox
		key = evt.charCode;
    }
    if (evt.keyCode == 13) {
        gotoNextElement(evt);
    }
    if (key != 0 && (key > 57 || key < 48))
	{
		evt.preventDefault? evt.preventDefault() : evt.returnValue = false; 
	}
}

function trimLeadingChars(s, c) {
    while (s.length > 0 && s.substr(0,1) == c) {
        s = s.substr(1);
    }
    return s;
}

function formatReal(s, lenHeel, lenDecimaal, emptyisempty) {
    s = '' + s;
    if (emptyisempty && s == '') {
        return '';
    }
    
    s = s.replace('.', ',');
    var i = s.indexOf(',');
    if (i < 0) {
        i = s.length;
    }
    var h = s.substr(0, i);
    var d = s.substr(i + 1);
    if (h.length > lenHeel) {
        h = '0';
        d = '0';
    }
    h = trimLeadingChars(h, '0');
    if (h.length == 0) {
        h = '0';
    }
    d = d.substr(0, lenDecimaal);
    if (d.indexOf(',') >= 0) {
        d = '0';
    }
    while (d.length < lenDecimaal)
        d += '0';

    return h + ',' + d;
}
/*
function formatPercentage(s, maxValue, lenDecimal) {
    s = '' + s;
    s = s.replace('.', ',');
    var i = s.indexOf(',');
    if (i < 0) {
        i = s.length;
    }
    var h = s.substr(0, i);
    var d = s.substr(i + 1);
    if (forceInt(h) > maxValue || (forceInt(h) == maxValue && forceInt(d) > 0)) {
        h = '0';
        d = '0';
    }
    h = trimLeadingChars(h, '0');
    if (h.length == 0) {
        h = '0';
    }
    d = d.substr(0, lenDecimal);
    if (d.indexOf(',') >= 0) {
        d = '0';
    }
    while (d.length < lenDecimal)
        d += '0';

    return h + ',' + d;
}
*/
function myOnChange(e) {
    e = (e) ? e : (window.event) ? window.event : "";
    var target = (e.target) ? e.target : e.srcElement;

    var emptyisempty = (target.className.indexOf('emptyisempty') >= 0);
    if (target.className.indexOf('_integer') >= 0 || target.className.indexOf('uren_') >= 0) {
        if (target.value == '' && !emptyisempty) {
            target.value = '0';
        }
    }
    if (target.className.indexOf('_date') >= 0) {
	    target.value = formatDate(target.value);
	}
	if (target.className.indexOf('urendecimalen_') >= 0) {
	    target.value = formatReal(target.value, 2, 6, emptyisempty);
	}
	if (target.className.indexOf('bedrag_') >= 0) {
	    target.value = formatReal(target.value, 9, 2, emptyisempty);
	}
	if (target.className.indexOf('_real') >= 0) {
	    var s = target.className.substr(target.className.indexOf('real')+4,2);
	    var h = parseInt(s.substr(0,1));
	    var d = parseInt(s.substr(1,1));
	    target.value = formatReal(target.value, h, d, emptyisempty);
	}
	/*
	if (target.className.indexOf('_percentage') >= 0) {
	    var s = target.className.substr(target.className.indexOf('percentage') + 10, 0);
	    var h = parseInt(s.substr(0, 1));
	    var d = parseInt(s.substr(1, 1));
	    target.value = formatReal(target.value, h, d);
	}
	*/
	if (target.className.indexOf('_updatescreen') >= 0) {
	    var theName = target.name;
	    if (theName == '')
	        theName = target.id;
	    getSchermUpdateLijst(theName+'='+target.value);
	}
}

function onclickInputText(e) {
    e = (e) ? e : (window.event) ? window.event : "";
    var target = (e.target) ? e.target : e.srcElement;

    target.select();
}

function onClickCheckBox(elm) {
	if (elm.className.indexOf('_updatescreen') >= 0) {
	    var theName = elm.name;
	    if (theName == '')
	        theName = elm.id;
	    getSchermUpdateLijst(theName+'='+elm.checked);
	}
}

function myOnKeyDown(e) {
    e = (e) ? e : (window.event) ? window.event : "";
    
    try {
        if (e.keyCode == 13) {
            if (e.which)
                e.which = 9;
            else
                e.keyCode = 9;
        }
    } catch(err) {
    }
}

function initHandleUserInput() 
{
    /* call this function from body onload */
    var tageName= '';
	var allTags = document.getElementsByTagName("*");
	for (var i=0; i<allTags.length; i++) {
	    tagName = allTags[i].tagName.toUpperCase();
	    if ((tagName == 'INPUT' && (allTags[i].type.toUpperCase() == 'TEXT' || allTags[i].type.toUpperCase() == 'RADIO')) || 
	         tagName == 'SELECT') 
	    {
	        if (allTags[i].onchange == null) {
	            allTags[i].onchange = myOnChange;
	        }
	        if (tagName == 'INPUT' && allTags[i].type.toUpperCase() == 'RADIO')
    	    {
	            if (allTags[i].onclick == null) {
	                allTags[i].onclick = myOnChange;
		        }
		    }
		    if (tagName == 'INPUT' && allTags[i].type.toUpperCase() == 'TEXT') {
		        if (allTags[i].onclick == null) {
		            allTags[i].onclick = onclickInputText;
		        }
		    }
		    if (allTags[i].className.indexOf('_date') >= 0) 
		    {
		        allTags[i].onkeypress = onKeyPressDate;
		    }
		    if (allTags[i].className.indexOf('_real') >= 0 || 
		        allTags[i].className.indexOf('urendecimalen_') >= 0 ||
		        allTags[i].className.indexOf('bedrag_') >= 0) 
		    {
		        allTags[i].onkeypress = onKeyPressReal;
		    }
		    if (allTags[i].className.indexOf('minuten_') >= 0 || 
		        allTags[i].className.indexOf('uren_') >= 0 ||
		        allTags[i].className.indexOf('_integer') >= 0) 
		    {
		        allTags[i].onkeypress = onKeyPressInteger;
		    }
		}
		if (tagName == 'INPUT' || tagName == 'SELECT')
		{
		    allTags[i].onkeydown = myOnKeyDown;
		}
}
/*
    if (document.captureEvents) {
    // Firefox 
        document.captureEvents(Event.CHANGE);
        document.onchange = myOnChange;
    }
    else {
    // IE 
        for (var i=0; i < document.forms[0].elements.length ; i++) {
            document.forms[0].elements[i].attachEvent("onchange",myOnChange);
        }
    }
*/
}

var FocusedElement = 0;

function myOnFocus(e) {
    e = (e) ? e : (window.event) ? window.event : "";
    var target = (e.target) ? e.target : e.srcElement;

    FocusedElement = target;
}

function trackFocusedElement() {
    /* call this function from body onload */
    var tageName = '';
    var allTags = document.getElementsByTagName("*");
    for (var i = 0; i < allTags.length; i++) {
        tagName = allTags[i].tagName.toUpperCase();
        if (tagName == 'INPUT' || tagName == 'SELECT') {
            if (!allTags[i].onfocus) {
                allTags[i].onfocus = myOnFocus;
            }
        }
    }
}

function selectFocusedElement() {
    try {
        if (FocusedElement && FocusedElement.select) {
            FocusedElement.select();
        }
    }
    catch (e) {
        // IE8 has a bug which sometimes throws a exception 
    }
}

function copyToPostForm(inputFrm, postFrm) {
    var i,Field,FieldName;
    var Debug=false;
    while (postFrm.length > 0) {
            postFrm.removeChild(document.getElementById(postFrm[0].id));
    }
    for (i = 0; i < inputFrm.length; i++) {
        Field = null;
        if (inputFrm[i].name != '')
            FieldName = inputFrm[i].name;
        else
            FieldName = inputFrm[i].id; 
        if (inputFrm[i].className.indexOf('_dontpost') < 0) {
            if (inputFrm[i].tagName.toUpperCase() == 'INPUT' && inputFrm[i].type.toUpperCase() == 'CHECKBOX') {
                Field = document.createElement('input');
                Field.setAttribute("type","hidden");
                Field.setAttribute("name",FieldName);
                Field.setAttribute("value",inputFrm[i].checked);
            }
            else
            if (inputFrm[i].tagName.toUpperCase() == 'INPUT' && (inputFrm[i].type.toUpperCase() == 'TEXT' || inputFrm[i].type.toUpperCase() == 'HIDDEN' || inputFrm[i].type.toUpperCase() == 'PASSWORD')) {
                Field = document.createElement('input');
                Field.setAttribute("type","hidden");
                Field.setAttribute("name",FieldName);
                Field.setAttribute("value",inputFrm[i].value);
            }
            else
                if (inputFrm[i].tagName.toUpperCase() == 'SELECT') {
                Field = document.createElement('input');
                Field.setAttribute("type", "hidden");
                Field.setAttribute("name", FieldName);
                if (inputFrm[i].className == 'combobox') {
                    var v = '';
                    for (var j = 0; j < inputFrm[i].options.length; j++) {
                        if (v != '')
                            v += ',';
                        v += inputFrm[i].options[j].value;
                    }
                    Field.setAttribute("value", v);
                }
                else {
                    Field.setAttribute("value", inputFrm[i].value);
                }
            }
            else
                if (inputFrm[i].tagName.toUpperCase() == 'INPUT' && inputFrm[i].type.toUpperCase() == 'RADIO') {
                if (inputFrm[i].checked) {
                    Field = document.createElement('input');
                    Field.setAttribute("type","hidden");
                    Field.setAttribute("name",FieldName);
                    Field.setAttribute("value",inputFrm[i].value);
                }
            }
            if (Field) {
                if (Debug)
                    Debug = confirm(Field.name+'*'+Field.value);
                Field.setAttribute("id","postfield"+postFrm.length);
                postFrm.appendChild(Field);
            }
        }
    }
}

function serializePostForm(postFrm) {
    var buf = '';
    for (i = 0; i < postFrm.length; i++) {
        if (postFrm[i].name != '') {
            if (buf != '')
                buf += '&';
            buf += postFrm[i].name + '=' + postFrm[i].value;
        }
    }
    return buf;
}

function validateOmvang(soortomvang) {
    var ErrorMsg = '';
    
    elm = document.getElementById(soortomvang + '.omvanguren');
    if (elm) {
        if (forceInt(elm.value) == 0 && forceInt(document.getElementById(soortomvang + '.omvangminuten').value) == 0) {
            ErrorMsg = soortomvang + ' is een verplicht gegeven.';
        }
    }
    else {
        elm = document.getElementById(soortomvang + '.omvangurendecimalen');
        if (elm) {
            if (forceInt(elm.value.replace(',', '')) == 0) {
                ErrorMsg = soortomvang + ' is een verplicht gegeven.';
            }
        }
        else {
            elm = document.getElementById(soortomvang + '.werktijdfactor');
            if (elm) {
                if (forceInt(elm.value.replace(',', '')) == 0) {
                    ErrorMsg = 'Deeltijdfactor is een verplicht gegeven.';
                }
            }
        }
    }
    if (ErrorMsg != '') {
        elm.focus();
        elm.select();
    }
    return ErrorMsg;
}


/**********************************************************************************/
/*                                 D I A L O G S                                  */
/**********************************************************************************/

function openPrintPopup() {
    var elm = document.getElementById('scrolllist');
    if (elm)
        elm.style.overflow = 'hidden'; // Anders zien we FF geen cursor in de popup
    initPrintPopup();
    document.getElementById('printpopup').style.visibility = 'visible';
    document.getElementById('salspecnaambetrokkene').focus();
}

function cancelPrintPopup() {
    document.getElementById('printpopup').style.visibility = 'hidden';
    var elm = document.getElementById('scrolllist');
    if (elm)
        elm.style.overflow = 'auto';
}

function CenterLeft(width) {
    var WindowLeft = window.screenLeft != undefined ? window.screenLeft : window.screenX;
    if (WindowLeft < 0) WindowLeft = 0;
    return WindowLeft + ($(window).width() - width) / 2;
}

function CenterTop(height) {
    //    return ((screen.width - width) / 2) - 4;
    var WindowTop = window.screenTop != undefined ? window.screenTop : window.screenY;
    if (WindowTop < 0) WindowTop = 0;
    return WindowTop + ($(window).height() - height) / 2;
}
var hPopUp = 0;

function PopUpWindow(DocName, h, w) {
    var l = CenterLeft(w);
    var t = CenterTop(h);
    if (hPopUp)
        if (!hPopUp.closed)
        hPopUp.close();
    hPopUp = window.open('index.html?DocName=' + DocName, 'PopUp', 'scrollbars=0,width=' + w + ',height=' + h + ',screenX=' + l + ',screenY=' + t + ',left=' + l + ',top=' + t + ',resizable=no,location=no,status=0');
}

function closePopUpWindow() {
    if (hPopUp && !hPopUp.closed)
        hPopUp.close();
}

function GegevensOpslaan(NaamSoortBerekening) {
    PopUpWindow('PopUpGegevensOpslaan&Mode=' + NaamSoortBerekening, 170, 400);
}

function Alert(top, left, width, msg, parent) {
    if ($('#AlertBox').length == 0) {
        if (!parent || parent == '') parent = 'body';
        var sDiv = '<div id="AlertBox" class="alert" style="top:' + top + 'px;left:' + left + 'px;width:' + width + 'px;">';
        sDiv += msg;
        sDiv += '<br /><input type="button" value=" OK " onclick="$(this).parent().remove();return false;" style="width:100px;display:block;margin: 5px auto 0 auto"/>';
        sDiv += '</div>';
        $(parent).append(sDiv);
    }
}

function Confirm(top, left, width, OKAction, msg, parent) {
    if (!parent || parent == '') parent = 'body';
    var sDiv = '<div class="alert" style="top:' + top + 'px;left:' + left + 'px;width:' + width + 'px;">';
    sDiv += msg;
    sDiv += '<br /><div style="width:205px;display:block;margin: 5px auto 0 auto"><input type="button" value=" Ja " onclick="$(this).parent().parent().remove(); ' + OKAction + '; return false;" /> <input type="button" value=" Nee " onclick="$(this).parent().parent().remove();return false;" /></div>';
    sDiv += '</div>';
    $(parent).append(sDiv);
}

function goHome(NaamSoortBerekening) {
    if (!NaamSoortBerekening || NaamSoortBerekening == '')
        NaamSoortBerekening = 'pardon'; // zou nooit mogen voorkomen maar just incase
    if ($('#pss_invoerreset') && $('#pss_invoerreset').val() == 'false') {
        Msg = 'Weet u zeker dat u naar de home pagina wilt gaan? De door u ingevoerde gegevens gaan dan verloren.<br />' +
              '- klik op "Nee" om de gegevens te behouden en in dit scherm te blijven<br />' +
              '- klik <a href="javascript:GegevensOpslaan(\'' + NaamSoortBerekening + '\');">hier</a> om de gegevens op te slaan<br />' +
              '- klik op "Ja" om naar de home pagina te gaan<br />';
        if (Confirm(40, 140, 420, 'window.location.href = \'index.html\'', Msg, '#maincontainer')) {
            window.location.href = 'index.html';
        }
    }
    else {
        window.location.href = 'index.html';
    }
}


/**********************************************************************************/
/*                                   T O O L S                                    */
/**********************************************************************************/

String.prototype._pad = function(width, padChar, side) {
    var str = [side ? "" : this, side ? this : ""];
    while (str[side].length < (width ? width : 0)
&& (str[side] = str[1] + (padChar ? padChar : " ") + str[0]));
    return str[side];
}

String.prototype.padLeft = function(width, padChar) {
    return this._pad(width, padChar, 0)
};
String.prototype.padRight = function(width, padChar) {
    return this._pad(width, padChar, 1)
};
Number.prototype.padLeft = function(width, padChar) {
    return ("" + this).padLeft(width, padChar)
};
Number.prototype.padRight = function(width, padChar) {
    return ("" + this).padRight(width, padChar)
};

function swapSelectOption(fromList, toList) {
    var i = fromList.selectedIndex;
    if (i >= 0) {
        var curOpt = fromList.options[i]
        if (curOpt.value != '') {
            var newOpt = document.createElement("OPTION");
            newOpt.text = curOpt.text;
            newOpt.value = curOpt.value;
            toList.options.add(newOpt, toList.options.length);
            fromList.remove(i);
        }
    }
}

function getFileExt(s) {
    var i = s.length - 1;
    while (i >= 0 && s.substr(i, 1) != '.') {
        i--;
    }
    return s.substr(i);
}
/*
document.getElementsByClassName = function(cl) {
var retnode = [];
var myclass = new RegExp('\\b' + cl + '\\b');
var elem = this.getElementsByTagName('*');
for (var i = 0; i < elem.length; i++) {
var classes = elem[i].className;
if (myclass.test(classes)) retnode.push(elem[i]);
}
return retnode;
};
*/
function Replicate(c, n) {
    var s = '';
    for (var i = 0; i < n; i++)
        s += c;
    return s;
}

function AddTSpaces(s, n) {
    while (s.length < n) { s += String.fromCharCode(160); }
    return s;
}

function AddLSpaces(s, n) {
    while (s.length < n) { s = String.fromCharCode(160) + s; }
    return s;
}

function AddLZeros(s, n) {
    s = '' + s;
    while (s.length < n) { s = '0' + s; }
    return s;
}

function disableAllElements() {
    $('input').attr('disabled', 'disabled');
    $('select').attr('disabled', 'disabled');
}

