﻿if (!window.Renault) Renault=new Object();
if (!window.Renault.Validators) Renault.Validators=new Object();

Renault.Validators.Input=function(Sender,EventArgs)
{
	EventArgs.IsValid=EventArgs.Value!="";
	return EventArgs.IsValid;
}

Renault.Validators.PostCode=function(Sender,EventArgs)
{
	EventArgs.IsValid=(EventArgs.Value.replace(/\s/g,"").match(/(GIR0AA|[A-PR-UWYZ]([0-9]{1,2}|([A-HK-Y][0-9]|[A-HK-Y][0-9]([0-9]|[ABEHMNPRV-Y]))|[0-9][A-HJKS-UW])[0-9][ABD-HJLNP-UW-Z]{2})/)!=null);
	if (!EventArgs.IsValid)
		EventArgs.IsValid=(EventArgs.Value!="");
	return EventArgs.IsValid;
}

Renault.Validators.DropDownList=function(Sender,EventArgs)
{
	EventArgs.IsValid=((EventArgs.Value!="-1")&&(EventArgs.Value!=""));
	return EventArgs.IsValid;
}

Renault.Validators.RadioButton=function(Sender,EventArgs)
{
	EventArgs.IsValid=Sender.checked;
	return EventArgs.IsValid;
}

Renault.Validators.LastEmail=null;
Renault.Validators.LastEmailSender=null;
Renault.Validators.Email=function(Sender,EventArgs)
{
	if ((Renault.Validators.LastEmailSender!=null)&&(Renault.Validators.LastEmailSender.id)&&
		(Renault.Validators.LastEmailSender.id.lastIndexOf("Confirm")!=-1))
	{
		Renault.Validators.LastEmail=null;
		Renault.Validators.LastEmailSender=null;
	}
	EventArgs.IsValid=(EventArgs.Value.match(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/)!=null);
	if ((Renault.Validators.LastEmail==null)&&(Renault.Validators.LastEmailSender==null))
	{
		Renault.Validators.LastEmail=EventArgs.Value;
		Renault.Validators.LastEmailSender=Sender;
	}
	else if (Renault.Validators.LastEmailSender!=Sender)
	{
		EventArgs.IsValid=Boolean(EventArgs.IsValid&(EventArgs.Value==Renault.Validators.LastEmail));
		Renault.Validators.LastEmail=null;
		Renault.Validators.LastEmailSender=null;
	}
	else
	{
		Renault.Validators.LastEmail=null;
		Renault.Validators.LastEmailSender=null;
	}
	return EventArgs.IsValid;
}

Renault.Validators.RadioButtonList=function(Sender,EventArgs)
{
	if (typeof(EventArgs.Value)=="undefined")
	{
		EventArgs.IsValid=false;
		var RadioButtons=Sender.getElementsByTagName("input");
		for (var Index=0; Index<RadioButtons.length; Index++)
			EventArgs.IsValid=Boolean(EventArgs.IsValid||(RadioButtons[Index].checked));
	}
	else
		EventArgs.IsValid=(EventArgs.Value!="");
	return EventArgs.IsValid;
}

Renault.Validators.Title=function(Sender,EventArgs)
{
	var Sender=Sender.parentNode.parentNode.getElementsByTagName("select")[0];
	var OtherTitle=Sender.parentNode.parentNode.parentNode.parentNode.getElementsByTagName("input")[0];
	if ((Sender.options[Sender.options.length-1].selected)&&(OtherTitle.value==""))
		EventArgs.IsValid=false;
	else if (Sender.options[0].selected)
		EventArgs.IsValid=false;
	else
		EventArgs.IsValid=true;
	return EventArgs.IsValid;
}

Renault.Validators.MobileForSMSReminder=function(Sender,EventArgs)
{
	EventArgs.IsValid=true;
	var Inputs=document.forms[0].getElementsByTagName("input");
	for (var Index=0; Index<Inputs.length; Index++)
	{
		if ((Inputs[Index].name.toLowerCase().indexOf("reminder")!=-1)&&
			(Inputs[Index].value=="2"))
		{
			if (((Inputs[Index].checked)&&(EventArgs.Value!=""))||(!Inputs[Index].checked))
				EventArgs.IsValid=true;
			else EventArgs.IsValid=false;
			break;
		}
	}
	return EventArgs.IsValid;
}