var xmlhttp;

function loadXMLDoc(name, url) {
	xmlhttp = null;
	if (window.XMLHttpRequest) {
		//code for IE7+, Firefox, Chrome, Opera, Safari
		xmlhttp = new XMLHttpRequest();
	} else {
		//code for IE6, IE5
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	}

	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4) {
			// 4 = "loaded"
			if (xmlhttp.status == 200) {
				// 200 = "OK"
				document.getElementById(name).innerHTML = xmlhttp.responseText;
			} else {
				alert("Problem retrieving data:" + xmlhttp.statusText);
			}
		}
	}
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}
 
function insertText(range, texttoinsert, append) {
	if (document.all) {
		range.text = texttoinsert;
	} else {
		var myTA = window.opener.document.getElementById(range);
		if (append) {
			myTA.value = texttoinsert;
		} else {	
			myTA.value = myTA.value.substring(0, myTA.selectionStart) + texttoinsert	+ myTA.value.substring(myTA.selectionEnd, myTA.value.length);
		}
	}
}

function surroundText(range, textBegin, textEnd) {
	if (document.all) {
		range.text = textBegin + texttoinsert + textEnd;
	} else {
		var myTA = window.opener.document.getElementById(range);
		myTA.value = myTA.value.substring(0, myTA.selectionStart) + textBegin	+ myTA.value.substring(myTA.selectionStart, myTA.selectionEnd) + textEnd + myTA.value.substring(myTA.selectionEnd, myTA.value.length);
	}
}


function localInsertText(range, texttoinsert) {
	if (document.all) {
		range.text = texttoinsert;
	} else {
		var myTA = document.getElementById(range);
		myTA.value = myTA.value.substring(0, myTA.selectionStart) + texttoinsert	+ myTA.value.substring(myTA.selectionEnd, myTA.value.length);
	}
}

function localSurroundText(range, textBegin, textEnd) {
	if (document.all) {
		range.text = textBegin + texttoinsert + textEnd;
	} else {
		var myTA = document.getElementById(range);
		myTA.value = myTA.value.substring(0, myTA.selectionStart) + textBegin	+ myTA.value.substring(myTA.selectionStart, myTA.selectionEnd) + textEnd + myTA.value.substring(myTA.selectionEnd, myTA.value.length);
	}
}


//to żeby nie pisać w kółko document.getElementById()
function $(elmId) {
	return document.getElementById(elmId);
}

// czas przeładowania w sekundach
var rotateSeconds = 6;
var eventTimer = 0;



function eventRotate(activeEventId) {
	
	if (typeof(eventList) == 'undefined') {
		var eventList = $('otherEvents').getElementsByTagName('li');
	}
	// ustawiamy onclick dla linków na liście
	for(i=0; i<eventList.length; i++) {
		$('otherEvents').getElementsByTagName('li')[i].childNodes[0].onclick = new Function("e", "eventRotate(" + i+ "); return false");
	}
	
	clearTimeout(eventTimer); // zeby po kliku nie przeladowalo od razu w przypadku, gdy tak trafił poprzedni automagiczny timer
	if(activeEventId >= eventList.length) { // jak się nam lista skonczy
		activeEventId = 0;
	}
	for(j=0; j<eventList.length; j++) {
		if(j == activeEventId) {
			$('otherEvents').getElementsByTagName('li')[j].className = 'eventsNaviActive';
			$('event'+j).style.display = 'block';
		} else {
			$('otherEvents').getElementsByTagName('li')[j].className = 'eventsNaviInactive';
			$('event'+j).style.display = 'none';
		}
	}
	activeEventId++;
	eventTimer = setTimeout('eventRotate(' + activeEventId + ')', rotateSeconds*1000);
}

var cat_open = false, cal_open = false;

function getCatOpen() {
	return this.cat_open;
}

function getCalOpen() {
	return this.cal_open;
}

function hideCategories() {
	$('categories').style.display='none';
	if ('' == $('choice').value) {
		$('choice').value = $('choice').defaultValue;
		$('kat').value = '';
	}
	this.cat_open = false;
	return false;
}

function showCategories() {
	this.searchable = false;
	$('categories').style.display='block';
	$('choice').value = '';
	this.cat_open = true;
}

function insertCategory(id, name) {
	$('kat').value = id;
	$('choice').value = name;
	$('categories').style.display='none';
	this.cat_open = false;
	return false;
}

function showCalendars(which) {
	$('calendars').style.display='block';
	$(which).value = '';
	this.cal_open = true;
	return false;
}

function showPkpCalendar() {
	$('calendar-pkp').style.display='block';
	return false;
}

function hideCalendars() {
	if ('' == $('dataOd').value) {
		$('dataOd').value = '';
		$('from').value = 'data od';
	} else if ('' == $('from').value) {
		var _f = $('dataOd').value;
		_f = _f.replace(/-/g, '');
		$('from').value = Calendar.printDate(Calendar.intToDate(_f), "%e %B, %Y");
	}
	if ('' == $('dataDo').value) {
		$('dataDo').value = '';
		$('to').value = 'data do';
	} else if ('' == $('to').value) {
		var _t = $('dataDo').value;
		_t = _t.replace(/-/g, '');
		$('to').value = Calendar.printDate(Calendar.intToDate(_t), "%e %B, %Y");
	}
	$('calendars').style.display='none';
	this.cal_open = false;
	return false;
}

function buildQuery() {
	var query = '';
	if ('' != $('kat').value) {
		query += '/kat/' + $('kat').value;
	}
	if ('' != $('dataOd').value) {
		query += '/dataOd/' + $('dataOd').value;
	}
	if ('' != $('dataDo').value) {
		query += '/dataDo/' + $('dataDo').value;
	}
	if ('' != $('tag').value && 'słowo kluczowe' != $('tag').value) {
		query += '/tag/' + $('tag').value;
	}
	return query;	
}

function search(url_prefix) {
	if (getCalOpen()) {
		hideCalendars();
	}
	if (getCatOpen()) {
		hideCategories();
	}

	document.location.href = url_prefix + '/wynikiwyszukiwania' + buildQuery();
	return false;
}

/**
 * Restricts object value length to maxLength characters
 */
function imposeMaxLength(object, maxLength) {
	if (object.value.length > maxLength) {
		object.value = object.value.substring(0, maxLength);
	}
  //return (object.value.length <= maxLength);
}
