var _AD_ORDER_ID = -1;

AdVariables = function()
{
    this.loadSections();
}

AdVariables.prototype = 
{    
    loadSections: function()
    {
        this._section = '';
        this._subSection = '';
        var zone = this.getZone();
        if (zone == 'eventpage' || zone == 'confirmationpage')
        {
            var categories = this.getCategoryNames(this.getEventCategories());
            if (zone == 'eventpage')
            {
                if (categories != null)
                {
                    this._section = categories[0];
                    this._subSection = categories[1];
                }
            }
            else
            {
                this._section = zone;
                if (categories != null) this._subSection = categories[0];            
            }
        }
        else 
        {
            this._section = zone;
            if (zone == 'searchpage')
            {

		var catID = this.getSearchCategory();
                if (catID)
                {
                	categoryNames = this.getCategoryNames([catID]);
                        if (categoryNames)
                        {
                           this._subSection = categoryNames[0];
                        }
                }


                if (!this._subSection || this._subSection.length == 0)
                {
                  this._subSection = this.getSearchRegion();
                }

            }  
            else if (zone == 'venue')
            {
                this._subSection = this.getState()
            }
            else
            {
		        switch (window.location.pathname.toLowerCase())
		        {
		            case '/content/outlets/agencies_act.aspx':
		                this._section = 'agency';
		                this._subSection = 'act';
				break;
		            case '/content/outlets/agencies_nsw.aspx':
		                this._section = 'agency';
		                this._subSection = 'nsw';
				break;
		            case '/content/outlets/agencies_nt.aspx':
		                this._section = 'agency';
		                this._subSection = 'nt';
				break;
		            case '/content/outlets/agencies_qld.aspx':
		                this._section = 'agency';
		                this._subSection = 'qld';
				break;
		            case '/content/outlets/agencies_sa.aspx':
		                this._section = 'agency';
		                this._subSection = 'sa';
				break;
		            case '/content/outlets/agencies_tas.aspx':
		                this._section = 'agency';
		                this._subSection = 'tas';
				break;
		            case '/content/outlets/agencies_vic.aspx':
		                this._section = 'agency';
		                this._subSection = 'vic';
				break;
		            case '/content/outlets/agencies_wa.aspx':
		                this._section = 'agency';
		                this._subSection = 'wa';
				break;
                }
            }
        }
    },

    getSection: function()
    {
        return this._section;
    },
    
    getSubSection: function()
    {
        return this._subSection;
    },

	getCategoryNames: function(categoriesArray)
	{
	    if (typeof categoriesArray != 'undefined' && categoriesArray)
	    {
            var categoryNames = {2689:["classical",""],2692:["classical","brass"],2691:["classical","jazz"],2690:["classical","orchestra"],2693:["comedy",""],2696:["comedy","festivals"],2694:["comedy","standup"],2695:["comedy","theatre"],2048:["concerts",""],2679:["concerts","brass"],2051:["concerts","jazz"],2052:["concerts","orchestra"],2050:["concerts","pop"],2049:["concerts","rock"],2680:["concerts","starperformers"],2070:["dance",""],2071:["dance","ballet"],2681:["dance","ballroom"],2682:["dance","classical"],2072:["dance","contemporary"],2073:["dance","jazz"],2074:["dance","modern"],2075:["diningout",""],2076:["diningout","asian"],2077:["diningout","chinese"],2078:["diningout","french"],2079:["diningout","greek"],2080:["diningout","indian"],2081:["diningout","italian"],2082:["diningout","japanese"],2083:["diningout","seafood"],2084:["diningout","spanish"],2085:["diningout","thai"],2086:["diningout","vegetarian"],2661:["experience",""],2736:["experience","action"],2746:["experience","enviroandnewage"],2734:["experience","extreme"],2738:["experience","flight"],2737:["experience","getaway"],2741:["experience","gourmet"],2745:["experience","healthandwellbeing"],2742:["experience","leisure"],2735:["experience","motor"],2743:["experience","natureandoutdoors"],2744:["experience","selfdevelopment"],2740:["experience","tours"],2739:["experience","water"],2683:["family",""],2686:["family","kidsover5"],2685:["family","kidsunder5"],2688:["family","outdoorevents"],2684:["family","pantomime"],2687:["family","theatre"],2704:["festivals",""],2709:["festivals","comedy"],2707:["festivals","cultural"],2710:["festivals","foodandwine"],2705:["festivals","mardigras"],2708:["festivals","music"],2706:["festivals","sydneyfestival"],2729:["lastminute",""],2091:["lifestyle",""],2670:["lifestyle","conferences"],2667:["lifestyle","olympicevents"],2669:["lifestyle","outdoorevents"],2094:["lifestyle","seminars"],2666:["lifestyle","themeparks"],2095:["lifestyle","travelandleisure"],2096:["movies",""],2097:["movies","actionandadventure"],2098:["movies","childrens"],2099:["movies","comedy"],2100:["movies","crimeandmysteryandspy"],2101:["movies","documentary"],2102:["movies","drama"],2103:["movies","horrorandthriller"],2104:["movies","musical"],2105:["movies","romance"],2045:["musicals",""],2671:["musicals","classical"],2046:["musicals","modern"],2665:["musicals","traditional"],2088:["opera",""],2089:["opera","classical"],2090:["opera","lightopera"],2697:["rock",""],2700:["rock","hardrock"],2702:["rock","pop"],2722:["rock","rhythmandblues"],2699:["rock","rockbands"],2701:["rock","softrock"],2698:["rock","starperformers"],2053:["sports",""],2056:["sports","afl"],2677:["sports","athletics"],2057:["sports","basketball"],2675:["sports","cricket"],2060:["sports","golf"],2064:["sports","gymnastics"],2678:["sports","localsporting"],2062:["sports","motorsports"],2676:["sports","olympicevents"],2054:["sports","rugbyleague"],2055:["sports","rugbyunion"],2061:["sports","soccer"],2059:["sports","swimming"],2066:["sports","tennis"],2069:["sports","worldsporting"],2042:["theatre",""],2043:["theatre","comedy"],2044:["theatre","drama"],2674:["theatre","musical"],2672:["theatre","opera"]};
            var category = null;
            for (var i = 0; i < categoriesArray.length; i++)
            {
                if (categoryNames[categoriesArray[i]] != 'undefined' && categoryNames[categoriesArray[i]])
                {
                    if (categoryNames[categoriesArray[i]][1].length > 0)
                    {
                        return categoryNames[categoriesArray[i]];
                    }
                    else if (category == null)
                    {
                        category = categoryNames[categoriesArray[i]];
                    }
                }
            }
            if (category != null) return category;
        }
	    return;
	},
	
	getEventCategories: function()
	{
	    return _showCategoryIds;
	},
	
	getEvents: function()
	{
		if (typeof _showCodes != 'undefined')
		{
			return _showCodes;
		}
		
		var showCodeRegex = /sh=(\w+)/;
		
		if (window.location.search.match(showCodeRegex))
		{
			return showCodeRegex.exec(window.location.search)[1];
		}
		
		return '';
	},
	
    getOrd: function()
    {
         if (_AD_ORDER_ID == -1)
         {
                 _AD_ORDER_ID = Math.random()*10000000000000000;
         }
         return _AD_ORDER_ID;
    },
	
	 getSearchRegion: function()
         {
         	var regionRegex = /r=([^&#$]+)/;
	        if (window.location.search.match(regionRegex))
             {
         	var match = decodeURI(regionRegex.exec(window.location.search)[1]);            
         	match = match.replace(/[\+\s-]/g, '').toLowerCase();
         	if (match == 'national') match = ' ';
         	return match;
             }
         	return '';
         },

	
	getState: function()
	{
		var regionRegex = /state=([^&#$]+)/;
		if (window.location.search.match(regionRegex))
	    {
	        var match = decodeURI(regionRegex.exec(window.location.search)[1]);	        
		    return match.replace(/[\+\s-]/g, '').toLowerCase();
	    }
		return '';
	},
	
	getSearchCategory: function()
	{
		var categoryRegex = /c=([^&#$]+)/;
		if (window.location.search.match(categoryRegex))
	    {
		    return categoryRegex.exec(window.location.search)[1];
	    }
		return;
	},

	getZone: function()
	{
		switch (window.location.pathname.toLowerCase())
		{
			case '/':
			case '/default.aspx':
				return 'homepage';
			case '/search/searchresults.aspx':
				return 'searchpage';
			case '/shows/show.aspx':
				return 'eventpage';
			case '/secure/confirm.aspx':
				return 'confirmationpage';
			case '/venues/venues.aspx':
				return 'venue';
			case '/content/venue.aspx':
				return 'venue';
			case '/content/outlets/agency.aspx':
				return 'agency';

	}
		return 'runofsite';
	}
};
