var _gaq = _gaq || []; function gaTrackPageview(vpv){ try{ _gaq.push(['_trackPageview',vpv]); _gaq.push(['rollup._trackPageview',vpv]); } catch(e){} } function gaTrackEvent(gaCategory,gaAction,gaLabel) { try{ _gaq.push(['_trackEvent',gaCategory,gaAction,gaLabel]); _gaq.push(['rollup._trackEvent',gaCategory,gaAction,gaLabel]); } catch(e){} } if (typeof jQuery != 'undefined') { jQuery(document).ready(function($) { var filetypes = /\.(zip|exe|pdf|doc*|xls*|ppt*|mp3)$/i; var baseHref = ''; if (jQuery('base').attr('href') != undefined) baseHref = jQuery('base').attr('href'); jQuery('a').each(function() { var href = jQuery(this).attr('href'); if (href && (href.match(/^https?\:/i)) && (!href.match('shopbosetti.com'))&& !href.match('knobs4less.com')) { jQuery(this).click(function() { var extLink = href.replace(/^https?\:\/\//i, ''); _gaq.push(['External','Click',extLink]); if (jQuery(this).attr('target') != undefined && jQuery(this).attr('target').toLowerCase() != '_blank' && jQuery(this).attr('target').toLowerCase() != '_new' && jQuery(this).attr('target').toLowerCase() != 'chat53176943') { setTimeout(function() { location.href = href; }, 200); return false; } }); } else if (href && href.match(/^mailto\:/i)) { jQuery(this).click(function() { var mailLink = href.replace(/^mailto\:/i, ''); _gaq.push(['Email','Click',mailLink]); }); } else if (href && href.match(filetypes)) { jQuery(this).click(function() { var extension = (/[.]/.exec(href)) ? /[^.]+$/.exec(href) : undefined; var filePath = href; _gaq.push(['Download','Click-' + extension, filePath]); if (jQuery(this).attr('target') != undefined && jQuery(this).attr('target').toLowerCase() != '_blank') { setTimeout(function() { location.href = baseHref + href; }, 200); return false; } }); } }); _ga.trackSocial(); }); } var _ga = _ga || {}; _ga.trackSocial = function(opt_pageUrl, opt_trackerName) { _ga.trackFacebook(opt_pageUrl, opt_trackerName); _ga.trackTwitter(opt_pageUrl, opt_trackerName); }; _ga.trackFacebook = function(opt_pageUrl, opt_trackerName) { var trackerName = _ga.buildTrackerName_(opt_trackerName); try { if (FB && FB.Event && FB.Event.subscribe) { FB.Event.subscribe('edge.create', function(targetUrl) { _gaq.push([trackerName + '_trackSocial', 'facebook', 'like', targetUrl, opt_pageUrl]); }); FB.Event.subscribe('edge.remove', function(targetUrl) { _gaq.push([trackerName + '_trackSocial', 'facebook', 'unlike', targetUrl, opt_pageUrl]); }); FB.Event.subscribe('message.send', function(targetUrl) { _gaq.push([trackerName + '_trackSocial', 'facebook', 'send', targetUrl, opt_pageUrl]); }); } } catch (e) {} }; _ga.buildTrackerName_ = function(opt_trackerName) { return opt_trackerName ? opt_trackerName + '.' : ''; }; _ga.trackTwitter = function(opt_pageUrl, opt_trackerName) { var trackerName = _ga.buildTrackerName_(opt_trackerName); try { if (twttr && twttr.events && twttr.events.bind) { twttr.events.bind('tweet', function(event) { if (event) { var targetUrl; // Default value is undefined. if (event.target && event.target.nodeName == 'IFRAME') { targetUrl = _ga.extractParamFromUri_(event.target.src, 'url'); } _gaq.push([trackerName + '_trackSocial', 'twitter', 'tweet', targetUrl, opt_pageUrl]); } }); } } catch (e) {} }; _ga.extractParamFromUri_ = function(uri, paramName) { if (!uri) { return; } var uri = uri.split('#')[0]; // Remove anchor. var parts = uri.split('?'); // Check for query params. if (parts.length == 1) { return; } var query = decodeURI(parts[1]); // Find url param. paramName += '='; var params = query.split('&'); for (var i = 0, param; param = params[i]; ++i) { if (param.indexOf(paramName) === 0) { return unescape(param.split('=')[1]); } } return; }