function set_cphost(_cphost)
{
  cphost = _cphost;
}

// Embed the "personalize" button on the page
function write_pers_button(button_url, plugin_url, width, height, border, node_id)
{
    //pesky IE likes to add trailing spaces
    // tack on user specific info (makes page cacheable)
    plugin_url = plugin_url.replace(/\s+$/g,"");
    plugin_url += _build_user_info();
    try{ dojo.debug(plugin_url); }
    catch(e){}
    
    SetValues(this.cphost, plugin_url);
    
    // If IE, or with no Netscape popup plugin, 
    // use the normal "personalize" button
    // Safari folks are just out of luck for now... :-(
    if(is_safari) {
        _write_incompatible_button(button_url, width, height, border, node_id);
    }
    else if (is_ie)
    {
        // make anchor
        var anchor = make_node('a', {'href':'javascript://'});
        anchor.onclick = function(){ pop_workspace('', plugin_url); };
        // make button
        var image = _make_pers_img(button_url, width, height, border,
                'Personalize and print your project!');
        // stick in DOM
        var node = document.getElementById(node_id);
        anchor.appendChild(image);
        node.appendChild(anchor);
    }
    else if(!IsPopupPluginUpToDate(true)) {
        // make anchor
        var anchor = make_node('a', {'href':'javascript://'});
        anchor.onclick = function() { InstallPopupPlugin(false); };
        // make button
        var image = _make_pers_img(button_url, width, height, border,
                'Personalize and print your project!');
        // stick in DOM
        var node = document.getElementById(node_id);
        anchor.appendChild(image);
        node.appendChild(anchor);
    }
    // Use the Mozilla popup plugin as the "personalize" button
    else {
        var l = 0;
        var t = 0;
        var w = window.screen.availWidth - 30;
        var h = window.screen.availHeight - 60;
        var popup_size = 'width='+w+',height='+h+',screenX='+l+',screenY='+t;
    
        // create our <embed>
        var p1 = make_node('param', {'name':'srcurl', 'value':button_url});
        var p2 = make_node('param', {'name':'url', 'value':plugin_url});
        var p3 = make_node('param', {'name':'context', 'value':popup_size+','+strPopupOptions});
        var embed = make_node('object',
            {'name':'Personalize',
            'width':width,
            'height':height,
            'border':0,
            'hspace':0,
            'vspace':0,
            'align':'baseline',
            'type':'application/x-popup-plugin',
            'codebase':cphost+'/install/CreateAndPrint.xpi'
            });
        embed.appendChild(p1);
        embed.appendChild(p2);
        embed.appendChild(p3);
        
        // stick <embed> in DOM 
        var node = document.getElementById(node_id);
        node.appendChild(embed);
    }
}

function _build_user_info()
{
    // member number
    var mn = AGCookie.getCookieValue('customer','memnum');
    mn = mn ? mn : 0;
    // member status
    var sts = AGCookie.getCookieValue('customer','status');
    if(!sts)
        sts = 'AFU';
    else
    {
        // convert from integer to useable string
        switch(sts)
        {
            case '1' :  sts = "AFU"; break;
            case '2' :  sts = "RFU"; break;
            case '3' :  sts = "MCP"; break;
            case '4' :  sts = "MCS"; break;
            case '5' :  sts = "RFU"; break;
        }
    }
    // user's name
    var uname = AGCookie.getCookieValue('customer','name').replace('member','');

    // build extra querystring parms
    var extra = "memnum="+mn+"&mstatus="+sts+"&user="+uname;
    
    // AG Beta only logic
    if (window.location.pathname.indexOf('printables')){
       extra += "&navtype=" + getNavTypeFromCookie();
    }
    return extra;
}

// Popup the workspace window for IE
function pop_workspace(strAdditions, plugin_url)
{
    var l = 0;
    var t = 0;
    var w = window.screen.availWidth - 30;
    var h = window.screen.availHeight - 60;
    var strPopupSize = 'width='+w+',height='+h+',left='+l+',top='+t;

    var strURL = (!strAdditions ? plugin_url : plugin_url + strAdditions);
    var pluginWindow = window.open(strURL, '_blank', strPopupSize+','+strPopupOptions);
}

    
function _write_incompatible_button(button_url, width, height, border, node_id) {
    var _alt = 'This project is not compatible with your current browser.';
    if(button_url.indexOf('/product/') == -1) {
        button_url = button_url.replace(/\/button.*/, '/spacer.gif');
        _alt = '';
        height = 1;
    }
    var image = _make_pers_img(button_url, width, height, border, _alt);
    var node = document.getElementById(node_id);
    node.appendChild(image);
    if(button_url.indexOf('/spacer') == -1) {
        checkBrowser(); /* located inside Sniffer.js, will pop-up an alert */
    }
}

function _make_pers_img(button_url, width, height, border, alt) {
    var image = make_node('img',
        {'style':'border-color:black',
        'src':button_url,
        'width':width,
        'height':height,
        'border':border,
        'alt':alt,
        'title':alt
        });
    return image;
}