/**
 * Additional function for image slider
 */

var next_prev = 0;

function moveToPrevious() {
	if( next_prev>0){
	 	next_prev--;
	  	new Effect.Move('slideElements', { x: 70, y: 0, transition: Effect.Transitions.sinoidal });
	}
	
}

function moveToNext() {
	if( next_prev<8){
		next_prev++;
  		new Effect.Move('slideElements', { x: -70, y: 0, transition: Effect.Transitions.sinoidal });
  		
  	}
  	
}


/**
* Please do not redistribute without licence
* @author: Dariusz Paciorek, Tomasz Paciorek
* Single licence for: ogniochron
*/


/**
* Detect user browser
*/
var OP=(navigator.userAgent.indexOf("Opera")>-1);
var IE=(navigator.appName == "Microsoft Internet Explorer") && (!OP) && (!navigator.product);
var MZ=(navigator.product=="Gecko") && (!OP);


/**
* Picture browser
*/
function zoom( picturePath ){

   // init image object
   var imageObj = new Image();
   imageObj.src = picturePath;
   
   if( imageObj.complete ){
   
      imageBrowser( imageObj );
   
   }
   
   else{
   
         imageObj.onload = function(){
           
          imageBrowser( imageObj );
          
      }
      
      
   
   }
   
   return false;

}


/**
* init picture browser
*/
function imageBrowser( imageObj ){

   var browserId = 'imageBrowser';
   var showcaseId = 'showcase';
   var browserCloseLabel = 'Close the window';
   var browserStylePadding = 12;
   
   // Place where we putting browser object
   var parentObj = document.body;
     
     
   // init browser obj
   var browserObj = document.createElement( 'div' );
   browserObj.setAttribute( 'id', browserId );
   browserObj.setAttribute( 'title', browserCloseLabel );
   
   // init showcase
   var showcaseObj = initShowcase( showcaseId );
   
   // remove existing browser
   removeBrowser( browserId, showcaseId );
   
   // Set browser position
   var browserWidth = imageObj.width + ( 2 * browserStylePadding );
   var browserHeight = imageObj.height + ( 2 * browserStylePadding );
   
   var position = browserObjPosition( browserWidth, browserHeight );
   
   browserObj.style.position = 'absolute';
   browserObj.style.zIndex = 2002;
   browserObj.style.top = position[0] + 'px';
   browserObj.style.left = position[1] + 'px';
   browserObj.style.width = browserWidth - (2*browserStylePadding) + 'px';
   
   if( !IE ){
   
      browserObj.style.cursor = 'pointer';
   
   }
   
   else{
   
         browserObj.style.cursor = 'hand'; 
   
   }
   
   
   // remove browser object when user clicked on close or image in browser
   browserObj.onclick = function(){
   
      removeBrowser( browserId, showcaseId );
   
   }
   
   // Browser content with a big picture
   
   var photo = document.createElement( 'img' );
   photo.setAttribute( 'src', imageObj.src );
   photo.setAttribute( 'width', imageObj.width );
   photo.setAttribute( 'height', imageObj.height );
   photo.setAttribute( 'alt', browserCloseLabel );
   
   // Browser close label
   var closeLabel = document.createElement( 'div' );
   closeLabel.setAttribute( 'id', 'imageBrowserClose' );
   closeLabel.innerHTML = '<span>close</span>'; 
   
   
   // old content with a big picture
   /*
   var browserContent = '<div id="browserContent">'
   
                  + '<img src="'+ imageObj.src + '"'
                  + ' width="' + imageObj.width + '"'
                  + ' height="' + imageObj.height + '"'
                  + ' alt="' + browserCloseLabel + '"'
                  + ' />'
                  
                  + '<div id="imageBrowserClose"><span>zamknij</span></div>'
                  + '</div>';
   */
   
   //Assign browser with site content
   browserObj.appendChild( photo );
   browserObj.appendChild( closeLabel );
   //browserObj.innerHTML = browserContent;
   
   parentObj.appendChild( showcaseObj );
   parentObj.appendChild( browserObj );
   
   return false;

}


/**
* deleting existing pisture browser when user click on other picture thumbnail in gallery
*/
function removeBrowser( browserId, showcaseId ){

   browserObj = document.getElementById( browserId );
   showcaseObj = document.getElementById( showcaseId );
         
   if( browserObj ){
            
      showcaseObj.style.background = 'none';
      browserObj.parentNode.removeChild( browserObj );
      showcaseObj.parentNode.removeChild( showcaseObj );

   }

}

/**
* Return browser object position on the screen
*/
function browserObjPosition( browserWidth, browserHeight ){

   if( !IE ) {
	
      var posTop = ( ( window.innerHeight - browserHeight ) /  2 ) + window.pageYOffset;
      var posLeft = ( ( window.innerWidth - browserWidth ) /  2 ) + window.pageXOffset;
	
   }
   
	else {
	  
	  if( document.documentElement.clientHeight ) {
	    
	     var posTop = ( ( document.documentElement.clientHeight - browserHeight ) /  2 ) 
                     + document.documentElement.scrollTop;
                     
         var posLeft = ( ( document.documentElement.clientWidth - browserWidth ) /  2 );
	
	  }
	  
      else {
	  
	     var posTop = ( ( document.body.clientHeight - browserHeight ) /  2 ) 
                     + document.body.scrollTop;
                     
         var posLeft = ( ( document.body.clientWidth - browserWidth ) /  2 );
	
      }

   }
   
   var position = new Array();
   
   position[0] = posTop;
   position[1] = posLeft;
   
   return position;

}

/**
* Init showcase - transparent browser background
*/
function initShowcase( showcaseId ){
   
   var client = clientBrowser();
   
   // init showcase object
   var showcaseObj = document.createElement( 'div' );
   showcaseObj.setAttribute( 'id', showcaseId );
   
   // set dark transparent background
   showcaseObj.style.top = 0;
   showcaseObj.style.left = 0;
   showcaseObj.style.width = '100%';
   showcaseObj.style.height = client[1] + 'px'; 
   showcaseObj.style.position = 'absolute';   
   
   if( !IE ) {
     
	   showcaseObj.style.background = 'url(/common/frontend/en/gfx/gallery/showcase_bg.png)';
      showcaseObj.style.position = 'fixed';
      
   }
   
   else{
      
      showcaseObj.style.background = "#000000";
      
      // IE greater than 5
      if( document.documentElement.clientHeight ){
      
        showcaseObj.style.height = document.body.clientHeight + 'px';
        
        showcaseObj.style.filter="alpha(opacity=75)";
      
      }
      
      else{
      
         showcaseObj.style.height = document.body.clientHeight + document.documentElement.scrollTop + 'px';
      
         window.onscroll = function(){
        
            var client = clientBrowser();
         
            var scrolling =  document.documentElement.scrollTop;
               
            showcaseHeight = document.body.clientHeight - document.documentElement.clientHeight;
         
            if( scrolling <= showcaseHeight ){
          
            showcaseObj.style.height = client[1] + scrolling + 'px';
         
            }
      
         } 
      
      
      }      
   
   }
   
   return showcaseObj;  
}


/**
* return width and height of client browser
*/
function clientBrowser(){

  if( !IE ) {
	
      var clientWidth = window.innerWidth + window.pageXOffset;
      var clientHeight = window.innerHeight + window.pageYOffset;
	
   }
   
	else {
	  
	  if( document.documentElement.clientHeight ) {
	    
         var clientWidth = document.documentElement.clientWidth;
         var clientHeight = document.documentElement.clientHeight + document.documentElement.scrollTop;
	
	  }
	  
      else {
	  
         var clientHeight = document.body.clientHeight + document.body.scrollTop;            
         var clientWidth = document.body.clientWidth;
	
      }

   }
   
   var client = new Array();
   
   client[0] = clientWidth;
   client[1] = clientHeight;
   
   return client;

}

