/* KITPC Rearch Group 2008.04.10*/

/**
*表格排序
*t:表格体.例:myTable.tBodies[0]
*iRowEnd:第几行停止排序.例:myTable.tBodies[0].rows.length-1
*fReverse:升序,降序.例:true(升)false(降)
*iColumn:第几列需要排序.例 4
*/
var sortyn=new Array(200);
function insertionSort(t, iRowEnd, fReverse, iColumn)
{
  var iRowInsertRow,iRowWalkRow, current, insert;
  for ( iRowInsert = 1 ; iRowInsert <= iRowEnd ; iRowInsert++ )
  {
    if (iColumn)
    {
      if( typeof(t.children[iRowInsert].children[iColumn]) != "undefined")
        textRowInsert = t.children[iRowInsert].children[iColumn].innerText;
      else
        textRowInsert = "";
    }
    else
    {
      textRowInsert = t.children[iRowInsert].innerText;
    }
        
    for ( iRowWalk = 1; iRowWalk <= iRowInsert ; iRowWalk++ )
    {
      if (iColumn)
      {
        if(typeof(t.children[iRowWalk].children[iColumn]) != "undefined")
          textRowCurrent = t.children[iRowWalk].children[iColumn].innerText;
        else
          textRowCurrent = "";
      }
      else
      {
        textRowCurrent = t.children[iRowWalk].innerText;
      }

    //
    // We save our values so we can manipulate the numbers for
    // comparison
    //
      current = textRowCurrent;
      insert  = textRowInsert;

    //  If the value is not a number, we sort normally, else we evaluate    
    //  the value to get a numeric representation
    //

      if ( !isNaN(current) ||  !isNaN(insert)) 
      {
        current= eval(current);
        insert= eval(insert);
      }
      else
      {
        current=current.toLowerCase();
        insert= insert.toLowerCase();
      }

      if ( (   (!fReverse && insert < current)
               || ( fReverse && insert > current) )
           && (iRowInsert != iRowWalk) )
      {
        eRowInsert = t.children[iRowInsert];
        eRowWalk = t.children[iRowWalk];
        t.insertBefore(eRowInsert, eRowWalk);
        iRowWalk = iRowInsert; // done
      }
    }
  }
    return false;
}


function extsort(t,idx)
{
 if (sortyn[idx]==null){sortyn[idx]=true;}
 if (sortyn[idx]){sortyn[idx]=false;}else{sortyn[idx]=true;}
 return insertionSort(t.tBodies[0],t.tBodies[0].rows.length-1,sortyn[idx],idx);
}
function insertGridRow(t,values)
{
  var tb=document.getElementById(t);
  var rc=tb.rows.length;
  var inr=tb.insertRow(rc);
  var cc=tb.rows[0].cells.length;
  var v='';
  for(var i=0;i<cc;i++)
  {
 	if (i<values.length){v=values[i];}
 	if (v==''){v='&nbsp;';}
 	inr.insertCell(i).innerHTML=v;
  }
}
function ClearGridRows(t)
{
  var tb=document.getElementById(t);
  var rc=tb.rows.length;
  for(var i=1;i<rc;i++){tb.deleteRow(1); }
}
function InitAjax()
{
 var ajax=false; 
  try { 
    ajax = new ActiveXObject("Msxml2.XMLHTTP"); 
  } catch (e) { 
    try { 
      ajax = new ActiveXObject("Microsoft.XMLHTTP"); 
    } catch (E) { 
      ajax = false; 
    } 
  }
  if (!ajax && typeof XMLHttpRequest!='undefined') { 
    ajax = new XMLHttpRequest();
  } 
  return ajax; 
}
function DecodeJSP(v)
{
 var ls=v.replace(/\+/g,' ');
 return decodeURIComponent(ls);
}
function EncodeJSP(v)
{
 return encodeURIComponent(v);
}
function GetOptionName(opt,value)
{
 var olth=opt.length;
 var i=0;
 for (i=0;i<olth;i++)
 {
  if (opt.options[i].value==value)
  {
   return opt.options[i].text;
  }
 }
 return '';
}
function checkObjNumber(obj)
{
     if (isNaN(obj.value))
     {
      alert('Please input number !');
      obj.value='';
      return false;
     }
     
}
function check(v)
{
 var th='Please input ';
 var x=document.getElementById(v);
 if (x==null){alert(v+':not found!');return false;}
 for (var i=0;i<x.length;i++)
 {
  var c=x.elements[i];
  t=document.getElementById(c.name+'_t');
  if (t==null){continue;}
  var txt=t.innerText;
  if (c.id.slice(0,3)=='FCK')
  {c.value=FCKeditorAPI.GetInstance(c.id).GetHTML(true);}
  if (txt.indexOf('*')>=0)
  {
	  txt=txt.replace(/:/g,'');
	  txt=txt.replace(/\*/g,'');
	  if (c.value=='')
	  {
	   alert(th+txt+'!');
	   try{c.focus();}catch(err){;}
	   return false;
	  }
  }
  if (c.value!='')
  {
    var snm=c.name.slice(0,1).toLowerCase();
    if (snm=='i'||snm=='n')//check number
    {
     if (isNaN(c.value))
     {
      alert(th+txt+'!');
      return false;
     }
    }
    if (snm=='d')//check date
    {
      
    }
  }
 }
 return true;
}
function checkInput(tbfield,tbname)
{
	for(var i=0;i<tbfield.length;i++)
	{
	 if(tbname.length>=i)
	 {
	 	var v=document.getElementById(tbfield[i]).value;
	 	if (v=='')
	 	{
	 	 alert('"'+tbname[i]+'" is a required field.');
	 	 document.getElementById(tbfield[i]).focus();
	 	 document.getElementById(tbfield[i]).style.borderColor="#FF0000";
	 	 return false;
	 	}
	 }
	}
	return true;
}
function resetInputStyle(uid)
{
	var v=document.getElementById(uid).value;
	if (v!='')
	{
		document.getElementById(uid).style.border='1px solid #A0B4C5';
	}
	/*
	.inputStyle
	{
	border-color : #A0B4C5;
	border-width : 1px;
	border-style : solid;
	}
	*/
}
function checkMailID(idv)
{
	var allow='1234567890QWERTYUIOPLKJHGFDSAZXCVBNMqwertyuiopasdfghjklzxcvbnm-_.';
	for(var i=0;i<idv.length;i++)
	{
	  var s=idv.slice(i,i+1);
	  if(allow.indexOf(s)<0){return s;}
	}
	return idv;
}
function checkFirstNum(idv)
{
var nm='1234567890';
if(nm.indexOf(idv.slice(0,1))>=0){return false;}
return true;
}
function openSelect(DataObject,uForm,cID,cName,cSelID,cSelName)
{
 open('/Choose.jsp?Type='+DataObject+'&ModiType=Search&Form='+uForm+'&cID='+cID+'&cName='+cName+'&SelcID='+cSelID+'&SelcName='+cSelName,'_blank','toolbar=yes, location=yes, directories=no, status=no, menubar=yes, scrollbars=yes, resizable=yes, copyhistory=yes, width=900, height=600');
}
function save(DataModifyObject,uModifyForm)
{
var uform='';
 if (uModifyForm!=null)
 {uform=uModifyForm.name; }
 else
 {uform='ModifyForm';}
 var rt=check(uform);
 if (!rt) return false;
//return true;
 document.getElementById('msg').innerHTML='<font color=#FF0000>Data is Saving,please waiting...</font>';
 if (DataModifyObject==null||DataModifyObject==''||DataModifyObject=='undefined'){DataModifyObject='DataModify';}
 var url = "/Action?action="+DataModifyObject+'&';
 var post='';
 var x=document.getElementById(uform);
 var reloadsign=1;
 //alert(url+post);
 //return false;
 for (var i=0;i<x.length;i++)
 {
  var c=x.elements[i];
  if (c.type=='button'||c.type=='submit'||c.type=='reset')continue;
  var cn=c.name;
  if (cn=='reload'){if (c.value!=1)reloadsign=0;}
  var cv=encodeURIComponent(c.value);
  if (cv==null||cv=='null')cv='';
  post=post+cn+'='+cv+"&";
 }
 post=post.slice(0,post.length-1);
 //alert(url+post);
 //return false;
 var ajax = InitAjax();
 ajax.open("POST", url, true);
 ajax.setRequestHeader("content-length",post.length);
 ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
 ajax.send(post);
 ajax.onreadystatechange = function() { 
 if (ajax.readyState == 4 && ajax.status == 200) {
   var s=ajax.responseText;
   document.getElementById('msg').innerHTML='';
   if (s.slice(0,1)=='0')
 		{
 		alert('Data is saved!');
        if(reloadsign==1){window.location.reload();}
 		}
 		else
 		{
		 alert('Data is not Saved!'+s);
		}
    } 
  }
 return false; 
}
function OpenDetail(tbl)
{
 var y=document.getElementById('ModifyForm');
 var dw=window.open('Detail.htm','_blank',"toolbar=yes, location=yes, directories=no, status=no, menubar=yes, scrollbars=yes, resizable=yes, copyhistory=yes, width=900, height=600");
 var ary=new Array();
 var prov=new Array();
 ary=tbl.split('&');
 var stb="<table  border=0  style='border-collapse: collapse; border: medium none;' id=DetailTable>";
 prov=ary[0].split('=');
 stb=stb+"<tr ><td colspan=2 align=center>"+DecodeJSP(prov[1])+"</td></tr>";
 for (var i=1;i<ary.length;i++)
 {
 	prov=ary[i].split('=');
 	stb=stb+"<tr ><td width=100 style='border: 1.0pt solid #000000;' align=right>"+DecodeJSP(prov[0])+"</td>";
	stb=stb+"<td width=400 style='border: 1.0pt solid #000000;border-left: medium none;'>"+DecodeJSP(prov[1])+"</td></tr>";
 }
 stb=stb+"</table>";
 dw.document.getElementById('Detail').innerHTML=stb;
 dw.focus();
 return dw;
}
function getLikeField(formname,colname)
{
 var x=document.getElementById(formname);
 var rtv=new Array();
 var j=-1;
 for (var i=0;i<x.elements.length;i++)
 {
  var c=x.elements[i];
  try
  {if(c.name==null){continue;}}catch(err){continue;}
  if (c.name.toLowerCase().indexOf(colname.toLowerCase())>=0)
  {
    j++;
    rtv[j]=c.name;
  }
 }
 return rtv;
}
function SelfChgFieldValue(nm,value)
{return value;}
function GridToForm(uModifyForm,uDataForm)
{
 if (uModifyForm!=null)
 {var y=uModifyForm;}
 else
 {var y=document.getElementById('ModifyForm');}
  if (uDataForm!=null)
 {var x=uDataForm;}
 else
 {var x=document.getElementById('DataForm');}//y=x
 var sgn=new Array();
 for (var i=0;i<y.elements.length;i++){sgn[i]=0;}
 for (var i=0;i<x.elements.length;i++)
 {
  var c=x.elements[i];
  for (var j=0;j<y.elements.length;j++)
  {
   if (sgn[j]==1){continue;}
   if (y.elements[j].name==null||y.elements[j].name=='undefined'){continue;}
   if (y.elements[j].name.toLowerCase()==c.name.toLowerCase())
   {
    var ls=c.value;
    ls=ls.replace(/\+/g,' ');
    ls=decodeURIComponent(ls)
    ls=SelfChgFieldValue(c.name,ls);
    y.elements[j].value=ls;
    if (y.elements[j].id.slice(0,3)=='FCK')
    {FCKeditorAPI.GetInstance(y.elements[j].id).SetHTML(ls);}
    if (c.readOnly){y.elements[j].readOnly=true;}
    sgn[j]=1;
    break;
   }
  }
 }
}
function getURLResponse(url,post)
{
 var ajax = InitAjax(); 
 ajax.open("POST", url, true);
 ajax.setRequestHeader("content-length",post.length);
 ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
 ajax.send(post);
 ajax.onreadystatechange = function() 
 { 
 if (ajax.readyState == 4 && ajax.status == 200) 
  {
   var s=ajax.responseText;
   if (s.slice(0,1)=='0')
	{
      return setURLResponseValue(s.slice(1));
	}
	else
	{
	 return setURLResponseErr(s);
	}
   } 
 }
}
function setURLResponseValue(s)
{}
function setURLResponseErr(s)
{}
function createMessageBox()
{
	var topdiv="<div style='border-width:1px; border-color:#CCCCCC; border-style:solid;position: absolute;z-index:1000;";
	topdiv=topdiv+"top: 0px; visibility:hidden;' id=showmsgboxID align=center><table  border=1 bordercolordark=#FFFFFF bordercolorlight=#C0C0C0 bgcolor=#FFFFFF ><tr><td align=center valign=middle>";
	topdiv=topdiv+'<table border="0" width="353" id="msgbody" bordercolordark="#FFFFFF" bordercolorlight="#C0C0C0">';
	topdiv=topdiv+'<tr><td width="313" height="21" bgcolor="#0066FF" align=left><font color=#FFFFFF id=msgtitle>&nbsp;</font></td>';
	topdiv=topdiv+'	<td width="30" height="21" bgcolor="#0066FF">';
	topdiv=topdiv+"	<a href=# onclick=\"javascript:document.getElementById('showmsgboxID').style.visibility='hidden';\">";
	topdiv=topdiv+'	<img border="0" src="/img/close.gif" ></a></td></tr>';
	topdiv=topdiv+'<tr><td width="347" height="100"  colspan="2" bgcolor="#C0C0C0" align=center valign=center id=message> </td></tr></table></td></tr></table></div>';
	var msg=document.getElementById('showmsgboxID');
	if ((msg==null)||(msg=='undefined'))
	{
	document.write(topdiv);
	msg=document.getElementById('showmsgboxID');
	msg.style.visibility='hidden';
	}
	return msg;
}
function ScreenArea(){    
     this.clientWidth = 0; 
     this.clientHeight = 0; 
     this.scrollLeft = (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft); 
     this.scrollTop = (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop); 
  this.scrollWidth = (document.documentElement.scrollWidth ? document.documentElement.scrollWidth : document.body.scrollWidth); 
  this.scrollHeight = (document.documentElement.scrollHeight ? document.documentElement.scrollHeight : document.body.scrollHeight); 
  
  if(document.documentElement && document.documentElement.clientWidth){
   this.clientWidth = document.documentElement.clientWidth;
  }else if(document.body && document.body.clientWidth){
   this.clientWidth = document.body.clientWidth;
  }else if(window.innerWidth){
   this.clientWidth=window.innerWidth-18;
  }
  
  if(window.innerHeight){
   this.clientHeight=window.innerHeight-18;
  }else if(document.documentElement&&document.documentElement.clientHeight){
   this.clientHeight=document.documentElement.clientHeight;
  }else if(document.body&&document.body.clientHeight){
   this.clientHeight=document.body.clientHeight;
  }
 }
 
 function showMessage(title,message)
{
	var msg=document.getElementById('showmsgboxID');
	if ((msg==null)||(msg=='undefined')){return null;}
	msg.style.visibility='visible';
	document.getElementById('msgtitle').innerText=title;
	document.getElementById('message').innerHTML=message;
	var sc=new ScreenArea();
	msg.style.top=sc.scrollTop+"px";
	return msg;
}
function closeMessage()
{
	var msg=document.getElementById('showmsgboxID');
	if ((msg==null)||(msg=='undefined')){return null;}
	msg.style.visibility='hidden';
	document.getElementById('msgtitle').innerText=' ';
	document.getElementById('message').innerHTML=' ';
}
function tableToExcel(t,r0,c0,rn,cn)
{
	var sheet='sheet';
	if ((r0!=null)&&(r0<t.rows.length)){}else{r0=0;}
	if ((c0!=null)&&(c0<t.rows[0].cells.length)){}else{c0=0;}
	if ((rn!=null)&&(rn<t.rows.length)&&(rn>r0)){}else{rn=t.rows.length;}
	if ((cn!=null)&&(cn<t.rows[0].cells.length)&&(cn>c0)){}else{cn=t.rows[0].cells.length;}
	if (t.title!=null&&t.title!=''){sheet=t.title;};
	var s='';
	for (var i=r0;i<rn;i++)
	{
		if (cn>t.rows[i].cells.length){cn=t.rows[i].cells.length;}
		for(var j=c0;j<cn;j++)
		{
		s=s+'d'+j+'='+encodeURIComponent(t.rows[i].cells[j].innerText)+'&';
		}
	}
	if (s==''){alert('no data!');return '';}
	s=s+'SheetTitle='+encodeURIComponent(sheet)
	var url='/Action?action=ExcelExport&OnlyOut=1';;
	var ajax = InitAjax();
	ajax.open("POST", url, true);
	ajax.setRequestHeader("content-length",(s.length));
	ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	ajax.send(s);
	ajax.onreadystatechange = function() 
	{ 
	if (ajax.readyState == 4 && ajax.status == 200) 
	 {
	  var rt=ajax.responseText;
	  if (rt.slice(0,1)=='/')
	  {
	      var u=rt;
	      rt='Please <a href='+rt+' onclick="closeMessage()" target=_blank>download</a> the Excel file!';
	      var ms=showMessage('Export the table to Excel',rt);
	      if (ms==null){window.location=u;};
	  }
	  else
	  {
		 alert('Operating is failure!'+rt);
	  }
	 } 
	}
}
function JSPFileUpload(fpath,repid)
{
if (fpath=='')
{alert('please set upload path!');return;}
var r='';
if(repid==null){repid='';}
if (repid!=''){r='&RepID='+repid;}
var s=encodeURIComponent(fpath);
open('/FileUpload.jsp?FPath='+s+r,'_blank','toolbar=yes, location=yes, directories=no, status=no, menubar=yes, scrollbars=yes, resizable=yes, copyhistory=yes, width=400, height=200');

}
function setFileUploadName(arg0)
{}
function GridModify(MType,ModiID,DataObject,uModifyForm,uDataForm)
{
var del=false;
var rdetail=false;
var mt=MType.slice(0,1);
if (mt.toLowerCase()=='d')//delete rows
{
 if (MType.slice(1,2)!='n')
 {
  if (!confirm("Please comfirm to delete or not ?"))return false;
 }
 del=true; 
}
else
{
 if (mt.toLowerCase()=='g')
 {
    rdetail=true;
 }
}
 var url = "/Action?action=DataModify&DataObject="+DataObject+'&';
 var post='ModiType='+mt+ModiID;
//window.location.href=url+post;
//return true;
 var ajax = InitAjax();
 ajax.open("POST", url, true);
 ajax.setRequestHeader("content-length",post.length); 
 ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
 ajax.send(post);
 ajax.onreadystatechange = function() { 
 if (ajax.readyState == 4 && ajax.status == 200) {
   var s=ajax.responseText;
   if (s.slice(0,1)=='0')
 		{
 		 if (del)
 		 {
 		   if (MType.slice(1,2)!='n')
 		   {
	 		  alert('Data is Deleted!');
	          window.location.reload();
	       }
         }
         else
         {
          
          if (rdetail)
          {
            OpenDetail(s.slice(1));
          }
          else
          {
           document.getElementById('DataDiv').innerHTML=s.slice(1);//alert(s.slice(1));
	       if (uModifyForm!=null)
	       {uModifyForm.ModiType.value='m';}
	       else
	       {ModifyForm.ModiType.value='m';}
	       GridToForm(uModifyForm,uDataForm);
	       if (uModifyForm!=null)
	       {uModifyForm.ModiType.onchange();}
	       else
	       {ModifyForm.ModiType.onchange();}
          }
         }
 		}
 		else
 		{
		 alert('Operation is failure!'+s);
		}
    } 
  }
return false;
}
function dateComp(begindate,enddate)
{
	var b = begindate.replace(/\//g, "-");
	var bs=b.split("-");
	var d = enddate.replace(/\//g, "-");
	var ds=d.split("-");
	var bdate = new Date(bs[0],bs[1],bs[2]).getTime();
	var ddate = new Date(ds[0],ds[1],ds[2]).getTime();
	if(bdate <= ddate)
	{
		return true;
	}
	else
	{
	 	return false;
	}
}
function showDialogMessage(title,param,width,height)
{
	var obj = new Object();
	obj.title=title;
	obj.param=param
	window.showModalDialog("/DialogMessage.jsp",obj,"dialogWidth="+width+"px;dialogHeight="+height+"px");
}