﻿// JScript 文件

var xmlDoc;
var count=0;
var div_box;
var txtObj;
function exist(id)
{
    var s = document.getElementById(id);
    if(s)
    {
        return true;
    }
    else
    {
        return false;
    }    
}
function Tip(txt)
{
    if(!xmlDoc)
    {// xml 对象有错
        return;
    }
    txtObj = txt;
    count=0;
    //判断是否按的方向键如果按的时方向键则进行其他操作
    if(event.keyCode==38||event.keyCode==40)
    {// 方向键 向上或向下
        if(PressUpDownKey(txtObj,event.keyCode))
        {
            return;//非第一次加载时直接退出
        }
    }
    
    if(exist("box"))
    {
        document.body.removeChild(document.getElementById("box"));
    }     
    div_box = document.createElement("DIV");
    div_box.id = "box";
    div_box.style.position="absolute";
    div_box.style.zIndex="10";
    
	var ttop  = txtObj.offsetTop;     //TT控件的定位点高
	var tleft = txtObj.offsetLeft;   //TT控件的定位点宽
	while (txt = txt.offsetParent){ttop+=txt.offsetTop; tleft+=txt.offsetLeft;}
	div_box.style.top  = ttop + txtObj.clientHeight + 6;
	div_box.style.left =tleft;    
    div_box.style.background = "#fff";
    div_box.style.color = "Blue";
    div_box.style.visibility = "visible";
    div_box.style.width = "257px";
    div_box.style.fontSize = "14px";
    div_box.style.border = "1px solid #000";
    document.body.appendChild(div_box);
    
    // 加入当前输入内容
    //addDIV(txtObj.value,"");
    if(xmlDoc.readyState=="4")
    {// XML 加载完成documentElement
       var  aryXMLNodes = xmlDoc.selectNodes("//KEYWORD");
       if(aryXMLNodes)
       {
            var msg ="";
            var j;
            for(j =0;j<aryXMLNodes.length;j++)
            {
                var xmlVal = aryXMLNodes[j].attributes[0].nodeValue;
                if(xmlVal.length>=txtObj.value.length)
                {
                    if(xmlVal.substr(0,txtObj.value.length)==txtObj.value)
                    {
                        // 添加到 div 
                        addDIV(xmlVal,j); 
                        count++;
                        if(count==6)
                        {//只加载5个
                            break;
                        }
                    }
                }
            }                   
       }
       else
       {// 没有找到相应的资料
        
       }
    }
    else
    {
        addDIV("数据加载中 ... ","Null");                    
    } 
    var div_foot = document.createElement("DIV");
    div_foot.id = "foot";
    div_foot.style.textAlign = "right";
    div_foot.style.fontSize = "12px";    
    div_foot.innerText  = "关闭";  
    div_foot.style.cursor = "hand";  
    div_box.appendChild(div_foot);                
    div_foot.onclick = function(){div_box.style.display="none";};
}
function addDIV(NOTE,ID)
{
    var div_row = document.createElement("DIV");        
        div_row.id = "div_row_"+ID;
        div_row.innerHTML = NOTE;
        div_row.style.cursor="pointer";
        div_box.appendChild(div_row);
        div_row.onmouseover = function(){this.style.color="white";this.style.background="blue";};
        div_row.onmouseout = function(){this.style.color="blue";this.style.background="white";};
        div_row.onclick = function(){txtObj.value = this.innerText;div_box.style.display="none";}
    
}
function loadXML()
{
    // 操作xml 
    xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); //Msxml2.DOMDocument ie5.5+,CreateObject("Microsoft.XMLDOM") 
    var col=document.all.tags("script"); 
    var jsrc=col.item(col.length-1).src; 
    var i=jsrc.indexOf("?");
    var URL="/Keywords/";
    if(i>0)
    {
       URL=jsrc.substr(i+5,jsrc.length); 
    }
    xmlDoc.load(URL+"KEYS.xml"); 
}
loadXML();
function document.onclick() //任意点击时关闭该控件	//ie6的情况可以由下面的切换焦点处理代替
{ 
    with(window.event)
    {
        if(exist("box"))
        {
            document.body.removeChild(document.getElementById("box"));
        }
        if(exist("box2"))
        {
            document.body.removeChild(document.getElementById("box2"));
        }
    }
}
///
/// 当按方向键的时候的操作
///
function PressUpDownKey(txtObj,KeyCode)
{
   var div_Parent = document.getElementById("box");// 得到父的 div 
   if(div_Parent==null)
   {
	return;
   }
   var childCount = div_Parent.children.length-1;
   if(childCount<=0)
   {//只有 关闭选项时 直接退出
        return false;
   }
   // 下面循环 div 查找子的控件
   var i=-1;
   for(i =0;i<childCount;i++)
   {
        if(div_Parent.children[i].style.color=="white")
        {// 当前选中的时此div
        // 把当前选择取消
            div_Parent.children[i].style.color="blue";
            div_Parent.children[i].style.background="white";
            break;
        }
   }
   
   if(KeyCode==38)
   {// 向上箭头
       if(i==childCount||i==0)
       {// 查询完毕但是没有找到当前选中的div 或第一个div被选中 则选中最后一个div
            div_Parent.children[childCount-1].style.color="white";
            div_Parent.children[childCount-1].style.background="blue";
            txtObj.value = div_Parent.children[childCount-1].innerText;
       }
       else
       {// 选中上一个
            div_Parent.children[i-1].style.color="white";
            div_Parent.children[i-1].style.background="blue";
            txtObj.value = div_Parent.children[i-1].innerText;
       }
   }
   if(KeyCode==40)
   {// 向下箭头
       if(i>=childCount-1)
       {// 查询完毕但是没有找到当前选中的div则 或最后一个 div 选中 默认第一个选中
            div_Parent.children[0].style.color="white";
            div_Parent.children[0].style.background="blue";
            txtObj.value = div_Parent.children[0].innerText;
       }
       else
       {// 选中下一个
            div_Parent.children[i+1].style.color="white";
            div_Parent.children[i+1].style.background="blue";
            txtObj.value = div_Parent.children[i+1].innerText;
       }
   }
   if(childCount>0)
   {
        return true;
   }
   else
   {// 
        return false;
   }
}











//iframe 自适应
function iframeAutoFit()
{
        try
        {
            if(window!=parent)
            {
                var a = parent.document.getElementsByTagName("IFRAME");
                for(var i=0; i<a.length; i++) //author:meizz
                {
                    if(a[i].contentWindow==window)
                    {
                        var h1=0, h2=0, d=document, dd=d.documentElement;
                         a[i].parentNode.style.height = a[i].offsetHeight +"px";
                         a[i].style.height = "10px";

                        if(dd && dd.scrollHeight) h1=dd.scrollHeight;
                        if(d.body) h2=d.body.scrollHeight;
                        var h=Math.max(h1, h2);

                        if(document.all) {h += 4;}
                        if(window.opera) {h += 1;}
                         a[i].style.height = a[i].parentNode.style.height = h +"px";
                     }
                 }
             }
         }
        catch (ex){}
}
if(window.attachEvent)
{
         window.attachEvent("onload",   iframeAutoFit);
        //window.attachEvent("onresize",   iframeAutoFit);
}
else if(window.addEventListener)
{
         window.addEventListener('load',   iframeAutoFit,  false);
        //window.addEventListener('resize',   iframeAutoFit,   false);
}
