﻿        function noChars(e) {
	    
	    var keynum;
	    var keychar;
	    var numcheck = new RegExp("[0-9]");

	    if(window.event) { // IE
                keynum = e.keyCode;
            } else if(e.which) { // Netscape/Firefox/Opera
                keynum = e.which;
            }
/*
	    keychar = String.fromCharCode(keynum);	    
 	    return numcheck.test(keychar);	    
*/

            if ( keynum < 31 || // misc nav keys
            	(keynum >= 48 && keynum <= 57) || 	// numbers
            	(keynum >= 96 && keynum <= 105) ||	// numpad
            	keynum == 110 || // dec pt
            	keynum == 188 || // comma
            	(keynum >= 35 && keynum <= 40) || // home, end, arrow keys
            	(keynum >= 45 && keynum <= 46)) {  // ins, del
                return true;
            } else {
            	return false;
            }

        }
            
        function setFormDefaults() {     
       	    document.getElementById("pin_begr_jr").value = "2009";
       	    document.getElementById("pin_pagesize").value = "10";
       	    document.getElementById("pin_page_start").value = "1";
       	    document.getElementById("piv_sort").value = "sort_naam";
       	    document.getElementById("pin_sort_dir").value = "0";
        } 

	function setPaging(mode) {
	    if (mode == "hide") {	
                document.getElementById("paging").style.visibility = "hidden";
                //document.getElementById("table_header").style.visibility = "hidden";
            } else if (mode =="show") {
                document.getElementById("paging").style.visibility = "visible";
                //document.getElementById("table_header").style.visibility = "visible";
            }
	}

	function validateForm(lng) {
		
	    // when searching on amounts, an amount type is required
            if ( ( ( document.getElementById("pin_ondergrens").value != "") || (document.getElementById("pin_bovengrens").value != "") )
                 && document.getElementById("piv_type_bedrag").value == ""
                ) {
                
                switch (lng) {
                    case "DE":
                    	alert("Falls Sie auf Betrag suchen möchten, geben Sie zuerst eine Zahlungsherkunft an.");
                        break;
                    case "EN":
                	alert("If you wish to search on amounts, select a type of amounts first.");
                	break;
                    case "FR":
                	alert("Si vous souhaitez effectuer une recherche sur les montants, vous devez sélectionner un type de montants.");
                	break;               	
                    case "NL":
                    	alert("Indien U op bedragen wenst te zoeken moet U een type bedrag selecteren.");
                    	break;
        	}
                
                return false;
	    }

	    // only decimal indicator allowed, no grouping

            if ( document.getElementById("pin_ondergrens").value != "" && 
                     document.getElementById("pin_ondergrens").value.indexOf(".") > -1 &&
                     document.getElementById("pin_ondergrens").value.indexOf(",") > -1
               ) {
               	alert("Only decimal separators are allowed, do not use grouping separators.");
                return false;
            }

            if ( document.getElementById("pin_bovengrens").value != "" && 
                     document.getElementById("pin_bovengrens").value.indexOf(".") > -1 &&
                     document.getElementById("pin_bovengrens").value.indexOf(",") > -1
               ) {
               	alert("Only decimal separators are allowed, do not use grouping separators.");
                return false;
            }
			
	    // comma to point
	    if ( document.getElementById("pin_ondergrens").value.indexOf(",") > -1) { 
	        document.getElementById("pin_ondergrens").value =
	            document.getElementById("pin_ondergrens").value.replace(",", ".");
	    }
	    if ( document.getElementById("pin_bovengrens").value.indexOf(",") > -1) { 
	        document.getElementById("pin_bovengrens").value =
	            document.getElementById("pin_bovengrens").value.replace(",", ".");
	    }	 
	
	
	    // amounts must be numbers
	    if (isNaN(document.getElementById("pin_ondergrens").value) || isNaN(document.getElementById("pin_bovengrens").value)) {
	    	alert("Only numbers are allowed."); 
	        return false;
	    } 	            	
        
            // point to comma
	    
	    if ( document.getElementById("pin_ondergrens").value.indexOf(".") > -1) { 
	        document.getElementById("pin_ondergrens").value =
	            document.getElementById("pin_ondergrens").value.replace(".", ",");
	    }
	    if ( document.getElementById("pin_bovengrens").value.indexOf(".") > -1) { 
	        document.getElementById("pin_bovengrens").value =
	            document.getElementById("pin_bovengrens").value.replace(".", ",");
	    }	    
	}

        $(document).ready(function(){    	    

	    $.get(
	          "../includes/begr_jr.dat",
	          function(data) {	          	
	          	$("#pin_begr_jr").empty().html(data);
	          }
	    );

            setPaging("hide");
            setFormDefaults();

            $("#downloadFile").click(function() {
            	 window.open(encodeURI(
            	 "https://www.birb.be/pls/pub/belpa.csv"+
            	 "?piv_naam="        + $("#piv_naam").val()+
            	 "&pin_begr_jr="     + $("#pin_begr_jr").val()+
            	 "&piv_postcode="    + $("#piv_postcode").val()+
            	 "&piv_gemeente="    + $("#piv_gemeente").val()+
            	 "&piv_type_bedrag=" + $("#piv_type_bedrag").val()+            	 
            	 "&pin_ondergrens="  + $("#pin_ondergrens").val()+
            	 "&pin_bovengrens="  + $("#pin_bovengrens").val()+
            	 "&pin_pagesize="    + $("#pin_pagesize").val()+
            	 "&pin_page_start="  + $("#pin_page_start").val()+
            	 "&piv_sort="        + $("#piv_sort").val()+
            	 "&pin_sort_dir="    + $("#pin_sort_dir").val()+
            	 "&piv_lng="         + $("#piv_lng").val()),
            	 "_blank"
            	 );
            	 
                return false;
            });

            $(":reset").click(function() {
		setFormDefaults();
		
		document.getElementById("piv_naam").value = "";
		document.getElementById("piv_postcode").value = "";
		document.getElementById("piv_gemeente").value = "";
		document.getElementById("piv_type_bedrag").value = "";
		document.getElementById("pin_ondergrens").value = "";
		document.getElementById("pin_bovengrens").value = "";
            });
            	            
            $("form").submit(function() {
            
                return validateForm( document.getElementById("piv_lng").value );
                
                setPaging("show");
                
                return true;
            });            

            $(":submit").click(function() {                

		setPaging("show");

                document.getElementById("pin_page_start").value = "1";
                // set n/a link nav link colors 

                return true;
            });
            
            // paging offsets
            $("#page_first").click(function() {
            	if ( document.getElementById("pin_page_start").value == "1") {
            	    return false;   	
		}

		document.getElementById("pin_page_start").value = "1";
                $("form").submit();
                return true;
            });

            $("#page_prev").click(function() {
            	if ( document.getElementById("pin_page_start").value == "1") {
            	    return false;
		}

		// navigating from last
            	if ( document.getElementById("pin_page_start").value == "-1") {
			  document.getElementById("pin_page_start").value = 
            	    	  document.getElementById("rowcount").innerHTML.substring(
            	    	      document.getElementById("rowcount").innerHTML.indexOf(" "),
            	    	      document.getElementById("rowcount").innerHTML.indexOf("-") - 1
            	    	      );
		}		

                document.getElementById("pin_page_start").value = 
                    parseInt(document.getElementById("pin_page_start").value, 10) - 
                    parseInt(document.getElementById("pin_pagesize").value, 10);
                
                if ( document.getElementById("pin_page_start").value < 1 )
                {
                    document.getElementById("pin_page_start").value = 1;
                }
                
                $("form").submit();
                return true;
            });

            $("#page_next").click(function() {
            	if ( parseInt(document.getElementById("pin_page_start").value, 10) < 0) {
            	    return false;
		}

                var rowcountArr = document.getElementById("rowcount").innerHTML.split(" "); 
                
                if ( parseInt(rowcountArr[3], 10) == parseInt(rowcountArr[5], 10) ) {
                    return false;
        	}
		
                document.getElementById("pin_page_start").value = 
                    parseInt($("#pin_page_start").val(), 10) +
                    parseInt($("#pin_pagesize").val(), 10);

                $("form").submit();
                return true;
            });

            $("#page_last").click(function() {

                var rowcountArr = document.getElementById("rowcount").innerHTML.split(" "); 
                
                if ( parseInt(rowcountArr[5], 10) <= 10 ) {
                    return false;
        	}
           	
            	document.getElementById("pin_page_start").value = "-1";
                $("form").submit();
                return true;
            });
            
            /*
            // sort direction: 0 = ascending, 1 = descending
            $("th").dblclick(function() {
            	// if a different column than the previous sort column is selected,
            	// order ascending on the selected column
            	if ( document.getElementById("piv_sort").value != $(this).attr("id") ) {
                    document.getElementById("pin_sort_dir").value = 0;
        	} else { 
		    document.getElementById("pin_sort_dir").value = 
		        ( parseInt(document.getElementById("pin_sort_dir").value, 10) + 1 ) % 2;        		
        	}
        	document.getElementById("piv_sort").value = $(this).attr("id");		
				
            	$("form").submit();
            	return true;
            	
            });
	    */	
        });
