var ligne;
var regx;
function loadAllowedValues(param,requestId,object,sessionId,index){
ligne=param;
regx=object;
	try{
	if(index=='-1'){
	  viewParamsService.getParamAllowedValues(param,requestId,getParamsArray(),sessionId,showAllowedValues);
	  }else{
	  viewParamsService.getParamAllowedValues(param,requestId,getParamsArray(index),sessionId,showAllowedValues);
	  }
	}catch(err){
	 alert("load Allowed Values: " + err);		
	}
}
function loadAllowedValuesForButton(param,requestId,object,sessionId,index){
ligne=param;
regx=object;
	try{
	//alert(param +" , " + requestId+ " ,  " + object + ", "+ sessionId + ", " + index);
	if(index=='-1'){
	  viewParamsService.getParamAllowedValues(param,requestId,getParamsArray(),sessionId,showAllowedValuesForButton);

	  }else{
	  viewParamsService.getParamAllowedValues(param,requestId,getParamsArray(index),sessionId,showAllowedValuesForButton);

	  }

	}catch(err){
	 alert("viewParamsService: " + err);		
	}
}
function getAllowedValuesByButton(param,requestId,object_name,sessionId,index){
var object=document.getElementsByName(object_name)[0]; 
var newObject=new Object();
newObject.name=object.name;
newObject.x=getXY(object).x;
newObject.y=getXY(object).y;
newObject.value='';
//alert(requestId);
loadAllowedValuesForButton(param,requestId,newObject,sessionId,index);
}

function showAllowedValues(res){

    try{
      if(res.length > 0){
				
		var existOneElement=false;
		var pTextBody = '';	   
    	for(var i=0 ; i< res.length ; i++){
    	 if(regx.value != '' && (res[i].toLowerCase()).startsWith(regx.value.toLowerCase())){
    	 existOneElement=true;
			if(i%2==0){
				pTextBody = pTextBody+'<tr onMouseOver="this.style.background=\'lightblue\';" onMouseOut="this.style.background=\'#FFFFFF\';">';							
			}else{
				pTextBody = pTextBody+'<tr bgcolor="#dbe4e8" onMouseOver="this.style.background=\'lightblue\';" onMouseOut="this.style.background=\'#dbe4e8\';">';
			}
			pTextBody=pTextBody+'<td> <a href="javascript:setParamValue(\''+regx.name+'\',\''+res[i]+'\')">'+res[i]+'</a></td>'
			+'</tr>';
		  }
		}
		if(existOneElement){
		var pTextHeader='<table>';
		pTextHeader= pTextHeader + '<tr bgcolor="#84939a">'
			   +'<td></td>'
			   +'</tr>';
		var pTextFooter='<tr><td>&nbsp;</td></tr>';
		pTextFooter= pTextFooter+'</table>';
		var pText = pTextHeader+pTextBody+pTextFooter;
		DpTip(pText, SHADOW, true, FADEIN, 0, FADEOUT, 50, STICKY, 1,  true,  false,CLOSEBTN,true,FIX, [getXY(regx).x,16+getXY(getXY(regx)).y]);
		}
	 }
	}catch(err){
	  alert("show all allowed Values: " + err);
	}
}

function showAllowedValuesForButton(res){
	//alert("showAllowedValuesForButton");
    try{
      if(res.length > 0){
				
		var existOneElement=false;
		var pTextBody = '';	   
    	for(var i=0 ; i< res.length ; i++){
    	 if(regx.value == ''){
    	 existOneElement=true;
			if(i%2==0){
				pTextBody = pTextBody+'<tr onMouseOver="this.style.background=\'lightblue\';" onMouseOut="this.style.background=\'#FFFFFF\';">';							
			}else{
				pTextBody = pTextBody+'<tr bgcolor="#dbe4e8" onMouseOver="this.style.background=\'lightblue\';" onMouseOut="this.style.background=\'#dbe4e8\';">';
			}
			pTextBody=pTextBody+'<td> <a href="javascript:setParamValue(\''+regx.name+'\',\''+res[i]+'\')">'+res[i]+'</a></td>'
			+'</tr>';
		  }
		}
		if(existOneElement){
		var pTextHeader='<table>';
		pTextHeader= pTextHeader + '<tr bgcolor="#84939a">'
			   +'<td></td>'
			   +'</tr>';
		var pTextFooter='<tr><td>&nbsp;</td></tr>';
		pTextFooter= pTextFooter+'</table>';
		var pText = pTextHeader+pTextBody+pTextFooter;
		DpTip(pText, SHADOW, true, FADEIN, 0, FADEOUT, 50, STICKY, 1,  true,  false,CLOSEBTN,true,FIX, [getXY(regx).x,16+getXY(getXY(regx)).y]);
		}
	 }
	}catch(err){
	  alert("show Allowed Values For Button: " + err);
	}
}

function setParamValue(obj,value){
	//alert(obj.name +", value=" + value);
	document.getElementsByName(obj)[0].value=value;
	if(regx!=null){
	  if(regx.name == 'requestName'){
	    loadRequest (value,'groupModel.groupQuery','groupQueryParamDescription','requestGroupDescription');
	  }
	  if(regx.name == 'conditionRequestName'){
	    loadRequest (value,'groupModel.conditionQuery','conditionQueryParamDescription','conditionDescription');
	  }
	  if(regx.name == 'emailComponentModel.componentName'){
	    loadEmailComponentByName (value);
 	  }
	}
	closeDpDiv();
}
function closeDpDiv(){
  dp_HideInit();
  UnDpTip();
}


var partToChange;
var descriptionToChange;
function loadRequest (requestName,partToBeLoaded,descriptionToBeLoad,remarkToBeLoad){
  if(requestName != null && requestName != ''){
    try{
        partToChange=partToBeLoaded;
        descriptionToChange=descriptionToBeLoad;
        remarkToChange=remarkToBeLoad;
      requestService.getRequestModelByName(requestName,fillPart);
    }catch(err){
      dwr.util.setValue(partToChange,'');
			dwr.util.setValue(descriptionToChange,'');
			dwr.util.setValue(remarkToChange,'');
			dwr.util.setValue(descriptionToChange+'Div','');
    }
  }else{
    dwr.util.setValue(partToChange,'');
    dwr.util.setValue(descriptionToChange,'');
    dwr.util.setValue(remarkToChange,'');
    dwr.util.setValue(descriptionToChange+'Div','');
  }
}
function fillPart( res ) {
  try{
    dwr.util.setValue(partToChange,res.requestBody);
    dwr.util.setValue(descriptionToChange,res.requestDescription);
    dwr.util.setValue(descriptionToChange+'Div',res.requestDescription);
    dwr.util.setValue(remarkToChange,res.requestRemarque);
  }catch(err){
    dwr.util.setValue(partToChange,'');
			dwr.util.setValue(descriptionToChange,'');
			dwr.util.setValue(remarkToChange,'');
			dwr.util.setValue(descriptionToChange+'Div','');
  }
 }
  function loadEmailComponentByName (componentName){
  if(componentName != null && componentName != ''){
    try{
        
      componentService.getEmailComponentByName(componentName,fillComponent);
    }catch(err){
      		    dwr.util.setValue('emailComponentModel.componentValue','');
    }
  }else{
       dwr.util.setValue('emailComponentModel.componentValue','');
  }
}
function fillComponent( res ) {
  try{
    dwr.util.setValue('emailComponentModel.componentValue',res.componentValue);
    
  }catch(err){
    dwr.util.setValue('emailComponentModel.componentValue','');
			
  }
 }


/*
id=param8_107_2338 //param/request and request/page
name=state_2338
value=IN PROCESS

obj1 id: param8_107_2338_default (oldstatus)
obj2 id: param2_107_2338 (type)
*/
function ptsdd (inputObj,obj1,obj2,obj3,obj4,obj5,obj5,obj6,obj7,obj8,obj9,obj10,obj11,obj12,obj13,obj14) {
  regx=null; //used in old version of pts dropdown
  var dpParamsAr=new Array();
  var i =0;
  var obj1_param=getObjParam(obj1,1);
  if(obj1_param != "") dpParamsAr[i++]=obj1_param;
  var obj2_param=getObjParam(obj2,1);
  if(obj2_param != "") dpParamsAr[i++]=obj2_param;
  var obj3_param=getObjParam(obj3,1);
  if(obj3_param != "") dpParamsAr[i++]=obj3_param;
  var obj4_param=getObjParam(obj4,1);
  if(obj4_param != "") dpParamsAr[i++]=obj4_param;
  var obj5_param=getObjParam(obj5,1);
  if(obj5_param != "") dpParamsAr[i++]=obj5_param;
  var obj6_param=getObjParam(obj6,1);
  if(obj6_param != "") dpParamsAr[i++]=obj6_param;
  var obj7_param=getObjParam(obj7,1);
  if(obj7_param != "") dpParamsAr[i++]=obj7_param;
  var obj8_param=getObjParam(obj8,1);
  if(obj8_param != "") dpParamsAr[i++]=obj8_param;
  var obj9_param=getObjParam(obj9,1);
  if(obj9_param != "") dpParamsAr[i++]=obj9_param;
  var obj10_param=getObjParam(obj10,1);
  if(obj10_param != "") dpParamsAr[i++]=obj10_param;
  var obj11_param=getObjParam(obj11,1);
  if(obj11_param != "") dpParamsAr[i++]=obj11_param;
  var obj12_param=getObjParam(obj12,1);
  if(obj12_param != "") dpParamsAr[i++]=obj12_param;
  var obj13_param=getObjParam(obj13,1);
  if(obj13_param != "") dpParamsAr[i++]=obj13_param;
  var obj14_param=getObjParam(obj14,1);
  if(obj14_param != "") dpParamsAr[i++]=obj14_param;


  //alert("param=" + getObjParam(inputObj) + ", request_id="+ getDpRequestId(inputObj) +" dpParamsAr="+ dpParamsAr);
  try{
     dropdownService.run(getDpRequestId(inputObj),getObjParam(inputObj),dpParamsAr,fillPtsDD);
  }catch(err){
         alert("load all allowed Values: " + err);
  }
  function fillPtsDD( res) {
  //alert(inputObj.id);
  try{
    if(res == null) return;
    if(res.returnedObjects== null) return;
    var existOneElement=false;
    var pTextBody = '<table><tr bgcolor="#84939a"><td></td></tr>';
    //alert(res.returnedObjects);
    for(var i=0 ; i< res.returnedObjects.length ; i++){
      existOneElement=true;
      if(i%2==0){
        pTextBody = pTextBody+'<tr onMouseOver="this.style.background=\'lightblue\';" onMouseOut="this.style.background=\'#FFFFFF\';">';
      }else{
        pTextBody = pTextBody+'<tr bgcolor="#dbe4e8" onMouseOver="this.style.background=\'lightblue\';" onMouseOut="this.style.background=\'#dbe4e8\';">';
      }
      pTextBody=pTextBody+'<td> <a href="javascript:setDDValue(\''+inputObj.name+'\',\''+res.returnedObjects[i]+'\')">'+res.returnedObjects[i]+'</a></td>'+'</tr>';
    }
    if(existOneElement){
      var pTextFooter='<tr><td>&nbsp;</td></tr></table>';
      var pText = pTextBody+pTextFooter;
      DpTip(pText, SHADOW, true, FADEIN, 0, FADEOUT, 50, STICKY, 1,  true,  false,CLOSEBTN,true,FIX, [getXY(inputObj).x,16+getXY(getXY(inputObj)).y]);
    }
  }catch(err){
    alert("show dropdown list: " + err);
  }
  }
}
function setDDValue(obj,value){
  document.getElementsByName(obj)[0].value=value;
  closeDpDiv();
}

function getObjParam(obj,appendVal){
  var obj_param="";
  if (obj != null) {
	//alert("getObjParam:" + obj.id+ ",   index=" + obj.id.indexOf("_")+ ", value=" + obj.value);
        obj_param=obj.id.substring(0,obj.id.indexOf("_")) ;
	if(appendVal==1) {
		obj_param=obj_param+"_"+obj.value;
	}
  }
  return obj_param;
}
function getDpRequestId(obj){
  var obj_reqId="";
  obj_reqId=obj.id.substring(getObjParam(obj).length+1,obj.id.length);	
  obj_reqId=obj_reqId.substring(0,obj_reqId.indexOf("_"));	
  return obj_reqId;
}

