if (!window.Loan) {
    var Loan = new Object();
}

Loan.IndexPage = Class.create({
	initialize : function(form) {		
		this.form = $(form);
		
		this.arrows = this.form.getElementsBySelector('div[title="arrowCurrentPosition"]');
		this.inputs = this.form.getElementsByClassName('req');
		var isSet = false;
		for (var i=0; i<this.inputs.length; i++) {
			//console.log(this.inputs[i].type.toLowerCase());
			if (this.inputs[i].type.toLowerCase() == 'text') {
				Event.observe(this.inputs[i], 'keyup', this.change.bind(this, i));
			} else {
				Event.observe(this.inputs[i], 'change', this.change.bind(this, i));
			}	
			if (this.inputs[i].hasClassName('validate-carCredit')) {
				this.inputs[i].validate_carCredit = this.validate_carCredit.bind(this);
			}
			if (this.inputs[i].hasClassName('validate-houseMortageCredit')) {
				this.inputs[i].validate_houseMortageCredit = this.validate_houseMortageCredit.bind(this);
			}
			if (this.inputs[i].hasClassName('validate-houseMortageLoan')) {
				this.inputs[i].validate_houseMortageLoan = this.validate_houseMortageLoan.bind(this);
			}
			if (!isSet && this.inputs[i].value=='') {
				this.arrows[i].addClassName('arrowCurrentPosition');	
				this.inputs[i].addClassName('active');
				isSet = true;
			}			
		}
	},	
	change : function(index) {
		if (this.inputs[index].value=='') return;
		index=index+1;
		var isSet = false;
		
		for (var i=0; i<this.arrows.length; i++) {
			this.arrows[i].removeClassName('arrowCurrentPosition');			
		}
		for (var i=0; i<this.inputs.length; i++) {
			this.inputs[i].removeClassName('active');			
		}
		for (var i=index; i<this.inputs.length; i++) {
			if (this.inputs[i].value=='') {
				this.arrows[i].addClassName('arrowCurrentPosition');	
				this.inputs[i].addClassName('active');
				isSet = true;
				break; 
			}		
		}
		if (!isSet) {
			for (var i = 0; i < this.inputs.length; i++) {
//				console.log(this.inputs[i].value.toLowerCase());
				if (this.inputs[i].value == '') {
					this.arrows[i].addClassName('arrowCurrentPosition');
					this.inputs[i].addClassName('active');
					break;
				}
			}	
		}
	},
	validate_carCredit : function() {		
		var price = this.inputs[0].value;
		var creditAmount = this.inputs[1].value;
		
		if (!Validation.get('required').test(creditAmount) || !Validation.get('validate-number').test(creditAmount)) {
			return false;
		}

		if (parseInt(price) < parseInt(creditAmount)) {
			return false;
		} 
		return true;
	},
	validate_houseMortageCredit : function() {		
		var price = this.inputs[1].value;
		var creditAmount = this.inputs[2].value;
		
		if (!Validation.get('validate-mortageCredit_value_TooHighOrTooLow').test(creditAmount)) {
			return false;
		}

		if (parseInt(price) < parseInt(creditAmount)) {
			return false;
		} 
		return true;
	},
	validate_houseMortageLoan : function() {		
		var price = this.inputs[0].value;
		var creditAmount = this.inputs[1].value;
		
		if (!Validation.get('validate-mortageLoan_value_TooHighOrTooLow').test(creditAmount)) {
			return false;
		}

		if (parseInt(price) < parseInt(creditAmount)) {
			return false;
		} 
		return true;
	},
	removeSpaces : function(input) {
		var i = $(input);
		
		i.value = i.value.replace(/ /g, "");
	}
	
});

Validation.addAllThese([
    ['validate-carCredit', 'validate-carCredit', function(v,elm) {
        return elm.validate_carCredit();
    }],
    ['validate-houseMortageCredit', 'validate-houseMortageCredit', function(v,elm) {
        return elm.validate_houseMortageCredit();
    }],
    ['validate-houseMortageLoan', 'validate-houseMortageLoan', function(v,elm) {
        return elm.validate_houseMortageLoan();
    }]
]);

