﻿window.onload = init;
function init()
{
//	$("input#subBtn").bind("click",subFrm,false);
	$("a#dataAncor.blueLink").bind("click",function(){
		window.open("data-protection.htm","dataProtect","scrollbars=1, width=800, height=300");
		return false;
	});
	
	var tempStr, newURI
	$("div#topNavigation img.navImage").bind("mouseover",function(){
		tempStr = this.src.split(".gif");
		newURI = tempStr[0]+"_ro.gif";
		this.src = newURI;
	});

	$("div#topNavigation img.navImage").bind("mouseout",function(){
		tempStr = this.src.split("_ro.gif");
		newURI = tempStr[0]+".gif";
		this.src = newURI;
	});
	
	if($('.date-pick').length)
	{
		$('.date-pick')
			.datePicker({startDate:'01/01/1950'})
			.bind('click',
				function()
				{
					$(this).dpDisplay();
					this.focus();
					return false;
				}
			);
		$('.date-pick').dpSetOffset(24, 0);
	}
}

String.prototype.trim = function()
{
    return this.replace(/^\s+|\s+$/gm, '');
}

function subFrm1() {
	var el;
	el = document.getElementById("txbLoanAmount");
	if(isBlank(el.value)) {
		setError(el,"Please correct fields marked below");
		return false;
	}
	else {
		if(!isNumeric(el.value)) {
			setError(el,"Please correct fields marked below");
			return false;
		}
		else {
			clearError(el);
		}
	}

	el = document.getElementById("ddlTitle");
	if(isBlank(el.value)) {
		setError(el,"Please correct fields marked below");
		return false;
	}
	else {
		clearError(el);
	}
	el = document.getElementById("txbFirstName");
	if(isBlank(el.value)) {
		setError(el,"Please correct fields marked below");
		return false;
	}
	else {
		clearError(el);
	}

	el = document.getElementById("txbLastName");
	if(isBlank(el.value)) {
		setError(el,"Please correct fields marked below");
		return false;
	}
	else {
		clearError(el);
	}

	el = document.getElementById("txbEmail");
	if(!checkEmail(el.value)) {
		setError(el,"Please correct fields marked below");
		return false;
	}
	else {
		clearError(el);
	}
	
	/* el = document.getElementById("dob_day");
	if(isBlank(el.value)) {
		setError(el,"Please correct fields marked below");
		return false;
	}
	else {
		clearError(el);
	}
	el = document.getElementById("dob_month");
	if(isBlank(el.value)) {
		setError(el,"Please correct fields marked below");
		return false;
	}
	else {
		clearError(el);
	}
	el = document.getElementById("dob_year");
	if(isBlank(el.value)) {
		setError(el,"Please correct fields marked below");
		return false;
	}
	else {
		clearError(el);
	}
	
	el = document.getElementById("txbDateOfBirth");
	el.value = document.getElementById("dob_day").value + "/" + document.getElementById("dob_month").value + "/" + document.getElementById("dob_year").value;
	*/
	//alert(el.value);
	
	/*
	el = document.getElementById("ddlHomeOwner");
	if(isBlank(el.value)) {
		setError(el,"Please correct fields marked below");
		return false;
	}
	else {
		clearError(el);
	}
	*/
	el = document.getElementById("txbHouseNumber");
	if(isBlank(el.value)) {
		setError(el,"Please correct fields marked below");
		return false;
	}
	else {
		clearError(el);
	}
	
	el = document.getElementById("txbAddress");
	if(isBlank(el.value)) {
		setError(el,"Please correct fields marked below");
		return false;
	}
	else {
		clearError(el);
	}
	
	el = document.getElementById("txbCity");
	if(isBlank(el.value)) {
		setError(el,"Please correct fields marked below");
		return false;
	}
	else {
		clearError(el);
	}

	el = document.getElementById("txbPostCode");
	if(isZipCode(el.value)) {
		setError(el,"Please correct fields marked below");
		return false;
	}
	else {
		clearError(el);
	}

	el = document.getElementById("ddlCounty");
	if(isBlank(el.value)) {
		setError(el,"Please correct fields marked below");
		return false;
	}
	else {
		clearError(el);
	}

	el = document.getElementById("txbMobilePhone");
	if(!isUKMobile(el.value)) {
		setError(el,"Mobile phone should start with 07");
		return false;
	}
	else {
		if(!isExsactLength(el.value,11)) {
			setError(el,"Please correct fields marked below");
			return false;
		}
		else {
			clearError(el);
		}
	}

	el = document.getElementById("txbHomePhone");
	var elem = document.getElementById("txbworkPhone");
	if(isBlank(el.value) && isBlank(elem.value)) {
		setError(el,"Please provide Home or Work phone number");
		return false;
	}
	else {
		if(isDial(el.value) || isDial(elem.value)) {
			clearError(el);
		}
		else {
			setError(el,"Please provide Home or Work phone number");
			return false;
		}
	}

	el = document.getElementById("txbNIN");
	if(isNumeric(el.value)) {
		setError(el,"Please correct fields marked below");
		return false;
	}
	else {
		if(isExsactLength(el,9)) {
			setError(el,"Please correct fields marked below");
			return false;
		}
		else {
			clearError(el);
		}
	}

	el = document.getElementById("txbEmployerName");
	if(isBlank(el.value)) {
		setError(el,"Please correct fields marked below");
		return false;
	}
	else {
		clearError(el);
	}

	el = document.getElementById("ddlSourceOfIncome");
	if(isBlank(el.value)) {
		setError(el,"Please correct fields marked below");
		return false;
	}
	else {
		clearError(el);
	}

	el = document.getElementById("ddlDirectDiposit");
	if(isBlank(el.value)) {
		setError(el,"Please correct fields marked below");
		return false;
	}
	else {
		clearError(el);
	}

	el = document.getElementById("ddlTimeAtEmployer");
	if(isBlank(el.value)) {
		setError(el,"Please correct fields marked below");
		return false;
	}
	else {
		clearError(el);
	}

	el = document.getElementById("ddlPayFrequency");
	if(isBlank(el.value)) {
		setError(el,"Please correct fields marked below");
		return false;
	}
	else {
		clearError(el);
	}

	el = document.getElementById("txbNetMonthlyPay");
	if(!isNumeric(el.value)) {
		setError(el,"Please correct fields marked below");
		return false;
	}
	else {
		clearError(el);
	}

	el = document.getElementById("txbNextPayDate");
	if(isBlank(el.value)) {
		setError(el,"Please correct fields marked below");
		return false;
	}
	else {
		clearError(el);
	}

	el = document.getElementById("txbNextPayDate2");
	if(isBlank(el.value)) {
		setError(el,"Please correct fields marked below");
		return false;
	}
	else {
		clearError(el);
	}

	el = document.getElementById("txbSortCode");

	if(!isNumeric(el.value)) {
		setError(el,"Please correct fields marked below");
		return false;
	}
	else {
		if(isExsactLength(el,6)) {
			setError(el,"Please correct fields marked below");
			return false;
		}
		else {
			clearError(el);
		}
	}

	/* el = document.getElementById("txbBankAccount");
	if(isBlank(el.value)) {
		setError(el,"Please correct fields marked below");
		return false;
	}
	else {
		clearError(el);
	}
	*/

	el = document.getElementById("ddlDebitCard");
	if(isBlank(el.value)) {
		setError(el,"Please correct fields marked below");
		return false;
	}
	else {
		clearError(el);
	}

	el = document.getElementById("ck1");
	if(!el.checked) {
		setError(el,"Please correct fields marked below");
		return false;
	}
	else {
		clearError(el);
	}
	return true
}

function setError(el,str)
{
	cssjs("add",el,"validateError","")
    el.focus();
	$("div#validationRemarks div").html(str);
	$("html,body").animate({scrollTop: 364}, 1000);
}
function clearError(el)
{
	cssjs("remove",el,"validateError","")
	$("div#validationRemarks div").html("");
}


function cssjs(a,o,c1,c2)
{
	switch (a)
	{
		case 'swap':
			o.className=!cssjs('check',o,c1)?o.className.replace(c2,c1):o.className.replace(c1,c2);
		break;
		case 'add':
			if(!cssjs('check',o,c1)){o.className+=o.className?' '+c1:c1;}
		break;
		case 'remove':
			var rep=o.className.match(' '+c1)?' '+c1:c1;
			o.className=o.className.replace(rep,'');
		break;
		case 'check':
			return new RegExp('\\b'+c1+'\\b').test(o.className)
		break;
	}
}

function isUKMobile(val)
{
	if(!isNumeric(val)) {
		return false
	}
	else {
		if(val.charAt(0) != 0) {
			return false;
		}
		else { 
			if(val.charAt(1) != 7) {
				return false;
			}
			else {
				return true;
			}
		}
	}
}
function isDial(val)
{
	var str = val;
	var allowedChars = "-";
	var stripedStr =  stripCharsInBag(str, allowedChars)
	if(stripedStr.length < 11 || stripedStr.length > 11) {
		return false
	}
	else {
		if(!isInteger(stripedStr)) {
			return false
		}
		else {
			return true
		}
	}
}
function stripCharsInBag(s, bag)
{   
	var i;
    var returnString = "";
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkEmail(val) 
{
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(val)){
	return true;
	}
	else {
		return false;
	}
}

function isValidEmail(el)
{
    var reEmail = /^([\w]+)(.[\w]+)*@([\w]+)(.[\w]{2,3}){1,2}$/;
	if (el){
		var re = new RegExp(reEmail);
		el.value = el.value.trim();
		if (el.value == "" || !el.value.match(re)){
		    return false
		}
		else{
		    return true
		}
    }
}

function isZipCode(val)
{
    if(val.length > 9) {
        return false;
    }
    else {
        return isInteger(val);
    }
}
function isExsactLength(el,length)
{
    if(el.length != length)
    {
        return false
    }
    else
    {
        return true
    }
}


function LTrim(str){
	if (str==null){return null;}
	for(var i=0;str.charAt(i)==" ";i++);
	return str.substring(i,str.length);
	}
function RTrim(str){
	if (str==null){return null;}
	for(var i=str.length-1;str.charAt(i)==" ";i--);
	return str.substring(0,i+1);
	}
function Trim(str){return LTrim(RTrim(str));}
function LTrimAll(str) {
	if (str==null){return str;}
	for (var i=0; str.charAt(i)==" " || str.charAt(i)=="\n" || str.charAt(i)=="\t"; i++);
	return str.substring(i,str.length);
	}
function RTrimAll(str) {
	if (str==null){return str;}
	for (var i=str.length-1; str.charAt(i)==" " || str.charAt(i)=="\n" || str.charAt(i)=="\t"; i--);
	return str.substring(0,i+1);
	}
function TrimAll(str) {
	return LTrimAll(RTrimAll(str));
	}
function isNull(val){return(val==null);}
function isBlank(val){
	if(val==null){return true;}
	for(var i=0;i<val.length;i++) {
		if ((val.charAt(i)!=' ')&&(val.charAt(i)!="\t")&&(val.charAt(i)!="\n")&&(val.charAt(i)!="\r")){return false;}
		}
	return true;
	}
function isInteger(val){
	if (isBlank(val)){return false;}
	for(var i=0;i<val.length;i++){
		if(!isDigit(val.charAt(i))){return false;}
		}
	return true;
	}
function isNumeric(val){return(parseFloat(val,10)==(val*1));}
function isArray(obj){return(typeof(obj.length)=="undefined")?false:true;}
function isDigit(num) {
	if (num.length>1){return false;}
	var string="1234567890";
	if (string.indexOf(num)!=-1){return true;}
	return false;
	}
function setNullIfBlank(obj){if(isBlank(obj.value)){obj.value="";}}
function setFieldsToUpperCase(){
	for(var i=0;i<arguments.length;i++) {
		arguments[i].value = arguments[i].value.toUpperCase();
		}
	}
