if (!THEBAR) var THEBAR = {};
var nameCategory = "";
var nameCategory = "";

    THEBAR.track = function (type, name, data1, data2, data3, data4, data5, data6, data7, data8) {
     
        if(name == "Pages_default" || name == "default") /* hack: To avoid different tags "Pages_default" and "default" on same page */
            name = "Home";
            
	    if (typeof cmSetProduction == "undefined") return;
	    if (document.location.hostname == "www.thebar.com" || document.location.hostname == "www2.thebar.com") {
		    cmSetProduction();
	    }
	    var explodedPath = document.location.pathname.split("/");
	    if (explodedPath[1]) {
		    var namePrefix = "TheBar_" + explodedPath[1].replace("-", "_") + "_";
		    switch (explodedPath[1].toLowerCase()) {
		    case 'en-us':
			    cm_ClientID = "90146718";
			    break;;
		    case 'en-ca':
			    cm_ClientID = "";
			    break;
		    }
	    } else {
		    var namePrefix = "TheBar_EN_ROW_";
		    cm_ClientID = "";
	    }
	    name = name.replace(/[`~!@#$%^&*()=+\[\]\\;\'\"<.>?]/g, "");
	    data1 = data1.replace(/[`~!#$%^&*()=+\[\]\\;\'\"<>?]/g, "");
	    switch (type) {
	    case "page":
		    if (typeof cmCreatePageviewTag == "function") {
			    // data1 = categoryId
			    // data2 = search term
			    // data3 = number of search results
			    cmCreatePageviewTag(namePrefix + name, namePrefix + data1, data2, data3);
		    }
		    break;
	    case "manual":
		    if (typeof cmCreateManualLinkClickTag == "function") {
			    // data1 = actionName
			    cmCreateManualLinkClickTag(document.location.href, data1, namePrefix + name);
		    }
		    break;
	    case "conversionStart":
		    if (typeof cmCreateConversionEventTag == "function") {
			    if (!data2) data2 = 1;
			    // data1 = eventCategoryId
			    // data2 = points
			    cmCreateConversionEventTag(namePrefix + name, 1, namePrefix + data1, data2);
		    }
		    break;
	    case "conversionEnd":
		    if (typeof cmCreateConversionEventTag == "function") {
			    if (!data2) data2 = 2;
			    // data1 = eventCategoryId
			    // data2 = points
			    cmCreateConversionEventTag(namePrefix + name, 2, namePrefix + data1, data2);
		    }
		    break;
	    case "error":
		    if (typeof cmCreateErrorTag == "function") {
			    // data1 = categoryId
			    cmCreateErrorTag(namePrefix + name, namePrefix + data1);
		    }
		    break;
	    case "element":
		    if (typeof cmCreatePageElementTag == "function") {
			    // data1 = categoryId
			    // name = elementId
		        // cmCreatePageElementTag(data2, data1.replace(/[ .\(\)]/g, "").substr(0, 60), namePrefix + name, namePrefix + data1);
		        cmCreatePageElementTag(namePrefix + name, namePrefix + data1);

		    }
		    break;
	    case "registration":
	        if (typeof cmCreateRegistrationTag == "function") {
	            //name--customerId--email
			    // data1 = city
	            // data2 = state
			    //data3=zip
			  
	            //cmCreateRegistrationTag(name, data1, data2, data3);
	            cmCreateRegistrationTag(name, data1, data2, data3, data4, data5, data6, data7, data8);
		    }
		    break;		    
		case "search":
		    if (typeof cmCreatePageviewTag == "function") {
			    // data1 = categoryId
			    // data2 = search term
			    // data3 = number of search results
			    cmCreatePageviewTag("Search Results: Successful", "SEARCH", data1);
		    }
		    break;		
	    }
	    //console.log(name);
    };

    // This function will clean up the name and category values to be used for page view tags
    THEBAR.cleanup = function()
    {
        var urlPath = document.location.pathname.split("/");

            if (urlPath[2] && urlPath[3]) {
                nameCategory = urlPath[2].replace("-", "_");
            }
            else {

                var page = urlPath[2].replace(".aspx", "");
                nameCategory = page.replace("-", "_");
                namePage = nameCategory;

            }

            if (urlPath[3] && urlPath[4]) {
                nameCategory = nameCategory + "_" + urlPath[3].replace("-", "_"); 
            }
            else {

                if (urlPath[3]) {
                    var page = urlPath[3].replace(".aspx", "");
                    namePage = nameCategory + "_" + page.replace("-", "_");


                }

            }

            if (urlPath[4] && urlPath[5]) {
                nameCategory = nameCategory + "_" + urlPath[4].replace("-", "_");
            }
            else {

                if (urlPath[4]) {

                var page = urlPath[4].replace(".aspx", "");
                namePage = nameCategory + "_" + page.replace("-", "_");

                }

            }

            nameCategory = nameCategory.replace("-", "_");
            nameCategory = nameCategory.replace("+", "_");

            namePage = namePage.replace("-", "_");
            namePage = namePage.replace("+", "_");
            
            return namePage;
    };

    // The function is specifically created for throwing the page view tag separately and not on document.ready. This was required for where to buy page.
    THEBAR.trackpage = function()
    {
        var namePage1 = THEBAR.cleanup();
        
        THEBAR.track("page", namePage1, nameCategory);
    };
    
    
    $(document).ready(function() {


//        var urlPath = document.location.pathname.split("/");

//        if (urlPath[2] && urlPath[3]) {
//            nameCategory = urlPath[2].replace("-", "_");
//        }
//        else {

//            var page = urlPath[2].replace(".aspx", "");
//            nameCategory = page.replace("-", "_");
//            namePage = nameCategory;

//        }

//        if (urlPath[3] && urlPath[4]) {
//            nameCategory = nameCategory + "_" + urlPath[3].replace("-", "_"); 
//        }
//        else {

//            if (urlPath[3]) {
//                var page = urlPath[3].replace(".aspx", "");
//                namePage = nameCategory + "_" + page.replace("-", "_");


//            }

//        }

//        if (urlPath[4] && urlPath[5]) {
//            nameCategory = nameCategory + "_" + urlPath[4].replace("-", "_");
//        }
//        else {

//            if (urlPath[4]) {

//            var page = urlPath[4].replace(".aspx", "");
//            namePage = nameCategory + "_" + page.replace("-", "_");

//            }

//        }

//        nameCategory = nameCategory.replace("-", "_");
//        nameCategory = nameCategory.replace("+", "_");

//        namePage = namePage.replace("-", "_");
//        namePage = namePage.replace("+", "_");

//        $("a").click(function() {
//            THEBAR.track("manual", nameCategory, $(this).attr("href"));

//        });

        namePage = THEBAR.cleanup();
        
        if(document.getElementById('divGateway') == null) /* hack: Don't fire page tag if gateway is on page */
        {
        // Do not fire this page view tag on search page
            var pos = namePage.indexOf("search");
            if (pos < 0)
            {
                pos = namePage.indexOf("where_to_buy");
                if(pos < 0)
                {
                    THEBAR.track("page", namePage, nameCategory);
                }
            }
        }
    });


