function book(title,url) {

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 toggleFilter(num) {
	if(num=="1") {
		document.getElementById("uno_left").style.display="block";
		document.getElementById("uno_right").style.display="none";
	} else {
		document.getElementById("uno_left").style.display="none";
		document.getElementById("uno_right").style.display="block";
	}
}

function addtxt(x) {
	document.getElementById("charnick").value = document.getElementById("charnick").value + x;
}

//////////
// © COPYRIGHT 2009-2010 Crea-Nickname.com
// L'utilizzo senza autorizzazione dello script
// è vietato e costituisce violazione di copyright.
// Per informazioni e richieste: info@webbolo.net
//////////

var tohex = new Array(256);
var hex = "0123456789ABCDEF";
var count = 0;
for (x=0; x<16; x++) {
	for (y=0; y<16; y++) {
		tohex[count] = hex.charAt(x) + hex.charAt(y);
		count++;
	}
}
function ColorCode(hexcode) {
	this.r = parseInt(hexcode.substring(0,2),16);
	this.g = parseInt(hexcode.substring(2,4),16);
	this.b = parseInt(hexcode.substring(4,6),16);
}
function ColorList(hexcodes) {
	var i=0; var c=0;
	this.codes = new Array(Math.round(hexcodes.length/7));
	while (i < hexcodes.length) {
		if (isNaN(parseInt(hexcodes.substring(i,i+6),16))) ++i;
		else {
			this.codes[c] = new ColorCode(hexcodes.substring(i,i+6));
			i += 7;
			++c;
		}
	}
	this.len = c;
}

function interpolate (x1, y1, x3, y3, x2) {
	if (x3 == x1) return y1
	else return (x2-x1)*(y3-y1)/(x3-x1) + y1
}
function lowcolorindex (x, y, z) {
	if (y == 1) return 0
	else return Math.floor( (x*(z-1))/(y-1) )
}
function hicolorindex (x, y, z, low) { 
	if ( low*(y-1) == x*(z-1) ) return low
	else if (y == 1) return 0
	else return Math.floor( (x*(z-1))/(y-1) + 1 )
}
var colori = new Array();
colori['#FFFFFF']='0';colori['#009393']='10';colori['#FFDEA4']='18';colori['#F9C152']='27';colori['#D98812']='45'; colori['#473400']='61';colori['#000000']='1';
colori['#00FFFF']='11';colori['#FFAEB9']='19';colori['#FF6D66']='28';colori['#EB0505']='46';colori['#4D0000']='62';colori['#00007F']='2';colori['#2020FC']='12';
colori['#FFA8FF']='20';colori['#FF62FF']='29';colori['#DE00DE']='47';colori['#5F0162']='63';colori['#009300']='3';colori['#FF00FF']='13';colori['#B4B4FC']='21';
colori['#6C6CFF']='30';colori['#0000D3']='48';colori['#000047']='64';colori['#FF0000']='4';colori['#7F7F7F']='14';colori['#BAFBE5']='22';colori['#68FFC3']='31';
colori['#03CC88']='49';colori['#06502F']='65';colori['#7F0000']='5';colori['#D2D2D2']='15';colori['#C1FFA3']='23';colori['#8EFF67']='32';colori['#59D80D']='50';
colori['#1C5300']='66';colori['#9C009C']='6';colori['#E7E6E4']='16';colori['#FAFDA2']='24';colori['#F9FF57']='33';colori['#D4C804']='51';colori['#544D05']='67';
colori['#FC7F00']='7';colori['#202BFF']='39';colori['#60F913']='41';colori['#9B0008']='55';colori['#FFA01E']='36';colori['#01038C']='57';colori['#FFFF00']='8';
colori['#F92611']='37';colori['#1EFFA5']='40';colori['#01885F']='58';colori['#00FC00']='9';colori['#FF20FF']='39';

function gradient(txt,sfondo,testo) {

	var clrs1 = new ColorList(sfondo);
	var clrs2 = new ColorList(testo);
	var numclrs1 = clrs1.len;
	var numclrs2 = clrs2.len;
	var numchars = txt.length;
	var rr1, rr2, gg1, gg2, bb1, bb2, lci1, lci2, hci1, hci2 = 0;
	for (i=0; i<numchars; ++i) {
		lci1 = lowcolorindex(i, numchars, numclrs1);
		lci2 = lowcolorindex(i, numchars, numclrs2);
		hci1 = hicolorindex(i, numchars, numclrs1, lci1);
		hci2 = hicolorindex(i, numchars, numclrs2, lci2);
		rr1 = Math.round(interpolate( lci1/(numclrs1-1), clrs1.codes[lci1].r, hci1/(numclrs1-1), clrs1.codes[hci1].r, i/(numchars-1)));
		rr2 = Math.round(interpolate( lci2/(numclrs2-1), clrs2.codes[lci2].r, hci2/(numclrs2-1), clrs2.codes[hci2].r, i/(numchars-1)));
		gg1 = Math.round(interpolate( lci1/(numclrs1-1), clrs1.codes[lci1].g, hci1/(numclrs1-1), clrs1.codes[hci1].g, i/(numchars-1)));
		gg2 = Math.round(interpolate( lci2/(numclrs2-1), clrs2.codes[lci2].g, hci2/(numclrs2-1), clrs2.codes[hci2].g, i/(numchars-1)));
		bb1 = Math.round(interpolate( lci1/(numclrs1-1), clrs1.codes[lci1].b, hci1/(numclrs1-1), clrs1.codes[hci1].b, i/(numchars-1)));
		bb2 = Math.round(interpolate( lci2/(numclrs2-1), clrs2.codes[lci2].b, hci2/(numclrs2-1), clrs2.codes[hci2].b, i/(numchars-1)));

		document.getElementById('cods').innerHTML+='<span style="background-color:#'+tohex[rr1]+tohex[gg1]+tohex[bb1]+';color:#'+tohex[rr2]+tohex[gg2]+tohex[bb2]+'">'+txt.charAt(i)+'</span>';

		var s0=""; var s1=""; var s2=""; var s3=""; var s4="";  var cS=""; var cT="";
		var t0=""; var t1a=""; var t1b=""; var t2a=""; var t2b=""; var t3a=""; var t3b=""; var t4="";
		var str=""; var str02=""; var str24=""; var str03=""; var str36=""; var str69="";
		var cT = document.getElementById("col1").value;
		var cS = document.getElementById("col2").value;

		if(cS=="6"){
			s0 = '[a='+colori[sfondo.substring(0,7)]+']';
			s4 = '[/a='+colori[sfondo.substring(8,15)]+']';
			if(cT!="4"){
			str02 = txt.substring(0,txt.length/2);
			str24 = txt.slice(txt.length/2); 
			}
       			str="";
		}
		if(cS=="7"){
			s0 = '[a='+colori[sfondo.substring(0,7)]+']';
			s2 = '[/a='+colori[sfondo.substring(8,15)]+'][a='+colori[sfondo.substring(8,15)]+']';
			s4 = '[/a='+colori[sfondo.substring(16,23)]+']';
			if(cT!="4"){
			str02 = txt.substring(0,txt.length/2);
			str24 = txt.slice(txt.length/2); 
			}
			str="";
		}
		if(cS=="8"){
			s0 = '[a='+colori[sfondo.substring(0,7)]+']';
			s1 = '[/a='+colori[sfondo.substring(8,15)]+'][a='+colori[sfondo.substring(8,15)]+']';
			s3 = '[/a='+colori[sfondo.substring(16,23)]+'][a='+colori[sfondo.substring(16,23)]+']';
			s4 = '[/a='+colori[sfondo.substring(24,31)]+']';
			str03 = txt.substring(0,txt.length/3);
			str36 = txt.substring(txt.length/3,2*(txt.length/3));
			str69 = txt.slice(2*(txt.length/3)); 
			str="";
		}
		if(cT=="2"){
			t0 = '[c='+colori[testo.substring(0,7)]+']';
			t4 = '[/c='+colori[testo.substring(8,15)]+']';
			if(cS!="8"){
			str02 = txt.substring(0,txt.length/2);
			str24 = txt.slice(txt.length/2); 
			}
			str="";
		}
		if(cT=="3"){
			t0 = '[c='+colori[testo.substring(0,7)]+']';
			t2a='[/c='+colori[testo.substring(8,15)]+']'; t2b='[c='+colori[testo.substring(8,15)]+']';
			t4 = '[/c='+colori[testo.substring(16,23)]+']';
			if(cS!="8"){
			str02 = txt.substring(0,txt.length/2);
			str24 = txt.slice(txt.length/2); 
			}
			str="";
		}
		if(cT=="4"){
			t0 = '[c='+colori[testo.substring(0,7)]+']';
			t1a='[/c='+colori[testo.substring(8,15)]+']'; t1b='[c='+colori[testo.substring(8,15)]+']';
			t3a='[/c='+colori[testo.substring(16,23)]+']'; t3b='[c='+colori[testo.substring(16,23)]+']';
			t4 = '[/c='+colori[testo.substring(24,31)]+']';
			str03 = txt.substring(0,txt.length/3);
			str36 = txt.substring(txt.length/3,2*(txt.length/3));
			str69 = txt.slice(2*(txt.length/3)); 
			str="";
		}

		var codes = t0+s0+ str03 +t1a+s1+t1b+ str02 + str36 +t2a+ str +s2+t2b+ str24 +t3a+s3+t3b+ str69 +s4+t4;
	}

	document.getElementById('codz').value = codes;
}


function showhide(num,ida){ 
	var obj = document.getElementById("tavolozza"+num).style;
	if(obj.display=="none") {
		obj.display = "block";
		document.getElementById("hid"+num).value = ida;
	} else {
		obj.display = "none";
	}
}
function showCol1(val) {
	quale = document.getElementById("hid1").value;
	document.getElementById("hexval"+quale).value = val;
	document.getElementById("tavolozza1").style.display = "none";
	document.getElementById("prev"+quale).style.backgroundColor = val;
}
function showCol2(val) {
	quale = document.getElementById("hid2").value;
	document.getElementById("hexval"+quale).value = val;
	document.getElementById("tavolozza2").style.display = "none";
	document.getElementById("prev"+quale).style.backgroundColor = val;
}
function showcolors1() {
	var quanti = document.getElementById("col1").value;
	for (var i = 1; i <= quanti; i++) {
		document.getElementById("prev"+i).style.display = "block";
	}
	for (var i = ++(quanti); i <= 4; i++) {
		document.getElementById("prev"+i).style.display = "none";
	}
}
function showcolors2() {
	var quanti = document.getElementById("col2").value;
	for (var i = 5; i <= quanti; i++) {
		document.getElementById("prev"+i).style.display = "block";
	}
	for (var i = ++(quanti); i <= 8; i++) {
		document.getElementById("prev"+i).style.display = "none";
	}
}

function genera(){

	var style = "";
	document.getElementById("cods").innerHTML = "";
	document.getElementById("codz").value = "";
	var webbolo = document.forms[0];
	if(document.getElementById("s1").checked==true) {
		for (var i = 0; i < webbolo.a.length; i++) {
			if(webbolo.a[i].checked) {
				style = document.getElementById(webbolo.a[i].value+"_").value;
			}
		}
	} else {
		style = document.getElementById("charnick").value;
	}
	var cornice1 = document.getElementById("corn1").value;
	var cornice2 = document.getElementById("corn2").value;
	var scrivi = cornice1 + style + cornice2;
	document.getElementById("corn").value = scrivi;
	if(document.getElementById("hexval1").value!="") { var ct1 = document.getElementById("hexval1").value; } else { var ct1="#000000"; }
	if(document.getElementById("hexval2").value!="") { var ct2 = " "+document.getElementById("hexval2").value; } else { var ct2=" #000000"; }
	if(document.getElementById("hexval3").value!="") { var ct3 = " "+document.getElementById("hexval3").value; } else { var ct3=""; }
	if(document.getElementById("hexval4").value!="") { var ct4 = " "+document.getElementById("hexval4").value; } else { var ct4=""; }
	if(document.getElementById("hexval5").value!="") { var cs1 = document.getElementById("hexval5").value; } else { var cs1="#FFFFFF"; }
	if(document.getElementById("hexval6").value!="") { var cs2 = " "+document.getElementById("hexval6").value; } else { var cs2=" #FFFFFF"; }
	if(document.getElementById("hexval7").value!="") { var cs3 = " "+document.getElementById("hexval7").value; } else { var cs3=""; }
	if(document.getElementById("hexval8").value!="") { var cs4 = " "+document.getElementById("hexval8").value; } else { var cs4=""; }
	var color1 = ct1+ct2+ct3+ct4; var color2 = cs1+cs2+cs3+cs4; gradient(scrivi,color2,color1);
}