

/*~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~*/
/* 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 ();
    };
  } )
  $$( '.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;
}


