// JavaScript Document
ns6 = (document.getElementById && ! document.all) ? true : false;
ie4 = (document.all && ! window.opera) ? true : false;
ie7 = (window.ActiveXObject) ? true : false;
opera = (window.opera) ? true : false;


function getElementsByClass(className, type){
	   var all = document.getElementsByTagName(type);
	   var elements = new Array();
	   var z = 0;
	   for (var i = 0; i < all.length; i ++ )
	   if (all[i].className == className)
	   {
		  elements[z] = all[i];
		  z ++
	   }
	   return elements;
	}
function getObj(id){
	if(ie4) return document.all[id]
	else return document.getElementById(id);
}
function setOpacity(id,value){
	var obj = getObj(id);
	if(ns6 || opera) obj.style.opacity = (value / 100);
	if(ie4 || ie7)   obj.style.filter = 'alpha(opacity='+value+')';
}
var counter = 0;
function changeTabs(){
		var active = getElementsByClass('active', 'div');
		var unactive = getElementsByClass('unactive', 'div'); 
		var unactiveBox = getElementsByClass('unactive_content','div');
		var activeBox = getElementsByClass('active_content','div');
		for (var i=0; i<unactive.length; i++){
			unactive[i].onclick = function(){
				this.className = 'active';
				var content = getObj('bbx'+cutStr(this.id,1))
					content.className = 'active_content';
					active[0].className = 'unactive';
					activeBox[0].className = 'unactive_content';
					setOpacity(content.id,0);
					var fd1 = new Spry.Effect.Fade(content.id,{duration : 300, from : 0, to : 100});
					fd1.start();
					changeTabs();
                    return false;					
			}
		}
	}

var currentcounter = 0;

function randNumb(){
    var time = new Date();
    var A = 1000000000000000;
    var B = 9999999999999999;
    var randNumb = A + (B-A)*Math.random();
    var randTime = time.getMilliseconds()*time.getHours()*time.getMinutes()*time.getDate();
    return parseInt(randNumb)+randTime;
}
var currId;	
var flaga = 0;
function loadGal(id)
{
    if(flaga!=1){
        currId = id;
        var galLay = getObj('galcont');
        flaga = 1;
       	var fd2 = new Spry.Effect.Fade(galLay.id,{finish:lu,duration : 300, from : 100, to : 0});
    	fd2.start();  
    } 
}

function lu(){
    showPreloader();
    Spry.Utils.loadURL("GET", path+'/gallery.php?id='+currId+'&'+randNumb(), true, htmlResp);
}

var prelImg = new Image();


function showPreloader(){
    var parnt = getObj('gallery');
    var prel = parnt.appendChild(document.createElement('div'));
        prel.id = 'preloader';
        prel.className = 'preloader';
        prel.style.visibility = 'hidden';
        var obr = prel.appendChild(document.createElement('img'));
        obr.src = prelImg.src;
        prel.style.visibility = 'visible';
}

function hidePreloader(){
    var parnt = getObj('gallery');
    parnt.removeChild(getObj('preloader'));
}

function htmlResp(request)
{
   hidePreloader();
   var galLay = getObj('galcont');
   galLay.innerHTML = request.xhRequest.responseText;
   	var fd2 = new Spry.Effect.Fade(galLay.id,{finish:anim_end, duration : 700, from : 0, to : 100});
	fd2.start();
}	
function anim_end(){
    flaga = 0;
}

function nextgal(){
    if(currentcounter==galcounter){
        currentcounter=0;
        loadGal(currentcounter);
    }
    else{
    currentcounter++;
    loadGal(currentcounter);
    }
}

function prevgal(){
    if(currentcounter==0){
        currentcounter = galcounter;
        loadGal(currentcounter);}
    else{
    currentcounter--;
    loadGal(currentcounter);}
}
var firstLoad;
function firstLoad(){
    firstLoad = 1;
    interval(1,500, "loadGal(currentcounter)");
}
var pauseRotate = 1;
function autorotate(){
    if(pauseRotate!=1){
        nextgal();
        interval(1,8500,"autorotate()");
        return;
    }
    else {
        interval(1,8500,"autorotate()");
        return;
    }
}

///////////////////////////// timer////////////////////////
var td1 = false;
function stopTimer()
{
   if(td1)
   {
      clearTimeout(timer1)
      td1 = false
   }
}
function setTimer(func)
{
   funkcja = func;
   if(time == 0)
   {
      stopTimer();
      eval(funkcja)
   }
   else
   {
      time = time - 1;
      td1 = true;
      timer1 = setTimeout('setTimer(funkcja)', delay)
   }
}
function interval(czas, opoznienie, funkcja)
{
   // time - okresla ile jednostek ma odczekac, delay to jedno opoznienie : 1000 = 1sek
   time = czas;
   delay = opoznienie;
   stopTimer();
   setTimer(funkcja);
}

