var mcat = 0;
var scat = 0;
var im = 0;
var randompink = new Array();
var dim = "down";
var coo;

// times in secs
var fadeupdur = .6;
var fadedowndur = .3;
var pause = 0;
var buildthumbdelay = 150;
var dir = "pics/";


// preload
	var base_url= 'siteimages/';
	var image_url= [
		'initsml0.gif',
		'initsml1.gif',
		'initsml2.gif',
		'initsml3.gif',
		'initsml4.gif',
		'initsml5.gif',
		'initsmlempty.gif',
		'transp.gif'	
	];
	for (var i=0; i < image_url.length; i++){
		(new Image()).src= base_url + image_url[i];
	}


 


// set cookie
var coo  = readCookie("ellis");
if (!coo) {
createCookie("ellis","_",0);
}

Effect.QueueThis = Class.create();
Object.extend( Object.extend( Effect.QueueThis.prototype, Effect.Base.prototype ), {
    initialize: function(element) {
        this.element = $(element);
        this.func = arguments[1];
        this.start(arguments[2]);
    },
    finish: function(position){
        this.func(this.element);
    }
});

function init() {
getAnchor();
makethumbs();
rolloverInit();
}

// build page ////////////////////////////////////////////////////////////////////////////////////////////////////

function clearthumbs() {
var parentnode = document.getElementById("thumbcont");
var i=0;
while(document.getElementById("smldv"+i)) {
parentnode.removeChild(document.getElementById("smldv"+i));
i++;
}
}


function makethumbs_delay(i){

if(!i){ // first run, i is not def
i=0;
clearthumbs();
updatenav();

coo  = readCookie("ellis");

window.setTimeout("makethumbs('" + i + "' )", buildthumbdelay);

} else if(i<30){ // number of thumbs

newdv = document.createElement("div");
newdv.className = "smldv";
newdv.id = "smldv" +i;
document.getElementById("thumbcont").appendChild(newdv);

if ( sml[mcat][i] ) {
newa = document.createElement("a");
newa.id = i;
newa.className = "smla";
newdv.appendChild(newa);

newdv.style.backgroundImage = "url(" + dir +  sml[mcat][i][0] + ")";

newpic = document.createElement("img");

newa.onclick = clickthumb;
if (newa.captureEvents) newa.captureEvents(Event.CLICK);

if(    (i==0)   ||   (coo.indexOf("_" + mcat + "." + i + "." + 0 + "_") != -1)    ) {
newpic.src = "siteimages/transp.gif";
//newpic.src = dir +  sml[mcat][i][0];
} else {
newa.onmouseover = overthumb;
if (newa.captureEvents) newa.captureEvents(Event.MOUSEOVER);

newa.onmouseout = outthumb;
if (newa.captureEvents) newa.captureEvents(Event.MOUSEOUT);

var ran=Math.floor(Math.random()*10);
randompink[i] = ran;
newpic.src = "siteimages/initsml" + ran + ".gif";
}

newpic.id = "sml_"+i;
newa.appendChild(newpic);

} else { // empty slot...

newpic = document.createElement("img");
newpic.src = "siteimages/initsmlempty.gif";

newpic.className = 'smlempty';
newpic.id = "sml_"+i;
newdv.appendChild(newpic);

}
i++;
window.setTimeout("makethumbs('" + i + "' )", buildthumbdelay);

} else {   // /////////////////////// drawn all thumbs


new Effect.Opacity('bigcont',{duration:0.001, from: 0.01, to: 0.01}); // for safari
new Effect.QueueThis( 
    'bigcont', 
    function () { showbigpic(); },
    { queue: {position: "end", scope: "myQueue"} }
);

}

}

function makethumbs(i){

clearthumbs();
updatenav();

coo  = readCookie("ellis");

for(i=0; i<30; i++) {
newdv = document.createElement("div");
if (i==0) newdv.className = "smldvcurr"; 
else newdv.className = "smldv";
newdv.id = "smldv" +i;
document.getElementById("thumbcont").appendChild(newdv);

new Effect.Opacity("smldv" +i,{duration:0.0, from: 0.01, to: 0.01}); // for safari

if ( sml[mcat][i] ) {
newa = document.createElement("a");
newa.id = i;
if (i==0) newa.className = "smlcurr"; 
else newa.className = "smla";

newdv.appendChild(newa);

newdv.style.backgroundImage = "url(" + dir +  sml[mcat][i][0] + ")";

newpic = document.createElement("img");

newa.onclick = clickthumb;
if (newa.captureEvents) newa.captureEvents(Event.CLICK);

if(    (i==0)   ||   (coo.indexOf("_" + mcat + "." + i + "." + 0 + "_") != -1)    ) {
newpic.src = "siteimages/transp.gif";
//newpic.src = dir +  sml[mcat][i][0];
} else {
newa.onmouseover = overthumb;
if (newa.captureEvents) newa.captureEvents(Event.MOUSEOVER);

newa.onmouseout = outthumb;
if (newa.captureEvents) newa.captureEvents(Event.MOUSEOUT);

var ran=Math.floor(Math.random()*10);
randompink[i] = ran;
newpic.src = "siteimages/initsml" + ran + ".gif";
}

newpic.id = "sml_"+i;
newa.appendChild(newpic);

} else { // empty slot...

newpic = document.createElement("img");
newpic.src = "siteimages/initsmlempty.gif";

newpic.className = 'smlempty';
newpic.id = "sml_"+i;
newdv.appendChild(newpic);
}


}



// all thumbs drawn

showthumbs(0);

}

function showthumbs(dv){
document.getElementById('smldv'+ dv).style.visibility = 'visible';
new Effect.Opacity('smldv'+ dv,{duration:0.5, from: 0.01, to: 1});
dv++;

if (dv==15){
// show big picture
new Effect.Opacity('bigcont',{duration:0.001, from: 0.01, to: 0.01});
new Effect.QueueThis( 
    'bigcont', 
    function () { showbigpic(); },
    { queue: {position: "end", scope: "myQueue"} }
);

}



if(dv<30) {
window.setTimeout("showthumbs('" + dv + "' )", buildthumbdelay);
}
}

function shownav(){
new Effect.Opacity('logo',{duration:0.000001, from: 0.01, to: 0.01}); // for safari
new Effect.QueueThis( 
    'logo', 
    function () { document.getElementById('logo').style.visibility = 'visible'; },
    { queue: {position: "end", scope: "myQueue"} }
);
new Effect.Opacity('logo',{duration:3, from: 0.01, to: 1});
}


function updatenav(){
var i=0;
while(document.getElementById("nav" + i )) {
var nav = document.getElementById("nav" + i );

if(i==mcat) {
nav.src = "siteimages/nav" + i + "_over.gif";

nav.onmouseover = null;
nav.onmouseout = null;
} else {
nav.src = "siteimages/nav" + i + "_out.gif";

nav.onmouseover = rollov;
if (nav.captureEvents) nav.captureEvents(Event.MOUSEOVER);
nav.onmouseout = rollout;
if (nav.captureEvents) nav.captureEvents(Event.MOUSEOUT);
}
i++;
}
}

function caption(){
$('captioncont').innerHTML ='';
$('blog').innerHTML ='';


if (cap[mcat][scat][im]) {
var splitcap = cap[mcat][scat][im].split('BLOG');

$('captioncont').innerHTML = splitcap[0];

if(splitcap.length > 1)  $('blog').innerHTML = splitcap[1]+"&nbsp;&nbsp;&nbsp;";

}
capwid = parseInt(bw[mcat][scat][im])-40;
$('captioncont').style.width = capwid + "px";

parentnode = document.getElementById('imgcount');
if(parentnode.childNodes[0])
parentnode.removeChild(parentnode.childNodes[0]);


imhuman = parseInt(im)+1;
var newimgcount = document.createTextNode( imhuman + "/"+cap[mcat][scat].length );
parentnode.appendChild(newimgcount);


}

function captionInnerHTML(){
var parentnode = document.getElementById('captioncont');
parentnode.innerHTML = "";
parentnode.innerHTML = cap[mcat][scat][im];
}

// behaviours ////////////////////////////////////////////////////////////////////////////////////////////////////

function rollov() {
this.src = "siteimages/" + this.id + "_over.gif";
}

function rollout() {
this.src = "siteimages/" + this.id + "_out.gif";
}

function clickthumb() {
var e = this.id; // 'this' refers to A tag
this.onmouseover = null;
this.onmouseout = null;
scat = e;
im = 0;

var i=0;
while (document.getElementById(i)) {
document.getElementById(i).className = "smla";
document.getElementById('smldv' + i).className = "smldv";
i++;
}
this.className = "smlcurr";
document.getElementById('smldv' + e).className = "smldvcurr";



// sml img
var smlimg = "sml_" + e; 
var smlpath = dir + sml[mcat][e][im];
document.getElementById(smlimg).src = "siteimages/transp.gif";;

fadedown();

// add to cookie
coo  = readCookie("ellis");

if(  coo.indexOf("_" + mcat + "." + scat + "." + im + "_") == -1 ) {
coo = coo + mcat + "." + scat + "." + im + "_";
createCookie("ellis",coo,0);
}



}


function overthumb() {
var e = this.id; // 'this' refers to A 

// sml img
var smlimg = "sml_" + e;
var smlpath = dir + sml[mcat][e][0];
document.getElementById(smlimg).src  = "siteimages/transp.gif";
}

function outthumb() {
var e = this.id; // 'this' refers to A 

// sml img
 var smlimg = "sml_" + e;
 var smlpath = "siteimages/initsml" + randompink[e] + ".gif";
 document.getElementById(smlimg).src = smlpath;

}


function prevnext(){


//prev
var butt = document.getElementById('prev');
if (im != 0) {
butt.src = "siteimages/prev_out.gif";
butt.onclick = prev;
butt.onmouseover = rollov;
if (butt.captureEvents) butt.captureEvents(Event.MOUSEOVER);
butt.onmouseout = rollout;
if (butt.captureEvents) butt.captureEvents(Event.MOUSEOUT);
butt.className = "cursor prev";
} else {
if (big[mcat][scat].length > 1) {
butt.src = "siteimages/prev_inactive.gif";
butt.className = "prev";
}
else { 
butt.src = "siteimages/transp.gif";
butt.className = "";
}
butt.onclick = null;
butt.onmouseover = null;
butt.onmouseout = null;

}


//next
var butt = document.getElementById('next');
if (im != (big[mcat][scat].length-1)) {
butt.src = "siteimages/next_out.gif";
butt.onclick = next;
butt.onmouseover = rollov;
if (butt.captureEvents) butt.captureEvents(Event.MOUSEOVER);
butt.onmouseout = rollout;
if (butt.captureEvents) butt.captureEvents(Event.MOUSEOUT);
butt.className = "cursor next";
} else {
if (big[mcat][scat].length > 1) {
butt.src = "siteimages/next_inactive.gif";
butt.className = "next";
}
else { 
butt.src = "siteimages/transp.gif";
butt.className = "";
}
butt.onclick = null;
butt.onmouseover = null;
butt.onmouseout = null;

}
}


function next() {
if (im !== (big[mcat][scat].length-1)) {
im++;
fadedown();
}
}


function prev() {
if (im !== 0) { 
im=im-1;
fadedown();
}
}


function updateimgnav(){
parentnode = $('imgnav');
var i = 0;
while (parentnode.firstChild) {
  parentnode.removeChild(parentnode.firstChild);
}


if (big[mcat][scat].length > 1) {
for(i=0; i < big[mcat][scat].length; i++){
newimg = document.createElement("img");
newimg.id = "imgnav" + i;

if( i==im ) { 
newimg.src ="siteimages/imgnav_active.gif"; 
newimg.onclick = null;
newimg.className = "";
}
else { 
newimg.src = "siteimages/imgnav_inactive.gif"; 
newimg.onclick = clickimgnav;
if (newimg.captureEvents) newimg.captureEvents(Event.CLICK);
newimg.className = "cursor";
}

parentnode.appendChild(newimg);
}
}

}

function clickimgnav() {
var e = this.id; //
im = e.substring(6);
//alert(im);
fadedown();
}


// fade ////////////////////////////////////////////////////////////////////////////////////////////////////


function fadedown(control) {
      document.preload_image_object = new Image();
      document.preload_image_object.src = dir + big[mcat][scat][im];

new Effect.Fade('bigcont',{duration:fadedowndur, from: 1.0, to: 0.01}); 
if(control != "down"){
new Effect.QueueThis( 
    'bigcont', 
    function () { showbigpic(); },
    { queue: {position: "end", scope: "myQueue"} }
);
}
} 

function showbigpic() {
if (document.images) document.location.replace("#" + mcat + "." + scat + "." + im);
//location.href = "#" + mcat + "." + scat + "." + im;

document.getElementById('bigcont').style.display = "block";
var bigpath = dir + big[mcat][scat][im];

document.getElementById("bigimg").src =  "siteimages/transp.gif"; // any small image already in cache
document.getElementById("bigimg").src = bigpath;


updateimgnav(); // update imgnav circles
prevnext(); // update prev/next buttons
caption(); // update caption
showbigpic2(); // tvastegsraket
}

function showbigpic2() {
//document.getElementById("test").style.color = "#0f0"; 
if(document.getElementById("bigimg").width > 50) { // check if img loaded
fadeup();
} else {
window.setTimeout('showbigpic2()', 100);
}
}


function fadeup() {
//document.getElementById("test").style.color = "#333"; 
var contw = parseInt(bw[mcat][scat][im]) + 66;
document.getElementById('bigcont').style.width =  contw + "px";
window.setTimeout('Effect.Appear(\'bigcont\', {duration:' + fadeupdur + '})', pause*1000);
} 




// nav ////////////////////////////////////////////////////////////////////////////////////////////////////


function changegallery(gal) {

im=0;
scat = 0;
mcat = gal;
fadedown('down');
window.setTimeout('makethumbs()', fadedowndur*1000*2);
}

function getAnchor(){
  var strHref = window.location.href;
  if ( strHref.indexOf("#") > -1 ){
    var anchor = strHref.substr(strHref.indexOf("#")+1).toLowerCase();
        if(anchor !=="") {
        anchorarr = anchor.split(".");
        
if(big[anchorarr[0]][anchorarr[1]][anchorarr[2]]) {
		mcat = anchorarr[0];
		scat = anchorarr[1];
		im =   anchorarr[2];
} else {
		mcat = 0;
		scat = 0;
		im =  0;

}
	}
  }
}

// debug ////////////////////////////////////////////////////////////////////////////////////////////////////

function getwidth() {
var w = document.getElementById("bigimg").width;
alert(w);
}

function testcookie () {
coo  = readCookie("ellis");
alert(coo);
}

function clearcookie () {
createCookie("ellis","",-1);
}





