var green_img = new Image(); var singleMenuonImg = new Image(); var singleMenuoffImg = new Image(); var spacer_img = new Image(); var navi_image = new Image(); var navi_image2 = new Image(); var BorderSepImage = new Image(); var loginOpen = false; singleMenuonImg.src = "../images/menusingle_on.jpg"; singleMenuoffImg.src = "../images/menusingle_off.jpg"; green_img.src = "../images/menu_strip.gif"; spacer_img.src = "../images/spacer.gif"; navi_image.src = "../images/lnavi_sub_on.gif"; navi_image2.src = "../images/lnavi_on.gif"; BorderSepImage.src = "../images/border_sep.jpg"; //change the background image function changeBg(elm){ elm.style.backgroundImage = "url(" + singleMenuonImg.src + ")"; } //change the background image function changeBgBack(elm){ elm.style.backgroundImage = "url(" + singleMenuoffImg.src + ")"; } function fixLooks() { var fldEle = document.getElementsByTagName('input'); if(fldEle){ for(i=0;i"); if (number - 0 != number) return null; // if number is NaN return null var useSeparator = format.indexOf(separator) != -1; // use separators in number var usePercent = format.indexOf(percent) != -1; // convert output to percentage var useCurrency = format.indexOf(currency) != -1; // use currency format var isNegative = (number < 0); number = Math.abs (number); if (usePercent) number *= 100; format = strip(format, separator + percent + currency); // remove key characters number = "" + number; // convert number input to string // split input value into LHS and RHS using decpoint as divider var dec = number.indexOf(decpoint) != -1; var nleftEnd = (dec) ? number.substring(0, number.indexOf(".")) : number; var nrightEnd = (dec) ? number.substring(number.indexOf(".") + 1) : ""; // split format string into LHS and RHS using decpoint as divider dec = format.indexOf(decpoint) != -1; var sleftEnd = (dec) ? format.substring(0, format.indexOf(".")) : format; var srightEnd = (dec) ? format.substring(format.indexOf(".") + 1) : ""; // adjust decimal places by cropping or adding zeros to LHS of number if (srightEnd.length < nrightEnd.length) { var nextChar = nrightEnd.charAt(srightEnd.length) - 0; nrightEnd = nrightEnd.substring(0, srightEnd.length); if (nextChar >= 5) nrightEnd = "" + ((nrightEnd - 0) + 1); // round up // patch provided by Patti Marcoux 1999/08/06 while (srightEnd.length > nrightEnd.length) { nrightEnd = "0" + nrightEnd; } if (srightEnd.length < nrightEnd.length) { nrightEnd = nrightEnd.substring(1); nleftEnd = (nleftEnd - 0) + 1; } } else { for (var i=nrightEnd.length; srightEnd.length > nrightEnd.length; i++) { if (srightEnd.charAt(i) == "0") nrightEnd += "0"; // append zero to RHS of number else break; } } // adjust leading zeros sleftEnd = strip(sleftEnd, "#"); // remove hashes from LHS of format while (sleftEnd.length > nleftEnd.length) { nleftEnd = "0" + nleftEnd; // prepend zero to LHS of number } if (useSeparator) nleftEnd = separate(nleftEnd, separator); // add separator var output = nleftEnd + ((nrightEnd != "") ? "." + nrightEnd : ""); // combine parts output = ((useCurrency) ? currency : "") + output + ((usePercent) ? percent : ""); if (isNegative) { // patch suggested by Tom Denn 25/4/2001 output = (useCurrency) ? "(" + output + ")" : "-" + output; } return output; } function strip(input, chars) { // strip all characters in 'chars' from input var output = ""; // initialise output string for (var i=0; i < input.length; i++) if (chars.indexOf(input.charAt(i)) == -1) output += input.charAt(i); return output; } function separate(input, separator) { // format input using 'separator' to mark 000's input = "" + input; var output = ""; // initialise output string for (var i=0; i < input.length; i++) { if (i != 0 && (input.length - i) % 3 == 0) output += separator; output += input.charAt(i); } return output; } function number_format(p,d) { var r; if(p<0){p=-p;r=format_number2(p,d);r="-"+r;} else {r=format_number2(p,d);} return r; } function format_number2(pnumber,decimals) { var strNumber = new String(pnumber); var arrParts = strNumber.split('.'); var intWholePart = parseInt(arrParts[0],10); var strResult = ''; if (isNaN(intWholePart)) intWholePart = '0'; if(arrParts.length > 1) { var decDecimalPart = new String(arrParts[1]); var i = 0; var intZeroCount = 0; while ( i < String(arrParts[1]).length ) { if( parseInt(String(arrParts[1]).charAt(i),10) == 0 ) { intZeroCount += 1; i += 1; } else break; } decDecimalPart = parseInt(decDecimalPart,10)/Math.pow(10,parseInt(decDecimalPart.length-decimals-1)); Math.round(decDecimalPart); decDecimalPart = parseInt(decDecimalPart)/10; decDecimalPart = Math.round(decDecimalPart); //If the number was rounded up from 9 to 10, and it was for 1 'decimal' //then we need to add 1 to the 'intWholePart' and set the decDecimalPart to 0. if(decDecimalPart==Math.pow(10, parseInt(decimals))) { intWholePart+=1; decDecimalPart="0"; } var stringOfZeros = new String(''); i=0; if( decDecimalPart > 0 ) { while( i < intZeroCount) { stringOfZeros += '0'; i += 1; } } decDecimalPart = String(intWholePart) + "." + stringOfZeros + String(decDecimalPart); var dot = decDecimalPart.indexOf('.'); if(dot == -1) { decDecimalPart += '.'; dot = decDecimalPart.indexOf('.'); } var l=parseInt(dot)+parseInt(decimals); while(decDecimalPart.length <= l) { decDecimalPart += '0'; } strResult = decDecimalPart; } else { var dot; var decDecimalPart = new String(intWholePart); decDecimalPart += '.'; dot = decDecimalPart.indexOf('.'); var l=parseInt(dot)+parseInt(decimals); while(decDecimalPart.length <= l) { decDecimalPart += '0'; } strResult = decDecimalPart; } return strResult; } function fn_show_textbox(selected_val) { if(selected_val != 3){ //other document.getElementById('other_data_tag').style.visibility = 'hidden'; document.getElementById('other_data_tag').style.display = 'none'; }else{ document.getElementById('other_data_tag').style.visibility = 'visible'; document.getElementById('other_data_tag').style.display = 'block'; } } function showhideSubImg(objImg, imgShow) { if (imgShow==1) { document.getElementById(objImg).style.visibility = 'visible'; }else{ document.getElementById(objImg).style.visibility = 'hidden'; } } //CODE TO SHOW THE POPUP WINDOW function fn_OpenWin (val, act, popWidth, popHeight) { if (val>0) { window.open('/index/popup_info.php?action=' + act + '&id=' + val, '_blank', 'width=' + popWidth + ', height=' + popHeight + ', scrollbars=1'); } } var phone_field_length=0; function TabNext(obj,event,len,next_field) { if (event == "down") { phone_field_length=obj.value.length; }else if (event == "up") { if (obj.value.length != phone_field_length) { phone_field_length=obj.value.length; if (phone_field_length == len) { next_field.focus(); } } } } function validate_checked(){ frmObj = document.forms['formSelect']; for(i=0;i= 0) && (chkDot >= 0) && (chkHack == -1) && (chkHackA == -1) ) { return true; } return false; } function fill_econtacts(obj){ if(obj.value == '--select buddi--'){ var elmChk = document.getElementsByTagName("input"); for(i=0;i=0) { // this cannot be moved }else{ var tmpId = obj.id.split("_"); // get how many are ticked var elmChk = document.getElementsByTagName("input"); for(xI=0, xY=-1; xI=0)) { tblObj.insertBefore(curNode, tblObj.childNodes[xZ]); saveAllContacts(); } }else{ //check if the row index is less than those ticked then only can you move on top xZ++; if ((xZ <= xY) && (xZ<=tblObj.childNodes.length)) { tblObj.insertBefore(tblObj.childNodes[xZ], curNode); saveAllContacts(); } } } } function saveAllContacts(obj) { var chkVal = ""; var elmChk = document.getElementsByTagName("input"); var selObj = document.getElementById('buddi_id'); var wearId = 0; for(i=0, j=0;i0 && wearId>0) { showLoader(); var ajaxVar = new ajaxVars(); ajaxVar.vars['func'] = "updateWearerContactsOrder"; ajaxVar.vars['contact_id'] = chkVal; ajaxVar.vars['wId'] = wearId; ajaxVar.fnVars['chkBox'] = obj; ajaxVar.vars['action'] = 'runFunction'; ajaxVar.gotoFunction = "hideLoader"; ajaxVar.AjaxPostSQL(); } } function chLoginBoxStyle(inputObj) { if (inputObj.value == 'email address') { inputObj.style.color = '#777'; inputObj.value = ''; }else if (inputObj.id.indexOf('Mock')>=0) { inputObj.value = ''; var passId = inputObj.id.replace('Mock',''); var passObj= inputObj.cloneNode(true); if (inputObj.onkeydown) passObj.onkeydown = inputObj.onkeydown; passObj.id = passId; passObj.type='password'; inputObj.parentNode.replaceChild(passObj,inputObj); passObj.style.color = '#777' passObj.focus(); passObj.focus(); } } function openLogin(){ if (loginOpen == true) { if (document.frmLog.redirL.value==1) { displayStatFieldErr('frmLog', 'emailL', 'Please login to do a find.', '11', ''); }else{ displayStatFieldErr('frmLog', 'emailL', '', '11', ''); } }else{ location.href = '#login'; var slideJs = new sliderJs; slideJs.divId = 'loginId'; slideJs.moveDirection = 1; slideJs.initSlider(); loginOpen = true; } } function validateLoginBox(){ if (document.frmLog.passwordL.id.indexOf('Mock')>=0) document.frmLog.passwordL.value=''; var objFrm = new validate(); objFrm.formName = 'frmLog'; objFrm.alertType = 0; objFrm.errorType = '1'; objFrm.mandCaptions = new Array('Email address','Password'); objFrm.mandFields = new Array('emailL','passwordL'); objFrm.mandFunc = new Array('validateEmailAddr1', ''); objFrm.emailL = new Array("","Enter a valid email address"); objFrm.passwordL = new Array("Password cannot be left blank"); if (objFrm.validateForm()) { checkLogin(0); } return false; } function validateEmailAddr1() { var emailAddr = document.frmLog.emailL.value; return validateEmail(emailAddr); } function checkLogin(demo) { var frmObj = document.frmLog; if (demo==2) { }else{ showhide(1,'mLoginDiv'); } var ajaxVar = new ajaxVars(); ajaxVar.fnVars['demo'] = demo; ajaxVar.vars['email'] = (demo>0) ? "demo@buddi.co.uk" : frmObj.emailL.value; ajaxVar.vars['password'] = (demo>0) ? "demo123" :frmObj.passwordL.value; ajaxVar.vars['action'] = ''; ajaxVar.gotoFunction = "loginUser"; ajaxVar.phpFile = "/ax/memAuth.php"; ajaxVar.AjaxPostSQL(); return false; } function loginUser(dataArr, fnVars) { if (dataArr.length>0) { var xData = dataArr.split("#X#"); if (xData[0]=='ERROR') { if(xData[2].indexOf("suspended")>=0){ displayStatFieldErr('frmLog', 'emailL', xData[2], '11', ''); }else{ displayStatFieldErr('frmLog', 'emailL', 'Email/Password invalid', '11', ''); } showhide(0,'mLoginDiv'); }else{ if (document.frmLog.redirL.value==1 || fnVars['demo']>0) { document.location.href = 'https://www.buddi.co.uk/index/find.php'; }else{ document.location.href = 'https://www.buddi.co.uk/index/login.php?xxoo=1268284228'; } } }else{ showhide(0,'mLoginDiv'); } } function showMap(point){ mapCont = document.getElementById('popupBox'); mapCont.className = 'showBox popBox'; generate_map(point); } function hideMap(){ mapCont = document.getElementById('popupBox'); mapCont.className = 'hideBox'; } function generate_map(point){ mymap = new map(); mymap.divId = 'mapDiv'; mymap.mapWidth = '600'; mymap.mapHeight = '400'; mymap.enableMarker = true; mymap.dragMarker = false; mymap.fence = false; mymap.saveToDB = false; mymap.tableName = 'tblGeo'; mymap.org_id = 1; mymap.loadFence = false; mymap.centerPoint = point; mymap.printMap(); } //used in setAlert function IsNumeric(sText) { var ValidChars = "0123456789."; var IsNumber=true; var Char; for (i = 0; i < sText.length && IsNumber == true; i++) { Char = sText.charAt(i); if (ValidChars.indexOf(Char) == -1) { IsNumber = false; } } return IsNumber; } function checkbuddiPostCode (toCheck) { // Permitted letters depend upon their position in the postcode. var alpha1 = "[abcdefghijklmnoprstuwyz]"; // Character 1 var alpha2 = "[abcdefghklmnopqrstuvwxy]"; // Character 2 var alpha3 = "[abcdefghjkstuw]"; // Character 3 var alpha4 = "[abehmnprvwxy]"; // Character 4 var alpha5 = "[abdefghjlnpqrstuwxyz]"; // Character 5 // Array holds the regular expressions for the valid postcodes var pcexp = new Array (); // Expression for postcodes: AN NAA, ANN NAA, AAN NAA, and AANN NAA pcexp.push (new RegExp ("^(" + alpha1 + "{1}" + alpha2 + "?[0-9]{1,2})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i")); // Expression for postcodes: ANA NAA pcexp.push (new RegExp ("^(" + alpha1 + "{1}[0-9]{1}" + alpha3 + "{1})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i")); // Expression for postcodes: AANA NAA pcexp.push (new RegExp ("^(" + alpha1 + "{1}" + alpha2 + "?[0-9]{1}" + alpha4 +"{1})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i")); // Exception for the special postcode GIR 0AA pcexp.push (/^(GIR)(\s*)(0AA)$/i); // Standard BFPO numbers pcexp.push (/^(bfpo)(\s*)([0-9]{1,4})$/i); // c/o BFPO numbers pcexp.push (/^(bfpo)(\s*)(c\/o\s*[0-9]{1,3})$/i); // Overseas Territories pcexp.push (/^([A-Z]{4})(\s*)(1ZZ)$/i); // Load up the string to check var postCode = toCheck; // Assume we're not going to find a valid postcode var valid = false; // Check the string against the types of post codes for ( var i=0; i