/** 
  * $Id: piximg.js,v 1.1.2.2 2005/10/07 08:48:59 carsten Exp $
  *
  * Some methods for picolo (meta-tag) request handling. 
  *
  * (c) 2005 massandra eBusiness GmBH                   
 **/

/** global configuration */
/*## lokaler Testzugriff */
/*
var requestUrl = "http://192.168.1.3:13080/picolo/PicoloServlet";
var serverUrl  = "http://192.168.1.3";
*/
var serverUrl  = "http://www.massandra.de";
var requestUrl = "http://picolo.massandra.net/picolo-massandra/PicoloServlet";
var queryName  = "&eventid=";

/** "Alter" Zugriff auf die Picolos, ohne Auswertung der Meta-Tagss */

/** cat/type/action muessen in DB definiert werden */
function createPicolo(event, cat, type, action) 
{
    /* alt:var eventStr = "&eventid="+event+"&cat="+cat+"&type="+type+"&action="+action;*/
    if(typeof event == 'undefined')
        return createPicoloEvent(queryName+"9999_0");

    eventStr = queryName+event+"_"+type;
    
    return createPicoloEvent(eventStr);
}

/** create picolorequest with parameters from metatags */
/* ids have to be in the head marked like this:       */
/*    <meta name="picolo_event" content="4711_0">     */
/* multiple ids are possible. _0 is local, _1 global */
/* event.*/
function createPicoloFromMeta()
{
    pEvent = "";

    metaNodes = document.getElementsByTagName("Meta");
    for(i = 0; i < metaNodes.length; i++)
    {
        tagName  = metaNodes[i].name;
        tagValue = metaNodes[i].content;
        if(tagName.match(/^picolo_event/))
            pEvent += queryName+tagValue; 
    }
    return createPicoloEvent(pEvent);
}

/* build request url for picolo access with current page and 
   referrer.*/
function buildRequestUrl()
{ 
    str = "?page="+escape(window.location);
    var referrer = escape((document.referrer == top.location.href) ? 
                           top.document.referrer : document.referrer);
    str +="&refer="+referrer;
    return requestUrl + str;
}

/* create picolo request from ';' separated list of */
/* EVENTID_FLAG */
function createPicoloFromString(eventList)
{
    pEvent = "";
    if(eventList && eventList!="")
    {
        events = eventList.split(";");
        for(i = 0; i < events.length; i++)
        {
            pEvent += queryName+events[i]; 
        }
    }
    return createPicoloEvent(pEvent);
}

/* prepare complete request for picolo, -99 if no ID set */
function createPicoloEvent(eventStr)
{
    if(typeof eventStr == 'undefined')
        eventStr = queryName +"-99_0";
    return buildRequestUrl()+eventStr;
}

/* DEBUG */
/** show all metatags from current document */
function showAllMeta()
{
    var metaNodes = document.getElementsByTagName("Meta");
    for(i = 0; i < metaNodes.length; i++)
    {
        document.write("Meta : ["+i+"]"+ metaNodes[i].name+"="+metaNodes[i].content+"<br>");
    }
}

/** check referrer */ 
function getReferrer()
{
    var referrer = escape((document.referrer == top.location.href) ? 
                           top.document.referrer : document.referrer);
    return referrer; 
}

/** trigger for reload current frame */
function loaded()
{
    document.location.reload();
}

/** show all metatags from another fram */
function showFrameMeta()
{
    var metaNodes = parent.UserFrame.UserView.document.getElementsByTagName("Meta");
    for(i = 0; i < metaNodes.length; i++)
    {
        document.write("Meta : "+ metaNodes[i].name+"="+metaNodes[i].content+"<br>");
    }
}
