//slideshow vars
this.totalPict = 1;
this.stopAtPict = totalPict+1;

this.container_xPos = '0';
this.container_yPos = '0';
this.container_width = '800';
this.container_height = '360';
this.container_padding = '0';
this.loadBar_width= '220';
this.loadBar_height= '19';
this.loadBar_x = Math.round(container_xPos)+Math.round(container_width/2)-Math.round(loadBar_width/2)+Math.round(container_padding*2);
this.loadBar_y = Math.round(container_yPos)+Math.round(container_height/2)-Math.round(loadBar_height/2)+Math.round(container_padding*2);
this.loadBar_src= 'loading-bar-black.gif';

this.headline_y = loadBar_y-40;
this.headline_x = loadBar_x;
this.headline_width = loadBar_width;
this.headline ='&nbsp;';
this.speed= 4000;
this.blurSpeed = this.speed-1000;



// FORMAT OF ADRESS TO SPLIT
//http://www.hamptongreenfarm.com/horse-breed-for-dressage_79.html

var tosplit = top.location.href.split('_');
var halfpath = tosplit[1].split('.html');
var pageid = halfpath[0];
//window.alert(pageid);

this.xml_src='slideshow_data_'+pageid+'.xml';


// initialize XMLHttpRequest object
var xmlobj=null;
var loaded=false;
var pics=new Array();
// send http request
function sendRequest(elemid,file){
    // check for existing requests
    if(xmlobj!=null&&xmlobj.readyState!=0&&xmlobj.readyState!=4){
        xmlobj.abort();
    }
    try{
        // instantiate object for Mozilla, Nestcape, etc.
        xmlobj=new XMLHttpRequest();
    }
    catch(e){
        try{
            // instantiate object for Internet Explorer
            xmlobj=new ActiveXObject('Microsoft.XMLHTTP');
        }
        catch(e){
            // Ajax is not supported by the browser
            xmlobj=null;
            return false;
        }
    }
    // assign state handler
    xmlobj.onreadystatechange=function(){
        stateChecker(elemid);
          
    }
    // open socket connection
    xmlobj.open('GET',file,true);
    // send request
    xmlobj.send(null);
}
// check request status
function stateChecker(elemid){
    // if request is completed
    if(xmlobj.readyState==4){
    
        // if status == 200 display text file
        if(xmlobj.status==200){
            // preload images
           
           initXmlParam();
           
            drawHeadline();
            preloadImages();
          	
 // display image
 displayImage(elemid);
 loaded=true;
 
        }
        else{
            alert('Failed to get response :'+ xmlobj.statusText);
        }
    }
}


function initXmlParam(){
var  hdl =xmlobj.responseXML.getElementsByTagName('title');
	this.headline = hdl[0].firstChild.nodeValue;

var  xmlTotalPict =xmlobj.responseXML.getElementsByTagName('totalviews');
	

this.totalPict = xmlTotalPict[0].firstChild.nodeValue;
this.stopAtPict = parseInt(this.totalPict)+1;

var  spd =xmlobj.responseXML.getElementsByTagName('speed');
	this.speed = parseInt(spd[0].firstChild.nodeValue);
 	this.blurSpeed = this.speed-1000;
}




function drawHeadline(){

var hl= document.createElement('div');
 		hl.setAttribute('id',this.headline);        
        hl.style.position ='absolute';
    	hl.style.top = headline_y+'px';
   		hl.style.left = headline_x+'px';
   		hl.style.width = 220+'px';
   		 hl.innerHTML = headline;
   		hl.style.fontSize = '0.7em';
   		hl.style.color = '#fff';
   		hl.style.border = 0;
   		hl.style.textAlign = 'center';
    
    hl.style.filter = 'alpha(opacity=' + 10 + ')';
 	hl.style.opacity = 0.1;	
    	
    document.getElementsByTagName('body')[0].appendChild(hl);
    
    
     $(hl).fadeTo(2000, 1);   
}




function drawLoadBar(c){
//create static prloader
var lg= document.createElement('img');
 		lg.setAttribute('id','b'+c);
 		lg.setAttribute('width',loadBar_width);
        lg.setAttribute('height',loadBar_height);
        lg.setAttribute('border','0');
        lg.setAttribute('src',loadBar_src);
        
        lg.style.position ='absolute';
    	lg.style.top = loadBar_y+'px';
   		lg.style.left = loadBar_x+'px';
    
    lg.style.filter = 'alpha(opacity=' + 10 + ')';
 	lg.style.opacity = 0.1;	
    	
    document.getElementsByTagName('body')[0].appendChild(lg);
     $(lg).fadeTo(4000, 1);   
}


function removeLoadBars(){
if(document.getElementById('b1')){
document.getElementsByTagName('body')[0].removeChild(document.getElementById('b1'));
}
if(document.getElementById('b2')){
document.getElementsByTagName('body')[0].removeChild(document.getElementById('b2'));
}

}


function preloadCouter(elemid){
f = document.getElementById("counter");
f.innerHTML = elemid + 1 + ' :: ';
}

function preloadTotal(elemid){
g = document.getElementById("totalpict");
g.innerHTML = elemid;//we do not sum the last pict as it is part of the layout
}


// preload images
function preloadImages(){


    // get image collection
    var imgcol=xmlobj.responseXML.getElementsByTagName('image');
    for(var i=0;i<imgcol.length;i++){
        // preload images
        pics[i]=new Image();
          preloadTotal(i);
        pics[i].src=imgcol[i].firstChild.nodeValue;
    }
    
    
}
function createImageContainer(elemid){
    // create image container
    var cdiv=document.createElement('div');
    cdiv.setAttribute('id','container'+elemid);
    var img=document.createElement('img');
    img.setAttribute('width',container_width);
    img.setAttribute('height',container_height);
    img.setAttribute('id','largepic'+elemid);
    
    img.style.zIndex = elemid;
    img.style.position ='absolute';
    img.style.top = container_yPos+'px';
    img.style.left = container_xPos+'px';
     
     //opacity
  	 img.style.filter = 'alpha(opacity=' + 10 + ')';
 	img.style.opacity = 0.1;	
 
    

    cdiv.appendChild(img);
    
     $(img).fadeTo(1000, 1);
     
     

 
    document.getElementsByTagName('body')[0].appendChild(cdiv);
}


// display image
function displayImage(elemid){

   //add count if sum is lower than last pict (layout poster pict)
if(elemid < this.totalPict-1){
 preloadCouter(elemid);
  }
    var cdiv=document.getElementById('container'+elemid);
    createImageContainer(elemid);
    var newpic=pics[elemid];
    var oldpic=document.getElementById('largepic'+elemid);
    if(!oldpic || elemid >= totalPict){return;}
   
    
    oldpic.setAttribute('src',newpic.src);
    
}








window.onload=function(){ 
var cv =0;



function recall(){
if(cv<totalPict){ 

function rqst(){

(!loaded)?sendRequest(cv,xml_src):displayImage(cv);
cv++;
}

if(cv == 0){
cr = new timer(rqst,null,1,1);

}

if(cv > 0){

removeLoadBars();

cr1 = new timer(rqst,null,8,1);
}



}




if(cv==totalPict){ 


function rmv(){

 

for(i=0;i<stopAtPict;i++){
f = "div#container"+i;
$(f).remove();
}
/*
//clean after execution layout and other items
cleanItem = ['img#b1','img#b2','div#headline','div#controls','span#bg'];
for(a=0;a<cleanItem.length;a++){
$(cleanItem[a]).remove();
}
*/
}
 cr2 = new timer(rmv,null,1,1);
 
 
 drawLoadBar(2);

//do not reset to 0 to go further with oter content
cv=0;
//return cv;
}
}




$("#stop").click(
			function(){
			cv=stopAtPict;
			window.clearInterval(intervalID);
			
			
			}
			);
			
$("#run").click(
			function(){
			
			window.clearInterval();
			var intervalID = setInterval(recall, 5000);
			cv=0;
			}
			);


    // check if browser is DOM compatible
    if(document.getElementById&&document.
getElementsByTagName&&document.createElement){
        
        var intervalID = setInterval(recall, 5000);
		drawLoadBar(1);
		
		tt = new timer(drawHeadline,null,3,1);
		
       
       
    }
}