function mdiv (){
this.root;//选择框
this.selroot;//选择框选中后更改的区域
this.seldiv;//浮动层最外层
this.cnt;//选项最外层,所有选项都要添加到这里
this.length = 0;//选项数量;
this.value;//当前选项值
this.items = [];//所有选项
this.selectIndex = 0;//当前选项序号
this.onchange = function (){};//选择事件函数
}
mdiv.activeDiv = null;
mdiv.curRoot = null;
mdiv.prototype.isIE=function (){
return (navigator.userAgent.toLowerCase().indexOf("ie") > -1);
}
mdiv.prototype.getOffset=function (element){//计算对象在页面上的位置
var valueT = 0, valueL = 0;
do {valueT += element.offsetTop || 0;
valueL += element.offsetLeft || 0;
element = element.offsetParent; }
while (element);
return [valueL, valueT];
}
mdiv.prototype.init=function (root,selroot) {
var me = this;
me.root = root;
me.selroot = selroot || root;
me.seldiv = mdiv.Create("div",false,"mdiv");
me.cnt = mdiv.Create("div",me.seldiv);
me.seldiv.style.display = "none";
try{
document.attachEvent("onmousedown",function(){me.disdiv();});
}
catch (ex){
document.addEventListener("mousedown",function(){me.disdiv();}, false);
}
me.root.onclick = function (){
me.show();
me.HideSome();
me.autoHeight();
}
}
mdiv.prototype.select=function (obj) {
var me = this;
var value = obj.getAttribute("sel_value");
me.value = value;
me.selectIndex = obj.getAttribute("sel_index");
me.selroot.style.padding = 0;
me.selroot.innerHTML = obj.innerHTML;
me.selroot.style.paddingTop="10px";
me.onchange();
me.hide();
switch(me.value){
case "book":
document.getElementById('change').style.display='block';
var str='';
str+="全部字段";
str+="书名";
str+="作者";
document.getElementById('change').innerHTML=str;
break;
case "qikan":
document.getElementById('change').style.display='block';
var str='';
str+="全部字段";
str+="标题";
str+="作者";
str+="刊名";
str+="关键词";
str+="作者单位";
document.getElementById('change').innerHTML=str;
break;
case "baozhi":
document.getElementById('change').style.display='block';
var str='';
str+="全部字段";
str+="标题";
str+="作者";
str+="来源";
document.getElementById('change').innerHTML=str;
break;
case "xwlunwen":
document.getElementById('change').style.display='block';
var str='';
str+="全部字段";
str+="标题";
str+="作者";
str+="授予单位";
str+="关键词";
document.getElementById('change').innerHTML=str;
break;
case "hylunwen":
document.getElementById('change').style.display='block';
var str='';
str+="全部字段";
str+="标题";
str+="作者";
str+="关键词";
str+="会议名称";
document.getElementById('change').innerHTML=str;
break;
case "zl":
document.getElementById('change').style.display='block';
var str='';
str+="全部字段";
str+="专利名称";
str+="申请号";
str+="发明人";
str+="IPC号";
document.getElementById('change').innerHTML=str;
break;
case "bz":
document.getElementById('change').style.display='block';
var str='';
str+="全部字段";
str+="标准号";
str+="标准中文名";
str+="标准英文名";
document.getElementById('change').innerHTML=str;
break;
case "video":
document.getElementById('change').style.display='block';
var str='';
str+="全部字段";
str+="视频名称";
str+="简介";
str+="字幕";
str+="主题词";
document.getElementById('change').innerHTML=str;
break;
case "info":
break;
default:
document.getElementById('change').style.display='none';
break;
}
}
mdiv.prototype.show=function () {
var me = this;
var pos = me.getOffset(me.root);
var seldiv = me.seldiv;
if(seldiv.style.display != "none"){
seldiv.style.display = "none";
return;
}
var ss=seldiv.style;
ss.clear="both";
ss.background="#fff";
ss.border="solid 1px #0bad85";
ss.borderTop="none";
ss.textIndent="3px";
ss.position = "absolute";
ss.left = pos[0] + "px";
ss.zIndex=99999;
ss.top= pos[1] + me.root.offsetHeight + "px";
//alert(pos[0]);
ss.width = (me.root.offsetWidth-((document.compatMode == "BackCompat")?0:2) )+1+ "px";
ss.display = "";
}
mdiv.prototype.hide=function () {
var me = this;
me.seldiv.style.display = "none";
}
mdiv.prototype.disdiv=function () {
var me = this;
//alert(me.seldiv.style.display);
if(me.seldiv.style.display != "none"){
me.hide();
}
me.ShowSome();
}
mdiv.prototype.add=function (obj,cssHover,value,selected) {
var me=this;
me.items.push(obj);
obj.setAttribute("sel_value",value);
try{
me.cnt.appendChild(obj);
me.length = me.items.length;
var index = me.items.length - 1;
obj.setAttribute("sel_index",index);
obj.onmouseover=function(){
obj.setAttribute("cssBack",obj.className);
obj.className = obj.className + cssHover;
}
obj.onmouseout = function(){
obj.className = obj.className.replace(cssHover,"");
}
obj.onmousedown = function(){
me.select(obj);
}
}
catch(ex){}
if(selected){
me.select(obj);
}
}
mdiv.Create=function (str,parentObj,cssName){
var obj=document.createElement(str);
if(parentObj)
{parentObj.appendChild(obj);}
else
{document.body.appendChild(obj);}
if(cssName)obj.className=cssName;
return obj;
}//简化
mdiv.prototype.autoHeight=function(){};
mdiv.prototype.HideSome=function(){};
mdiv.prototype.ShowSome=function(){};