function PageIdentification () {
    this._isPage = function __isPage(re) {
        var href = document.location.href;
        return re.test(href);
    };

    this.isHomePage = function _isHomePage() {
        var parkName = this.getParkName();
        var re1 = new RegExp(parkName + '\/index.aspx(\\?.*)?$', 'i');
        var re2 = new RegExp(parkName +'\/(index.aspx)?$', 'i');
        return this._isPage(re1) || this._isPage(re2);
    };

    this.isSpanishPage = function _isSpanishPage() {
        var re = /espanol.aspx$/i;
        return this._isPage(re);
    };

    this.isEventsLandingPage = function _isEventsLandingPage() {
        var re = /events\/CalendarEvents.aspx$/i;
        return this._isPage(re);
    };
    
    this.isTicketsLandingPage = function _isTicketsLandingPage() {
        var re = /tickets\/index.aspx$/i;
        return this._isPage(re);
    };
    
    this.isSeasonPassPage = function _isSeasonPassPage() {
        var re = /[playpass|seasonpass|thrillpass].aspx$/i;
        return this._isPage(re);
    };

    this.isParkInfoPage = function _isParkInfoPage() {
        var re = /info\/parkInfo.aspx$/i;
        return this._isPage(re);
    };

    this.isDirectionsPage = function _isDirectionsPage() {
        var re = /info\/directions.aspx/i;
        return this._isPage(re);
    };

    this.isFaqPage = function _isFaqPage() {
        var re = /info\/[faq|faqs].aspx$/i;
        return this._isPage(re);
    };

    this.isSearchPage = function _isSearchPage() {
        var re = /search\/search.aspx$/i;
        return this._isPage(re);
    };

    this.hasForm = function _hasForm() {
        return document.forms.length > 0;
    };

    this.getParkName = function _getParkName() {
        var regex = /.com\/(\w+)\//i;
        if (document.location.href.indexOf(".com") == -1) {
            regex = /\/WORKAREA\/(\w+)\//i;
        }
        var matches = regex.exec(window.location);
        var parkName = matches[1] !== undefined ? matches[1] : matches[2];
        return parkName;
    };
}
