var oDepartmentSelect ;
var oPositionSelect ;

/**
*用于存储管理员操作编号1：部门，2：职位，3：员工
*11：部门查询 12：部门添加，13：部门修改，
*21：职位查询 22：职位添加，23名称修改,24：职位修改，
*31：员工查询 32：员工添加，33：员工修改，34:职位增加 ,35:职位删除
*/
var operationMark;
var divCart;
var empModSate = false;//员工修改状态
var common = new Common();
function changeDiv(str){
	//var common = new Common();
	if($(divCart)){
		$(divCart).style.display = 'none';
	}
	divCart = 'cart'+str;
	var url = '../main/!changeDiv.do';
	//$(divCart).style.display = 'block';
	new Ajax.Request(url, {
		method: 'post',
		parameters:{
			divIndex:str
		},
		onComplete: function(transport){
			var result =  transport.responseText;// eval( '(' + transport.responseText + ')' );
			$('right_content').innerHTML = result;
			common.changeDiv(str);

		}
	});
}
function changeDIvOnly(str){
	if($(divCart)){
		$(divCart).style.display = 'none';
	}
	operationMark = str;
	divCart = 'cart'+str;
	var url = '../main/!changeDiv.do';
	new Ajax.Request(url, {
		method: 'post',
		parameters:{
			divIndex:str
		},
		onComplete: function(transport){
			var result =  transport.responseText;// eval( '(' + transport.responseText + ')' );
			$('right_content').innerHTML = result;
			common.myInitData();
		}
	});
}
function Common(){
}

Common.prototype.changeDiv = function(str){
	//alert(str);
	//clearDepartmentDiv();
	//clearPositionDiv()
	
	
	var url='';
	operationMark = str;
	
	switch (str) {
		case '11' ://部门查询
			this.myInitData();
			url='../department/!create.do';
			return;
		case '12' ://部门添加
			url='../department/!create.do';		   		
			break;
		case '13' ://部门修改
			url='../department/!update.do';		   		
			break;
		case '14' ://查询历史部门（已删除的部门）
			findNextDepartment();
			return;
		/******************************************/
		case '21' ://职位查询
			this.myInitData();
			url='../position/!create.do';
			return;
		case '22' ://职位添加
			url='../position/!create.do';
			break;
		case '23' ://名称修改
			url='../position/!update.do';
			break;
		case '24' ://职位修改
			this.myInitData();
			//url='../position/!update.do';
			return;		   		
			//break;
		/******************************************/
		case '31' ://员工查询
			
			url='../employee/!search.do';		   		
			break;
		case '32' ://员工添加
			url='../employee/!create.do';		   		
			break;
		case '33' ://员工修改
			url='../employee/!updatePosition.do';		   		
			break;
		case '34' ://职位增加
			url='../positionemployee/!addPosition.do';		   		
			break;
		case '35' ://职位删除
			url='../positionemployee/!delPosition.do';		   		
			break;
		/******************************************/
		case '41' ://下属查询
			this.myInitData();
			return;	
		case '42' ://下属添加
			this.myInitData();
			return;	
		/******************************************/
		case '51' ://下属查询
			this.myInitData();
			return;	
		case '52' ://下属添加
			this.myInitData();
			return;	
		/******************************************/
		case '91' ://我的绩效
			EvaluationMine.showPlanList('0');
			return;
		case '92' ://考核下属
			EvaluationCheck.doSearchUn();   	
			return;
		case '93' ://
			this.myInitData();
			return;
		case '94' ://
			EvaluationApprove.doQueryELByPid();	   		
			return;
		default ://
			//url='../department/!create.do'
			break;
	} 
	new Ajax.Request(url, {
		method: 'post',
		parameters:{
			//dosearchname:'doSearchEmployee'
		},
		onComplete: function(transport){
		var result =  transport.responseText;// eval( '(' + transport.responseText + ')' );
			$('div_cart').innerHTML = result;

		}
	});
	this.myInitData();
}
Common.prototype.getRadioValue = function(item){
    var a = document.getElementsByName(item);
    for (var i=0; i<a.length; i++){
      if (a[i].checked){ 
         return a[i].value; 
      }
    }
}

/*if(window.XMLHttpRequest){//Firefox
}else if(window.ActiveXObject){//IE
}*/

Common.prototype.clearDepartmentDiv = function (){
	for(var i = 2;i <= 6; i++){
		$('oDiv'+i).innerHTML = '';
	}
}
Common.prototype.clearPositionDiv = function (){
	for(var i = 1;i <= 6; i++){
		$('oDivPosition'+i).innerHTML = '';
	}
}


Common.prototype.myInitData = function (){
	var url='../department/!doInit.do';
	new Ajax.Request(url, {
		method: 'post',
		parameters: {selectid:'select_1',parameters:'this'},
		onComplete: function(transport){
			var result =   transport.responseText;// eval( '(' + transport.responseText + ')' );
			$('oDiv1').innerHTML = result;
			//alert(document.getElementById('oDiv1'));
			//new Common().clearDepartmentDiv();
		}
	});
}

Common.prototype.drag = function (o){
	o.onmousedown=function(a){
		var d=document;
		if(!a)a=window.event;
		var x=a.layerX?a.layerX:a.offsetX,y=a.layerY?a.layerY:a.offsetY;
		if(o.setCapture){
			o.setCapture();
		}else if(window.captureEvents){
			window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
		}
		d.onmousemove=function(a){
			if(!a)a=window.event;
			if(!a.pageX)a.pageX=a.clientX;
			if(!a.pageY)a.pageY=a.clientY;
			var tx=a.pageX-x,ty=a.pageY-y;
			o.style.left=tx;
			o.style.top=ty;
		};

		d.onmouseup=function(){
			if(o.releaseCapture){
				o.releaseCapture();
			}else if(window.captureEvents){
				window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
			}
			d.onmousemove=null;
			d.onmouseup=null;
		};
	};
}
/**
 * 动态创建text、textarea
 * @param elementName：元素名称
 * @param cols：列数
 * @param rows：行数
 * @param target：目标（div id）
 * @param plans_id：
 * 使用方法:
 * var pp = createFunction(obj,'callBack','parameter1');
 * new Common().dynamicFill('textarea','5','4','div123',pp);
 * obj 为callBack方法的宿主对象引用
 * callBack 当失去焦点时调用的方法
*/
Common.prototype.dynamicFill = function (elementName,cols,rows,target,callBackFunc){
	var eText;
	if(elementName == 'text'){
		eText = document.createElement('input');
		eText.type = elementName;	
		eText.size = cols;
	}else if(elementName == 'textarea'){
		eText = document.createElement('textarea');
		eText.cols = cols;
		eText.rows = rows;
	}else{
		return;
	}
	eText.id = 'df_'+target;
	
	if($(eText.id))return;
	
	eText.value = $(target).innerHTML;
	
	$(target).innerHTML = '';
	
	addEvent(eText,'blur',callBackFunc);
	
	$(target).appendChild(eText);
}


Common.prototype.writeInput = function (divId,plans_id){
	
	var pp = createFunction(common,'savaPlansField2','../plans/!savaField.do',plans_id,'df_'+divId,divId,$(divId).innerHTML);
	common.dynamicFill('text',5,1,divId,pp);
}
Common.prototype.writeInput2 = function (divId,plans_id){
	
	var eText = document.createElement('input');
	eText.id = 'text'+divId;
	
	if($(eText.id))return;
	
	comCallBack = new ComCallBack();
	comCallBack.textId = eText.id ;
	comCallBack.plans_id = plans_id;
	comCallBack.divId = divId ;
	comCallBack.oldValue = $(divId).innerHTML;
	
	eText.type = 'text';
	eText.size = '5';
	eText.value = $(divId).innerHTML;
	$(divId).innerHTML = '';
	//eText.blur = createFunction(common,'aa','bb');
	
	if(document.addEventListener){//mozila
		eText.addEventListener('blur',comCallBack.callBack,false);
	}else if(document.attachEvent){//iE
		eText.attachEvent('onblur',comCallBack.callBack);
	}
	$(divId).appendChild(eText);
}
var comCallBack;
function ComCallBack(){
	var oldValue;
	var fieldName;
	var divId;
	var textId;
	var plans_id;
}
ComCallBack.prototype.callBack = function (){
	common.savaPlansField();
}
/**
*保存单个字段
*
*/
Common.prototype.savaPlansField2 = function (actionUrl,plans_id,textId,divId){
	alert("上级评分为："+$F(textId));//上级评弹出提示框
	var url=actionUrl;
	new Ajax.Request(url, {
		method: 'post',
		parameters: {
			id:plans_id,
			higherup_evaluate : $F(textId)
		},
		onComplete: function(transport){
			var result = eval( '(' + transport.responseText + ')' );
			if(result.isOK){
				$(divId).innerHTML = $F(textId);
			}else{
				$(divId).innerHTML = oldValue;
			}
		}
	});

}
/**
*保存单个字段
*
*/
Common.prototype.savaPlansField = function (){
	if(comCallBack.oldValue == $F(comCallBack.textId)){
		$(comCallBack.divId).innerHTML = comCallBack.oldValue;
		return;
	}
	//var localVerify = new LocalVerify();
	/*if(!(localVerify.higherupEvaluate($F(comCallBack.textId)))){
		//alert(localVerify.higherupEvaluate($F(comCallBack.textId)));
		$(comCallBack.divId).innerHTML = comCallBack.oldValue;
		return;
	}*/
	var url='../plans/!savaField.do';
	new Ajax.Request(url, {
		method: 'post',
		parameters: {
			id:comCallBack.plans_id,
			higherup_evaluate:$F(comCallBack.textId),
			fuc:'2'
		},
		onComplete: function(transport){
			var result = eval( '(' + transport.responseText + ')' );
			if(result.isOK){
				$(comCallBack.divId).innerHTML = $F(comCallBack.textId);
			}else{
				$(comCallBack.divId).innerHTML = comCallBack.oldValue;
			}
		}
	});

}
function createFunction(obj,strFunc){
      var args=[];
      if(!obj)obj=window;
      for(var i=2;i<arguments.length;i++){
      	args.push(arguments[i]);
      }
      return function(){
            obj[strFunc].apply(obj,args);
      }
}

var purview;
function Purview(oper){
	this.operation = oper;
}

function addEvent(obj,type,fn){
    if(obj.addEventListener){
		obj.addEventListener(type,fn,false);
	}else if(obj.attachEvent){
        obj["e"+type+fn] =fn;
        obj[type+fn] = function(){
			obj["e"+type+fn](window.event);
		}
        obj.attachEvent("on"+type,obj[type+fn]);
    }
}

function removeEvent(obj,type,fn){
  if(obj.removeEventListener) obj.removeEventListener(type,fn,false);
  else if(obj.detachEvent){
    obj.detachEvent("on"+type,obj[type+fn]);
    obj[type+fn]=null;
    obj["e"+type+fn]=null;
  }
}




