﻿var ErrorMessage = "";
var Error_RequiredField = "- Please enter fields marked with (*)";
var Error_Email = '- Oops! Check your email address';
var Error_Captcha = '- We need the code it helps stop spam';
var Error_Job = '- Please specify your job';
var Error_SelectedTraining = '- Please select an event';
var strJobList = "";
var strTrainingList = "";
var strSelectedTrainingList = "";
var blnTrainingError = false;

function WS_Training(params)
{
	glbXmlRequest = new AkimanXmlHTTP(getID(strLoadingDiv),getID(strDebugDiv));
	var soapData = SoapDataBuilder("TrainingService",params);	
	AjaxRequest("/Mod/Training/WS_Training.asmx",soapData,"",strLoadingDiv);	
}

function SaveTraining(lngStoryID)
{
    var	params = CustomParamBuilder("strOperation", "SaveTraining");
    params += CustomParamBuilder("lngObjectID", lngStoryID);
    params += parseAspForm();
    WS_Training(params);
    return !blnTrainingError;
}

function EditTraining(lngStoryID)
{
    var	params = CustomParamBuilder("strOperation", "EditTraining");
    params += CustomParamBuilder("lngObjectID", lngStoryID);
    params += parseAspForm();
    WS_Training(params);
}
function RemoveTraining(lngStoryID)
{
    var	params = CustomParamBuilder("strOperation", "RemoveTraining");
    params += CustomParamBuilder("lngObjectID", lngStoryID);
    WS_Training(params);
}
function DeleteTraining(lngStoryID)
{
    var	params = CustomParamBuilder("strOperation", "DeleteTraining");
    params += CustomParamBuilder("lngObjectID", lngStoryID);
    WS_Training(params);
}
function CancelEditTraining(lngStoryID)
{
    var	params = CustomParamBuilder("strOperation", "CancelEditTraining");
    params += CustomParamBuilder("lngObjectID", lngStoryID);
    params += parseAspForm();
    WS_Training(params);
}
function Training_RefreshList()
{      
    Display("Training_RefreshList");
    NoDisplay("TrainingContainer");
    setTimeout("Display('TrainingContainer')",1000);
    setTimeout("NoDisplay('Training_RefreshList')",1000);
}

function SaveBook()
{
    NoDisplay("Error");
    ErrorMessage = "";
    if (ControlBook())
    {
        var	params = CustomParamBuilder("strOperation", "SaveBook");
        params += CustomParamBuilder("strJobList", strJobList);
        params += CustomParamBuilder("strSelectedTrainingList", strSelectedTrainingList);
        params += parseAspForm();
        WS_Training(params);
    }
}
function GetCheckboxList(strCheckBoxName, strSeparator, intCount)
{
    var strReturn = "";
    var arrCheckBox = GetAspFormField(strCheckBoxName);
    for (var i=0; i<intCount; i++)
    {
        if (arrCheckBox[i].checked) 
        {
              strReturn = strReturn + arrCheckBox[i].value + strSeparator;
        }
    }
    return strReturn;
}
function ControlBook()
{
    var strTitle = GetAspFormField("strTitle");
    var strFirstname = GetAspFormField("strFirstname");
    var strLastname = GetAspFormField("strLastname");
    var strOrganisation = GetAspFormField("strOrganisation");
    var strPosition = GetAspFormField("strPosition");
    var strAddress = GetAspFormField("strAddress");
    var strPostcode = GetAspFormField("strPostcode");
    var strTelephone = GetAspFormField("strTelephone");
    var strEmail = GetAspFormField("strEmail");
    strSelectedTrainingList = GetSelectedTrainingList();
    strJobList = GetCheckboxList("strJob", ", ", 8)+GetAspFormField("strOtherJob").value + ", ";
    strJobList = strJobList.substring(0, strJobList.length - 2);//remove last comma(,)
    if ((strFirstname.value.length <= 0)||(strLastname.value.length <= 0)||(strOrganisation.value.length <= 0)||(strAddress.value.length <= 0)||(strPostcode.value.length <= 0)||(strTelephone.value.length <= 0)||(strEmail.value.length <= 0))
    {
       ErrorMessage += "<p>"+Error_RequiredField+"</p>";
    }
    if(strJobList.length <= 0)
    {
        ErrorMessage += "<p>"+Error_Job+"</p>";
    }
    if(strSelectedTrainingList.length <= 0)
    {
        ErrorMessage += "<p>"+Error_SelectedTraining+"</p>";
    }
    if (!isEmail(strEmail.value))
    {
	    ErrorMessage += "<p>"+Error_Email+"</p>";
	}
	
	ControlCaptcha();    
	
	if (ErrorMessage.length > 0)
	{
	    SetInnerHtml("Error",ErrorMessage);
	    Display("Error");
	    return false;
	}
	else
	{
	    return true;
	}
}
function ControlCaptcha()
{
    var strCaptcha = GetAspFormField("strCaptcha");
    if (strCaptcha.value.length != 5)	
	{
		ErrorMessage += "<p>"+Error_Captcha+"</p>";
	}
	if (!(ErrorMessage.length > 0))
	{
	    var	params ;
	    params = CustomParamBuilder("strOperation", "ControlCaptcha");
	    params += parseAspForm();
	    WS_Training(params);
	    if (blnCaptchaError)
	    {
	        ErrorMessage += "<p>"+Error_Captcha+"</p>";
	    }
	}
}
function FillTrainingList()
{
    var strSelectedTrainingList = GetSelectedTrainingList();
    var	params = CustomParamBuilder("strOperation", "FillTrainingList");
    params += CustomParamBuilder("strSelectedTrainingList", strSelectedTrainingList);
    WS_Training(params);
}
function GetSelectedTrainingList()
{
    var intTrainingCount = GetAspFormField("intTrainingCount");
    return GetCheckboxList("strTrainingList", ",", intTrainingCount.value);
}
function SaveEvaluation()
{
    NoDisplay("Error");
    ErrorMessage = "";
    if (ControlEvaluation())
    {
        var	params = CustomParamBuilder("strOperation", "SaveEvaluation");
        params += parseAspForm();
        WS_Training(params);
    }
}
function ControlEvaluation()
{
    var strCourseTitle = GetAspFormField("strCourseTitle");
    var strCourseDescription = GetAspFormField("strCourseDescription");
    var strCourseVenue = GetAspFormField("strCourseVenue");

    if ((strCourseTitle.value.length <= 0)||(strCourseDescription.value.length <= 0)||(strCourseVenue.value.length <= 0))
    {
       ErrorMessage += "<p>"+Error_RequiredField+"</p>";
    }
	
	ControlCaptcha();    
	
	if (ErrorMessage.length > 0)
	{
	    SetInnerHtml("Error",ErrorMessage);
	    Display("Error");
	    return false;
	}
	else
	{
	    return true;
	}
}

function ChangeSortOrderForTraining(intSortField)
{
    var	params = CustomParamBuilder("strOperation", "GetTrainingList");
    if ( parseInt(GetAspFormField("strSortField").value) == parseInt(intSortField))
    {
        if (GetAspFormField("strSortType").value  == "ASC")
        {
            SetAspFormField("strSortType","DESC");
        }  
        else     if (GetAspFormField("strSortType").value  == "DESC")
        {
            SetAspFormField("strSortType","ASC");
        }   
    }
    else
    {
        SetAspFormField("strSortType","ASC");
    }
    SetAspFormField("strSortField",intSortField);
    params += parseAspForm();
    WS_Training(params);
}
