function format(dateString, format) {
	var date = new Date();

	var dates = dateString.split(/-/g);
	date.setFullYear(dates[0]);
	date.setMonth(dates[1] - 1);
	date.setDate(dates[2]);

	return Ext.util.Format.date(date.toDateString(), format);
}

function createSplitCalendar(divID, textID, clickID, startDate, calendars, format, mode, seperator, onChangedCallback, onClickedCallback) {
	divID = (divID == undefined || divID == null || divID == '') ? 'calDiv' : divID;
	textID = (textID == undefined || textID == null || textID == '') ? 'calText' : textID;
	clickID = (clickID == undefined || clickID == null || clickID == '') ? 'calClick' : clickID;

	document.getElementById(divID).style.position = 'absolute';
	document.getElementById(divID).style.top = '-500';
	document.getElementById(divID).style.visibility = 'hidden';

	$('#' + divID).DatePicker({
		flat: true,
		current: (startDate == undefined || startDate == null || startDate == '') ? new Date() : startDate,
		date: new Date(),
		calendars: (calendars == undefined || calendars == null || calendars < 1 || calendars == '') ? 1 : calendars,
		format: (format == undefined || format == null || format == '') ? 'Y-m-d' : format,
		mode: (mode == undefined || mode == null || mode == '') ? 'single' : mode,
		onChange: function(formated, dates) {
			if (formated.join) {
				$('#' + textID).get(0).innerHTML = formated.join((seperator == undefined || seperator == null || seperator == '') ? ',' : seperator);
			} else {
				$('#' + textID).get(0).innerHTML = formated;
			}

			if (onChangedCallback != undefined && onChangedCallback != null && typeof (onChangedCallback) == 'function') {
				onChangedCallback(dates);
			}
		}
	});
	$('#' + divID).animate({height: 0}, 1);

	//document.getElementById(divID).style.visibility = 'visible';

	window.state = false;
	$('#' + clickID).bind('click', function() {
		document.getElementById(divID).style.position = 'relative';
		document.getElementById(divID).style.top = null;
		document.getElementById(divID).style.visibility = 'visible';

		$('#' + divID).stop().animate({height: (window.state ? 0 : $('#' + divID + ' div.datepicker').get(0).offsetHeight)}, 500);
		window.state = !window.state;
		if (onClickedCallback != undefined && onClickedCallback != null && typeof (onClickedCallback) == 'function' && !state) {
			onClickedCallback($('#' + divID).DatePickerGetDate(false));
		}

		return false;
	});
}

function load () {
	createSplitCalendar('dateDiv', 'dateText', 'dateClick', null, 1, 'd B, Y', 'range', ' - ', function(dates) {
		var dateArray = dates.toString ().split (',');
		var date1 = new Date(dateArray[0]);
		var d1 = date1.getDate(), m1 = date1.getMonth() + 1, y1 = date1.getFullYear();
		if (d1 < 10)
			d1 = '0' + d1.toString();
		if (m1 < 10)
			m1 = '0' + m1.toString();

		var date2 = new Date(dateArray[1]);
		var d2 = date2.getDate(), m2 = date2.getMonth() + 1, y2 = date2.getFullYear();
		if (d2 < 10)
			d2 = '0' + d2.toString();
		if (m2 < 10)
			m2 = '0' + m2.toString();

		document.getElementById('startDate').value = y1 + '-' + m1 + '-' + d1;
		document.getElementById('endDate').value = y2 + '-' + m2 + '-' + d2;
	});
}

function submitForm() {
	Ext.get('content').mask('Searching...');
	Ext.Ajax.request({
		url: 'index.php',
		method: 'post',
		form: 'searchForm',
		success: function (r) {
			Ext.get('content').unmask();
			Ext.getDom('searchResult').className = 'results';
			Ext.getDom('searchResult').innerHTML = r.responseText;
		}
	});

	return false;
}
