// JavaScript Document - LAST MODIFICATION: 13-10-2008
// MADE BY: RottenEye @ dbwt | www.dbwt.co.uk (Please don't remove this line)
// If you have any doubt referring to this document please don't be afraid, contact me at rotten_eye@iol.pt
// NOTE: this file has to be included after dbwtObj.js file, otherwise some erros may occur


dbwt.eurorent = new Object();
	dbwt.eurorent._parent = dbwt;
	dbwt.eurorent.currentDate
	dbwt.eurorent.endDate;



dbwt.eurorent.onFieldChange = function(field){
	var fieldName, newValue, f;

	fieldName = field.name;
	newValue  = field.value;

	switch( fieldName ){
		case 'name':
			newValue = field.value + ' ' + document.getElementById('surname').value;
			f = document.getElementById('factName');
			break;
		case 'surname':
			newValue = document.getElementById('name').value + ' ' + field.value;
			f = document.getElementById('factName');
			break;
		case 'address':
			f = document.getElementById('factAddress');
			break;
	}
	f.value = newValue;
}


dbwt.eurorent.changeDaysList = function(month, box){
	var daysCombo, selOpt, cDate, date, opt, m, k, t;

	daysCombo = document.getElementById(box);
	selOpt    = daysCombo.value;
	daysCombo.options.length = 0;

	if( -1 == box.indexOf('in') )// day out box
		t = 4;//t = 5;
	else// day in box
		t = 4;

	date  = month.split('-');
	date  = new Date(date[0], date[1] - 1, 1);
	cDate = new Date(this.currentDate.getTime() + (1000 * 60 * 60 * 24 * t));

	m = date.getMonth(); k = 0;
	do{
		if( date < cDate ){
			date.setTime(date.getTime() + (1000 * 60 * 60 * 24));
			continue;
		}
		opt       = document.createElement('option');
		opt.value = opt.text = date.getDate();
		daysCombo.options.add(opt, k);
		date.setTime(date.getTime() + (1000 * 60 * 60 * 24));
		k++;
	}while( m == date.getMonth() );
	daysCombo.value = selOpt;
}


dbwt.eurorent.onDateSelect = function(cal, box){
	var p = cal.params;
	var update = (cal.dateClicked || p.electric);

	if (update && p.inputField) {
		p.inputField.value = cal.date.print(p.ifFormat);
		if (typeof p.inputField.onchange == "function")
			p.inputField.onchange();
	}

	if( update ){
		var t = ((cal.date.getMonth() + 1) < 10) ? ('0' + (cal.date.getMonth() + 1)) : (cal.date.getMonth() + 1);
		this.changeDaysList((cal.date.getFullYear() + '-' + t), 'dia_' + box);
		document.getElementById('dia_' + box).value = cal.date.getDate();
		document.getElementById('mes_' + box).value = cal.date.getFullYear() + '-' + t;

		this.compareDates(box);
	}

	if( update && p.singleClick && cal.dateClicked )
		cal.callCloseHandler();
}


dbwt.eurorent.onDateChange = function(box){
	var d_box  = document.getElementById('dia_' + box);
	var m_box  = document.getElementById('mes_' + box);
	var dt_box = document.getElementById('date_' + box);

	dt_box.value = m_box.value + '-' + d_box.value;
	this.compareDates(box);
}


dbwt.eurorent.compareDates = function(box){
	var date_in, date_out, cDate;

	date_in  = document.getElementById('date_in').value.split('-');
	date_out = document.getElementById('date_out').value.split('-');

	if( !date_in[2] || !date_out[2] ) return false;

	date_in  = new Date(date_in[0], date_in[1] - 1, date_in[2]);
	date_out = new Date(date_out[0], date_out[1] - 1, date_out[2]);
	cDate    = new Date(this.currentDate.getTime() + (1000 * 60 * 60 * 24 * 4));

	if( box == 'in' && date_out <= date_in ){
		if( date_in >= this.endDate ){
			//date_in.setTime(date_in.getTime() - (1000 * 60 * 60 * 24));
			document.getElementById('mes_in').value  = date_in.print('%Y-%m');
			document.getElementById('date_in').value = date_in.print('%Y-%m-%e');
			document.getElementById('dia_in').value  = date_in.print('%e');
		}

		date_out = date_in;
		//date_out.setTime(date_out.getTime() + (1000 * 60 * 60 * 24));

		document.getElementById('mes_out').value  = date_out.print('%Y-%m');
		document.getElementById('date_out').value = date_out.print('%Y-%m-%e');
		this.changeDaysList(date_out.print('%Y-%m'), 'dia_out')
		document.getElementById('dia_out').value  = date_out.print('%e');
	}else if( box == 'out' && date_in >= date_out ){
		date_in = date_out;
		//date_in.setTime(date_in.getTime() - (1000 * 60 * 60 * 24));

		document.getElementById('mes_in').value  = date_in.print('%Y-%m');
		document.getElementById('date_in').value = date_in.print('%Y-%m-%e');
		this.changeDaysList(date_in.print('%Y-%m'), 'dia_in')
		document.getElementById('dia_in').value  = date_in.print('%e');
	}
}


dbwt.eurorent.disableCalendarDates = function(dateObj, cal){
	var m = this.currentDate.getMonth() + 1;
	var y = this.currentDate.getFullYear();

	m += 12;
	if( m > 12 ){ m -= 12; y += 1; }
	var maxDate = new Date(y, m - 1, 1);
	if( dateObj < this.currentDate )
		return true;
	else if( dateObj >= maxDate )
		return true;
	return false;
}


dbwt.eurorent.loadStep1Interface = function(){
	this.endDate = document.getElementById('mes_in').options[document.getElementById('mes_in').length-1].value.split('-');
	this.endDate = new Date(this.endDate[0], this.endDate[1], 1);
	this.endDate.setTime(this.endDate.getTime() - (1000 * 60 * 60 * 24));

	this.changeDaysList(document.getElementById('mes_in').value, 'dia_in');
	this.changeDaysList(document.getElementById('mes_out').value, 'dia_out');
}



/*************************************************************
********************** REGISTAR CLIENTE **********************
*************************************************************/


dbwt.eurorent.onIdTypeCange = function(obj){
	document.getElementById('idType_def').style.display  = 'none';
	document.getElementById('idType_bi').style.display   = 'none';
	document.getElementById('idType_pass').style.display = 'none';

	if( !obj ){
		var n  = document.getElementById('resYes');
		var n1 = document.getElementById('resNo');
		if( n.checked )
			var obj = n;
		else
			var obj = n1;
	}

	if( obj.value == 1 )
		document.getElementById('idType_bi').style.display = '';
	else
		document.getElementById('idType_pass').style.display = '';
}


dbwt.eurorent.generateDaysDropDown = function(obj){
	var group, year, month, date, k, m, daysCombo, selOpt, opt; 

	group = obj.id.split('_');
	group = group[0];

	if( !document.getElementById(group + '_year') ){
		year      = document.getElementById(group + '_emiYear').value;
		month     = document.getElementById(group + '_emiMonth').value - 1;
		daysCombo = document.getElementById(group + '_emiDay');
	}else{
		year      = document.getElementById(group + '_year').value;
		month     = document.getElementById(group + '_month').value - 1;
		daysCombo = document.getElementById(group + '_day');
	}

	selOpt    = daysCombo.value;
	daysCombo.options.length = 0;

	date = new Date(year, month, 1);

	m = date.getMonth(); k = 0;
	do{
		opt       = document.createElement('option');
		opt.text  = date.getDate();
		opt.value = (opt.text < 10) ? ('0' + opt.text) : (opt.text);
		daysCombo.options.add(opt, k);
		date.setTime(date.getTime() + (1000 * 60 * 60 * 24));
		k++;
	}while( m == date.getMonth() );
	daysCombo.value = selOpt;
	if( daysCombo.value == '' ) daysCombo.value = 1;
}


dbwt.eurorent.onLoad_initDropDowns = function(){
	var t = new Array('birthDate_year', 'emi_year', 'cemi_year', 'id_emiYear', 'c_year');
	var t1;

	for( var k in t ){
		t1 = document.getElementById(t[k]);
		if( t1 )
			this.generateDaysDropDown(t1);
	}
}



/* --------------------------------------------------------------------------------------------------- */

dbwt.eurorent.init = function(){
	this.currentDate = new Date();
	this.currentDate.setHours(0);
	this.currentDate.setMinutes(0);
	this.currentDate.setSeconds(0);
	this.currentDate.setMilliseconds(0);

	var curLoc = location.pathname.replace(/.*\//g, "");

	if( curLoc == 'reservaStep1.php' ) this.loadStep1Interface();
	if( document.getElementById('birthDate_day') )
		this.onLoad_initDropDowns();
	if( document.getElementById('idType_def') )
		this.onIdTypeCange();
}