/**
 * @author yangwenhai
 * 作为浏览器页面加载前的Script执行
 */

/**
 * BXQ 对象为项目的个页面的common对象，封装了常用的方法
 */
var BXQ=new Object();
//页面跳转
BXQ.isUpdated=false;
//页面声明写锁
BXQ.writelockFlag=false;
BXQ.domain=null;
//标示页面为正常跳转，非关闭动作,用于点击页面关闭按钮的自动注销动作
BXQ.normalJump=false;

BXQ.jump=function(href,rememberScroll){
	if(BXQ.isUpdated){
		if(!confirm('该操作可能会造成页面已修改的数据丢失，是否继续？')){
			return false;
		}
	}
	if(rememberScroll) rememberScrollVertical();
	if(BXQ.writelockFlag) setWriteLockPosCode();
	window.location.href=href;
	return false;
};
BXQ.jumpNoContext=function(href,rememberScroll){
	return BXQ.jump(BXQ.contextPath+href,rememberScroll);
};
BXQ.frameJump=function(href,rememberScroll){
	if(BXQ.isUpdated){
		if(!confirm('该操作可能会造成页面已修改的数据丢失，是否继续？')){
			return false;
		}
	}
	if(rememberScroll) rememberScrollVertical();
	if(BXQ.writelockFlag) setWriteLockPosCode();
	window.parent.location.href=BXQ.appendUrlParam(BXQ.contextPath+href,'sysFrameOpen','Y');
	return false;
}
BXQ.appendUrlParam=function(url,paramName,paramValue){
	if(url.indexOf('?')<0){
		return url+'?'+paramName+'='+paramValue;
	}else{
		return url+'&'+paramName+'='+paramValue;
	}
}

/**
 * 创建一个radio的HTML字符串
 */
BXQ.buildRadio=function(name,id,value,disabled,newName){
	if(name==null){
		alert('name must be input in buildRadio method');
	}
	if(id==null){
		if(newName){
			id = newName;
		}else{
			id = name;	
		}
	}
	var f=new Function('','return sys'+name+'RadioJsonObject;' );
	var data=f();
	if(data==null){
		alert(name+' radio data not found ');
	}
	var radioHtml='';
	for(var i=0;i<data.length;i++){
		radioHtml+='<input type="radio" ';
		if(newName){
			radioHtml+='name="'+newName;
		}else{
			radioHtml+='name="'+name;
		}
		radioHtml+='" id="'+id+i;
		radioHtml+='" value="'+data[i].key;
		radioHtml+='" ';
		if(value==data[i].key){
			radioHtml+=' checked ';
		}
		if(disabled){
			radioHtml+=' disabled ';
		}
		radioHtml+='/>';
		radioHtml+=data[i].lable;
	}
	return radioHtml;
}
/**
 * 创建一个select input的HTML字符串
 */
BXQ.buildSelect=function(name,id,value,disabled,newName){
	if(name==null){
		alert('name must be input in buildSelect method');
	}
	if(id==null){
		if(newName){
			id = newName;
		}else{
			id = name;	
		}
	}
	var f=new Function('','return sys'+name+'SelectJsonObject;' );
	var data=f();
	if(data==null){
		alert(name+' select data not found ');
	}
	var selectHtml='<select name="';
	if(newName){
		selectHtml += newName + '" ';
	}else{
		selectHtml += name + '" ';
	}
	selectHtml += 'id="';
	selectHtml += id+'" ';
	if(disabled){
		selectHtml += ' disabled '
	}
	selectHtml += '>';
	for(var i=0;i<data.length;i++){
		selectHtml+='<option';
		selectHtml+=' value="'+data[i].key;
		selectHtml+='" ';
		if(value==data[i].key){
			selectHtml+=' selected ';
		}
		selectHtml+='>';
		selectHtml+=data[i].lable;
		selectHtml+='</option>';
	}
	selectHtml+="</select>"
	return selectHtml;
}
BXQ.unloadfuns=new Array();
BXQ.loadfuns=new Array();
BXQ.regeditUnload=function(unloadfun){
	BXQ.unloadfuns[BXQ.unloadfuns.length]=unloadfun;
}
BXQ.regeditLoad=function(loadfun){
	BXQ.loadfuns[BXQ.loadfuns.length]=loadfun;
}
BXQ.runLoad=function(){
	if(BXQ.loadfuns){
		for(var i=0;i<BXQ.loadfuns.length;i++){
			var loadfun=BXQ.loadfuns[i];
			loadfun.call(window);
		}
	}
}
BXQ.runUnload=function(){
	if(BXQ.unloadfuns){
		for(var i=0;i<BXQ.unloadfuns.length;i++){
			var unloadfun=BXQ.unloadfuns[i];
			unloadfun.call(window);
		}
	}
}
