var palettevis = false;
var ref;
var fader_maker_timer = null;
var fader_maker_bgtimer = null;
var fg = false;
var bg = false;
var bdy = false;
var sb = false;
var fgswitch = false;
var bgswitch = false;
var bodyswitch = false;
var scrollswitch = false;
var font_family = new Array("serif","sans-serif","cursive","fantasy","monospace","Arial, Helvetica, sans-serif","Verdana, Geneva, sans-serif","'Times New Roman', Times, serif","'MS Serif', 'New York', serif","'Courier New', Courier, monospace");
var font_size = new Array('4px','6px','8px','10px','12px','14px','16px','18px','20px','22px','24px','26px','28px','30px','32px','34px','36px','38px','40px','larger','smaller','xx-small','x-small','small','medium','large','x-large','xx-large');
var letter_spacing = new Array();
for (var i=1; i<=30; i++)
	letter_spacing[i-1] = i+'px';
letter_spacing[30] = 'normal';

var root = document.documentElement || document.body;

function pokazi(text,evt){
	with (document.getElementById('opis').style){
		if (document.all){
			left = (evt.x + 20)+'px';
			top = (evt.y + root.scrollTop)+'px';
		}
		else{
			left = (evt.pageX + 20)+'px';
			top = evt.pageY + 'px';
		}
		visibility = 'visible';
	}
	document.getElementById('opis').innerHTML = text;
}
function sakrij(){
	with(document.getElementById('opis').style){
		visibility = 'hidden'; 
		top = 0;
		left = 0;
	}
}
function idizamnom(evt){
	with (document.getElementById('opis').style){
		if (document.all){
			left = (evt.x + 20)+'px';
			top = (evt.y + root.scrollTop)+'px';
		}
		else{
			left = (evt.pageX + 20)+'px';
			top = evt.pageY+'px';
		}	
	}
}
function toHex(n){
	var hexChars = "0123456789ABCDEF";
	if (n == 0) return "00";
	var j, k;
	var temp = "";
	while (n != 0){
		j = n % 16;
		n = (n - j)/16;
		temp = hexChars.charAt(j) + temp;
	}
	if (temp.length < 2){
		temp = "0" + temp;
	}
	return temp;
}

function showpalette(evt){
	with (document.getElementById('palette').style){
		visibility = 'visible';
		if (document.all){
			left = evt.x+'px';
			top = (evt.y + root.scrollTop)+'px';
		}
		else{
			left = evt.pageX+'px';
			top = evt.pageY+'px';
		}
	}
	palettevis = true;
}

function validate(){
	if (isEmpty(document.getElementById("msg").value)){
		alert("Message field could not be empty!");
		return false;
	}
	if ((!document.getElementById("fadeTxtColor").checked) && (!document.getElementById("fadeTxtBgColor").checked) && (!document.getElementById("fadeBodyBgColor").checked) && (!document.getElementById("fadeScrollColor").checked)){
		alert("Please, check at least one Fade.");
		return false;
	}
	if (document.getElementById("fadeTxtColor").checked){
		if (isEmpty(document.getElementById("txtStrColor").value) || isEmpty(document.getElementById("txtEndColor").value)){
			alert("Please, fill color fields where Fade is checked.");
			return false;
		}
		else{
			if ((!isValidColor(document.getElementById("txtStrColor").value)) || (!isValidColor(document.getElementById("txtEndColor").value))){
				alert("Not a valid color. You can use color palette by clicking an arrow.");
				return false;
			}
		}
	}
	if (document.getElementById("fadeTxtBgColor").checked){
		if (isEmpty(document.getElementById("txtStrBgColor").value) || isEmpty(document.getElementById("txtEndBgColor").value)){
			alert("Please, fill color fields where Fade is checked.");
			return false;
		}
		else{
			if ((!isValidColor(document.getElementById("txtStrBgColor").value)) || (!isValidColor(document.getElementById("txtEndBgColor").value))){
				alert("Not a valid color. You can use color palette by clicking an arrow.");
				return false;
			}
		}
	}
	if (document.getElementById("fadeBodyBgColor").checked){
		if (isEmpty(document.getElementById("bodyStrColor").value) || isEmpty(document.getElementById("bodyEndColor").value)){
			alert("Please, fill color fields where Fade is checked.");
			return false;
		}
		else{
			if ((!isValidColor(document.getElementById("bodyStrColor").value)) || (!isValidColor(document.getElementById("bodyEndColor").value))){
				alert("Not a valid color. You can use color palette by clicking an arrow.");
				return false;
			}
		}
	}
	if (document.getElementById("fadeScrollColor").checked){
		if (isEmpty(document.getElementById("scrollStrColor").value) || isEmpty(document.getElementById("scrollEndColor").value)){
			alert("Please, fill color fields where Fade is checked.");
			return false;
		}
		else{
			if ((!isValidColor(document.getElementById("scrollStrColor").value)) || (!isValidColor(document.getElementById("scrollEndColor").value))){
				alert("Not a valid color. You can use color palette by clicking an arrow.");
				return false;
			}
		}
	}
	if (!isPosInteger(document.getElementById("speed").value)){
		alert("Speed must be a positive integer or zero.");
		return false;
	}
	return true;
}
function fade(){
	if (fg){
		color = "#" + toHex(str_red_txt) + toHex(str_green_txt) + toHex(str_blue_txt);
		document.getElementById('tekst').style.color = color;
	}
	if (bg){
		backcolor = "#" + toHex(str_red_bgtxt) + toHex(str_green_bgtxt) + toHex(str_blue_bgtxt);
		document.getElementById('tekst').style.backgroundColor = backcolor;
	}
	if (bdy){
		bdycolor = "#" + toHex(str_red_bdy) + toHex(str_green_bdy) + toHex(str_blue_bdy);
		document.bgColor = bdycolor;
	}
	if (sb){
		scrollcolor = "#" + toHex(str_red_scroll) + toHex(str_green_scroll) + toHex(str_blue_scroll);
		document.documentElement.style.scrollbarFaceColor = scrollcolor;
	}
if (fg){
	if (end_red_txt != str_red_txt){
		if (end_red_txt > str_red_txt){
			str_red_txt++;
		}
		else{
			str_red_txt--;
		}
	}
	if (end_green_txt != str_green_txt){
		if (end_green_txt > str_green_txt){
			str_green_txt++;
		}
		else{
			str_green_txt--;
		}
	}	
	if (end_blue_txt != str_blue_txt){
		if (end_blue_txt > str_blue_txt){
			str_blue_txt++;
		}
		else{
			str_blue_txt--;
		}
	}
}
if (bg){
	if (end_red_bgtxt != str_red_bgtxt){
		if (end_red_bgtxt > str_red_bgtxt){
			str_red_bgtxt++;
		}
		else{
			str_red_bgtxt--;
		}
	}
	if (end_green_bgtxt != str_green_bgtxt){
		if (end_green_bgtxt > str_green_bgtxt){
			str_green_bgtxt++;
		}
		else{
			str_green_bgtxt--;
		}
	}	
	if (end_blue_bgtxt != str_blue_bgtxt){
		if (end_blue_bgtxt > str_blue_bgtxt){
			str_blue_bgtxt++;
		}
		else{
			str_blue_bgtxt--;
		}
	}	
}
if (bdy){
	if (end_red_bdy != str_red_bdy){
		if (end_red_bdy > str_red_bdy){
			str_red_bdy++;
		}
		else{
			str_red_bdy--;
		}
	}
	if (end_green_bdy != str_green_bdy){
		if (end_green_bdy > str_green_bdy){
			str_green_bdy++;
		}
		else{
			str_green_bdy--;
		}
	}	
	if (end_blue_bdy != str_blue_bdy){
		if (end_blue_bdy > str_blue_bdy){
			str_blue_bdy++;
		}
		else{
			str_blue_bdy--;
		}
	}
}

if (sb){
	if (end_red_scroll != str_red_scroll){
		if (end_red_scroll > str_red_scroll){
			str_red_scroll++;
		}
		else{
			str_red_scroll--;
		}
	}
	if (end_green_scroll != str_green_scroll){
		if (end_green_scroll > str_green_scroll){
			str_green_scroll++;
		}
		else{
			str_green_scroll--;
		}
	}	
	if (end_blue_scroll != str_blue_scroll){
		if (end_blue_scroll > str_blue_scroll){
			str_blue_scroll++;
		}
		else{
			str_blue_scroll--;
		}
	}
}
	if ((str_red_txt == end_red_txt) && (str_green_txt == end_green_txt) && (str_blue_txt == end_blue_txt) && (str_red_bgtxt == end_red_bgtxt) && (str_green_bgtxt == end_green_bgtxt) && (str_blue_bgtxt == end_blue_bgtxt) && (str_red_bdy == end_red_bdy) && (str_green_bdy == end_green_bdy) && (str_blue_bdy == end_blue_bdy) && (str_red_scroll == end_red_scroll) && (str_green_scroll == end_green_scroll) && (str_blue_scroll == end_blue_scroll)){
		window.clearTimeout(fader_maker_timer);
		if (document.getElementById("loop").checked){
			preview();
		}
	}
	else{
		fader_maker_timer = window.setTimeout("fade()", parseInt(document.getElementById("speed").value));
	}
}

function preview(){
	if (validate()){
			document.getElementById('tekst').innerHTML = document.getElementById("msg").value;
			document.getElementById('tekst').style.fontFamily = document.getElementById("family").options[document.getElementById("family").selectedIndex].value;
			document.getElementById('tekst').style.fontSize = document.getElementById("size").options[document.getElementById("size").selectedIndex].value;
			document.getElementById('tekst').style.letterSpacing = document.getElementById("spacing").options[document.getElementById("spacing").selectedIndex].value;
			if (document.getElementById("bold").checked){
				document.getElementById('tekst').style.fontWeight = "bold";
			}
			else{
				document.getElementById('tekst').style.fontWeight = "normal";
			}
			if (document.getElementById("italic").checked){
				document.getElementById('tekst').style.fontStyle = "italic";
			}
			else{
				document.getElementById('tekst').style.fontStyle = "normal";
			}
			if (document.getElementById("fadeTxtColor").checked){
					fader_maker_txtstart = document.getElementById("txtStrColor").value;
					fader_maker_txtstop =  document.getElementById("txtEndColor").value;
				if (!fgswitch){
					priv = fader_maker_txtstart;
					fader_maker_txtstart = fader_maker_txtstop;
					fader_maker_txtstop	= priv;
				}
				fgswitch = !fgswitch;
			}
			else{
				fader_maker_txtstart = "#000000";
				fader_maker_txtstop =  "#000000";
				fg = false;
			}
			str_red_txt = "0x"+fader_maker_txtstart.substring(1,3);
			str_green_txt = "0x"+fader_maker_txtstart.substring(3,5);
			str_blue_txt = "0x"+fader_maker_txtstart.substring(5,7);
			end_red_txt = "0x"+fader_maker_txtstop.substring(1,3);
			end_green_txt = "0x"+fader_maker_txtstop.substring(3,5);
			end_blue_txt = "0x"+fader_maker_txtstop.substring(5,7);
			if (fader_maker_txtstart == fader_maker_txtstop){
				document.getElementById('tekst').style.color = fader_maker_txtstart;
			}
			else{
				if(document.getElementById("fadeTxtColor").checked){
				 fg = true;
				}
			}
			if (document.getElementById("fadeTxtBgColor").checked){
				fader_maker_bgtxtstart = document.getElementById("txtStrBgColor").value;
				fader_maker_bgtxtstop =  document.getElementById("txtEndBgColor").value;
				if (!bgswitch){
					priv = fader_maker_bgtxtstart;
					fader_maker_bgtxtstart = fader_maker_bgtxtstop;
					fader_maker_bgtxtstop	= priv;
				}
				bgswitch = !bgswitch;
			}
			else{
				fader_maker_bgtxtstart = "#FFFFFF";
				fader_maker_bgtxtstop =  "#FFFFFF";		
				bg = false;
			}
			str_red_bgtxt = "0x"+fader_maker_bgtxtstart.substring(1,3);
			str_green_bgtxt = "0x"+fader_maker_bgtxtstart.substring(3,5);
			str_blue_bgtxt = "0x"+fader_maker_bgtxtstart.substring(5,7);
		 	end_red_bgtxt = "0x"+fader_maker_bgtxtstop.substring(1,3);
			end_green_bgtxt = "0x"+fader_maker_bgtxtstop.substring(3,5);
			end_blue_bgtxt = "0x"+fader_maker_bgtxtstop.substring(5,7);
			if (fader_maker_bgtxtstart == fader_maker_bgtxtstop){
				document.getElementById('tekst').style.backgroundColor = fader_maker_bgtxtstart;
			}
			else{
				if (document.getElementById("fadeTxtBgColor").checked){
				 bg = true;
				}
			}
			if (document.getElementById("fadeBodyBgColor").checked){
				fader_maker_bodystart = document.getElementById("bodyStrColor").value;
				fader_maker_bodystop =  document.getElementById("bodyEndColor").value;
				if (!bodyswitch){
					priv = fader_maker_bodystart;
					fader_maker_bodystart = fader_maker_bodystop;
					fader_maker_bodystop = priv;
				}
				bodyswitch = !bodyswitch;
			}
			else{
				fader_maker_bodystart = "#FFFFFF";
				fader_maker_bodystop =  "#FFFFFF";
				bdy = false;
			}
			str_red_bdy = "0x"+fader_maker_bodystart.substring(1,3);
			str_green_bdy = "0x"+fader_maker_bodystart.substring(3,5);
			str_blue_bdy = "0x"+fader_maker_bodystart.substring(5,7);
			end_red_bdy = "0x"+fader_maker_bodystop.substring(1,3);
			end_green_bdy = "0x"+fader_maker_bodystop.substring(3,5);
			end_blue_bdy = "0x"+fader_maker_bodystop.substring(5,7);
			if (fader_maker_bodystart == fader_maker_bodystop){
				document.bgColor = fader_maker_bodystart;
				bdy = false;
			}
			else{
				if(document.getElementById("fadeBodyBgColor").checked){
				 bdy = true;
				}
			}
			if (document.getElementById("fadeScrollColor").checked){
				fader_maker_scrollstart = document.getElementById("scrollStrColor").value;
				fader_maker_scrollstop =  document.getElementById("scrollEndColor").value;
				if (!scrollswitch){
					priv = fader_maker_scrollstart;
					fader_maker_scrollstart = fader_maker_scrollstop;
					fader_maker_scrollstop = priv;
				}
				scrollswitch = !scrollswitch;
			}
			else{
				fader_maker_scrollstart = "#cccccc";
				fader_maker_scrollstop =  "#cccccc";
				sb = false;
			}
			str_red_scroll = "0x"+fader_maker_scrollstart.substring(1,3);
			str_green_scroll = "0x"+fader_maker_scrollstart.substring(3,5);
			str_blue_scroll = "0x"+fader_maker_scrollstart.substring(5,7);
			end_red_scroll = "0x"+fader_maker_scrollstop.substring(1,3);
			end_green_scroll = "0x"+fader_maker_scrollstop.substring(3,5);
			end_blue_scroll = "0x"+fader_maker_scrollstop.substring(5,7);
			if (fader_maker_scrollstart == fader_maker_scrollstop){
				document.documentElement.style.scrollbarFaceColor = fader_maker_scrollstart;
				sb = false;
			}
			else{
				if(document.getElementById("fadeScrollColor").checked){
				 sb = true;
				}
			}
			fade();
	}
}
function setDefaultValues(){
	document.getElementById("msg").value = document.getElementById('tekst').innerHTML = "Fader Maker";

	document.getElementById("fadeTxtColor").checked = true;	
	document.getElementById("txtStrColor").value = document.getElementById("txtStrColor").style.backgroundColor = "#FF0000";
	document.getElementById("txtEndColor").value = document.getElementById("txtEndColor").style.backgroundColor = "#0000FF";

	document.getElementById("fadeTxtBgColor").checked = false;	
	document.getElementById("txtStrBgColor").value = ""; 
	document.getElementById("txtStrBgColor").style.backgroundColor = "#FFFFFF";
	document.getElementById("txtEndBgColor").value = "";
	document.getElementById("txtEndBgColor").style.backgroundColor = "#FFFFFF";

	document.getElementById("fadeBodyBgColor").checked = false;	
	document.getElementById("bodyStrColor").value = "";
	document.getElementById("bodyStrColor").style.backgroundColor = "#FFFFFF";
	document.getElementById("bodyEndColor").value = "";
	document.getElementById("bodyEndColor").style.backgroundColor = "#FFFFFF";

	document.getElementById("fadeScrollColor").checked = false;	
	document.getElementById("scrollStrColor").value = "";
	document.getElementById("scrollStrColor").style.backgroundColor = "#FFFFFF";
	document.getElementById("scrollEndColor").value = "";
	document.getElementById("scrollEndColor").style.backgroundColor = "#FFFFFF";

	document.getElementById("family").options[6].selected = true;
	document.getElementById("size").options[27].selected = true;
	document.getElementById("family").style.backgroundColor = "#cccccc";
	document.getElementById("size").style.backgroundColor = "#cccccc";
	document.getElementById("spacing").style.backgroundColor = "#cccccc";
	document.getElementById("bold").checked = true;
	document.getElementById("fmevent").options[0].checked = true;
	document.getElementById("spacing").options[30].selected = true;
	document.getElementById("loop").checked = true;
	document.getElementById("speed").value="50"; 
	document.getElementById('generatedCode').value = "";
	preview();
}
function resetform(){
	setDefaultValues();
}
function generatecode(){
	if (validate()){
		if (document.getElementById("fmevent").options[1].selected){
			var fmButtonText = prompt("Specify text on your button", "Fade!");
			if (fmButtonText == "") fmButtonText = "Fade!";
			code = "4";
		}
		else { code="3"; }
		code +=" steps to implement your script:\n\n"
		code += "1. Place this into the HEAD section of your page.\n\n";
		code += "<script type = \"text/javascript\">\n";
		code +="//Created by Fader Maker (http://www.bosiljak.hr/fadermaker/)\n";
		code += "var fmTimer = null;\n";
		if (document.getElementById("loop").checked){
			if (document.getElementById("fadeTxtColor").checked)
				code+="var fmfg = false;\n";
			if (document.getElementById("fadeTxtBgColor").checked)
				code+="var fmbg = false;\n";
			if (document.getElementById("fadeBodyBgColor").checked)
				code+="var fmbody = false;\n";
			if (document.getElementById("fadeScrollColor").checked)
				code+="var fmscroll = false;\n";		
		}
		code += "function fminit(){\n";
		code += "if (!document.getElementById) return;\n";
		if (document.getElementById("fadeTxtColor").checked){
			var fader_maker_txtstart = document.getElementById("txtStrColor").value;
			var fader_maker_txtstop =  document.getElementById("txtEndColor").value;
			var fma1 = "0x"+fader_maker_txtstart.substring(1,3);
			var fma2 = "0x"+fader_maker_txtstart.substring(3,5);
			var fma3 = "0x"+fader_maker_txtstart.substring(5,7);
			var fma4 = "0x"+fader_maker_txtstop.substring(1,3);
			var fma5 = "0x"+fader_maker_txtstop.substring(3,5);
			var fma6 = "0x"+fader_maker_txtstop.substring(5,7);
			code += "fma1="+fma1+"; fma2="+fma2+"; fma3="+fma3+";\n";
			code += "fma4="+fma4+"; fma5="+fma5+"; fma6="+fma6+";\n";
			if (document.getElementById("loop").checked){
				code += "if (!fmfg){\n";
				code += "fmtemp=fma1; fma1=fma4; fma4=fmtemp; fmtemp=fma2; fma2=fma5; fma5=fmtemp; fmtemp=fma3; fma3=fma6; fma6=fmtemp;\n";
				code += "}\n";
				code += "fmfg = !fmfg;\n";
			}
		}
		if (document.getElementById("fadeTxtBgColor").checked){
			fader_maker_bgtxtstart = document.getElementById("txtStrBgColor").value;
			fader_maker_bgtxtstop =  document.getElementById("txtEndBgColor").value;
			var fmb1 = "0x"+fader_maker_bgtxtstart.substring(1,3);
			var fmb2 = "0x"+fader_maker_bgtxtstart.substring(3,5);
			var fmb3 = "0x"+fader_maker_bgtxtstart.substring(5,7);
			var fmb4 = "0x"+fader_maker_bgtxtstop.substring(1,3);
			var fmb5 = "0x"+fader_maker_bgtxtstop.substring(3,5);
			var fmb6 = "0x"+fader_maker_bgtxtstop.substring(5,7);
		 	code += "fmb1="+fmb1+"; fmb2="+fmb2+"; fmb3="+fmb3+";\n";
			code += "fmb4="+fmb4+"; fmb5="+fmb5+"; fmb6="+fmb6+";\n";
			if (document.getElementById("loop").checked){
				code += "if (!fmbg){\n";
				code += "fmtemp=fmb1; fmb1=fmb4; fmb4=fmtemp; fmtemp=fmb2; fmb2=fmb5; fmb5=fmtemp; fmtemp=fmb3; fmb3=fmb6; fmb6=fmtemp;\n";
				code += "}\n";
				code += "fmbg = !fmbg;\n";
			}
		}
		if (document.getElementById("fadeBodyBgColor").checked){
			fader_maker_bodystart = document.getElementById("bodyStrColor").value;
			fader_maker_bodystop =  document.getElementById("bodyEndColor").value;
			var fmc1 = "0x"+fader_maker_bodystart.substring(1,3);
			var fmc2 = "0x"+fader_maker_bodystart.substring(3,5);
			var fmc3 = "0x"+fader_maker_bodystart.substring(5,7);
			var fmc4 = "0x"+fader_maker_bodystop.substring(1,3);
			var fmc5 = "0x"+fader_maker_bodystop.substring(3,5);
			var fmc6 = "0x"+fader_maker_bodystop.substring(5,7);
		 	code += "fmc1="+fmc1+"; fmc2="+fmc2+"; fmc3="+fmc3+";\n";
			code += "fmc4="+fmc4+"; fmc5="+fmc5+"; fmc6="+fmc6+";\n";
			if (document.getElementById("loop").checked){
				code += "if (!fmbody){\n";
				code += "fmtemp=fmc1; fmc1=fmc4; fmc4=fmtemp; fmtemp=fmc2; fmc2=fmc5; fmc5=fmtemp; fmtemp=fmc3; fmc3=fmc6; fmc6=fmtemp;\n";
				code += "}\n";
				code += "fmbody = !fmbody;\n";
			}
		}
		if (document.getElementById("fadeScrollColor").checked){
			fader_maker_scrollstart = document.getElementById("scrollStrColor").value;
			fader_maker_scrollstop =  document.getElementById("scrollEndColor").value;
			var fmd1 = "0x"+fader_maker_scrollstart.substring(1,3);
			var fmd2 = "0x"+fader_maker_scrollstart.substring(3,5);
			var fmd3 = "0x"+fader_maker_scrollstart.substring(5,7);
			var fmd4 = "0x"+fader_maker_scrollstop.substring(1,3);
			var fmd5 = "0x"+fader_maker_scrollstop.substring(3,5);
			var fmd6 = "0x"+fader_maker_scrollstop.substring(5,7);
		 	code += "fmd1="+fmd1+"; fmd2="+fmd2+"; fmd3="+fmd3+";\n";
			code += "fmd4="+fmd4+"; fmd5="+fmd5+"; fmd6="+fmd6+";\n";
			if (document.getElementById("loop").checked){
				code += "if (!fmscroll){\n";
				code += "fmtemp=fmd1; fmd1=fmd4; fmd4=fmtemp; fmtemp=fmd2; fmd2=fmd5; fmd5=fmtemp; fmtemp=fmd3; fmd3=fmd6; fmd6=fmtemp;\n";
				code += "}\n";
				code += "fmscroll = !fmscroll;\n";
			}
		}
		code += "fmFade();\n";
		code += "}\n";
		code += "function fmToHex(n){\n";
		code += "var hexChars = \"0123456789ABCDEF\";\n";
		code += "if (n == 0) return \"00\";\n";
		code += "var j, n;\n";
		code += "var temp = \"\";\n";
		code += "while (n != 0){\n";
		code += "j = n % 16;\n";
		code += "n = (n - j)/16;\n";
		code += "temp = hexChars.charAt(j) + temp;\n";
		code += "}\n";
		code += "if (temp.length < 2){\n";
		code += "temp = \"0\" + temp;\n";
		code += "}\n";
		code += "return temp;\n";
		code += "}\n\n";
		if (document.getElementById("fadeScrollColor").checked){
		code += "if (document.documentElement && typeof( document.documentElement.style.scrollbarFaceColor)!='undefined'){fm_doc=document.documentElement;}\n";
		code += "else if (document.body && typeof(document.body.style.scrollbarFaceColor) != 'undefined'){fm_doc=document.body;}\n";
		}
		code += "function fmFade(){\n";
		code += "obj = document.getElementById('tekst').style;\n";
		if (document.getElementById("fadeTxtColor").checked){
			code += "fmcolor = \"#\" + fmToHex(fma1) + fmToHex(fma2) + fmToHex(fma3);\n";
			code += "obj.color = fmcolor;\n";
			code += "if (fma1 != fma4){\n";
			code += "if (fma4 > fma1){fma1++;}\n";
			code += "else{fma1--;}}\n";
			code += "if (fma2 != fma5){\n";
			code += "if (fma5 > fma2){fma2++;}\n";
			code += "else{fma2--;}}\n";
			code += "if (fma3 != fma6){\n";
			code += "if (fma6 > fma3){fma3++;}\n";
			code += "else{fma3--;}}\n";
		}
		if (document.getElementById("fadeTxtBgColor").checked){
			code += "fmbackcolor = \"#\" + fmToHex(fmb1) + fmToHex(fmb2) + fmToHex(fmb3);\n";
			code += "obj.backgroundColor = fmbackcolor;\n";
			code += "if (fmb1 != fmb4){\n";
			code += "if (fmb4 > fmb1){fmb1++;}\n";
			code += "else{fmb1--;}}\n";
			code += "if (fmb2 != fmb5){\n";
			code += "if (fmb5 > fmb2){fmb2++;}\n";
			code += "else{fmb2--;}}\n";
			code += "if (fmb3 != fmb6){\n";
			code += "if (fmb6 > fmb3){fmb3++;}\n";
			code += "else{fmb3--;}}\n";
		}
		if (document.getElementById("fadeBodyBgColor").checked){
			code += "fmbodycolor = \"#\" + fmToHex(fmc1) + fmToHex(fmc2) + fmToHex(fmc3);\n";
			code += "document.bgColor = fmbodycolor;\n";
			code += "if (fmc1 != fmc4){\n";
			code += "if (fmc4 > fmc1){fmc1++;}\n";
			code += "else{fmc1--;}}\n";
			code += "if (fmc2 != fmc5){\n";
			code += "if (fmc5 > fmc2){fmc2++;}\n";
			code += "else{fmc2--;}}\n";
			code += "if (fmc3 != fmc6){\n";
			code += "if (fmc6 > fmc3){fmc3++;}\n";
			code += "else{fmc3--;}}\n";
		}
		if (document.getElementById("fadeScrollColor").checked){
			code += "if (fm_doc){\n";
			code += "fmscrollcolor = \"#\" + fmToHex(fmd1) + fmToHex(fmd2) + fmToHex(fmd3);\n";
			code += "fm_doc.style.scrollbarFaceColor = fmscrollcolor;\n";
			code += "if (fmd1 != fmd4){\n";
			code += "if (fmd4 > fmd1){fmd1++;}\n";
			code += "else{fmd1--;}}\n";
			code += "if (fmd2 != fmd5){\n";
			code += "if (fmd5 > fmd2){fmd2++;}\n";
			code += "else{fmd2--;}}\n";
			code += "if (fmd3 != fmd6){\n";
			code += "if (fmd6 > fmd3){fmd3++;}\n";
			code += "else{fmd3--;}}\n";
			code+="}\n";
			code+="else{fmd1=fmd2=fmd3=fmd4=fmd5=fmd6=0}\n";
		}
		code += "if (";
		if (document.getElementById("fadeTxtColor").checked){
			code += "(fma1 == fma4) && (fma2 == fma5) && (fma3 == fma6)";
			if (document.getElementById("fadeTxtBgColor").checked){
				code += " && (fmb1 == fmb4) && (fmb2 == fmb5) && (fmb3 == fmb6)";
			}
			if (document.getElementById("fadeBodyBgColor").checked){
				code += " && (fmc1 == fmc4) && (fmc2 == fmc5) && (fmc3 == fmc6)\n";
			}
			if (document.getElementById("fadeScrollColor").checked){
				code += " && (fmd1 == fmd4) && (fmd2 == fmd5) && (fmd3 == fmd6)\n";
			}
		}
		else{
			if (document.getElementById("fadeTxtBgColor").checked){
				code += "(fmb1 == fmb4) && (fmb2 == fmb5) && (fmb3 == fmb6)";
				if (document.getElementById("fadeBodyBgColor").checked){
					code += " && (fmc1 == fmc4) && (fmc2 == fmc5) && (fmc3 == fmc6)\n";
				}
				if (document.getElementById("fadeScrollColor").checked){
					code += " && (fmd1 == fmd4) && (fmd2 == fmd5) && (fmd3 == fmd6)\n";
				}
			}
			else{
				if (document.getElementById("fadeBodyBgColor").checked){
					code += "(fmc1 == fmc4) && (fmc2 == fmc5) && (fmc3 == fmc6)\n";
					if (document.getElementById("fadeScrollColor").checked){
						code += " && (fmd1 == fmd4) && (fmd2 == fmd5) && (fmd3 == fmd6)\n";
					}
				}
				else{
					code += "(fmd1 == fmd4) && (fmd2 == fmd5) && (fmd3 == fmd6)\n";
				}
			}
		}
		code += "){\n";
		code += "window.clearTimeout(fmTimer);\n";
		if (document.getElementById("loop").checked){
			code += "fminit()";
		}
		code += "}\n";
		code += "else{\n";
		code += "fmTimer = window.setTimeout(\"fmFade()\"," + parseInt(document.getElementById("speed").value,10)+");\n";
		code += "}\n";
		code += "}\n";
		if (document.getElementById("fmevent").options[0].selected)
			code += "onload = fminit\n";
		code += "<\/script>\n\n";
		code += "2. Put this on the place where you want your message to be.\n\n";
		code += "<span id=\"tekst\" style=\"font-size:"+document.getElementById("size").options[document.getElementById("size").selectedIndex].value+"; font-family: "+document.getElementById("family").options[document.getElementById("family").selectedIndex].value+"; letter-spacing:"+document.getElementById("spacing").options[document.getElementById("spacing").selectedIndex].value+"; font-weight:"
		if (document.getElementById("bold").checked){
			code += "bold";
		}
		else{
			code += "normal";
		}
		code += "; font-style:";
		if (document.getElementById("italic").checked){
			code += "italic";
		}
		else{
			code += "normal";
		}
		code += "; padding-left:20px; padding-right:20px;\"";
		if (document.getElementById("fmevent").options[2].selected)
			code+=" onmouseover=\"fminit()\"";
		code+=">"+document.getElementById("msg").value+"<\/span>\n\n";
		if (!document.getElementById("fmevent").options[1].selected) 
			code += "3. Enjoy!";
		if (document.getElementById("fmevent").options[1].selected){
			code += "3. Put this where you want your button to be.\n\n";
			code += "<input type=\"button\" value=\""+fmButtonText+"\" onclick=\"fminit()\">\n\n";
			code += "4. Enjoy!";
		}
	document.getElementById('generatedCode').value = code;
	}
}
function processblur(field){
	if (isValidColor(field.value))
	 	field.style.backgroundColor = field.value;
	else
		field.style.backgroundColor = 'white';
}
function hidepalette(){
	palettevis = !palettevis;
	if (palettevis){
		paletevis=false;
		document.getElementById('palette').style.visibility='hidden';
	}
}

function writePalette(){
document.write("<div id='palette'>");
document.write("<table border='1' cellspacing='1' cellpadding='0'>");
	for (k=0; k<256; k+=51){
		document.write("<tr>");
		for (i=0; i<256; i+=51){
			if (i==153) document.write("<tr>");
			for (j=0; j<256; j+=51){
				document.write("<td style=\"width:10px; height:15px; cursor:pointer;\" bgcolor=\"#"+toHex(i)+toHex(k)+toHex(j)+"\" onClick=\"ref.value = ref.style.backgroundColor = rgbToHex(this.bgColor); document.getElementById('palette').style.visibility = 'hidden';\" onMouseOver=\"pokazi(rgbToHex(this.bgColor), event)\" onMouseMove=\"idizamnom(event)\" onMouseOut = \"sakrij()\"><\/td>");
			}
		}
		document.write("<\/tr>");
	}
document.write("<\/table>");
document.write("<\/div>");
}
