Jump to content

Greywacke

Members
  • Posts

    510
  • Joined

  • Last visited

Everything posted by Greywacke

  1. hi there i have the following xml which needs parsing... <?xml version="1.0" encoding="utf-8"?><root> <lvdk akid="267" ak="Requirement" kw="0.075"> <lvdv avid="267" av="Purchasing a new phone system to save costs" vw="8.000"/> </lvdk> <lvdk akid="279" ak="Extentions" kw="0.250"> <lvdv avid="279" av="Less than 5" vw="0.200"/> <lvdv avid="280" av="5 to 10" vw="0.500"/> <lvdv avid="281" av="11 to 20" vw="1.000"/> </lvdk></root> then sofar i have the following piece of script which does the parsing once the xml is received: // load attribute keys & weighting / 1, containing attribute values & weighting / 10 var lvdk = xmldoc.getElementsByTagName("lvdk"); for (var k = 0; k < lvdk.length; k++) { var i = 0; var arr = new Array(); for (var v = 0; v < lvdk[k].attributes.length; v++) { arr[v] = lvdk[k].attributes[v].value; } for (var v = lvdk[k].attributes.length; v < lvdk[k].childNodes.length; v++) { var lvd = lvdk[k].childNodes[v]; arr[k][v] = new Array(); if (lvd.nodeName == "lvdv" && lvd.attributes) { for (var i = 0; i < lvd.attributes.length; i++) { arr[k][v][i] = lvd.attributes[i].value; } } } salert(arr); //getlvds(arr); } salert displays the array on my page, yet the array does not contain the rest of the <lvdv> tags and their properties from the xml, in a multidimentional array... it just populates with the attributes of <lvdk> can anybody see what is wrong with this block of code, and why it does not parse the rest of the xml document above? the array returned should look like follows: '0' => "267" '1' => "Requirement" '2' => "0.075" '3' .. '0' => "267" '1' => "Purchasing a new phone system to save costs" '2' => "8.000" and '0' => "279" '2' => "Extentions" '3' => "0.250" '3' .. '0' => "279" '1' => "Less than 5" '2' => "0.200" '4' .. '0' => "280" '1' => "5 to 10" '2' => "0.500" '5' .. '0' => "281" '1' => "11 to 20" '2' => "1.000" as there are two instances of the lvdk tag... somebody please help????
  2. unfortunately not that clear (submits and reloads the js error log once submitting to the new page and i can hardly read in a splitsecond what displays...) but think i am going to make the function temporarily return with false every time, just to see what is going on, on monday... thanks for the tip justsomeguy ^^ ps: will respond here with results
  3. hi there, the following validation function is no longer working - it is supposed to halt submission if any of the conditions met, evaluates to false. function validate(frm) { var selcfg = false; var selunq = false; var selnam = frm.text_formname.value; var selarr = new Array(frm.text_formurls.value.split("|")); var selurl = true; for (var i = 0; i < frm.list_copyfrom.options.length; i++) { if (frm.list_copyfrom.options[i].selected) { selcfg = true; break; } } for (var i = 0; i < frm.list_copyfrom.options.length; i++) { if (selnam.toLowerCase()==frm.list_copyfrom.options[i].text.toLowerCase()) { selunq = true; break; } } for (var i = 0; i < selarr.length; i++) { var urlregex = new RegExp("^(http://|https://){1}([0-9A-Za-z]+.)"); if (!urlregex.test(selarr[i])) { selurl = false; } } if (!selcfg) { alert("At least one form needs torbe selected to copy from."); frm.list_copyfrom.focus(); return false; } if (frm.menu_formservice.selectedIndex < 1) { alert("Please select a service forrthe new form configuration to use."); frm.menu_formservice.focus(); return false; } if (frm.text_formname.value.length < 5) { alert("Please enter a formnamerlonger than 4 chars in length."); frm.text_formname.focus(); return false; } if (selunq) { alert("Please enter a form name whichris unique regardless of casing."); frm.text_formname.focus(); return false; } if (frm.text_formurls.value=="") { alert("All url's specified need torbe valid, including protocol."); frm.text_formurls.focus(); return false; } if (!sellurl) { alert("All url's specified need torbe valid, including protocol."); frm.text_formurls.focus(); return false; } if (frm.menu_copyfrmcfg1.selectedIndex < 1) { alert("Please select a Form Configuration Dataset!"); frm.menu_copyfrmcfg1.focus(); return false; } if (frm.menu_copyfrmcfg2.selectedIndex < 1) { if (!confirm("Certain to populate Fields Requested manually?")) { frm.menu_copyfrmcfg2.focus(); return false; } } if (frm.menu_copyfrmcfg3.selectedIndex < 1) { if (!confirm("Certain to populate Field Translations manually?")) { frm.menu_copyfrmcfg3.focus(); return false; } } if (frm.menu_copyfrmcfg4.selectedIndex < 1) { if (!confirm("Certain to populate Form Extentions manually?")) { frm.menu_copyfrmcfg4.focus(); return false; } } if (frm.menu_copyfrmcfg5.selectedIndex < 1) { if (!confirm("Certain to populate Get Expected Values manually?")) { frm.menu_copyfrmcfg5.focus(); return false; } } return true;} however - it does not behave as expected. this "wizard" is on an htaccess protected .php page, the contents of which are as follows. <?phpinclude("includes/content/performatix.php");$echo = "";if (isset($_POST["list_copyfrom"]) && isset($_POST["menu_formservice"]) && isset($_POST["text_formname"])) { // request copy headers $copyfrom = $_POST["list_copyfrom"]; $formservice = $_POST["menu_formservice"]; $formname = $_POST["text_formname"]; $formurls = $_POST["text_formurls"]; $formid = 0; // request copy subsets $copyfrmcfg = array(6); $copyfrmcfg[1] = intval($_POST["menu_copyfrmcfg1"]); $copyfrmcfg[2] = intval($_POST["menu_copyfrmcfg2"]); $copyfrmcfg[3] = intval($_POST["menu_copyfrmcfg3"]); $copyfrmcfg[4] = intval($_POST["menu_copyfrmcfg4"]); $copyfrmcfg[5] = intval($_POST["menu_copyfrmcfg5"]); // process copy subsets if ($copyfrmcfg[1]>0) { // Copy Form Configuration Datasets (Creates $formid required in fieldsets below) $tsql2 = "INSERT INTO 32_webformconfigs (bigint_FormService, tinyint_FormDefault, text_FormName, text_FormWebLocation, text_FormLogo, text_WebFormTAFUrl, text_WebFormTAFImage, text_FormMailerFromName, text_FormMailerFromAddress, text_FormHandlerInclude, text_Redirect, tinyint_GetMethod, text_LoadingAnimation, text_ElementPrefix, text_ElementSuffix) SELECT ".$formservice." AS bigint_FormService, tinyint_FormDefault, "".mysql_real_escape_string($formname)."" AS text_FormName, text_FormWebLocation, text_FormLogo, text_WebFormTAFUrl, text_WebFormTAFImage, text_FormMailerFromName, text_FormMailerFromAddress, text_FormHandlerInclude, text_Redirect, tinyint_GetMethod, text_LoadingAnimation, text_ElementPrefix, text_ElementSuffix FROM 32_webformconfigs WHERE bigint_FormID = ".$copyfrmcfg[1].";"; $result2 = mysql_query_errors($tsql2, $conn, __FILE__, __LINE__); $formid = mysql_insert_id($conn); } if ($copyfrmcfg[2]>0 && $formid > 0) { // Copy Fields Requested (Fields Requested, requires formid from first fieldset) $tsql3 = "INSERT INTO 33_webformdetails (bigint_FormID, text_DetailDescription, text_DetailValue) SELECT ".$formid." AS bigint_FormID, text_DetailDescription, text_DetailValue FROM 33_webformdetails WHERE bigint_FormID = ".$copyfrmcfg[2]." AND text_DetailDescription = "FIELD";"; $result3 = mysql_query_errors($tsql3, $conn, __FILE__, __LINE__); } elseif ($copyfrmcfg[3]>0 && $formid > 0) { // Copy Field Translations (Field Translation, requires formid from first fieldset) $tsql4 = "INSERT INTO 33_webformdetails (bigint_FormID, text_DetailDescription, text_DetailValue) SELECT ".$formid." AS bigint_FormID, text_DetailDescription, text_DetailValue FROM 33_webformdetails WHERE bigint_FormID = ".$copyfrmcfg[2]." AND text_DetailDescription = "TRANS";"; $result4 = mysql_query_errors($tsql4, $conn, __FILE__, __LINE__); } elseif ($copyfrmcfg[4]>0 && $formid > 0) { // Copy Form Extentions (vTiger/Leads360 Population, requires formid from first fieldset) $tsql5 = "INSERT INTO 33_webformdetails (bigint_FormID, text_DetailDescription, text_DetailValue) SELECT ".$formid." AS bigint_FormID, text_DetailDescription, text_DetailValue FROM 33_webformdetails WHERE bigint_FormID = ".$copyfrmcfg[2]." AND (text_DetailDescription = "VTIGR OR text_DetailDescription = "L360F");"; $result5 = mysql_query_errors($tsql5, $conn, __FILE__, __LINE__); } elseif ($copyfrmcfg[5]>0 && $formid > 0) { // Copy Get Expected Date (Variable Name & Variable Values & Offsets, requires formid from first fieldset) $tsql6 = "INSERT INTO 33_webformdetails (bigint_FormID, text_DetailDescription, text_DetailValue) SELECT ".$formid." AS bigint_FormID, text_DetailDescription, text_DetailValue FROM 33_webformdetails WHERE bigint_FormID = ".$copyfrmcfg[2]." AND (text_DetailDescription = "GEDAT OR text_DetailDescription = "GEDVO");"; $result6 = mysql_query_errors($tsql6, $conn, __FILE__, __LINE__); } // if errors print them in formatted text if (count($GLOBALS["sql"])) { $echo = "<pre>".print_r($GLOBALS["sql"],true)."</pre>"; } else { header('Location: http://www.performatix.co/production/1000.php'); }}?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Form Config Wizard</title><script language="javascript"><!--// above function goes herefunction loadformconfigs(frm) { var opt = new Array(); var sel = frm["list_copyfrom"]; frm.menu_copyfrmcfg1.options.length = 1; frm.menu_copyfrmcfg2.options.length = 1; frm.menu_copyfrmcfg3.options.length = 1; frm.menu_copyfrmcfg4.options.length = 1; frm.menu_copyfrmcfg5.options.length = 1; for (var i = 0; i < sel.options.length; i++) { opt[i] = new Array(); for (var o = 1; o <= 5; o++) { opt[i][o] = document.createElement("option"); if (sel.options[i].selected) { var to = frm["menu_copyfrmcfg"+o]; //alert(to.name); opt[i][o] = document.createElement("option"); opt[i][o].text = sel.options[i].text; opt[i][o].value = sel.options[i].value; opt[i][o].selected = false; try { to.add(opt[i][o], null); // standards compliant; doesn't work in IE } catch (ex) { to.add(opt[i][o]); // IE only } } } }}//--!></script></head><body><?php echo $echo; ?><form action="" method="post" enctype="multipart/form-data" name="frmwiz" onsubmit="return validate(this);"><fieldset><legend><strong>Required Form Configuration Values</strong></legend><?php$tsql0 = "SELECT * FROM 32_webformconfigs WFC ORDER BY WFC.bigint_FormService, WFC.bigint_FormID;";$result0 = mysql_query_errors($tsql0, $conn, __FILE__, __LINE__);?><label for="list_copyfrom"><strong>Copy From: </strong> <select name="list_copyfrom" id="list_copyfrom" multiple="multiple" size="10" style="width: 256px;" onmouseup="return loadformconfigs(this.form);"><?phpif ($result0) { while ($row = mysql_fetch_assoc($result0)) { echo "<option value="".$row["bigint_FormID"]."">".$row["text_FormName"].(($row["tinyint_FormDefault"]==1)?" (Default)":"")."</option>rn"; } mysql_free_result($result0);}?></select></label><br /><br/><?php$tsql1 = "SELECT * FROM 2_servicescatalogue SC ORDER BY SC.bigint_ServiceID ASC;";$result1 = mysql_query_errors($tsql1, $conn, __FILE__, __LINE__);?><label for="menu_formservice"><strong>For Service: </strong> <select name="menu_formservice" id="menu_formservice" size="1" style="width: 256px;"><option value=""></option><?phpif ($result0) { while ($row = mysql_fetch_assoc($result1)) { echo "<option value="".$row["bigint_ServiceID"]."">".$row["text_ServiceDescription"]."</option>rn"; } mysql_free_result($result0);}?></select></label><br/><br/><label for="text_formname"><strong>For Form Name: </strong> <input name="text_formname" id="text_formname" type="text" value="" style="width: 256px;" /></label><br/><br/><label for="text_formurls"><strong>From URL's ( | delimited): </strong> <input name="text_formurls" id="text_formurls" type="text" value="" style="width: 256px;" /></label></fieldset> <br/><fieldset><legend><strong>Form Configuration Datasets</strong> (Creates <em>$formid</em> required in fieldsets below):</legend><label for="menu_copyfrmcfg1">Base Upon: <select name="menu_copyfrmcfg1" id="menu_copyfrmcfg1" size="1" style="width: 256px; height: 18px;"><option value="0"><-- MANUAL POPULATION --></option></select></label></fieldset> <br/><fieldset><legend><strong>Fields Requested</strong> (Requires <em>$formid</em> from <b>Form Configuration Datasets</b>):</legend><label for="menu_copyfrmcfg2">Base Upon: <select name="menu_copyfrmcfg2" id="menu_copyfrmcfg2" size="1" style="width: 256px; height: 18px;"><option value="0"><-- MANUAL POPULATION --></option></select></label></fieldset> <br/><fieldset><legend><strong>Field Translations</strong> (Requires <em>$formid</em> from <b>Form Configuration Datasets</b>):</legend><label for="menu_copyfrmcfg3">Base Upon: <select name="menu_copyfrmcfg3" id="menu_copyfrmcfg3" size="1" style="width: 256px; height: 18px;"><option value="0"><-- MANUAL POPULATION --></option></select></label></fieldset> <br/><fieldset><legend><strong>Form Extentions</strong> (Requires <em>$formid</em> from <b>Form Configuration Datasets</b>):</legend><label for="menu_copyfrmcfg4">Base Upon: <select name="menu_copyfrmcfg4" id="menu_copyfrmcfg4" size="1" style="width: 256px; height: 18px;"><option value="0"><-- MANUAL POPULATION --></option></select></label></fieldset> <br/><fieldset><legend><strong>Get Expected Values</strong> (Requires <em>$formid</em> from <b>Form Configuration Datasets</b>):</legend><label for="menu_copyfrmcfg">Base Upon: <select name="menu_copyfrmcfg5" id="menu_copyfrmcfg5" size="1" style="width: 256px; height: 18px;"><option value="0"><-- MANUAL POPULATION --></option></select></label></fieldset> <br/><input name="btn_submit" type="submit" value="Submit" /><input name="btn_reset" type="reset" value="Reset" /></form></body></html> i cannot see how or why the function has stopped working and as result not halting the form submission on error detection anymore. sincerely, Pierre du Toit. 1000.php
  4. ah i discovered the issue it was in the outer SUBSTRING_INDEX when text_EnquiryRequirement is selected - there is no comma before the delimiter of ' = '! the code has been updated as follows - and now works perfectly! SELECT IFNULL(S.text_OnePageData, ";;") AS text_OnePageData, PFX2.text_OnePageID AS text_ContactID, (PFX1.bigint_LeadID + 11001000) AS bigint_EnquiryID, PFX0.text_ConsumerName AS text_EnquiryFullName, PFX2.text_Duplicates AS text_EnquiryDuplicates, PFX0.text_ConsumerCity AS text_EnquiryCityTown, R.text_RegionDescription AS text_EnquiryRegion, PFX0.text_ConsumerCity AS text_EnquiryZip, CONCAT_WS( ' ', SUBSTRING_INDEX(SUBSTRING_INDEX(PFX1.text_LeadAttributes,'<br />',1),' = ',-1), SUBSTRING_INDEX(SUBSTRING_INDEX(PFX1.text_LeadAttributes,'<br />',2),' = ',-1) ) AS text_EnquiryMakeModel, SUBSTRING_INDEX(SUBSTRING_INDEX(PFX1.text_LeadAttributes,'<br />',3),' = ',-1) AS text_EnquiryYear, SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(PFX1.text_LeadAttributes,'<br />',-5),'<br />',1),' = ',-1) AS text_EnquiryRequirement, SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(PFX1.text_LeadAttributes,'<br />',-8),'<br />',1),' = ',-1) AS text_EnquiryBudget, SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(PFX1.text_LeadAttributes,'<br />',-7),'<br />',1),' = ',-1) AS text_EnquiryFitment, IF( SUBSTRING_INDEX(SUBSTRING_INDEX(PFX1.text_LeadAttributes,'<br />',4),' = ',1)="Accessories", SUBSTRING_INDEX(SUBSTRING_INDEX(PFX1.text_LeadAttributes,'<br />',4),' = ',-1), "" ) AS text_EnquiryAccessories, PFX1.text_LeadMessage AS text_EnquiryComments, PFX0.text_ConsumerPhone AS text_EnquiryPhone, PFX0.`text_ConsumerE-Mail` AS text_EnquiryEmail, PFX1.timestamp_ExpectedBy AS text_EnquiryExpectedFitmentBy FROM performatix.5_suppliers S LEFT JOIN performatix.19_consumers PFX0 ON (PFX0.`text_ConsumerE-Mail` = "jaap@performatix.net") LEFT JOIN performatix.25_serviceleads PFX1 ON (PFX0.bigint_ConsumerID = PFX1.bigint_ConsumerID) LEFT JOIN 27_leadssent PFX2 ON (PFX1.bigint_LeadID = PFX2.bigint_LeadID AND PFX2.bigint_SupplierID = S.bigint_SupplierID) LEFT JOIN 1_regions R ON (PFX0.bigint_ConsumerRegion = R.bigint_RegionID) WHERE S.bigint_SupplierID = 192 ORDER BY bigint_EnquiryID DESC LIMIT 1; cheers!
  5. hi all, i am attempting to debug the following query, but there is little success. the substring_indexes are set so, due to only one substring that is not always there (accessories). however, i cannot see a substring_index with an invalid parameter count, as this error specifies... SELECT IFNULL(S.text_OnePageData, ";;") AS text_OnePageData, PFX2.text_OnePageID AS text_ContactID, (PFX1.bigint_LeadID + 11001000) AS bigint_EnquiryID, PFX0.text_ConsumerName AS text_EnquiryFullName, PFX2.text_Duplicates AS text_EnquiryDuplicates, PFX0.text_ConsumerCity AS text_EnquiryCityTown, R.text_RegionDescription AS text_EnquiryRegion, PFX0.text_ConsumerCity AS text_EnquiryZip, CONCAT_WS( ' ', SUBSTRING_INDEX(SUBSTRING_INDEX(PFX1.text_LeadAttributes,'<br />',1),' = ',-1), SUBSTRING_INDEX(SUBSTRING_INDEX(PFX1.text_LeadAttributes,'<br />',2),' = ',-1) ) AS text_EnquiryMakeModel, SUBSTRING_INDEX(SUBSTRING_INDEX(PFX1.text_LeadAttributes,'<br />',3),' = ',-1) AS text_EnquiryYear, SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(PFX1.text_LeadAttributes,'<br />',-6),'<br />',1)' = ',-1) AS text_EnquiryRequirement, SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(PFX1.text_LeadAttributes,'<br />',-9),'<br />',1),' = ',-1) AS text_EnquiryBudget, SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(PFX1.text_LeadAttributes,'<br />',-8),'<br />',1),' = ',-1) AS text_EnquiryFitment, IF( SUBSTRING_INDEX(SUBSTRING_INDEX(PFX1.text_LeadAttributes,'<br />',4),' = ',1)="Accessories", SUBSTRING_INDEX(SUBSTRING_INDEX(PFX1.text_LeadAttributes,'<br />',4),' = ',-1), "" ) AS text_EnquiryAccessories, PFX1.text_LeadMessage AS text_EnquiryComments, PFX0.text_ConsumerPhone AS text_EnquiryPhone, PFX0.`text_ConsumerE-Mail` AS text_EnquiryEmail, PFX1.timestamp_ExpectedBy AS text_EnquiryExpectedFitmentBy FROM performatix.5_suppliers S LEFT JOIN performatix.19_consumers PFX0 ON (PFX0.`text_ConsumerE-Mail` = "jaap@performatix.net") LEFT JOIN performatix.25_serviceleads PFX1 ON (PFX0.bigint_ConsumerID = PFX1.bigint_ConsumerID) LEFT JOIN 27_leadssent PFX2 ON (PFX1.bigint_LeadID = PFX2.bigint_LeadID AND PFX2.bigint_SupplierID = S.bigint_SupplierID) LEFT JOIN 1_regions R ON (PFX0.bigint_ConsumerRegion = R.bigint_RegionID) WHERE S.bigint_SupplierID = 192 ORDER BY bigint_EnquiryID DESC LIMIT 1; if somebody can see what is causing this error #1582 - please let me know on which line it is! sincerely, Pierre du Toit.
  6. ok - success at last! seeing as jquery is not compliant with the version of joomgallery used, it had to be done in a cross-browser compliant, oldschool flavour, javascript. <script language="javascript"><!--window.onload = function(){ // add to onload of document var q = "option=com_joomgallery&view=category&catid=3&Itemid=3"; // the querystring to check for if (location.search.indexOf(q)>=0) { // if querystring matches eg. valid page var clicky = document.createEvent("HTMLEvents"); // create event object clicky var targetElement = document.getElementsByClassName('jg_catelem_photo'); // get target element clicky.initEvent("click", true, true); // initiate event targetElement[0].dispatchEvent(clicky); // dispatch event targetElement[0].click(); // trigger click on link }};//--></script> this script, which is located in the body element after the elements to click have loaded, works in the following browsers: CHROME 23.0.1271.97 mFIREFOX 17.0.1SAFARI 5.1.7INTERNET EXPLORER 9.0.8112.16421 (64-bit)OPERA 12.11 if one is encountered where it does not work - please let me know, in this thread (at least it has been updated to work accross all 5 major browsers update versions and tested - with only ie9 being the exception)
  7. ok, after a quick google - i have come up with the following solution found at http://stackoverflow...it-were-clicked <script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> <script language="javascript"> <!-- var q = "option=com_joomgallery&view=category&catid=3&Itemid=3"; // the querystring to check for $(document).ready(function(){ // perform onload of document if (location.search.indexOf(q)>=0) { // if querystring matches eg. valid page $("a.jg_catelem_photo[rel='lightbox[joomgallery];']").trigger('click'); // trigger jquery click on link } }); //--> </script> lets see if this works, i'll report back as soon as i know edit: unfortunately it does not, what am i doing wrong? 0o
  8. hi there again... battling a bit with this issue, the category "contact us" from the joomgallery in the following joomla page loads:http://www.gamersedg...atid=3&Itemid=3but i am however, trying to make the single image in the category, automatically clicked on page load. i know triggering this is possible with jquery - but here follows my attempt after the page is loaded: <script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> <script language="javascript"> <!-- var q = "option=com_joomgallery&view=category&catid=3&Itemid=3"; // the querystring to check for $(document).ready(function(){ // perform onload of document if (location.search.indexOf(q)>=0) { // if querystring matches eg. valid page $(".jg_catelem_photo").trigger('click'); // trigger jquery click on link } }); //--> </script> however, it instead breaks all the loading into lightbox as would happen if a thumbnail is clicked. i need to trigger this click onload, as if the user did it - eg that the image loads within the lightbox as currently happens when you go to the url and click on the thumbnail.... how would i emulate a click, but pass the rel="lightbox[joomgallery];" attribute of the link? 0o any help - asap, would be appreciated... thanks in advance,Pierre "Greywacke" du Toit
×
×
  • Create New...