  function addPagesToPaging(actualPage,pageNo,count){
     
	  var str='';
    	var beforeCounter=(count-1)/2;
    	var afterCounter=(count-1)/2;
    	if(beforeCounter>actualPage){
    		beforeCounter=actualPage;
    		afterCounter=count-1-beforeCounter;
    	}
    	if(afterCounter>(pageNo-actualPage)){
    		afterCounter=pageNo-actualPage;
    		beforeCounter=count-1-afterCounter;
    	}
    	
    	for(var i=0;i<beforeCounter;i++){
    		var counter=parseInt(actualPage,10)-beforeCounter+i;
    		if(counter>=0){
    			str=str+addOnePageToPaging(counter);
    		}
    	}
    	str=str+addOnePageToPaging(parseInt(actualPage,10),'actual');
    	for(var i=1;i<afterCounter+1;i++){
    		var counter=i+parseInt(actualPage,10);
    		if(counter<pageNo){
    			str=str+addOnePageToPaging(counter);
    		}
    	}
    	return str;	
    }
  
    function addPreviousPageToPaging(actualPage,pageNo){
    	var str='';
    	if(actualPage>0 && pageNo>1){
    		str=str+'<span><a onclick=\"previous();\"><img src="img/arrow_left.jpg" height="10" /></a></span>';	
    	}
    	else{
    		str=str+'<img src="img/arrow_left.jpg" height="10"/>';
    	}
    	return str;
    }
    
    function addNextPageToPaging(actualPage,pageNo){
    	var str='';
    	if(actualPage<pageNo-1 && pageNo>1){
    		str=str+'<span><a onclick=\"next();\"><img src="img/arrow_right.jpg" height="10" /></a></span>';	
    	}
    	else{
    		str=str+'<img src="img/arrow_right.jpg" height="10" />';
    	}
    	return str;
    }
    function addOnePageToPaging(actualPage,act){
    	var str=''
    	if(act!=undefined){
    		 str='<span><a class="activ" onclick="send('+(actualPage)+')">'+(actualPage+1)+'</a></span>';
    	}
    	else{
    		
    			str='<span><a onclick="send('+(actualPage)+')">'+(actualPage+1)+'</a></span>';
    	}		
    	return str;
    } 
     //dodaje stronicowanie
    function addPaging(actualPage,pageNo,count){
    	var str=''
    	str=str+addPreviousPageToPaging(actualPage,pageNo);
    	str=str+addPagesToPaging(actualPage,pageNo,count);
    	str=str+addNextPageToPaging(actualPage,pageNo);
    	
    	return str;	
    }
    
    
      function showAdresses(){
	     var div=document.getElementById('adresy');
	     var html = window.dialogArguments;
    }
    
    function happenings2markers(markers,page,recommended,fromLink){
   		markers_array = new Array();
   		multi_markers_array = new Array();
    	var oneHappeningMarkers = new Array();
    	var multiHappeningMarkers = new Array();
    	
    	var happeningHashObject = new Object();
    	var happeningMarker = new Object();
    	var happeningHash = new Array();

    	if(markers!=null && markers.length>0){
    		for(var i=0;i<markers.length;i++) {
    			happeningMarker = new Object();
    			happeningMarker.happening = markers[i];
    			happeningMarker.number = i;
    			addHappening2Hash(happeningHash,happeningMarker,happeningHashObject);
    		}
    		
    		for(var i = 0 ; i < happeningHash.length; i++) {
    			if(happeningHash[i].happenings.length == 1) {
    				happening2marker(happeningHash[i].happenings[0].happening,page*parseInt(page_size,10)+happeningHash[i].happenings[0].number,recommended,fromLink);
    			} else {
    				happenings2MulitMarker(happeningHash[i],recommended);
    			}
    		}
    	}
    }
    
    /*
    * array - "hash" tablica imprez gdzie kluczem jest lat_lon
    * happeningMarker - obiekt (happening, number)
    * happeningObj - obiekt (lat_lon, happenings, no)
    */
    function addHappening2Hash(array, happeningMarker, happeningHashObject) {
    	for(var i = 0; i < array.length; i++) {
    		if(array[i].lat_lon == createLatLonKey(happeningMarker)) {
    			array[i].happenings.push(happeningMarker);
    			return;
    		}
    	}
    	happeningHashObject = new Object();
    	happeningHashObject.lat_lon = createLatLonKey(happeningMarker);
    	happeningHashObject.happenings = new Array();
    	happeningHashObject.happenings.push(happeningMarker)
    	array.push(happeningHashObject);
    	return;
    }
    
    function createLatLonKey(happeningMarker) {
    	return happeningMarker.happening.happeningGeom.lat + ';' + happeningMarker.happening.happeningGeom.lon;
    }
    
    
    function organizer2LongDescription(organizer){
    	var text='';
    	text=text+'<span>'+organizer.name+'</span> <br/>';
    	
    	if(organizer.address!=null ||  organizer.phone!=null){
	    	if(organizer.address!=null){
	    		text=text+organizer.address+'<br /> ';
	    	}
	    	if(organizer.phone!=null){
	    		text=text+'tel.: '+organizer.phone+'<br /> ';
	    	}
    	}
    	if(organizer.email!=null || organizer.www!=null){
	    	
	    	if(organizer.www!=null){
	    		text=text+'<a href="http://'+organizer.www+'" target="_blank">'+organizer.www+'</a>';
				if(organizer.email!=null){
					text=text+',';
				}else{
					text=text+'<br />';
				}	
	    	}
			if(organizer.email!=null){
	    		text=text+' email : <a href="mailto:organizer.email">'+organizer.email+'</a><br /> ';
	    	}
    	}
    	
    	return text;
    }
    
    function makePoiTittle(happening){
    	var text='<div id="titled"><a href="http://www.coigdzie.pl/impreza'+happening.pageUrl+'" title="'+happening.name+'">'
    	text=text+happening.name;
    	text=text+'</a></div>';
    	return text;
    }
    function openLightWindow(){
    	 $('#eventphoto a').lightBox();
    }
    
     function makeWhere(happening){
    	  var str='';
    	  if( happening.venue2display!=null){
     		 str=str+'<span><b>'+happening.venue2display+'</b></span><br>';
     	  }	 
    	  str=str+'<span>'+happening.locality;
    	 if(happening.adress!=null){
    		 str=str+happening.adress+'</span>';
    	 }	 
    	 else{
    		 str=str+'</span>';
    	 } 
    	
    	 return str;
     }
     function makePoiLongDescription(happening){
    	var text='<div class="cloud';
		
		if(happening.recommended=='true')
			text = text + ' recommended">';
		else	
			text = text + '">';
			
		
		if(happening.imageUrl!=null){
			text = text+'<div id="bigcloud" class="eventwithfoto" >';
		}else{	
			text = text+'<div id="bigcloud" class="eventwithoutfoto">';
		}
		
    	//tytul
    	text=text+'<h1>'+happening.name+'</h1>';
		//foto
		var eventmainmargin =10;
		
		if(happening.imageUrl!=null || happening.imageUrl!='null'){
			text = text+'<div id="eventphoto" ><a href="http://' + happening.imageUrl + '" ><img src="http://' + happening.imageUrl + '" height="150" onClick="openLightWindow();" /></a></div>';
			eventmainmargin = eventmainTopMargin(happening);
		}
		
		text = text+'<div id="eventmain" style="margin-top: '+eventmainmargin+'px;">';	

		//miejsce
		text=text+'<p id="eventwhere">'+makeWhere(happening)+'</p>';
		//adres
		//text=text+'<span>'+adres+'</span></p>';
		
		//data
		text=text+'<p id="eventdate">'+getDate(happening)+'</p>';
		
		//organizer
		if(happening.organizer!=null && happening.organizer.name!=null && happening.organizer.name!='null' ){
			text=text+ '<div id="eventorg">'+organizer2LongDescription(happening.organizer)+'</div>';
		}
		//wstęp
		text = text+ happening2admissionTxt(happening);
		
		text = text+'</div><div class="clear"></div>';

		//opis
		if(happening.description!=null && happening.description !=undefined){
		text=text+'<div id="eventdesc">'+cutDescription(happening)+'</div>';
		}
		
    	//koniec bigcloud
    	text=text+'</div></div>';
    	return text;

    }
     
 	function happening2admissionTxt(happening){
 		if(happening.price==-2){
 			return '<div id="eventadmission">płatny (cena nieznana)</div>';
 		}	
 		if(happening.price==-1){
 			return '<div id="eventadmission">brak danych</div>';
 		}	
 		if(happening.price==0){
 			return '<div id="eventadmission">bezpłatny</div>';
 		}	
 		if(happening.price>0){
 			return '<div id="eventadmission">płatny (cena '+happening.price+' zł)</div>';
 		}	
 	}
function cutDescription(happening){
		var description = happening.description;
		description = happening.description;
		if(happening.happeningUrl!=null)//null zamiast 0
		{
			var maxlength;
			if(happening.imageUrl!=null){
				maxlength = 800;
			}else{
				maxlength = 1400 - 100*countOrganizerLines(happening);
				//if(happening.admissionFree!=null){
				maxlength = maxlength - 200;
				//}		
			}	
			if(happening.name.length > 50){
				maxlength = maxlength - 100;
			}
				
			if(description !=null && description.length> maxlength){
				description=description.substring(0,maxlength)+'...';
			}
			
			description = description+' <a href="http://'+happening.happeningUrl+'" target="_blank">więcej</a>';		
		}
		return description;
	}
	function eventmainTopMargin(happening){
		var margin = 12;
		margin = margin + (5-countOrganizerLines(happening))*6;
		//if(happening.admissionFree==null){margin = margin + 10};
		return margin;
	}
	
	function countOrganizerLines(happening){
		if(happening.organizer!=null){
			var lines =  organizer2LongDescription(happening.organizer).split('<br').length;
			return lines;
		}else{
			return 0;
		}	
	}
    function makePoiShortDescription(happening){
    	var text = '<div class="cloud ';
		
		if(happening.recommended=='true')
			text = text + ' recommended">';
		else	
			text = text + '">';
			
    	text=text+'<div id="smallcloud">';
    	text=text+'<h1>'+happening.name+'</h1>';
    	text=text+'	<div id="elser">';
    	text=text+happening.locality;
    	
    	if(happening.venue2display!=null){
    		text=text+', '+happening.venue2display;
    	}	
    	else if(happening.adress!=null){
    		
    		text=text+', '+happening.adress;
    	}	
    	else{
    	
    	text=text+', woj. '+happening.county+', powiat '+happening.district;
    	}
    	text=text+'<br/>';
    	text=text+getDate(happening);
    	
    	if(happening.organizer !=null && (happening.organizer.email !=null || happening.organizer.www!=null)){
    		text=text +makeOrganizatorLink(happening.organizer);
    	}
    	text=text+'</div>';	
    	
    	text=text+'	<div id="elser_description">';
    	if(happening.description!=null){
			if(happening.description.length!=null && happening.description.length>200){
				text=text+happening.description.substring(0,197)+'...';
			}else{
				text=text+happening.description;
			}
    	}
    	
    	text=text+'</div>';	
    	text=text+'</div>';	
    	
    	//tu byla stopka	
//    	text=text+'	<div id="menusd">';
//    	text=text+'<span><a onClick="mapa.getInfoWindow().maximize(); return false;">więcej</a></span>';
//    	text=text+'<a href="#">trasa</a>';
//    	text+text+'</div>';
    	
    	
    	text=text+'</div>';	
    	return text;
    }
   
    function makeOrganizatorLink(organizer){
    	var text=', <span class="dbl">';
    	if(organizer.www!=null){
    		text=text+'<a href="http://'+organizer.www+'" target="_blank">organizator</a>';
    	}
//    	if(organizer.email!=null){
//    		text=text+'<a href="mailto:'+organizer.email+'">organizator</a>';
//    	}
//    	
    	text=text+'</span>';
    
    	return text;
    }
    
    /* Funkcja tworzy multi okienko */
    function happenings2MulitMarker(happeningHashObject,recommended) { 
    	point=new GLatLng(happeningHashObject.lat_lon.split(";")[0],happeningHashObject.lat_lon.split(";")[1]);
    	var infoShort = makeMultiHappeningPoiShortDescription(happeningHashObject);
    	addMultiHappeningPoi(point,infoShort,happeningHashObject.happenings,recommended);
 	
    }
    
    /* Funkcja tworzy zawartosc (liste) happeningow do multi okienka */
    function makeMultiHappeningPoiShortDescription(happeningHashObject) {
    	var text = '<br \/><span class="multi_window_title">Imprezy w tym miejscu: <\/span><br \/><br \/>';
    	text += '<div class="multi_window_wrapper"><div class="multi_window">';
    	text += '<ul class="event_list">';
    	for(var i = 0 ; i < happeningHashObject.happenings.length; i++) {
    		text += '<li><div class="multi_happening_wrapper" onmouseover="changeBackgroundOver(this)" onmouseout="changeBackgroundOut(this)">';
    		text += '<div class="multi_happening_img">';
    		text += '<img src="http://' + happeningHashObject.happenings[i].happening.imageUrl + '" alt="" width="80" \/><\/div>';
    		text += '<div class="multi_happening_content">';
    		text += '<a href="javascript:void();" onclick="openFromMultiHappeningPoi(' + i + ')" class="multi_happening_title">' + happeningHashObject.happenings[i].happening.name + '</a><br \/>';
    		text += getDate(happeningHashObject.happenings[i].happening)  + '<br \/>';
    		text += makeWhere(happeningHashObject.happenings[i].happening)  + '<br \/>';
    		text += '</\div></\div><\/li><div style="clear:both" \/>';
    	}
    	text += '<\/ul><\/div><\/div>';
    	return text;
    }
    
    function changeBackgroundOver(elem) {  
    	elem.style.background='#efefef';
    }
      
    function changeBackgroundOut(elem) {
        elem.style.background='#ffffff';
    }
    
    function happening2marker(happening,i,recommended,fromLink){
    
    	var infoShort=makePoiShortDescription(happening);
    	var titleMax=makePoiTittle(happening);
    	var infoMax=makePoiLongDescription(happening);
    
    	point=new GLatLng(happening.happeningGeom.lat,happening.happeningGeom.lon);
    	var flag;
    	if(happening.recommended=='false'){
    		flag="normal"
    	}
    	//polecana na 1 stronie - nienumerowana
    	if(happening.recommended=='true' && recommended==true){
    		flag="recomended";
    	}
    	//polecana na 2 stronie - numerowana
    	else if(happening.recommended=='true'){
    		flag="recomended_counting";
    	}
    	
    	if(fromLink == 'true') {
    		flag = "from_link_" + flag;
    	}
    	
    	addHappeningPoi(point,infoShort,flag,i,infoMax,titleMax);
    }
    
    //do tworzenia informacji o imprezach
    function visualizeHappenings(array,page){
    	var str="";
    	if( array!=null && array.length>0){
	    	for(var i=0;i<array.length;i++){
	    		str=str+visualizeHappening(array[i],(page*parseInt(page_size,10)+i+1),i);
	    	}
	    }
    	return str;
    }
   
    
    
    function visualizeHappening(happening,no,i){
    	var str='';
    	if(no%2==0){
    		var str='<div class="searchpartw">';
    	}
    	
    	if(no%2==1){
    		var str='<div class="searchpartg">';
    	}
		
		
		str=str+'<div class="rightofscroll">';
    	
		if(happening.sponsor!=null && happening.sponsor!='null' && happening.sponsor.iconUrl!=null && happening.sponsor.www!=null){
    		str=str+'<a href="http://'+happening.sponsor.www+'" target="_blank"><img src="'+happening.sponsor.iconUrl+'" /></a>';
    	}	
		else if(happening.vendor!=null && happening.vendor!='null' && happening.vendor.iconUrl!=null && happening.vendor.www!=null){
    		str=str+'<a href="http://'+happening.vendor.www+'" target="_blank"><img src="'+happening.vendor.iconUrl+'" /></a>';
  
    	}
    	
    	str=str+'</div>';
		
    	str=str+'<div class="leftofscroll">';
    	str=str+'<span class="number">'+no+'.</span> ';
    	var name='';
    	
    	
   
    	if(happening.name.length>45){
    	
			name=happening.name.substring(0,42)+'...';
		}
    	else{
    		name=happening.name;
    	}
    	//z kkasami cos nie chcialo dzialac dodalem style="color:#91459F"
    	if(happening.recommended=='true'){
    		a_style='happening_link_recommended';
//    		str=str+'<a onMouseOver="openMarkerInfo('+i+');"  onclick="openMarkerInfo('+i+');"  >'+name+'</a>';
    	}	
    	else{
    		var a_style='happening_link';
//    		str=str+'<a onMouseOver="openMarkerInfo('+i+');"  onclick="openMarkerInfo('+i+');" style="color:#91459F" >'+name+'</a>';
    	}
    	str=str+'<a onMouseOver="openMarkerInfo('+i+');"  onclick="openMarkerInfo('+i+');" class="'+a_style+'" >'+name+'</a>';
    	
    	str=str+'<div class="other">';
    	str=str+happening.county+', '+happening.locality+'<br>';
    	str=str+getDate(happening);
    	//str=str+happening2url(happening);
    	str=str+"</div>";
    	//dodaje link imprezy
    	if(happening.happeningUrl!=null){
    		if(happening.recommended!='true'){
    			var a_style='hapenningUrl';
    		}	
    		else{
    			var a_style='hapenningUrl_recommended';
    		}	
    		str=str+'<a href="http://'+happening.happeningUrl+'" class="'+a_style+'" target="_blank">link do imprezy</a>';
    	}
    	str=str+"</div>";
    	
    	str=str+'<div style="clear: both" />';
    	if(happening.isSalesActual==1 && happening.happeningUrl!=null){
    		str=str+'<div class="link_icon"><a href="http://'+happening.happeningUrl+'" target="_blank"><img src="../img/ico_06.gif" alt="bilety" /> bilety</a></div>';
    	}
    	//str=str+'<div class="link_icon"><a href="#"><img src="../img/ico_08.gif" alt="noclegi"/> noclegi</a></div>';
        //str=str+'<div class="link_icon"><a href="#"><img src="../img/ico_03.gif" alt="dojazd"/> dojazd</a></div>';
        str=str+'</div>';
 
    	//str=str+'<br clear="all" />';
    	str=str+"</div>";
    
    	return str;
    
    
    }
    
    function getDate(happening){
    	var start_date=happening.startDate.substring(0,10);
    	var end_date=happening.endDate.substring(0,10);
    	
    	
    	//Rozne dni
    	if(start_date!=end_date){
    		str=happening.startDate+" do "+happening.endDate;
    	}
    	//ten sam dzien
    	else{
    		var happening_hour='';
    		var end_hour;
    		var after_date_lenght=12;
    		//wyciagam godzine
 
    		if(happening.startDate.length>after_date_lenght){
    			happening_hour=happening.startDate.substring(after_date_lenght);
    		}	
    		
    		if(happening.endDate.length>after_date_lenght){
    			end_hour=happening.endDate.substring(after_date_lenght);
    		}	
    		else{
    			end_hour='';
    		}
    		
    		if (end_hour == '23:59') {
    			end_hour='';
    		}
    		
    		//sklejam godziny
    		if(end_hour!='' && end_hour!=happening_hour ){
    			happening_hour=happening_hour+" - "+end_hour;
    		}	
    		if(happening_hour!=''){
    			str=start_date+', '+happening_hour;
    		}
    		else{
    			str=start_date;
    		}
    	}	
    	return str;
    }
   
	function happening2url(happening){
		var str='';
		if(happening !=null && happening.organizer!=null && happening.organizer.www!=null){
			str=str+'<a href="'+happening.organizer.www+'" target="_blank"> '+happening.organizer.www+'</a>';
		}
		return str;
	}
    function happening2Description(happening){
    	
    	var str='<div class="opis_imprezy2">';
    	if(happening.description!=null){
    		str=str+'<p>'+happening.description+'</p>';
    	}
    	str=str+"</div>";
    	
	    str=str+'<div class="opis_imprezy">';
	    str=str+'<h5>Dane organizatora:</h5>'
	    str=str+'</div>';
	    str=str+'<div class="opis_imprezy2" style="width: 350px;">'
	    str=str+"<p>";
	    str=str+organizer2Description(happening.organizer);

	    str=str+"</p>";
	    str=str+'<a href="#" title="więcej" class="blue">więcej>></a>'
	    str=str+'</div>';
	  // 
	    return str;

    }
    function organizer2Description(organizer){
    	var str='';
    	if(organizer==null){
    		return str;
    	}
    	else{
	    	if(organizer.name!=null){
	 	    	str=str+organizer.name+";";
	 	    }
	    	if(organizer.address!=null){
	  	    	str=str+organizer.address+";";
	  	    }
	  	    if(organizer.phone!=null){
	  	    	str=str+" telefon:"+ organizer.phone;
	  	    }
	  	    if(organizer.email!=null){
	  	    	str=str+" email: " +organizer.email;
	  	    }
	  	    if(organizer.www!=null){
	  	    	str=str+" www: "+organizer.www;
	  	    }	
	  	    return str;
    	}
    	
    }
    ///
    function localities2markers(localities){
    	if(localities!=null && localities.length>0){
    		for(var i=0;i<localities.length;i++){    	
    			locality2marker(localities[i],i);
    		}
    	}
     }
    
    function locality2marker(locality,i){
    	var info=makeLocalityDescriptionCloud(locality,i,"marker");
    	point=new GLatLng(locality.geom.lat,locality.geom.lon);
    	addLocalityPoi(point,info,locality.name,locality.district,i);
    }
    
    
    function localities2Links(localities){
    	
    	var title=' <h3 id="scrollerListHeader3">Lokalizacja jest niejednoznaczna, czy chodziło Ci o:</h3> ';
        var str='<ol>';
        if(localities!=null){
	    	for(var i=0;i<localities.length;i++){
	        	
	    		str=str+locality2link(localities[i],i);
			}
        }
		str += '</ol>';
		
    	 
    	

    	
    	var div=document.getElementById("scrollertext");
		div.innerHTML=title;				
		
		var div1=document.getElementById("scrolldiv");
		div1.innerHTML=str;
    	
    	
    }
    function locality2link(locality,i){
    	var info=makeLocalityDescription(locality,i);
    	return info;
    	
    }
    
    function makeLocalityDescriptionXXX(locality,i,flag){
    	var str='';

    	if (i%2 == 0 || flag=="marker") {
			str=str+'<div class="searchpartw">';
		} else {
			str=str+'<div class="searchpartg">';
		}
		
    	
    	str=str+'<div class="number">';
		str=str+(i+1)+'. ';
		
		str=str+'<a onMouseOver="openMarkerInfo('+i+');" onMouseOut="closeMarkersInfo();"  onClick="choosenLocality(';
    	
		str=str+locality.geom.lat;
		str=str+',';
		str=str+locality.geom.lon;
		str=str+",'";
		str=str+locality.name;
		str=str+"','";
		str=str+locality.district+"'";
		str=str+');">';
		
		
		str=str+'<span class="city">';
		str=str+locality.name;
		str=str+'</span></div> </a> <div class="district"> woj. ';
		str=str+locality.county;
		str=str+', powiat ';
		str=str+locality.district;
		str=str+'</div></div>';
	
    		
    	return str;
    }
	
	 function makeLocalityDescription(locality,i,flag){
    	var str='';

    	if (i%2 == 0 || flag=="marker") {
			str=str+'<li class="searchpartw">';
		} else {
			str=str+'<li class="searchpartg">';
		}
		
    	
    	str=str+'<div class="number">';
		//str=str+(i+1)+'. ';
		
		str=str+'<a onMouseOver="openMarkerInfo('+i+');" onMouseOut="closeMarkersInfo();"  onClick="choosenLocality(';
    	
		str=str+locality.geom.lat;
		str=str+',';
		str=str+locality.geom.lon;
		str=str+",'";
		str=str+locality.name;
		str=str+"','";
		str=str+locality.district+"'";
		str=str+');">';
		
		
		str=str+'<span class="city">';
		str=str+locality.name;
		str=str+'</span></div> </a> <div class="district"> woj. ';
		str=str+locality.county;
		str=str+', powiat ';
		str=str+locality.district;
		str=str+'</div></li>';
	
    		
    	return str;
    }
    
     function makeLocalityDescriptionCloud(locality,i){
    	var str='';
		
    	str=str+'<div class="cloud ">';
	
			str=str+'<h3>';
				str=str+locality.name;
			str=str+'</h3>'; 
			str=str+'<p> woj. ';
			str=str+locality.county;
			str=str+', powiat ';
			str=str+locality.district;
			str=str+'</p>';
	
    		
    	return str;
    }
    function createLocality(name,lat,lon,county,district,commune){
    	var locality=new Object();
    	locality.name=name;
    	locality.district=district;
    	locality.county=county;
    	locality.commune=commune;
    	localityGeom=new Object();
    	localityGeom.lon=lon;
    	localityGeom.lat=lat;
    	locality.geom=localityGeom;
    	return locality;
    	
    }
    function createSkiResortsArray(){
    	var array=new Array();
    	var locality=createLocality('Zakopane',49.2956,19.9546,'Małopolskie','tatrzański','Zakopane');
    	array.push(locality);
    	locality=createLocality('Zieleniec',50.338175,16.385851,'Dolnośląskie','kłodzki','Duszniki-Zdrój');
    	array.push(locality);
    	
    	locality=createLocality('Karpacz', 50.7764,15.758,'Dolnośląskie','jeleniogórski','Karpacz');
    	array.push(locality);
    	locality=createLocality('Szczyrk',49.7116, 19.0266,'Śląskie','bielski','Szczyrk');
    	array.push(locality);
    	locality=createLocality('Muszyna',49.3531, 20.895,'Małopolskie','nowosądecki','Muszyna');
    	array.push(locality);
    	locality=createLocality('Korbielów',49.5686,19.3483,'Śląskie','żywiecki','Jeleśnia');
    	array.push(locality);
    	
    	return array;
    }
     
    function addSkiResort(){
    	var resort_array=createSkiResortsArray();
    
    	if(resort_array!=null  && resort_array.length>0){
    		for(var i=0;i<resort_array.length;i++){
    			locality2marker(resort_array[i],null);
    		}	
    	}	
    }
    function grayOut(vis, options) {
    	alert('gray');
    	  // Pass true to gray out screen, false to ungray
    	  // options are optional.  This is a JSON object with the following (optional) properties
    	  // opacity:0-100         // Lower number = less grayout higher = more of a blackout 
    	  // zindex: #             // HTML elements with a higher zindex appear on top of the gray out
    	  // bgcolor: (#xxxxxx)    // Standard RGB Hex color code
    	  // grayOut(true, {'zindex':'50', 'bgcolor':'#0000FF', 'opacity':'70'});
    	  // Because options is JSON opacity/zindex/bgcolor are all optional and can appear
    	  // in any order.  Pass only the properties you need to set.
    	  var options = options || {}; 
    	  var zindex = options.zindex || 50;
    	  var opacity = options.opacity || 70;
    	  var opaque = (opacity / 100);
    	  var bgcolor = options.bgcolor || '#000000';
    	  var dark=document.getElementById('darkenScreenObject');
    	  if (!dark) {
    	    // The dark layer doesn't exist, it's never been created.  So we'll
    	    // create it here and apply some basic styles.
    	    // If you are getting errors in IE see: http://support.microsoft.com/default.aspx/kb/927917
    	    var tbody = document.getElementsByTagName("body")[0];
    	    var tnode = document.createElement('div');           // Create the layer.
    	        tnode.style.position='absolute';                 // Position absolutely
    	        tnode.style.top='0px';                           // In the top
    	        tnode.style.left='0px';                          // Left corner of the page
    	        tnode.style.overflow='hidden';                   // Try to avoid making scroll bars            
    	        tnode.style.display='none';                      // Start out Hidden
    	        tnode.id='darkenScreenObject';                   // Name it so we can find it later
    	    tbody.appendChild(tnode);                            // Add it to the web page
    	    dark=document.getElementById('darkenScreenObject');  // Get the object.
    	  }
    	  if (vis) {
    	    // Calculate the page width and height 
    	    if( document.body && ( document.body.scrollWidth || document.body.scrollHeight ) ) {
    	        var pageWidth = document.body.scrollWidth+'px';
    	        var pageHeight = document.body.scrollHeight+'px';
    	    } else if( document.body.offsetWidth ) {
    	      var pageWidth = document.body.offsetWidth+'px';
    	      var pageHeight = document.body.offsetHeight+'px';
    	    } else {
    	       var pageWidth='100%';
    	       var pageHeight='100%';
    	    }   
    	    //set the shader to cover the entire page and make it visible.
    	    dark.style.opacity=opaque;                      
    	    dark.style.MozOpacity=opaque;                   
    	    dark.style.filter='alpha(opacity='+opacity+')'; 
    	    dark.style.zIndex=zindex;        
    	    dark.style.backgroundColor=bgcolor;  
    	    dark.style.width= pageWidth;
    	    dark.style.height= pageHeight;
    	    dark.style.display='block';                          
    	  } else {
    	     dark.style.display='none';
    	  }
    	}
  
