var glosa_dioda = 0;
var komentarze_dioda = 0;
var krotnosc = false;
var mgr;
var map;
var mouseX, mouseY;
var resizable = false;
var resizedX, resizedY;
var wymiarW = 680;
var wymiarH = 270;
//------------ obsluga komentarzy i glos ------------------
function ggle_gloskom_lats(elm) {
	if(!$('map_canvas')) {
		alert('aby korzystać z systemowych map przy komentarzach,'+ "\n" +' musisz najpierw dodać mapę do atykułu.');
		return false;
	}

	ggle_gloskom_zeruj_latlng();
	switch (elm.id) {
		case 'glosa_lats':
			if(glosa_dioda == 1) {
				glosa_dioda = 0;
			}
			else
			{
				glosa_dioda = 1;
				komentarze_dioda = 0;
				$('glosa_lats').setStyle({background:'lime'});
			}
		break;
		case 'komentarze_lats':
			if(komentarze_dioda == 1) {
				komentarze_dioda = 0;
			}
			else
			{
				komentarze_dioda = 1;
				glosa_dioda = 0;
				$('komentarze_lats').setStyle({background:'lime'});
			}
		break;
	};
}

function ggle_gloskom_zeruj_latlng() {
	if($('glosa_latitude')) {
		$('glosa_lats').setStyle({background:'red'});
		$('glosa_latitude').value = '';
		$('glosa_lat_div').innerHTML = $('glosa_latitude').value;		
	}
	if($('komentarze_latitude')) {
		$('komentarze_lats').setStyle({background:'red'});
		$('komentarze_latitude').value = '';
		$('komentarze_lat_div').innerHTML = $('komentarze_latitude').value;
	}
}

function ggle_gloskom_lat(wpis) {
	if(komentarze_dioda) {
		$('komentarze_latitude').value = wpis;
		$('komentarze_lat_div').innerHTML = $('komentarze_latitude').value;
	}
	else if(glosa_dioda) {
		$('glosa_latitude').value = wpis;
		$('glosa_lat_div').innerHTML = $('glosa_latitude').value;
	}
	else
	{
		ggle_gloskom_zeruj_latlng();
	}
}
//---------- przycisk zmiany rozmiaru mapy -----------------------------

var map_Przycisk_resize = Class.create();
map_Przycisk_resize.prototype = Object({
	initialize: function(map, event) {
		this.map = map;
		var diva = document.createElement("div");
		diva.setStyle({width:"25px", height:"25px", background:"red",float:"right", position:"relative", top:"-45px", cursor:"pointer"});
		diva.setAttribute("id", "maphand");
		diva.observe( "mousedown", map_drag_now, true );
		diva.observe( "mousemove", map_drag_me, true );
		this.div = diva;
		Event.observe(window,"mouseup",map_drag_stop);
		Event.observe(window,"mousemove",map_drag_me);
	}
});


function map_drag_now () {
		resizable = true;
		$("maphand").setStyle({background:"url(image/green.png)"});
	}

function map_drag_stop () {
		resizable = false;
		$("maphand").setStyle({background:"url(image/red.png)"});
	}

function map_drag_me(event) {
		okno = document.viewport.getScrollOffsets();
		var sx = okno.top;
  		var sy = okno.left;
		  mouseX = event.clientX + sx;
		  mouseY = event.clientY + sy;
		 var deltaX = mouseX - resizedX;
 		 var deltaY = mouseY - resizedY;
 		 resizedX = mouseX;
  		resizedY = mouseY;
		if(resizable) {
			$("maphand").setStyle({background:"url(image/green.png)"});
			changeMapSize(deltaX, deltaY);
		}
		else
		{
			$("maphand").setStyle({background:"url(image/red.png)"});
		}
	}

function changeMapSize(dx, dy) {

  var mapdiv = $("map_canvas");
  var dragdiv = $("drag");
  var mwidth = parseInt(mapdiv.style.width) + dx;
  var mheight =  parseInt(mapdiv.style.height) + dy;
  var dwidth = parseInt(dragdiv.style.width) + dx;
  var dheight =  parseInt(dragdiv.style.height) + dy;

  mwidth < wymiarW?mwidth = parseInt(mapdiv.style.width):false;
  mheight < wymiarH?mheight = parseInt(mapdiv.style.height):false;
  dwidth < wymiarW?dwidth = parseInt(dragdiv.style.width):false;
  dheight < (wymiarH + 24)?dheight = parseInt(dragdiv.style.height):false;

  mapdiv.style.width = (mwidth) + "px";
  mapdiv.style.height= (mheight) + "px";
  dragdiv.style.width = (dwidth) + "px";
  dragdiv.style.height= (dheight) + "px";
  google.maps.event.trigger (map, "resize");
 } 

function dodomu() {
  	$("drag").setStyle({width:wymiarW + "px",height:wymiarH + 25 + "px",left:"5px",top:"5px"});
	$("map_canvas").setStyle({width:wymiarW + "px",height:wymiarH + "px"});
 	 google.maps.event.trigger (map, "resize");
 } 	

function toTable(dane) {
  var aaax = dane.replace("(","");
  dane = aaax.replace(")","");
  var tab = explode(",", dane);
  return tab;
}

function explode (delimiter, string, limit) {
    // Splits a string on string separator and return array of components. If limit is positive only limit number of components is returned. If limit is negative all components except the last abs(limit) are returned.  
    // 
    // version: 1009.2513
    // discuss at: http://phpjs.org/functions/explode    // +     original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +     improved by: kenneth
    // +     improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +     improved by: d3x
    // +     bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)    // *     example 1: explode(' ', 'Kevin van Zonneveld');
    // *     returns 1: {0: 'Kevin', 1: 'van', 2: 'Zonneveld'}
    // *     example 2: explode('=', 'a=bc=d', 2);
    // *     returns 2: ['a', 'bc=d']
     var emptyArray = { 0: '' };
    
    // third argument is not required
    if ( arguments.length < 2 ||
        typeof arguments[0] == 'undefined' ||        typeof arguments[1] == 'undefined' ) {
        return null;
    }
 
    if ( delimiter === '' ||        delimiter === false ||
        delimiter === null ) {
        return false;
    }
     if ( typeof delimiter == 'function' ||
        typeof delimiter == 'object' ||
        typeof string == 'function' ||
        typeof string == 'object' ) {
        return emptyArray;    }
 
    if ( delimiter === true ) {
        delimiter = '1';
    }    
    if (!limit) {
        return string.toString().split(delimiter.toString());
    } else {
        // support for limit argument        var splitted = string.toString().split(delimiter.toString());
        var partA = splitted.splice(0, limit - 1);
        var partB = splitted.join(delimiter.toString());
        partA.push(partB);
        return partA;    }
}
//------------------------------------------------------------------------------

