﻿function RegisterOperation(strOperation,strCriteria,strTargetDiv)
{
	glbXmlRequest = new AkimanXmlHTTP(document.getElementById("loading"),document.getElementById("debug"));
	var	params = CustomParamBuilder("strOperation", strOperation);
	params += CustomParamBuilder("strCriteria", strCriteria);
	params += parseForm("aspnetForm");
	var soapData = SoapDataBuilder("RegisterOperations",params);	
	AjaxRequest("/RegisterOperation.asmx",soapData,strTargetDiv,"loading");	
}


function RegistrationRequired(objField,strFieldName)
{
	var returnBln = true;
	if ( IsRequired(objField) ) 
	{
		DisplayError(strFieldName,"ErrorBox","","ErrorText","",Error_RequiredField,"color","white");
		returnBln = false;
	}
	return returnBln;
}

function RegistrationHasValidCharacters(strFieldName)
{
	var returnBln = true;
	 if (!hasValidChars(GetAspFormField(strFieldName))) 
	{
		DisplayError(strFieldName,"ErrorBox","","ErrorText","",Error_InvalidCharacters,"color","white");
		returnBln = false;
	}
	return returnBln;
}

function Submit()
{
	var blnValid = true;
	
	ResetError("strFirstName","color","black");
	ResetError("strLastName","color","black");
	ResetError("strOrganisation","color","black");
	ResetError("strTelephone","color","black");
	ResetError("strEmail","color","black");
	ResetError("strStreet","color","black");	
	ResetError("strCity","color","black");
	ResetError("lngCountyID","color","black");
	ResetError("strPostCode","color","black");
	ResetError("intSchoolType","color","black");
	ResetError("strSchoolOther","color","black");	
	ResetError("strUserName","color","black");
	ResetError("strPassword","color","black");
    ResetError("strPasswordConfirm","color","black");
    ResetError("intLAID","color","black");
	
	var objFirstName = GetAspFormField("strFirstName");
	var objLastName = GetAspFormField("strLastName");
	var objOrganisation = GetAspFormField("strOrganisation");
	var objTelephone = GetAspFormField("strTelephone");
	var objEmail = GetAspFormField("strEmail");
	var objStreet = GetAspFormField("strStreet");
	var objCity = GetAspFormField("strCity");
	var objCountyID = GetAspFormField("lngCountyID");
	var objPostCode = GetAspFormField("strPostCode");
	var objUserName = GetAspFormField("strUserName");
	var objPassword = GetAspFormField("strPassword");
	var objImageKeyCode = GetAspFormField("strImageKeyCode");
	var objPasswordConfirm = GetAspFormField("strPasswordConfirm");
	var objLAID = GetAspFormField("intLAID");
/*
	blnValid = blnValid & RegistrationHasValidCharacters("strFirstName");
	blnValid = blnValid & RegistrationHasValidCharacters("strLastName");
	blnValid = blnValid & RegistrationHasValidCharacters("strOrganisation");
	blnValid = blnValid & RegistrationHasValidCharacters("strStreet");
	blnValid = blnValid & RegistrationHasValidCharacters("strUserName");
*/	
	blnValid = blnValid & RegistrationRequired(objFirstName,"strFirstName");
	blnValid = blnValid & RegistrationRequired(objLastName,"strLastName");
	blnValid = blnValid & RegistrationRequired(objOrganisation,"strOrganisation");
	//blnValid = blnValid & RegistrationRequired(objTelephone,"strTelephone");
	blnValid = blnValid & RegistrationRequired(objEmail,"strEmail");
	//blnValid = blnValid & RegistrationRequired(objStreet,"strStreet");
	//blnValid = blnValid & RegistrationRequired(objCity,"strCity");
	//blnValid = blnValid & RegistrationRequired(objCountyID,"lngCountyID");
	//blnValid = blnValid & RegistrationRequired(objPostCode,"strPostCode");
	blnValid = blnValid & RegistrationRequired(objUserName,"strUserName");
	blnValid = blnValid & RegistrationRequired(objPassword,"strPassword");
	blnValid = blnValid & RegistrationRequired(objImageKeyCode,"strImageKeyCode");
    blnValid = blnValid & RegistrationRequired(objPasswordConfirm,"strPasswordConfirm");    
    blnValid = blnValid & RegistrationRequired(objLAID,"intLAID");

    if (!IsMatch(objPassword,objPasswordConfirm))	
    {
		    DisplayError("strPasswordConfirm","ErrorBox","","ErrorText","",Error_NoMatchPassword,"color","white");
		    blnValid = false;
	}
		
	if (objPostCode.value.length < 2  & objPostCode.value > 0)	
	{
		DisplayError("strPostCode","ErrorBox","","ErrorText","",Error_InvalidField,"color","white");
		blnValid = false;
	}
	
	if (isNumeric(objTelephone.value,false)< 0 & objTelephone.value > 0)
	{
		DisplayError("strTelephone","ErrorBox","","ErrorText","",Error_InvalidField,"color","white");
		blnValid = false;
	}	
	
	if (objPassword.value.length < 5)	
	{
		DisplayError("strPassword","ErrorBox","","ErrorText","",Error_ShortPassword,"color","white");
		blnValid = false;
	}
	
	if (!isEmail(objEmail.value))
	{
		DisplayError("strEmail","ErrorBox","","ErrorText","",Error_InvalidEmail,"color","white");
		blnValid = false;
	}

	if (objImageKeyCode.value.length != 5)	
	{
		DisplayError("strImageKeyCode","ErrorBox","","ErrorText","",Error_ImageKeyCode,"color","white");
		blnValid = false;
	}
	
	if (objLAID.value == 0)
	{
	    DisplayError("intLAID","ErrorBox","","ErrorText","",Error_RequiredField,"color","white");
		blnValid = false;
	}

	if (blnValid)
	{		
	    var blnKeyCodeError = false;
	    RegisterOperation("ControlImageKeyCode","","");
	    if (blnKeyCodeError)
	    {
	        DisplayError("strImageKeyCode","ErrorBox","","ErrorText","",Error_ImageKeyCode,"color","white");
	    }
	    else
	    {	
	        SetAspFormField("strTask","SubmitRegistration");
		    SubmitAspForm();
		}
	}	
	else
	{
	    RegisterOperation("RefreshImageKeyCode","","");
	}
}

function SetImageSource(strImageItem, strSource)
{
    var objID = getID(strImageItem);
	if (objID)
	{
		objID.src = strSource ;
	}
}
function FillUserName()
{
    var objFirstName = getELID("strFirstName");
    var objLastName = getELID("strLastName");
    var objUserName = getELID("strUserName");
	 if((objFirstName && objLastName && objUserName) || ( objUserName.value=="" || objUserName.value==objFirstName.value || objUserName.value==objLastName.value ))
		{
		SetAspFormField("strUserName",objFirstName.value+" "+objLastName.value);
		    
     }

}

function CheckAvailability()
{
	 SetAspFormField("strTask","CheckAvailability");
     SubmitAspForm();
}
