var RequestForm = {};

RequestForm.ShowHide = function(){
	//alert();
	if(document.getElementById('RequestForm').style.display == ''){
		document.getElementById('RequestForm').style.display = 'none';
		document.getElementById('RequestFormCloseButton').style.display = 'none';
		document.getElementById('RequestFormOpenButton').style.display = '';
	}else{
		document.getElementById('RequestForm').style.display = '';
		document.getElementById('RequestFormOpenButton').style.display = 'none';
		document.getElementById('RequestFormCloseButton').style.display = '';
	}
	
}

RequestForm.Close = function(){

}

RequestForm.ValidateSubmit = function(sender, sCode, sFormName){
	//alert(document.getElementById('RequestForm').ValidateControls);
	if(typeof(document.getElementById('frm_RequestForm').ValidateControls) != 'undefined'){
		var bResult = document.getElementById('frm_RequestForm').ValidateControls('');
	}
	if(bResult){
		
		var sValidateCode = document.getElementById('fld_ValidationCode').value;
	
		sender.disabled = true;
		var request = new CHttpRequest();
		request.QueryString = "AjaxType=HTML&RequestFile=Blocks.RequestForm&MethodName=XValidateCode";
		request.AsyncCall = true;
		request.State = sender;
		request.AddProperty("Arguments[ValidateCode]", sValidateCode);
		request.AddProperty("Arguments[Code]", sCode);
		request.AddProperty("Arguments[sFormName]", sFormName);
		request.OnResponse = RequestForm.ValidateSubmit_Callback;
		request.Send();
	}
	
	
}

RequestForm.ValidateSubmit_Callback = function(request, state){
	//document.getElementById('RequestFormContainer').innerHTML = request.responseText;
	if(request.responseText == 0){
		var sErrorMessage = document.getElementById('fld_ValidationCode').getAttribute('serr');
		alert(sErrorMessage);
	}else{
		RequestForm.SubmitForm(state, request.responseText)
	}
	
	state.disabled = false;
}

//RequestForm.ArhiveRequest = function(sCode){
//	alert(sCode);
//}

RequestForm.SubmitForm = function(state, sCode){
	var sName = document.getElementById('ClientName').value;
	var sEmail = document.getElementById('ClientEmail').value;
	var sMessage = document.getElementById('fld_Request').value;
	var sFormName = document.getElementById('FormNameInput').value;
	
	//sender.disabled = true;
	var request = new CHttpRequest();
	request.QueryString = "AjaxType=HTML&RequestFile=Blocks.RequestForm&MethodName=XSendMail";
	request.AsyncCall = true;
	request.State = state;
	request.AddProperty("Arguments[Code]", sCode);
	request.AddProperty("Arguments[ClientName]", sName);
	request.AddProperty("Arguments[ClientEmail]", sEmail);
	request.AddProperty("Arguments[Message]", sMessage);
	request.AddProperty("Arguments[FormName]", sFormName);
	request.OnResponse = RequestForm.SubmitForm_Callback;
	request.Send();
}

RequestForm.SubmitForm_Callback = function(request, state){

	document.getElementById('RequestFormContainer').innerHTML = request.responseText;	
}

RequestForm.ArchiveRequest = function(sender, sCode, sFormName){
	var sName = document.getElementById('ClientName').value;
	var sEmail = document.getElementById('ClientEmail').value;
	var sMessage = document.getElementById('fld_Request').value;
	
	//sender.disabled = true;
	var request = new CHttpRequest();
	request.QueryString = "AjaxType=HTML&RequestFile=Blocks.RequestForm&MethodName=XArchive";
	request.AsyncCall = true;
	request.State = sender;
	request.AddProperty("Arguments[Code]", sCode);
	request.AddProperty("Arguments[ClientName]", sName);
	request.AddProperty("Arguments[ClientEmail]", sEmail);
	request.AddProperty("Arguments[Message]", sMessage);
	request.AddProperty("Arguments[FormName]", sFormName);
	request.OnResponse = RequestForm.ArchiveRequest_Callback;
	request.Send();
}

RequestForm.ArchiveRequest_Callback = function(request, state){
	
	//state.disabled = false;
}