$(document).ready(function () {
    var cadreonTags = new CadreonTags();
    cadreonTags.addTag();
});

function CadreonTags () {
    this.seasonPassTags = {
            america:  
                { name: "Six Flags America Season Pass / Press Release_Landing Page", url: "http://d1qpxk1wfeh8v1.cloudfront.net/tags/1234571051.html" },
            americanadventure: 
                { name: "Six Flags American Adventure Season Pass / Press Release_Landing Page", url: "http://d1qpxk1wfeh8v1.cloudfront.net/tags/1234571052.htm"},
            discoverykingdom: 
                { name: "Six Flags Discovery Kingdom Season Pass / Press Release_Landing Page", url: "http://d1qpxk1wfeh8v1.cloudfront.net/tags/1234571053.htm"},
            fiestatexas: 
                { name: "Six Flags Fiesta Texas Season Pass / Press Release_Landing Page", url: "http://d1qpxk1wfeh8v1.cloudfront.net/tags/1234571054.htm"},
            greatadventure: 
                { name: "Six Flags Great Adventure Season Pass / Press Release_Landing Page", url: "http://d1qpxk1wfeh8v1.cloudfront.net/tags/1234571055.htm"},
            greatamerica: 
                { name: "Six Flags Great America Season Pass / Press Release_Landing Page", url: "http://d1qpxk1wfeh8v1.cloudfront.net/tags/1234571056.htm"},
            greatescape: 
                { name: "Six Flags Great Escape Season Pass / Press Release_Landing Page", url: "http://d1qpxk1wfeh8v1.cloudfront.net/tags/1234571057.htm"},
            hurricaneharbornj: 
                { name: "Six Flags Hurricane Harbor NJ Season Pass / Press Release_Landing Page", url: "http://d1qpxk1wfeh8v1.cloudfront.net/tags/1234571058.htm"},
            hurricaneharbortexas: 
                { name: "Six Flags Hurricane Harbor Texas Season Pass / Press Release_Landing Page", url: "http://d1qpxk1wfeh8v1.cloudfront.net/tags/1234571059.htm"},
            magicmountain: 
                { name: "Six Flags Magic Mountain Season Pass / Press Release_Landing Page", url: "http://d1qpxk1wfeh8v1.cloudfront.net/tags/1234571060.htm"},
            newengland: 
                { name: "Six Flags New England Season Pass / Press Release_Landing Page", url: "http://d1qpxk1wfeh8v1.cloudfront.net/tags/1234571061.htm"},
            overgeorgia: 
                { name: "Six Flags Over Georgia Season Pass / Press Release_Landing Page", url: "http://d1qpxk1wfeh8v1.cloudfront.net/tags/1234571062.htm"},            
            overtexas: 
                { name: "Six Flags Over Texas Season Pass / Press Release_Landing Page", url: "http://d1qpxk1wfeh8v1.cloudfront.net/tags/1234571064.htm"},
            stlouis: 
                { name: "Six Flags St. Louis Season Pass / Press Release_Landing Page", url: "http://d1qpxk1wfeh8v1.cloudfront.net/tags/1234571065.htm"},
            whitewater: 
                { name: "Six Flags White Water Season Pass / Press Release_Landing Page", url: "http://d1qpxk1wfeh8v1.cloudfront.net/tags/1234571066.htm"}
    };
    
    this.otherTags = {
            national: 
                { name: "Six Flags Homepage_Homepage", url: "http://d1qpxk1wfeh8v1.cloudfront.net/tags/1234571050.html" },
            overgeorgia: 
                { name: "Six Flags Over Georgia Tickets_Landing Page", url: "http://d1qpxk1wfeh8v1.cloudfront.net/tags/1234571063.htm"}
    };
    
    this.addTag = function _addTag() {
        var tagInfo = this.findTagInfo();
        
        if(tagInfo != null) {
            var tag = this.createTag(tagInfo.name, tagInfo.url);
            $('body').append(tag);
        }
    };
    
    this.findTagInfo = function _findTagInfo() {
        var pageId = new PageIdentification();
        var parkName = pageId.getParkName().toLowerCase();
        var tagInfo = { name: "", url: null };
        
        if (pageId.isSeasonPassPage() == true) {
            try {
                // get the season pass object
                tagInfo = this.seasonPassTags[parkName];
            } catch (e) {
                
            }
        } else if (pageId.isHomePage()) {
            try {
                // get the other object
                tagInfo = this.otherTags[parkName];
            } catch (e) {
                
            }
        }
        
        return tagInfo;
    };
    
    this.createTag = function _createTag(name, url) {
        var tag = "";
        if (url != null) {
            tag = "<!--Cadreon Total Tag Start. Install just before closing body tag--><!--" + 
              name + "--><iframe src=\"" + url + 
              "\" width=\"1\" height=\"1\" frameborder=\"0\" scrolling=\"No\" marginheight=\"0\" " +
              "marginwidth=\"0\" topmargin=\"0\" leftmargin=\"0\"></iframe><!--Cadreon Beacon End-->";
        }
        
        return tag;
    };
}

