// xurun 2006-2-15
//数据持久的一些js方法，主要是数据有效的验证和页面控制等

document.ondragstart = function(){
	return false;
}

var fieldname;
var grandchilds;
var defaultValue;

function getTipFrame(color,msg)
{
    var remsg="";
	    if(color=='blue')
        remsg="<table width=500 border=0 cellPadding=0  cellSpacing=0 bgcolor='#E2F5FF'  style='BORDER-RIGHT: #00A8FF 1px solid; BORDER-TOP: #00A8FF 1px solid; BORDER-LEFT: #00A8FF 1px solid; BORDER-BOTTOM: #00A8FF 1px solid'><TR><TD width='21' height='20' class=l20><div align='left'><img src='../images/01.gif' width='14' height='14'></div></TD> <TD width='332' class=l20>"+msg+"</TD> </TR> </TABLE>";
        else if(color=='red')
		remsg="<table  border=0 cellPadding=0 cellSpacing=0 bgcolor='#FFF2E9' style='BORDER-RIGHT: #FF6600 1px solid; BORDER-TOP: #FF6600 1px solid; BORDER-LEFT: #FF6600 1px solid; BORDER-BOTTOM: #FF6600 1px solid'><TR><TD width='27' height='20' class=l20><div align='left'>&nbsp;<img src='../images/02.gif' width='14' height='14'></div></TD><TD  class=style4>"+msg+"</TD></TR> </TABLE>";
        else if(color=='right')
		remsg="<table width=177 border=0 cellPadding=0 cellSpacing=0 bgcolor='#ffffff' style='BORDER-RIGHT: #F3F3F3 1px solid; BORDER-TOP: #F3F3F3 1px solid; BORDER-LEFT: #F3F3F3 1px solid; BORDER-BOTTOM: #F3F3F3 1px solid'><TR><TD width='21' height='20' align='right' class=l20><div align='left'><img src='../images/03.gif' width='14' height='14'></div></TD><TD width='160' class=style5>"+msg+"</TD> </TR> </TABLE>";
		else
		remsg="<font class='show'>"+msg+"</font>";
    return remsg;
}

function getWidthTipFrame(color,msg,allwidth)
{
    var remsg="";
	    if(color=='blue')
        remsg="<table width="+allwidth+" border=0 cellPadding=0  cellSpacing=0 bgcolor='#E2F5FF'  style='BORDER-RIGHT: #00A8FF 1px solid; BORDER-TOP: #00A8FF 1px solid; BORDER-LEFT: #00A8FF 1px solid; BORDER-BOTTOM: #00A8FF 1px solid'><TR><TD width='21' height='20' class=l20><div align='center'><img src='../images/01.gif' width='14' height='14'></div></TD> <TD  class=l20>"+msg+"</TD> </TR> </TABLE>";
        else if(color=='red')
		remsg="<table width="+allwidth+" border=0 cellPadding=0 cellSpacing=0 bgcolor='#FFF2E9' style='BORDER-RIGHT: #FF6600 1px solid; BORDER-TOP: #FF6600 1px solid; BORDER-LEFT: #FF6600 1px solid; BORDER-BOTTOM: #FF6600 1px solid'><TR><TD width='21' height='20' class=l20><div align='center'><img src='../images/02.gif' width='14' height='14'></div></TD><TD  class=style4>"+msg+"</TD></TR> </TABLE>";
        else if(color=='right')
		remsg="<table width="+allwidth+" border=0 cellPadding=0 cellSpacing=0 bgcolor='#ffffff' style='BORDER-RIGHT: #F3F3F3 1px solid; BORDER-TOP: #F3F3F3 1px solid; BORDER-LEFT: #F3F3F3 1px solid; BORDER-BOTTOM: #F3F3F3 1px solid'><TR><TD width='21' height='20' class=l20><div align='center'><img src='../images/03.gif' width='14' height='14'></div></TD><TD  class=style5>"+msg+"</TD> </TR> </TABLE>";
		else
		remsg="<span class='r1_2'>"+msg+"</span>";
    return remsg;
}
function focusdis(ti,msg)
{
   var ti = eval(ti);
   ti.innerHTML=getTipFrame("blue",msg);
}
function dis(ti,color,msg)
{
   var ti = eval(ti);
   if(ti.innerHTML=="")
     ti.innerHTML=getWidthTipFrame("blue",msg+"&nbsp;");
	else if(color.indexOf("blue")==0)
	  ti.innerHTML=getWidthTipFrame("blue",msg+"&nbsp;");
	else if(color.indexOf("red")==0)
	  ti.innerHTML=getWidthTipFrame("red",msg+"&nbsp;");
	else if(color.indexOf("right")==0)
	  ti.innerHTML=getWidthTipFrame("right",msg+"&nbsp;");
	 
}

function widthdis(ti,color,msg,allwidth)
{
   var ti = eval(ti);
   if(ti.innerHTML=="")
     ti.innerHTML=getWidthTipFrame("blue",msg,allwidth);
	else if(color.indexOf("blue")==0)
	  ti.innerHTML=getWidthTipFrame("blue",msg,allwidth);
	else if(color.indexOf("red")==0)
	  ti.innerHTML=getWidthTipFrame("red",msg,allwidth);
	else if(color.indexOf("right")==0)
	  ti.innerHTML=getWidthTipFrame("right",msg,allwidth);
	 
}

/* *************************** 
** Most of this code was kindly 
** provided to me by 
** Andrew Clover (and at doxdesk dot com) 
** http://and.doxdesk.com/ ; 
** in response to my plea in my blog at 
** http://worldtimzone.com/blog/date/2002/09/24 
** It was unclear whether he created it. 
*/ 
function utf8(wide) { 
var c, s; 
var enc = ""; 
var i = 0; 
while(i<wide.length) { 
c= wide.charCodeAt(i++); 
// handle UTF-16 surrogates 
if (c>=0xDC00 && c<0xE000) continue; 
if (c>=0xD800 && c<0xDC00) { 
if (i>=wide.length) continue; 
s= wide.charCodeAt(i++); 
if (s<0xDC00 || c>=0xDE00) continue; 
c= ((c-0xD800)<<10)+(s-0xDC00)+0x10000; 
} 
// output value 
if (c<0x80) enc += String.fromCharCode(c); 
else if (c<0x800) enc += String.fromCharCode(0xC0+(c>>6),0x80+(c&0x3F)); 
else if (c<0x10000) enc += String.fromCharCode(0xE0+(c>>12),0x80+(c>>6&0x3F),0x80+(c&0x3F)); 
else enc += String.fromCharCode(0xF0+(c>>18),0x80+(c>>12&0x3F),0x80+(c>>6&0x3F),0x80+(c&0x3F)); 
} 
return enc; 
} 

var hexchars = "0123456789ABCDEF"; 

function toHex(n) { 
return hexchars.charAt(n>>4)+hexchars.charAt(n & 0xF); 
} 

var okURIchars ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-"; 

function encodeURIComponentNew(s) { 
var s = utf8(s); 
var c; 
var enc = ""; 
for (var i= 0; i<s.length; i++) { 
if (okURIchars.indexOf(s.charAt(i))==-1) 
enc += "%"+toHex(s.charCodeAt(i)); 
else 
enc += s.charAt(i); 
} 
return enc; 
} 

function URLEncode(fld) 
{ 
if (fld == "") return false; 
var encodedField = ""; 
var s = fld; 
if (typeof encodeURIComponent == "function") 
{ 
// Use javascript built-in function 
// IE 5.5+ and Netscape 6+ and Mozilla 
encodedField = encodeURIComponent(s); 
} 
else 
{ 
// Need to mimic the javascript version 
// Netscape 4 and IE 4 and IE 5.0 
encodedField = encodeURIComponentNew(s); 
} 
//alert ("New encoding: " + encodeURIComponentNew(fld) + 
// "\n escape(): " + escape(fld)); 
return encodedField; 
} 

