
//function rollon(e){document.body.style.cursor='pointer';}
//function rolloff(e){document.body.style.cursor='default';}
//function setpicroot(u){jsv_picroot=u;}
//function setpicid(n){jsv_gal_curpic=n;}
//var jsv_picroot;
// setTimeout("slideit()",2500)
//var jsv_hold_dur=6000 // not used yet

var jsa_gal_pics=new Array()
jsa_gal_pics.push("gfx/banner-website-development.jpg");
jsa_gal_pics.push("gfx/gal/cms.jpg");
jsa_gal_pics.push("gfx/banner-search-engine-optimisation.jpg");
jsa_gal_pics.push("gfx/gal/logo.jpg");


var jsa_gal_txt=new Array()
jsa_gal_txt.push("Website design and development");
jsa_gal_txt.push("Content management systems");
jsa_gal_txt.push("Search engine optimisation");
jsa_gal_txt.push("Logo design");


var jsa_gal_links=new Array()
jsa_gal_links.push("/website-development");
jsa_gal_links.push("/content-management-systems");
jsa_gal_links.push("/search-engine-optimisation");
jsa_gal_links.push("/logo-design");

/*
var jsa_gal_pics=new Array()
jsa_gal_pics[0]='pic1.jpg';
jsa_gal_pics[1]='pic2.jpg';
jsa_gal_pics[2]='pic3.jpg';
jsa_gal_pics[3]='pic4.jpg';
jsa_gal_pics[4]='pic5.jpg';
jsa_gal_pics[5]='pic6.jpg';

var jsa_gal_txt=new Array()
jsa_gal_txt[0]='trees';
jsa_gal_txt[1]='mag';
jsa_gal_txt[2]='ipad';
jsa_gal_txt[3]='banksy';
jsa_gal_txt[4]='banksy cctv';
jsa_gal_txt[5]='banksy sweep';

var jsa_gal_links=new Array()
jsa_gal_links[0]='index.php';
jsa_gal_links[1]='contactus';
jsa_gal_links[2]='http://www.apple.com';
jsa_gal_links[3]='http://www.banksy.co.uk';
jsa_gal_links[4]='http://www.banksy.co.uk';
jsa_gal_links[5]='http://www.banksy.co.uk';
*/

var jsv_gal_piccnt=jsa_gal_pics.length;


/* GALLERY */

var jsv_gal_curpic=0;
var jsv_gal_paused=true;
var jsv_gal_running=1;
var jsv_gal_fadedur=500;
var jsv_gal_interval=3000;
var jsv_gal_txtstartpos=300;
var jsv_gal_txtendpos=10;
var jsv_gal_txtdur=1400;

function jsf_gal_init(){
	document.getElementById('galpic').src=jsa_gal_pics[0];
	link=jsa_gal_links[0];
	document.getElementById('galpiclink').setAttribute('href',link);
	//document.getElementById('galpause').innerHTML='Paused='+jsv_gal_paused;
	jsf_gal_updatetext();
	jsf_gal_textslide();
	jsf_gal_unpause();
}
function jsf_gal_updatetext(){
	link=jsa_gal_links[jsv_gal_curpic];
	document.getElementById('galtxt').innerHTML=''+jsa_gal_txt[jsv_gal_curpic]+'';

//	document.getElementById('galtxt').innerHTML='<a href="'+link+'">'+jsa_gal_txt[jsv_gal_curpic]+'</a>'; // <<< KEEP
	document.getElementById('galcnt').innerHTML=''+(jsv_gal_curpic+1)+' of '+jsv_gal_piccnt; // <<< KEEP
}
function jsf_gal_togglepause(){
	jsv_gal_paused=!jsv_gal_paused;
	if (jsv_gal_paused==true){
		clearInterval(jsv_gal_running);
	}else{
		jsf_gal_gonext();
		jsv_gal_running=setInterval(jsf_gal_gonext,jsv_gal_interval);// this repeats until stopped
	}
	jsf_gal_pausegfx();
	//document.getElementById('galpause').innerHTML='Paused='+jsv_gal_paused;
}
function jsf_gal_pausegfx(){
	if (jsv_gal_paused==true){
		document.getElementById('galpause').innerHTML='<a href="#" onclick="jsf_gal_togglepause()"><img src="gfx/gal/gal_pauseon.gif" border=0></a>';
	}else{
		document.getElementById('galpause').innerHTML='<a href="#" onclick="jsf_gal_togglepause()"><img src="gfx/gal/gal_pauseoff.gif" border=0></a>';
	}
}
function jsf_gal_pause(){
	jsv_gal_paused=true;
	clearInterval(jsv_gal_running);
	//document.getElementById('galpause').innerHTML='Paused='+jsv_gal_paused;
	jsf_gal_pausegfx();
}
function jsf_gal_unpause(){
	jsv_gal_paused=false;
	jsv_gal_running=setInterval(jsf_gal_gonext,jsv_gal_interval);// this repeats until stopped
	//document.getElementById('galpause').innerHTML='Paused='+jsv_gal_paused;
	jsf_gal_pausegfx();
}
function jsf_gal_clicknext(){
	jsf_gal_gonext();
	jsf_gal_pause();
}
function jsf_gal_clickprev(){
	jsf_gal_goprev();
	jsf_gal_pause();
}
function jsf_gal_gonext(){
	jsv_gal_curpic=jsv_gal_curpic+1
	if (jsv_gal_curpic>(jsv_gal_piccnt-1)){jsv_gal_curpic=0;}
	img=jsa_gal_pics[jsv_gal_curpic];
	link=jsa_gal_links[jsv_gal_curpic];
	jsf_img_faderepalce(img,'galpic','galpicholder','galpiclink',jsv_gal_fadedur,link);
	jsf_gal_updatetext();
	jsf_gal_textslide();
}

function jsf_gal_goprev(){
	jsv_gal_curpic=jsv_gal_curpic-1
	if (jsv_gal_curpic<0){jsv_gal_curpic=jsv_gal_piccnt-1;}
	img=jsa_gal_pics[jsv_gal_curpic];
	link=jsa_gal_links[jsv_gal_curpic];
	jsf_img_faderepalce(img,'galpic','galpicholder','galpiclink',jsv_gal_fadedur,link);
	jsf_gal_updatetext();
	jsf_gal_textslide();
}

function jsf_gal_textslide(){
	jsf_animate_pos('galtxtholder',"h",jsv_gal_txtdur,(new Date()).getTime(),jsv_gal_txtstartpos,jsv_gal_txtendpos);
}

/* GENERIC VISUAL FUNCTIONS */

function jsf_animate_pos(id,vh,dur,sttime,from,to){// todo 1. add sin wave to decelerate items + make so works for all horizontal 
	var obj=document.getElementById(id);
	var now=(new Date()).getTime();
	var animtype="sin";

	var perc=(now-sttime)/dur;
	if (perc>1){perc=1;}

	 if (animtype=="linear"){
		pos=from+(to-from)*perc;
	 }else if (animtype=="sin"){
		ang=90*perc;
		p=Math.sin(ang*Math.PI/180);
		pos=from+(to-from)*p;
	 }

	if (perc==1){
		jsf_setpos(obj,to,vh);
	}else{
		jsf_setpos(obj,pos,vh);
		obj.timer=window.setTimeout("jsf_animate_pos('"+id+"','"+vh+"',"+dur+","+sttime+","+from+","+to+")",1);
	}
}

function jsf_setpos(obj,pos,vh){
	obj.style.position="relative";
	if (vh=='h'){
		obj.style.left=pos + "px";
	}else{
		obj.style.top=pos + "px";
	}
}

function jsf_animate_opacity(id,dur,sttime,from,to){
	var obj=document.getElementById(id);
	var opacity=obj.style.opacity * 100;
	var now=(new Date()).getTime();
	opacity=from+(to-from)*(now-sttime)/dur;
	if (opacity<0)
		jsf_setopacity(obj,0)
	else if (opacity>100)
		jsf_setopacity(obj,100)
	else{
		jsf_setopacity(obj,opacity);
		obj.timer=window.setTimeout("jsf_animate_opacity('"+id+"',"+dur+","+sttime+","+from+","+to+")",1);	}
}
function jsf_setopacity(obj,opac){
	obj.style.filter='alpha(opacity='+opac+')'; // old mozilla and firefox
	obj.style.MozOpacity=opac/100; // other browsers
	obj.style.opacity=opac/100;
}

function jsf_img_faderepalce(imgurl,imgid,imgholderid,linkid,dur,link){
	var foreground=document.getElementById(imgid);
	if (imgholderid){
		var background=document.getElementById(imgholderid);
		if (background){
			background.style.backgroundImage='url('+foreground.src+')';
			background.style.backgroundRepeat='no-repeat';
		}
	}
	jsf_setopacity(foreground,0);
	foreground.src=imgurl;
	if (link){
		document.getElementById(linkid).setAttribute('href',link);
	}
	if (foreground.timer){window.clearTimeout(foreground.timer);}
	var now=(new Date()).getTime();
	foreground.timer=window.setTimeout("jsf_animate_opacity('"+imgid+"','"+dur+"',"+now+",0,100)",10);
}


