function firefoxScrollBug_FIX()
{
 if(window.pageYOffset)
 {
  var sc = window.pageYOffset;
  scrollTo(0,0);
  scrollTo(0,sc);
 }
}

function follow(evt) 
{
 if(document.getElementById) 
 {
  var obj = document.getElementById(divName).style;
  obj.left = (parseInt(mouseX(evt))+offX) + 'px';
  obj.top = (parseInt(mouseY(evt))+offY) + 'px';
 }
}

function mouseX(evt){if (!evt) evt = window.event; if (evt.pageX) return evt.pageX; else if (evt.clientX)return evt.clientX + (document.documentElement.scrollLeft ?  document.documentElement.scrollLeft : document.body.scrollLeft); else return 0;}
function mouseY(evt){if (!evt) evt = window.event; if (evt.pageY) return evt.pageY; else if (evt.clientY)return evt.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop); else return 0;}

divName = "flyout_layer";
document.onmousemove = function(){};

var offX = 15;
var offY = 15;

function showFlyout(id,text)
{
 divName = id;
 writit(text,id);
 document.onmousemove = follow;

 var flyout = document.getElementById(id);
 showElement(flyout);
}

function hideFlyout(id)
{
 document.onmousemove = function(){};
 
 var flyout = document.getElementById(id);
 hideElement(flyout);
}

function getPosition(e) 
{
 e = e || window.event;
 var cursor = {x:0, y:0};
 
 if(e.pageX || e.pageY) 
 {
  cursor.x = e.pageX;
  cursor.y = e.pageY;
 } 
 else 
 {
  var de = document.documentElement;
  var b = document.body;
  
  cursor.x = e.clientX + (de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
  cursor.y = e.clientY + (de.scrollTop || b.scrollTop) - (de.clientTop || 0);
 }
 
 return cursor;
}

function writit(text,id)
{
 if (document.getElementById)
 {
	x = document.getElementById(id);
	x.innerHTML = '';
	x.innerHTML = text;
 }
 else if (document.all)
 {
	x = document.all[id];
	x.innerHTML = text;
 }
 else if (document.layers)
 {
	x = document.layers[id];
	text2 = '<P CLASS="testclass">' + text + '</P>';
	x.document.open();
	x.document.write(text2);
	x.document.close();
 }
}

function sprawdzEmail(adres) 
{
 if(adres != "") 
 {
  var re = new RegExp("[^@]{1,}[@]{1}[^@.]{1,}[.]{1}[^@]{1,}","gi");
  var wynik = re.test(adres);
  return wynik;
 }
 return false;
}

function showResultField()
{
 var fields = document.getElementById('zapytanieFormFields');
 var submit = document.getElementById('zapytanieFormSubmit');
 var result = document.getElementById('resultTable');
 
 hideElement(fields);
 hideElement(submit);
 showElement(result);
}

function cleanZapytanieForm()
{
 document.zapytanie_form.imie.value="";
 document.zapytanie_form.telefon.value="";
 document.zapytanie_form.email.value="";
 document.zapytanie_form.tresc.value="";
 
 writit("","resultArea");
 var result = document.getElementById('resultTable');
 hideElement(result); 
}

function checkZapytanieForm()
{ 
 if(document.zapytanie_form.imie.value=="")
 {
  alert('Proszę podać imię, nazwisko');
  return false;
 }
 
 if(document.zapytanie_form.telefon.value=="" && document.zapytanie_form.email.value=="")
 {
  alert('Proszę podać numer telefonu lub e-mail');
  return false;
 }

 if(document.zapytanie_form.email.value!="")
 if(!sprawdzEmail(document.zapytanie_form.email.value))
 {
  alert('Proszę podać poprawny adres e-mail');
  return false;
 } 
 
 /*if(document.zapytanie_form.tresc.value=="")
 {
  alert('Proszę wypełnić treść zapytania');
  return false;
 }*/
 
 return true;
}

function showZapytanieForm()
{
 scroll(0,0);

 var background = document.getElementById('overlay_bg');	
 var formlayer = document.getElementById('form_layer');
 	
 showElement(background);
 showElement(formlayer);

 window.onscroll = function() {scroll(0,0);}		
 window.onresize = function() 
 {
	window.onscroll = function() {};
	window.onresize = function() {};
 }
}

function hideZapytanieForm()
{
 var background=document.getElementById('overlay_bg');		
 var formlayer = document.getElementById('form_layer');
 
 hideElement(background); 
 hideElement(formlayer);

 window.onscroll = function() {};
 window.onresize = function() {};
 
 var fields = document.getElementById('zapytanieFormFields');
 var submit = document.getElementById('zapytanieFormSubmit');
 
 showElement(fields);
 showElement(submit); 
 
 cleanZapytanieForm();
}

function showPhoto(source_id, description)
{
 scroll(0,0);

 var background = document.getElementById('overlay_bg');	
 var frame = document.getElementById('photo_frame');
 var img = document.getElementById('galleryImage');
 var loading_info = document.getElementById('loading_info');
 var off=document.documentElement.scrollTop;

 showElement(background);
 //showElement(frame);
  
 var next_i = document.getElementById('next_image');
 var prev_i = document.getElementById('prev_image');
    
 selected = source_id;
 //writit(photos[selected][1] + (photos[selected][2]?('<br />' + photos[selected][2]):''),'galleryImageDesc');
 writit(photos[selected][1],'galleryImageDesc');
   
 if(!hasPrevImg())
 hideElement(prev_i);
 else
 showElement(prev_i);
  
 if(!hasNextImg())
 hideElement(next_i);
 else
 showElement(next_i);
  
 window.onscroll = function() {document.documentElement.scrollTop = off;}	
 window.onresize = function() 
 {
  hidePhoto();
 }

 frame.style.visibility='hidden';
 frame.style.display='';

 showElement(loading_info);
 img.src = "";
 img.src = photos[selected][0];
 
 //loading_info.style.top=((document.documentElement.clientHeight - loading_info.offsetHeight) / 2) + 'px';
 //loading_info.style.left=((document.documentElement.clientWidth - loading_info.offsetWidth) / 2) + 'px';

 img.onload = function()
 {		
  //showElement(background);
	//frame.style.left = ((document.documentElement.clientWidth / 2) - ((img.width + 56)/2)) + 'px';
	//frame.style.top = getScrollYOffset() + ((document.documentElement.clientHeight / 2) - ((img.height + 56)/2)) + 'px';
		
	//background.style.top = document.documentElement.scrollTop + 'px';
  
  hideElement(loading_info);
	showElement(frame);
 }
}

function showPhotoBudowa(id,source_id,description)
{
 scroll(0,0);
 photos=id;
 var background = document.getElementById('overlay_bg');	
 var frame = document.getElementById('photo_frame');
 var img = document.getElementById('galleryImage');
 var loading_info = document.getElementById('loading_info');
 var off=document.documentElement.scrollTop;
 showElement(background);
 var next_i = document.getElementById('next_image');
 var prev_i = document.getElementById('prev_image');
 selected = source_id;
 writit(photos[selected][1] ,'galleryImageDesc');
   
 if(!hasPrevImg())
 hideElement(prev_i);
 else
 showElement(prev_i);
  
 if(!hasNextImg())
 hideElement(next_i);
 else
 showElement(next_i);
  
 window.onscroll = function() {document.documentElement.scrollTop = off;}	
 window.onresize = function() 
 {
  hidePhoto();
 }

 frame.style.visibility='hidden';
 frame.style.display='';

 showElement(loading_info);
 img.src = "";
 img.src = photos[selected][0];

 img.onload = function()
 {		
  hideElement(loading_info);
	showElement(frame);
 }
}

function nextPhoto()
{
 if(photos[selected+1])
 {
	selected=selected+1;
 }

 showPhoto(selected);
}

function prevPhoto()
{
 if(selected>0)
 {
  selected=selected-1;
 }
 showPhoto(selected);
}

function hidePhoto()
{
 var background=document.getElementById('overlay_bg');		
 var frame = document.getElementById('photo_frame');
 var loading_info = document.getElementById('loading_info');

 hideElement(background); 
 hideElement(frame);
 hideElement(loading_info);

 window.onscroll = function() {};
 window.onresize = function() {};
 //scroll(0,400);
}

function getImageURL(i)
{
 if(i<(photos.length-1))
 return photos[i][0];
 return '';
}

function hasNextImg()
{
 if(selected<(photos.length-1))
 return true;
 
 return false;
}

function hasPrevImg()
{
 if(selected>0)return true;
}

function showElement(element)
{
	element.style.visibility='';
	element.style.display='';
}

function hideElement(element)
{
	element.style.visibility='hidden';
	element.style.display='none';
}

function centerElement(element)
{
	element.style.left=( (document.documentElement.clientWidth - element.width) / 2 ) - 5 + 'px';
	element.style.top=( (document.documentElement.clientHeight - element.height) / 2 ) + document.documentElement.scrollTop - 12 + 'px';
}

function getScrollYOffset()
{
 var y = 0;
 
 if (self.pageYOffset) // all except Explorer
 {
	y = self.pageYOffset;
 }
 else if(document.documentElement && document.documentElement.scrollTop)// Explorer 6 Strict
 {
	y = document.documentElement.scrollTop;
 }
 else if(document.body) // all other Explorers
 {
	y = document.body.scrollTop;
 }
 
 return y;
}
