﻿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.onchange();
	me.hide();
}
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.background="#FFF";
	ss.border="solid 1px #ccc";
	ss.borderTop="none";
	ss.position = "absolute";
	ss.left = pos[0]-2 + "px";
	ss.top= pos[1] + me.root.offsetHeight-1+"px";
	ss.width = (6+me.root.offsetWidth-((document.compatMode == "BackCompat")?0:2) )+ "px";
	ss.display = "";
}
mdiv.prototype.hide=function () {
	var me = this;
	me.seldiv.style.display = "none";
}
mdiv.prototype.disdiv=function () {
	var me = this;
	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(){};
function G(id){
	return document.getElementById(id);
}
