﻿///<reference path="CliPropConfig6.js" />
// this defines some page opening functions to be provided by the application


function CliBasePages()
{
    // please ensure you expose the methods listed below
    // * IsUrlInClientDomain
    // * IsUrlInBrowserDomain
    
    this.OnlineBrowserDomainHybridLaunchPage = "";//CliBuilOnlineUrl( "/page/hybridLaunch.do?requestedUrl=", true );
    
    function OpenOnlineHomePage() {}
    
    function OpenOfflineHomePage() {}
    function OpenOfflineNoSettingsPage() {}
    
    
    
}

CliBasePages.prototype =
{
    //--------------------------------------------------------------------------------
    IsUrlInClientDomain : function( url )
    {
        var dom = this.GetCurrentDomainFromUrl(url);
        var clientDomain = CliGetClientDomain();

        return ( dom == clientDomain );        
    },
    
    //--------------------------------------------------------------------------------
    IsUrlInBrowserDomain : function( url )
    {
        var dom = this.GetCurrentDomainFromUrl(url);
        var browserDomain = CliGetBrowserDomain();

        return ( dom == browserDomain );        
    },
    
    //--------------------------------------------------------------------------------
    GetCurrentDomainFromUrl : function( url )
    {
        var uri = new Object();
        this._getURL( uri );
        return uri.protocol + uri.dom;  
    },
    
    //TODO:  Strip out what we don't need
    // Current Page Reference
    // copyright Stephen Chapman, 1st Jan 2005
    //--------------------------------------------------------------------------------
    _getURL : function( uri )
    {
        uri.dir = location.href.substring(0, location.href.lastIndexOf('\/'));
        uri.dom = uri.dir; 
        
        if (uri.dom.substr(0,7) == 'http:\/\/') {
            uri.protocol = 'http:\/\/';
            uri.dom = uri.dom.substr(7);
        }
        else if (uri.dom.substr(0,8) == 'https:\/\/') {
            uri.protocol = 'https:\/\/';
            uri.dom = uri.dom.substr(8);
        }
        
        uri.path = ''; 
        var pos = uri.dom.indexOf('\/'); 
        if (pos > -1) {
            uri.path = uri.dom.substr(pos+1); 
            uri.dom = uri.dom.substr(0,pos);
        }
        uri.page = location.href.substring(uri.dir.length+1, location.href.length+1);
        pos = uri.page.indexOf('?'); 
        if (pos > -1) {
            uri.page = uri.page.substring(0, pos);
        }
        pos = uri.page.indexOf('#');
        if (pos > -1) {
            uri.page = uri.page.substring(0, pos);
        }
        uri.ext = ''; 
        pos = uri.page.indexOf('.');
        if (pos > -1) {
            uri.ext =uri.page.substring(pos+1); 
            uri.page = uri.page.substr(0,pos);
        }
        uri.file = uri.page;
        if (uri.ext != '') 
            uri.file += '.' + uri.ext;
        if (uri.file == '') 
            uri.page = 'index';
        uri.args = location.search.substr(1).split("?");
        
        return uri;
    }
}//