/* Contains: /tmp/deploy_20120126180421_08792/webv4/js/google/analytics_controllerv4.js */

var _gaq=_gaq||[];var _vis_opt_GA_slot;function Analytics_Controller(oCustomParam)
{var
_oThat=this,_oTopHostRE="(internal\.|bct\.|qa\.|www\.|hotel\.|meilleureaffaire\.)",_bComeFromGoogleImage=false,_bInitFinished=false,_bGALoaded=false,_iCurrentRetry=0,_iCurrentRetryFB=0,_iInterval=false,_iIntervalFB=false,_aEventTracked=[],_sUndefined,_bTrackFaceBook=false,_aTrackEventBeforeLoad=[],_aTrackPageBeforeLoad=[],_oParams={trackPageAtLaunch:true,trackPageViewAtLaunch:true,googleAnalyticsSrc:'/js/ga.js',trackPageUrl:false,googleAccountId:'UA-15702249-1',googleCampaignTimeOut:2592000000,domainName:false,trackPageViewUrl:false,geozone:false,trackingMode:'entries',pageEvents:false,eventsToTrack:false,customVars:[],trackFB:false,transactionToTrack:[],itemToTrack:[],abTesting:false,abTestingVWO:false},_oParamsVWO={iGASlot:3,sUrlDefault:document.URL,sUrlABTesting:'http://'+document.location.hostname+'/testvwo/',iVWOAccountId:7158};Analytics_Controller.prototype.init=function(oCustomParam)
{if(_sUndefined!==oCustomParam&&typeof(oCustomParam)==='object')
{for(oCustomParamRow in oCustomParam)
{_oParams[oCustomParamRow]=oCustomParam[oCustomParamRow];}}
_oThat.cleanRecordedEvent();if(_oParams.abTestingVWO)
{_prepareVWO();}
_loadGoogleAnalyticsApi();_initUnfilledValues();_gaq.push(['_setAccount',_oParams.googleAccountId],['_setCampaignCookieTimeout',_oParams.googleCampaignTimeOut],['_setDomainName',_oParams.domainName],['_setAllowHash',false],['_setAllowAnchor',true]);_preventDeserterVisitor();_initOrganicSearchEngine();_setCustomVars();_trackRecordedItem();_trackRecordedTransaction();_unpreventDeserterVisitor();if(true===_oParams.trackPageAtLaunch)
{_bInitFinished=true;if(typeof(_vis_opt_GA_track)=="function"){_vis_opt_GA_track();}
if(true===_oParams.trackPageViewAtLaunch){_oThat.sendTracking()};_oThat.launchTransactionTracking();}
_oThat.detectjQueryReady();_oThat.detectFBReady();}
function _prepareVWO()
{_vis_opt_GA_slot=_oParamsVWO.iGASlot;if(_oParams.abTesting)
{var _vis_opt_url=_oParamsVWO.sUrlABTesting;}
else
{var _vis_opt_url=_oParamsVWO.sUrlDefault;}
var vwo=document.createElement('script');vwo.type='text/javascript';vwo.src='http://dev.visualwebsiteoptimizer.com/deploy/js_visitor_settings.php?v=1&a='+_oParamsVWO.iVWOAccountId+'&url='+encodeURIComponent(_vis_opt_url)+'&random='+Math.random();(document.getElementsByTagName('head')[0]||document.getElementsByTagName('body')[0]).appendChild(vwo);if(typeof(_vis_opt_settings_loaded)=="boolean")
{var vwo=document.createElement('script');vwo.type='text/javascript';vwo.src='http://d5phz18u4wuww.cloudfront.net/vis_opt_no_jquery.js';(document.getElementsByTagName('head')[0]||document.getElementsByTagName('body')[0]).appendChild(vwo);if(typeof(_vis_opt_top_initialize)=="function")
{_vis_opt_top_initialize();vwo_$(document).ready(function(){_vis_opt_bottom_initialize();});}}}
this.detectjQueryReady=function()
{function detectLoop()
{setTimeout(function()
{if(typeof(jQuery)==='undefined'&&_iCurrentRetry<5)
{detectLoop();_iCurrentRetry++;}
else if(typeof($)!=='undefined')
{_initAfterLoad();}},300);}
detectLoop();}
this.detectFBReady=function()
{function detectLoopFB()
{setTimeout(function()
{if(typeof(FB)==='undefined'&&_iCurrentRetryFB<10)
{detectLoopFB();_iCurrentRetryFB++;}
else if(typeof(FB)!=='undefined')
{_initAfterLoadFB();}},300);}
detectLoopFB();}
function _initAfterLoad()
{for(var i=0;i<_aTrackEventBeforeLoad.length;i++)
{_oThat.trackEventBySelector(_aTrackEventBeforeLoad[i][0],_aTrackEventBeforeLoad[i][1],_aTrackEventBeforeLoad[i][2],_aTrackEventBeforeLoad[i][3],_aTrackEventBeforeLoad[i][4],_aTrackEventBeforeLoad[i][5],_aTrackEventBeforeLoad[i][6])}
for(var i=0;i<_aTrackPageBeforeLoad.length;i++)
{_oThat.trackPageBySelector(_aTrackPageBeforeLoad[i][0],_aTrackPageBeforeLoad[i][1],_aTrackPageBeforeLoad[i][2],_aTrackPageBeforeLoad[i][3],_aTrackPageBeforeLoad[i][4],_aTrackPageBeforeLoad[i][5],_aTrackPageBeforeLoad[i][6])}
_bindCustomEvents();}
function _initAfterLoadFB()
{if(true===_oParams.trackFB){_oParams.trackFB=false;}}
function _bindCustomEvents()
{for(var i=0;i<_oParams.eventsToTrack.length;i++)
{_oThat.trackEventBySelector(_oParams.eventsToTrack[i][0],_oParams.eventsToTrack[i][1],_oParams.eventsToTrack[i][2],_oParams.eventsToTrack[i][3],_oParams.eventsToTrack[i][4],_oParams.eventsToTrack[i][5],_oParams.eventsToTrack[i][6]);}
for(var i=0;i<_oParams.pageEvents.length;i++)
{_oThat.trackPageBySelector(_oParams.pageEvents[i][0],_oParams.pageEvents[i][1],_oParams.pageEvents[i][2],_oParams.pageEvents[i][3],_oParams.pageEvents[i][4]);}}
function _loadGoogleAnalyticsApi()
{if(false===_bGALoaded)
{var ga=document.createElement('script');ga.type='text/javascript';ga.async=true;ga.src=_oParams.googleAnalyticsSrc;(document.getElementsByTagName('head')[0]||document.getElementsByTagName('body')[0]).appendChild(ga);_bGALoaded=true;}}
function _initUnfilledValues()
{if(false===_oParams.domainName)
{var sTopHost=window.location.hostname;_oParams.domainName=sTopHost.replace(new RegExp(_oTopHostRE,'i'),'');}}
function _initOrganicSearchEngine()
{var ref=document.referrer;if(ref.search(/google.([^\/]+)\/(ima?g|.*[?&]tbm=isch|.*[?&]site=images)/i)!=-1)
{var regex=/google.([^\/]+)\/.*/i;var match=regex.exec(ref);_gaq.push(['_addOrganic','images.google','q',true]);if(ref.search(/[?&]prev=/i)!=-1)
{regex=/[?&]prev=([^&]*)/i;var match2=regex.exec(ref);_gaq.push(['_setReferrerOverride','http://images.google.'+match[1]+unescape(match2[1])]);}
else
{_gaq.push(['_setReferrerOverride','http://images.'+match[0]]);}}}
function _setCustomVars()
{var aCustomVars=[];if(document.referrer.length>0&&document.referrer.search(/http:\/\/[a-zA-Z0-9]+\.twenga\./)!=0&&document.referrer.search(/http:\/\/www\.google\./)==0)
{if(document.cookie.indexOf("__utmb")!=-1&&document.cookie.indexOf("__utmc")!=-1)
{aCustomVars.push(['_setCustomVar',4,'Round-trip','Returning-session-visitor',2]);}}
if(_oParams.customVars.length>0)
{aCustomVars=aCustomVars.concat(_oParams.customVars);}
for(var i=0;i<aCustomVars.length;i++)
{_gaq.push(aCustomVars[i]);}}
function _trackRecordedTransaction()
{if(_oParams.transactionToTrack.length>0)
{var aTransaction=['_addTrans'].concat(_oParams.transactionToTrack);_gaq.push(aTransaction);}}
function _trackRecordedItem()
{if(_oParams.itemToTrack.length>0)
{var aTransaction=['_addItem'].concat(_oParams.itemToTrack);_gaq.push(aTransaction);}}
this.launchTransactionTracking=function()
{if(_oParams.itemToTrack.length>0&&_oParams.transactionToTrack.length>0)
{_gaq.push(['_trackTrans']);}}
this.sendTracking=function(sCustomTrackUrl)
{var aCallParam=['_trackPageview'];if(_sUndefined===sCustomTrackUrl){sCustomTrackUrl=false;}
var sTrackUrl=(_sUndefined!==_oParams.trackPageViewUrl)?_oParams.trackPageViewUrl:sCustomTrackUrl;aCallParam.push(sTrackUrl);_gaq.push(aCallParam);_oThat.sendLoadTime();}
this.sendLoadTime=function()
{var aCallParam=['_trackPageLoadTime'];_gaq.push(aCallParam);}
this.trackEventBySelector=function(sEventSelector,sEventCategory,sEventAction,sEventLabel,sRootSupervisor,sEventType,aEventValue)
{if(_sUndefined===sRootSupervisor||null===sRootSupervisor){sRootSupervisor='body';}
if(_sUndefined===sEventType||null===sEventType){sEventType='mousedown';}
if(typeof($)==='undefined')
{_aTrackEventBeforeLoad.push([sEventSelector,sEventCategory,sEventAction,sEventLabel,sRootSupervisor,sEventType,aEventValue]);return;}
var oDomPart={oNode:$(sRootSupervisor),sSelector:sEventSelector}
oDomPart.oNode.delegate(sEventSelector,sEventType+'.analytics',function(eEvent)
{if(sEventType==='change'&&_sUndefined!==aEventValue)
{var mCurrentValue=$(eEvent.target).val();if(_sUndefined!==aEventValue[mCurrentValue])
{var aEvent=['_trackEvent'];for(var i=0;i<aEventValue[mCurrentValue].length;i++)
{aEvent.push(aEventValue[mCurrentValue][i]);}}
return true;}
else{var aEvent=['_trackEvent',sEventCategory,sEventAction];if(_sUndefined!==sEventLabel&&null!==sEventLabel)
{aEvent.push(sEventLabel);}}
_gaq.push(aEvent);});_aEventTracked.push(oDomPart);}
this.cleanRecordedEvent=function()
{for(var i=0;i<_aEventTracked.length;i++)
{_aEventTracked[i].oNode.undelegate('.analytics');}
_aEventTracked=[];_aTrackEventBeforeLoad=[];_aTrackPageBeforeLoad=[];}
this.trackPageBySelector=function(sEventSelector,sTrackPageUrl,sRootSupervisor,sEventType,aEventValue)
{if(_sUndefined===sRootSupervisor||null===sRootSupervisor){sRootSupervisor='body';}
if(_sUndefined===sEventType||null===sEventType){sEventType='mousedown';}
if(typeof($)==='undefined')
{_aTrackPageBeforeLoad.push([sEventSelector,sEventCategory,sEventAction,sEventLabel,sRootSupervisor,sEventType,aEventValue]);return;}
var oDomPart={oNode:$(sRootSupervisor),sSelector:sEventSelector}
oDomPart.oNode.delegate(sEventSelector,sEventType+'.analytics',function(eEvent)
{if(sEventType==='change'&&_sUndefined!==aEventValue)
{var mCurrentValue=$(eEvent.target).val();if(_sUndefined!==aEventValue[mCurrentValue])
{var aEvent=['_trackPageview',aEventValue[mCurrentValue][i]];}
return true;}
else{var aEvent=['_trackPageview',sTrackPageUrl];}
_gaq.push(aEvent);});_aEventTracked.push(oDomPart);}
this.trackEventNow=function(sEventCategory,sEventAction,sEventLabel)
{var aEvent=['_trackEvent',sEventCategory];if(_sUndefined!==sEventAction){aEvent.push(sEventAction);}
if(_sUndefined!==sEventLabel){aEvent.push(sEventLabel);}
_gaq.push(aEvent);}
this.addTransaction=function(sOrderId,sAffiliationStoreName,fTotal,fTax,fShipping,sCity,sState,sCountry)
{_gaq.push(['_trackTransaction',sOrderId,sAffiliationName,fTotal,fTax,fShipping,sCity,sState,sCountry]);}
function _preventDeserterVisitor()
{window.onbeforeunload=function(e)
{if(false===_bInitFinished)
{var e=e||window.event;return _oThat.sendTracking();}};this.bPreventQuit=true;}
function _unpreventDeserterVisitor()
{window.onbeforeunload=function(e)
{}}
if(typeof(oCustomParam)=="object")
{_oThat.init(oCustomParam);}}
Analytics_Controller.instance=null;Analytics_Controller.getInstance=function(oCustomsParams){if(this.instance==null){this.instance=new Analytics_Controller(oCustomsParams);}
return this.instance;}
