/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////

function OpenUrl(url){
    window.open(url);
}
function OpenUrl2(msg,url){
    if(confirm(msg)){
        window.open(url);
        return true;
    }
    else{
        return false;
    }
}


/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
function closeWindow(){
    window.close();
}
function previewImage(id){
if(document.getElementById(id).value){
    window.open(document.getElementById(id).value);
    }
    else{
    alert("请先输入图片地址");
    }
}
function openUpload(Id,Folder){
    var win=window.showModalDialog("/Manage/UploadFile.aspx?Folder="+Folder,"_blank","edge:sunken;dialogHeight:150px;dialogWidth:340px;status:no;scroll:no;");
    if(win==null)return;
    document.getElementById(Id).value=win;
}


/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////

function Tree_OpenTreeSelector(TableName,OrderFieldName,OrderType,Width,Height,Id,Name){
        //order type="asc" or "desc"
        var win=window.showModalDialog("/Manage/AjaxTreeSelector.aspx?TableName="+TableName+"&OrderFieldName="+OrderFieldName+"&OrderType="+OrderType,"_blank","edge:sunken;dialogHeight:"+Height+"px;dialogWidth:"+Width+"px;status:no;");
        if(win==null)return;
        var ss=win.split(";");
        document.getElementById(Id).value=ss[0];
        document.getElementById(Name).value=ss[1];
}
function Tree_Sel(Id,Name){
    window.returnValue=Id+";"+Name;
    window.close();
}
function Tree_LoadTree(TableName,OrderFieldName,OrderType,Id,NewLevels){
	 
	var f=document.getElementById("f_"+Id);
	if(!f.Loaded){ 
		var Params="";
		Params+="TableName="+TableName;
		Params+="&OrderFieldName="+OrderFieldName;
		Params+="&OrderType="+OrderType;
		Params+="&ParentTreeId="+Id;
		
		var ajax=Ajax_CreateRequest();
		ajax.onreadystatechange=function() {
			Tree_LoadTree_OnReadyState(TableName,OrderFieldName,OrderType,Id,NewLevels,ajax);
		}
 		ajax.open("POST","/Manage/AjaxTreeSelectorLoadSub.aspx",true);
 		ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
 		ajax.send(Params);
 		
 		//alert(ajax.responseText);
	}
	if(f.style.display=="none"){
		f.style.display="";
		document.getElementById("img_"+Id).src="/Images/b.gif";
	}
	else{
		f.style.display="none";
		document.getElementById("img_"+Id).src="/Images/a.gif";
	} 
}

function Tree_LoadTree_OnReadyState(TableName,OrderFieldName,OrderType,Id,NewLevels,Request){
    
	if(Request.readyState==4){
		if (Request.status == 200) {
			var f=document.getElementById("f_"+Id);
			var xml=Request.responseXML;
			var nodes = xml.selectNodes("/"+TableName+"s/"+TableName+"");
			var html="";
			var i=0;
			var l=-1;
			var toload=false;
			for(i=0;i<nodes.length;i++)
			{    
			    var inid=nodes[i].selectSingleNode(""+TableName+"Id").text;
				html+= "<table  border=0 cellspacing=0 cellpadding=0>";
				html+= "<tr>";
				for (var k = 1; k < NewLevels; k++)
				{
					html+="<td><img width=16 height=16 src=/images/null.gif /></td>";
				}
				html+="<td width=16>";
				html+="<img width=16 height=16 src=/images/a.gif onclick=\"javascript:Tree_LoadTree('"+TableName+"','"+OrderFieldName+"','"+OrderType+"'," + inid + ","+(NewLevels+1)+");\" id=img_" + inid + " />";
				html+="</td>";
				html+="<td>";
				html+="<nobr>";
				html+=""+nodes[i].selectSingleNode(""+TableName+"Name").text+" <a href=\"javascript:void(0);\" onclick=\"Tree_Sel("+inid+",'"+nodes[i].selectSingleNode(""+TableName+"Name").text+"');\">选定</a>"+"</nobr>";
				html+="</td>";
				html+="</tr>";
				html+="</table>";
				html+="<span style=\"display:none;\" id=f_";
				html+=inid;
				html+=">";
				html+="</span>";
				
			}
			f.innerHTML = html;
			f.Loaded=true;
			if(i==0){
				document.getElementById("img_"+Id).style.display="none";
			}
			
		}
	}
}



//functions
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function Ajax_CreateRequest(){
	var a=null; 
    if (window.XMLHttpRequest) {
        a = new XMLHttpRequest();
        if (a.overrideMimeType) a.overrideMimeType("text/xml");
    }
    else if (window.ActiveXObject) {
        a = new ActiveXObject("Microsoft.XMLHTTP");
    };

	return a;
}

function Ajax_PostByPost(Url,Params){
	var r=Ajax_CreateRequest();

	r.open("POST",Url,true);
	r.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
    r.send(Params); 
}

function Ajax_PostByGet(Url){
	var r=Ajax_CreateRequest();
	r.open("GET",Url,true);
}
function fLookou_SetCookie(Name,Value,Day){
	var rightNow = new Date();
	var expdate = new Date();
	expdate.setTime (expdate.getTime() + Day * 86400000); //+365 day

	document.cookie=Name + "=" + escape (Value) +";expires=" + expdate.toGMTString();
	//alert(document.cookie);
	//document.cookie=null;
	//alert(document.cookie);
}

function fLookou_GetCookie(name)
{
    var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
    if(arr !=null) return unescape(arr[2]); return "";
}

function fLookou_GetClipboardHTML(oDiv) {
	oDiv.innerHTML = "" ;
	
	var oTextRange = document.body.createTextRange() ;
	oTextRange.moveToElementText(oDiv) ;
	oTextRange.execCommand("Paste") ;
	
	var sData = oDiv.innerHTML ;
	oDiv.innerHTML = "" ;
	alert(sData);
	return sData ;
}
function fLookou_HtmlEncode(s){
	var s2=s;
	s2=s2.replace(/</g,"&lt;");
	s2=s2.replace(/>/g,"&gt;");
	return s2;
}

function createXml(){
	var a=null; 
    if (window.ActiveXObject) {
        a = new ActiveXObject("MSXML2.DOMDocument.3.0"); 
    } 
    else{
        a = document.implementation.createDocument("", "", null);
    };
	return a;
};
function __xmlCreateXml(){
	var a=null; 
    if (window.ActiveXObject) {
        a = new ActiveXObject("MSXML2.DOMDocument.3.0"); 
    } 
    else{
        a = document.implementation.createDocument("", "", null);
    };
	return a;
};
function __xmlSetText(a,b){
    if(a.textContent){
        a.textContent=b;
    }
	else{
		a.text=b;
	};
};
function __xmlToText(a){
    var b="";
    if(a.documentElement.xml){
        b=a.documentElement.xml;
    }
    else{
        var c = new XMLSerializer();
        b=c.serializeToString(a.documentElement);
    };
    return b;
};

function IsInt(s){
    var patrn=/^[0-9]{1,}$/g; 
    return patrn.exec(s);
};


function _aPostR(a,b){
 
	var c=Ajax_CreateRequest();
	c.open("POST",a,false);
	c.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=gb2312"); 
	
    //alert(a);
    c.send(b); 
    //alert(c.responseText);
    return c.responseText;
};

//用于参照的Element必须是相对定位等已经定位好的
function DynDivForElement(_pageName) {
    this.pageName = _pageName;
    this.div = null;
    var isMouseOnDiv = false;
    this.ShowDiv = function(eleObj, divWidth, divHeight) {
        this.CloseDiv();
        var d = document.createElement('div');
        this.div = d;
        with (d.style) {
            width = divWidth + 'px';
            height = divHeight + 'px';
            border = '1px solid black';
            position = 'absolute';
            left = eleObj.offsetLeft + 'px';
            top = (eleObj.offsetTop + eleObj.offsetHeight) + 'px';
            background = 'color #ffffff';
        }
        document.body.appendChild(d);
        d.focus();
        var _test = this;
        d.onblur = function() {
            //要判断鼠标是否在div的范围内，如果在div返回内，就不能关闭div
            if (isMouseOnDiv) {
                //鼠标在div范围内，不能关闭div
            }
            else {
                _test.CloseDiv();
                isMouseOnDiv = false;
            }
        }
        //一开始鼠标肯定不在div的范围内
        isMouseOnDiv = false;
        //记录鼠标是否在div内的状态
        d.onmouseout = function() { isMouseOnDiv = false; }
        d.onmousemove = function() { isMouseOnDiv = true; }
        d.onmouseover = function() { isMouseOnDiv = true; }
        return d;
    }
    this.CloseDiv = function() {
        if (this.div) {
            this.div.parentNode.removeChild(this.div);
            this.div = null;
        }
    }
}
function DynDivCh(_pageName) {
    this.pageName = _pageName;
    var afterSelRow = null;
    var arItemData = new Array();
    this.ShowCh = function(url, txtObj, idObj, dynDivObj, pageindex, pagesize, afsr) {
        afterSelRow = afsr;
        //创建请求
        createRq(url, txtObj, idObj, dynDivObj, pageindex, pagesize);
    }
    function createRq(url, txtObj, idObj, dynDivObj, pageindex, pagesize) {
        var Params = "";
        if (url.indexOf('=') > 1) {
            Params += '&Tuhai_Ajax_Var_Text=' + encodeURI(txtObj.value);
        }
        else {
            Params += '?Tuhai_Ajax_Var_Text=' + encodeURI(txtObj.value);
        }
        Params += "&Tuhai_Ajax_Var_PageIndex=" + pageindex;
        Params += "&Tuhai_Ajax_Var_PageSize=" + pagesize;
        Params += "&rm=" + Math.random();
        var ajax = Ajax_CreateRequest();
        ajax.onreadystatechange = function() {
            OnLoadReadyState(url, txtObj, ajax, idObj, dynDivObj, pagesize, pageindex);
        }
        ajax.open("get", url + Params, true);
        ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        ajax.send(Params);
    }
    function OnLoadReadyState(url, txtObj, ajax, idObj, dynDivObj, pagesize, pageindex) {
        if (ajax.readyState == 4) {
            if (ajax.status == 200) {              
                //分析返回
                var xml = createXml();
                xml.loadXML(ajax.responseText); 
                var txtField = xml.selectSingleNode("/xml/dataTextField").text;
                var valueField = xml.selectSingleNode("/xml/dataValueField").text;
                var trc = parseInt(xml.selectSingleNode("/xml/recordCount").text);
                var isShowPage = xml.selectSingleNode("/xml/showPager").text;
                var twidth = parseInt(xml.selectSingleNode("/xml/dropDownWidth").text.replace(/(px)/g,""));
                var theight = parseInt(xml.selectSingleNode("/xml/dropDownHeight").text.replace(/(px)/g,""));
                var cols = xml.selectNodes("/xml/column");
                var items = xml.selectNodes("/xml/item");
                //显示内容                  
                //创建div
                var dv = dynDivObj.ShowDiv(txtObj, twidth, theight);
                //创建选择列表
                var tb = document.createElement("table");
                tb.className = "a_ltb";
                with (tb.style) {
                    width = "100%";
                }
                tb.onclick = function(e) {
                    dynDivObj.div.focus();
                }
                dv.appendChild(tb);             
                var tr = tb.insertRow();
                var td = null;
                var fNameAr = new Array();
                var fWidthAr = new Array();
                var htm = "";
                for (var i = 0; i < cols.length; i++) {
                    var fName = cols[i].selectSingleNode("fieldName").text;
                    var fWidth = cols[i].selectSingleNode("width").text.replace(/(px)/g, "");
                    var fTxt = cols[i].selectSingleNode("text").text.replace(/(px)/g, "");
                    if (fName == valueField||fWidth=="0") {
                        td = tr.insertCell();
                        td.style.display = 'none';
                    }
                    else {
                        td = tr.insertCell();
                        td.className = "a_ltd_header";
                        with (td.style) {
                            width=fWidth + 'px';
                        }
                        td.innerHTML = fTxt;
                    }
                    fNameAr.push(fName);
                    fWidthAr.push(fWidth);
                }
                arItemData.length = 0;
                for (var i = 0; i < items.length; i++) {
                    var newTr = tb.insertRow();
                    arItemData[i] = {};
                    newTr.onmouseover = OnOver;
                    newTr.onmouseout = OnOut;                    
                    for (var j = 0; j < fNameAr.length; j++) {
                        var itNode = items[i].selectSingleNode(fNameAr[j]);
                        td = newTr.insertCell();
                        if (itNode) {
                            if (fNameAr[j] == valueField) {                               
                                td.style.display = "none";
                                td.innerHTML = itNode.text;
                                td.id = "aaa_value_" + i;                             
                            }
                            else if (fNameAr[j] == txtField) {
                                td.className = "a_ltd";
                                td.innerHTML = itNode.text;
                                td.id = "aaa_txt_" + i;                               
                            }
                            else {
                                td.className = "a_ltd";
                                td.innerHTML = itNode.text;
                                if (fWidthAr[j] == 0) {
                                    td.style.display = 'none';
                                }
                            }
                            arItemData[i][fNameAr[j]] = itNode.text;
                        }
                        else {                           
                            td.className = "a_ltd";
                        }
                    }
                    newTr.onclick = function() { OnSelRow(txtObj, idObj, dynDivObj, window.event); }                   
                }
                //创建分页信息                
                var pageDv = document.createElement("div");
                pageDv.onclick = function() { dynDivObj.div.focus(); };
                with (pageDv.style) {
                    width = '100%';
                    position = 'absolute';
                    top = (theight-20) + 'px';
                    background = 'color #CCFFFF';
                }
                //htm += '共' + trc + "项&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
                var spanTotal = document.createElement("span");
                spanTotal.innerHTML = '共' + trc + "项&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
                pageDv.appendChild(spanTotal);
                var pageCount = parseInt(trc % pagesize == 0 ? trc / pagesize : trc / pagesize + 1);
                if (pageCount > 1) {
                    pageA = document.createElement('a');
                    pageA.id = "aaa_page_1";
                    pageA.href = "javascript:void(0);";
                    pageA.innerHTML = "首页";
                    SetPageIndexMargin(pageA);
                    pageA.onclick = function() { OnSelPage(url,txtObj,idObj,dynDivObj,pagesize,window.event); }
                    pageDv.appendChild(pageA);
                }
                if (pageindex > 1) {
                    pageA = document.createElement('a');
                    pageA.id = "aaa_page_" + (pageindex - 1);
                    pageA.href = "javascript:void(0);";
                    pageA.innerHTML = (pageindex - 1);
                    SetPageIndexMargin(pageA);
                    pageA.onclick = function() { OnSelPage(url, txtObj, idObj, dynDivObj, pagesize, window.event); }
                    pageDv.appendChild(pageA);
                }
                if (pageCount > 1) {
                    pageA = document.createElement('a');
                    pageA.id = "aaa_page_"+pageindex;
                    pageA.href = "javascript:void(0);";
                    pageA.innerHTML = pageindex;
                    SetPageIndexMargin(pageA);
                    pageA.onclick = function() { OnSelPage(url, txtObj, idObj, dynDivObj, pagesize, window.event); }
                    pageDv.appendChild(pageA);                   
                    for (var k = Number(pageindex)+1; (k < Number(pageindex) + 4) && k <= pageCount; k++) {                  
                        pageA = document.createElement('a');
                        pageA.id = "aaa_page_" + k;
                        pageA.href = "javascript:void(0);";
                        pageA.innerHTML = k;
                        SetPageIndexMargin(pageA);
                        pageA.onclick = function() { OnSelPage(url, txtObj, idObj, dynDivObj, pagesize, window.event); }
                        pageDv.appendChild(pageA);
                    }
                    pageA = document.createElement('a');
                    pageA.id = "aaa_page_"+pageCount;
                    pageA.href = "javascript:void(0);";
                    pageA.innerHTML = "末页";
                    SetPageIndexMargin(pageA);
                    pageA.onclick = function() { OnSelPage(url, txtObj, idObj, dynDivObj, pagesize, window.event); }
                    pageDv.appendChild(pageA);
                }
                var closeSpan = document.createElement("span");
                closeSpan.innerHTML = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="javascript:void(0);" onclick="javascript:' + dynDivObj.pageName + '.CloseDiv();" >关闭</a>';
                pageDv.appendChild(closeSpan);
                dv.appendChild(pageDv);                
            }
        }
    }
    function OnSelRow(txtObj, idObj, dynDivObj, _event) {
        var tr = e.srcElement;
        while (tr.tagName.toLowerCase() != "body") {
            tr = tr.parentNode;
            if (tr.tagName.toLowerCase() == "tr") {
                txtObj.value = document.getElementById('aaa_txt_' + (tr.rowIndex - 1)).innerHTML;
                idObj.value = document.getElementById('aaa_value_' + (tr.rowIndex - 1)).innerHTML;
                if (afterSelRow != null) {
                    afterSelRow(arItemData[tr.rowIndex - 1]);
                }                
                break;
            }
        }        
        dynDivObj.CloseDiv();
    }
    function OnOut() {
        e = window.event;
        var tr = e.srcElement.parentNode;
        with (tr.style) { background = ' color #FFFFFF'; }
    }
    function OnOver() {
        e = window.event;
        var tr = e.srcElement.parentNode;
        with (tr.style) { background = ' color #CCFFFF'; }
    }
    function SetPageIndexMargin(pageIndexA) {
        with (pageIndexA.style) {
            margin = "0px 3px 0px 3px";
        }
    }
    function OnSelPage(url, txtObj, idObj, dynDivObj, pagesize, _event) {
        var ha = e.srcElement;
        var pageIndex = ha.id.substr(9);
        createRq(url, txtObj, idObj, dynDivObj, pageIndex, pagesize);
    }

    function loadXMLFile(fileRoute) {
        xmlDoc = null;
        if (window.ActiveXObject) {
            xmlDoc = new ActiveXObject('Msxml2.DOMDocument');
            xmlDoc.async = false;
            xmlDoc.load(fileRoute);
        }
        else if (document.implementation && document.implementation.createDocument) {
            var xmlhttp = new window.XMLHttpRequest();
            xmlhttp.open("GET", fileRoute, false);
            xmlhttp.send(null);
            var xmlDoc = xmlhttp.responseXML.documentElement;
        }
        else { xmlDoc = null; }
        return xmlDoc;
    }
}