var QUOTE_NBR_COOKIE = 'AXA_QUOTE_NO' ;
var POPUP_CONFIRMED  = 'popup_confirmed' ;
var POPUP_CLOSED     = 'popup_closed' ;
var POPUP_DISPLAYED  = 'popup_displayed' ;

function createRetrieveLayer(cntNbr) {
	  var imgUrl = (("https:" == document.location.protocol) ? "https://" : "http://") + (document.location.hostname) +
        "/AD.RetrieveQuoteManager.PS.Manager/img/retrievePopup.gif" ;
    
    $("<div id='retrieveLayer' style='display: none; font: bold 13px/26px verdana, geneva, sans-serif; width: 580px; height: 295px;'/>").appendTo('body') ;
    $("<img id='retrievePopup' src='" + imgUrl + "' style='border: 0px;'>").appendTo('#retrieveLayer') ;
    $("<div id='cntNbrWrapper' style='font-size: 13px; color: #1A449F; position: relative; bottom: 201px; left: 193px;'/>").appendTo('#retrieveLayer') ;
    $("<span id='cntNbrRetrieve' name='cntNbrRetrieve'/>").appendTo('#cntNbrWrapper') ;
    $('#cntNbrRetrieve').html(cntNbr) ;
}

function check_quote_cookie() {
    var quoteNbrCookieValue = readCookie(QUOTE_NBR_COOKIE) ;
    if (quoteNbrCookieValue != null && isProperQuoteNbr(quoteNbrCookieValue) == true && checkUrls() != 'excluded') {
        show_retrieve_popup() ;
    }
}

function show_retrieve_popup() {
    var vertScroll = 0;
    if (typeof( window.pageYOffset ) == 'number') { vertScroll = window.pageYOffset; }
    else if( document.body && document.body.scrollTop ) { vertScroll = document.body.scrollTop; } 
	else if( document.documentElement && document.documentElement.scrollTop ) { vertScroll = document.documentElement.scrollTop; }
	
	var windowHeight = $(window).height();
	var windowWidth  = $(window).width();	
    var imageTop	 = (windowHeight-320)/2;
	var imageLeft	 = (windowWidth-870)/2 + 140;
	if(windowWidth < 870 ) { imageLeft	 = 140; }
    
    $.blockUI({ 
        message: $('#retrieveLayer') ,
        css: { backgroundColor: 'transparent', border: '0px solid #9a9a9a', top: vertScroll + imageTop, left: imageLeft }, 
        overlayCSS: { backgroundColor:'#fff', opacity: '0.4' }
        });
    
    track_retrieve_event(POPUP_DISPLAYED) ;
}

function track_retrieve_event(typeOfEvent) {

    var webServiceUrl = (("https:" == document.location.protocol) ? "https://" : "http://") + (document.location.hostname) +
        "/AD.RetrieveQuoteManager.PS.Manager/retrieveQuote.asmx/TrackQuoteEvent" ;
    
    $.ajax({
		    type: 'POST',
		    url: webServiceUrl,
		    timeout: 90000, 
		    data: {'typeOfEvent' : typeOfEvent }
	     });
}

function close_retrieve_popup(trackEvent) {
    if (trackEvent) {
        track_retrieve_event(POPUP_CLOSED) ;
    }
    delete_retrieve_cookie() ;
    $.unblockUI();
}

function confirm_retrieve_popup() {
    var quoteNbrCookieValue = readCookie(QUOTE_NBR_COOKIE) ;
    var redirectTo = 'https://www.axadirect.pl/narzedzia-online/wroc-do-wyliczenia.html?qnr=' + quoteNbrCookieValue + decodeURIComponent('%26src=popup');
    close_retrieve_popup(false) ;
    track_retrieve_event(POPUP_CONFIRMED) ;
    window.location.href = redirectTo ;
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function delete_retrieve_cookie() {
    createCookie(QUOTE_NBR_COOKIE, "", -1);
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function isProperQuoteNbr(quoteNbr) {
    var regexp = /^\d{7}$/ ;
    return regexp.test(quoteNbr) ;
}

function checkUrls() {
    if (location.href.indexOf('/twoje-wyliczenie/') != -1 || location.href.indexOf('/partners/01/') != -1 || location.href.indexOf('/partners/02/') != -1 ||
        location.href.indexOf('/partners/03/') != -1 || location.href.indexOf('/partners/04/') != -1 || location.href.indexOf('/partners/05/') != -1 ||
        location.href.indexOf('/partners/06/') != -1) {
            return 'excluded' ;
        } 
        else {
            return 'allowed' ;
        }   
}

$(document).ready(function() {
    
    var cntNbr = readCookie(QUOTE_NBR_COOKIE) ;
    createRetrieveLayer(cntNbr);
    check_quote_cookie();
    
    $('#retrieveLayer').imagemap(
        [
            { top_x: 367, top_y: 221, bottom_x: 441, bottom_y: 261, callback: function(){ confirm_retrieve_popup(); } },
            { top_x: 456, top_y: 222, bottom_x: 530, bottom_y: 261, callback: function(){ close_retrieve_popup(true); } },
            { top_x: 544, top_y: 20, bottom_x: 567, bottom_y: 44, callback: function(){ close_retrieve_popup(true); } }
        ]
    ) ; 
});
