﻿// JavaScript Document
//初始化时最好是设置第2个参数为form的id或者div的id
var NumericKeyboardBox = new numericKeyboardBox();
function numericKeyboardBox(){
	var ie = document.uniqueID;
	var textbox = "";
	var keyboardBoxDiv = "";
	var keyboardBox = "";
	var img = "";

	this.ShowKeyBoard = function(TextBox,Image,keyboardParentDiv,keyboardDiv){
		textbox = document.getElementById(TextBox);
		img = document.getElementById(Image);
		keyboardBoxDiv = document.getElementById(keyboardParentDiv);
		keyboardBox = document.getElementById(keyboardDiv);
		keyboardBox.innerHTML = createContentKey();
		var top = "";
		var left = "";
		left = GetLeft(img);
		keyboardBoxDiv.style.display = "";
		keyboardBoxDiv.style.left = 10+left+"px";
		if(ie){
			top = GetTop(img);
		}else{
			//top = img.offsetTop;
			// img.offsetTop在FireFox里面返回8，修改为用IE的方法获取 梁鸿茂 2007-12-03
			top = GetTop(img);
		}
		keyboardBoxDiv.style.top = 10+top+"px";
  	}
  
  	this.close = function (){
		keyboardBox.innerHTML = "";
		keyboardBoxDiv.style.display = "none";
	}
	
	this.inputKey = function (value){
  		var maxlength = textbox.getAttribute('maxlength') != null?textbox.getAttribute('maxlength'):8888888;
	  	if(length < maxlength){
			textbox.value += value;
	  	}
  	}
  	
  	this.BackSpace = function (){
    	var inputStr = textbox.value;
    	if (inputStr.length > 0){
  			textbox.value = inputStr.substring(0,inputStr.length-1);
  		}
  	}
  
  var createContentKey = function (){
   		var numkeyHTML = "";
		var numArray = "0123456789";
		var g = '';
		for(var i=10;i>0;i--){
			var j = i*Math.random();
			g = numArray.substring(j,j+1);
			numkeyHTML +="<input id='numericKeyboardBoxButton"+g+"' value='"+g+"' type='button' class='numerickeystyle' onClick=NumericKeyboardBox.inputKey('"+g+"') onDblClick=NumericKeyboardBox.inputKey('"+g+"') />";
			numArray = numArray.substring(0,j) + numArray.substring(j+1);
		 }
		numkeyHTML += "<input id='numericKeyboardBoxBack' type='button' class='numerickeystyle' onClick=NumericKeyboardBox.BackSpace() onDblClick=NumericKeyboardBox.BackSpace() value='退格' />";
		numkeyHTML += "<input id='numericKeyboardBoxSubmit' type='button' class='numerickeystyle' onClick=NumericKeyboardBox.close() value='确定' />";
		return numkeyHTML;
  }

  var GetTop = function (obj){
	 var nTp=0;
	 var offsetParent = obj;
	 while (offsetParent!=null && offsetParent!=document.body) {
	 nTp+=offsetParent.offsetTop;
	 if(ie){
	 parseInt(offsetParent.currentStyle.borderTopWidth)>0?nTp+=parseInt(offsetParent.currentStyle.borderTopWidth):"";
	 }
	 offsetParent=offsetParent.offsetParent;
	 }
	  return nTp;
  }
  var GetLeft = function (obj){
	 var nLt=0;
	 var offsetParent = obj;
	 while (offsetParent!=null && offsetParent!=document.body) {
	 nLt+=offsetParent.offsetLeft;
	 if(ie){
	 parseInt(offsetParent.currentStyle.borderLeftWidth)>0?nLt+=parseInt(offsetParent.currentStyle.borderLeftWidth):"";
	 }
	 offsetParent=offsetParent.offsetParent;
	 }
	  return nLt;
  }

}