var dialogIsOpened = false;

//szerokość i wysokość obszaru roboczego
var szerokosc = parseInt(document.documentElement.clientWidth);
var wysokosc = parseInt(document.documentElement.clientHeight);

//szerokość i wysokość tooltipa
var tip_width_standard = 388;
var tip_height_standard = 250;

//rozmiar elementów
var r_naglowek;
var r_stopka;
var r_bar;
var r_bok;
var wysokoscPojedynczegoBoxa;

//ilość linii dla ajaxa do ulubionych
var fav_lines;

/**
*	Zmienne dodawane przy generacji ró&#357;nych linków itp. Mo&#357;na oczywiście je wywoływać przez window.cośtam, ale tak chyba jest szybciej.
*/
var graphicsRoot = 'http://dev.mapgo.pl/portal/C/';
var portalRoot = 'http://dev.mapgo.pl/portal/C/';

if (!console) {
 var con = function () {
  this.log = function (str) {
  }
 }
 var console = new con();
}

$(document).ready(function(){
  jazda();
});

$(window).resize(function() {
  jazda();
});

function jazda(){
  szerokosc = parseInt(document.documentElement.clientWidth);
  wysokosc = parseInt(document.documentElement.clientHeight);

  r_naglowek = parseInt($("#naglowek").css("height"));
  r_stopka = parseInt($("#stopka").css("height"));
  r_bar = parseInt($("#bok h2").css("height"))* ($('#bok h2').length)+6;
  r_bok =  parseInt($("#bok").css("width"));

  ustal = parseInt(wysokosc-r_naglowek-r_stopka);
  wysokoscPojedynczegoBoxa = parseInt(wysokosc-r_naglowek-r_stopka-r_bar);

  if($('.pokazuje_wyszukiwarke').length > 0){
    var wyszu = $('.pokazuje_wyszukiwarke').attr('id').replace('wys_','');
    wysokoscPojedynczegoBoxa = parseInt(wysokosc-r_naglowek-r_stopka-r_bar-130);
  }

  $(".box").css("height",(wysokoscPojedynczegoBoxa)+"px");
  $("#srodek").css("width",(szerokosc-r_bok)+"px");
  $("#srodek").css("height",(wysokosc-r_naglowek-r_stopka)+"px");
}

var akt = 1;

function wyslij_kom(id) {
   var formData = $('#zdj_kom').serialize();
	$.ajax({
	  type: "POST",
	  url: 'dodaj.php',
	  data: formData,
	  success: function(){
	    pokaz_obrazek(id);
	  }
	})
}

function pokaz_ocena(id){
  for(i=1;i<4;i++){
    $("#ocena_"+i).hide();
  }
  $("#ocena_"+id).show();
}

function ocena(p){
  for(i=0;i<p;i++){
    $("#oc"+i).attr({src:"gfx/tip/star_on.png"});
  }
  for(i=p;i<5;i++){
    $("#oc"+i).attr({src:"gfx/tip/star_off.png"});
  }
  $("#oc"+p).attr({src:"gfx/tip/star_on.png"});
}

function ocena_zapis(ocena, obj, id){
   dane = new Object();
	dane.co = 'ocena';
	dane.ocena = ocena;
	dane.obj = obj;
	dane.id = id;
	$.ajax({
	  type: 'POST',
	  url: 'dodaj.php',
	  data: dane,
	  success: function(){
	    pokaz_ocena(3);
	  }
	})
}

function favorites(akcja, obj, id, ex, ey){
   if(obj == 'point'){
	  ajaxpageload('ajax/tooltip.php?akcja=dodaj_nazwe&x='+ex+'&y='+ey,'mapgo_tip_txt',1,'wpisz_nazwe_Bhv()');
	}
	else{
     dane = new Object();
	  dane.co = 'ulubione';
	  dane.akcja = akcja;
	  dane.obj = obj;
	  dane.id = id;
	  dane.ex = ex;
	  dane.ey = ey;
	  $.ajax({
	    type: 'POST',
	    url: 'dodaj.php',
	    data: dane,
	    success: function(msg){

			if(msg == 'ERROR_1'){
			  komunikat('Opcja dostępna dla zalogowanych u&#357;ytkowników');
			}
			else if(msg == 'ERROR_2'){
			  komunikat('Nieoczekiwany błąd.<br />Prosimy spróbować ponownie.');
			}
			else if(msg == 'ERROR_3'){
			  komunikat('Punkt został wcześniej dodany.');
			}
         else{
			  if(msg == 'OK_1'){
			    info('Dodano do ulubionych');
			  }
			  else if(msg == 'OK_2'){
			    info('Usunięto z ulubionych');
			  }

	        if(obj == 'photo'){
			    pokaz_obrazek(id);
		     }
		     else{
             ajaxpageload('ajax/tooltip.php?type='+obj+'&id='+id+'&x='+ex+'&y='+ey,'mapgo_tip_txt',1,'tooltip_Bhv()');
		     }
	        ajaxpageload('ajax/element.php?element=narzedzia&ile='+fav_lines+'&pokaz='+obj,'box_ulubione',2,'narzedziaBhv()');
		     //slideBox('narzedzia');
			}
	    }
	  })
	}
}

/***********************************************
* Dynamic Ajax Content- &#169; Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no)
var loadedobjects=""
var rootdomain="http://"+window.location.hostname
var bustcacheparameter=""

function ajaxpageload(url, containerid, grafa, afterJS){

  pokaz_logo_ajax(grafa, containerid, '');

  $.ajax({
      type: "GET",
      url: url+'&ajax',
      data:'',
      success: function(msg){
	$('#'+containerid).html(msg);
	eval (afterJS);
      }
    });
}

function ajaxpage(url, containerid){
  var page_request = false
  if (window.XMLHttpRequest) // if Mozilla, Safari etc
    page_request = new XMLHttpRequest()
  else if (window.ActiveXObject){ // if IE
    try {
	   page_request = new ActiveXObject("Msxml2.XMLHTTP")
    }
    catch (e){
      try{
        page_request = new ActiveXObject("Microsoft.XMLHTTP")
      }
	   catch (e){}
    }
  }
  else
    return false
  page_request.onreadystatechange=function(){
  loadpage(page_request, containerid)
}

if (bustcachevar) //if bust caching of external page
  bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
  page_request.open('GET', url+bustcacheparameter, true)
  page_request.send(null)
}

function loadpage(page_request, containerid){
  if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
    document.getElementById(containerid).innerHTML=page_request.responseText
}

function pytanie_przekierowanie(tekst,url){
  answer = confirm(tekst)
	if (answer){
		window.location = url;
	}
}

/* funkcja generująca znaczek logowania w dwóch wersjach 1-ciemna,2-jasna*/
function pokaz_logo_ajax(jakie, div, tekst){
  if(tekst == ''){
    var tekst = 'wczytuje dane proszę czekać';
  }

  var grafa = '';
  var kolor = '';

  if(jakie == 1){
    kolor = "000";
	 grafa = "gfx/ajax_loader1.gif";
  }
  else if(jakie == 2){
    kolor = "fff";
	 grafa = "gfx/ajax-loader.gif";
  }

  $("#"+div).html('<div style="text-align:center; color:#'+kolor+'"><img src="'+grafa+'" alt="" /><br />'+tekst+'</div>');
}

function setCookie(sName, sValue){
  var bakery = escape(sName) + "=" + encodeURIComponent(sValue);
  var date = new Date();
  date.setMonth(date.getYear()+1);
  bakery += ("; expires=" + date.toUTCString());
  document.cookie = bakery;
}

function getCookieVal (offset) {
  var kWyr = document.cookie.indexOf (";", offset);
  if (kWyr == -1){
    kWyr = document.cookie.length;
		}
  return unescape(document.cookie.substring(offset, kWyr));
}

function getCookie (name) {
  var arg = name + "=";
  var alen = arg.length;
  var clen = document.cookie.length;
  var i = 0;
  while (i < clen) {
    var j = i + alen;
    if (document.cookie.substring(i, j) == arg)
      return getCookieVal (j);
      i = document.cookie.indexOf(" ", i) + 1;
      if (i == 0) break;
    }
  return false;
}

function pageIt (object, page, height, obType) {
	console.log (object);
  var obj = object.getElementsByTagName (obType);

  var aPage = 0;
  var aHeight = 0;
  var dataP = Array();
  dataP[0] = '';
  for (var a=0; a<obj.length; a++){
    obj[a].style.display = "block";

    if (aHeight + obj[a].offsetHeight > height) {

      aPage++;
      aHeight = 0;
      dataP.push ('');

    }
    aHeight += obj[a].offsetHeight;

    if (aPage == page) {
      obj[a].style.display = "block";
    }  else {
      obj[a].style.display = "none";
    }
  }

  if (page == 0) {
    var previous = '<span> <img src = "gfx/scroll02_rght.png" alt = "następna strona" /> </span>';
  } else {
    var previous = '<span onclick = "pageIt (document.getElementById(\''+object.id+'\'), '+(page-1)+', '+height+', \''+obType+'\')"  style = " cursor:pointer;"> <img src = "gfx/scroll02_rght.png" alt = "następna strona" /> </span>';
  }

  if (page == aPage) {
    var next = '<span> <img src = "gfx/scroll02_lft.png" alt = "następna strona" /> </span>';
  } else {
    var next = '<span onclick = "pageIt (document.getElementById(\''+object.id+'\'), '+(page+1)+', '+height+', \''+obType+'\');" style = " cursor:pointer;"> <img src = "gfx/scroll02_lft.png" alt = "następna strona" /> </span>';
  }
  var pager = previous + ' ' + (page+1) + '/'+(aPage+1)+' ' + next;
  if (aPage == 0 ) {
      pager = '';
  }
  spany = object.getElementsByTagName ('span');

  if (typeof (spany[0]) == 'object') {
    var o = false;
    for (var f=0; f<spany.length; f++){
      if (spany[f].className == 'pager') {
          spany[f].innerHTML = pager;
          o = true;
      }
    }
    if (o == false ) {
    object.innerHTML = '<span class = "pager" style="top:20px;">'+pager+'</span>' + object.innerHTML + '<span class = "pager" style="top:430px;">'+pager+'</span>';
    }
  } else {
    object.innerHTML = '<span class = "pager" style="top:20px;">'+pager+'</span>' + object.innerHTML + '<span class = "pager" style="top:430px;">'+pager+'</span>';
   }

}


$(function () {
	// IE button links fix, probably?
	ieSomethingStrangeFix();
});

function ieSomethingStrangeFix() {
	if (document.all){

	$('button',$('a')).click (function () {

		var href =  $(this).parent('a').attr('href');
		//alert (href);
		window.location = href;
	});
	}
}

function getHrefParameter (parameter, addr) {
  var pars = addr.split('&');
  for (var a=0; a<pars.length; a++){
    if (a==0) { pars[a] = pars[a].split('?')[1]; }
    var t = pars[a].split('=');
    if (t[0] == parameter) { return t[1]; }
  }
  return false;
}

/*
*	wkleja ikonkę markera w zadanym miejscu
*/
function pasteIcon (x,y){
  markerIcons = Array();
  icon1=new MapgoIcon();
  icon1.image='http://www.mapgo.pl/mapgo/gfx/markerA.png';
  icon1.width=24;
  icon1.height=12;
	 icon1.icon_offx=-24;
  icon1.icon_offy=-38;
  icon1.id = 'marker';
  icon1.tip_width=388;
  icon1.tip_height=220;
  icon1.descr='';
  icon1.lon=x;
  icon1.lat=y;
  markerIcons.push(icon1);
  mapobject.removeLayer ('marker');
  mapobject.addIconsToMap(markerIcons,'marker');
}


