PageSourceSearch

https://www.funaku.co.za/enquiries

html funaku.co.za collected 2026-10-08 18:14:39 UTC 27,034 bytes, 665 lines download raw bytes

1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta name="author" content="Nicolaas Engelbrecht"/>
5<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
6<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7<meta name="keywords" content="business directory, search engine, Funaku, South African companies, south Africa, local businesses, Western Cape, find businesses, online directory, online directories, search engine listings, searching, seek it, directory listings, small companies, big companies, SA, ZA, company categories, news, sports, health, tourism, business, property, education, entertainment, IIS Group, online directory, SA online, business SA, directories, business, directory online, small business, business directory, SA, online business directory, business directories, SA business, SA online, South Africa, South African directory, Cape, Western Cape, SA directory">
8<meta name="description" content="Funaku is a South African online business directory, lising local South African companies online. List your South African business with the Funaku online directory.">
9<title>Enquiries - Funaku</title>
10
11<link rel="stylesheet" type="text/css" href="skin/css/jquery.lightbox-0.5.css" />
12<link rel="stylesheet" type="text/css" href="skin/css/lightbox.css" />
13<link rel="stylesheet" type="text/css" href="skin/css/bootstrap.min.css" />
14<link rel="stylesheet" type="text/css" href="skin/css/form.css" />
15<link rel="stylesheet" type="text/css" href="skin/css/catalogue.css" />
16<link rel="stylesheet" href="skin/css/sss.css" type="text/css" media="all">
17<link rel="stylesheet" type="text/css" href="skin/css/hover.css" />
18<link href="https://fonts.googleapis.com/css?family=Oswald:300,400,500,600,700|Roboto:300,300i,400,400i,500,500i,700,700i,900,900i" rel="stylesheet"> 
19<link rel="stylesheet" href="skin/css/jquery-ui.min.css" type="text/css" />
20<link rel='shortcut icon' type='image/x-icon' href="favicon.ico" />
21<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.12.1/css/all.css">
22
23
24<script type="text/javascript" src="skin/js/jquery-1.11.3.min.js"></script>
24
25<!-- 
25<script type="text/javascript" src="skin/js/jquery-ui-1.10.2.custom.min.js"></script>
25 -->
26<script type="text/javascript" src="skin/js/sss.min.js"></script>
vendor: 2 bytes, line 26
26
27<script type="text/javascript" src="skin/js/jquery-ui.min.js"></script>
vendor: 2 bytes, line 27
27
28<script type="text/javascript" src="skin/js/bootstrap.min.js"></script>
vendor: 2 bytes, line 28
28
29<script type="text/javascript" src="skin/js/jquery.lightbox-0.5.pack.js"></script>
vendor: 2 bytes, line 29
29
30<script type="text/javascript" src="skin/js/lightbox.min.js"></script>
vendor: 2 bytes, line 30
30
31<script type="text/javascript" src="skin/js/jquery.onImagesLoad.min.js"></script>
vendor: 2 bytes, line 31
31
32<script type="text/javascript" src="skin/js/jquery.responsiveSlides.js"></script>
vendor: 2 bytes, line 32
32
33<script src="skin/js/responsiveslides.min.js"></script>
vendor: 2 bytes, line 33
33
34<script type="text/javascript" src="skin/js/bootbox.js"></script>
vendor: 2 bytes, line 34
34
35<script type="text/javascript" src="skin/js/jssor.slider.mini.js"></script>
vendor: 2 bytes, line 35
35
36<script type="text/javascript" src="skin/js/sliding-labels.js"></script>
vendor: 2 bytes, line 36
36
37<script type="text/javascript">
38$(document).ready(function(){
39
40	var p=$('.banner_hold').responsiveSlides({
41		height:489,						// slides conteiner height
42		background:'#fff',				// background color and color of overlayer to fadeout on init
43		autoStart:true,					// boolean autostart
44		startDelay:0,					// start whit delay
45		effectInterval:5000,			// time to swap photo
46		effectTransition:1000,			// time effect
47		pagination:[
48			{
49				active:true,			// activate pagination
50				inner:true,				// pagination inside or aouside slides conteiner
51				position:'B_L', 		/* 
52											pagination align:
53												T_L = top left
54												T_C = top center
55												T_R = top right
56									
57												B_L = bottom left
58												B_C = bottom center
59												B_R = bottom right
60										*/
61				margin:10, 				// pagination margin
62				dotStyle:'', 			// dot pagination class style
63				dotStyleHover:'', 		// dot pagination class hover style
64				dotStyleDisable:''		// dot pagination class disable style
65			}
66		]
67});
68
69
70
71});
72</script>
vendor: 2 bytes, line 72
72
73<script>
74$(document).ready(function(){
75  $('.dropdown-submenu a.test').on("click", function(e){
76    $('.dropdown-submenu>ul.dropdown-menu').hide();
77				$(this).next('ul').toggle();
78    e.stopPropagation();
79    e.preventDefault();
80  });
81});
82</script>
82
83<!-- Google Tag Manager -->
84<script>
vendor: 331 bytes, lines 84-88
84(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
85new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
86j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
87'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
88})(window,document,'script','dataLayer','
88GTM-N3FC96D
vendor: 3 bytes, line 88
88');
88</script>
88
89<!-- End Google Tag Manager -->
90</head>
91<body id="mainbody">
92<!-- Google Tag Manager (noscript) -->
vendor: 69 bytes, lines 92-93
92
93<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
93GTM-N3FC96D
vendor: 85 bytes, lines 93-94
93"
94height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
95<!-- End Google Tag Manager (noscript) -->
96
97    <div class="container padding-top-bottom">
98		<div class="logo_hold">
99			<a  href="#page-top">
100				<img class="img-responsive logo" src="skin/images/logo.png" alt="Funaku" title="Funaku - ">
101			</a>
102			<!--<img class="img-responsive rightlogo" src="skin/images/sbdt.png" alt="Funaku" title="Funaku - ">-->
103		</div>
104	</div>
105<!-- <nav id="mainNav" class="navbar navbar-default navbar-fixed-top navbar-custom"> -->
106<nav id="mainNav" class="navbar navbar-default navbar-custom">
107	<div class="container">
108        <!-- Brand and toggle get grouped for better mobile display -->
109        <div class="navbar-header page-scroll">
110			<div class="search_holder">
111				<style>
112	a {
113    cursor: pointer;
114}
115</style>
116
117<script type="text/javascript">
118$(document).ready(function() {
119
120	$.widget( "ui.autocomplete", $.ui.autocomplete, {
121    options: {
122        maxItems: 10
123    },
124    _renderMenu: function( ul, items ) {
125        var that = this,
126            count = 0;
127        $.each( items, function( index, item ) {
128            if ( count < that.options.maxItems ) {
129                that._renderItemData( ul, item );
130            }
131            count++;
132        });
133    } 
134});
135
136	
137	$("#txt_search").val("");
138	
139	$("#txt_search").autocomplete({
140		minLength: 3,
141		source: "https://www.funaku.co.za/online.asp?controller=search&view=listings_search&id=0&window=1",
142		open: function() {
143			var len = $('.ui-autocomplete > li').length;
144			var term = "";
145			if(len > 0)	{
146				// var seemoreLink = "<li class=\"ui-menu-item\" role=\"presentation\"><a href=\"https://www.funaku.co.za/online.asp?controller=search&view=listings_search&id=0&window=1"+$("#txt_search").val()+"\"><strong>See more results</strong></a></li>";
147				term = encodeURIComponent($("#txt_search").val());
148				var seemoreLink = "<li><a href='https://www.funaku.co.za/online.asp?controller=listings&view=search_grid&id=0&window=0&term=" + term +"'><strong>See all results</strong></a></li>";
149				$(".ui-autocomplete").append(seemoreLink);
150			}
151		}
152	}).data("ui-autocomplete")._renderItem = function (ul, item) {
153		var term = "";
154		term = encodeURIComponent(item.name);
155		return $("<li>")
156		  // .append("<a href=\"?controller=listings&view=searchABC&id="+item.id+"\"><div class=\"search-box-results\"><span>" + item.name + "<br><small>" + item.category + "</small></span></div></a>")
157		  
158		  .append("<a href=\"/?controller=listings&view=viewlistings&cat="+term+"\"><div class=\"search-box-results\"><span>" + item.name + "</span></div></a>")
159		  .appendTo(ul);
160		  
161	};
162	$("#frm_search").submit(function (e) {
163		e.preventDefault();
164		if ($("#txt_search").val() != null) {
165			window.location = "https://www.funaku.co.za/online.asp?controller=listings&view=search_grid&id=0&window=0&term=" + $("#txt_search").val();
166		}
167	});
168	
169	$.submitSearch = function() {
170		var $search = $("#txt_search").val();
171		// alert($search);
172		$search = $search.trim();
173		if ($search.length < 3) {
174			alert("You must enter at least three characters in the search input field");
175			$("#txt_search").val("");
176			return false;
177		}
178		else	{
179			$("#frm_search").submit();
180		}
181	}
182	
183});
184</script>
184
185<form id="frm_search">
186	<li class="searchlist">
187		<div class="search_box">
188			<input type="text" name="search" id="txt_search" size="30" maxlength="50" class="enquiry_form_search" placeholder="Search by category" />
189			<input type="hidden" id="product_id" name="product" />
190		</div>
191	</li>
192	<li class="searchlist">
193		<div class="search_btn">
194			<a onclick="$.submitSearch()" id="btn_full_search" title="Search for a Service"><img src="skin/images/search_icon.png" title="Search" class="img-responsive negmargin"></a>
195		</div> 
196	</li>
197</form>
198			</div>
199            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
200                <span class="sr-only">Toggle navigation</span> Menu <i class="fa fa-bars"></i>
201            </button>
202			
203        </div>
204		
205        <!-- Collect the nav links, forms, and other content for toggling -->
206        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
207		
208            <ul class="nav navbar-nav navbar-right">
209                <li class="hidden">
210                    <a href="#page-top"></a>
211                </li>
212				
213                <li class="page-scroll">
214					<a href="/home" title="Funaku - Home">Home</a>					
215                </li>
216				<li class="page-scroll">
217                    <a href="/signup" title="Funaku - Free Listing!">Free Listing</a>
218                </li>
219				<li class="page-scroll">
220                    <a href="/enquiries" title="Funaku - Enquiries">Enquiries</a>
221                </li>
222            </ul>
223            <div class="clearall"></div>
224        </div>
225        <!-- /.navbar-collapse -->
226    </div>
227    <!-- /.container-fluid -->
228</nav>
229
230
231<article class="">
232<div class="container-fluid">
233<div class="row gap_top">
234
235<div class="alphabet">
236<h3>Search Alphabetically</h3>
237<h4 class="alpha">
238<a class="abc" href="online.asp?controller=listings&view=searchabc&id=A">A</a>
239<a class="abc" href="online.asp?controller=listings&view=searchabc&id=B">B</a>
240<a class="abc" href="online.asp?controller=listings&view=searchabc&id=C">C</a> 
241<a class="abc" href="online.asp?controller=listings&view=searchabc&id=D">D</a> 
242<a class="abc" href="online.asp?controller=listings&view=searchabc&id=E">E</a> 
243<a class="abc" href="online.asp?controller=listings&view=searchabc&id=F">F</a>
244<a class="abc" href="online.asp?controller=listings&view=searchabc&id=G">G</a>
245<a class="abc" href="online.asp?controller=listings&view=searchabc&id=H">H</a>
246<a class="abc" href="online.asp?controller=listings&view=searchabc&id=I">I</a> 
247<a class="abc" href="online.asp?controller=listings&view=searchabc&id=J">J</a> 
248<a class="abc" href="online.asp?controller=listings&view=searchabc&id=K">K</a>
249<a class="abc" href="online.asp?controller=listings&view=searchabc&id=L">L</a> 
250<a class="abc" href="online.asp?controller=listings&view=searchabc&id=M">M</a> 
251<a class="abc" href="online.asp?controller=listings&view=searchabc&id=N">N</a>
252<a class="abc" href="online.asp?controller=listings&view=searchabc&id=O">O</a> 
253<a class="abc" href="online.asp?controller=listings&view=searchabc&id=P">P</a> 
254<a class="abc" href="online.asp?controller=listings&view=searchabc&id=Q">Q</a> 
255<a class="abc" href="online.asp?controller=listings&view=searchabc&id=R">R</a> 
256<a class="abc" href="online.asp?controller=listings&view=searchabc&id=S">S</a> 
257<a class="abc" href="online.asp?controller=listings&view=searchabc&id=T">T</a> 
258<a class="abc" href="online.asp?controller=listings&view=searchabc&id=U">U</a> 
259<a class="abc" href="online.asp?controller=listings&view=searchabc&id=V">V</a> 
260<a class="abc" href="online.asp?controller=listings&view=searchabc&id=W">W</a>  
261<a class="abc" href="online.asp?controller=listings&view=searchabc&id=X">X</a>  
262<a class="abc" href="online.asp?controller=listings&view=searchabc&id=Y">Y</a>  
263<a class="abc" href="online.asp?controller=listings&view=searchabc&id=Z">Z</a>  
264</h4>
265</div>
266<div class="clearall"></div>
267</div>
268</div>
269</article>
270
271<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
271
272
273<script type="text/javascript">
274	$(document).ready(function() {
275		//$.LoadEnquiryProductVariants();									// see /skin/plugins/iis-enquiries/iis.enquiries.js
276		$("#sidebar-content").height(250);
277		
278		$(':input').on('change', function() {								// reset the form (remove red validation borders when any input changes)
279			resetstyle();
280		});
281		
282		var comments_length = $(".char-textarea").val().length;
283		$(".char-count").html(500 - comments_length);
284
285	$(function(){
286
287		$('#contactform').slidinglabels({
288
289			/* these are all optional */
290			className    : 'slider', // the class you're wrapping the label & input with -> default = slider
291			topPosition  : '20px',  // how far down you want each label to start
292			leftPosition : '15px',  // how far left you want each label to start
293			axis         : 'y',    // can take 'x' or 'y' for slide direction
294			speed        : 'slow',  // can take 'fast', 'slow', or a numeric value
295
296		});
297
298		$('#contactformxx').slidinglabels({
299
300			/* these are all optional */
301			className    : 'slider', // the class you're wrapping the label & input with -> default = slider
302			topPosition  : '20px',  // how far down you want each label to start
303			leftPosition : '15px',  // how far left you want each label to start
304			axis         : 'y',    // can take 'x' or 'y' for slide direction
305			speed        : 'slow',  // can take 'fast', 'slow', or a numeric value
306
307		});
308
309	$(".char-textarea").on("keyup",function(event){
310	  checkTextAreaMaxLength(this,event);
311	});
312
313	function checkTextAreaMaxLength(textBox, e) { 
314		var maxLength = parseInt($(textBox).data("length"));
315		$(".char-count").html(maxLength - textBox.value.length);
316		return true; 
317	} 
318
319
320	});
321});
322</script>
322
323<article>
324<div class="container">
325<div class="row gap_top">
326
327<div class="col-lg-12 col-md-12">
328<h1 style="text-align: center;">Submit your enquiry</h1>
329</div>
330
331<div class="col-lg-12 col-md-12">
332<form action="https://www.funaku.co.za/online.asp?controller=pages&view=SubmitEnquiries&id=1" method="post" name="contactform" id="contactform" class=" frm_mobile" onsubmit="return resetstyle() && check_input(this);" >
333<!--<div id="div_variants" style="margin-bottom: 10px"></div>-->
334<div class="slider">
335<label for="user">First Name</label>
336<input type="text" id="name" name="name" size="30" maxlength="40" class="enquiry_form_text required" />
337</div>
338<div class="clearall" style="height:30px;"></div>
339<div class="slider">
340<label for="user">Surname</label>
341<input type="text" id="surname" name="surname" size="30" maxlength="40" class="enquiry_form_text required" />
342</div>
343<div class="clearall" style="height:30px;"></div>
344<div class="slider">
345<label for="user">Contact Number</label>
346<input type="text"  id="tel" name="tel" size="30" maxlength="30" class="enquiry_form_text required" />
347</div>
348<div class="clearall" style="height:30px;"></div>
349<div class="slider">
350<label for="user">Email Address</label>
351<input type="text" id="email" name="email" size="30" maxlength="40" class="enquiry_form_text required" />
352</div>
353<div class="clearall" style="height:30px;"></div>
354<div class="slider">
355<label for="user">Repeat Email Address</label>
356<input id="repeatemail" type="text" name="repeatemail" size="30" maxlength="40" class="enquiry_form_text" />
357</div>
358<strong><em><span class='message'></span></em></strong>
359<div class="clearall" style="height:30px;"></div>
360<div class="slider">
361<label for="user">Comments/Questions</label>
362<textarea data-length=500 name="comments" id="comments" cols="25" rows="15" class="enquiry_form_comments char-textarea"></textarea>
363<h4 class="small_text" style="color:#363636!important"><span class="char-count">500</span> characters remaining</h4>
364</div>
365<div class="clearall" style="height:30px;"></div>
366<div class="nuField">
367<div class="clearall" style="height:10px;"></div>
368<div class="cf-turnstile" data-sitekey="0x4AAAAAACbI1CBqVTjqf0nN"></div>
369<div class="clearall" style="height:10px;"></div>
370</div>
371<div class="clearall" style="height:30px;"></div>
372<span class="small_text" style="color:#363636">To prevent web form hacking, please answer the question above. </span> 
373<div class="clearall" style="height:30px;"></div>
374<input name="submit" id="dosubmit" type="submit" class="form_button" value="Send Form" />&nbsp;&nbsp;&nbsp;
375<input name="reset" type="reset" class="form_button" value="Clear Form" />
376</form>
377</div>
378
379<div class="clearall" style="height:50px;"></div>
380
381</div>
382</div>
383</article>
384
385<script>
386	var errstr = "";
387	var iChars = "ABCDEFGHIJKLMNOPQRSTUVWYXZabcdefghijklmnopqrstuvwyxz0123456789()?/,.-$&:+%@!+' \r\n";
388	var phChars = "0123456789+()- ";
389	var pwChars = "ABCDEFGHIJKLMNOPQRSTUVWYXZabcdefghijklmnopqrstuvwyxz0123456789~`!@#$%^&*()_-+={}[]:;<>.?/";
390	var spChars = "BLUEblue";
391	
392$('#email, #repeatemail').on('keyup', function () {
393	
394	if ($('#email').val() == '' && $('#repeatemail').val() == '') {
395		$('.message').fadeOut('slow');
396	}
397    if ($('#email').val() == $('#repeatemail').val()) {
398        $('.message, #message').html('Email addresses match!').animate({'color':'#28a00a','background-color':'#befeaaf'},'slow');
399		return true;
400    } else {
401		$('.message').css('display', 'block');
402		$('.message, #message').html('Email addresses do NOT match!').animate({'color':'#a00a28','background-color':'#faafbe'},'slow')
403		return false;
404	}
405});
406	
407	
408	function check_input(theform)	{
409	
410		if (minmaxlength("name","First Name",theform.name.value,3,20) != true)	{
411			return false;
412		}
413		
414		if (checkstring("name","First Name",theform.name.value,iChars) != true)	{
415			return false;
416		}
417		
418		if (minmaxlength("surname","Surname",theform.surname.value,3,20) != true)	{
419			return false;
420		}
421		
422		if (checkstring("surname","Surname",theform.surname.value,iChars) != true)	{
423			return false;
424		}
425		
426		//if (minmaxlength("company_name","Company Name",theform.company_name.value,3,30) != true)	{
427			//return false;
428		//}
429		
430		//if (checkstring("company_name","Company Name",theform.company_name.value,iChars) != true)	{
431			//return false;
432		//}
433		
434		
435		if (minmaxlength("tel","Contact Number",theform.tel.value,10,30) != true)	{
436				return false;
437		}
438			
439		if (checkstring("tel","Contact Number",theform.tel.value,phChars) != true)	{
440			return false;
441		}
442				
443		if (validateEmail("email","E-mail Address",theform.email.value) != true)	{
444			return false;
445		}
446		
447		if (validateEmail("repeatemail","Repeat E-mail Address",theform.repeatemail.value) != true)	{
448			return false;
449		}
450		
451		if (checkEmail() != true)	{
452			return false;
453		}
454		
455		if (minmaxlength("comments","Comments/Questions",theform.comments.value,3,500) != true)	{
456			return false;
457		}
458		
459		if (checkstring("comments","Comments/Questions",theform.comments.value,iChars) != true)	{
460			return false;
461		}
462		
463		
464	
465		if (checkstring("spam","What is 15 + 100 =",theform.spam.value,phChars) != true)	{
466			return false;
467		}
468		
469		if (minmaxlength("spam","What is 15 + 100 =",theform.spam.value,3,3) != true)	{
470			return false;
471		}
472
473		
474		//bootbox.confirm({
475				//size: "small",
476				//message:"<h3 style='color:red; text-align:center; margin-top:0px;margin-bottom:0px;'>Are you sure?</h3>", 
477				//onEscape: function() {
478					// you can do anything here you want when the user dismisses dialog
479					//$('.bootbox.modal').modal('hide');
480				//},
481				//callback: function(result) {
482					//$.ajax({
483					//url: '?controller=pages&view=SubmitEnquiries&id=1&window=1',
484					//type: "POST",
485					//dataType: "json",
486					//data: {
487						//Antispam:$('#antispam').val(),
488						//Forename: $('#forename').val(),
489						//Surname: $('#surname').val(),
490						//Tel_number:$('#tel_number').val(),
491						//Email_address:$('#email_address').val(),
492						//Comments: $('#comments').val()
493						//},
494					//success: function (result1, status) {
495							//console.log(status);
496							//console.log(result1);
497							//bootbox.alert({
498							//size:"small",
499							//title:"<img src='skin/images/afritrade_logo_2016.png' style='width:200px'/>",
500							//message: result1.message,
501							//callback: function(red){
502							//window.location.href = "?controller=pages&view=load&id=home";
503							//}
504							//});
505							
506                   
507						//},
508					//error: function (result2, status) {
509							//bootbox.alert({
510							//size:"small",
511							//title:"<img src='skin/images/afritrade_logo_2016.png' style='width:200px'/>",
512							//message:"<h3 style='color:red; text-align:center; margin-top:0px;margin-bottom:0px;'>Error, cannot continue!</h3>",
513							//});	
514							
515						//}
516					//});
517          
518				//}
519				//});
520	
521	}
522
523	function checkEmail () {
524	if ($('#email').val() == $('#repeatemail').val()) {
525        
526		return true;
527		
528    } else {
529      
530	  bootbox.alert({
531		size:"550px",
532		message:"<span style='color:red;'>Email Address</span> and <span style='color:red;'>Repeat Email Address</span> Fields do do not match!<br/><br/>Please make sure they are correct and exactly the same and try again!"
533					});
534		return false;
535			
536		}
537		
538	}
539	
540	function validateEmail(item_id,item_name,item_value) {
541			var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
542			if (re.test(item_value)){
543				return true;
544			}
545			else{
546				document.getElementById(item_id).focus();
547				document.getElementById(item_id).style.border="1px solid red";
548				bootbox.alert({
549					size:"550px",
550					message:"<span style='color:red;'>Invalid email address!</span> - email address invalid. You entered:<br><br> " + item_value + "<br><br>Correct the error(s) in the <span style='color:red;'>" + item_name + "</span> field and try again!"
551					});				
552				return false;
553			}
554		}
555	
556	function checkstring(item_id,item_name,item_value,iChars)		{
557		
558			errstr = "";
559			var founderror = 0;
560			var str = item_value;
561			var txt = "";
562			for (var i = 0; i < str.length; i++)	{
563				if (iChars.indexOf(str.charAt(i)) == -1)	{
564					errstr = errstr + "<span style='color:red;'>" + str.charAt(i) + "</span>";
565					founderror = 1;
566				}
567				else	{
568					errstr = errstr + str.charAt(i);
569				}
570			}
571			if (founderror > 0)		{
572				//document.getElementById("errmsg").innerHTML="<span style='color:red;'>Invalid character!</span> - some characters not allowed. You entered:<br><br> " + errstr + "<br><br>Correct the error(s) in the <span style='color:red;'>" + item_name + "</span> field and try again!"; 
573				//$( "#dialog-message" ).dialog( "open" );
574				document.getElementById(item_id).focus();
575				document.getElementById(item_id).style.border="1px solid red";
576				bootbox.alert({
577					size:"550px",
578					message:"<span style='color:red;'>Invalid character!</span> - some special characters not allowed. You entered:<br><br> " + errstr + "<br><br>Correct the error(s) in the <span style='color:red;'>" + item_name + "</span> field and try again!"
579					});
580				return false;
581			}
582			else				{
583				return true;
584			}
585		}
586	
587	function minmaxlength(item_id,item_name,item_value,min,max)		{
588		if (item_value.trim().length < min || item_value.trim().length > max) {
589			//document.getElementById("errmsg").innerHTML="<span style='color:red;'>Length requirements not met.</span> <br><br>Text must be Minimum length <span style='color:red;'>" + min + "</span> characters and maximum length <span style='color:red;'>" + max + "</span> characters in the <span style='color:red;'>" + item_name + "</span> field.<br><br>Your input was <span style='color:red;'>" + item_value.trim().length + "</span> characters in length ";
590			//$( "#dialog-message" ).dialog( "open" );
591			document.getElementById(item_id).focus();
592			document.getElementById(item_id).style.border="1px solid red";
593			bootbox.alert({
594					size:"550px",
595					message:"<span style='color:red;'>Length requirements not met.</span> <br><br>Text must be Minimum length <span style='color:red;'>" + min + "</span> characters and maximum length <span style='color:red;'>" + max + "</span> characters in the <span style='color:red;'>" + item_name + "</span> field.<br><br>Your input was <span style='color:red;'>" + item_value.trim().length + "</span> characters in length"
596					});
597			return false;
598		}
599		else			{
600			return true;
601		}
602	}
603	
604	function resetstyle()	{
605
606		var inputs = document.getElementsByTagName("*");
607 		for (var i=0; i < inputs.length; i++)	{
608			if (inputs[i].style.border == "1px solid red")	{
609 				inputs[i].style.border = "1px solid rgb(218, 218, 218)";
610			}
611		}
612		return true;
613	}
614	
615	
616
617
618	function dropdownvalid(item_id,item_name) { // return false if nothing selected (value = 0)
619                        
620        var e = document.getElementById(item_id);
621        var intval = e.options[e.selectedIndex].value;
622                                    
623            if (intval == 0 ) {
624			
625                bootbox.alert({
626					size:"550px",
627					message:"<span style='color:red;'>Correct value not selected.</span> <br><br>You must select a value in the <span style='color:red;'>" + item_name + "</span> drop-down selector."
628					});                    
629				//document.getElementById("errmsg").innerHTML="<span style='color:red;'>Correct value not selected.</span> <br><br>You must select a value in the <span style='color:red;'>" + item_name + "</span> drop-down selector.";
630				//$( "#dialog-message" ).dialog( "open" );
631				document.getElementById(item_id).focus();
632				document.getElementById(item_id).style.border="1px solid red";
633            return false;
634                        
635            }
636            else {
637            return true;
638             }
639            }
640
641
642	
643	
644</script>
644
645
646
647
648<article class="footer_hold_bot">
649<div class="container">
650<div class="row gap_top">
651<div class="footer_text">
652© Copyright Funaku South Africa | All Rights Reserved | 2026
653</div>
654<div class="copyright_logo">
655<a href="https://www.iisgroup.co.za" title="iisgroup for Funaku South Africa" target="_blank">
656<img src="https://www.iisgroup.co.za/images/iis_logo_small_new.gif" title="iisgroup for Funaku South Africa" alt="Business Solutions From Internet Technology" border="0" align="top"/>
657</a>
658</div>
659
660</div>
661</div>
662</article>
663</body>
664</html>
665

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.