

/*~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~*/
/* green pages methods
/*~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~*/

/*** open GP business card from overview ***/
function openBusinessCard ( CWID ) 
{
	var BusinessCardUrl 	= "BusinessCard?open&q0=" + CWID + "&q1=" + CWID;
	var BusinessCardPre 	= "<!-- BEGIN Business Card  -->";
	var BusinessCardPost 	= "<!-- END Business Card  -->";
	// new request
	var request = null;
	// try to create request
	try
	{
		request = new XMLHttpRequest();
	}
	catch ( ms )
	{
		try
		{
			request = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch ( nonms )
		{
			try
			{
				request = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch ( failed )
			{
				request = null;
			}
		}  
	}
	// no request created
	if ( request == null )
		alert ( "Error creating request object!" );

	// erst Popup öffnen, dann request starten !!!
	openPopup ();

	//anfrage erstellen (GET, url ist localhost,
	//request ist asynchron      
	request.open ( "GET", BusinessCardUrl, true );
	
	//Beim abschliessen des request wird diese Funktion ausgeführt
	request.onreadystatechange = function()
	{            
		switch ( request.readyState )
		{
			case 4:
				if ( request.status != 200 )
				{
					alert ( "Error: " + request.status );
					closePopup();
				}
				else
				{
					// extract html from request
					var CompleteHtml = request.responseText;
					// extract business card from html
					var BusinessCardHtml = CompleteHtml.substring ( CompleteHtml.indexOf ( BusinessCardPre ), CompleteHtml.indexOf ( BusinessCardPost ) );
					// write to popup
					document.getElementById ( 'Popup' ).innerHTML 		= '<div class="PopupBusinessCard"><div class="CloseButton" onclick="closePopup();"><div class="PopupTitle">' + CWID.toUpperCase() + '</div></div>' + BusinessCardHtml + '</div>';
				}
				break;
			default:
				//closePopup();
				return false;
				break;     
		}
	};
	// send request
	request.setRequestHeader ( "Content-Type", "application/x-www-form-urlencoded" );
	request.send ( null );
}
/* relict */
function showGreenPagesData ( CWID ) { openBusinessCard ( CWID ); }

/****
* GP search validation
*
* check for search string not empty
*
* example:
* <form method="GET" action="PeopleSearchResults" onsubmit="return validateGreenPagesSearch ( this.q0 );"> 
* <input type="hidden" name="open">
* <input type="text" name="q0" value="enter lastname or CWID" onFocus="this.value =''" >
**/

function validateGreenPagesSearch ( InputField )
{
	if ( InputField.value.Trim () == "" )
	{
		alert ( getError ( "validateGreenPagesSearch" ) );
		InputField.focus ();
		return false;
	}
	// temporary solution until solved by datasoucre
	// replace double quote
	InputField.value = InputField.value.replace ( /"/g, "'" );
	return true;
}

// error messages
GlobalErrors [ "DE" ] [ "validateGreenPagesSearch" ] = "Wen suchen Sie ?";
GlobalErrors [ "EN" ] [ "validateGreenPagesSearch" ] = "Who are you looking for ?";
GlobalErrors [ "FR" ] [ "validateGreenPagesSearch" ] = "Que recherchez-vous ?";
GlobalErrors [ "ES" ] [ "validateGreenPagesSearch" ] = "Wen suchen Sie ?";


/*~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~*/
/* more things
/*~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~*/

/****
** SelectBoxNavi class (pseudo-js-class)
*
* object: Object - reference to context navi div object
*
** public properties
* string: hierarchyPrefix - string to repeat on hierarchy ("_")
*
** public methods
* create
*
**example:
* var Navi = new SelectBoxNavi ( document.getElementsByTagName ("DIV") [ document.getElementsByTagName ("DIV").length - 1 ] );
* Navi.create ();
**/

function SelectBoxNavi ( Obj )
{
	/*** public methods ***/
	// create select
	this.create = function ()
	{
		Obj.className+= ' ContextNavigationSelectBox';
		var ListObj			= Obj.getElementsByTagName ("UL") [ 0 ];
		var ContextOptions 	= this.getLI ( ListObj );
		ListObj.innerHTML = "<select onchange=\"window.open(this.value,'_top','dependent=yes,resizable=yes,status=yes,scrollbars=yes,menubar=yes,toolbar=yes,location=yes');\"></select>";
		ListObj.getElementsByTagName ("SELECT") [ 0 ].options [ 0 ] = new Option ( 'please choose', '' );
		for ( var i = 0; i < ContextOptions.length; i+=2 )
			ListObj.getElementsByTagName ("SELECT") [ 0 ].options [ i/2 + 1 ] = new Option ( ContextOptions [ i ], ContextOptions [ i + 1 ] );
	}
	
	/*** private methods ***/
	// get all LI
	this.getLI = function ( ObjFather, HierarchyCounter )
	{
		var ContextOptions = new Array ();
		var Knoten = ObjFather.firstChild;
		if ( !HierarchyCounter )
			HierarchyCounter = 0;
		var hierarchy = "";
		for ( var i = 0; i < HierarchyCounter; i++ )
			hierarchy+= this.hierarchyPrefix;
		while ( Knoten != null ) 
		{
			if ( Knoten.nodeName == "LI" )
			{
				var Obj_UL 	= Knoten.getElementsByTagName ( "UL" );
				var Obj_A	= Knoten.getElementsByTagName ( "A" );
				// push element to list
				if ( Obj_A.length > 0 )
					ContextOptions.push ( hierarchy + getObjInnerText ( Obj_A [ 0 ] ).superTrim (), Obj_A [ 0 ].href );
				// work on subtree
				if ( Obj_UL.length > 0 )
					ContextOptions = ContextOptions.concat ( this.getLI ( Obj_UL [0], HierarchyCounter + 1 ) );
			}
			Knoten = Knoten.nextSibling;
		}
		return ContextOptions;
	}
	
	/*** public vars ***/
	this.hierarchyPrefix = "  ";
}

/****
** Ticker class (pseudo-js-class)
*
* string: ObjectId - id for the ticker object (div or what ever)
*
** public properties
* integer: Speed - speed of the ticker (60)
* integer: Repeat - multiplies the ticker (12)
* integer: Limit - times to run (4)
* integer: Direction [top,right,bottom,left] - times to run (left)
* string: separator - string to clue the repeat
*   ("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;")
*
** public methods
* play, pause, rewind, toggle
*
**example:
* var JsStockticker = new Ticker ( "StockTicker" );
* JsStockTicker.play();
**/

function Ticker ( ObjectId )
{
	/*** public methods ***/
	// start ticker
	this.play = function ()
	{
		if ( this.Direction == 'right' || this.Direction == 'bottom' )
		{
			if ( Math.abs ( Pos ) == 0 )
			{
				Pos = TextObj.offsetWidth;
				if ( ++CountRuns >= this.Limit )
				{
					this.rewind ();
					return;
				}
			}
			eval ( "TextObj.style." + this.Direction + " = --Pos + 'px'" );
		}
		else
		{
			if ( Math.abs ( Pos ) > TextObj.offsetWidth )
			{
				Pos = 0;
				if ( ++CountRuns >= this.Limit )
				{
					this.rewind ();
					return;
				}
			}
			eval ("TextObj.style." + this.Direction + " = --Pos + 'px'" );
		}
		var _this = this; // trick for pseudo OO-JS
		Running = true;
		Timeout = window.setTimeout ( function() { _this.play (); }, this.Speed );
	}
	// pause ticker
	this.pause = function ()
	{
		Running = false;
		window.clearTimeout ( Timeout );
	}
	// reset ticker
	this.rewind = function ()
	{
		Running 					= false;
		Pos 						= 0;
		TextObj.style.left 	= Pos + 'px';
		CountRuns 					= 0;
		window.clearTimeout ( Timeout );
	}
	// switch between play/pause ticker
	this.toggle = function ()
	{
		if ( this.Running )
			this.pause ();
		else
			this.play ();
	}

	/*** public vars ***/
	// interval time (speed)
	this.Speed 					= 60;
	// multiplier
	this.Repeat 				= 12;
	// multiplier
	this.Limit 					= 4;
	// separator
	this.Separator 				= "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
	// interval time (speed)
	this.Direction				= "left";

	/*** private part ***/
	// try to get object id
	if ( ObjectId )
		var id = ObjectId;
	else
	{
		this.error = "Object id not given"
		return false;
	}
	// starting position
	var Pos 					= 0;
	var Running					= false;
	var Timeout;
	var CountRuns				= 0;
	var Obj 					= document.getElementById ( id );
	// duplicate ticker based on TickerRepeat
	var tempTickerText 			= '';
	var tempSeparator 			= '';
	for ( var i = 0; i < this.Repeat; i++ )
	{
		tempTickerText+= tempSeparator + Obj.innerHTML;
		tempSeparator = this.Separator;
	}
	Obj.innerHTML = "<span>" + tempTickerText + "</span>";
	// add special properties
	var _this = this; // trick for pseudo OO-JS
	Obj.onmouseover 			= function () { _this.pause (); };
	Obj.onmouseout 				= function () { _this.play (); };
	Obj.style.position 			= 'relative';
	Obj.style.overflow 			= 'hidden';
	var TextObj					= Obj.getElementsByTagName("span")[0];
	TextObj.style.position 		= 'relative';
}


/*~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~*/
/* MULTIMEDIA
/*~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~*/

// global vars for zoom function
var FilePrefixNormal	= 'folie';
var FilePrefixZoom 		= 'Slide';
var FilePrefixActual	= FilePrefixNormal;
var SlideWidthActual;
var SlideHeightActual;
var ZoomLinkTextNormal	= 'Zoom';
var ZoomLinkTextZoom	= 'Close Zoom';
// is zoomed
var zoomed				= false;
// timer for slide show
var SlideShowTimer;
var SlideShowSpeed		= 19000;
var SlideShowPlaying	= false;
// additional zoom html
var ZoomAddHtmlPre = '<div class="Multimedia MultimediaZoom"><div class="CloseButton" onClick="zoomPresentation ()"><div class="PopupTitle">&nbsp;</div></div>';
var ZoomAddHtmlPost = '</div>';

/* needed in ppt file
WindowAttachEvent ( 'onload', preloadPresentation );
WindowAttachEvent ( 'onload', playSlideShow );
*/


/***  show selected slide  ***/

function showSlide ( slideNr )
{
	window.clearTimeout ( SlideShowTimer );
	// convert to int if needed
	slideNr 		= parseInt ( slideNr );
	// check slideNr out of range
//	if ( slideNr < 1 || slideNr > Slides [ Slides.length - 1 ] )
	if ( slideNr < 1 || slideNr > Slides.length )
		return;
	if ( !SlideWidthActual )
		SlideWidthActual = SlideWidthNormal;
	if ( !SlideHeightActual )
		SlideHeightActual = SlideHeightNormal;
	// set bg size
	document.getElementById ( 'SlideDiv' ).style.width 				= SlideWidthActual + 'px';
	document.getElementById ( 'SlideDiv' ).style.height 			= SlideHeightActual + 'px';
	// only reload (e.g. zoom/unzoom) => reset blendImage background
	if ( curSlidePos == slideNr )
	{
		var slideUrl 	= docID + '/$file/' + FilePrefixActual + curSlidePos + '.' + GraphicType;
		document.getElementById ( 'SlideDiv' ).style.backgroundImage 	= 'url(' + slideUrl + ')';
		document.getElementById ( 'SlideImg' ).src 						= slideUrl;
	}
	else
	{
		// set current slide number variable
		curSlidePos = slideNr;
		var slideUrl 	= docID + '/$file/' + FilePrefixActual + curSlidePos + '.' + GraphicType;
		// replace slide picture
		blendImage ( 'SlideDiv', 'SlideImg', slideUrl, 1000 );
	}
	// set current slide number text
	setAttributeOnArray ( document.getElementsByName ( 'SlideInfoCurrentNumber' ), 'innerHTML', curSlidePos );
	// set selectbox position
	if ( document.getElementsByName ( "SlideSelect" ).length > 0 )
	{
		objTitle	= document.getElementsByName ( "SlideSelect" ) [0];
		for ( var i = 0; i < objTitle.length; i++ )
			if ( objTitle [ i ].value == curSlidePos )
				objTitle [ i ].selected = true;
	}
	// set different style for links
	if ( Slides.length == 1 )
	{
		setAttributeOnArray ( document.getElementsByName ( 'PreviousLink' ), 'className', 'MultimediaLinkInactive' );
		setAttributeOnArray ( document.getElementsByName ( 'NextLink' ), 'className', 'MultimediaLinkInactive' );
	}
	else if ( slideNr == 1 )
	{
		setAttributeOnArray ( document.getElementsByName ( 'PreviousLink' ), 'className', 'MultimediaLinkInactive' );
		setAttributeOnArray ( document.getElementsByName ( 'NextLink' ), 'className', '' );
	}
	else if ( slideNr == Slides.length )
	{
		setAttributeOnArray ( document.getElementsByName ( 'PreviousLink' ), 'className', '' );
		setAttributeOnArray ( document.getElementsByName ( 'NextLink' ), 'className', 'MultimediaLinkInactive' );
	}
	else
	{
		setAttributeOnArray ( document.getElementsByName ( 'PreviousLink' ), 'className', '' );
		setAttributeOnArray ( document.getElementsByName ( 'NextLink' ), 'className', '' );
	}	
}


/**  show selected slide   **/

function zoomPresentation ()
{
	// zoom
	if ( !zoomed )
	{
		// change file prefix
		FilePrefixActual	= FilePrefixZoom;
		SlideWidthActual 	= SlideWidthZoom;
		SlideHeightActual 	= SlideHeightZoom;
		// move HTML from Multimedia to Popup container
		var temp = document.getElementById ( 'Multimedia' ).innerHTML;
		document.getElementById ( 'Multimedia' ).innerHTML = '';
		document.getElementById ( 'Multimedia' ).className = "";
		document.getElementById ( 'Popup' ).innerHTML = ZoomAddHtmlPre + temp + ZoomAddHtmlPost;
		openPopup ( "Multimedia MultimediaZoom" );
		// change zoom link text
		setAttributeOnArray ( document.getElementsByName ( 'ZoomLink' ), 'innerHTML', ZoomLinkTextZoom );
		// hide all input fields on IE
		// show select box
		if ( document.getElementsByName ( 'SlideSelect' ).length > 0 )
			setTimeout ( "document.getElementsByName ( 'SlideSelect' ) [0].style.visibility = 'visible';", 1000 );
	}
	// unzoom
	else
	{
		// change file prefix
		FilePrefixActual	= FilePrefixNormal;
		SlideWidthActual 	= SlideWidthNormal;
		SlideHeightActual 	= SlideHeightNormal;
		// move HTML from Multimedia to Popup container
		var temp = document.getElementById ( 'Popup' ).innerHTML;
		document.getElementById ( 'Multimedia' ).innerHTML = temp.substring ( ZoomAddHtmlPre.length, temp.length - ZoomAddHtmlPost.length );
		document.getElementById ( 'Multimedia' ).className = "Multimedia";
		closePopup ();
		// change zoom link text
		setAttributeOnArray ( document.getElementsByName ( 'ZoomLink' ), 'innerHTML', ZoomLinkTextNormal );
		// hide all input fields on IE
	}
	// switch zoom var
	zoomed = !zoomed;
	// reload slide
	showSlide ( curSlidePos );
}


/*** start slide show  ***/

function playSlideShow ()
{
	if ( curSlidePos > Slides [ Slides.length - 1 ] )
		return;
	// on first run, dont change actual slide!!!
	if ( SlideShowPlaying )
		showSlide ( curSlidePos + 1 );
	SlideShowPlaying = true;
	SlideShowTimer = window.setTimeout ( "playSlideShow ();", SlideShowSpeed );
}


/*** stop slide show  ***/

function pauseSlideShow ()
{
	SlideShowPlaying = false;
	window.clearTimeout ( SlideShowTimer );
}


/***  show selected slide  ***/

function preloadPresentation ()
{
	// preload normal images
	for ( var i = 0; i < Slides.length; i++ )
	{
		var temp = new Image ()
		temp.src = docID + '/$file/' + FilePrefixNormal + Slides [ i ] + '.' + GraphicType;
	}
	// preload zoom images
	for ( var i = 0; i < Slides.length; i++ )
	{
		var temp = new Image ()
		temp.src = docID + '/$file/' + FilePrefixZoom + Slides [ i ] + '.' + GraphicType;
	}
}


/*~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~*/
/* ODOSCOPE
/*~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~*/


function oscClass() {
	this.originalSrc = '';
}

oscClass.prototype.getOSCParams = function() {
	var OSCparams;
	var x,y;
	
	OSCparams = "";
	
	if (self.innerHeight) // all except Explorer
	{
		x = self.innerWidth;
		y = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
		// Explorer 6 Strict Mode
	{
		x = document.documentElement.clientWidth;
		y = document.documentElement.clientHeight;
	}
	else if (document.body) // other Explorers
	{
		x = document.body.clientWidth;
		y = document.body.clientHeight;
	}
	var l;
	if (navigator.language)	l = navigator.language;
	else l = navigator.browserLanguage;
	
	if (navigator.cookieEnabled == true) {
		var c;
		var cookieAvailable = false;
	
		if (document.cookie) {
			c = document.cookie;
			var pos = c.indexOf("osc=");
			if ( pos > -1 )	{
				var pos2 = c.indexOf(";",pos+4);
				if ( pos2 > -1)
					c = c.substring(pos+4, c.indexOf(";",pos));
				else
					c = c.substring(pos+4);
				cookieAvailable = true;
			}
		}
	
		if (!cookieAvailable) {
			var d = new Date();
			c = d.getTime().toString() + Math.floor(100000*Math.random()).toString();
		}
		
		var d = new Date();
		a = new Date(d.getTime() +1000*60*30);			
		document.cookie = 'osc=' + c + '; PATH=/; expires=' + a.toGMTString() + ';';				
		
		OSCparams = "&osc=" + escape(c);
	}

	OSCparams += "&sw=" + screen.width;
	OSCparams += "&sh=" + screen.height;
	OSCparams += "&cd=" + screen.colorDepth;
	OSCparams += "&ww=" + x;
	OSCparams += "&wh=" + y;
	OSCparams += "&bl=" + escape(l);
	OSCparams += "&ua=" + escape(navigator.userAgent);
	OSCparams += "&ref=" + escape(document.referrer);
	OSCparams += "&url=" + escape(document.URL);

	return OSCparams;
}


oscClass.prototype.img = function(param) {
	var src = 'http://bayercropscience.odoscope.com/sp2.gif?' + param + osc.getOSCParams();
	osc.originalSrc = src;
	
	var e = document.getElementById('oscImg');
	if (e == null) {
		document.write('<img id="oscImg" src="' + src + '" alt="oscImg" />');
	}
	else {
		e.src = src;
	}	
}

oscClass.prototype.evt = function(eventName, eventValue) {
	var e = document.getElementById('oscImg');
	//alert ( 'tracking: ' + e.src );
	if (e != null) {
		e.src = osc.originalSrc + '&' + escape(eventName) + '=' + escape(eventValue);
	}
	return true;
}

/* 2009-06-23 (ezazs): collect all links inside content and modify it to get onclick event for attachment tracking */
oscClass.prototype.ContentLinkChecker = function() 
{
    $$( '.Content a[href*=/$file/]:not([onclick*=osc.evt]):not([onclick*=openHTML]):not([onclick*=openPDF]):not([onclick*=openDOC]):not([onclick*=openIMG]):not([href^=javascript:]):not([class*=noOdoscopeRewrite])' ).each( function ( e )
  {
    eval ("var formerOnClick = e.onclick;");
    e.onclick = function () {
      // odoscope function call for onclick event
      osc.evt ( 'Download', this.href );
      if ( formerOnClick ) formerOnClick ();
    };
// e.setStyle({fontWeight: 'bold'});
  } )

/*
  $$( '.TC a[href*=/$file/]:not([onclick*=osc.evt]):not([onclick*=openHTML]):not([onclick*=openPDF]):not([onclick*=openDOC]):not([onclick*=openIMG]):not([href^=javascript:]):not([class*=noOdoscopeRewrite])' ).each( function ( e )
  {
    eval ("var formerOnClick = e.onclick;");
    e.onclick = function () {
      // odoscope function call for onclick event
      osc.evt ( 'Download', this.href );
      if ( formerOnClick ) formerOnClick ();
    };
// e.setStyle({fontWeight: 'bold'});
  } )
*/
  $$( '.Content area[href*=/$file/]:not([onclick*=osc.evt]):not([onclick*=openHTML]):not([onclick*=openPDF]):not([onclick*=openDOC]):not([onclick*=openIMG]):not([href^=javascript:]):not([class*=noOdoscopeRewrite])' ).each( function ( e )
  {
    eval ("var formerOnClick = e.onclick;");
    e.onclick = function () {
      // odoscope function call for onclick event
      osc.evt ( 'Download', this.href );
      if ( formerOnClick ) formerOnClick ();
    };
//e.setStyle({fontWeight: 'bold'});
  } )
}


/*~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~*/
/* last version ODOSCOPE
/*~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~*/

function OdoscopeParameter ( params )
{
	var x,y;
	if (self.innerHeight) // all except Explorer
	{
		x = self.innerWidth;
		y = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
	// Explorer 6 Strict Mode
	{
		x = document.documentElement.clientWidth;
		y = document.documentElement.clientHeight;
	}
	else if (document.body) // other Explorers
	{
		x = document.body.clientWidth;
		y = document.body.clientHeight;
	}
	var l;
	if (navigator.language)
		l = navigator.language;
	else 
		l = navigator.browserLanguage;
	
	if (navigator.cookieEnabled == true) 
	{
		var c;
		var test = true;
		
		if (document.cookie)
		{
			c = document.cookie;
			var pos = c.indexOf("osc=");
			if ( pos > -1 )
			{
				var pos2 = c.indexOf(";",pos+4);
				if ( pos2 > -1)
					c = c.substring(pos+4, c.indexOf(";",pos));
				else
					c = c.substring(pos+4);
				test=false;
			}
		}
		
		if (test)
		{
			var d = new Date();
			c = d.getTime().toString() + Math.floor(100000*Math.random()).toString();
			document.cookie = "osc=" + c + "; PATH=/";
		}
		params+= "&osc=" + escape(c);
	}
	
	params+= "&sw=" + screen.width;
	params+= "&sh=" + screen.height;
	params+= "&cd=" + screen.colorDepth;
	params+= "&ww=" + x;
	params+= "&wh=" + y;
	params+= "&bl=" + escape(l);
	params+= "&ua=" + escape(navigator.userAgent);
	params+= "&ref=" + escape(document.referrer);
	params+= "&url=" + escape(document.URL);
	
	return params;
}


