function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}
 function pick_color(obj){
	document.form1.cur_color.value=obj;
	var MouseX=event.x;
	var MouseY=event.y;
	Layer1.style.left=MouseX;
	Layer1.style.top=MouseY;
	MM_showHideLayers('Layer1','','show')
 }
 function set_color(szColor){
	obj=document.form1.cur_color.value;
	if(obj=='s'){
		document.form1.start_color.value=szColor;
		document.all.td_start.bgColor='#'+szColor;
	}else{
		document.form1.end_color.value=szColor;
		document.all.td_end.bgColor='#'+szColor;
	}
	MM_showHideLayers('Layer1','','hide')
 }
function pv(){ //preview
	if(!document.form1.text1.value){
		alert('没有文字可以转换！');
		document.form1.text1.focus();
	}else{
		document.all.preview.innerHTML=generate('html',document.form1.text1.value);
	}
}
function gen_onclick(){
	if(document.form1.format[0].status==true){
		document.form1.text2.value=generate('ubb',document.form1.text1.value);
	}else{
		document.form1.text2.value=generate('html',document.form1.text1.value);
		
	}
}
function generate(action,str){
	scolor=document.form1.start_color.value;
	ecolor=document.form1.end_color.value;
	r1=HexToNum(scolor.substring(0,2));
	g1=HexToNum(scolor.substring(2,4));
	b1=HexToNum(scolor.substring(4,6));
	r2=HexToNum(ecolor.substring(0,2));
	g2=HexToNum(ecolor.substring(2,4));
	b2=HexToNum(ecolor.substring(4,6));
	r_step=(r1-r2-((r1-r2)%str.length))/str.length;
	g_step=(g1-g2-((g1-g2)%str.length))/str.length;
	b_step=(b1-b2-((b1-b2)%str.length))/str.length;
	if(r_step==0){r_step=3;}
	if(g_step==0){g_step=3;}
	if(b_step==0){b_step=3;}
	var str2='';
	r_color=r1;
	g_color=g1;
	b_color=b1;
	for(var i=0;i<str.length;i++){
		cur_str=str.substring(i,i+1);
		r_color=r_color-r_step;
		g_color=g_color-g_step;
		b_color=b_color-b_step;
		if(r_color>=255||r_color<0){r_color=r1;}
		if(g_color>=255||g_color<0){g_color=g1;}
		if(b_color>=255||b_color<0){b_color=b1;}
		cur_color=NumToHex(r_color)+''+NumToHex(g_color)+''+NumToHex(b_color)
			if(action=='html'){
			if(cur_str=='\n'){
				str2+='<br>';
			}else{
				str2+='<font color=#' +cur_color+ '>' + cur_str + '</font>';
			}
		}else{
			str2+='[ftc=#' +cur_color+ ']'+cur_str+'[/ft]';
		}	
	}
	return str2;
}
function reset_form(){
	document.form1.reset();
	document.all.td_start.bgColor='#'+document.form1.start_color.value;
	document.all.td_end.bgColor='#'+document.form1.end_color.value;
	document.all.preview.innerHTML='';
}
function about(){
	var about='<center><br><a href=http://www.zhenbi.com target=_blank>&#x771F;&#x7B14;&#x7F51;&#x63D0;&#x4F9B;</a></center>';
	document.all.preview.innerHTML=about;
}
function copy_to_cb() {
	if(document.form1.text2.value){
		document.form1.text2.focus();
		document.form1.text2.select();
		therange=document.form1.text2.createTextRange();
		therange.execCommand("Copy");
		alert("代码已经拷贝到你的剪贴板上了！\n\n请按Ctrl+V将其粘贴到适当的位置。");
	}
}
function MakeNum(str) {
	if((str >= 0) && (str <= 9)){
		return str;
	}
	switch(str.toUpperCase()) {
	case "A": return 10;
	case "B": return 11;
	case "C": return 12;
	case "D": return 13;
	case "E": return 14;
	case "F": return 15;
	}
}
function HexToNum(hex) {
	tens = MakeNum(hex.substring(0,1));
	ones = 0;
	ones=MakeNum(hex.substring(1,2));
	num = (tens * 16) + (ones * 1);
	return num;
}
function NumToHex(strNum) {
	var base,rem,baseS,remS;
	base = strNum / 16;
	rem = strNum % 16;
	base = base - (rem / 16);
	baseS = MakeHex(base);
	remS = MakeHex(rem);
	hex = baseS + '' + remS;
	return hex;
}
function MakeHex(x) {
	if((x >= 0) && (x <= 9)){
		return x;
	}else{
		switch(x) {
		case 10: return "A"; 
		case 11: return "B";  
		case 12: return "C";  
		case 13: return "D";  
		case 14: return "E";  
		case 15: return "F";  
		  }
	}
}
function MM_callJS(jsStr) { //v2.0
  return eval(jsStr)
}