/** 
 * @fileoverview Copyright (c) 2006-2007, {@link http://www.markcon.hu/ MarkCon Informatikai Kft.}
 * All Rights Reserved.
 * 
 * @author Istvanovszki Zoltán zoltan@istvanovszki.hu
 */

/**
 * Flash detektálás
 * @class Flash detektáló osztály
 * n.plugins vagy ActiveXObject keresztül megnézi, hogy flash képes-e a böngésző
 * @constructor
 * @return (String) Flash információk ha vannak
 */
function OWRflashDetection()
{
	var flashInfo="-",n=navigator;
	if (n.plugins && n.plugins.length)
	{
		for (var ii=0;ii<n.plugins.length;ii++)
		{
			if (n.plugins[ii].name.indexOf('Shockwave Flash')!=-1)
			{
				flashInfo=n.plugins[ii].description.split('Shockwave Flash ')[1];
				break;
			}
		}
	} 
	else if (window.ActiveXObject)
	{
		for (var ii=10;ii>=2;ii--)
		{
			try
			{
				var fl=eval("new ActiveXObject('ShockwaveFlash.ShockwaveFlash."+ii+"');");
				if (fl)
				{
						flashInfo=ii + '.0';
						break;
				}
			}
			catch(e) {}
		}
	}
	return flashInfo;
}

/**
 * String kódoló
 * @class Flash kódoló osztály
 * Elkódolja a megadott stringet mint URI vagy URI komponens
 * @constructor
 * @param {String} s Az elkódolandó string
 * @return (Boolean) u Komponens-e vagy sem
 * @return (Boolean) Az elkódolt string
 */
function OWRencoding(s,u)
{
	if (typeof(encodeURIComponent) == 'function')
	{
		if (u)
			return encodeURI(s);
		else
			return encodeURIComponent(s);
	}
	else
	{
		return escape(s);
	}
}

/**
 * Statisztika összeállítása
 * @class Statisztika összeállító osztály
 * Különféle metódusokon keresztül összeállítja a statisztikát
 * @constructor
 * @return (Boolean) A statisztika adatai GET metódusba csomagolva
 */
function OWRgetInfo()
{
	var screenSizeInfo="-",colorDepthInfo="-",browserLanguageInfo="-",flashInfo="-",characterSetInfo="-",javaEnabledInfo=1,titleInfo="-";
	var n=navigator;
	var d=document;
	if (self.screen)
	{
		screenSizeInfo=screen.width+"x"+screen.height;
		colorDepthInfo=screen.colorDepth+"-bit";
	}
	else if (self.java)
	{
		var j=java.awt.Toolkit.getDefaultToolkit();
		var s=j.getScreenSize();
		screenSizeInfo=s.width+"x"+s.height;
	}
	if (n.language)
	{
			browserLanguageInfo=n.language.toLowerCase();
	}
	else if (n.browserLanguage)
	{
		browserLanguageInfo=n.browserLanguage.toLowerCase();
	}
	javaEnabledInfo=n.javaEnabled()?1:0;
	flashInfo=OWRflashDetection();
	if (d.characterSet)
		characterSetInfo=OWRencoding(d.characterSet);
	else if (d.charset)
		characterSetInfo=OWRencoding(d.charset);
	if (d.title && d.title!="")
		titleInfo = OWRencoding(d.title)
	return "?traceback="+traceback+"&screenSizeInfo="+screenSizeInfo+"&flashInfo="+flashInfo+"&characterSetInfo="+characterSetInfo+"&colorDepthInfo="+colorDepthInfo+"&browserLanguageInfo="+browserLanguageInfo+"&javaEnabledInfo="+javaEnabledInfo+"&titleInfo="+titleInfo;
}

/**
 * Statisztika elküldése
 * @class Statisztika elküldő osztály
 * A statisztikát megszerzi és elküldi a szervernek
 * @constructor
 */
function OWRtrack()
{
	var d=document,hostnameInfo="owr.mcp.hu";
	if (d.location.hostname && d.location.hostname!="")
		hostnameInfo = OWRencoding(d.location.hostname);
	var imageSrc="http://"+hostnameInfo+"/stat/commit.jsp";
	if (d.location.protocol=="https:")
		imageSrc="https://"+hostnameInfo+"/stat/commit.jsp";
	var i=new Image(1,1);
	i.src=imageSrc+OWRgetInfo();
	// console.log(i.src);
}
