function CMqFld110(strID,strCtl,strFraLst,oCenMn, objRecDoc, objFldExt, strLayout)
{
	var DEF_SORT_COL=1;
	var m_lngSortCol;
	var m_strSort;
	var m_strCtl=strCtl;
	var m_strFraLst=strFraLst; 
	var m_oCenMn=oCenMn;
	var m_strID=strID;
	var m_objRecDoc=objRecDoc;
	var m_objFldExt=objFldExt;
	var m_strLayout=strLayout;

	function Load(lngSortCol, strSort, blnResetTmpID)
	{
		var blnCallGeneric=true;
		if(objFldExt){
			if(objFldExt.Load){
				objFldExt.Load(lngSortCol, strSort, this);
				blnCallGeneric=false;
			}
		}
		
		if(blnCallGeneric){
			var relVal=m_objRecDoc.getElementById(m_strCtl).value;
			if (!lngSortCol){
				lngSortCol=DEF_SORT_COL;
			}
			if (!strSort){
				strSort="";
			}

			if (blnResetTmpID){
				SetTempRecID("");
			}
			
			var strLayout="";
			if(m_strLayout){
				strLayout="&Lay=" + m_strLayout;			
			}
			m_objRecDoc.getElementById(m_strFraLst).src="../asp/1tMlst.asp?DT=110&Q_R1_F=" + m_strID + "&QID=2&Q_R1_V=" + 
						CurrentRecID() + "&S_R1_F=" + lngSortCol + "&S_R1_O=" + strSort + "&ID=" + m_strID + strLayout;
						
			m_lngSortCol=lngSortCol;
			m_strSort=strSort;
		}
	}

	function RemoveR()
	{
		if (IsEditable()){	
			var blnCallGeneric=true;
			if(objFldExt){
				if(objFldExt.RemoveR){
					objFldExt.RemoveR(this);
					blnCallGeneric=false;
				}
			}
			
			if(blnCallGeneric){
				
				var fraLst=window.frames[m_strFraLst];
				if (fraLst){// && fraLst.SelectedItem){
					if(fraLst.grid){
					var SelRowID=fraLst.grid.getSelectedRowId();
					if (SelRowID){
						if (window.confirm(g_MqRef.RESX['WARNING_MESSAGE_REMOVE_ITEM'])){
							var co = parent.objRequest.Get(parent.mstrCurrentLocation + "wcActItem.asp?wci=wcRemAI&pid=" + CurrentRecID() + "&fid=" + 
								m_strID + "&rid=" + SelRowID);


							if (co!=parent.objRequest.CANCEL_PROCESS){

								var objResponse=parent.objRequest.Response(co);
																
								if (objResponse){
									if (objResponse.HasErrors()){
										objResponse.ProcessErrors("",true,window);
									}else{
										this.Load();
									}
								}
							}
						}
					}
					}
				}
			}
		}
	}

	function AddR(strTmpl, arrQSFields)
	{
		if (IsEditable()){
			
			var blnCallGeneric=true;
			if(objFldExt){
				if(objFldExt.AddR){
					objFldExt.AddR(strTmpl, this);
					blnCallGeneric=false;
				}
			}
					
			if(blnCallGeneric){
				var strAddQS="";
				if(arrQSFields)
				{
					strAddQS=GetAddQS(arrQSFields);				
				}

				m_oCenMn.OpenModalWindow("wcActItem.asp?wci=wcAIEditor&ac=ad&pid=" + CurrentRecID() + "&fid=" + 
						m_strID + strAddQS + "&Tmpl=" + g_MqRef.MqStr.MqEncodeURIComponent(strTmpl), 700,600, false);	
			}
		}
	}
	
	function EditR(strTmpl, arrQSFields)
	{
		if (IsEditable()){
			
			var blnCallGeneric=true;
			if(objFldExt){
				if(objFldExt.EditR){
					objFldExt.EditR(strTmpl, this);
					blnCallGeneric=false;
				}
			}
		
			if(blnCallGeneric){
				var fraLst=window.frames[m_strFraLst];
				if (fraLst){// && fraLst.SelectedItem){
					if(fraLst.grid){
						var SelRowID=fraLst.grid.getSelectedRowId();
						if(SelRowID){
							var strAddQS="";
							if(arrQSFields)
							{
								strAddQS=GetAddQS(arrQSFields);				
							}
							
							m_oCenMn.OpenModalWindow("../html/wcActItem.asp?wci=wcAIEditor&ac=ed&pid=" + CurrentRecID() + 
								"&rid=" + SelRowID + "&fid=" + m_strID + strAddQS + "&Tmpl=" + g_MqRef.MqStr.MqEncodeURIComponent(strTmpl),
								700,600, false);
						}else{
							alert(g_MqRef.RESX['WARNING_MESSAGE_SELECT_VALID_ITEM']);
						}
					}
				}
			}
		}
	}
	
	function SortColumn(Col)
	{
		var strSort="";
		if (Col==m_lngSortCol){
			if(!m_strSort){
				strSort="DESC";
			}
		}
		Load(Col, strSort);
	}
	
	function IsEditable()
	{
		if(CurrentRecID() == 0){
			return false;
		}else{
			return true;
		}
	}
	function CurrentRecID()
	{
		var tmpID=TempRecID();
		if (!tmpID){
			if(m_oCenMn.objRecord){
				tmpID=m_oCenMn.objRecord.GetRecordId();
			}
		}
		return tmpID;
	}
			
	function TempRecID()
	{
		return document.getElementById(m_strCtl).value;
	}
			
	function SetTempRecID(strVal)
	{
		document.getElementById(m_strCtl).value=strVal;
	}
	
	function GetAddQS(arrFields)
	{					
		var strQS="";
		
		for(var x=0; x<arrFields.length; x++){
			strQS+="&" + arrFields[x] + "=" + GetValue(arrFields[x]);			
		}
		return strQS;
	}
	
	function GetValue(lngFieldID)
	{
		var objField=m_oCenMn.m_objViewFields.Field(lngFieldID);
		if (objField){
			var objFormElement=new CMqFormElement();
			var lngCtrlType=objField.GetControlType();
			objFormElement.Initialize(objField.GetBoundControl(),lngCtrlType,'document');
			return objFormElement.GetValue();
		}
	}
	
	this.SortColumn=SortColumn;
	this.Load=Load;
	this.AddR=AddR;
	this.EditR=EditR;
	this.RemoveR=RemoveR;
	this.CurrentRecID=CurrentRecID;
	this.SetTempRecID=SetTempRecID;
}