﻿//页面函数


/**
 * 返回首页动作
 */
function returnMainPage(){
	document.getElementById("main_content").innerHTML=""; //清空功能块
	doReturnMainPage();
}


/**
 * 不清空原有界面内容，只返回主功能树
 */
function doReturnMainPage(){
	sendReturnText(this,'/fuctiontree?treepk=px200706211132011000','treedata'); //设置栏目数据树
	//sendReturnText(this,"/getmainmenu","treedata");
}


/**
 * 登录成功后调用
 */
function logonOKDo(){

	IS_LOGON = true; //标记登录成功
	if (designMode){
		//设计模式时，不调用其它区块内容信息
		return;
	}
	if (USER_LOGON_NAME!=PREVIOUS_USER_LOGON_NAME){
		//如果不是同一个用户登录，不用恢复上一次路径
		INIT_FLAG = false;
	}
	var defaultDoTags = 
			getElementsInDocumentByAttribute(
							"id",DEFAULT_LOGON_DO);
	var notDoDefault = true;
	if (defaultDoTags!=null && !INIT_FLAG){
		var i=0;
		while(i<defaultDoTags.length){
			if (defaultDoTags[i].value!=null && defaultDoTags[i].value!=""){
				eval(defaultDoTags[i].value);
				INIT_FLAG = true;
				notDoDefault = false;
			}
			i++;
		}
	}
	if (notDoDefault){
		//获取所有区域最后一次动作路径
		var areaKeys = lastActionMap.getKeys();
		var noDoAction = true; //是否没执行动作
		if (areaKeys!=null){
			var i=0;
			while(i<areaKeys.length){
				var actionPath = lastActionMap.get(areaKeys[i]);
				if (actionPath!=null && actionPath!=""){
					sendReturnText(
						null
						,lastActionMap.get(areaKeys[i])
						,areaKeys[i]
						,lastActionMethodMap.get(areaKeys[i])
						,lastActionMethodParaMap.get(areaKeys[i]));
					lastActionMap.remove(areaKeys[i]);
					noDoAction = false;
				}
				i++;
			}
		}
		if (noDoAction){
			window.location.reload();
		}
	}
}


/**
 * 显示错误信息
 * message 错误信息
 */
function showErrorMsg(upFunc,message){
	var errorTag;
	
	if (!upFunc.noReturnValue){
		//恢复发送前的页面内容
		var reVal = upFunc.sendBeforeHTML;
		if (reVal!=null){
			//获取到错误标签位置
			var errorPoint = reVal.indexOf(ERROR_MSG_TAG_ID);
			if (errorPoint>-1){
				errorPoint+=ERROR_MSG_TAG_ID.length; 
				//获取错误位置后的字符串
				var cutPointStr = 
					reVal.substring(errorPoint,reVal.length);
				errorPoint+=cutPointStr.indexOf(">")+1;
				try{
					upFunc.returnInnerTag.innerHTML = 
						reVal.substring(0,errorPoint)+message+reVal.substring(errorPoint+cutPointStr.indexOf("</")-1,reVal.length);
				}catch(e){}
			}else{
				alert(message);
				upFunc.returnInnerTag.innerHTML = reVal;
			}
		}else{
			alert(message);
		}
	}else{
		alert(message);
	}
}


/**
 * 执行注销
 */
function doLogout(ajax){
	if (!ajax){
		if(!confirm("确认注销？")){
			return;
		}
		IS_LOGON = false; //手动点击注销，如果不先false，会提示错误信息
		INIT_FLAG = false; //重新登录后不自动转入
	}
	if (IS_LOGON){
		alert("系统将重新验证您的身份");
	}
	IS_LOGON = false;
	//获取所有区块主键
	var arepk = lastPageMap.getKeys();
	if (arepk!=null){
		var i=0;
		while(i<arepk.length){
			try{
				document.getElementById(arepk[i]).innerHTML='';
			}catch(e){}
			i++;
		}
	}
	if (document.getElementById('login')==null && ajax.returnInnerTag!=null){
		sendReturnText(ajax.returnInnerTag,'/dologout');
	}else{
		sendReturnText('login','/dologout');
	}
}



/**
 * 获得所有的输入框值
 */
function allNodevalue(){
	
	var optioncount		=	document.getElementById("answercount").value;
	var textcount		=	document.getElementById("textanswercount").value;
	var stranswer		=	"";
	var strtextanswer	=	"";
	
	//取得所有选择题的答案
	var i=1;
	while(i<=optioncount){
		var obj=document.getElementById("answer"+i);
		if(obj.checked==true){
			stranswer=stranswer+1+";"
		}
		else{
			stranswer=stranswer+0+";"
		}
		i++;
	}
	document.getElementById("answerstr").value=stranswer;
	
	//取得所有问答题的答案
	i=1;
	while(i<=textcount){
		try{
		
			var obj=document.getElementById("text"+i);
			
			if(obj==""){
				continue;
			}
			
			if(!obj.value==""){
				strtextanswer=strtextanswer+"<@title@>text"+i+"<@content@>"+obj.value;
			}
		
		}catch(e){}
		i++;
	}
	document.getElementById("textanswerstr").value=strtextanswer;
	
}


/**
 * 获得所有同名字段的值
 */
function allColumnValue(){

	var strcolumn	=	document.getElementById("strcolumn").value;
	var boxs		= 	document.getElementsByName('columnbox');
	
	var keywordpks='';
	var i=0;
	while(i<boxs.length){
		if(boxs[i].checked){
			keywordpks +=boxs[i].getAttribute('dataid')+',';
		}
		i++;
	}
	document.getElementById("strcolumn").value=keywordpks;
	
}

/**
 * 获得所有按钮字段的值
 */
function allButtonValue(){

	var strbuttom	=	document.getElementById("strbuttom").value;
	var boxs		= 	document.getElementsByName('columnbox');

	var keywordpks='';
	var i=0;
	while(i<boxs.length){
		if(!boxs[i].checked){
			keywordpks +=boxs[i].getAttribute('dataid')+',';
		}
		i++;
	}
	document.getElementById("strbuttom").value=keywordpks;
	alert(keywordpks);
	
}


/**
 * 栏目权限连带选择
 */
function doChainSelect(thisid){

	var boxs		= 	document.getElementsByName('columnbox');
	var pk			=	thisid;
	var ppk			=	"";
	var tempvar		=	"";
	var resultarray	=	[];
	var tempindex	=	0;
	
	//把页面传来的pk值放入
	resultarray[tempindex++]=thisid;
	
	//判断触发时的状态
	var i=0;
	while(i<boxs.length){
		if(pk==boxs[i].getAttribute('dataid')){
			
			tempvar=boxs[i].checked;
		}
		i++;
	}
	
	
	//循环处理
	i=0;
	while(i<boxs.length){
		ppk = boxs[i].getAttribute('datapid')
		var arraylength=resultarray.length;
		var j=0;
		while(j<arraylength){
			if(ppk==resultarray[j]){
				//此复选框被选中
				boxs[i].checked = tempvar
				//给pk赋值
				pk=boxs[i].getAttribute('dataid');
				//加入pk到数组中
				resultarray[tempindex++]=pk;
			}
			j++;
		}
		i++;
	}
	
}


/**
 * 显示隐藏的文本框
 */

function show_hiddentextbox(textflag){
	
	document.getElementById(textflag).style.display = "";
}


/**
 * 初始化页面
 */
function initMultiSelectForm(){

	initMultiSelect('selectFrom','fromvalues','fromtexts','selectTo','tovalues','totexts');
	
}

/**
 * 初始化下拉框组
 * fromSelectID 源下拉框主键
 * fromValues 源下拉框值标签主键 用逗号分割
 * fromTexts 源下拉框文本标签主键 用逗号分割
 * toSelectID 目标下拉框主键
 * toValues 目标下拉框值标签主键 用逗号分割
 * toTexts 目标下拉框文本标签主键 用逗号分割
 */
function initMultiSelect(fromSelectID,fromValuesID,fromTextsID,toSelectID,toValuesID,toTextsID){
	
	var fromSelectTag = document.getElementById(fromSelectID); 
	var fromValuesTag = document.getElementById(fromValuesID);
	var fromTextsTag = document.getElementById(fromTextsID);
	var toSelectTag = document.getElementById(toSelectID);
	var toValuesTag = document.getElementById(toValuesID);
	var toTextsTag = document.getElementById(toTextsID);
	
	//初始化源下拉框
	if (fromValuesTag!=null 
			&& fromTextsTag!=null 
			&& fromSelectTag!=null 
			&& fromValuesTag.value!=null 
			&& fromValuesTag.value!=""
			&& fromTextsTag.value!=null){
		var fValueArrl = fromValuesTag.value.split(",");
		var fTextArrl = fromTextsTag.value.split(",");
		
		if (fValueArrl!=null 
			&& fTextArrl!=null 
			&& fValueArrl.length==fTextArrl.length){
			
			
			fromSelectTag.length = 0;
			var i=0;
			while(i<fValueArrl.length){
				var fSelectCount = fromSelectTag.length;
				fromSelectTag.options[fSelectCount] = new Option("",fSelectCount);
				fromSelectTag.options[fSelectCount].value = fValueArrl[i];
				fromSelectTag.options[fSelectCount].text = fTextArrl[i];
				i++;
			}
		}
		
	}
	
	//初始化目标下拉框
	if (toValuesTag!=null 
			&& toTextsTag!=null 
			&& toSelectTag!=null 
			&& toValuesTag.value!=null 
			&& toValuesTag.value!=""
			&& toTextsTag.value!=null){
		var tValueArrl = toValuesTag.value.split(",");
		var tTextArrl = toTextsTag.value.split(",");
		
		if (tValueArrl!=null 
			&& tTextArrl!=null 
			&& tValueArrl.length==tTextArrl.length){
			
			toSelectTag.length = 0;
			var i=0;
			while(i<tValueArrl.length){
				var tSelectCount = toSelectTag.length;
				toSelectTag.options[tSelectCount] = new Option("",tSelectCount);
				toSelectTag.options[tSelectCount].value = tValueArrl[i];
				toSelectTag.options[tSelectCount].text = tTextArrl[i];
				i++;
			}
		}
	}
}



/**
 * 提交多选下拉框之前调用的方法
 * toSelectID 目标选择框主键
 * saveInputID 保存选择值标签主键
 */
function beforeSubmitMultiSelect(toSelectID,saveInputID) {
	
	var toSelectTag = document.getElementById(toSelectID); 
	var saveInputTag = document.getElementById(saveInputID);
	var i=0;
	while(i<toSelectTag.length){
        saveInputTag.value += toSelectTag.options[i].value
        if(i!=toSelectTag.length-1){
           saveInputTag.value+=","
        }
        i++;
    }
}


/**
 * 将目标下拉框中的选项上移
 * selectToID 目标下拉框主键
 */
function doMultiSelectUp(selectToID){
	
	var selectToTag = document.getElementById(selectToID);
	
	if(selectToTag.length<1){
		return false;
	}
	var swapValue = null; 
	var swapText = null;
	//循环处理选项
	var i=0;
	while(i<selectToTag.length){
		if (!selectToTag.options[i].selected || i==0){
			i++;
			continue;
		}
		swapValue = selectToTag.options[i].value;
		swapText = selectToTag.options[i].text;
		selectToTag.options[i].value = selectToTag.options[i-1].value;
		selectToTag.options[i].text = selectToTag.options[i-1].text;
		selectToTag.options[i-1].value = swapValue;
		selectToTag.options[i-1].text = swapText;
		selectToTag.options[i].selected = false;
		selectToTag.options[i-1].selected = true;
		i++;
	}
}

/**
 * 将目标下拉框中的选项下移
 * selectToID 目标下拉框主键
 */
function doMultiSelectDown(selectToID){
	
	var selectToTag = document.getElementById(selectToID);
	
	if(selectToTag.length<1){
		return false;
	}
	var swapValue = null; 
	var swapText = null;

	//循环处理选项
	var i=selectToTag.length-1;
	while(i>-1){
		if (!selectToTag.options[i].selected || i==selectToTag.length-1){
			i--;
			continue;
		}
		swapValue = selectToTag.options[i].value;
		swapText = selectToTag.options[i].text;
		selectToTag.options[i].value = selectToTag.options[i+1].value;
		selectToTag.options[i].text = selectToTag.options[i+1].text;
		selectToTag.options[i+1].value = swapValue;
		selectToTag.options[i+1].text = swapText;
		selectToTag.options[i].selected = false;
		selectToTag.options[i+1].selected = true;
		i--;
	}
}

/**
 * 将源下拉框中选中的选项添加到目标下拉框中
 * selectFromID 源下拉框主键
 * selectToID 目标下拉框选项
 */
function doMultiSelectAdd(selectFromID,selectToID){
	
	var selectFromTag = document.getElementById(selectFromID);
	var selectToTag = document.getElementById(selectToID);
	//取消选择所有
	var i=0;
	while(i<selectToTag.length){
		selectToTag.options[i].selected=false;
		i++;
	}
	//循环处理选项
	for (i=0;i<selectFromTag.length;i++){
		
		if (!selectFromTag.options[i].selected){
			continue;
		}
		var newIndex = selectToTag.length;
		selectToTag.options[newIndex] = new Option("",newIndex);
	    selectToTag.options[newIndex].text = selectFromTag.options[i].text;
	    selectToTag.options[newIndex].value = selectFromTag.options[i].value;
	    selectToTag.options[newIndex].selected = true;
	    selectFromTag.options[i] = null;
	    i=-1; //再循环时为0
	}
	if (selectFromTag.length>0){
		selectFromTag.options[0].selected = true;
	}
}

/**
 * 除去目标下拉框中选定的选项
 * selectFromID 源下拉框主键
 * selectToID 目标下拉框选项
 */
function doMultiSelectDel(selectFromID,selectToID) {
	
	var selectFromTag = document.getElementById(selectFromID);
	var selectToTag = document.getElementById(selectToID);
	//取消选择所有
	for(i=0;i<selectFromTag.length;i++){
		selectFromTag.options[i].selected=false;
	}
	//循环处理选项
	for (i=0;i<selectToTag.length;i++){
		
		if (!selectToTag.options[i].selected){
			continue;
		}
		var newIndex = selectFromTag.length;
		selectFromTag.options[newIndex] = new Option("",newIndex);
	    selectFromTag.options[newIndex].text = selectToTag.options[i].text;
	    selectFromTag.options[newIndex].value = selectToTag.options[i].value;
	    selectFromTag.options[newIndex].selected = true;
	    selectToTag.options[i] = null;
	    i=-1; //再循环时为0
	}
	if (selectToTag.length>0){
		selectToTag.options[0].selected = true;
	}
}

/**
 * 将源下拉框中所有的选项添加到目标下拉框中
 * selectFromID 源下拉框主键
 * selectToID 目标下拉框选项
 */
function doMultiSelectAddall(selectFromID,selectToID) {
	
	var selectFromTag = document.getElementById(selectFromID);
	var selectToTag = document.getElementById(selectToID);
	var fromCount = selectFromTag.length;
    for(i=0;i<fromCount;i++){
        var newIndex=selectToTag.length ;//新选项索引
        selectToTag.options[newIndex] = new Option("",newIndex);
        selectToTag.options[newIndex].text = selectFromTag.options[0].text;
        selectToTag.options[newIndex].value = selectFromTag.options[0].value;
        selectToTag.options[newIndex].selected = true;
        selectFromTag.options[0] = null;
    }
}

/**
 * 将目标下拉框中所有的选项添加到源下拉框中
 * selectFromID 源下拉框主键
 * selectToID 目标下拉框选项
 */
function doMultiSelectDelall(selectFromID,selectToID) {
	
	var selectFromTag = document.getElementById(selectFromID);
	var selectToTag = document.getElementById(selectToID);
	var fromCount = selectToTag.length;
    for(i=0;i<fromCount;i++){
        var newIndex=selectFromTag.length; //新选项索引
        selectFromTag.options[newIndex] = new Option("",newIndex)
        selectFromTag.options[newIndex].text = selectToTag.options[0].text;
        selectFromTag.options[newIndex].value = selectToTag.options[0].value;
        selectFromTag.options[newIndex].selected = true;
        selectToTag.options[0] = null;
    }
}

/**
 * 多文件上传
 * uploadFileArea 资源上传文件区域
 * resourcePKArr 资源主键序列对象
 * clientFileNameArr 资源源文件名序列对象
 */   
function doMultiUploadFile(uploadFileArea,resourcePKArr,clientFileNameArr){

	var innerInfo = '';
  	var innerTag = document.getElementById(uploadFileArea);
  	var resPKs = document.getElementById(resourcePKArr);
  	var resNames = document.getElementById(clientFileNameArr);
  	
  	innerTag.innerHTML = '';
  	if (resPKs.value!=null && resPKs.value!=''){
  		var pks = resPKs.value.split(',');
  		var names = resNames.value.split(',');
  		var i=0;
  		while(i<pks.length){
  			if (i>0){
  				innerInfo+='<br/>';
  			}
  			innerInfo+=names[i]+'&nbsp;&nbsp;';
  			innerInfo+='<input type="button" datapk='+pks[i]+' name="downloadbt" value="下载" class="buttun" onclick="javascript:sendReturnText(this,\'/downloadfile?resourceinfopk=\'+this.getAttribute(\'datapk\'),\'main_content\',function (para,res){window.open(res);},null,null,null,\'true\');" />';
  			innerInfo+='&nbsp;&nbsp;';
  			innerInfo+='<input type="button" datapk='+pks[i]+' name="delbt" value="删除" class="buttun" onclick="javascript:doUploadFileDel(\''+resourcePKArr+'\',\''+clientFileNameArr+'\',this.getAttribute(\'datapk\'),\''+uploadFileArea+'\');" />';
  			i++;
  		}
  		innerTag.innerHTML=innerInfo;
  	}
}
  	
/**
 * 删除上传文件
 * resourcePKArr 源资源主键序列对象
 * clientFileNameArr 源资源源文件名序列对象
 * selectResourcePK 删除的删除文件主键
 * selectClientFileName 删除的上传文件名
 * uploadFileArea 上传文件区域
 */
function doUploadFileDel(resourcePKArr,clientFileNameArr,selectResourcePK,uploadFileArea){
	
	var resPKs = document.getElementById(resourcePKArr);
  	var resNames = document.getElementById(clientFileNameArr);
  	var resDelPK = selectResourcePK;
  	
  	if (resDelPK==null || resDelPK==''){
  		return;
  	}
  	var fixPK = "";
  	var fixName = "";
  	
  	if(resPKs.value!=null && resPKs.value!=''){
  		var pks = resPKs.value.split(',');
  		var names = resNames.value.split(',');
  		var i=0;
  		while(i<pks.length){
			if (pks[i]!=resDelPK){
				if (i>0 && fixPK!=''){
					fixPK += ",";
					fixName += ",";
				}
				fixPK+=pks[i];
				fixName+=names[i];
			}
			i++;
  		}
  		resPKs.value = fixPK;
  		resNames.value = fixName;
  	}
  	
  	doMultiUploadFile(uploadFileArea,resourcePKArr,clientFileNameArr);
  	
}

/**
 * 单文件上传
 * uploadFileArea 资源上传区域
 * resourcePK 资源主键对象
 * clientFileName 资源名称对象
 */
function doSingleUploadFile(uploadFileArea,resourcePK,clientFileName){

	var innerInfo = '';
  	var innerTag = document.getElementById(uploadFileArea);
  	var resPK = document.getElementById(resourcePK);
  	var resName = document.getElementById(clientFileName);
  	
  	innerTag.innerHTML = '';
  	if (resPK.value!=null && resPK.value!=''){
  			innerInfo+=resName.value+'&nbsp;&nbsp;';
  			innerInfo+='<input type="button" datapk='+resPK.value+' name="downloadbt" value=" 下载 " class="buttun" onclick="sendReturnText(this,\'/downloadfile?resourceinfopk=\'+this.getAttribute(\'datapk\'),\'main_content\',function (para,res){window.open(res,\'\',\'toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,channelmode=yes,width=1050,height=600,,top=0,left=0\');},null,null,null,\'true\');" />';
  			innerInfo+='&nbsp;&nbsp;';
  			innerInfo+='<input type="button" datapk='+resPK.value+' name="downloadbt" value=" 删除 " class="buttun" onclick="doUploadFileDel(\''+resourcePK+'\',\''+clientFileName+'\',this.getAttribute(\'datapk\'),\''+uploadFileArea+'\');" />';
  		innerTag.innerHTML=innerInfo;
  	}
}


/**
 * 自动刷新
 * framesName 刷新区域
 */
function reloadfresh(framesName){
	//alert(framesName);
	//document.frames[framesname].location.reload();
	document.frames[framesName].location.reload();
}

/**
 * 软键盘相关方法...begin...
 */
window.onload=
function initsoftkeyborad()
{
	password1=null;		
	initCalc();	
	eval("if(document.all.logonname){document.getElementById('logonname').focus();}");
}
var password1;
var CapsLockValue=0;
var checkSoftKey;
function setVariables() {
	tablewidth=630;
	tableheight=20;
	if (navigator.appName == "Netscape") {
		horz=".left";
		vert=".top";
		docStyle="document.";
		styleDoc="";
		innerW="window.innerWidth";
		innerH="window.innerHeight";
		offsetX="window.pageXOffset";
		offsetY="window.pageYOffset";
	}
	else {
		horz=".pixelLeft";
		vert=".pixelTop";
		docStyle="";
		styleDoc=".style";
		innerW="document.body.clientWidth";
		innerH="document.body.clientHeight";
		offsetX="document.body.scrollLeft";
		offsetY="document.body.scrollTop";
	}
}
function checkLocation() {
	if (checkSoftKey) {
		objectXY="softkeyboard";
		var availableX=eval(innerW);
		var availableY=eval(innerH);
		var currentX=eval(offsetX);
		var currentY=eval(offsetY);
		x=availableX-tablewidth+currentX;
		y=currentY;
		evalMove();
	}
	setTimeout("checkLocation()",0);
}
function evalMove() {
	eval(docStyle + objectXY + styleDoc + vert + "=" + y);
}
self.onError=null;
currentX = currentY = 0;  
whichIt = null;           
lastScrollX = 0; lastScrollY = 0;
NS = (document.layers) ? 1 : 0;
IE = (document.all) ? 1: 0;
function heartBeat() {
if(IE) { diffY = document.body.scrollTop; diffX = document.body.scrollLeft; }
if(NS) { diffY = self.pageYOffset; diffX = self.pageXOffset; }
if(diffY != lastScrollY) {
percent = .1 * (diffY - lastScrollY);
if(percent > 0) percent = Math.ceil(percent);
else percent = Math.floor(percent);
if(IE) document.all.softkeyboard.style.pixelTop += percent;
if(NS) document.softkeyboard.top += percent; 
lastScrollY = lastScrollY + percent;}
if(diffX != lastScrollX) {
percent = .1 * (diffX - lastScrollX);
if(percent > 0) percent = Math.ceil(percent);
else percent = Math.floor(percent);
if(IE) document.all.softkeyboard.style.pixelLeft += percent;
if(NS) document.softkeyboard.left += percent;
lastScrollX = lastScrollX + percent;	}		}
function checkFocus(x,y) { 
stalkerx = document.softkeyboard.pageX;
stalkery = document.softkeyboard.pageY;
stalkerwidth = document.softkeyboard.clip.width;
stalkerheight = document.softkeyboard.clip.height;
if( (x > stalkerx && x < (stalkerx+stalkerwidth)) && (y > stalkery && y < (stalkery+stalkerheight))) return true;
else return false;}
function grabIt(e) {
checkSoftKey = false;
if(IE) {
whichIt = event.srcElement;
while (whichIt.id!=null&&whichIt.id.indexOf("softkeyboard") == -1) {
whichIt = whichIt.parentElement;
if (whichIt == null) { return true; } }
if(whichIt.style!=null){
whichIt.style.pixelLeft = whichIt.offsetLeft;
whichIt.style.pixelTop = whichIt.offsetTop;
}
currentX = (event.clientX + document.body.scrollLeft);
currentY = (event.clientY + document.body.scrollTop); 	
} else { 
window.captureEvents(Event.MOUSEMOVE);
if(checkFocus (e.pageX,e.pageY)) { 
whichIt = document.softkeyboard;
StalkerTouchedX = e.pageX-document.softkeyboard.pageX;
StalkerTouchedY = e.pageY-document.softkeyboard.pageY;} }
return true;	}
function moveIt(e) {
if (whichIt == null) { return false; }
if(IE) {
if(whichIt.style!=null){
newX = (event.clientX + document.body.scrollLeft);
newY = (event.clientY + document.body.scrollTop);
distanceX = (newX - currentX);    distanceY = (newY - currentY);
currentX = newX;    currentY = newY;
whichIt.style.pixelLeft += distanceX;
whichIt.style.pixelTop += distanceY;
if(whichIt.style.pixelTop < document.body.scrollTop) whichIt.style.pixelTop = document.body.scrollTop;
if(whichIt.style.pixelLeft < document.body.scrollLeft) whichIt.style.pixelLeft = document.body.scrollLeft;
if(whichIt.style.pixelLeft > document.body.offsetWidth - document.body.scrollLeft - whichIt.style.pixelWidth - 20) whichIt.style.pixelLeft = document.body.offsetWidth - whichIt.style.pixelWidth - 20;
if(whichIt.style.pixelTop > document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5) whichIt.style.pixelTop = document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5;
event.returnValue = false;
}
} else { 
whichIt.moveTo(e.pageX-StalkerTouchedX,e.pageY-StalkerTouchedY);
if(whichIt.left < 0+self.pageXOffset) whichIt.left = 0+self.pageXOffset;
if(whichIt.top < 0+self.pageYOffset) whichIt.top = 0+self.pageYOffset;
if( (whichIt.left + whichIt.clip.width) >= (window.innerWidth+self.pageXOffset-17)) whichIt.left = ((window.innerWidth+self.pageXOffset)-whichIt.clip.width)-17;
if( (whichIt.top + whichIt.clip.height) >= (window.innerHeight+self.pageYOffset-17)) whichIt.top = ((window.innerHeight+self.pageYOffset)-whichIt.clip.height)-17;
return false;}
return false;	}
function dropIt() {whichIt = null;
if(NS) window.releaseEvents (Event.MOUSEMOVE);
return true;	}
if(NS) {window.captureEvents(Event.MOUSEUP|Event.MOUSEDOWN);
window.onmousedown = grabIt;
window.onmousemove = moveIt;
window.onmouseup = dropIt;	}
var style1="<style>";
style1+="#softkeyboard td {padding:0; margin:0;}";
style1+="#softkeyboard input.button {BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 10px; PADDING-LEFT: 10px; BORDER-LEFT-WIDTH: 0px; BACKGROUND: url(../images5/blue/button_bg.gif) #a74d4a repeat-x left top; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 1px; CURSOR: hand; COLOR: #fff; MARGIN-RIGHT: 10px; PADDING-TOP: 4px; BORDER-RIGHT-WIDTH: 0px;}";
style1+=".btn_letter {BORDER-RIGHT: 1px solid; PADDING-RIGHT: 1px; BORDER-TOP: 1px solid; PADDING-LEFT: 2px;FONT-SIZE: 14px; BORDER-LEFT: 1px solid; CURSOR: hand;PADDING-TOP: 1px; BORDER-BOTTOM: 1px solid; width:25px; height:20px;}";
style1+=".btn_num {width:25px;BORDER-RIGHT:1px solid; PADDING-RIGHT: 1px; BORDER-TOP: 1px solid; PADDING-LEFT: 2px; FONT-SIZE: 12px; BORDER-LEFT: 1px solid; CURSOR: hand; PADDING-TOP: 1px; BORDER-BOTTOM: 1px solid;height:20px;}";
style1+=".table_title {FILTER: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#B2DEF7, EndColorStr=#7AB7DA); height:26px;padding-top: 3px;}";
style1+=".btn_input {BORDER-RIGHT: #2C59AA 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: #2C59AA 1px solid; PADDING-LEFT: 2px; FONT-SIZE: 12px; FILTER: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#ffffff, EndColorStr=#C3DAF5); BORDER-LEFT: #2C59AA 1px solid; CURSOR: hand; COLOR: black; PADDING-TOP: 2px; BORDER-BOTTOM: #2C59AA 1px solid}";
style1+="</style>";	
document.write(style1);																																																			
document.write("<DIV align=center id=\"softkeyboard\" name=\"softkeyboard\" style=\"position:absolute; left:0px; top:0px; width:400px; z-index:180;display:none\"><table id=\"CalcTable\" width=\"\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"\"><FORM id=Calc name=Calc action=\"\" method=post autocomplete=\"off\"><tr><td class=\"table_title\"  align=\"right\" valign=\"middle\" bgcolor=\"\" style=\"cursor: default;height:30\"><INPUT type=hidden value=\"\" name=password><INPUT type=hidden value=ok name=action2><font style=\"font-weight:bold; font-size:13px; color:#075BC3\">软键盘</font>&nbsp;<INPUT id=useKey class=\"btn_input\" type=button value=\"使用键盘输入\" bgtype=\"1\" onclick=\"password1.readOnly=0;document.getElementById('tempcf').value='1';password1.focus();closekeyboard();password1.value='';\" style=\"width:86px;\"><span style=\"width:2px;\"></span></td></tr><tr align=\"center\"><td align=\"center\" bgcolor=\"#FFFFFF\"><table align=\"center\" width=\"%\" border=\"0\" cellspacing=\"1\" cellpadding=\"0\">\n<tr align=\"left\" valign=\"middle\"> \n<td><input type=button bgtype=\"2\" name=\"button_number1\" value=\" 1 \"></td>\n<td><input type=button bgtype=\"2\" name=\"button_number2\" value=\" 2 \"></td>\n<td> <input type=button bgtype=\"2\" name=\"button_number3\" value=\" 3 \"></td>\n<td> <input bgtype=\"2\"  name=\"button_number0\" type=button value=\" 0 \"></td>\n<td><input name=\"button10\" type=button value=\" 退格\" onclick=\"setpassvalue();\"  onDblClick=\"setpassvalue();\" style=\"width:60px;\"></td>\n<td></td>\n</tr>\n<tr align=\"left\" valign=\"middle\">\n<td><input type=button bgtype=\"2\" name=\"button_number4\" value=\" 4 \"></td>\n<td> <input type=button bgtype=\"2\" name=\"button_number5\" value=\" 5 \"></td>\n<td> <input type=button bgtype=\"2\" name=\"button_number6\" value=\" 6 \"></td>\n<td><input type=button bgtype=\"2\" value=\" . \"></td>\n<td><input name=\"button9\" type=button disabled=false  onClick=\"capsLockText();setCapsLock();\"  onDblClick=\"capsLockText();setCapsLock();\" value=\"A-a\" style=\"width:60px;\"></td>\n</tr>\n<tr align=\"left\" valign=\"middle\">\n<td><input type=button bgtype=\"2\" name=\"button_number7\" value=\" 7 \"></td>\n<td><input type=button bgtype=\"2\" name=\"button_number8\" value=\" 8 \"></td>\n<td> <input type=button bgtype=\"2\" name=\"button_number9\" value=\" 9 \"></td>\n<td colspan=\"2\"><input name=\"button12\" type=button onclick=\"OverInput();\" value=\"   确定  \" style=\"width:86px;\"></td>\n</tr>\n</table></td></FORM></tr></table></DIV>");
function addValue(newValue)
{
	if (CapsLockValue==0)
	{
		var str=Calc.password.value;
		if(str.length<password1.maxLength)
		{
			Calc.password.value += newValue;
		}			
		if(str.length<=password1.maxLength)
		{
			password1.value=Calc.password.value;
		}
	}
	else
	{
		var str=Calc.password.value;
		if(str.length<password1.maxLength)
		{
			Calc.password.value += newValue.toUpperCase();
		}
		if(str.length<=password1.maxLength)
		{
			password1.value=Calc.password.value;
		}
	}

}

function setpassvalue()
{
	var longnum=Calc.password.value.length;
	var num
	num=Calc.password.value.substr(0,longnum-1);
	Calc.password.value=num;
	var str=Calc.password.value;
	password1.value=Calc.password.value;

}

function OverInput()
{

	var str=Calc.password.value;
	password1.value=Calc.password.value;
	closekeyboard();
	Calc.password.value="";
	password1.readOnly=1;
	
	//if(identicardtype.style.visibility == 'hidden')
	//{
		
	//	identicardtype.style.visibility='visible';
	//	identicardtype.style.visibility='hidden';
	//	document.getElementById("certificatetype").style.visibility='hidden';
	//}	

}

function closekeyboard(theForm)
{
	softkeyboard.style.display="none";
	if(null!=unhideSelect){
		unhideSelect();
	}
}

function showkeyboard()
{
	randomNumberButton();
	var th = password1;
	var ttop  = th.offsetTop;
	var thei  = th.clientHeight;
	var tleft = th.offsetLeft;
	var ttyp  = th.type;
	while (th = th.offsetParent){ttop+=th.offsetTop; tleft+=th.offsetLeft;}
	softkeyboard.style.top  = ttop+thei+16;
	softkeyboard.style.left = tleft-100;
	softkeyboard.style.display="block";
	password1.readOnly=1;
	password1.blur();
	document.all.useKey.focus();
	if(null!=hideSelect){
	
	}
}

function setCapsLock()
{
	if (CapsLockValue==0)
	{
		CapsLockValue=1
	}
	else 
	{
		CapsLockValue=0
	}
}
function setCalcborder()
{
	CalcTable.style.border="1px solid #B5ADF1"
}
function setHead()
{
	CalcTable.cells[0].style.backgroundColor="#B5ADF1"	
}
function setCalcButtonBg()
{
	for(var i=0;i<Calc.elements.length;i++)
	{
		if(Calc.elements[i].type=="button"&&Calc.elements[i].bgtype!="1")
		{
			if(Calc.elements[i].bgtype=="2"){
				Calc.elements[i].className="btn_num";
			}else{
				Calc.elements[i].className="btn_letter";
			}
			var str1=Calc.elements[i].value;
			str1=str1.trim();
			if(str1.length==1)
			{
			}
			var thisButtonValue=Calc.elements[i].value;
			thisButtonValue=thisButtonValue.trim();
			if(thisButtonValue.length==1)
			{
				Calc.elements[i].onclick=
				function ()
				{
					var thisButtonValue=this.value;
					thisButtonValue=thisButtonValue.trim();
					addValue(thisButtonValue);
				}
				Calc.elements[i].ondblclick=
				function ()
				{
					var thisButtonValue=this.value;
					thisButtonValue=thisButtonValue.trim();
					addValue(thisButtonValue);
				}
			}
		}
	}
}
function initCalc()
{
	setCalcborder();
	setHead();
	setCalcButtonBg();
}
String.prototype.trim = function()
{
	return this.replace(/(^\s*)|(\s*$)/g, "");
}
var capsLockFlag;
capsLockFlag=true;
function capsLockText()
{
if(capsLockFlag)
{
	for(var i=0;i<Calc.elements.length;i++)
	{
		var char=Calc.elements[i].value;
		var char=char.trim()
		if(Calc.elements[i].type=="button"&&char>="a"&&char<="z"&&char.length==1)
		{
			Calc.elements[i].value=" "+String.fromCharCode(char.charCodeAt(0)-32)+" "
		}
	}
}
else
{
	for(var i=0;i<Calc.elements.length;i++)
	{
		var char=Calc.elements[i].value;
		var char=char.trim()
		if(Calc.elements[i].type=="button"&&char>="A"&&char<="Z"&&char.length==1)
		{
			Calc.elements[i].value=" "+String.fromCharCode(char.charCodeAt(0)+32)+" "
		}
	}
}
capsLockFlag=!capsLockFlag;
}

function randomNumberButton(){
	var a = new Array(10);  
	a[0]=0;a[1]=1;a[2]=2;a[3]=3;a[4]=4;a[5]=5;a[6]=6;a[7]=7;a[8]=8;a[9]=9;
	var randomNum;
	var times=10;
	for(var i=0;i<10;i++){
		randomNum = parseInt(Math.random()*10);
		var tmp=a[0];
		a[0]=a[randomNum];
		a[randomNum]=tmp;
	}
	Calc.button_number0.value=" "+a[0]+" ";
	Calc.button_number1.value=" "+a[1]+" ";
	Calc.button_number2.value=" "+a[2]+" ";
	Calc.button_number3.value=" "+a[3]+" ";
	Calc.button_number4.value=" "+a[4]+" ";
	Calc.button_number5.value=" "+a[5]+" ";
	Calc.button_number6.value=" "+a[6]+" ";
	Calc.button_number7.value=" "+a[7]+" ";
	Calc.button_number8.value=" "+a[8]+" ";
	Calc.button_number9.value=" "+a[9]+" ";
}

function hideSelect(){
	var i=0;
	while(i<document.getElementsByTagName("select").length){
		document.getElementsByTagName("select")[i].style.visibility = "hidden";
		i=i+1;
	}
}

function unhideSelect(){
	var i=0;
	while(i<document.getElementsByTagName("select").length){
		document.getElementsByTagName("select")[i].style.visibility = "visible";
		i=i+1;
	}
}
/**
 * 软键盘相关方法...end...
 */


/**
 * Txt文件数据导入
 * msgNode 点击导入的按钮标签
 * dataForm 提交数据的from主键
 * schemaConstPK 常量主键
 */
function doImportTxt(msgNode,dataForm,schemaConstPK){

	//构造返回值输入框
	var resTag = document.createElement("INPUT");
	resTag.id="uploadfileallpath";
	resTag.name="filepath";
	resTag.type="hidden";
	
	showModalDialogHTML(this,'/rlm/ftpinfomanager/upload.html',resTag,300,160);
	if (resTag.value=='' || resTag.value==null){
		return false;
	}
	if (dataForm==null){
		dataForm = resTag;
	}else{
		try{
			dataForm.appendChild(resTag);
		}catch(e){}
	}
	if (msgNode!=null){
		msgNode.value = '正在导入..';
	}
	sendDataReturnText(this,'/iotxtschemaimportaction?schemaconstpk='+schemaConstPK,dataForm,null,function(msgNode){if(msgNode!=null){msgNode.value='导入完毕';}},msgNode,null,null,true);
}