/////////////////////////////////////////////////////////////////////////////////////////
/**
Вика се когато се сменя статуса на background без UserInterface
*/
function ChangeStatus(oButton, oEvent){
    //alert(oButton.ItemRef.hAOStatusID);
	if(typeof(oButton.ItemRef) != "undefined")
		oButton = oButton.ItemRef;

    var sAOStatus = oButton.hAOStatusID;
    var sObjectCode = oButton.hObjectCode;
	var ApplicationObject = new CBusinessObject('AOStatus', 0);
	//ApplicationObject.Debug = true;	
	//ApplicationObject.DebugInNewWindow = true;
	var arAttributes = new Array();
	arAttributes['hObjectCode'] = sObjectCode;
	arAttributes['hAOStatusID'] = sAOStatus;
	arAttributes['nRecordId'] = window.m_oSelectedRow.RowItemId;
	ApplicationObject.AssyncCall = true;
	ApplicationObject.ParseResponse = false;
	ApplicationObject.Call('XChangeStatus', arAttributes, "DisplaySummary");
}
function DisplaySummary(xmlApplicationObjectInfo){
	var Arguments = xmlApplicationObjectInfo.__ResponseXML.getElementsByTagName('__Arguments')[0];
	var sApplicationObjectCode = Arguments.getElementsByTagName('hObjectCode')[0].firstChild.text;
	var nRecordId = Arguments.getElementsByTagName('nRecordId')[0].firstChild.text;
	var nAOStatusId = Arguments.getElementsByTagName('hAOStatusID')[0].firstChild.text;
	var sUrl = "?hPopup=1&hPopupOptions=14&nAction=12183&hObjectCode=" + sApplicationObjectCode + "&nRecordId=" + nRecordId + "&hAOStatusID=" + nAOStatusId; 
	Application.ShowModalWindow(sUrl);
	window.location.reload();
    //alert(2);
    // Show Modal window
}

function CheckStatusHistoryDateCreated(sDateCreated){
	bResult = GetFormView().Validate();
	if(bResult){
		sObjectCode = Find('h_StatusHistory_ObjectCode').value;
		var ApplicationObject = new CBusinessObject('StatusHistory', sObjectCode);
		//ApplicationObject.Debug = true;
		//ApplicationObject.DebugInNewWindow = true;
		var arAttributes = new Array();
		arAttributes["DateCreated"] = sDateCreated;
		arAttributes["ApplicationObjectCode"] = sObjectCode;
		arAttributes["RecordID"] = Find('fld_StatusHistory_RecordID').value;
		arAttributes["AOStatusID"] = Find('fld_StatusHistory_AOStatusID').value;
		arAttributes["AOStatusGroupID"] = Find('h_StatusHistory_AOStatusGroupID').value;
		ApplicationObject.AssyncCall = false;
		var Result = ApplicationObject.Call('XCheckStatusHistoryDateCreated', arAttributes);
		if(Result.Valid){
			if(Result.Valid != "Valid"){
				EmptyField('fld_StatusHistory_DateCreated');
				alert(Result.ArrayResult['Message']);
			}
		}
	}
}

function CallRequestStatusChange(){
	bChange = Find('h_StatusHistory_ValidChange').value;
	if(bChange){
		bResult = GetFormView().Validate();
		if(bResult){
			sObjectCode = Find('h_StatusHistory_ObjectCode').value;
			var ApplicationObject = new CBusinessObject('StatusHistory', sObjectCode);
			//ApplicationObject.Debug = true;
			//ApplicationObject.DebugInNewWindow = true;
			var arAttributes = new Array();
			arAttributes["ApplicationObjectCode"] = sObjectCode;
			arAttributes["RecordIDs"] = Find('fld_StatusHistory_RecordID').value;
			arAttributes["AOStatusID"] = Find('fld_StatusHistory_AOStatusID').value;
			arAttributes["AOStatusGroupID"] = Find('h_StatusHistory_AOStatusGroupID').value;
			arAttributes["UserID"] = Find('fld_StatusHistory_UserID').value;
			arAttributes["RecieverID"] = Find('fld_StatusHistory_RecieverID').value;
			arAttributes["DateCreated"] = Find('fld_StatusHistory_DateCreated').value;
			arAttributes["Note"] = Find('fld_StatusHistory_Note').value;
			ApplicationObject.AssyncCall = false;
			ApplicationObject.Call('XCallRequestStatusChange', arAttributes);
		}else{
			return false;
		}
	}
	return true;
}

function SendBack(UserID){
	if(UserID > 0){
		FvwSetFieldValue('fld_StatusHistory_RecieverID', UserID);
	}else if(UserID == -1){
		alert(top.StringResources.SH_SendBackButtonMessage_SystemUser);
	}else{
		alert(top.StringResources.SH_SendBackButtonMessage);
	}
}
