///////////////////////////////////////////////////////
//move.js
//////////////////////////////////////////////////////
////////////////////////////////////////////////////
var moving = false;
var initX  = 0;
var initY  = 0;

//*******************
// 获取触发事件的对象
//*******************
function findSrc(evt)
{
  //return( evt.target ? evt.target : evt.srcElement );
  var obj;
  obj=evt.target ? evt.target : evt.srcElement;
  if (obj.parentNode) { 
   obj = obj.parentNode;
} else {
   obj = null;
}
  return obj;
}

function start(evt)
{
    //按下鼠标左键才允许移动
    //evt.button == 1 IE/Opera 7.23/7.54
    //evt.button == 0 Firefox/Opera 7.6+
    if ( evt.button == 1 || evt.button == 0)
    {
        moving = true;
        initX  = evt.offsetX ? evt.offsetX : evt.layerX;
        initY  = evt.offsetY ? evt.offsetY : evt.layerY;
        //findSrc( evt ).style.cursor = "move";
        //window.status = "开始(button=" + evt.button + ")";
    } else {
        stop( evt );
    }
}

function stop( evt )
{
    moving = false;
    //findSrc( evt ).style.cursor = "";
    //window.status = "结束(button=" + evt.button + ")";
}

function move(evt)
{
    //按下鼠标左键才允许移动
    //evt.button == 1 IE/Opera 7.23/7.54
    //evt.button == 0 Firefox/Opera 7.6+
    if (moving && ( evt.button == 1 || evt.button == 0 ))
    {
        var intx = document.body.scrollLeft + evt.clientX; //获取当前鼠标位置的X坐标
        var inty = document.body.scrollTop + evt.clientY; //获取当前鼠标位置的Y坐标

        var div = findSrc( evt );
        div.style.top = inty - initY +"px";
        div.style.left = intx - initX+"px";
        //window.status = "X=" + intx + " Y=" + inty + " button=" + evt.button;
    } else {
        //window.status = "已停止(button=" + evt.button + ")";
    }
}
////////////////////////////////////////////////////
var BROWSERNAME="";
switch(navigator.appName.toLowerCase())
{
case "netscape":
     BROWSERNAME="ns";
break;
case "internet explorer":
default:
BROWSERNAME="ie";
break;
}

switch(BROWSERNAME)
{
case "ns":
     window.addEventListener("load",_xScrollStick_init,false);
break;
case "ie":
default:
     window.attachEvent("onload",_xScrollStick_init);
}

function _xScrollStick_init()
{
_xScrollStick_event_doInit(GE('msg_about'));
window_event_scroll();
}

function _xScrollStick_event_doInit(element)
{
element.offX=element.offsetLeft;
element.offY=element.offsetTop;
element.Stick=_xScrollStick_method_Stick;

switch(BROWSERNAME)
{
      case "ns":
        window.addEventListener("scroll",window_event_scroll,false);
	break;
      case "ie":
      default:
	window.attachEvent("onscroll",window_event_scroll);
}
document.body.parentNode.onscroll=window_event_scroll;
}


function window_event_scroll()
{
GE('msg_about').Stick();
}

function _xScrollStick_method_Stick()
{
var x=this.offX, y=this.offY, po=this;
//this.style.position="absolute";
//x+=document.body.parentNode.scrollLeft;
y+=document.body.parentNode.scrollTop;
//this.style.left=x+"px";
this.style.top=y+"px";
}
////////////////////////////////////////////////////////
function sAlert(str,r_pz){
var arhy_tmp=chkrhy(str);
if (arhy_tmp.length<=1) return false;
var atmp=new Array();
var n;
switch (r_pz){
case "a":
for (n=0;n<arhy_tmp.length ;n++ ){
if (RHY_NAME[arhy_tmp[n]].indexOf("平")>-1) atmp.push(arhy_tmp[n]);
}
//alert ("a"+atmp);
break;
case "c":
for (n=0;n<arhy_tmp.length ;n++ ){
if (RHY_NAME[arhy_tmp[n]].indexOf("仄")>-1) atmp.push(arhy_tmp[n]);
}
//alert ("c"+atmp);
break;
case "x":
default:
for (n=0;n<arhy_tmp.length ;n++ ){
atmp.push(arhy_tmp[n]);
}
//alert ("x"+atmp);
}
if (atmp.length==0) return false;
if (atmp.length==1){
GE("rhy_chr").innerHTML="当前韵："+str+" — "+"<a href='javascript:showrhy2("+String(atmp[0])+");'>"+RHY_NAME[atmp[0]]+"</a> ";	
CUR_RHYIDX=atmp[0];
return false;
}

var sWidth,sHeight;
//sWidth=document.body.offsetWidth;//浏览器工作区域内页面宽度
//sHeight=screen.height;//屏幕高度（垂直分辨率）
sWidth=screen.width;
sHeight=document.body.offsetHeight;
GE("msgTitle").innerHTML="选择韵部:"+str;  //标题
//GE("msgTxt").innerHTML+=str;
//objSelect=GE("sle_rhy");
objSelect=document.getElementsByTagName('select')[1];
objSelect.options.length = 0; 
var varItem;
for (n=0;n<atmp.length ;n++ ){
  varItem = new Option(RHY_NAME[atmp[n]],atmp[n]);
  //objSelect.options.add(varItem);
  objSelect.options[objSelect.options.length]=varItem;
}
showsel(atmp[0]);
GE("bgDiv").style.width=sWidth + "px";
GE("bgDiv").style.height=sHeight + "px";
GE("msgTitle").style.left=document.body.offsetWidth/2-180+"px";
GE("msgDiv").style.left=GE("msgTitle").style.left;
//GE("rhy_family").style.visibility="hidden";
document.getElementsByTagName('select')[0].style.visibility="hidden";
//document.body.style["overflow"]="hidden";
GE("bgDiv").style.display="block";
GE("bgDiv").focus();
}
//----------------------------------
function seldone(){//确定事件
//CUR_RHYIDX=GE("sle_rhy").options.value;
//CUR_RHYIDX=document.getElementsByTagName('select')[1].options.value;
var obj=document.getElementsByTagName('select')[1];
CUR_RHYIDX=obj.options[obj.selectedIndex].value;
GE("rhy_chr").innerHTML="当前韵："+"<a href='javascript:showrhy2("+String(CUR_RHYIDX)+");'>"+RHY_NAME[CUR_RHYIDX]+"</a> ";
//alert (CUR_RHYIDX);
//GE("sle_rhy").options.length = 0;
document.getElementsByTagName('select')[1].options.length = 0;
GE("rhyinfo").value="";
//GE("rhy_family").style.visibility="visible";
document.getElementsByTagName('select')[0].style.visibility="visible";
GE("bgDiv").style.display="none";
}
//----------------------------------
function showsel(itmidx){
GE("rhyinfo").value=RHY_NAME[itmidx]+" ("+String(RHY_CONT[itmidx].length)+"字)\n";
GE("rhyinfo").value+=RHY_ABOUT[itmidx]
}
////////////////////////////////////////
function tabclk(tabid){
switch (tabid)
{
case "tab1":  //新作品
GE("tab1").className="tab active";
GE("tab2").className="tab";
GE("tab3").className="tab";
GE("tab4").className="tab";
GE("main_tab2").style.display="none";
GE("main_tab3").style.display="none";
GE("main_tab4").style.display="none";
GE("main_tab1").style.display="block";
break;
case "tab2"://发布
GE("tab2").className="tab active";
GE("tab1").className="tab";
GE("tab3").className="tab";
GE("tab4").className="tab";
GE("main_tab1").style.display="none";
GE("main_tab3").style.display="none";
GE("main_tab4").style.display="none";
GE("main_tab2").style.display="block";
break;
case "tab3"://导入、导出作品
GE("tab3").className="tab active";
GE("tab1").className="tab";
GE("tab2").className="tab";
GE("tab4").className="tab";
GE("main_tab1").style.display="none";
GE("main_tab2").style.display="none";
GE("main_tab4").style.display="none";
GE("main_tab3").style.display="block";
break;
case "tab4"://格律
GE("tab4").className="tab active";
GE("tab1").className="tab";
GE("tab2").className="tab";
GE("tab3").className="tab";
GE("main_tab1").style.display="none";
GE("main_tab2").style.display="none";
GE("main_tab3").style.display="none";
GE("main_tab4").style.display="block";
break;
default:
GE("tab4").className="tab active";
GE("tab1").className="tab";
GE("tab2").className="tab";
GE("tab3").className="tab";
GE("main_tab1").style.display="none";
GE("main_tab2").style.display="none";
GE("main_tab3").style.display="none";
GE("main_tab4").style.display="block";
}
}
//---------------------------
function putci(){   //将工具区的文字导入创作区
var bln = confirm("将工具区的文字导入创作区，创作区的现有内容将被替换！确定继续吗?");   
if (bln==false){return false;}

var astrtmp=new Array();
var atmp=new Array();
var str_tmp;
var chr_tmp;
var id_tmp;
var ln;
var lc;
var rn;
var rc;
ln=1;lc=1;
//清空创作区
for (var n=0;n<ALL_ROWS;n++){
	for (var i=1;i<=N_RULE[n];i++ ){
		id_tmp="r"+String(n+1)+"c"+String(i);
		GE(id_tmp).value="";
		}
	}
astrtmp=GE("draftio").value.split("\n");
for (rn=0;rn<astrtmp.length;rn++ ){  //遍历工具区每一行
	//str_tmp=astrtmp[rn].replace(/\r/ig,"");  
	str_tmp=astrtmp[rn];
	if (str_tmp.substr(0,2)=="//"){  //注释行
		atmp=str_tmp.substr(2).split("·");
		if (atmp.length==2) {GE("txsubtitle").value=atmp[1].substr(0,20);}
		atmp=str_tmp.substr(2).replace("：",":");
		if (atmp.substr(0,3)=="序言:") {GE("txperface").value=atmp.substr(3,200);}
		} else {
		str_tmp=str_tmp.replace(/　/g," ");
		for (rc=0;rc<str_tmp.length;rc++ ){     //未注释行则遍历该行的每一字符
			chr_tmp=str_tmp.substr(rc,1);
			if (chr_tmp==" ") {lc++;}
			if (ischn(chr_tmp)) {
				if (ln<=ALL_ROWS && lc<=N_RULE[ln-1]) {
					id_tmp="r"+String(ln)+"c"+String(lc); 
					GE(id_tmp).value=chr_tmp;
					lc++;
					}
				}
			}
		ln++;lc=1;
		}
	}
//alert (CHKSTAT);
if (CHKSTAT=="ON"){resetchk("on");}
}
//---------------------------
function getci(){  //将创作区的文字导出到工具区
var bln = confirm("将创作区的文字导出到工具区，上文本框中的内容将被替换，确定继续吗?");   
if (bln==false) {return false;}

var s_tmp;
var id_tmp;
s_tmp="";id_tmp="";
s_tmp+="//"+RULENAME;  //词牌
if (GE("txsubtitle").value.length>0 && GE("txsubtitle").value!="输入标题"){  //标题
	s_tmp+="·"+GE("txsubtitle").value;
}
s_tmp+="\n";
if (GE("txperface").value.length>0 && GE("txperface").value!="输入序言"){  //序言
	s_tmp+="//序言:"+GE("txperface").value+"\n";
}
if (AUTHNAME.length>0){  //作者
	s_tmp+="//作者:"+AUTHNAME+"\n";
}
s_tmp+="//-----------------------------\n";
//作品内容
for (var n=0;n<N_RULE.length;n++){
	for (var i=1;i<=N_RULE[n];i++ ){
		id_tmp="r"+String(n+1)+"c"+String(i);
		s_tmp+=GE(id_tmp).value?GE(id_tmp).value:"　";
		}
	s_tmp+="\n";
	if (PHASEROW>0 && n==PHASEROW-2) {s_tmp+="\n";}
	}
s_tmp+="//-----------------------------\n";
//词谱
s_tmp+="//词谱:"+BOOKNAME+"\n";
//韵书
s_tmp+="//韵书:"+RHYTHMNAME+"\n";
//时间
var myDate = new Date();
s_tmp+="//"+myDate.toLocaleString()+"\n";

GE("draftio").value=s_tmp;
}
//---------------------------
function pingci(){  //作品格律评论，文字版
var bln = confirm("格律评论的内容将替换工具区文本框中的现有内容，确定继续吗?");   
if (bln==false) {return false;}

GE("bn_pingci").disabled=true;
var s_tmp;
var chr_tmp;
var id_tmp;
var ju_tmp;
var C_ju=new Array();   
var C_rhy=new Array();   
var a_tmp=new Array();

s_tmp="";id_tmp="";ju_tmp="";
s_tmp+=RULENAME;  //词牌
if (GE("txsubtitle").value.length>0 && GE("txsubtitle").value!="输入标题"){  //标题
	s_tmp+="·"+GE("txsubtitle").value;
}
s_tmp+="\n";
if (GE("txperface").value.length>0 && GE("txperface").value!="输入序言"){  //序言
	s_tmp+="序言："+GE("txperface").value+"\n";
}
if (AUTHNAME.length>0){  //作者
	s_tmp+="作者："+AUTHNAME+"\n";
}
//词谱
s_tmp+="词谱："+BOOKNAME+"\n";
//韵书
s_tmp+="韵书："+RHYTHMNAME+"\n";
if (CUR_RHYIDX>=0){
  s_tmp+="当前韵：";
  if (CUR_RHYCHR!="" && CUR_RHYCHR!==undefined) {
    s_tmp+=CUR_RHYCHR+" - ";
  }
  s_tmp+=RHY_NAME[CUR_RHYIDX];
  s_tmp+="\n";
}
s_tmp+="-----------------------------\n";
//作品内容
for (var n=0;n<N_RULE.length;n++){
	//第n句
	s_tmp+="第"+String(n+1)+"句：";
	for (var i=1;i<=N_RULE[n];i++ ){
		id_tmp="r"+String(n+1)+"c"+String(i);
		chr_tmp=ischn(GE(id_tmp).value)?GE(id_tmp).value:"　";
		C_ju[i]=chr_tmp;
		ju_tmp+=chr_tmp;
		C_rhy[i]=A_RULE[n].substr(i-1,1);
		//s_tmp+=C_rhy[i];
		}

	if (ju_tmp.replace(/\　/g,"")=="") {
		s_tmp+="(未输入)\n\n";
		ju_tmp="";
		continue;
		}

	s_tmp+=ju_tmp;
	ju_tmp="";
	s_tmp+=" [";
	for (var i=1;i<=N_RULE[n];i++ ){
		switch (chkpz(C_ju[i])) { 
		case "n": 
		 s_tmp+="？";
		 break;
		case "p":
		 s_tmp+="平";
		 break;
		case "z":
		 s_tmp+="仄";
		 break;
		case "x": 
		 s_tmp+="◎";
		 break;
		default:
		 s_tmp+="？";
		}
	}
	s_tmp+="]\n";

    //每句第i字
	for (var i=1;i<=N_RULE[n];i++ ){
		chr_tmp=C_ju[i];
		s_tmp+="　第"+String(i)+"字：";
		if (chr_tmp=="" || chr_tmp==" " || chr_tmp=="　" || chr_tmp===undefined){
			s_tmp+="(未输入)\n";
			continue;
			}
		s_tmp+=chr_tmp;
		switch (chkpz(chr_tmp)) { 
		case "n": 
			s_tmp+="(未知字)";
		 break;
		case "p":
			s_tmp+=" - 平声字，";
			switch (C_rhy[i]) {
			case "p":
				s_tmp+="此处当用平声，正确";
			break;
			case "z":
				s_tmp+="此处当用仄声，错误";
			break;
			case "x":
				s_tmp+="此处平仄皆可";
			break;	
			case "a":
				s_tmp+="此处当起平声韵";
			    a_tmp=chkrhy(chr_tmp);
				if (a_tmp.length>0){
					s_tmp+="，"+chr_tmp+"：";
					for (var j=0;j<a_tmp.length;j++) {
						s_tmp+="["+RHY_NAME[a_tmp[j]]+"]";
					}
				}
				a_tmp.length=0;
			break;
			case "b":
				s_tmp+="此处当押平声韵";
			    a_tmp=chkrhy(chr_tmp);
				if (a_tmp.length>0){
					s_tmp+="，"+chr_tmp+"：";
					for (var j=0;j<a_tmp.length;j++) {
						s_tmp+="["+RHY_NAME[a_tmp[j]]+"]";
					}
				}
				a_tmp.length=0;
			break;	
			case "c":
				s_tmp+="此处当起仄声韵，错误";
			break;
			case "d":
				s_tmp+="此处当押仄声韵，错误";
			break;
			default:
				s_tmp+="(词谱错误 err.09452385)";
			}
		 break;
		case "z":
			s_tmp+=" - 仄声字，";
			switch (C_rhy[i]) {
			case "p":
				s_tmp+="此处当用平声，错误";
			break;
			case "z":
				s_tmp+="此处当用仄声，正确";
			break;
			case "x":
				s_tmp+="此处平仄皆可";
			break;	
			case "a":
				s_tmp+="此处当起平声韵，错误";
			break;
			case "b":
				s_tmp+="此处当押平声韵，错误";
			break;	
			case "c":
				s_tmp+="此处当起仄声韵";
			    a_tmp=chkrhy(chr_tmp);
				if (a_tmp.length>0){
					s_tmp+="，"+chr_tmp+"：";
					for (var j=0;j<a_tmp.length;j++) {
						s_tmp+="["+RHY_NAME[a_tmp[j]]+"]";
					}
				}
				a_tmp.length=0;
			break;
			case "d":
				s_tmp+="此处当押仄声韵";
			    a_tmp=chkrhy(chr_tmp);
				if (a_tmp.length>0){
					s_tmp+="，"+chr_tmp+"：";
					for (var j=0;j<a_tmp.length;j++) {
						s_tmp+="["+RHY_NAME[a_tmp[j]]+"]";
					}
				}
				a_tmp.length=0;
			break;
			default:
				s_tmp+="(词谱错误 err.09957320)";
			}
		 break;
		case "x": 
			s_tmp+=" - 多音字，请根据上下文自行判断格律正误";
			a_tmp=chkrhy(chr_tmp);
			if (a_tmp.length>0){
				s_tmp+="，"+chr_tmp+"：";
				for (var j=0;j<a_tmp.length;j++) {
					s_tmp+="["+RHY_NAME[a_tmp[j]]+"]";
				}
			}
			a_tmp.length=0;
		 break;
		default:
		 s_tmp+="(未知字)";
		}

		s_tmp+="\n";
		}
	s_tmp+="\n";

	//分阙空行
	if (PHASEROW>0 && n==PHASEROW-2) {s_tmp+="\n";}
	}
s_tmp+="-----------------------------\n";
//时间
var myDate = new Date();
s_tmp+=""+myDate.toLocaleString()+"\n";
s_tmp+="(作品格律评论由《填词专家组WEB版》自动生成，结果仅供参考。)"+"\n";  //词牌

GE("draftio").value=s_tmp;
GE("bn_pingci").disabled=false;
}
//---------------------------
function sendci(){  //发送作品到文集
var s_tmp;
var id_tmp;
s_tmp="";id_tmp="";
s_tmp+=""+RULENAME;  //词牌
GE("send_tags").value=s_tmp;
if (GE("txsubtitle").value.length>0 && GE("txsubtitle").value!="输入标题"){  //标题
	s_tmp+="("+GE("txsubtitle").value+")";
	GE("send_tags").value+=" "+GE("txsubtitle").value;
}
GE("send_title").value=s_tmp;
s_tmp="<FONT face=黑体 size=4>"+s_tmp+"</FONT><BR>"
if (AUTHNAME.length>0){  //作者
	s_tmp+="<FONT face=楷体_GB2312 color=#0909f7>作者:"+AUTHNAME+"</FONT><br>";
}
if (GE("txperface").value.length>0 && GE("txperface").value!="输入序言"){  //序言
	s_tmp+="<FONT style='BACKGROUND-COLOR: #999999'><FONT face=楷体_GB2312 color=#0909f7>序言:"+GE("txperface").value+"</FONT></FONT><br>";
}
s_tmp+="<BR><FONT size=3>";
//作品内容
for (var n=0;n<N_RULE.length;n++){
	for (var i=1;i<=N_RULE[n];i++ ){
		id_tmp="r"+String(n+1)+"c"+String(i);
		s_tmp+=GE(id_tmp).value?GE(id_tmp).value:"　";
		}
	s_tmp+="<br>";
	if (PHASEROW>0 && n==PHASEROW-2) {s_tmp+="<br>";}
	}
s_tmp+="</FONT><BR><HR><FONT color=#777777>";
//词谱
s_tmp+="词谱:《"+BOOKNAME+"》<br>";
//韵书
s_tmp+="韵书:"+RHYTHMNAME+"<br>";
//时间
var myDate = new Date();
s_tmp+="作品提交时间:"+myDate.toLocaleString()+"<br>";
s_tmp+="Powered By: <a href=http://www.shicijiayuan.com target=_blank>填词专家组-web</a> Ver:1012.</FONT>";
GE("send_cont").value=s_tmp;
//alert(GE("send_title").value);
//alert(GE("send_tags").value);
//alert(GE("send_cont").value);
addCookie("sc_title",GE("send_title").value,"","","");
addCookie("sc_tags",GE("send_tags").value,"","","");
addCookie("sc_cont",GE("send_cont").value,"","","");
//alert (document.cookie);
document.frm_sendci.submit();
}
//---------------------------
function showlogwnd(){
var sWidth,sHeight;
//sWidth=document.body.offsetWidth;//浏览器工作区域内页面宽度
//sHeight=screen.height;//屏幕高度（垂直分辨率）
sWidth=screen.width;
sHeight=document.body.offsetHeight;
GE("bgDiv2").style.width=sWidth + "px";
GE("bgDiv2").style.height=sHeight + "px";
document.getElementsByTagName('select')[0].style.visibility="hidden";
GE("bgDiv2").style.display="block";
GE("bgDiv2").focus();
}
//---------------------------
function clseditcont(){
var bln = confirm("创作区的所有文字将被清除！确定继续吗?");   
if (bln==false){return false;}
var id_tmp;
//清空创作区
for (var n=0;n<ALL_ROWS;n++){
	for (var i=1;i<=N_RULE[n];i++ ){
		id_tmp="r"+String(n+1)+"c"+String(i);
		//if (GE(id_tmp).value.length>0) {GE(id_tmp).value="";txblur(id_tmp);}
		GE(id_tmp).value="";
		txblur(id_tmp);
		}
	}
}
//---------------------------
function resetchk(r_stat){
var id_tmp;
if (r_stat=="on"){
	GE("chkstat").innerHTML="[<a onclick=resetchk('off') href='javascript:;' style='color:#9999ff;font-size:12px;' title='格律检查功能已打开，点击可关闭'>格律检查：开</a>]";
	CHKSTAT="ON";
} else {
	GE("chkstat").innerHTML="[<a onclick=resetchk('on') href='javascript:;' style='color:#9999ff;font-size:12px;' title='格律检查功能已关闭，点击可打开'>格律检查：关</a>]";
	CHKSTAT="OFF";
}
//重新检测格律
ori_CHR="";
for (var n=0;n<ALL_ROWS;n++){
	for (var i=1;i<=N_RULE[n];i++ ){
		id_tmp="r"+String(n+1)+"c"+String(i);
		//if (GE(id_tmp).value.length>0) txblur(id_tmp);
		txblur(id_tmp);
		}
	}
}
//---------------------------
function pigai(){
tabclk('tab3');
pingci();
}
