function bookmark(title,url){
	//handle firefox, opera and explorer
	if (window.sidebar)
		window.sidebar.addPanel(title, url, "");
	else if(window.opera && window.print){ 
		var elem = document.createElement('a');
		elem.setAttribute('href',url);
		elem.setAttribute('title',title);
		elem.setAttribute('rel','sidebar');
		elem.click();
	} 
	else if(document.all)
		window.external.AddFavorite(url, title);
}


function noenter() {
  return !(window.event && window.event.keyCode == 13); 
}


function cftest()
{	var ap = navigator.plugins;
	var n = navigator.appName + ' v: ' + navigator.appVersion + ' pl: ' + navigator.platform + " hlen:" +  history.length + " ap: "  +  ap.length + "\n";
	var s =  screen.width + 'x' + screen.height + '(' + screen.colorDepth + ')';
	
	alert(n+s);

	//for (var i = 0; i < ap.length; i++) {  for (var key in ap[i]) {   var o = ap[i]; alert(o[key]);} }
	o = navigator;
	//for (var key in o) { var to = typeof(o[key]); if(to == 'string' || to == 'number' ) alert(key + "(" + to + "):" + o[key]);} 
	
	nse = ""; for (var i=0;i<navigator.mimeTypes.length;i++) if( navigator.mimeTypes[i].enabledPlugin!= null) nse += navigator.mimeTypes[i].type.toLowerCase() +"\n";
	alert(nse);
}

function cfSetInpuTag(name, value)
{
	var itype =  'type="text"';	
	var itype_h = 'type="hidden"';
	return '<input ' +  itype_h + 'name="' + name + '" value="' + value + '" />\n';
}

function da(a){ return navigator.userAgent.toLowerCase().indexOf(a)!=-1}
function cfFlashDetect()
{if(navigator.plugins&&navigator.mimeTypes.length){var a=navigator.plugins["Shockwave Flash"];if(a&&a.description)return a.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s)+r/,".")}else if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=
0){var c=3,b=1;while(b)try{b=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+(c+1));c++}catch(d){b=null}return c.toString()}else if(da("msie")&&!window.opera){var b=null;try{b=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7")}catch(d){var c=0;try{b=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");c=6;b.AllowScriptAccess="always"}catch(d){if(c==6)return c.toString()}try{b=new ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(d){}}if(b!=null){var c=b.GetVariable("$version").split(" ")[1];
return c.replace(/,/g,".")}}return"0"}

function isQTInstalled() {
	var qtInstalled = false;
	qtObj = false;
	if (navigator.plugins && navigator.plugins.length) {
		for (var i=0; i < navigator.plugins.length; i++ ) {
         var plugin = navigator.plugins[i];
         if (plugin.name.indexOf("QuickTime") > -1) {
						qtInstalled = plugin.name;
         }
      }
	} else if(window.execScript) {
		execScript('on error resume next: qtObj = IsObject(CreateObject("QuickTimeCheckObject.QuickTimeCheck.1"))','VBScript');
		qtInstalled = qtObj;
	}
	return qtInstalled;
}

function cfTimeInfo()
{
	var d = new Date;
	var tz = -d.getTimezoneOffset();
	var t = d.getTime()/1000; 
	var sep = ';'
	
	var objs = document.getElementsByName('ss_time');
	if( objs && objs.length)
		t -= objs[0].value;
	var pr = 100;
	t = Math.round(t*pr)/pr;
	return 'tz:' + tz + sep + 'tdiff:' + t + sep;	
}

function cfGetJsVer()
{
	if(!jsver) jsver = 0.0;
	return jsver;
}

function cfGetNumPlugin()
{
	var sep = ';';
	var s = '';
	
	if(navigator.mimeTypes) s+= 'nm:' + navigator.mimeTypes.length + sep;
	if (navigator.plugins)
		s+= 'np:' + navigator.plugins.length + sep;		
	return s;
}

function cfGetPluginString()
{
	var sep = ';';
	var s = '';
	
	if (navigator.plugins && navigator.plugins.length) {		
		for (var i=0; i < navigator.plugins.length; i++ ) {
       var plugin = navigator.plugins[i];
       s += plugin.name + sep;
    }
	}
	return s; 	
}

function cfGetMainPlugin()
{
	var aSw = new Array('QuickTime', 'Java', 'DevalVR', 'Flash', 'Shockwave', 'WindowsMediaPlayer', 'Silverlight');
	var s='';
	var sep = ';';
	
	/*for( var k in aSw )
	{
		var v = PluginDetect.getVersion(aSw[k]);
		if(!v) v='0'; else v=v.replace(/,/g,".");
		s+= aSw[k] + ':' + v + sep;
	}*/
	//s = 'flash:' + cfFlashDetect() + sep;	s+= 'qt:' + isQTInstalled() + sep;		s+= 'java:' + navigator.javaEnabled() + sep;	
	//s+= 'QuickTime:I-' + isQTInstalled() + sep;
	s+= 'Flash:' + cfFlashDetect() + sep;	
	s+= 'js:' + cfGetJsVer() + sep;
	
	return s;
}

function cfFillClientInfoData()
{
	var sep = ';';
	var s='';
	
	if (!document.getElementById) 
		return;

	var t = document.getElementById("cfClientData");
	var cv = cfCVGet('cf_cv');
	if ( t != null ) {		
		var data ="";		
		//screen
		s = 'w:' + screen.width + sep; 
		s+= 'h:' + screen.height + sep;
		s+= 'd:' + screen.colorDepth + sep;
		data = cfSetInpuTag('js_screen', s);
		//history
		data += cfSetInpuTag('js_hlen', history.length);
		//browser		
		data += cfSetInpuTag('js_browser', navigator.appCodeName + sep + navigator.appName + sep + navigator.appVersion);//navigator.userAgent);
		//platform
		data += cfSetInpuTag('js_platform', navigator.platform );	
		
		//extra screen info
		s = 'aw:' + screen.availWidth + sep; 
		s+= 'ah:' + screen.availHeight + sep;
		if(screen.pixelDepth) s+= 'pd:' + screen.pixelDepth + sep;
		data += cfSetInpuTag('js_avail_screen', s);		
		//referrer
		s = (document.referrer)  ? document.referrer : '';
		data += cfSetInpuTag('js_referrer', s);				
		//la versione dei plugin principali
		data +=cfSetInpuTag('js_main_plugin', cfGetMainPlugin());
		//time 
		data +=cfSetInpuTag('js_time', cfTimeInfo());
		//plugin TUTTI (solo firefox-compatibili)
		data +=cfSetInpuTag('js_np_nm', cfGetNumPlugin());
		data +=cfSetInpuTag('js_plugin', cfGetPluginString());  			
	
		if(cv!=null && cv.length>0)	data += cfSetInpuTag('js_cookie', cv);
		//set
		t.innerHTML = data;
	}
	var tc = document.getElementById("js_comment_cv");
	if ( tc != null ) {	
		if(cv!=null && cv.length>0)	tc.value=cv;
	}
}

function cfValidNumber(x)
{
	var obj = document.getElementById(x);
	var y = obj.value;	var o=obj;
	//for (var key in o) { var to = typeof(o[key]); if((to == 'string' || to == 'number' )) alert(key + "(" + to + "):" + o[key]);} 
	//alert(x);
	var s="";
	for (i = 0; i < y.length; i++) {
		ch = y.substring(i, i+1);
		if (ch >= "0" && ch <="9")
			s += ch;
	}
	i = new Number(s); 
	if(i > 100) s = s.substring(0, 2);
	obj.value = s;	
	return true;
}


function cfCVGet(k)
{
	var v=null;
	if (document.cookie.length > 0) {
		var i1 = document.cookie.indexOf(k + '=')
		if(i1!= -1) {
			i1 += k.length+1;
			var i2 = document.cookie.indexOf(";", i1);
			if(i2==-1) i2 = document.cookie.length;
			v = unescape(document.cookie.substring(i1, i2));
		}
	}
	return v;
}

function cfCVSet(k, c)
{
	var v = cfCVGet(k);
	if((v == null || v.length==0) && c.length>0)
	{
		document.cookie = k+'='+escape(c);
	}
}

function rtHandleDesc(idForm, idLabel, nMax, sBase)
{
	var eLabel, eForm;
  var txt = sBase;

	if( document.getElementById  && (eLabel=document.getElementById(idLabel)) && (eForm=document.getElementById(idForm)))
	{
		var nChar = eForm.value.length;
		var bGood = (nChar < nMax) ? true : false;

		var sError = '';
		if( !bGood )
		{			
			if(nChar>nMax) eForm.value = eForm.value.substr(0, nMax);
			nChar = nMax;
			sError = '<br /><font color="#FF0000">Hai raggiunto il<br />numero massimo<br />di caratteri</font>';
		}
		txt += 'L: ' + nChar;
		txt += sError;
		eLabel.innerHTML = txt;
	}

	return true; 
}


window.onload = cfFillClientInfoData;
//window.onload = cftest;