﻿
var XmlVersion = -1;
//------------------------------------------------
var firstPost = true;
function GetXml(tableName,fieldName,webFile)
 	{
		var xml_str="<?xml version='1.0' encoding='utf-8'?>\r\n<root>\r\n";
		var arr_table=tableName.split(";");
		var arr_field=fieldName.split(";");
		for(i_table=0;i_table<arr_table.length;i_table++)
		{
			xml_str+=GetTable(arr_table[i_table],arr_field[i_table],webFile);
			
		}
		
		xml_str+="</root>";    
		
		return xml_str;
	}
	function GetTable(tableName,fieldName,webFile)
	{
		var xml_table="";

		var arr_field=fieldName.split(",");
		//获取相同的记录数
		var sr;
		if(document.getElementsByName(arr_field[0]).length==null)
		{
			sr=1;
			
		}
		else
		{
			sr=document.getElementsByName(arr_field[0]).length;
			
		}
		for(col=0;col<1;col++)
		{
			xml_table+="<"+tableName+">\r\n";
		
			for(var i=0;i<arr_field.length;i++)	
			{
				xml_table+=GetField(tableName,arr_field[i],col,webFile);
			}
			xml_table+="</"+tableName+">\r\n";
		}
		return xml_table;
	}
	function GetField(tableName,fieldName,col,webFile)
	{
		
		var xml_field="<"+fieldName+">";

		var obj = document.getElementById(fieldName);
		var types = obj.type;
		var fieldValue = document.getElementsByName(fieldName);
		
		if((types=="text" || types=="hidden" || types=="textarea" || types=="password")&&(obj.value!=""))
		{
			if(fieldName=="content")
			{
			    xml_field +="<![CDATA[";
			}
			xml_field+=obj.value;	
            if(fieldName == "content")
                xml_field +="]]>";
		    
		}
		else if((types=="checkbox")&&(fieldValue[col].checked))
		{
			xml_field+=fieldValue[col].value;
		}
		else if((types=="radio"))
		{
			var obj=document.getElementsByName(fieldName);
			for(ii=0;ii<obj.length;ii++){
			  if(obj[ii].checked)
			  {
			  	xml_field+=obj[ii].value;			
			  }
			}	
			
		}		
		else if(types=="select-one"|| types=="select-multiple")
		{
			xml_field+=fieldValue[col].value;
		}
		xml_field+="</"+fieldName+">\r\n";


		
		return xml_field;
	}



		
function XHConn()
{
  var xmlhttp, bComplete = false;
  try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
  catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
  catch (e) { try { xmlhttp = new XMLHttpRequest(); }
  catch (e) { xmlhttp = false; }}}
  if (!xmlhttp) return null;
  this.connect = function(sURL, sMethod, sVars, fnDone)
  {
 
    if (!xmlhttp) 
    {
    return false;
    }
    bComplete = false;
    sMethod = sMethod.toUpperCase();
 
    try {
      if (sMethod == "GET")
      {
        xmlhttp.open(sMethod, sURL+ ((sURL.indexOf("?")==-1)? "?":"&")+sVars, true);
        sVars = "";
      }
      else
      {

        xmlhttp.open(sMethod, sURL, true);
        xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
        xmlhttp.setRequestHeader("X-Requested-With","XMLHttpRequest");
        xmlhttp.setRequestHeader("Content-Type",
          "application/x-www-form-urlencoded");
		
      }
      xmlhttp.onreadystatechange = function(){
        if (xmlhttp.readyState == 4 && !bComplete)
        {
          bComplete = true;
          fnDone(xmlhttp);
        }};
		
      xmlhttp.send(sVars);
	  
    }
    catch(z) { firstPost = true; return false; }
    finally
    {
        firstPost = true;
    }
    return true;
  };
  return this;
}

//表名，字段列表，提交地址，回调函数


function SendData(tableName, fieldName, webFile, fnWhenDone) {

	if (! firstPost)
	{
		alert("数据正在提交过程中....");
		return;	
	}
	
	firstPost = false;
	var xml = GetXml(tableName, fieldName,webFile);
	var myConn = new XHConn();
	if (!myConn) alert("XMLHTTP not available. Try a newer/better browser.");
	
	myConn.connect(webFile, "POST", xml, fnWhenDone)
		
}
function GetData(webFile, fnWhenDone)
{
	if (! firstPost)
	{
		alert("数据正在提交过程中....");
		return;	
	}
	firstPost = false;
	var myConn = new XHConn();
	if (!myConn) alert("XMLHTTP not available. Try a newer/better browser.");
	myConn.connect(webFile, "GET", "", fnWhenDone);	
}
function Request()
{
	QueryString: "";
	if(location.href!=null)
	{
		this.QueryString = new Array();
		var address = location.href.indexOf("?")+1;
		if(address>1) {
			var query = decodeURI(location.href.substring(address,location.href.length));
			var data = query.split("&");
			for(var i=0;i<data.length;i++)
			{
				var tmp = data[i].split("=");
				if (tmp.length=2)
				{
					this.QueryString[tmp[0]] = tmp[1];
				}
			}
		}
	}
}

function GetCookie(name)
{

    var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
    if(arr !=null) return unescape(arr[2]); return "";
}
function setCookie(cookiename,cookievalue,cookieexpdate,domainname)
{
    document.cookie = cookiename + "=" + cookievalue
    + "; domain=" + domainname
    + "; path=" + "/"
    + "; expires=" + cookieexpdate.toGMTString();

}

function copy(txt)
{
    copyToClipboard(txt);
}
function copyToClipboard(txt) {  
    if(window.clipboardData)  
    {  
        //window.clipboardData.clearData();  
        window.clipboardData.setData("Text", txt);  
    }  
    else if(navigator.userAgent.indexOf("Opera") != -1)  
    {  
        window.location = txt;  
    }  
    else if (window.netscape)  
    {  
        try {  
            netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");  
        }  
        catch (e)  
        {  
            alert("!!被浏览器拒绝！\n请在浏览器地址栏输入'about:config'并回车\n然后将'signed.applets.codebase_principal_support'设置为'true'");  
        }  
        var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);  
        if (!clip)  
            return;  
        var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);  
        if (!trans)  
            return;  
        trans.addDataFlavor('text/unicode');  
        var str = new Object();  
        var len = new Object();  
        var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);  
        var copytext = txt;  
        str.data = copytext;  
        trans.setTransferData("text/unicode",str,copytext.length*2);  
        var clipid = Components.interfaces.nsIClipboard;  
        if (!clip)  
            return false;  
        clip.setData(trans,null,clipid.kGlobalClipboard);  
    }  
    return true;  
}



function GetQueryString(name)
{
         var result = "";
	    var querystr = GetValue().split("&");
	    for(var i = 0; i < querystr.length; i++)
	    {
		    var sb = querystr[i].split("=");
		    if(sb[0].toLowerCase() == name.toLowerCase())
		    {
			    result = sb[1];
			    break;
		    }
	    }
	    return result;
}

function GetValue()
{
       var i = document.location.href.indexOf("?");
	    if(i >= 0)
	    {
		    return document.location.href.substr(i + 1);
	    }
	    else
	    {
		    return "";
	    }
}
    
String.prototype.trim = function() 
{ 
return this.replace(/(^\s*)|(\s*$)/gi, ""); 
} 
String.prototype.Clength=function()
{
   return this.replace(/[^\x00-\xff]/g,"**").length;
}