

function drawRegion1(Mapa, punkty, showCorners, index, map)
{							
	Mapa.polygons[index] != undefined ? map.removeOverlay(Mapa.polygons[index]) : false;
	var tabpom = new Array();				
	for ( var i = 0; i < punkty.length; i++ )														
		tabpom.push(new GLatLng(punkty[i].y, punkty[i].x));						
	tabpom.push(tabpom[0]);						
	Mapa.polygons[index] = new GPolygon(tabpom, "#f33f00", 2, 0.5, "#ff0000", 0.2);		
	map.addOverlay(Mapa.polygons[index]);										
}
				
function addCenterMarker1(Mapa, y, x, opis, nazwa, punkty, enableDrag, index, adres, map)
{
	
	var greenIcon = new GIcon(G_DEFAULT_ICON);
   greenIcon.image = "http://gmaps-samples.googlecode.com/svn/trunk/markers/green/blank.png";	      
   
   Mapa.CenterMarkers[index] != undefined ?  map.removeOverlay(Mapa.CenterMarkers[index]) : false;
        			
	Mapa.CenterMarkers[index] = new GMarker(new GLatLng(y, x), {draggable: true, icon: greenIcon});
	
	Mapa.CenterMarkers[index].htmlOpis = '<div style="color: #035b21; width:250px; font-weight: bold; margin-top:6px; margin-bottom:6px;">' + nazwa + '</div><div style="width:250px;" >' + str_replace("\n","<br />",opis) + '</div>';

																
												
	Mapa.CenterMarkers[index].adres = adres;
	
	enableDrag ? Mapa.CenterMarkers[index].enableDragging() : Mapa.CenterMarkers[index].disableDragging();
	
	map.addOverlay(Mapa.CenterMarkers[index]);
	
	
	GEvent.addListener
	(
		Mapa.CenterMarkers[index], "mouseover",
		function() 
		{				
			Mapa.CenterMarkers[index].openInfoWindowHtml(Mapa.CenterMarkers[index].htmlOpis);
		}
	);
	
	GEvent.addListener
	(
		Mapa.CenterMarkers[index], "mouseout",
		function() 
		{				
			Mapa.CenterMarkers[index].closeInfoWindow();
		}
	);
	
	GEvent.addListener
	(
		Mapa.CenterMarkers[index], "click",
		function() 
		{				
			 location.href=this.adres; 
		}
	);
}
 				  	



function prepareGoogleMap(param, unique, x, y, zoom)
{
	var Mapa = new Object();	   
	Mapa.Obszary = new Array();
	   		
	
	Mapa.unique = unique; 
	Mapa.x = x;
	Mapa.y = y;
	Mapa.zoom = zoom;  		
	param != undefined && param != false && param != null ? param = base64_decode(param) : param = '';
   	
	if ((param != "") && param)   
   {  
   	var pomMapa = unserialize(param);
   	pomMapa.Obszary.length = count(pomMapa.Obszary)-1;
   }
   else   
   {   
   	var pomMapa = new Object();   
   	pomMapa.Obszary = new Array();   	
   }
			   
			   
			   
	   		
	for (var i=0; i<pomMapa.Obszary.length; i++)
   {
   	var obszar = new Object();
   	obszar.nazwa = pomMapa.Obszary[i].nazwa;
   	obszar.opis = pomMapa.Obszary[i].opis;
   	obszar.adres = pomMapa.Obszary[i].adres;
   	obszar.zoomLevel = pomMapa.Obszary[i].zoomLevel;
   	obszar.punkty = new Array();
   	obszar.center = new Object();
   	obszar.center.x =  pomMapa.Obszary[i].center.x;
   	obszar.center.y =  pomMapa.Obszary[i].center.y;   	
   	 
   	pomMapa.Obszary[i].punkty.length = count(pomMapa.Obszary[i].punkty) - 1;   	
   	for (var j=0; j<pomMapa.Obszary[i].punkty.length; j++)
   	{
   		var punkt = new Object();
   		punkt.x = pomMapa.Obszary[i].punkty[j].x;
   		punkt.y = pomMapa.Obszary[i].punkty[j].y;
   		obszar.punkty.push(punkt);   		
   	}    	
   	Mapa.Obszary.push(obszar);   	   	
   }	   		
	
	
	Mapa.polygons = new Array();   
   Mapa.Markers = new Array();
   Mapa.CenterMarkers = new Array();
	return Mapa; 
	   	   
}

function displayMap(Mapa)
{						

	if (GBrowserIsCompatible()) 
   { 
   	
		map = new GMap2(document.getElementById("googleMaps" + Mapa.unique)); 
		map.setCenter(new GLatLng(Mapa.y,Mapa.x),Mapa.zoom); 
		map.setUIToDefault();
		
		GEvent.addListener
		(
			map,"zoomend",
			function(oldLevel, newLevel)
			{								
					for (var i=0; i<Mapa.Obszary.length; i++)
					{
						if (Mapa.Obszary[i]['zoomLevel'] > newLevel)
							map.removeOverlay(polygons[i]);
						else
							map.addOverlay(polygons[i]);							
					}					
			}
   	);
   					   	
   	//wyrysuj początkowe obszary pobrane z bazy danych	
		for ( var i=0; i<Mapa.Obszary.length; i++)
		{
			drawRegion1(Mapa, Mapa.Obszary[i].punkty, false, i, map);																		
			addCenterMarker1(Mapa, Mapa.Obszary[i].center.y, Mapa.Obszary[i].center.x, Base64.decode(Mapa.Obszary[i].opis), Base64.decode(Mapa.Obszary[i].nazwa), Mapa.Obszary[i].punkty, false, i, Mapa.Obszary[i].adres, map );							
		}	
		
	 }
};









function getPos(obj)
{	
	var lft = obj.offsetLeft;
	var top = obj.offsetTop;
	while(obj.offsetParent!=null)
	{
		var par = obj.offsetParent;
		lft += par.offsetLeft;
		top += par.offsetTop;
		obj = par;
	}
	return [lft,top];
}



function ie6banneClick(e)
{
	var pos = getPos(e) 
	
	
	
	
	var y = event.clientY + document.documentElement.scrollTop;
	var x = (event.clientX + document.documentElement.scrollLeft) - pos[0];
	
	
	if (x > 883 && x < 915 && y>296 && y<315)
	{
		
		prevImgCMS();
	}
	
	if (x>915 && x<937 && y>296 && y<315)
	{		
		nextImgCMS();
	}
}




function startscrollCMS()
{
	if (isIE() || isSafari() || isOpera())
	{	
		//alert(document.getElementById('scrollKontener'));							      										
		scrollCMS_DG = new Fx.Scroll2('scrollKontener',{ link: 'chain', duration: 1, transition: Fx.Transitions.Quad.easeInOut } );
	}
	else					         									
	{
		scrollCMS_DG = new Fx.Scroll('scrollKontener', {link: 'chain', duration: 1, transition: Fx.Transitions.Quad.easeInOut } );
	}
	
	wybranyBannerDG=Math.floor(Math.random()*ileBannerowDG) + 1;
	scrollCMS_DG.toElement(uniqueBannerId + '_img' + wybranyBannerDG);
	
	delete scrollCMS_DG;
	if (isIE() || isSafari() || isOpera()) 
	{        										
		scrollCMS_DG = new Fx.Scroll2('scrollKontener',{ link: 'chain', duration: 2000, transition: Fx.Transitions.Quad.easeInOut } );
	}
	else					         									
		scrollCMS_DG = new Fx.Scroll('scrollKontener', {link: 'chain', duration: 2000, transition: Fx.Transitions.Quad.easeInOut } );
	
	
};
function prevImgCMS()
{										
	wybranyBannerDG != 1 ? scrollCMS_DG.toElement(uniqueBannerId + '_img' + --wybranyBannerDG) : false;
	return false;
}
function nextImgCMS()
{					
	wybranyBannerDG != ileBannerowDG ? scrollCMS_DG.toElement(uniqueBannerId + '_img' + ++wybranyBannerDG) : false;					
	return false;
}










 function CreateBookmarkLink(title,url) 
 {
    
 	if (window.sidebar) 
 	{ 
 		//Mozilla Firefox Bookmark
		window.sidebar.addPanel(title, url,"");
	} 
 	else if( window.external ) 
 	{ 
 		//IE Favorite
		window.external.AddFavorite( url, title); 
 	}
	else if(window.opera && window.print) 
	{ 
		//Opera Hotlist
		return true; 
	}
}


function DodajDoUlubionych(title,url,desc)
{
	if (window.external) 
	{
	 document.write('<a class="stopkaHref" href = "javascript:CreateBookmarkLink('+"'"+title+"','"+url+"'"+');">'+desc+'</a>'); 
	} 
	else  if (window.sidebar) 
	{
	  	 document.write('<a class="stopkaHref" href = "javascript:CreateBookmarkLink('+"'"+title+"','"+url+"'"+');">'+desc+'</a>'); 
	} 
	else if (window.opera && window.print) 
	{	
	   document.write('<a class="stopkaHref" href = "javascript:CreateBookmarkLink('+"'"+title+"','"+url+"'"+');">'+desc+'</a>');
	} 
}

 //funkcja sprawdza czy używana przeglądarka to Internet Explorer
 function isIE()
 {
 	if (navigator.appName == "Microsoft Internet Explorer")
 		return true;
 	else
 		return false; 		
 }
 function isOpera()
 {
 	if (navigator.appName == "Opera")
 		return true;
 	else
 		return false;
 } 
function isSafari()
 {
	if (navigator.appName == "Netscape")
		return true;
	else
		return false;
 }




/**
*
*  Base64 encode / decode
*  http://www.webtoolkit.info/
*
**/
 
var Base64 = {
 
	// private property
	_keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
 
	// public method for encoding
	encode : function (input) {
		var output = "";
		var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
		var i = 0;
 
		input = Base64._utf8_encode(input);
 
		while (i < input.length) {
 
			chr1 = input.charCodeAt(i++);
			chr2 = input.charCodeAt(i++);
			chr3 = input.charCodeAt(i++);
 
			enc1 = chr1 >> 2;
			enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
			enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
			enc4 = chr3 & 63;
 
			if (isNaN(chr2)) {
				enc3 = enc4 = 64;
			} else if (isNaN(chr3)) {
				enc4 = 64;
			}
 
			output = output +
			this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
			this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);
 
		}
 
		return output;
	},
 
	// public method for decoding
	decode : function (input) {
		var output = "";
		var chr1, chr2, chr3;
		var enc1, enc2, enc3, enc4;
		var i = 0;
 
		input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
 
		while (i < input.length) {
 
			enc1 = this._keyStr.indexOf(input.charAt(i++));
			enc2 = this._keyStr.indexOf(input.charAt(i++));
			enc3 = this._keyStr.indexOf(input.charAt(i++));
			enc4 = this._keyStr.indexOf(input.charAt(i++));
 
			chr1 = (enc1 << 2) | (enc2 >> 4);
			chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
			chr3 = ((enc3 & 3) << 6) | enc4;
 
			output = output + String.fromCharCode(chr1);
 
			if (enc3 != 64) {
				output = output + String.fromCharCode(chr2);
			}
			if (enc4 != 64) {
				output = output + String.fromCharCode(chr3);
			}
 
		}
 
		output = Base64._utf8_decode(output);
 
		return output;
 
	},
 
	// private method for UTF-8 encoding
	_utf8_encode : function (string) {
		string = string.replace(/\r\n/g,"\n");
		var utftext = "";
 
		for (var n = 0; n < string.length; n++) {
 
			var c = string.charCodeAt(n);
 
			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}
 
		}
 
		return utftext;
	},
 
	// private method for UTF-8 decoding
	_utf8_decode : function (utftext) {
		var string = "";
		var i = 0;
		var c = c1 = c2 = 0;
 
		while ( i < utftext.length ) {
 
			c = utftext.charCodeAt(i);
 
			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			}
			else if((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			}
			else {
				c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}
 
		}
 
		return string;
	}
}

















function Object2Array(obj)
{
	
 	var array = new Object();
 	for(prop in obj)
 	{ 			
 		array[prop] = obj[prop];		
 	}
 		
 	return array;
} 




//funkcja ukrywa fragment strony zawarty pomiędzy znacznikami "warstwa"
function ukryj (warstwa) 
{ 
	document.getElementById([warstwa]).style.display = "none"; 		
	return false;
}

//funkcja cofa ukrywanie fragmentu strony zawartego pomiędzy znacznikami "warstwa"
function pokaz (warstwa) 
{ 
	document.getElementById([warstwa]).style.display = "block";	
}


function sprawdzDodawanieElementu(formularz)
{
    var pom = formularz.form;
    for (i = 0; i < pom.length; i++)
	{
		var pole = pom.elements[i];
		if (!pole.disabled && !pole.readonly && (pole.type == "text" || pole.type == "password" || pole.type == "textarea") && pole.value == "")
		{
			alert("Proszę wypełnić wszystkie pola!");
			return false;
		}
		
		if (pole.type == "radio")
		{
		    if (pole.checked == true) 
		        return true;		    
		}
	}
	
	alert("Proszę wybrać rodzaj pozycji!");
	return false;
}

function sprawdzLogowanie(formularz)
{       
	for (i = 0; i < formularz.length; i++)
	{
		var pole = formularz.elements[i];
		if (!pole.disabled && !pole.readonly && (pole.type == "text" || pole.type == "textarea") && pole.value == "")
		{
			alert("Pole nazwa użytkownika jest wymagane!");
			return false;
		}
	}		
	return true;
}

function sprawdzDodawanieUsera(formularz)
{
    var pom = formularz.form;   
    for (i = 0; i < pom.length; i++)
	{
		var pole = pom.elements[i];
		
		var dana = pole.value;
						
		if (!pole.disabled && !pole.readonly && (pole.type == "text" || pole.type == "password" || pole.type == "textarea") && pole.value == "")
		{
			alert("Proszę wypelnić wszystkie pola!");
			return false;
		}
		
		if (pole.type == "radio" && pole.name=="nowy")
		{			
		    if (pole.checked == true) 
		        return true;		    
		}
	}
	
	alert("Proszę wybrać typ użytkownika!");
	return false;
}

function sprawdzEdycjeUsera(formularz)
{
    var pom = formularz.form;
    for (i = 0; i < pom.length; i++)
	{
		var pole = pom.elements[i];
		
		var dana = pole.value;
						
		if (!pole.disabled && !pole.readonly && (pole.type == "text" && pole.name== "nazwa") && pole.value == "")
		{
			alert("Pole nazwa użytkownika jest wymagane!");
			return false;
		}
			
	}
	
	
	return true;
}

function checkEditUserFull(formularz)
{ 
    var pom = formularz.form;  
    for (i = 0; i < pom.length; i++)
	{
		var pole = pom.elements[i];				
		
		if (pole.type == "password" && pole.name== "newpass") 
		    var newpass = pole.value;
		if (pole.type == "password" && pole.name== "confpass") 
		    var confpass = pole.value;
						
		if ((pole.type == "text" && pole.name== "nazwa") && pole.value == "")
		{
			alert("Pole nazwa użytkownika jest wymagane!");
			return false;
		}				
	}
	
	if (newpass != confpass)
	{
	    alert("Hasło i potwierdzenie nie są identyczne");
	    return false;
	}
	
	
	return true;
}

function sprawdzPierwszyRaz(formularz)
{
    var pom = formularz.form;  
    for (i = 0; i < pom.length; i++)
	{
		var pole = pom.elements[i];												
		if ((pole.type == "text" || pole.type== "textarea" || pole.type== "file") && pole.value == "")
		{
			alert("Wypełnij wszystkie pola!");
			return false;
		}				
	}
	
	return true;
}


