function check_loan(obj){
	if(obj.value==''){
		hide(gid('add_loan_form'));
		hide(gid('new_borrower_form'));
		return;
	}
	if(obj.value=='new'){
		hide(gid('add_loan_form'));
		show(gid('new_borrower_form'));
	}else{
		hide(gid('new_borrower_form'));
		show(gid('add_loan_form'));
	}
}
function check_application_type(obj,idt){
	var tbl=gid('borrower');
	if(obj.value==2){
		if(tbl.rows.length>2){return;}
		var r=tbl.insertRow(2);
		var c1=r.insertCell(0);
		var c2=r.insertCell(1);
		var c3=r.insertCell(2);
		var c4=r.insertCell(3);
		var c5=r.insertCell(4);
		c1.innerHTML='<span class="required">*</span> <b>Co Firstname</b>';
		c2.innerHTML='<b>Co Middle</b>';
		c3.innerHTML='<span class="required">*</span> <b>Co Lastname</b>';
		c4.innerHTML='<span class="required">*</span> <b>Co ID #</b>';
		c5.innerHTML='<span class="required">*</span> <b>Co ID Type</b>';
		var rd=tbl.insertRow(3);
		var cd1=rd.insertCell(0);
		var cd2=rd.insertCell(1);
		var cd3=rd.insertCell(2);
		var cd4=rd.insertCell(3);
		var cd5=rd.insertCell(4);
		cd1.innerHTML='<input type="text" name="co_firstname"/>';
		cd2.innerHTML='<input type="text" name="co_middlename" size="6" />';
		cd3.innerHTML='<input type="text" name="co_lastname" />';
		cd4.innerHTML='<input type="text" size="12" name="co_id_number" />';
		cd5.innerHTML=idt;
	}else{
		if(tbl.rows.length>2){
			tbl.deleteRow(2);
			tbl.deleteRow(2);
		}
	}
}
function open_w(u,h,w,r){
	var r=typeof(r)!='undefined'?r:0;
	window.open(u, 'lgview', 'dependent=1,height='+h+',width='+w+',location=0,menubar=0,resizable='+r+',scrollbars=1,status=0,toolbar=0');
}
function processXML(xml){
	var rs=xml.getElementsByTagName('Record');
	var len=rs.length;
	var rCon=gid('search-loan-results');
	if(len>0){
		var txt='<ul id="search-list">';
		for(var i=0;i<len;i++){
			if(rs[i].childNodes[1].firstChild.nodeValue=='null'){continue;}
			txt+='<li class="search-list" onclick="eloan.setSearchOption(this);" onmouseover="eloan.setSearchListStyle(this);" onmouseout="eloan.setSearchListOutStyle(this);"><input type="radio" name="clid" value="'+rs[i].childNodes[0].firstChild.nodeValue+'" class="search-load-input" />'+rs[i].childNodes[1].firstChild.nodeValue+'</li>';
		}
		txt+='</ul>';
		rCon.innerHTML=txt;
	}else{
		return false;
	}
}
var client={
	setHomeStatus:function(obj,target){
		if(obj.value=='Mortgage'){
			target.innerHTML='<strong>What is the mortgage?</strong> <input type="text" name="mortgage" value="" id="mortgage" size="10" />';
		}else if(obj.value=='Rent'){
			target.innerHTML='<strong>What is the  monthly rental?</strong> <input type="text" name="monthly_rental" value="" id="monthly_rental" size="10" />';
		}else{
			target.innerHTML='';
		}
	},
	setDOB:function(){
		gid('dob').value=gid('dob-day').value+'-'+gid('dob-month').value+'-'+gid('dob-year').value;
	},
	setIncomeTotal:function(){
		var applicant=gid('income_applicant').value!=''?gid('income_applicant').value:0;
		var spouse=gid('income_spouse').value!=''?gid('income_spouse').value:0;
		var other=gid('income_other').value!=''?gid('income_other').value:0;
		gid('income_total').value=parseFloat(applicant)+parseFloat(spouse)+parseFloat(other);
	},
	setExpenditureTotal:function(){
		var rent=gid('expenditure_rent').value!=''?gid('expenditure_rent').value:0;
		var food=gid('expenditure_food').value!=''?gid('expenditure_food').value:0;
		var utilities=gid('expenditure_utilities').value!=''?gid('expenditure_utilities').value:0;
		var hire=gid('expenditure_hire_purchase').value!=''?gid('expenditure_hire_purchase').value:0;
		var loans=gid('expenditure_loans').value!=''?gid('expenditure_loans').value:0;
		var car=gid('expenditure_car_payment').value!=''?gid('expenditure_car_payment').value:0;
		var school=gid('expenditure_school_fees').value!=''?gid('expenditure_school_fees').value:0;
		var surplus=gid('expenditure_surplus').value!=''?gid('expenditure_surplus').value:0;
		var other=gid('expenditure_other').value!=''?gid('expenditure_other').value:0;
		gid('expenditure_total').value=parseFloat(rent)+parseFloat(food)+parseFloat(utilities)+parseFloat(hire)+parseFloat(loans)+parseFloat(car)+parseFloat(school)+parseFloat(surplus)+parseFloat(other);
	}
};
var loanManager={
	numColumns:5,
	titleColumnData:['<span class="required">*</span> <b>Co Firstname</b>','<b>Co Middle</b>','<span class="required">*</span> <b>Co Lastname</b>','<span class="required">*</span> <b>Co ID #</b>','<span class="required">*</span> <b>Co ID Type</b>'],
	inputColumnData:['<input type="text" name="co_firstname"/>','<input type="text" name="co_middlename" size="6" />','<input type="text" name="co_lastname" />','<input type="text" size="12" name="co_id_number" />'],
	addBorrower:function(tbl,obj,idt){
		var rBuilder=new jsLib();
		this.inputColumnData.push(idt);
		if(obj.value==2){
			if(rBuilder.getTableNumRows(tbl)<3){
				rBuilder.addTableRow(tbl,2,this.numColumns,this.titleColumnData);
				rBuilder.addTableRow(tbl,3,this.numColumns,this.inputColumnData);
			}
		}else{
			if(rBuilder.getTableNumRows(tbl)>2){
				rBuilder.removeTableRow(tbl,2);
				rBuilder.removeTableRow(tbl,2);
			}
		}
	},
	checkLoanStatus:function(obj){
		if(obj.value==2){
			alert('Are you sure you want to cancel this loan. This operation cannot be reversed.');
		}
	}
};
function jsLib(){
	this.getTableNumRows=function(table){
		return table.rows.length;
	};
	this.addTableRow=function(table,insertPoint,numberColumns,columnsData){
		var row=table.insertRow(insertPoint);
		for(var i=0;i<numberColumns;i++){
			this['c'+i]=row.insertCell(i);
			this['c'+i].innerHTML=columnsData[i];
		}
	};
	this.removeTableRow=function(table,rowIndex){
		table.deleteRow(rowIndex);
	};
	this.addEvent=function(element, type, handler){
		this.guid=1
		if(element.addEventListener){
			element.addEventListener(type, handler, false);
		}else{
			// assign each event handler a unique ID
			if (!handler.$$guid) handler.$$guid = this.guid++;
			// create a hash table of event types for the element
			if (!element.events) element.events = {};
			// create a hash table of event handlers for each element/event pair
			var handlers = element.events[type];
			if (!handlers){
				handlers = element.events[type] = {};
				// store the existing event handler (if there is one)
				if (element["on" + type]) {
					handlers[0] = element["on" + type];
				}
			}
			// store the event handler in the hash table
			handlers[handler.$$guid] = handler;
			// assign a global event handler to do all the work
			element["on" + type] = handleEvent;
		}
	};
	this.removeEvent=function(element, type, handler){
		if (element.removeEventListener){
			element.removeEventListener(type, handler, false);
		}else{
			// delete the event handler from the hash table
			if (element.events && element.events[type]) {
				delete element.events[type][handler.$$guid];
			}
		}
	};
	this.handleEvent=function(event){
		var returnValue = true;
		// grab the event object (IE uses a global event object)
		event = event || fixEvent(((this.ownerDocument || this.document || this).parentWindow || window).event);
		// get a reference to the hash table of event handlers
		var handlers = this.events[event.type];
		// execute each event handler
		for (var i in handlers) {
			this.$$handleEvent = handlers[i];
			if (this.$$handleEvent(event) === false) {
				returnValue = false;
			}
		}
		return returnValue;
	};
	this.fixEvent=function(event){
		// add W3C standard event methods
		this.preventDefault = function(){
			this.returnValue = false;
		};
		this.stopPropagation = function(){
			this.cancelBubble = true;
		};
		event.preventDefault = this.preventDefault;
		event.stopPropagation = this.stopPropagation;
		return event;
	};
}
var eloan={
	intervalID:'',
	goToURL:function(url){
		location.href=url;
	},
	fullScreen:function(u){
		window.open(u, 'lgview', 'fullscreen=1,dependent=1,location=0,menubar=0,resizable=0,scrollbars=1,status=0,toolbar=0');
	},
	setLoanSearch:function(obj){
		var searchPlaceHolder='Type here to search...';
		obj.value=searchPlaceHolder;
		obj.style.color='#999999';
		obj.onkeydown=function(){
			eloan.startAjaxSearch();
		};
		obj.onkeyup=function(){
			eloan.startAjaxSearch();
		};
		obj.onclick=function(){
			if(this.value==searchPlaceHolder){
				this.value='';
				this.style.color='#000000';
			}
			//eloan.bufferSearch();
		};
		obj.onblur=function(){
			if(this.value==''){
				this.value=searchPlaceHolder;
				this.style.color='#999999';
				gid('search-loan-results').innerHTML='';
			}
			//clearInterval(eloan.intervalID);
		};
	},
	bufferSearch:function(){
		eloan.intervalID=setInterval(eloan.startAjaxSearch,1000);
	},
	startAjaxSearch:function(){
		if(gid('search_loans').value.length>1){
			getAjaxClients(gid('search_loans').value);
		}
	},
	setSearchOption:function(obj){
		var ulElem=obj.parentNode;
		var ulLen=ulElem.childNodes.length;
		for(var i=0;i<ulLen;i++){
			addClass(ulElem.childNodes[i],'search-list');
		}
		addClass(obj,'search-list-over');
		var rb=getFirstChildElement(obj);
		rb.checked=true;
	},
	setSearchListStyle:function(obj){
		addClass(obj,'search-list-over');
		var rb=getFirstChildElement(obj);
	},
	setSearchListOutStyle:function(obj){
		var rb=getFirstChildElement(obj);
		if(rb.checked){
			addClass(obj,'search-list-over');
		}else{
			addClass(obj,'search-list');
		}
	},
	previewSchedule:function(obj){
		var err='';
		if(obj.loan_type.value==''){err+='Please choose a loan type.';}
		if(obj.loan_schedule.value==''){err+='\nPlease choose a loan schedule.';}
		if(obj.loan_amount.value==''){err+='\nPlease enter a loan amount.';}
		if(obj.loan_amount.value.toString().match(/[^0-9.]+/)){err+='\nPlease enter numbers only for the loan amount.';}
		if(obj.interest_rate.value==''){err+='\nPlease enter an interest rate.';}
		if(obj.loan_term.value==''){err+='\nPlease choose a loan term.';}
		if(obj.payment_cycle.value==''){err+='\nPlease choose a payment cycle.';}
		if(err!=''){alert(err);}
		else{eloan.fullScreen('loans.php?u[opt]=preview_loan_schedule&type='+obj.loan_type.value+'&schedule='+obj.loan_schedule.value+'&amount='+obj.loan_amount.value+'&rate='+obj.interest_rate.value+'&term='+obj.loan_term.value+'&cycle='+obj.payment_cycle.value+'&year='+obj.elements['loan_start[year]'].value+'&month='+obj.elements['loan_start[month]'].value);}
	},
	getSelectedNode:function(nodeGroup){
		if(nodeGroup.length){
			for(var i=0;i<nodeGroup.length;i++){
				if(nodeGroup[i].checked){return nodeGroup[i].value;}
			}
		}else{
			return nodeGroup.value;
		}
		return false;
	}
};
