/** VERSION 1.36 **/
/** INCLUDE jquery.neto.addressbook.js **/ /* ADDRESS BOOK */ (function($) { $.extend({ add_addressbook_entry: function() { var fn = 'addressbook'; var errors = ''; var addrid = $('#addr_id').val(); var shiptitle = $('#ship_title').val(); var firstname = $('#ship_first_name').val(); var lastname = $('#ship_last_name').val(); var company = $('#ship_company').val(); var street1 = $('#ship_street1').val(); var street2 = $('#ship_street2').val(); var zip = $('#ship_zip').val(); var city = $('#ship_city').val(); var state = $('#ship_state').val(); var country = $('#ship_country').val(); var phone = $('#ship_phone').val(); if (isEmpty(shiptitle)) { errors += 'Title is required<br />' }; if (isEmpty(firstname)) { errors += 'First Name is required<br />' }; if (isEmpty(lastname)) { errors += 'Last Name is required<br />' }; if (isEmpty(street1) && isEmpty(street2)) { errors += 'Street Address is required<br />' }; if (isEmpty(zip)) { errors += 'Post Code is required<br />' }; if (isEmpty(city)) { errors += 'City is required<br />' }; if (isEmpty(state)) { errors += 'State is required<br />' }; if (isEmpty(country)) { errors += 'Country is required<br />' }; if (isEmpty(phone)) { errors += 'Phone number is required<br />' }; if (!isEmpty(errors)) { errors = "<center><b>ERRORS DETECTED</b></center><br /><br />" + errors; $.fancybox(errors); setTimeout("$.fancybox.close()", 5000); } else { $.do_ajax( fn, {'proc':'Add','ship_first_name':firstname,'ship_last_name':lastname, 'ship_company':company, 'ship_street1':street1, 'ship_street2': street2, 'ship_zip':zip, 'ship_state':state, 'ship_country':country, 'ship_city':city, 'ship_phone':phone, 'addid':addrid, 'ship_title':shiptitle}, true, { 'SUCCESS': { 'def' : { }, 'fn' : function (code, data) { if (data['addentry'] == 'y') { $('select[id^="addr_id"]').append("<option value=\""+data['addressbook_id']+"\">"+shiptitle+" ("+zip+")</option>"); $.fancybox("Address added successfully"); setTimeout("$.fancybox.close()", 2000); } } }, 'FAIL': { 'def' : { 'msg': '' }, 'fn' : function (code, data) { if( param['msg'][data['msg']] ) { var msg = $.parse_ntemplate(param['msg'][data['msg']], data); } } }, 'ERROR' : { 'def' : { 'response': '' }, 'fn' : function (code, data) {  if(param['debug']){ alert(data['response']); } } } }); } }, del_addressbook_entry: function() { var fn = 'addressbook'; var addrid = $('#addr_id').val(); $.do_ajax( fn, {'proc':'delete','addid':addrid}, true, { 'SUCCESS': { 'def' : { }, 'fn' : function (code, data) { $('select[id^="addr_id"] :selected').remove(); $('#ship_title').val(''); $('#ship_first_name').val(''); $('#ship_last_name').val(''); $('#ship_company').val(''); $('#ship_street1').val(''); $('#ship_street2').val(''); $('#ship_zip').val(''); $('#ship_city').val(''); $('#ship_state').val(''); $('#ship_country').val(''); $('#ship_phone').val(''); $('#addr_id').val(''); $('#suburb_diship').css("display", "none"); $('#suburb_mgship').css("display", "inline"); $('#suburb_mgship').html('<i>Please enter your city and state below.<\/i>'); $('#delete_button').attr("disabled", true); $.fancybox("Address removed successfully"); setTimeout("$.fancybox.close()", 2000); } }, 'FAIL': { 'def' : { 'msg': '' }, 'fn' : function (code, data) { if( param['msg'][data['msg']] ) { var msg = $.parse_ntemplate(param['msg'][data['msg']], data); } } }, 'ERROR' : { 'def' : { 'response': '' }, 'fn' : function (code, data) {  if(param['debug']){ alert(data['response']); } } } }); }, addressbook_select: function() { var fn = 'addressbook'; $('select[id^="addr_id"]').change(function() { var addid = $(this).val(); if (addid == 'n') { $('#ship_title').val(''); $('#ship_first_name').val(''); $('#ship_last_name').val(''); $('#ship_company').val(''); $('#ship_street1').val(''); $('#ship_street2').val(''); $('#ship_zip').val(''); $('#ship_city').val(''); $('#ship_state').val(''); $('#ship_country').val(''); $('#ship_phone').val(''); $('#addr_id').val(''); $('#suburb_diship').css("display", "none"); $('#suburb_mgship').css("display", "inline"); $('#suburb_mgship').html('<i>Please enter your city and state below.<\/i>'); $('#delete_button').attr("disabled", true); } else { $.do_ajax( fn, {'proc':'Query','addid':addid}, true, { 'SUCCESS': { 'def' : { }, 'fn' : function (code, data) { $('#ship_first_name').val(''); $('#ship_first_name').val(data['loc']['ship_first_name']); $('#ship_last_name').val(''); $('#ship_last_name').val(data['loc']['ship_last_name']); $('#ship_company').val(''); $('#ship_company').val(data['loc']['ship_company']); $('#ship_street1').val(''); $('#ship_street1').val(data['loc']['ship_street1']); $('#ship_street2').val(''); $('#ship_street2').val(data['loc']['ship_street2']); $('#ship_zip').val(''); $('#ship_zip').val(data['loc']['ship_zip']); $('#ship_city').val(''); $('#ship_city').val(data['loc']['ship_city']); $('#ship_state').val(''); $('#ship_state').val(data['loc']['ship_state']); $('#ship_country').val(''); $('#ship_country').val(data['loc']['ship_country']); $('#ship_phone').val(''); $('#ship_phone').val(data['loc']['ship_phone']); $('#ship_title').val(''); $('#ship_title').val(data['loc']['ship_title']); $('#addr_id').val(data['loc']['id']); $('#delete_button').attr("disabled", false); updloca('ship'); } }, 'FAIL': { 'def' : { 'msg': '' }, 'fn' : function (code, data) { if( param['msg'][data['msg']] ) { var msg = $.parse_ntemplate(param['msg'][data['msg']], data); } } }, 'ERROR' : { 'def' : { 'response': '' }, 'fn' : function (code, data) {  if(param['debug']){ alert(data['response']); } } } }); } }); } }); })(jQuery); /* END ADDRESS BOOK */
/** INCLUDE jquery.neto.stock_notifier.js **/ /* BACK IN STOCK NOTIFICATION */ (function($) { $.extend({ addNotifyBackInStock: function(sku, captchachecksum) { var defvals = { 'email_address': 'from_name', 'full_name': 'from', 'captcha_text': 'captcha_text', 'captcha_checksum': 'captcha_checksum', 'popup_timeout': 1500, 'msg' : { 'CAPTCHA_FAIL': 'Incorrect Validation', 'ITEM_NOT_FOUND': 'Item Not Found', 'NOTIFICATION_ADDED': 'Notification Added' }, 'debug': false, 'showparam': false }; /* get form vars */ var from_name = $('#'+defvals['email_address']).val(); var from = $('#'+defvals['full_name']).val(); var captchatext = $('#'+defvals['captcha_text']).val(); var fn = 'notifyme'; $.fancybox.showActivity(); $.do_ajax( fn, {'proc':'Add', 'sku':sku, 'captcha_text':captchatext, 'captcha_checksum': captchachecksum, 'from_name':from_name, 'from':from}, false, { 'SUCCESS': { 'def' : { 'ind': 0, 'sku': '', 'url': '', 'brand': '', 'name': '', 'price': 0, 'qty': 0, 'image': '', 'extra':'', 'total': { 'product_total': '', 'shipping_total': '', 'item_count':0 }, 'msg':'' }, 'fn' : function (code, data) { if( defvals['msg'][data['msg']] ) { $.fancybox(defvals['msg'][data['msg']]); setTimeout("$.fancybox.close()", defvals['popup_timeout']); } } }, 'FAIL': { 'def' : { 'msg': '' }, 'fn' : function (code, data) { if( defvals['msg'][data['msg']] ) { $.fancybox(defvals['msg'][data['msg']]); setTimeout("$.fancybox.close()", defvals['popup_timeout']); } } }, 'ERROR' : { 'def' : { 'response': '' }, 'fn' : function (code, data) {  if(param['debug']){ alert(data['response']); } } } }); } }); })(jQuery); /* END BACK IN STOCK NOTIFICATION */
/** INCLUDE jquery.neto.compat_list.js **/ var NCompatListData = new Object; /* COMPATIBILITY LIST */ (function($) { $.extend({ compatListInit : function (param) { var defvals = { 'selprepend': 'clist_', 'debug': false, 'showparam': false, 'searchdiv': 'clist_search', 'sel': { 'header': '<select name="clist_##level##" id="clist_##level##" class="compatibility_list"><option value="">Select an option</option>', 'body': '<option value="##compatcat_id##">##compatcat_name##</option>', 'footer': '</select>', 'loading_notification': '<span class="loading_span"><img src="/assets/loading.gif" /></span>' } }; param = $.soap_default_data(param ,defvals); if(param['showparam']) alert($.js_var_dump(param)); NCompatListData['param'] = param; }, getCompatListParam : function () { return NCompatListData; }, setCompatMatch : function(l, s) { var fn = 'compatibilitylist'; var nobj = $.getCompatListParam(); if(nobj != null ) { var param = nobj['param']; var compatlist = new Object; if (s) { $("."+s+" input:checked").each(function() { if ($(this).attr('id').match(/^compatselect/)) { var tmp = $(this).attr('id').replace("compatselect",""); if (tmp != '') { compatlist[tmp] = 1; } } }); $.do_ajax( fn, {'proc': 'setCompatMatch' , 'list': l, 'compatlist':compatlist}, true, { 'SUCCESS': { 'def' : {}, 'fn' : function (code, data) { $('.loading_span').remove(); $('.compatcat_desc').html(data['description']); $('#addvehicle').hide('slow'); } }, 'FAIL': { 'def' : { 'msg': '' }, 'fn' : function (code, data) { if(data['msg']) { var msg = $.parse_ntemplate(data['msg']); } } }, 'ERROR' : { 'def' : { 'response': '' }, 'fn' : function (code, data) { } } }); } } }, buildCompatList : function (s) { var fn = 'compatibilitylist'; var nobj = $.getCompatListParam(); if(nobj != null ) { var param = nobj['param']; var a = s.val(); var b = s.parent("div"); var e = $('#'+param['searchdiv']).val(); if (a) { $.do_ajax( fn, {'proc': 'getSubList' , 'cl': a, 'cls': e}, true, { 'SUCCESS': { 'def' : {}, 'fn' : function (code, data) { if (data['compatlist'] && data['compatlist'].length > 0) { $('.loading_span').remove(); html = $.parse_ntemplate(param['sel']['header'], data); var ctr = data['compatlist']; for (var i=0; i<ctr.length; i++) { html += $.parse_ntemplate(param['sel']['body'], ctr[i]); } html += param['sel']['footer']; $('select[id^="'+param['selprepend']+'"]').each(function() { var c = $(this).attr('id').replace(param['selprepend'], ""); if (c >= data['level']) $(this).remove(); }); b.append(html); $(".compatibility_list").unbind("change"); $(".compatibility_list").change(function() { $.buildCompatList($(this)); }); } else if (data['description']) { $('.loading_span').remove(); $('.compatcat_desc').html(data['description']); $('.newcompatitems').append('<input type="checkbox" id="compatselect'+data['compatcat_id']+'" checked />'+data['description']+'<br />'); $('#addvehicle').hide('slow'); } else { if (data['url']) $('.loading_span').remove(); document.location.href = encodeURI(data['url']); } } }, 'FAIL': { 'def' : { 'msg': '' }, 'fn' : function (code, data) { if(data['msg']) { var msg = $.parse_ntemplate(data['msg']); } } }, 'ERROR' : { 'def' : { 'response': '' }, 'fn' : function (code, data) { } } }); } else { var d = s.attr('id').replace(param['selprepend'], ""); $('select[id^="'+param['selprepend']+'"]').each(function() { var c = $(this).attr('id').replace(param['selprepend'], ""); if (c > d) $(this).remove(); }); } } } }); })(jQuery); /* END COMPATIBILITY_LIST */
/** INCLUDE jquery.neto.store_locator.js **/ /* WISHLIST FUNCTIONS */ var nStoreLocatorData = new Object(); (function($) { $.extend({ storeLocator_Init: function(param) { var defvals = { 'zip_id': 'geo_zip', 'country_id': 'geo_country', 'radius_id': 'geo_radius', 'limit_id': 'geo_limit', 'button_id': 'geo_search', 'nearby_id': 'geo_nearby', 'selector_id': 'geo_location_selector', 'addr_input': 'geo_addr', 'category_input': 'geo_category', 'list_id': 'geo_list', 'map_id': 'geo_map', 'zoom_country': 4, 'zoom_suburb': 12, 'zoom_preset': 12, 'default_lat': -27.000, 'default_lng': 133.000, 'default_country' : '', 'default_radius' : 5, 'default_limit' : 10, 'item_class' : 'geo_loc_item', 'list_class' : 'geo_loc_list', 'info_class' : 'geo_loc_info', 'highlight_class' : 'geo_highlight', 'marker' : { 'icon' : '', 'cursor' : '' }, 'msg' : { 'noresult' : 'Sorry. No results found.' }, 'page' : { 'result' : '<div class="resultmsg">##count## result(s) found</div>', 'header': '<div class="##list_class##">##msg##<br clear="all"><ul>', 'body': '<li class="##item_class##" ref="##count##">##IF:thumb##<div class="thumb"><img width="40px" src="##thumb##" border="0"></div>##END IF:thumb##'+ '<a href="javascript:##script##">##name##</a><br>'+ '<span class="address">##street##, ##city##, ##state## ##zip##</span><br>'+ '<span class="distance">(##distance##km from your location)</span><br>'+ '##IF:phone##<span class="contact"><b>PH:</b> ##phone##</span>##END IF:phone##'+ '##IF:fax##<span class="contact"><b>Fax:</b> ##fax##</span>##END IF:fax##'+ '##IF:email##<span class="contact"><b>Email:</b> ##email##</span>##END IF:email##'+ '</li>', 'footer': '</ul></div>', 'info': '<div class="##info_class##">##IF:thumb##<div class="thumb"><img src="##thumb##" border="0"></div>##END IF:thumb##'+ '<a href="##url##">##name##</a><br>'+ '<span class="address">##street##, ##city##, ##state## ##zip##</span><br>'+ '<span class="distance">(##distance##km from your location)</span><br>'+ '##IF:phone##<span class="contact"><b>PH:</b> ##phone##</span>##END IF:phone##'+ '##IF:fax##<span class="contact"><b>Fax:</b> ##fax##</span>##END IF:fax##'+ '##IF:email##<span class="contact"><b>Email:</b> ##email##</span>##END IF:email##</div>' }, 'debug': false, 'showparam': false }; param = $.soap_default_data(param ,defvals); if(param['showparam']) { alert($.js_var_dump(param)); } if(typeof(param['onSetLocation']) != 'function') { param['onSetLocation'] = null; } nStoreLocatorData['param'] = param; nStoreLocatorData['map'] = null; nStoreLocatorData['info'] = null; nStoreLocatorData['markers'] = []; nStoreLocatorData['param']['default_country'] = $('#'+param['country_id']).val(); try { nStoreLocatorData['map'] = new google.maps.Map(document.getElementById(param['map_id']), { zoom: param['zoom_country'], center: new google.maps.LatLng(param['default_lat'], param['default_lng']), mapTypeId: google.maps.MapTypeId.ROADMAP, mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU} }); nStoreLocatorData['info'] = new google.maps.InfoWindow(); var addrinp = []; $('[name="'+param['addr_input']+'"]').each(function () { var val = $(this).val(); if(val != '') { addrinp.push(val); } }); $.geoSearchStores( $('#'+param['country_id']).val(), $('#'+param['zip_id']).val(), addrinp ); var btno = $('#'+param['button_id']); btno.die('click'); btno.live('click', function () { var bparam = $.getStoreLocatorCache('param'); var baddrinp = []; $('[name="'+bparam['addr_input']+'"]').each(function () { var val = $(this).val(); if(val != '') { baddrinp.push(val); } }); $.geoSearchStores( $('#'+bparam['country_id']).val(), $('#'+bparam['zip_id']).val(), baddrinp ); }); $('#'+param['nearby_id']).live('click', function () { $.geoStartSearch(); }); } catch (e) { if(param['debug']) { alert('Error: Cannot Load Store Locator.'); } } }, geoGoToLocation: function(country, address) { var param = $.getStoreLocatorCache('param'); var opts = { 'region':country }; var hasaddr = false; var hascty = (country == param['default_country']); if(!address) { address=''; } if(address != '') { opts['address'] = address; hasaddr = true; } try { var coder = new google.maps.Geocoder(); coder.geocode(opts, function (res, status) { if (status == google.maps.GeocoderStatus.OK) { $.geoSetLocation(res, {'hasaddr':hasaddr, 'country':country, 'search':false}); } else if(hasaddr) { $.geoGoToLocation(country); } else if(!hascty) { $.geoGoToLocation(param['default_country']); } }); } catch (e) { if(param['debug']) { alert('Error: Cannot Load Store Locator.'); } } }, geoSearchStores: function(country, zip, address) { var param = $.getStoreLocatorCache('param'); var opts = { 'region':country, 'address':'' }; if(!address) { address=[];} if(!zip) { zip='';} var hasaddr = false; var haszip = false; var hascty = (country == param['default_country']); for(var i=0; i<address.length; i++) { if(address[i] != '') { opts['address'] += address[i]+', '; hasaddr=true; } } if(zip != '') { opts['address'] += zip; haszip=true; } try { var coder = new google.maps.Geocoder(); coder.geocode(opts, function (res, status) { if (status == google.maps.GeocoderStatus.OK) { $.geoSetLocation(res, {'hasaddr': (hasaddr || haszip), 'country':country, 'search':true}); } else if(hasaddr) { $.geoSearchStores(country, zip); } else if(haszip) { $.geoSearchStores(country); } else if(!hascty) { $.geoSearchStores(param['default_country']); } }); } catch (e) { if(param['debug']) { alert('Error: Cannot Load Store Locator.'); } } }, geoCleartMarkers : function () { var param = $.getStoreLocatorCache('param'); var markers = $.getStoreLocatorCache('markers'); while(markers.length > 0) { var mko = markers.pop(); mko.setMap(null); } var pl = $('#'+param['selector_id']+'_pl'); if(pl.length) { pl.html(''); pl.hide(); } }, geoSetLocation : function (res, opts) { var param = $.getStoreLocatorCache('param'); var map = $.getStoreLocatorCache('map'); if(res.length > 0) { var found = -1; for(var i=0; found<0 && i<res.length; i++) { var acom = res[i].address_components; for(var j=0; found<0 && j<acom.length; j++) { for(var k=0; found<0 && k<acom[j].types.length; k++) { if(acom[j].types[k] == 'country') { if(acom[j].short_name.toUpperCase() == opts['country']) { found=i; } } } } } if(found >= 0) { $.geoCleartMarkers(); map.setCenter(res[found].geometry.location); if(opts['hasaddr']) { map.setZoom(param['zoom_suburb']); } else { map.setZoom(param['zoom_country']); } if(opts['search']) { $.geoStartSearch(); } if(typeof(param['onSetLocation']) == 'function') { param['onSetLocation'](res[found]); } } } }, geoStartSearch : function () { var param = $.getStoreLocatorCache('param'); var map = $.getStoreLocatorCache('map'); var rad = $('#'+param['radius_id']).val(); rad = parseFloat(rad); if(isNaN(rad)) { rad=param['default_radius']; } var limit = $('#'+param['limit_id']).val(); limit = parseInt(limit); if(isNaN(limit)) { limit=param['default_limit']; } var lat = map.getCenter().lat(); var lng = map.getCenter().lng(); var cat = []; var tmpcat = {}; $('[name="'+param['category_input']+'"]').each(function () { var val = $(this).val(); if(val != '' && !tmpcat[val]) { cat.push(val); tmpcat[val] = true; } }); var fn = 'store_locator'; $.do_ajax( fn, { 'proc':'search', 'lat': lat, 'lng': lng, 'rad':rad, 'limit':limit, 'category':cat.join(';')  }, 'true', { 'SUCCESS': { 'def' : { 'count': 0, 'loc': [], 'lat': 0, 'lng': 0, 'rad': 0 }, 'fn' : function (code, data) { var param = $.getStoreLocatorCache('param'); var map = $.getStoreLocatorCache('map'); var bounds = new google.maps.LatLngBounds(); map.setCenter(new google.maps.LatLng(data['lat'],data['lng'])); var zoom = param['zoom_preset']; if(data['rad'] < 2 ) { zoom += 3; } else if(data['rad'] < 5 ) { zoom += 2; } else if(data['rad'] < 10 ) { zoom += 1; } else if(data['rad'] < 25 ) { } else if(data['rad'] < 50 ) { zoom -= 1; } else if(data['rad'] < 100 ) { zoom -= 2; } else { zoom -= 2+Math.round(data['rad'] / 100); } if(zoom < 0) { zoom=0; } map.setZoom(zoom); var listo = $('#'+param['list_id']); $.geoCleartMarkers(); var markers = $.getStoreLocatorCache('markers'); var definp = { 'thumb': '', 'url': '', 'phone': '', 'fax': '', 'email': '', 'name': '', 'street': '', 'city': '', 'state': '', 'zip': '', 'country': '', 'distance': 0, 'lat': 0, 'lng': 0 }; var html = ''; var ctr = 0; for(var i=0; i<data['loc'].length; i++) { var tmp = $.soap_default_data(data['loc'][i],definp); tmp['script'] = '$.geoSelectLocation('+ctr+');'; tmp['info_class'] = param['info_class']; tmp['list_class'] = param['list_class']; tmp['item_class'] = param['item_class']; tmp['count'] = ctr; html += $.parse_ntemplate(param['page']['body'], tmp); var latlng = new google.maps.LatLng(tmp['lat'],tmp['lng']); var mkopts = { map: map, position: latlng }; if(tmp['name'] != '') { mkopts['title'] = tmp['name']; } if(param['marker']['icon'] != '') { mkopts['icon'] = param['marker']['icon']; } if(param['marker']['cursor'] != '') { mkopts['cursor'] = param['marker']['cursor']; } var newMarker = $.geoCreateMarker(mkopts, tmp, ctr); markers.push(newMarker); bounds.extend(latlng); ctr++; } var pdata = {'count': ctr}; pdata['info_class'] = param['info_class']; pdata['list_class'] = param['list_class']; pdata['item_class'] = param['item_class']; if(ctr >0) { pdata['msg'] = $.parse_ntemplate(param['page']['result'], pdata); } else { pdata['msg'] = param['msg']['noresult']; } html = $.parse_ntemplate(param['page']['header'], pdata)+ html + $.parse_ntemplate(param['page']['footer'], pdata); if(listo.length) { listo.html(html); listo.show(); var itms = $('.'+param['list_class']+' UL LI.'+param['item_class']); itms.die('click'); itms.live('click', function () { $.geoSelectLocation($(this).attr('ref')); }); } } }, 'ERROR' : { 'def' : { 'response': '' }, 'fn' : function (code, data) {  if(param['debug']){ alert(data['response']); } } } }); }, geoCreateMarker : function (mkopts, data, ctr) { var param = $.getStoreLocatorCache('param'); var map = $.getStoreLocatorCache('map'); var info = $.getStoreLocatorCache('info'); var markers = $.getStoreLocatorCache('markers'); var html = $.parse_ntemplate(param['page']['info'], data); var marker = new google.maps.Marker(mkopts); google.maps.event.addListener(marker, 'click', function(e) { $.geoHighLightMarker(ctr); info.setContent(html); info.open(map, marker); }); return marker; }, geoCustAddMarker : function (lat,lng, name) { var param = $.getStoreLocatorCache('param'); var map = $.getStoreLocatorCache('map'); var markers = $.getStoreLocatorCache('markers'); var bounds = new google.maps.LatLngBounds(); var latlng = new google.maps.LatLng(lat,lng); var mkopts = { map: map, position: latlng }; if(name != '') { mkopts['title'] = name; } if(param['marker']['icon'] != '') { mkopts['icon'] = param['marker_icon']; } if(param['marker']['cursor'] != '') { mkopts['cursor'] = param['marker']['cursor']; } var newMarker = new google.maps.Marker(mkopts); markers.push(newMarker); bounds.extend(latlng); }, geoHighLightMarker : function (id) { var param = $.getStoreLocatorCache('param'); $('.'+param['list_class']+' UL LI.'+param['item_class']).each(function () { var ref = $(this).attr('ref'); if(ref == id) { $(this).addClass(param['highlight_class']); } else { $(this).removeClass(param['highlight_class']); } }); }, geoSelectLocation : function ( ind ) { var markers = $.getStoreLocatorCache('markers'); ind = parseInt(ind); if(isNaN(ind)) { ind=-1; } if(ind >= 0) { google.maps.event.trigger(markers[ind], 'click'); } }, getStoreLocatorCache : function ( id ) { if(nStoreLocatorData[id] instanceof Object) { return nStoreLocatorData[id]; } else { return {}; } } }); }) (jQuery); /* END WISHLIST FUNCTIONS */
/** INCLUDE jquery.neto.addtocart.js **/ /* AJAX ADD TO CART */ var NAddToCartData = new Object(); (function($) { $.extend({ addToCartInit : function (param) { var defvals = { 'image_rel': 'itmimg', 'attributes': 'productextra', 'cart_id' :  'cartcontents', 'target_id': 'cartcontentsheader', 'show_notifications' : true, 'notifications' : { 'duration' : 6000, 'sticky' : true, 'show_close' : true, 'show_overlay' : false, 'centre_on_scroll' : true, 'hide_on_click' : true, 'padding': 0 }, 'animate_id': 'a2c_animate', 'animate_class': 'animate', 'animate' : { 'zindex': 10000, 'resize_duration': 250, 'opacity_duration': 100 }, 'summary_rels' : { 'item_count' : 'a2c_item_count', 'product_total' : 'a2c_sub_total', 'shipping_total' : 'a2c_ship_total' }, 'cart' : { 'header': '<div class="thumb_cart"><ul>', 'body': '<li><div class="left"><a href="##producturl##" ><img src="##image##" alt="##name##" width="50px" height="50px"></a></div>'+ '<div class="right"><a href="javascript:$.removeCartItem(\'##sku##\');" class="float_right"><img src="/assets/icons/cross.png" alt="Remove From Cart"></a><div class="title"><a href="##producturl##"><b>##qty##</b> x ##name## <i>##extra##</i></a></div>'+ '<div class="price">Price: $##price##</div></div></li>', 'footer': '</ul> <br> Total Item(s): <b>##item_count##</b><br />Sub Total: <b>##CURRENCY:product_total##</b><br/> ##IF:product_discount##Discount: <b>##CURRENCY:product_discount##</b><br/>##END IF:product_discount## <button class="viewcart" type="button" onclick="window.location=\'##checkouturl##\';" title="View Shopping Cart">View Cart</button> <button class="checkout" type="button" onclick="window.location=\'##checkouturl##&fn=payment\';" title="Checkout">Checkout</button>', 'empty': '<font class="small">Your shopping cart is empty. Add items to your cart and they will appear here.</font>', 'successremmessage': '<center>1 x ##name## has been removed from your shopping cart.</center>', 'successaddmessage': '<div class="successaddmessage"><div class="header">Item has been added to your cart</div><div class="body"><div class="image"><img src="##thumb##" alt="##model##" width="60px" height="60px" border="0"/></div><div class="description"><b>##qty##</b> x ##model## added to cart.</div><div class="successaddmessageclear"></div></div><div class="footer"><div class="left"><button type="button" onclick="$.fancybox.close()" title="Continue Shopping">Continue Shopping</button>&nbsp;&nbsp;<button type="button" onclick="window.location=\'##checkouturl##\';" title="View Cart">View My Cart</button></div><div class="right"><button type="button" onclick="window.location=\'##checkouturl##&fn=payment\';" title="Checkout" class="calltoaction">Checkout Now &gt;</button></div></div><div class="successaddmessageclear"></div></div>', 'failmessage': '<center>FAILURE: An error has occurred while processing your cart. Please retry or contact us.</center>', 'loading': '<img src="/assets/loading.gif" />', 'multipleitemsmessage': '<div class="successaddmessage"><div class="header">Items have been added to your cart</div><div class="body"><div class="description">All selected items added to cart.<br />Use the buttons below to continue.<br /><br /></div><div class="successaddmessageclear"></div></div><div class="footer"><div class="left"><button type="button" onclick="$.fancybox.close()" title="Continue Shopping">Continue Shopping</button>&nbsp;&nbsp;<button type="button" onclick="window.location=\'##checkouturl##\';" title="View Cart">View My Cart</button></div><div class="right"><button type="button" onclick="window.location=\'##checkouturl##&fn=payment\';" title="Checkout" class="calltoaction">Checkout Now &gt;</button></div></div><div class="successaddmessageclear"></div></div>' }, 'checkouturl' : '', 'debug': false, 'showparam': false }; param = $.soap_default_data(param ,defvals); if(param['showparam']) { alert($.js_var_dump(param)); } NAddToCartData['param'] = param; var fn = 'addtocart'; $.do_ajax( fn, {'proc':'ShowItem'}, false, { 'SUCCESS': { 'def' : { 'ind': 0, 'sku': '', 'brand': '', 'name': '', 'price': 0, 'qty': 0, 'image': '', 'extra':'', 'total': { 'product_total': 0, 'product_discount': 0,  'product_subtotal': 0, 'shipping_total': 0, 'shipping_discount': 0, 'shipping_cost': 0, 'grand_total': 0, 'discount_total': 0, 'shipping_method': '', 'item_count':0 }, 'msg':'' }, 'fn' : function (code, data) { $.buildCartItem(data); } }, 'FAIL': { 'def' : { 'msg': '' }, 'fn' : function (code, data) { if( param['msg'][data['msg']] ) { var msg = $.parse_ntemplate(param['msg'][data['msg']], data); } } }, 'ERROR' : { 'def' : { 'response': '' }, 'fn' : function (code, data) {  if(param['debug']){ alert(data['response']); } } } }); $(".addtocart").click(function() { $.addCartItem('sku'+$(this).attr('rel'), 'qty'+$(this).attr('rel')); }); $(".delfromcart").click(function() { $.removeCartItem($(this).attr('rel')); }); }, getAddToCartParam : function () { return NAddToCartData; }, addChildCartItem : function (skuo, qtyo) { var tmpsku = ''; var tmpqty = ''; var qty = ''; var sku =''; var skuclass = skuo.replace(/^sku/,''); var nobj = $.getAddToCartParam(); if(nobj != null) { var param = nobj['param']; var fn = 'addtocart'; var pl = $('#'+param['target_id']); var imgobj = $('[rel="'+param['image_rel']+skuclass+'"]'); var imgsrc = imgobj.attr('src'); $('body').append('<div id="'+imgobj.attr('rel')+'_shadow" style="display: none; background-image: url(\''+imgsrc+'\'); background-color: #fff; border: solid 1px darkgray; position: static; top: 0px; z-index: 100000;">&nbsp;</div>'); var aniobj = $('#'+imgobj.attr('rel')+'_shadow'); aniobj.width(imgobj.css('width')).height(imgobj.css('height')).css('top', imgobj.offset().top).css('left', imgobj.offset().left).css('opacity', 0.8).show(); aniobj.css('position', 'absolute'); var anparam = { 'width':1, 'height':1, 'top': 0, 'left': imgobj.offset().left }; if(pl.length !== 0) { anparam['width'] = pl.innerWidth(); anparam['height'] = pl.innerHeight(); anparam['top'] = pl.offset().top; anparam['left'] = pl.offset().left; } else { var tobj = $('[rel="'+param['summary_rels']['item_count']+'"]'); if(tobj.length !== 0) { anparam['top'] = tobj.offset().top; anparam['left'] = tobj.offset().left; } } if(anparam['width'] <= 0) { anparam['width']=1; } if(anparam['height'] <= 0) { anparam['height']=1; } aniobj.animate ( anparam, { duration: param['animate']['resize_duration'] } ).animate ( { opacity: 0 }, param['animate']['opacity_duration'], function() { $('input:hidden[class^='+skuclass+']').each(function(){ tmpsku = $(this).attr('id'); tmpqty = tmpsku.replace(/^sku/,'qty'); if ($('#'+tmpqty).val() > 0) { sku = $('#'+tmpsku).val(); qty = $('#'+tmpqty).val(); $('#'+tmpqty).val(''); $.do_ajax( fn, {'proc':'AddItem','sku':sku,'qty':qty}, false, { 'SUCCESS': { 'def' : { 'ind': 0, 'sku': '', 'brand': '', 'name': '', 'price': 0, 'qty': 0, 'image': '', 'extra':'', 'total': { 'product_total': 0, 'product_discount': 0,  'product_subtotal': 0, 'shipping_total': 0, 'shipping_discount': 0, 'shipping_cost': 0, 'grand_total': 0, 'discount_total': 0, 'shipping_method': '', 'item_count':0 }, 'msg':'' }, 'fn' : function (code, data) { if(data['image']=='') { data['image'] = imgsrc; } $.buildCartItem(data); } }, 'FAIL': { 'def' : { 'msg': '' }, 'fn' : function (code, data) { if( param['msg'][data['msg']] ) { var msg = $.parse_ntemplate(param['msg'][data['msg']], data); } } }, 'ERROR' : { 'def' : { 'response': '' }, 'fn' : function (code, data) {  if(param['debug']){ alert(data['response']); } } } }); } }); } ); } }, addCartItem : function (skuo, qtyo, fns) { var sku = ''; var qty = ''; var msgdata = new Object(); if(!(fns instanceof Object)) { fns={}; } skuo = $.escape_reserved(skuo); qtyo = $.escape_reserved(qtyo); var tmpskuo = $("#"+skuo); var tmpqtyo = $("#"+qtyo); var tmpmodel = $("#"+skuo.replace("sku","model")); var tmpthumb = $("#"+skuo.replace("sku","thumb")); if(tmpskuo instanceof Object) { sku=tmpskuo.val(); msgdata['sku'] = sku; } else { sku=skuo; } if(tmpqtyo instanceof Object) { qty=tmpqtyo.val(); msgdata['qty'] = qty;} else { qty=qtyo; } if(tmpmodel instanceof Object) { msgdata['model'] = tmpmodel.val(); } if(tmpthumb instanceof Object) { msgdata['thumb'] = tmpthumb.val(); } if(typeof qty != 'number') { qty = parseInt(qty); if(isNaN(qty)) { qty=1; msgdata['qty'] = qty; } } var nobj = $.getAddToCartParam(); if(nobj != null && qty > 0 && sku != '') { var param = nobj['param']; msgdata['checkouturl'] = param['checkouturl']; var fn = 'addtocart'; var attributes = {}; $('[id^="'+param['attributes']+'"]').each(function(index) { var ind = $(this).attr("id"); var rel = $(this).attr("rel"); ind = parseInt(ind.substr(param['attributes'].length)); if(!isNaN(ind) && rel==sku) { attributes[ind] = $(this).val(); } }); var imgobj = $('[rel="'+param['image_rel']+sku+'"]'); if (!imgobj.length) { if (param['show_notifications']) { $.fancybox.showActivity(); } $.do_ajax( fn, {'proc':'AddItem','sku':sku,'qty':qty, 'attr':attributes}, true, { 'SUCCESS': { 'def' : { 'ind': 0, 'sku': '', 'brand': '', 'name': '', 'price': 0, 'qty': 0, 'image': '', 'extra':'', 'total': { 'product_total': 0, 'product_discount': 0,  'product_subtotal': 0, 'shipping_total': 0, 'shipping_discount': 0, 'shipping_cost': 0, 'grand_total': 0, 'discount_total': 0, 'shipping_method': '', 'item_count':0 }, 'msg':'' }, 'fn' : function (code, data) { if(data['image']=='') { data['image'] = imgsrc; } $.buildCartItem(data); if(typeof(fns['onReady']) == 'function') { fns['onReady'](data['content']); } if (!isEmpty(data['discountmessage'])) { $.fancybox(data['discountmessage'], {showCloseButton: true, overlayShow: param['notifications']['show_overlay'], centerOnScroll: param['notifications']['centre_on_scroll'], hideOnContentClick: false}); } else { if (param['show_notifications']) { $.fancybox.hideActivity(); var notification = $.parse_ntemplate(param['cart']['successaddmessage'], msgdata); $.fancybox(notification, {showCloseButton: param['notifications']['show_close'], overlayShow: param['notifications']['show_overlay'], centerOnScroll: param['notifications']['centre_on_scroll'], hideOnContentClick: param['notifications']['hide_on_click'], padding: 0, autoDimensions: true}); if (!param['notifications']['sticky']) { setTimeout("$.fancybox.close()", param['notifications']['duration']); } } } } }, 'FAIL': { 'def' : { 'msg': '' }, 'fn' : function (code, data) { $.fancybox.hideActivity(); if( param['msg'][data['msg']] ) { var msg = $.parse_ntemplate(param['msg'][data['msg']], data); } } }, 'ERROR' : { 'def' : { 'response': '' }, 'fn' : function (code, data) { $.fancybox.hideActivity(); if(param['debug']){ alert(data['response']); } } } }); } else { var pl = $('#'+param['target_id']); var imgsrc = imgobj.attr('src'); $('body').append('<div id="'+imgobj.attr('rel')+'_shadow" style="display: none; background-image: url(\''+imgsrc+'\'); background-color: #fff; border: solid 1px darkgray; position: static; top: 0px; z-index: 100000;">&nbsp;</div>'); var attr_rel = $.escape_reserved(imgobj.attr('rel')); var aniobj = $('#'+attr_rel+'_shadow'); aniobj.width(imgobj.css('width')).height(imgobj.css('height')).css('top', imgobj.offset().top).css('left', imgobj.offset().left).css('opacity', 0.5).show(); aniobj.css('position', 'absolute'); var anparam = { 'width':1, 'height':1, 'top': 0, 'left': imgobj.offset().left }; if(pl.length !== 0) { anparam['width'] = pl.innerWidth(); anparam['height'] = pl.innerHeight(); anparam['top'] = pl.offset().top; anparam['left'] = pl.offset().left; } else { var tobj = $('[rel="'+param['summary_rels']['item_count']+'"]'); if(tobj.length !== 0) { anparam['top'] = tobj.offset().top; anparam['left'] = tobj.offset().left; } } if(anparam['width'] <= 0) { anparam['width']=1; } if(anparam['height'] <= 0) { anparam['height']=1; } aniobj.animate ( anparam, { duration: param['animate']['resize_duration'] } ).animate( { opacity: 0 }, param['animate']['opacity_duration'], function() { if (param['show_notifications']) { $.fancybox.showActivity(); } $.do_ajax( fn, {'proc':'AddItem','sku':sku,'qty':qty, 'attr':attributes}, true, { 'SUCCESS': { 'def' : { 'ind': 0, 'sku': '', 'brand': '', 'name': '', 'price': 0, 'qty': 0, 'image': '', 'extra':'', 'total': { 'product_total': 0, 'product_discount': 0,  'product_subtotal': 0, 'shipping_total': 0, 'shipping_discount': 0, 'shipping_cost': 0, 'grand_total': 0, 'discount_total': 0, 'shipping_method': '', 'item_count':0 }, 'msg':'' }, 'fn' : function (code, data) { if(data['image']=='') { data['image'] = imgsrc; } $.buildCartItem(data); if (!isEmpty(data['discountmessage'])) { $.fancybox(data['discountmessage'], {showCloseButton: param['notifications']['show_close'], overlayShow: param['notifications']['show_overlay'], centerOnScroll: param['notifications']['centre_on_scroll']}); } else { if (param['show_notifications']) { $.fancybox.hideActivity(); var notification = $.parse_ntemplate(param['cart']['successaddmessage'], msgdata); $.fancybox(notification, {showCloseButton: param['notifications']['show_close'], overlayShow: param['notifications']['show_overlay'], centerOnScroll: param['notifications']['centre_on_scroll'], padding: 0, autoDimensions: true}); if (!param['notifications']['sticky']) { setTimeout("$.fancybox.close()", param['notifications']['duration']); } } } } }, 'FAIL': { 'def' : { 'msg': '' }, 'fn' : function (code, data) { $.fancybox.hideActivity(); if( param['msg'][data['msg']] ) { var msg = $.parse_ntemplate(param['msg'][data['msg']], data); } } }, 'ERROR' : { 'def' : { 'response': '' }, 'fn' : function (code, data) { $.fancybox.hideActivity(); if(param['debug']){ alert(data['response']); } } } }); }); } } }, addMultipleCartItems: function(id) { var fn = 'addtocart'; var esc_id = $.escape_reserved(id); var purchaseditems = new Object(); var msgdata = new Object; var nobj = $.getAddToCartParam(); var param = nobj['param']; msgdata['checkouturl'] = param['checkouturl']; $("#"+esc_id+" :input").each(function() { if ($(this).attr('id').match(/^sku/)) { var ctmp = $(this).attr('id').replace("sku","chk"); var chk = $("#"+ctmp); if(chk.length > 0) { if (chk.attr('checked')) { var qty = $("#multiaddqty"); if (qty.val() > 0) { var sku = $(this).val(); purchaseditems[sku] = qty.val(); } } } else { var tmp = $(this).attr('id').replace("sku","qty"); var qty = $("#"+tmp); if (qty.val() > 0) { var sku = $(this).val(); purchaseditems[sku] = qty.val(); qty.val(''); } } } }); $.fancybox.showActivity(); $.do_ajax( fn, {'proc':'AddMultiItems','items':purchaseditems}, true, { 'SUCCESS': { 'def' : { 'ind': 0, 'sku': '', 'brand': '', 'name': '', 'price': 0, 'qty': 0, 'image': '', 'extra':'', 'total': { 'product_total': 0, 'product_discount': 0,  'product_subtotal': 0, 'shipping_total': 0, 'shipping_discount': 0, 'shipping_cost': 0, 'grand_total': 0, 'discount_total': 0, 'shipping_method': '', 'item_count':0 }, 'msg':'' }, 'fn' : function (code, data) { $.fancybox.hideActivity(); var msg = $.parse_ntemplate(param['cart']['multipleitemsmessage'], msgdata); $.fancybox(msg, {showCloseButton: param['notifications']['show_close'], overlayShow: param['notifications']['show_overlay']}); if (!param['notifications']['sticky']) { setTimeout("$.fancybox.close()", param['notifications']['duration']); } $.buildCartItem(data); } }, 'FAIL': { 'def' : { 'msg': '' }, 'fn' : function (code, data) { $.fancybox.hideActivity(); if( param['msg'][data['msg']] ) { } } }, 'ERROR' : { 'def' : { 'response': '' }, 'fn' : function (code, data) { $.fancybox.hideActivity(); if(param['debug']){ } } } }); }, removeCartItem: function(ind, fns) { var nobj = $.getAddToCartParam(); if(!(fns instanceof Object)) { fns={}; } if(nobj != null ) { var param = nobj['param']; var fn = 'addtocart'; $.do_ajax( fn, {'proc':'RemoveItem','sku':ind}, true, { 'SUCCESS': { 'def' : { 'ind': 0, 'sku': '', 'brand': '', 'name': '', 'price': 0, 'qty': 0, 'image': '', 'extra':'', 'total': { 'product_total': 0, 'product_discount': 0,  'product_subtotal': 0, 'shipping_total': 0, 'shipping_discount': 0, 'shipping_cost': 0, 'grand_total': 0, 'discount_total': 0, 'shipping_method': '', 'item_count':0 }, 'msg':'' }, 'fn' : function (code, data) { $.buildCartItem(data); if(typeof(fns['onReady']) == 'function') { fns['onReady'](data); } if (param['show_notifications']) { var notification = $.parse_ntemplate(param['cart']['successremmessage'], data['lastitem']); $.fancybox(notification, {showCloseButton: param['notifications']['show_close'], overlayShow: param['notifications']['show_overlay']}); if (!param['notifications']['sticky']) { setTimeout("$.fancybox.close()", param['notifications']['duration']); } } } }, 'FAIL': { 'def' : { 'msg': '' }, 'fn' : function (code, data) { if( param['msg'][data['msg']] ) { var msg = $.parse_ntemplate(param['msg'][data['msg']], data); } } }, 'ERROR' : { 'def' : { 'response': '' }, 'fn' : function (code, data) {  if(param['debug']){ alert(data['response']); } } } }); } }, buildCartItem : function (data) { var nobj = $.getAddToCartParam(); if(nobj != null ) { var param = nobj['param']; var pl = $('#'+param['cart_id']); if(typeof(data['total']['checkouturl']) != 'undefined' && param['checkouturl'] =='') { param['checkouturl'] = data['total']['checkouturl']; } var html = ''; if(data['total']['item_count'] > 0) { html = $.parse_ntemplate(param['cart']['header'], data['total']); for(var ctr=0; ctr<data['cartitems'].length; ctr++) { var idata = data['cartitems'][ctr]; html += $.parse_ntemplate(param['cart']['body'], idata); } html += $.parse_ntemplate(param['cart']['footer'], data['total']); } else { html = $.parse_ntemplate(param['cart']['empty'], data['total']); } pl.empty(); pl.html(html); for(var k in param['summary_rels']) { if(param['summary_rels'][k] != '') { var val = param['summary_rels'][k]; var objs = $('[rel="'+param['summary_rels'][k]+'"]'); if (k == 'product_total' || k == 'shipping_total') { data['total'][k] = $.formatCurrency(data['total'][k]); } if(objs) { objs.text(data['total'][k]); } } } } $(".delfromcart").unbind('click'); $(".delfromcart").click(function() { $.removeCartItem($(this).attr('rel')); }); } }); })(jQuery); /* END AJAX ADD TO CART */
/** INCLUDE jquery.neto.postcode_selector.js **/ var nPSTRCache = { 'param' : {} }; /* LOCATION */ (function($) { $.extend({ postcode_selectorInit : function(param) { var defvals = { 'page' : { 'header': '<div class="_sh_post_sel"><span>Please select your suburb below:</span><ul>', 'body': '<li><a href="javascript:##script##">##city##, ##state## ##zip##</a></li>', 'footer': '</ul></div>' }, 'selector' : { 'loading_msg' : 'Loading...', 'default_msg' : '-- Select Suburb / City --', 'empty_msg' : '-- Enter Valid Postal Code --' }, 'items_returned': 10, 'max_height': 300, 'country_id': '_pst_country', 'city_id': '_pst_city', 'state_id': '_pst_state', 'zip_id': '_pst_zip', 'id': '_pst_id', 'debug': false, 'fns' : {}, 'showparam': false }; param = $.soap_default_data(param ,defvals); if(param['showparam']) { alert($.js_var_dump(param)); } param['status'] = 'READY'; param['lastres'] = param['curval'] = param['curctry'] = param['curzip'] = ''; param['timer'] = param['closetimer'] = null; param['enable'] = 1; nPSTRCache['param'][param['id']] = param; var outid = '_pst_'+param['id']+'_pl'; var tmpobj = $('#'+outid); if(tmpobj.length <= 0) { $('body').append('<div id="'+outid+'" style="position:absolute; display: none; z-index: 1000001;">&nbsp;</div>'); } if($.bgFrame()) { var bgid = '_pst_'+param['id']+'_bg'; var tmpobj = $('#'+bgid); if(tmpobj.length <= 0) { $('body').append('<iframe id="'+bgid+'" src="javascript:false;" scrolling="no" frameborder="0" style="position:absolute; display: none; z-index: 1000000;"></iframe>'); } } /* ## SIMON ## */ var srcho = $('#'+param['id']); param['type'] = 'input'; if(srcho.length >0) { if(srcho.attr('tagName').toUpperCase() != 'INPUT') { param['type'] = 'select'; } } else { param['type'] = 'none'; } /* ## SIMON END ## */ var outo = $('#'+outid); var cityo = $('#'+param['city_id']); var zipo = $('#'+param['zip_id']); var stateo = $('#'+param['state_id']); var ctryo = $('#'+param['country_id']); ctryo.attr("ref", param['id']); zipo.attr("ref", param['id']); ctryo.unbind("change"); ctryo.bind("change", function() { var obj = $(this); var id = obj.attr('ref'); var param = $.getPSTRCache(id); if(param) { param['enable'] = 0; var srcho = $('#'+param['id']); var ctryo = $('#'+param['country_id']); var srch =  srcho.val(); srch.replace(/^\s+|\s+$/g,''); var ctry =  ctryo.val(); ctry.replace(/^\s+|\s+$/g,''); var curval = ctry+'|'+srch; param['curval'] = curval; if(param['timer']) { clearTimeout(param['timer']); param['timer'] = null; } $.postcode_change_country(id); if(typeof(param['fns']['onChange']) == 'function') { param['fns']['onChange'](); } } }); /* ## SIMON ## */ if(param['type'] == 'input') { /* ## SIMON END ## */ if(typeof(param['fns']['onChange']) == 'function') { zipo.die('change'); zipo.live("change", param['fns']['onChange'] ); } zipo.die("keyup keypress click"); zipo.live("keyup keypress click", function(evt) { var flk = (evt.type == 'click' ? true:false); var obj = $(this); var id = obj.attr('ref'); var param = $.getPSTRCache(id); if(param) { if(param['enable']) { var zipo = $('#'+param['zip_id']); var zip =  zipo.val(); zip.replace(/^\s+|\s+$/g,''); if(param['curzip'] != zip || flk) { param['curzip'] = zip; if(param['status']=='READY') { param['status'] = 'LOADING'; if(param['timer']) { clearTimeout(param['timer']); param['timer'] = null; } param['timer'] = setTimeout( "$.postcode_lookup(unescape('"+escape(id)+"'),'z',"+(flk ? 'true':'false')+")", 1); } else { if(param['timer']) { clearTimeout(param['timer']); param['timer'] = null; } param['timer'] = setTimeout( "$.postcode_lookup(unescape('"+escape(id)+"'),'z',"+(flk ? 'true':'false')+")", 250); } } } } }); srcho.die("keyup keypress"); srcho.live("keyup keypress", function(evt) { var flk = (evt.type == 'click' ? true:false); var obj = $(this); var id = obj.attr('id'); var param = $.getPSTRCache(id); if(param) { if(param['enable']) { var srcho = $('#'+param['id']); var ctryo = $('#'+param['country_id']); var srch =  srcho.val(); srch.replace(/^\s+|\s+$/g,''); var ctry =  ctryo.val(); ctry.replace(/^\s+|\s+$/g,''); var curval = ctry+'|'+srch; if(param['curval'] != curval || flk) { param['curval'] = curval; if(param['status']=='READY') { param['status'] = 'LOADING'; if(param['timer']) { clearTimeout(param['timer']); param['timer'] = null; } param['timer'] = setTimeout( "$.postcode_lookup(unescape('"+escape(id)+"'),'c',"+(flk ? 'true':'false')+")", 1); } else { if(param['timer']) { clearTimeout(param['timer']); param['timer'] = null; } param['timer'] = setTimeout( "$.postcode_lookup(unescape('"+escape(id)+"'),'c',"+(flk ? 'true':'false')+")", 250); } } } } }); srcho.die("change blur"); srcho.live("change blur", function(){ var obj = $(this); var id = obj.attr('id'); var param = $.getPSTRCache(id); if(param) { var cityo = $('#'+param['city_id']); if(param['enable']) { var zipo = $('#'+param['zip_id']); var stateo = $('#'+param['state_id']); var city = cityo.val(); var zip = zipo.val(); var state = stateo.val(); var curres = city+'|'+state+'|'+zip; var srcho = $('#'+param['id']); cityo.val(srcho.val()); } else { cityo.val(obj.val()); if(typeof(param['fns']['onChange']) == 'function') { param['fns']['onChange'](); } } if(param['closetimer']) { clearTimeout(param['closetimer']); param['closetimer'] = null; } param['closetimer'] = setTimeout( "$.postcode_pl_close(unescape('"+escape(id)+"'))", 2000); } }); srcho.die("mouseout"); srcho.live("mouseout", function(){ var obj = $(this); var id = obj.attr('id'); var param = $.getPSTRCache(id); if(param) { if(param['closetimer']) { clearTimeout(param['closetimer']); param['closetimer'] = null; } param['closetimer'] = setTimeout( "$.postcode_pl_close(unescape('"+escape(id)+"'))", 2000); } }); srcho.die("focus"); srcho.live("focus", function(){ var obj = $(this); var id = obj.attr('id'); var param = $.getPSTRCache(id); if(param) { if(param['closetimer']) { clearTimeout(param['closetimer']); param['closetimer'] = null; } } }); outo.die("mouseout"); outo.live("mouseout", function(){ var obj = $(this); var id = obj.attr('id'); id = id.replace(/^_pst_/,'').replace(/_pl$/,''); var param = $.getPSTRCache(id); if(param) { var cityo = $('#'+param['city_id']); var zipo = $('#'+param['zip_id']); var stateo = $('#'+param['state_id']); var city = cityo.val(); var zip = zipo.val(); var state = stateo.val(); var curres = city+'|'+state+'|'+zip; if(city != '') { var srcho = $('#'+param['id']); srcho.val(city); } if(param['closetimer']) { clearTimeout(param['closetimer']); param['closetimer'] = null; } param['closetimer'] = setTimeout( "$.postcode_pl_close(unescape('"+escape(id)+"'))", 2000); } }); outo.die("mouseenter mousemove"); outo.live("mouseenter mousemove", function(){ var obj = $(this); var id = obj.attr('id'); var param = $.getPSTRCache(id); if(param) { if(param['closetimer']) { clearTimeout(param['closetimer']); param['closetimer'] = null; } } }); /* ## SIMON ## */ } else if(param['type'] == 'none') { zipo.die("change"); zipo.live("change", function(evt) { var obj = $(this); var id = obj.attr('ref'); var rparam = $.getPSTRCache(id); if($(this).val() != '') { if(typeof(rparam['fns']['onChange']) == 'function') { rparam['fns']['onChange'](); } } }); } else if(param['type'] == 'select') { zipo.die("change"); zipo.live("change", function(evt) { var obj = $(this); var id = obj.attr('ref'); $.load_city_selector(id); }); } /* ## SIMON END ## */ $.postcode_change_country(param['id']); }, /* ## SIMON ## */ load_city_selector : function (id) { var param = $.getPSTRCache(id); if(param) { var srcho = $('#'+param['id']); var ctryo = $('#'+param['country_id']); var cityo = $('#'+param['city_id']); if(param['enable']) { param['status'] = 'LOADING'; cityo.hide(); srcho.show(); var ctry =  ctryo.val(); ctry.replace(/^\s+|\s+$/g,''); var zipo = $('#'+param['zip_id']); var zip =  zipo.val(); zip.replace(/^\s+|\s+$/g,''); var curzip = zip; if(param['curzip'] != curzip || param['curctry'] != ctry) { srcho.html('<select id="'+param['id']+'_cysel"><option value="">'+param['selector']['loading_msg']+'</option></select>'); var selo = $('#'+param['id']+'_cysel'); selo.unbind("change"); selo.attr('disabled', 'disabled'); param['curzip'] = curzip; param['curctry'] = ctry; var fn = 'postcode_selector'; $.do_ajax( fn, {'proc':'lookupbyzip',	'input': zip, 'country': ctry }, true, { 'SUCCESS': { 'def' : { 'keyword':'', 'loc':[], 'enable':0 }, 'fn' : function (code, data) { param['enable'] = data['enable']; var srcho = $('#'+param['id']); var cityo = $('#'+param['city_id']); if(data['enable']) { var zipo = $('#'+param['zip_id']); var ctr = data['loc']; var html = '<select id="'+param['id']+'_cysel">'; var hassel = false; if(ctr.length > 0) { html += '<option value="">'+param['selector']['default_msg']+'</option>'; for (var i=0; i<ctr.length; i++) { var selected = ''; if(cityo.val()==ctr[i]['c']) { hassel = true; selected = 'selected'; } html += '<option value="'+ctr[i]['c']+';'+ctr[i]['s']+'" '+selected+'>'+ctr[i]['c']+'</option>'; } } else { html += '<option value="">'+param['selector']['empty_msg']+'</option>'; } html += '</select>'; srcho.html(html); var selo = $('#'+param['id']+'_cysel'); if(ctr.length > 0) { selo.attr('disabled', ''); selo.unbind("change"); selo.bind("change", function(evt) { var rid = $(this).attr('id'); rid=rid.replace(/_cysel$/,''); var rparam = $.getPSTRCache(id); var cityo = $('#'+rparam['city_id']); var stateo = $('#'+rparam['state_id']); var statesel = $('#'+rparam['state_id']+'_sel'); if($(this).val() != '') { var cityv = $(this).val(); var arr = cityv.split(';'); cityo.val(arr[0]); if(arr.length > 1) { stateo.val(arr[1]); statesel.val(arr[1]); } if(typeof(rparam['fns']['onChange']) == 'function') { rparam['fns']['onChange'](); } } }); if(hassel) { if(typeof(param['fns']['onChange']) == 'function') { param['fns']['onChange'](); } } } else { selo.attr('disabled', 'disabled'); selo.unbind("change"); } } else { srcho.hide(); cityo.show(); } param['status'] = 'READY'; } }, 'FAIL': { 'def' : { 'msg': '' }, 'fn' : function (code, data) { if(data['msg']) { var msg = $.parse_ntemplate(data['msg']); } } }, 'ERROR' : { 'def' : { 'response': '' }, 'fn' : function (code, data) { } } }); } } else { srcho.hide(); cityo.show(); } } }, /* ## SIMON END ## */ postcode_pl_close : function ( id ) { var param = $.getPSTRCache(id); if(param) { var outid = '_pst_'+param['id']+'_pl'; var outo = $('#'+outid); outo.css('display', 'none'); if($.bgFrame()) { var bgid = '_pst_'+param['id']+'_bg'; var bgo = $('#'+bgid); bgo.css('display', 'none'); } if(param['timer']) { clearTimeout(param['timer']); param['timer'] = null; } if(param['closetimer']) { clearTimeout(param['closetimer']); param['closetimer'] = null; } } }, /** Lookup Function **/ postcode_change_country : function (id) { var fn = 'postcode_selector'; var param = $.getPSTRCache(id); if(param) { var srcho = $('#'+param['id']); var ctryo = $('#'+param['country_id']); var ctry =  ctryo.val(); ctry.replace(/^\s+|\s+$/g,''); var cityo = $('#'+param['city_id']); srcho.val(cityo.val()); param['status'] = 'LOADING'; $.do_ajax( fn, {'proc':'switch',	'country': ctry}, true, { 'SUCCESS': { 'def' : { 'keyword':'', 'state':[], 'enable':0 }, 'fn' : function (code, data) { param['enable'] = data['enable']; var ctr = data['state']; var statepl = $('#'+param['state_id']+'_pl'); var cityo = $('#'+param['city_id']); var zipo = $('#'+param['zip_id']); var stateo = $('#'+param['state_id']); if(statepl.length > 0) { if(ctr.length > 0) { var selid = param['state_id']+'_sel'; var html = '<select id="'+selid+'">'; html += '<option value=""></option>'; for (var i=0; i<ctr.length; i++) { html += '<option value="'+ctr[i]['s']+'">'+ctr[i]['n']+'</option>'; } html += '</select>'; statepl.html(html); var statesel = $('#'+selid); statesel.attr('ref', param['id']); statesel.val( stateo.val() ); statepl.css('display', ''); stateo.css('display', 'none'); statesel.unbind('change'); statesel.bind("change", function(){ var obj = $(this); var id = obj.attr('ref'); var param = $.getPSTRCache(id); if(param) { var stateo = $('#'+param['state_id']); stateo.val(obj.val()); } }); } else { statepl.html(''); statepl.css('display', 'none'); stateo.css('display', ''); } } /* ## SIMON ## */ var statesel = $('#'+param['state_id']+'_sel'); if(param['type'] == 'select') { /* statesel.attr('disabled', 'disabled'); */ $.load_city_selector(id); } else { /* statesel.attr('disabled', ''); */ } /* ## SIMON END ## */ param['status'] = 'READY'; } }, 'FAIL': { 'def' : { 'msg': '' }, 'fn' : function (code, data) { if(data['msg']) { var msg = $.parse_ntemplate(data['msg']); } } }, 'ERROR' : { 'def' : { 'response': '' }, 'fn' : function (code, data) { } } }); } }, /** Lookup Function **/ postcode_lookup : function (id, typ, flk) { var fn = 'postcode_selector'; var param = $.getPSTRCache(id); if(param) { var srcho = $('#'+param['id']); var ctryo = $('#'+param['country_id']); var cityo = $('#'+param['city_id']); var srch =  srcho.val(); srch.replace(/^\s+|\s+$/g,''); var ctry =  ctryo.val(); ctry.replace(/^\s+|\s+$/g,''); var curval = ctry+'|'+srch; if(typ == 'z') { var zipo = $('#'+param['zip_id']); var zip =  zipo.val(); zip.replace(/^\s+|\s+$/g,''); var curzip = zip; if(param['curzip'] == curzip || flk) { param['curzip'] = curzip; $.do_ajax( fn, {'proc':'lookupbyzip',	'input': zip, 'country': ctry, 'limit': param['items_returned']}, true, { 'SUCCESS': { 'def' : { 'keyword':'', 'loc':[], 'enable':0 }, 'fn' : function (code, data) { param['enable'] = data['enable']; var srcho = $('#'+param['id']); if(data['enable']) { var zipo = $('#'+param['zip_id']); var ctr = data['loc']; var pdata = {'id': param['id'] }; var html = ''; if(ctr.length > 0) { html += $.parse_ntemplate(param['page']['header'], pdata); for (var i=0; i<ctr.length; i++) { var tmp = { 'city' : ctr[i]['c'], 'state_code' : ctr[i]['s'], 'state' : ctr[i]['f'], 'zip' : ctr[i]['z'], 'script' : "$.setPSTRValue('"+escape(escape(id))+"', '"+escape(escape(ctr[i]['c']))+"','"+escape(escape(ctr[i]['s']))+"','"+escape(escape(ctr[i]['z']))+"', '', true);" }; html += $.parse_ntemplate(param['page']['body'], tmp); } html += $.parse_ntemplate(param['page']['footer'], pdata); } var outid = '_pst_'+param['id']+'_pl'; var outo = $('#'+outid); outo.html(html); outo.css('display', ''); var offset = zipo.offset(); offset.top += zipo.outerHeight(); outo.offset(offset); if(outo.height() > param['max_height']) { outo.height( param['max_height'] ); outo.css( 'overflow', 'auto'); } if($.bgFrame()) { var bgid = '_pst_'+param['id']+'_bg'; var bgo = $('#'+bgid); bgo.offset(outo.offset()); bgo.height(outo.height()); bgo.width(outo.width()); bgo.css('display', ''); } if(ctr.length == 1) { $.setPSTRValue(id, ctr[0]['c'],ctr[0]['s'],ctr[0]['z'], data['keyword']); } if(param['closetimer']) { clearTimeout(param['closetimer']); param['closetimer'] = null; } param['closetimer'] = setTimeout( "$.postcode_pl_close(unescape('"+escape(id)+"'))", 3000); } param['status'] = 'READY'; } }, 'FAIL': { 'def' : { 'msg': '' }, 'fn' : function (code, data) { if(data['msg']) { var msg = $.parse_ntemplate(data['msg']); } } }, 'ERROR' : { 'def' : { 'response': '' }, 'fn' : function (code, data) { } } }); } } else if(param['enable'] && (srch == '' || ctry == '')) { param['status'] = 'READY'; var outid = '_pst_'+param['id']+'_pl'; var outo = $('#'+outid); outo.css('display', 'none'); outo.html(''); var offset = srcho.offset(); offset.top += srcho.height(); outo.offset(offset); if($.bgFrame()) { var bgid = '_pst_'+param['id']+'_bg'; var bgo = $('#'+bgid); bgo.offset(outo.offset()); bgo.height(outo.height()); bgo.width(outo.width()); bgo.css('display', 'none'); } } else if(param['curval'] == curval || flk) { param['curval'] = curval; $.do_ajax( fn, {'proc':'lookup',	'input': srch, 'country': ctry, 'limit': param['items_returned']}, true, { 'SUCCESS': { 'def' : { 'keyword':'', 'loc':[], 'enable':0 }, 'fn' : function (code, data) { param['enable'] = data['enable']; var srcho = $('#'+param['id']); if(data['enable']) { var cityo = $('#'+param['city_id']); var zipo = $('#'+param['zip_id']); var stateo = $('#'+param['state_id']); var ctr = data['loc']; var pdata = {'id': param['id'] }; var html = ''; var selcty = ''; if(ctr.length > 0) { html += $.parse_ntemplate(param['page']['header'], pdata); for (var i=0; i<ctr.length; i++) { if(i==0) { selcty = ctr[i]['c']; } else if(selcty != '' &&  ctr[i]['c'].indexOf(selcty)!=0 ) { selcty=''; } var tmp = { 'city' : ctr[i]['c'], 'state_code' : ctr[i]['s'], 'state' : ctr[i]['f'], 'zip' : ctr[i]['z'], 'script' : "$.setPSTRValue('"+escape(escape(id))+"', '"+escape(escape(ctr[i]['c']))+"','"+escape(escape(ctr[i]['s']))+"','"+escape(escape(ctr[i]['z']))+"', '', true);" }; html += $.parse_ntemplate(param['page']['body'], tmp); } html += $.parse_ntemplate(param['page']['footer'], pdata); } var outid = '_pst_'+param['id']+'_pl'; var outo = $('#'+outid); outo.html(html); outo.css('display', ''); var offset = srcho.offset(); offset.top += srcho.outerHeight(); outo.offset(offset); if(outo.height() > param['max_height']) { outo.height( param['max_height'] ); outo.css( 'overflow', 'auto'); } if($.bgFrame()) { var bgid = '_pst_'+param['id']+'_bg'; var bgo = $('#'+bgid); bgo.offset(outo.offset()); bgo.height(outo.height()); bgo.width(outo.width()); bgo.css('display', ''); } if(selcty != '') { if(ctr.length == 1) { $.setPSTRValue(id, ctr[0]['c'],ctr[0]['s'],ctr[0]['z'], data['keyword']); } else { $.setPSTRValue(id, ctr[0]['c'],null,null, data['keyword']); } } if(param['closetimer']) { clearTimeout(param['closetimer']); param['closetimer'] = null; } param['closetimer'] = setTimeout( "$.postcode_pl_close(unescape('"+escape(id)+"'))", 3000); } else { var cityo = $('#'+param['city_id']); var zipo = $('#'+param['zip_id']); var stateo = $('#'+param['state_id']); cityo.val(srcho.val()); } param['status'] = 'READY'; } }, 'FAIL': { 'def' : { 'msg': '' }, 'fn' : function (code, data) { if(data['msg']) { var msg = $.parse_ntemplate(data['msg']); } } }, 'ERROR' : { 'def' : { 'response': '' }, 'fn' : function (code, data) { } } }); } } }, setPSTRValue : function(id, city, state,zip ,keyword, esp) { if(!keyword) { keyword=''; } keyword = keyword.toUpperCase(); if(esp) { id = unescape(id); city = unescape(city); zip = unescape(zip); state = unescape(state); } var param = $.getPSTRCache(id); if(param) { var nochg = false; var cityo = $('#'+param['city_id']); var zipo = $('#'+param['zip_id']); var stateo = $('#'+param['state_id']); if(zip == null) {  zip = zipo.val(); nochg = true; } if(state == null) {  state = stateo.val(); nochg = true; } cityo.val(city); zipo.val(zip); stateo.val(state); var selid = param['state_id']+'_sel'; var statesel = $('#'+selid); if(statesel.length > 0) { statesel.val( state ); } var curres = city+'|'+state+'|'+zip; if(city != '' && state != '' && zip != '' && param['lastres'] != curres) { var srcho = $('#'+param['id']); srcho.val(city); } var srcho = $('#'+param['id']); var ctryo = $('#'+param['country_id']); var srch =  srcho.val(); srch.replace(/^\s+|\s+$/g,''); var ctry =  ctryo.val(); ctry.replace(/^\s+|\s+$/g,''); var curval = ctry+'|'+srch; param['curval'] = curval; var newval = srcho.val(); /** select when you type **/ if(keyword != '' && param['lastres'] != curres) { var pos = newval.indexOf(keyword); if(pos >= 0 ) { pos += keyword.length; pend = newval.length; var obj = document.getElementById(param['id']); if(obj) { if (obj.setSelectionRange) { obj.focus(); obj.setSelectionRange(pos, pend); } else if(obj.createTextRange) { var range = obj.createTextRange(); range.collapse(true); range.moveEnd('character', pend); range.moveStart('character', pos); range.select(); } } } } if(typeof(param['fns']['onChange']) == 'function' && !nochg) { if(param['lastres'] != curres) { param['fns']['onChange'](); } } param['lastres'] = curres; if(esp) { $.postcode_pl_close(id); } } }, getPSTRCache : function ( id ) { return nPSTRCache['param'][id]; } }); })(jQuery); /* END LOCATION */
/** INCLUDE jquery.neto.wishlist.js **/ /* WISHLIST FUNCTIONS */ var NWishListData = new Object(); (function($) { $.extend({ addToWishList: function(param) { var defvals = { 'class': 'wishlist_toggle', 'imageon': '/assets/wishlist/remove.gif', 'imageoff': '/assets/wishlist/add.gif', 'textclass': 'wishlist_text', 'htmlon': 'Remove From Wishlist', 'htmloff': 'Add To Wishlist', 'tooltip_css': 'whltooltips', 'fade' : true, 'notifications' : { 'duration' : 2000, 'sticky' : false, 'show_close' : false, 'show_overlay' : false, 'centre_on_scroll' : true, 'hide_on_click' : false }, 'chooser' : { 'header' : '<div class="wishlistoverlay"><div class="header">Add or Remove ##model## From Wishlist</div>'+ '<table border="0" cellpadding="4" cellspacing="0" width="100%" class="body">', 'body' : '<tr><td class="listname" width="1%" nowrap="nowrap">##name##</td><td><span class="addremovelink">##button##</span></td></tr>', 'footer' : '</table>'+ '<div class="createnewlist"><a href="javascript:void(0);" onclick="$(\'#wishlisttoggle\').toggle(\'fast\', function(){});">Or Add To A New List</a></div>'+ '<div id="wishlisttoggle" style="display:none;">'+ '<table border="0" cellpadding="4" cellspacing="0"><tr>'+ '<td>New List Name : <input type="text" maxlength="50" size="20" id="addwl##sku##" /></td>'+ '</tr></table>'+ '</div>'+ '<hr><button id="closepopup" onclick="$.closePopup(\'##sku##\', \'addwl##sku##\')">Save My Wishlist Changes</button></div>' }, 'overlay_id' : 'whloverlay', 'button_id' : 'whlbutton', 'input_id' : 'whlinput', 'selector_id' : 'whlselector', 'msg' : { 'ITEM_ADDED': 'Added to Wishlist \'##name##\'.', 'ITEM_REMOVED': 'Removed from Wishlist \'##name##\'.', 'INVALID_SKU': 'Invalid item.', 'REQUIRE_LOGIN': 'You must login or create an account to add to a Wishlist' }, 'debug': false, 'showparam': false }; param = $.soap_default_data(param ,defvals); if(param['showparam']) { alert($.js_var_dump(param)); } NWishListData['param'] = param; var fn = 'wishlist'; var whlobj = $('.' + param['class']); $.preload_images([param['imageon'], param['imageoff']]); var curobj; var textobj; $('body').append('<div id="'+param['overlay_id']+'" class="'+param['overlay_class']+'"/>'); $('body').append('<div id="'+param['overlay_id']+'tig" style="display:none;"/>'); var overlaytig = $('#'+param['overlay_id']+'tig'); /** Local Call Function **/ var failFn = function (code, data) { if( param['msg'][data['msg']] ) { var msg = $.parse_ntemplate(param['msg'][data['msg']], data); $.fancybox(msg, {showCloseButton: false}); setTimeout("$.fancybox.close()", 2000); } }; var listFn = function (code, data) { var tmpl = param['chooser']; var txcols = ['button_id', 'input_id', 'overlay_id']; for(var i=0; i<txcols.length; i++) { data[txcols[i]] = param[txcols[i]]; } var html = $.parse_ntemplate(tmpl['header'], data); for(var ctr=0; ctr<data['items'].length; ctr++) { var idata = data['items'][ctr]; idata['button'] = '<img id="'+param['overlay_id']+'.'+param['selector_id']+ctr+'" '+ 'src="'+(idata['active']=='y'? param['imageon']: param['imageoff'])+'" '+ 'rel="'+idata['id']+'"/>'; html += $.parse_ntemplate(tmpl['body'], idata); } html += $.parse_ntemplate(tmpl['footer'], data); $.fancybox(html, {padding: 0}); var objs = $('img[id^="'+param['overlay_id']+'.'+param['selector_id']+'"]'); objs.die("click"); objs.live("click", function(){ var imgobj = $(this); var csrc = imgobj.attr("src"); var cwid = imgobj.attr("rel"); var sku = data['sku']; if (csrc == param['imageon']) { $.do_ajax( fn, { 'proc':'RemoveItem', 'sku':data['sku'], 'wishlist':cwid }, 'true', { 'SUCCESS': { 'def' : { 'count': 0 }, 'fn' : function (code, data) { imgobj.attr("src", param['imageoff']); } }, 'ERROR' : { 'def' : { 'response': '' }, 'fn' : function (code, data) {  if(param['debug']){ alert(data['response']); } } } } ); } else { $.do_ajax( fn, { 'proc':'AddItem', 'sku':data['sku'], 'wishlist':cwid }, 'true', { 'SUCCESS': { 'def' : { 'count': 0 }, 'fn' : function (code, data) { imgobj.attr("src", param['imageon']); } }, 'ERROR' : { 'def' : { 'response': '' }, 'fn' : function (code, data) {  if(param['debug']){ alert(data['response']); } } } }); } }); }; /** End Local Call Function **/ whlobj.live("click", function(){ curobj = $(this); var sku = curobj.attr("rel"); textobj =  $('[rel="'+param['textclass']+sku+'"]'); var chktest = textobj.html(); var imgobj = this; if (chktest == param['htmlon']) { $.do_ajax( fn, {'proc':'RemoveItem','sku':sku}, 'true', { 'SUCCESS': { 'def' : { 'name': '', 'msg':'' }, 'fn' : function (code, data) { if( param['msg'][data['msg']] ) { var msg = $.parse_ntemplate(param['msg'][data['msg']], data); $.fancybox(msg, {showCloseButton: false}); setTimeout("$.fancybox.close()", 2000); } textobj.replaceWith('<span rel="'+param['textclass']+sku+'">'+param['htmloff']+'</span>'); } }, 'FAIL': { 'def' : { 'msg': '' }, 'fn' : failFn }, 'LIST': { 'def' : { 'brand':'', 'sku':'', 'model':'', 'items': [] }, 'fn' : listFn }, 'ERROR' : { 'def' : { 'response': '' }, 'fn' : function (code, data) {  if(param['debug']){ alert(data['response']); } } } } ); } else { $.do_ajax( fn, {'proc':'AddItem','sku':sku}, 'true', { 'SUCCESS': { 'def' : { 'name': '', 'msg':'' }, 'fn' : function (code, data) { if( param['msg'][data['msg']] ) { var msg = $.parse_ntemplate(param['msg'][data['msg']], data); $.fancybox(msg, {showCloseButton: false}); setTimeout("$.fancybox.close()", 2000); } textobj.replaceWith('<span rel="'+param['textclass']+sku+'">'+param['htmlon']+'</span>'); } }, 'FAIL': { 'def' : { 'msg': '' }, 'fn' : failFn }, 'LIST': { 'def' : { 'brand':'', 'sku':'', 'model':'', 'items': [] }, 'fn' : listFn }, 'ERROR' : { 'def' : { 'response': '' }, 'fn' : function (code, data) {  if(param['debug']){ alert(data['response']); } } } } ); } }); }, closePopup: function(sku, newwishlist) { var wname = $('#'+newwishlist).val(); var fn = 'wishlist'; if (!$.is_empty(wname)) { $.do_ajax( fn, { 'proc':'AddItem', 'sku':sku, 'name':wname, 'wishlist': -1 }, 'true', { 'SUCCESS': { 'def' : { }, 'fn' : function (code, data) { $.btnLdFn(sku); } }, 'ERROR' : { 'def' : { 'response': '' }, 'fn' : function (code, data) {  if(param['debug']){ alert(data['response']); } } } }); } else { $.btnLdFn(sku); } $.fancybox.close(); }, btnLdFn: function (sku) { var param = NWishListData['param']; var textobj =  $('[rel="'+param['textclass']+sku+'"]'); var fn = 'wishlist'; $.do_ajax( fn, { 'proc':'GetSKUCount', 'sku':sku }, 'true', { 'SUCCESS': { 'def' : { 'count': 0 }, 'fn' : function (code, data) { if(data['count']>0) { textobj.replaceWith('<span rel="'+param['textclass']+sku+'">'+param['htmlon']+'</span>'); } else { textobj.replaceWith('<span rel="'+param['textclass']+sku+'">'+param['htmloff']+'</span>'); } } }, 'ERROR' : { 'def' : { 'response': '' }, 'fn' : function (code, data) {  if(param['debug']){ alert(data['response']); } } } }); } }); }) (jQuery); /* END WISHLIST FUNCTIONS */
/** INCLUDE jquery.neto.ajax_template.js **/ /* LOAD TEMPLATE */ (function($) { $.extend({ load_ajax_template: function(id, input, fns) { var fn = 'ajax_template'; var prefix = '_jstl_'; id = prefix+id; var esc_id = $.escape_reserved(id); if(!(input instanceof Object)) { input={}; } if(input['showloading']) { $.show_div_loading(id); } var param = { 'proc': 'load', 'docid': id }; var fields = {}; $('#'+esc_id+' [id^="'+esc_id+'_k"]:input').each (function(){ var vid = $(this).attr('id').replace(id+'_k', ''); var key = $(this).val(); if(key != '') { var vobj = $('#'+esc_id+' [id^="'+esc_id+'_v'+vid+'"]:input'); var val = vobj.val(); if(typeof val != 'undefined') { if(key == 'type' || key =='template') { param[key]=val; } else { fields[key]=val; } } } }); if(input instanceof Object) { for(var k in input) { if( k =='loaddata' || k =='procdata') { param[k]=input[k]; } else if(k != 'noloading') { if(input[k] instanceof Array || input[k] instanceof Object) { fields[k] = input[k]; } else { var tof = typeof input[k]; if(tof == 'number' || tof == 'string') { fields[k] = input[k]; } else if(tof == 'boolean') { fields[k] = (input[k]? 'y': 'n'); } } } } } if(!(fns instanceof Object)) { fns={}; } param['fields'] = fields; if(typeof(fns['onStart']) == 'function') { fns['onStart'](); } $.do_ajax( fn, param, true, { 'SUCCESS': { 'def' : { }, 'fn' : function (code, data) { if (data['template'] != '') { if(typeof(fns['onReady']) == 'function') { fns['onReady'](data['content']); } else { $("#"+esc_id+"_r").html(data['content']); } if(typeof(fns['onLoad']) == 'function') { fns['onLoad'](data['content']); } } $.remove_div_loading(id); } }, 'FAIL': { 'def' : { 'msg': '' }, 'fn' : function (code, data) { var msg = ''; if(data['msg']) { msg = $.parse_ntemplate(data['msg']); } if(typeof(fns['onFail']) == 'function') { fns['onFail'](msg); } $.remove_div_loading(id); } }, 'ERROR' : { 'def' : { 'response': '' }, 'fn' : function (code, data) { if(typeof(fns['onError']) == 'function') { fns['onError'](data['response']); } } } } ); } }); }) (jQuery); /* END LOAD TEMPLATE */
/** INCLUDE jquery.neto.main.js **/ /* UTIL FUNCTIONS */ var NETOCurrencySymbol = '$'; (function($) { $.extend({ setCurrencySymbol :  function (symb) { NETOCurrencySymbol = symb; }, formatNumber :  function (num, param) { param = $.soap_default_data(param, {'pf':'','dp':0,'sp':''}); if(param['dp'] <= 0) param['dp'] = 0; var si = param['pf']; if(num <0) { num =0-num; si = '-'+si; } num = parseFloat(num).toFixed(param['dp']); var tmp = num.split('.'); var intgr = tmp[0]; var dec = tmp[1]; if (dec) dec='.'+dec; var txt=''; var ctr = 0; for(var i=intgr.length-1; i>=0; i--) { ctr++; txt = (ctr % 3 ==0 && i>0? ',':'')+intgr.charAt(i)+''+txt; } return si+txt+dec; }, formatCurrency :  function (num) { return $.formatNumber(num, {'pf':NETOCurrencySymbol,'dp':2,'sp':','} ); }, create_netosd_data : function (data, sp) { if(!sp) { sp = '|'; } return 'NSD1;'+$.create_netosd_data_rc(data, {}, sp); }, create_netosd_data_rc : function (data, vids, sp) { var rtn = ''; if(data instanceof Object) { rtn = '#'; var ctr = 0; for(var k in data) { ctr++; } rtn += ''+ctr+sp; for(var k in data) { rtn += ''+$.create_netosd_data_rc(k, vids, sp)+ $.create_netosd_data_rc(data[k], vids, sp); } } else if(data instanceof Array) { rtn = '@'; var ctr = data.length; for(var i=0; i<ctr; i++) { rtn += ''+$.create_netosd_data_rc(data[ctr], vids, sp); } } else { rtn = '$'; var tmp = encodeURI(data); rtn += tmp.length + sp + tmp; } return rtn; }, parse_netosd_data : function (data, sp) { if(!sp) { sp = '|'; } var txt = data.substr(0,5); data = data.substr(5); if(txt == 'NSD1;') { var tmp = $.parse_netosd_data_rc(data, [], sp); return tmp[1]; } return null; }, parse_netosd_data_rc : function (data, vds, sp) { if(!sp) { sp = '|'; } var typ = '$'; var len = ''; var kvdata; var cur = 0; typ = data.substr(cur,1); if(typ=='#' || typ=='@' || typ=='&' || typ=='$') { var done = false; while(!done && cur<data.length) { cur++; var chr = data.substr(cur,1); if(chr== '|') { done = true; } else { len += chr; } } len = parseInt(len); if(!isNaN(len) && len >=0) { data = data.substr(cur+1); if(typ == '@' || typ == '#') { if(typ == '@') { kvdata = []; } else { kvdata = {}; } vds.push(kvdata); if(typ == '@') { for(var i=0; i<len; i++) { var tmp = $.parse_netosd_data_rc(data, vds, sp); data = tmp[0]; kvdata.push(tmp[1]); } } else { for(var i=0; i<len; i++) { var tmpk = $.parse_netosd_data_rc(data, vds, sp); data = tmpk[0]; var tmp = $.parse_netosd_data_rc(data, vds, sp); data= tmp[0]; kvdata[tmpk[1]]=tmp[1]; } } return [data, kvdata]; } else if(typ == '&') { if(len-1 < vds.length) { return [data, vds[len-1]]; } return (data, null); } else if(typ == '$') { var txt = unescape(data.substr(0,len)); txt = txt.replace(/%u{([0-9A-Za-z]+)}/g, function($1, $2){ return String.fromCharCode(parseInt('0x'+$2)); } ); data = data.substr(len); return [data, txt]; } } } return [data, kvdata]; }, js_var_dump : function (data, html, ind, vds) { if(!vds) { vds=[]; } if(!ind) { ind=0;} var br = (html? '<br>' : '\n'); var tg = (html? '&nbsp;&nbsp;' : '\t'); var rtn = ''; if(data instanceof Array) { var found = -1; for(var i=0; i<vds.length && found<0; i++) { if(vds[i] == data) { found=i; } } if(found < 0) { vds.push(data); rtn += '['+br; for(var i=0; i<data.length; i++) { for(var x=-1; x<ind; x++) { rtn+=tg; } rtn += $.js_var_dump(data[i], html, ind+1, vds)+br; } for(var x=0; x<ind; x++) { rtn+=tg; } rtn += ']'; } else { rtn += '[Array '+(found+1)+']'; } } else if(data instanceof Object) { var found = -1; for(var i=0; i<vds.length && found<0; i++) { if(vds[i] == data) { found=i; } } if(found < 0) { vds.push(data); rtn += '{'+br; for(var k in data) { for(var x=-1; x<ind; x++) { rtn+=tg; } rtn += $.js_var_dump(k, html, ind+1, vds)+': '; rtn += $.js_var_dump(data[k], html, ind+2, vds)+br; } for(var x=0; x<ind; x++) { rtn+=tg; } rtn += '}'; } else { rtn += '{Object '+(found+1)+'}'; } } else { if(typeof data == 'string') { var tmp = data.replace('\\','\\\\'); tmp = tmp.replace('"','\\"'); if(html) { tmp = tmp.replace('<','&lt;').replace('>','&gt;'); tmp = tmp.replace('&','&amp;'); } rtn += '"'+data+'"'; } else if(typeof data == 'boolean') { rtn += (data? 'true':'false'); } else if(typeof data == 'undefined') { rtn += 'undefined'; } else { rtn += data; } } return rtn; }, get_ajax_data : function (data) { var chktxt = '^NETO^'; var spchar = '^'; var code = 'ERROR'; var kvdata = {'response': data}; var pos = data.indexOf(chktxt); if(pos >= 0) { data = data.substr(pos+chktxt.length); pos = data.indexOf('^'); if(pos >= 0) { code = data.substr(0, pos); data = data.substr(pos+spchar.length); kvdata = $.parse_netosd_data(data); if(kvdata instanceof Object) { } else { kvdata = {}; } } } return [code, kvdata]; }, do_ajax : function (module, qs, syn, fns) { if(!(qs instanceof Object)) { qs = {}; } var qsctr = 0; var qstxt = ''; for(var k in qs) { if(qs[k] instanceof Array) { for(var i=0; i<qs[k].length; i++) { qstxt += (qsctr?'&':'')+escape(k)+'='+escape(qs[k][i]); } } else if(qs[k] instanceof Object) { qstxt += (qsctr?'&':'')+escape(k)+'='+escape($.create_netosd_data(qs[k])); } else { qstxt += (qsctr?'&':'')+escape(k)+'='+escape(qs[k]); } qsctr++; } $.ajax({ type: "POST", url: "/ajax/"+module, data: qstxt, async: syn, success: function(response) { var rdata = $.get_ajax_data(response); var code = rdata[0].toUpperCase(); var rdata = rdata[1]; if(fns[code] instanceof Object) { if(fns[code]['debug']) { alert(response); } if(typeof fns[code]['fn'] == 'function') { if(fns[code]['def'] instanceof Object) { rdata = $.soap_default_data(rdata, fns[code]['def']); } if(fns[code]['debug']) { alert($.js_var_dump(rdata)); } fns[code]['fn'](code, rdata); } } } }); }, soap_default_data : function (rdata, def , vds) { if(!vds) { vds = []; } if(rdata instanceof Object) { if(def instanceof Object) { for(var k in def) { if(typeof rdata[k] == 'undefined') { rdata[k] = def[k]; } else if( def[k] instanceof Array) { if(!(rdata[k] instanceof Array)) { rdata[k] = def[k]; } } else if( def[k] instanceof Object) { if(!(rdata[k] instanceof Object)) { rdata[k] = def[k]; } else { var found = false; for(var i=0; i<vds.length && !found; i++) { if(vds[i] == def[k]) { found=true; } } if(!found) { vds.push(def[k]); rdata[k] = $.soap_default_data( rdata[k],def[k], vds); } } } else { var tof = typeof def[k]; var rof = typeof rdata[k]; if(rof != tof) { switch (tof) { case 'boolean': if(rof == 'string') { rdata[k] = rdata[k].toLowerCase(); if(rof == 'true' || rof == 'y' || rof == 'okay' || rof == '1') { rdata[k] = true; } else { rdata[k] = false; } } else if(rof == 'number') { rdata[k] = (rdata[k] >0); } else { rdata[k] = def[k]; } break; case 'number': if(rof == 'string') { var pos = rdata[k].indexOf('.'); if(pos>=0) { rdata[k] = parseFloat(rdata[k]); } else { rdata[k] = parseInt(rdata[k]); } if(isNaN(rdata[k])) { rdata[k] = def[k]; } } else if(rof == 'boolean') { rdata[k] = (rdata[k]? 1 : 0); } else { rdata[k] = def[k]; } break; case 'string': rdata[k] = ''+rdata[k]; break; default: rdata[k] = def[k]; break; } } } } } } else { rdata = {}; } return rdata; }, preload_images : function (images) { /* preload images into the DOM */ for(var i=0; i<images.length; i++) { if(images[i] != '') { $('<img/>')[0].src = images[i]; } } }, show_tooltip : function (obj, txt, setting, ubary) { var tmp = obj.attr("title"); obj.attr("title", txt); var unbind = {}; if(ubary instanceof Array) { for(var i=0; i<ubary.length; i++) { unbind[ubary[i]] = true; } } var oldevt = obj.data("events"); var oevtctr = {}; if(oldevt) { for(var k in oldevt) { if(unbind[k]) { oevtctr[k] = {}; for(var i=0; i<oldevt[k].length; i++) { oevtctr[k][oldevt[k][i]['guid']] = true; } } } } var tipo = obj.tooltip( setting ); var newevt = obj.data("events"); for(var k in newevt) { if(unbind[k]) { if(!oevtctr[k]) { obj.unbind(k); } else if(newevt[k].length != oevtctr[k].length) { for(var i=0; i<newevt[k].length; i++) { if(!oevtctr[k][newevt[k][i]['guid']]) { obj.unbind(k, newevt[k][i]); } } } } } var tip = tipo.getTip(); if(tip) { tip.html(txt); if(typeof setting['tipClass'] == 'string') { tip.attr("class", setting['tipClass']); } } obj.attr("title", tmp); tipo.show(); return tipo; }, show_overlay : function (obj, id, html, setting) { var tmp = obj.attr("rel"); obj.attr("rel", '#'+id); var overobj = obj.overlay( setting ); obj.attr("rel", tmp); var ovl = obj.overlay(); if(ovl) { var ovlo = ovl.getOverlay(); if(ovlo) { ovlo.html(html); ovl.load(); } } return ovl; }, bgFrame : function () { if(jQuery.browser.msie) { var ver = jQuery.browser.version; ver = parseInt(ver.replace(/\..+$/,'')); return (isNaN(ver) || ver <= 6 ); } return false }, parse_ntemplate : function (text, data) { for(var k in data) { var tof = typeof data[k]; var rtn = false; if(tof == 'string' || tof == 'boolean' || tof == 'number') { var regexp = new RegExp('##'+k+'##', 'gim'); text = text.replace(regexp, data[k]); if(tof == 'string') { rtn = (data[k] != ''); } else if(tof == 'boolean') { rtn = data[k]; } else if(tof == 'number') { rtn = data[k] > 0; var regexp = new RegExp('##CURRENCY:'+k+'##', 'gim'); text = text.replace(regexp,  $.formatCurrency( data[k] ) ); } } else if(tof == 'undefined') { var regexp = new RegExp('##'+k+'##', 'gim'); text = text.replace(regexp, ''); } if(rtn) { var regexp = new RegExp('##IF:'+k+'##', 'gim'); text = text.replace(regexp, ''); regexp = new RegExp('##END IF:'+k+'##', 'gim'); text = text.replace(regexp, ''); } else { var regexp = new RegExp('##IF:'+k+'##.*?##END IF:'+k+'##', 'gim'); text = text.replace(regexp, ''); } } return text; }, escape_reserved : function (text) { return text.replace(/[!\"#$%&\'()\*+,\.\/:;<=>?@\[\\\]^`\{|\}~\s]/g, "\\$&"); }, is_empty : function (text) { if(text==null) { return true; } else if(text == '') {return true}; } }); }) (jQuery); (function($) { $.extend({ show_div_loading: function(div) { var binded = false; var evts = $(window).data('events'); for(var k in evts) { if(k=='resize') { for(var i=0; i<evts[k].length && !binded; i++) { if(evts[k][i]['namespace'] == 'loadingdiv') { binded = true; } } } } if(!binded) { $(window).bind('resize.loadingdiv', function () { $('.ajaxloader').each(function () { var div = $(this).attr('ref'); var a = $('#'+div); var b = a.offset(); var d = { left: b.left, top: b.top, width: a.outerWidth(), height: a.outerHeight()}; if(a.css('display') == 'none' || $(this).css('display') == 'none') { $(this).hide(); } else { $(this).show(); $(this).css({left: d.left+'px', top: d.top+'px', width: d.width+'px', height: d.height+'px'}); } }); }); } var a = $('#'+div); var b = a.offset(); var d = { left: b.left, top: b.top, width: a.outerWidth(), height: a.outerHeight()}; var loader = $('.ajaxloader[ref="'+div+'"]'); if(loader.length <= 0) { $('<div class="ajaxloader" ref="'+div+'" style="display:none;"></div>').css({'position': 'absolute', 'z-index': 1000000}).appendTo(document.body); } loader = $('.ajaxloader[ref="'+div+'"]'); if(a.css('display') == 'none') { loader.hide(); } else { loader.css({left: d.left+'px', top: d.top+'px', width: d.width+'px', height: d.height+'px'}); loader.fadeIn(300); } }, remove_div_loading: function(div) { if(typeof(div) == 'undefined') { div=''; } $('.ajaxloader').each( function () { if(div=='' || $(this).attr('ref') == div) { $(this).fadeOut(300).css({left: '0px', top: '0px', width: '1px', height: '1px'}).hide(); } } ); }, init_text_count : function (classname) { $('.'+classname).each(function(){ $.update_text_count($(this)); }); $('.'+classname+'_count').show(); $('.'+classname).live('keyup blur',function(){ $.update_text_count($(this)); }); }, update_text_count : function (cur) { var id = cur.attr('id'); if(id == '') { id = cur.attr('name'); } var obj = $('#'+id+'ctr'); if(obj.length > 0) { var len = obj.attr('ref'); if(isNaN(len)) { len=0; } if(len > 0) { var val = ''+cur.val(); if(val.length > len) { val = val.substr(0,len); cur.val( val ); } obj.html(''+(len-val.length)); } } }, validate_email : function (email) { return email.match(/^[\d\w\.\#\$\%&\"\'\*\+\-\/=\?\^\`\{\|\}~_!]+@[\w\d\-]+(\.[\w\d\-]+)*$/); } }); }) (jQuery); /* END UTIL FUNCTIONS */ /* COMMON FUNCTIONS */ function isEmpty (inputStr) { if ( null == inputStr || "" == inputStr ) { return true; } return false; } /* END COMMON */
