var PHmap = null;
var PHmgr = null;
var PHgdir = null;
var markersC = new Array();
var markersR = new Array();
var markersCoords = new Array();
var activeRestaurant = 0;
var loadMap = false;
if(($.browser.msie) && ($.browser.version == "6.0")){
    
}else{
	$('ul.nutritionalValue li:even').addClass('even');
};

$(document).ready(function(){
	if (loadMap)
		mapLoad();
	$('.slider .slide').eq(0).addClass('show');
	$('.slider .slide').click(function(){
		$('.slider .slide.show').removeClass('show');
		$(this).addClass('show');
	});
	  
	$('.slide table tr:even').addClass('even');
	
	var elem = $('.slider th');
	var elem2 = $('.slider .slide table');
	  
	for(var i=0;i<elem2.length;i++){
		elem2.each(function () {
			var t = $(this);
			t.find('tr:first td').each(function (i) {
				if (i==0) return
				var w = elem.eq(i).width();
				$(this).width(w+'px');
			}) ;
		});
	}
	
	
	var e = $('li','.teaserSubMenu');
	var mi = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
	var ma = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
	var c = 3;
	if ( $('.teaserSubmenu').hasClass('columns2') )
		c = 2;
	for(var i=0;i<e.length;i++){
		cc = Math.floor(i/c);
		ma[cc] = Math.max(ma[cc],$('h3',e.eq(i)).height());
		mi[cc] = Math.min(mi[cc],$('h3',e.eq(i)).height());
	}
	for(var i=0;i<e.length;i++){
		cc = Math.floor(i/c);
		$('h3',e.get(i)).height(ma[cc]);
		var h = e.eq(i).height();
		e.eq(i).height(h+ma[cc]-mi[cc]);
	}

});

$("body").unload( function() {
	GUnload();
} );






function blurLink(theObject){
	theObject.blur();
}



function mapLoad() {
	if (GBrowserIsCompatible()) {
		var mapTypes = G_DEFAULT_MAP_TYPES;
		for(var i = 0; i < mapTypes.length; i++){
			mapTypes[i].getMaximumResolution = function(latlng){ return 16;};
			mapTypes[i].getMinimumResolution = function(latlng){ return 6;};
			mapTypes[i].radius = 500000;
		}
		PHmap = new GMap2(document.getElementById("gMapaRestauracji"));
		if (typeof defMapX == typeof 1) {
			if (defMapX>0)
				PHmap.setCenter(new GLatLng(defMapX, defMapY), defMapZoom);
		}
		else
			PHmap.setCenter(new GLatLng(52.025459, 19.204102), 6);
		PHmap.addControl(new GLargeMapControl());
		
		
		GEvent.addListener(PHmap, "click", function(overlay,latlng) {
        	//$('#debug').html(latlng + " " + PHmap.getZoom());
        });
		window.setTimeout(setupMarkers, 0);
	}
}

function setupMarkers()
{
	PHmgr = new GMarkerManager(PHmap);
	PHmgr.addMarkers(markersC, 6, 9);
	PHmgr.addMarkers(markersR, 10);
	PHmgr.refresh();
}



function restaurantClicked(uid)
{
	if (PHgdir)
 		PHgdir.clear();
	activeRestaurant = uid;
	$('#gMapaRestauracji').css('width','330px');
	$('#mapLeft').css('display','block');
	PHmap.checkResize();
	PHmap.setCenter(markersCoords[uid]);
	PHmap.setZoom(15); 
	var t = '<div class="restaurantItem" id="leftPaneRestaurant"></div>';

	t += '<div class="route"><form onsubmit="getRoute();return false;" name="form"><h3>Pokaż trasę z:</h3>';
	t += '<input type="text" name="routeFrom" id="routeFrom" value="miejscowość, ulica" onfocus="routeFocus(this);" onblur="routeBlur(this);" />';
	t += '<input type="submit" onclick="getRoute();return false;" id="routeSubmit" value=""/>';
	t += '</form></div>';
	t += '<div id="routeContainer"></div>';
	$('#mapLeft').html(t);
	$("#leftPaneRestaurant").load("/index.php?id=ajax_restauracja&r="+uid+"");
}

function restaurantClickedCZ(uid)
{
	if (PHgdir)
 		PHgdir.clear();
	activeRestaurant = uid;
	$('#gMapaRestauracji').css('width','330px');
	$('#mapLeft').css('display','block');
	PHmap.checkResize();
	PHmap.setCenter(markersCoords[uid]);
	PHmap.setZoom(15); 
	var t = '<div class="restaurantItem" id="leftPaneRestaurant"></div>';

	t += '<div class="route"><form onsubmit="getRoute();return false;" name="form"><h3>Najdi cestu z:</h3>';
	t += '<input type="text" name="routeFrom" id="routeFrom" value="město, ulice" onfocus="routeFocusCZ(this);" onblur="routeBlurCZ(this);" />';
	t += '<input type="submit" onclick="getRoute();return false;" id="routeSubmit" value=""/>';
	t += '</form></div>';
	t += '<div id="routeContainer"></div>';
	$('#mapLeft').html(t);
	$("#leftPaneRestaurant").load("/index.php?id=ajax_restauracja&r="+uid+"");
}

function routeFocus(t)
{
	if (t.value == 'miejscowość, ulica') {
		t.value = '';
	} 
	$(t).css('color','#361212');
}

function routeBlur(t)
{
	if (t.value == '') {
		t.value = 'miejscowość, ulica';
		$(t).css('color','#c0c0c0');
	}
}
function routeFocusCZ(t)
{
	if (t.value == 'město, ulice') {
		t.value = '';
	} 
	$(t).css('color','#361212');
}

function routeBlurCZ(t)
{
	if (t.value == '') {
		t.value = 'město, ulice';
		$(t).css('color','#c0c0c0');
	}
}

function getRoute()
{
	e = $('#routeFrom').get(0);
	v = e.value;
	if (v == 'miejscowość, ulica')
		return;
	var adresH = $('.addressHidden','#leftPaneRestaurant').html();
	var t = '';
	var adres = $('.address','#leftPaneRestaurant').html();

	
	t += '<div id="routeDirections"></div>';

	$('#routeContainer').html(t);
//	var PHgdir = new GDirections(PHmap, document.getElementById("routeDirections"));
	if (PHgdir)
 		PHgdir.clear();
	PHgdir = new GDirections(PHmap);
	GEvent.addListener(PHgdir, "load", onGDirectionsLoad);
	GEvent.addListener(PHgdir, "error", onGDirectionsError);
	PHgdir.load("from: " + v + " to: " + adresH, { "locale": locale, "getSteps": true });
}

function onGDirectionsLoad()
{
	var route = PHgdir.getRoute(0);
	var step = null;
	t = '';
	for (i=0;i<route.getNumSteps();++i) {
		step = route.getStep(i);
		t += '<div class="step">';
		t += '<div class="distance">' + step.getDistance().html + '</div>';
		t += step.getDescriptionHtml();
		t += '</div>';
	}
	$('#routeDirections').html( t );
}

function onGDirectionsError()
{
	t = '<div><strong>Wystąpił błąd</strong><br />Zapewne adres, który podałeś jest za mało dokładny. Podaj prosze miasto, ulicę i numer.</div>';
	if (locale == 'cs')
		t = '<div><strong>Došlo k chybě</strong><br />Podaj správný adresa, ulice a číslo.</div>';
	$('#routeDirections').html( t );
}

function closeLeftPane()
{
	$('#mapLeft').css('display','none');
	$('#gMapaRestauracji').css('margin-left','0px');
	PHmap.checkResize();
//	PHmap.savePosition();
}


function trim(str) {
    return str.replace(/^\s+|\s+$/g, '') ;;
}

function resize(h){
    $("#leftMenu").css("height",h+"px");
}


function formCheckKontakt(f)
{
	f.email.value = trim(f.email.value);
	f.fname.value = trim(f.fname.value);
	f.lname.value = trim(f.lname.value);
	f.city.value = trim(f.city.value);
	f.phone.value = trim(f.phone.value);
	f.message.value = trim(f.message.value);
	
	if (f.email.value.length < 1) {
		alert(f.error_email.value);
		return false;
	}
	var pattern = /^([a-zA-Z0-9_\.\+\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var m = pattern.exec(f.email.value);
	if (m == null) {
		alert(f.error_email2.value);
		return false;
	}
	if (f.message.value.length < 2) {
		alert(f.error_message.value);
		return false;
	}
		
	return true;
}

function formCheckCV(f)
{
	f.email.value = trim(f.email.value);
	f.fname.value = trim(f.fname.value);
	f.lname.value = trim(f.lname.value);
	f.phone.value = trim(f.phone.value);
	
	if (f.cv.value.length < 1) {
		alert("Musisz dołaczyć plik z CV!");
		return false;
	}
	if (f.fname.value.length < 2) {
		alert("Pole 'imię' musi być wypełnione!");
		return false;
	}
	if (f.lname.value.length < 2) {
		alert("Pole 'nazwisko' musi być wypełnione!");
		return false;
	}
	if (f.email.value.length < 1) {
		alert("Pole 'e-mail' musi zostać wypełnione!");
		return false;
	}
	var pattern = /^([a-zA-Z0-9_\.\+\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var m = pattern.exec(f.email.value);
	if (m == null) {
		alert("Pole 'e-mail' ma zły format danych!");
		return false;
	}
	if (f.phone.value.length < 2) {
		alert("Pole 'telefon' musi zostać wypełnione!");
		return false;
	}
	if (!f.agreement.checked) {
		alert("Pole 'Zgoda na przetwarzanie danych osobowych' musi być zaznaczone!");
		return false;
	}
		
	return true;
}

function formCheckNewsletter(f)
{
	
	f.email.value = trim(f.email.value);
	f.fname.value = trim(f.fname.value);
	f.lname.value = trim(f.lname.value);
	f.phone.value = trim(f.phone.value);
	f.zip.value = trim(f.zip.value);
	f.city.value = trim(f.city.value);
	
	if (f.email.value.length < 1) {
		alert("Pole 'e-mail' musi zostać wypełnione!");
		return false;
	}
	var pattern = /^([a-zA-Z0-9_\.\+\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var m = pattern.exec(f.email.value);
	if (m == null) {
		alert("Pole 'e-mail' ma zły format danych!");
		return false;
	}

	if (f.fname.value.length < 2) {
		alert("Pole 'imię' musi być wypełnione!");
		return false;
	}
	if (f.lname.value.length < 2) {
		alert("Pole 'nazwisko' musi być wypełnione!");
		return false;
	}
	if (f.sex.selectedIndex == 0) {
		alert("Pole 'płeć' musi zostać wypełnione!");
		return false;
	}
	if (f.zip.value.length < 6) {
		alert("Pole 'kod pocztowy' musi zostać wypełnione!");
		return false;
	} else {
		var pattern = /^[0-9][0-9]-[0-9][0-9][0-9]$/;
		var m = pattern.exec(f.zip.value);
		if (m == null) {
			alert("Pole 'kod pocztowy' ma zły format danych! Poprawny format: XX-XXX.");
			return false;
		}		
	}
	if (f.city.value.length < 2) {
		alert("Pole 'miasto' musi zostać wypełnione!");
		return false;
	}
	if (f.phone.value.length > 0) {
		var pattern = /^[0-9]{9}$/;
		var m = pattern.exec(f.phone.value);
		if (m == null) {
			alert("Pole 'tel. kontaktowy' ma zły format danych! Wpisz tylko 9 cyfr bez zera na początku.");
			return false;
		}		
	}
	if (!f.confirm1.checked) {
		alert("Pole 'Zgoda na przetwarzanie danych osobowych' musi być zaznaczone!");
		return false;
	}
	if (!f.confirm2.checked) {
		alert("Pole 'Wyrażam zgodę na komunikację elektroniczną' musi być zaznaczone!");
		return false;
	}
		
	return true;
}


function formCheckNewsletterEdit(f)
{
	f.email.value = trim(f.email.value);
	
	if (f.email.value.length < 1) {
		alert("Pole 'e-mail' musi zostać wypełnione!");
		return false;
	}
	var pattern = /^([a-zA-Z0-9_\.\+\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var m = pattern.exec(f.email.value);
	if (m == null) {
		alert("Pole 'e-mail' ma zły format danych!");
		return false;
	}


		
	return true;
}




function jobsChange(s) {
	var f = s.form;
	var c = f.miasto.options[f.miasto.selectedIndex].value;
	var p = f.stanowisko.options[f.stanowisko.selectedIndex].value;
	$('.offer').show();
	$('.nooffers').hide();
	if (c != '')
		$('.offer').not('.offerCity'+c).hide();
	if (p != '')
		$('.offer').not('.offerPosition'+p).hide();
	if ($('.offer:visible').length == 0)
		$('.nooffers').show();
}