function getWindowSize() {
	if (typeof(window.innerWidth) == 'number') {
	   	return Array(window.innerWidth, window.innerHeight);
	} else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
		return Array(document.documentElement.clientWidth, document.documentElement.clientHeight);
	} else if (document.body && (document.body.clientWidth || document.body.clientHeight)) {
		return Array(document.body.clientWidth, document.body.clientHeight);
	} else {
		return Array(0, 0);
	}	
}

function getWindowScroll() {
	if (typeof(window.pageYOffset) == 'number') {
		return Array(window.pageXOffset, window.pageYOffset);
	} else if (document.body && (document.body.scrollLeft || document.body.scrollTop)) {
		return Array(document.body.scrollLeft, document.body.scrollTop);
	} else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
		return Array(document.documentElement.scrollLeft, document.documentElement.scrollTop);
	} else {
		return Array(0, 0);	
	}
}

function getAjaxObject() {
	var result = false;
	if (window.XMLHttpRequest) {
		result = new XMLHttpRequest();
		if (result.overrideMimeType) {
			result.overrideMimeType('text/xml');
		}
	} else if (window.ActiveXObject) {
		try {
			result = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				result = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	return result;
}

function showPopup(popup) {

	var popupContainer = document.getElementById('popupContainer');
	if (popupContainer) {
		var contentExist = false;
		var popupContent = document.getElementById('popupContent');
		if (popupContent) {
			for (var i = 0, j = popupContent.childNodes.length; i < j; i++) {
				if (popupContent.childNodes[i].className == 'popupContent') {
					if (popupContent.childNodes[i].id == popup) {
						popupContent.childNodes[i].style.display = 'block';
						contentExist = true;
					} else {
						popupContent.childNodes[i].style.display = 'none';
					}
				}
			}
		}
		if (contentExist) {
			var hideScreen = document.getElementById('hideScreen');
			if (hideScreen) {
				hideScreen.style.display = 'block';
			}
			popupContainer.style.display = 'block';
		}
	}
	
	var googleMap = document.getElementById('googleMap');
	if (googleMap) {
		while (googleMap.firstChild) googleMap.removeChild(googleMap.firstChild);
		if (popup == 'mapa') {
			var element = document.createElement('div');
				element.style.overflow = 'hidden';
				element.style.border   = '1px solid #000000';
				element.style.height   = '400px';
			googleMap.appendChild(element);
			loadGoogleMap(element);
		}
	}
	
	updatePopup();
	
}

function hidePopup() {
	var hideScreen = document.getElementById('hideScreen');
	if (hideScreen) {
		hideScreen.style.display = 'none';	
	}
	
	var popupContainer = document.getElementById('popupContainer');
	if (popupContainer) {
		popupContainer.style.display = 'none';	
	}
}

function updatePopup() {
	var hideScreen = document.getElementById('hideScreen');
	if (hideScreen) {
		var size  = getWindowSize();
		var main  = document.getElementById('body');			
		var sizeX = (main.offsetWidth  > size[0] ? main.offsetWidth  : size[0]);
		var sizeY = (main.offsetHeight > size[1] ? main.offsetHeight : size[1]);	
		
		hideScreen.style.width   = '100%';
		hideScreen.style.height  = sizeY + 'px';		
	}	

	var popupContainer = document.getElementById('popupContainer');
	if (popupContainer) {
		var siz = getWindowSize();
		var scr = getWindowScroll();
		var lft = ( (siz[0] / 2) - (popupContainer.clientWidth  / 2) + scr[0] );
		var top = ( (siz[1] / 2) - (popupContainer.clientHeight / 2) + scr[1] );
		popupContainer.style.left = ( lft > 0 ? lft : '0' ) + 'px';
		popupContainer.style.top  = ( top > 0 ? top : '0' ) + 'px';
	}
}

function popupFieldActive(sender, active) {
	if (sender.className != 'disable') {
		sender.className = (active ? 'active' : '');	
	}
}

function popupFormEnable(form, enable, clear) {
	var tag = Array('input', 'select', 'textarea');
	for (var i = 0, j = tag.length; i < j; i++) {
		var tab = form.getElementsByTagName(tag[i])
		for (var x = 0, y = tab.length; x < y; x++) {
			if (enable) {
				tab[x].className = '';
				tab[x].removeAttribute('readonly');
				if ((clear) && (tab[x].type != 'hidden')) tab[x].value = '';
			} else {
				tab[x].className = 'disable';
				tab[x].setAttribute('readonly', true);
			}
		}
	}
	var tab = form.getElementsByTagName('a')
	for (var x = 0, y = tab.length; x < y; x++) {
		if (tab[x].className == 'popupButton') {
			if (enable) {
				tab[x].style.visibility = 'visible';
			} else {
				tab[x].style.visibility = 'hidden';
			}
		}
	}

}

function getFormValues(form) {
	var out = '';
	var tag = Array('input', 'select', 'textarea');
	for (var i = 0, j = tag.length; i < j; i++) {
		var tab = form.getElementsByTagName(tag[i])
		for (var x = 0, y = tab.length; x < y; x++) {
			out += '&' + tab[x].name + '=' + encodeURI(tab[x].value);
		}
	}
	return (out.length > 0 ? out.substr(1) : '');	
}

function setFormMessage(form, message) {
	var tab = form.getElementsByTagName('p')
	for (var i = 0, j = tab.length; i < j; i++) {
		if (tab[i].className == 'popupFormMessage') {
			if (message) {
				tab[i].innerHTML = message;
				tab[i].style.display = 'block';
			} else {
				tab[i].style.display = 'none';
			}
			updatePopup();
		}
	}	
}

function popupFormSubmit(form) {
	popupFormEnable(form, false);
	var parm = getFormValues(form);
	var ajax = getAjaxObject();
	if (ajax) {
		setFormMessage(form, 'Wysyłanie formularza... proszę czekać...');
		ajax.onreadystatechange = function() {
			if (ajax.readyState == 4) {
				if (ajax.status == 200) {
					var msg = ajax.responseText.substr(3, ajax.responseText.length - 7);
					if (msg.length > 1) { 
						setFormMessage(form, msg);
						popupFormEnable(form, true, false);
					} else {
						hidePopup();
						setFormMessage(form, '');
						popupFormEnable(form, true, true);
						window.location.replace('?dziekujemy'+(form.a ? '='+form.a.value : ''));
					}
				} else {
					setFormMessage(form, 'Awaria systemu!');
					popupFormEnable(form, true, false);
				}
			}
		};
		ajax.open('POST', form.action + '?rand=' + new Date(), true);
		ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
		ajax.setRequestHeader("Content-Length", parm.length);
		ajax.setRequestHeader("Connection", "close");
		ajax.send(parm);
	} else {
		setFormMessage(form, 'Błąd kontrolki AJAX!');	
	}
}

function loadGoogleMap(element) {
	if (GBrowserIsCompatible()) {
		
		var map = new GMap2(element);
			map.setCenter(new GLatLng(50.384005, 18.882751), 9);

		var poi1 = new GLatLng(50.4393421, 18.8491072);
		var mar1 = new GMarker(poi1)
		map.addOverlay(mar1);
		GEvent.addListener(mar1, "click", function() {
			map.openInfoWindowHtml(poi1, '<b>Studiotg - Agencja Interaktywna</b><br />ul. Gliwicka 42<br />42-600 Tarnowskie Góry');
		});

		/*
		var poi2 = new GLatLng(50.257934, 19.026003);
		var mar2 = new GMarker(poi2)
		map.addOverlay(mar2);
		GEvent.addListener(mar2, "click", function() {
			map.openInfoWindowHtml(poi2, '<b>Studiotg - Agencja Interaktywna</b><br />ul. Stanisława 9<br />40-014 Katowice');
		});
		*/

		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		
	}
}