﻿

/*
前2位数字为顶部字段,后面的2位为下级字段,例如Selectpro中的前面02保持不变,后面的00为省份名称，字体为红色;
其它为该省的城市名，即下级元素。


*/
/*
var Selectpro = new Array(
""    ,"省份不限",
"0200","广东",
"02,011","广州",
"02,02","深圳",
"02,03","深圳",
"02,04","深圳",
"02,05","惠州",
"02,06","佛山",
"02,07","汕头",
"02,08","肇庆",
"02,17","江门",

"0104","东莞地区",
"0108","肇庆地区",
"0102","深圳地区",
"0112","江门地区",
"0109","汕头地区",
"0107","惠州地区",
"0105","佛山地区",
"0106","中山地区",
"0103","珠海地区",
"0300","广西",
"0301","广西1",
"0302","广西2",
"黑龙江","黑龙江",
"粤西","粤西地区",
"0600","江苏地区",
"0700","浙江地区",
"1300","湖南地区",
"2600","福建地区",
"2300","广西地区",
"其它","其它地区"
);
*/
var imgpath = "js/select/";//图片目录

//  TdMouse = " align='center' style='cursor:hand' onMouseOver='this.style.backgroundColor=\"#D1E7FE\"' onMouseOut='this.style.backgroundColor=\"#FFFFFF\"' ";
var TdMouse = " style='cursor:hand' onMouseOver='this.style.backgroundColor=\"#D1E7FE\"' onMouseOut='this.style.backgroundColor=\"#FFFFFF\"' ";
var TdMousx = " style='cursor:hand'                                                      onMouseOut='this.style.backgroundColor=\"#FFFFFF\"' ";

//TiTle 大标题，TiTle 小标题，Field引申层对象divField，按钮btnField,值隐藏字段Field, DefaultVal 默认值,BigCode 大类代码长度，空，没有二级选项
function buildPopSel(Title,Title1,Field,Field1,Field2,Arrs,DefaultVal,BigCodeLen,w,h,img){
	 var _arr = document.getElementById(Field2);
	 if(img!=null && img!="")imgpath=img+"/";
  ObjList += ",div"    + Field1;
  ObjList += ",subdiv" + Field;
  Arr = eval(Arrs);
  var btnShowText = Title;

  var htmlDiv;
  htmlDiv  = "<div id='div"+Field1+"' width='457' style='position:absolute;left:10px;top:365px;visibility:hidden;z-index:100'>";
  htmlDiv += "<table width='457' border='0' cellspacing='0' cellpadding='0' bgcolor='#FFFFFF' style='font-size: 12px'>";
  htmlDiv += "<tr><td align='left' valign='middle' width=320 height='26' background='" + imgpath + "greenbg.gif'>&nbsp;&nbsp;";
  htmlDiv += "<img src='"+imgpath+"greenarrow.gif'>&nbsp;<span style='color:#FFFFFF'>"+Title+"</span></td>";
  htmlDiv += "<td align='right' valign='middle' background='"+imgpath+"greenbg.gif' onclick='hiddenLayer()' style='color:#FFFFFF;cursor:hand;'>【关闭选单】</td></tr>";
  htmlDiv += "<tr><td colspan='2' width='457' valign='top'>";
  htmlDiv += "<table width='100%' border='0' cellspacing='0' cellpadding='0' bgcolor='#FFFFFF' style='border-color: #0000CC #0000CC #0000CC #0000CC; border-style: dashed; border-top-width: 0px; border-right-width: 1px; border-bottom-width: 0px; border-left-width: 1px ;font-size: 12px'>";
  htmlDiv += "<tr>";
  var big = null;
  var jsq = 0;
  for(var i=0;i<Arr.length/2;i++){
    if(Arr[i*2]==DefaultVal){//默认值
      btnShowText = Arr[i*2+1];
    }
    if(BigCodeLen==0 || big!=Arr[i*2].substring(0,BigCodeLen)){//分大类
    	var da=unescape(Arr[i*2+1]);
    	if(da=="内蒙古自治区")da="内蒙古";
    	if(da=="澳门特别行政区")da="澳门";
    	if(da=="香港特别行政区")da="香港";
    	if(da=="新疆维吾尔自治区")da="新疆";
    	if(da=="宁夏回族自治区")da="宁夏";
    	if(da=="广西壮族自治区")da="广西";
    	if(da=="西藏自治区")da="西藏";
      htmlDiv += "<td height='24' width='16%' " + TdMouse + " onClick=\"SelectIt('" + Field + "','" + Arr[i*2+1] + "','" + Arr[i*2] +"'," + Arrs + "," + BigCodeLen + ",'"+Field1+"','"+Title1+"')\">　" + da + "</td>";
      big = Arr[i*2].substring(0,BigCodeLen);
      jsq++;
      if(jsq%6 == 0){
        htmlDiv += "</tr><tr>";
      }
    }
  }
  
  for(var k= (jsq-1) % 4;k<3;k++){
    htmlDiv += "<td height='24'>&nbsp;</td>";
  }

  htmlDiv += "</tr></table>";
  if(BigCodeLen>0)
  htmlDiv += "<div id='subdiv" + Field + "' style='position:absolute;left:10px;top:165px;visibility:visible;z-index:10;'></div>";
  htmlDiv += "</td></tr><tr><td colspan='2' height='4' bgcolor='#3186EF'></td></tr></table>";
  htmlDiv += "</div>";
 // htmlDiv += "<INPUT type='button' name='btn"+Field+"' id='btn"+Field+"' value='"+btnShowText+"' title='"+Title+"' style='text-align: left; BORDER-RIGHT: 0px; BORDER-TOP: 0px; BACKGROUND: url("+imgpath+bimg+"); BORDER-LEFT: 0px; WIDTH: "+w+"px; HEIGHT: "+h+"px; CURSOR: hand; BORDER-BOTTOM: 0px' onclick='displayLayer(div"+Field+");'>";
//htmlDiv += "<INPUT type='hidden' name='" + Field + "' id='" + Field + "' value='" + DefaultVal + "'>";
  htmlDiv  = "<span id='div" + Field + "pop'>" + htmlDiv + "</span>";
  htmlDiv += "<span id='div" + Field + "drop' style='display:none'>";//<select name='" + Field + "' style='width:" + w + "' onChange=SelectIt('" + Field + "',this.options[this.options.selectedIndex].text,this.options[this.options.selectedIndex].value," + Arrs + "," + BigCodeLen + ",'"+Field1+"')>
  for(var i=0;i<Arr.length/2;i++){
    var _code = Arr[i*2];
    var _name = Arr[i*2 + 1];
    var _selected = "";
    if (_code == DefaultVal)
      _selected = " selected ";
    if (_code != null && _code.lastIndexOf("00") >= _code.length - 2)
      htmlDiv += "<option value='" + _code + "' style='color:blue'" + _selected + ">===" + _name + "===</option>";
    else
      htmlDiv += "<option value='" + _code + "'" + _selected + ">" + _name + "</option>";
  }
  htmlDiv += "</select></span>";
  htmlDiv += "<input style='display:none' type='button' name='switch" + Field + "' value='下拉' title='当您的浏览器或者上网助手等软件阻止选择窗口弹出时，请点击本按钮切换到传统的下拉菜单方式进行选择。' onClick=switchSelect('" + Field + "')>";
if (_arr)
  _arr.innerHTML=htmlDiv;
}

function switchSelect(Field) {
  var obj = document.all("switch" + Field);
  if (obj == null)
    return;

  if (obj.value == "下拉") {
    obj.value = "弹出";
    document.all("div" + Field + "pop").style.display = "none";
    document.all("div" + Field + "drop").style.display = "";    
  }
  else {
    obj.value = "下拉";
    document.all("div" + Field + "pop").style.display = "";
    document.all("div" + Field + "drop").style.display = "none";    
  }      
}

var ObjList = "";

String.prototype.LeftStr  = function(maxlen){
  var len = 0;
  for(var i = 0; i < this.length; i++){
    len++;
    if(this.charCodeAt(i) > 128) len++;
    if(len>maxlen) break;
  }
  return this.substring(0,i);
}

function SelectIt(Field,ShowText,Value,Arr,BigCodeLen,Field1,Title1){
  var btnField = document.all("btn"+Field);
  var _arr = document.getElementsByName(Field);
  var _arr1 = document.getElementsByName(Field1);

  if (_arr != null)
    for (var i = 0; i < _arr.length; i++)
      _arr[i].value = unescape(Value);
  //document.all(Field).value = Value;
  
  if (_arr1 != null)
    for (var i = 0; i < _arr1.length; i++)
      _arr1[i].value = unescape(ShowText);

  //var btnWidth = btnField.style.width.replace("px","");
     // btnWidth = btnWidth - 12;
     // btnField.value = ShowText.LeftStr(btnWidth/2);

  if(BigCodeLen==0){
//    document.all("div"+Field).style.visibility="hidden";
    hiddenLayer();
  }
  else{
	  
	
    var big = Value.substring(0,BigCodeLen);
    var htmlDiv  = "<table border=0 cellspacing=0 cellpadding=0 bgcolor=#FFFFFF style='width:150px;border-color: #0000CC #0000CC #0000CC #0000CC; border-style: dashed; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; font-size: 12px'>";
    htmlDiv += "<tr><td nowrap height=24 colspan='3'" + TdMouse + " onclick='hiddenLayer()' + background='" + imgpath + "greenbg.gif' + width=150>&nbsp;&nbsp;<img src='"+imgpath+"greenarrow.gif'>&nbsp;<span style='color:#FFFFFF'>"+Title1+"</span></td></tr>";
   
    htmlDiv += "<tr>";
    var jsq = 0;
	
    for(var i=0;i<Arr.length/2;i++){
      if( big==Arr[i*2].substring(0,BigCodeLen) ){
        //htmlDiv += "<td nowrap height='24' width='20%'"  + TdMouse + " onclick=\"SelectIt('" + Field + "','" + Arr[i*2+1] + "','" + Arr[i*2] +"',null,0,'"+Field1+"','"+Title1+"')\">　" + ( (big+"00")==Arr[i*2] ? "<font color=red>" + Arr[i*2+1] + "</font>" : Arr[i*2+1] ) + " &nbsp;</td>";
		var da=unescape(Arr[i*2+1]);
		if(da=="内蒙古自治区")da="内蒙古";
    	if(da=="澳门特别行政区")da="澳门";
    	if(da=="香港特别行政区")da="香港";
    	if(da=="新疆维吾尔自治区")da="新疆";
    	if(da=="宁夏回族自治区")da="宁夏";
    	if(da=="广西壮族自治区")da="广西";
    	if(da=="西藏自治区")da="西藏";
		htmlDiv += "<td nowrap height='24' width='20%'"  + TdMouse + " onclick=\"SelectIt('" + Field + "','" + Arr[i*2+1] + "','" + Arr[i*2] +"',null,0,'"+Field1+"','"+Title1+"')\">　" + ( unescape(Arr[i*2]).indexOf(",")==-1 ? "<font style='color:red'>" + da + "</font>" : da ) + " &nbsp;</td>";
		big = Arr[i*2].substring(0,BigCodeLen);
        jsq++;
		 if(jsq%3 == 0){
        htmlDiv += "</tr><tr>";
       }
      }
    }
	
    for(var k= (jsq-1) % 4;k<3;k++){
    htmlDiv += "<td height='24'>&nbsp;</td>";
    }

    htmlDiv += "</tr></table>";
    if(jsq>1){
      xx = document.body.scrollLeft;
      yy = document.body.scrollTop;
      if( xx==0 ) xx = document.documentElement.scrollLeft;
      if( yy==0 ) yy = document.documentElement.scrollTop ;
    	
      subdiv = eval("subdiv" + Field);
      subdiv.innerHTML = htmlDiv;
      divField     = eval("div" + Field1);
      divFieldTop  = divField.style.top.replace("px","");
      divFieldLeft = divField.style.left.replace("px","");
      subdiv.style.top  = window.event.y - divFieldTop + yy;
      subdiv.style.left = window.event.x - divFieldLeft;
      subdiv.style.visibility = "visible";
    }
    else{
      hiddenLayer();
    }
  }
}

function displayLayer(layerID){
	layerID=document.getElementById(layerID);
  hiddenLayer();
  GetCenterXY_ForLayer(layerID);
  DivSetVisible(layerID);
}

function hiddenLayer(){
  showElementAll();
  var argArr = ObjList.split(",");
  for(var i=0;i<argArr.length;i++){
    if( argArr[i] != "" ){
      if (document.getElementById(argArr[i]) )
      document.getElementById(argArr[i]).style.visibility = "hidden";
    }
  }
}

//将悬浮层的位置定位在屏幕中央
function GetCenterXY_ForLayer(objdiv){
  x = document.body.scrollLeft;
  y = document.body.scrollTop + 38;
  if( x==0 ) x = document.documentElement.scrollLeft;
  if( y==0 ) y = document.documentElement.scrollTop ;
  
  //获取屏幕宽度
  availWidth  = parseInt(window.screen.availWidth );
  availHeight = parseInt(window.screen.availHeight);

  tblWidth = parseInt(objdiv.width);

  y = y + availHeight/8;
  x = (availWidth - tblWidth)/2;

  objdiv.style.top  = y;
  objdiv.style.left = x;
}

function DivSetVisible(objDiv){
  hideElementAll();
  objDiv.style.visibility = "visible";
}

function HideElement(strElementTagName){
  try{
    for(i=0;i<window.document.all.tags(strElementTagName).length; i++){
      var objTemp = window.document.all.tags(strElementTagName)[i];
      //objTemp.style.visibility = "hidden";
    }
  }
  catch(e){
    alert(e.message);
  }
}

function ShowElement(strElementTagName){
  try{
    for(i=0;i<window.document.all.tags(strElementTagName).length; i++){
      var objTemp = window.document.all.tags(strElementTagName)[i];
      objTemp.style.visibility = "visible";
    }
  }
  catch(e){
    alert(e.message);
  }
}

function hideElementAll(){
  HideElement("SELECT");
  HideElement("OBJECT");
  HideElement("IFRAME");
}

function showElementAll(){
  ShowElement("SELECT");
  ShowElement("OBJECT");
  ShowElement("IFRAME");
}
