function initmaster(r) {
	var l=$('div#gallery');
	$('<div class="foot"></div>').css('opacity',0.35).appendTo(l);
	$('<a href="'+r+'" class="return">return to menu</a>').appendTo(l);
}
function initrelease(r,i) {
	var l=$('div#gallery');
	$('<div class="foot"></div>').css('opacity',0.35).appendTo(l);
	$('<a href="'+r+'" class="return">return to menu</a>').appendTo(l);
	$('<div class="footinfo">click on above lots to view details</div>').appendTo(l);
}
function gallery(r,i,p) {
	var obj=this;
	this.ie6=/MSIE 6/.test(navigator.userAgent);
	this.i=i;
	this.r=r;
	if(this.i.length>=1) {
		this.init(p);
	}
}
gallery.prototype={
init:function(prefix) {
	this.frames=[];
	this.frames[0]=$('<div/>');
	this.frames[1]=$('<div/>');
	var l=$('#gallery');
	$.each(this.frames,function(j) {
		this.addClass('frame');
		this.appendTo(l);
	});
	this.images=[];
	for(x=0,ct=this.i.length;x<ct;x++){
		this.images[x]=new Image();
		this.images[x].src='/'+prefix+'.nb?nb%5Bop%5D=image&nb%5Bsize%5D=2&nb%5Bid%5D='+this.i[x];
	}
	this.image=0;
	this.frame=1;
	this.frames[1].css('z-index',33);
	this.frames[0].css('z-index',32);
	this.frames[1].empty().append(this.images[0]);
	this.frames[1].show();
	this.frames[0].hide();
	this.foot=$('<div class="foot"></div>').appendTo(l);
	this.foot.css('opacity',0.35);
	this.ret=$('<a href="'+this.r+'" class="return">return to menu</a>').appendTo(l);
	var o=this;
	if (this.i.length>1) {
		this.prevbtn=$('<a href="#" class="prev disabled"></a>').bind('click',function() {
			return o.go(this,-1);
		}).appendTo(l);
		this.nextbtn=$('<a href="#" class="next"></a>').bind('click',function() {
			return o.go(this,1);
		}).appendTo(l);
	}
},
step:function(){
	var obj=this;
	this.next=this.frame;
	this.frame=1-this.frame;
	this.frames[this.frame].stop(true,true);
	this.frames[this.frame].css('z-index',33);
	this.frames[this.next].stop(true,true);
	this.frames[this.next].css('z-index',32);
	this.frames[this.frame].empty().append(this.images[this.image]);
	var next=this.frames[this.next];
	this.frames[this.frame].fadeIn(300,function() { next.hide(); });
},
go:function(e,d) {
	e.blur();
	var oi=this.image;
	this.image+=d;
	if(this.image < 0) this.image = 0;
	if(this.image >= this.i.length) this.image = this.i.length-1;

	this.prevbtn.toggleClass('disabled',this.image == 0);
	this.nextbtn.toggleClass('disabled',this.image == (this.i.length-1));

	if (this.image != oi) {
		this.step();
	}
	return false;
}
}
function anim(i) {
	this.timeout=false;
	this.initted=false;
	this.start(i);
}
anim.prototype={
step:function(){
	var obj=this;
	this.image++;
	if(this.image>=this.images.length){
		this.image=0;
	}
	this.next=this.frame;
	this.frame=1-this.frame;
	this.frames[this.frame].css('z-index',33);
	this.frames[this.next].css('z-index',32);
	this.frames[this.frame].empty().append(this.images[this.image]);
	this.frames[this.frame].fadeIn(2000,function() { obj.frames[obj.next].hide(); });
	this.timeout=setTimeout(function(){ obj.step(); },5000);
},
stop:function(){
	if(this.timeout) {
		clearTimeout(this.timeout);
		this.timeout=false;
		this.frames[this.next].hide();
		this.frames[this.frame].hide();
	}
},
start:function(i){
	var x,ct,obj=this;
	this.i=i;
	if (!this.initted) {
		this.initted=true;
		this.frames=[];
		this.frames[0]=$('<div/>');
		this.frames[1]=$('<div/>');
		var l=$('#flash');
		$.each(this.frames,function(j) {
			this.addClass('frame');
			this.appendTo(l);
		});
	}
	this.images=[];
	for(x=0,ct=i.length;x<ct;x++){
		this.images[x]=new Image();
		this.images[x].src='/homepage.nb?nb%5Bop%5D=image&nb%5Bsize%5D=2&nb%5Bid%5D='+i[x];
	}
	this.image=0;
	this.frame=1;
	this.next=0;
	this.frames[1].css('z-index',33);
	this.frames[0].css('z-index',32);
	this.frames[1].empty().append(this.images[0]);
	this.frames[1].show();
	this.frames[0].hide();
	if(this.images.length>1) {
		this.timeout=setTimeout(function(){ obj.step(); },3000);
	}
}
}

function paged() {
	$('.paged:not(.configured)').each(function(i) { new pagedele($(this)); });
}
function pagedele(ele) {
	var obj=this;
	ele.addClass('configured');
	var pagefull=315;
	$('div.pagesep',ele).each(function() {
		this.style.height=(pagefull-(this.offsetTop%pagefull))+'px';
	});
	this.pagefull=pagefull;
	this.ele=ele;
	this.max=this.ele.height();
	this.ele.height(315);
	if(this.max>315) {
		ele.height(pagefull);
		var o=this.max%this.pagefull;
		var test;
		if (o>0) test=$('<div style="height:'+(this.pagefull-o)+'px"></div>').appendTo(ele);
		this.max-=o;
		ele.css({
			'overflow':'hidden',
			'opacity':1
		});
		this.nav=$('div#nav');
		if(this.nav.get(0).innerHTML=='') {
			this.nav.css('text-align','center');
		}
		this.down=$('<a href="#" class="next"></a>');
		this.down.bind('click',function() {
			return obj.moveto(this,ele.scrollTop()+obj.pagefull);
		});
		this.up=$('<a href="#" class="prev disabled"></a>');
		this.up.bind('click',function() {
			return obj.moveto(this,ele.scrollTop()-obj.pagefull);
		});
		this.up.appendTo(this.nav);
		this.down.appendTo(this.nav);
		$('a.c',this.ele).each(function() {
			var loc=Math.floor(this.offsetTop/pagefull);
			if (loc>0) {
				loc*=pagefull;
				obj.ele.scrollTop(loc);
				obj.up.toggleClass('disabled',false);
				obj.down.toggleClass('disabled',loc>=obj.max);
			}
		});
	}
}
pagedele.prototype={
moveto:function(e,loc) {
	e.blur();
	if ($(e).hasClass('disabled')) {
		this.ele.scrollTop(loc);
	} else {
		this.ele.stop(true,true).scrollTop(loc).css('opacity',0).animate({
			'opacity':1
		},200);
	}
	this.up.toggleClass('disabled',loc<=0);
	this.down.toggleClass('disabled',loc>=this.max);
	return false;
}
}


function strip(app) {
	this.app=app;
	this.div=false;
	this.prefix=false;
	this.visible=false;
	this.floater=$('<div></div>');
	this.timeout=false;
	this.width=0;
}
strip.prototype={
attach:function(ss,bb){
	var obj=this;
	this.div=ss;
	this.div.css({opacity:0.8});
	this.floater.appendTo(this.div);
	if(this.width>700) {
		this.maxoff=this.width-700;
		$(this.div).bind('mousemove',function(e) {
			$(obj.div).scrollLeft(Math.floor((e.pageX-obj.app.left)/700*obj.maxoff));
		});
	}
	this.bb=bb;
	this.bb.bind('mouseover',function() {
		obj.show();
	});
	this.div.bind('mouseover',function() {
		obj.show();
	});
	this.div.bind('mouseout',function() {
		obj.hide();
	});
},
addimage:function(id) {
	var obj=this,i=$('<img src="'+this.prefix+'?nb%5Bop%5D=image&nb%5Bsize%5D=6&nb%5Bid%5D='+id+'" width="105" iid="'+id+'" height="75"/>');
	i[0].iid=id;
	i.bind('mouseover',function() {
		$(this).addClass('hover');
	});
	i.bind('mouseout',function() {
		$(this).removeClass('hover');
	});
	i.bind('click',function() {
		if(!$(this).hasClass('active')) {
			obj.select(this.iid);
		}
	});
	i.appendTo(this.floater);
	this.width+=115;
},
register:function(a) {
	if(!this.prefix) {
		var reg=/^(.*)\?/;
		this.prefix=reg.exec(a);
		this.prefix=this.prefix[1];
	}
	this.addimage(a.iid);
},
select:function(id) {
	$('img',this.floater).removeClass('active');
	var ic=$('img[iid='+id+']',this.floater);
	ic.addClass('active');
	var look=ic.nextAll();
	this.app.shownext(look.length,look.length?look[0].iid:0);
	look=ic.prevAll();
	this.app.showprev(look.length,look.length?look[0].iid:0);
	this.app.loadimage(id);
},
show:function() {
	if(!this.visible) {
		if(this.timeout) clearTimeout(this.timeout);
		this.timeout=false;
		this.visible=true;
		this.bb.stop(true).animate({'opacity':0},200);
		this.div.stop(true).animate({'height':79},500);
	}
},
hide:function() {
	if(this.visible) {
		this.visible=false;
		if(this.timeout) clearTimeout(this.timeout);
		var obj=this;
		this.timeout=setTimeout(function() {
			obj.timeout=false;
			obj.div.stop(true).animate({'height':0},1500,function() {
				obj.bb.stop(true).animate({'opacity':0.2},200);
			});
		},2000);
	}
}
}
function gal(ids) {
	var obj=this;
	this.init=false;
	this.ie6=/MSIE 6/.test(navigator.userAgent);
	this.left=0;
	this.strip=new strip(this);
	$(window).bind('resize',function() {
		obj.resize();
	});
	this.bindto($('div.blogimg'),'border-color');
	for (x = 0; x < ids.length; x++) {
		this.strip.addimage(ids[x]);
	}
}
gal.prototype={
slide:function(e) {
var w=this.lastslide[0].offsetLeft+this.lastslide.outerWidth(),l=this.slidecont.scrollLeft();
	$('div.gallery div.left,div.gallery div.right').removeClass('disabled');
	if($(e).hasClass('left')) {
		if(l%115) {
			l-=l%115;
			l-=230;
		} else {
			l-=345;
		}
		if (l<=0) {
			l=0;
			$(e).addClass('disabled');
		}
	} else {
		var m=w-361;
		if(l%115) {
			l+=345;
		} else {
			l+=241;
		}
		if (l>=m) {
			l=m;
			$(e).addClass('disabled');
		}
	}
	this.slidecont.stop(true).animate({'scrollLeft':l},300);
},
bindto:function(p,hl) {
	var obj=this,reg=/=(\d+)$/;
	$('a',p).each(function(i){
		var iid=reg.exec(this.href);
		this.iid=iid[1];
		obj.strip.register(this);
	});
	$('a',p).bind('click',function() {
		return obj.view(this);
	})
	.bind('mouseover',function() {
		$('img',this).css(hl,'#000');
	})
	.bind('mouseout',function() {
		$('img',this).css(hl,'#fff');
	});
},
resize:function() {
	if(this.init) {
		var winW=$(window).width(),winH=$(window).height();
		$('#dim').css({
			width:winW,
			height:winH
		});
		this.left=Math.floor(winW/2)-350;
		$('#popup').css({
			top:Math.ceil(winH/2)-263,
			left:this.left
		});
	}
},
shownext:function(b,id){
	$('#popup div.right').css('visibility',b?'visible':'hidden').attr('iid',id);
},
showprev:function(b,id){
	$('#popup div.left').css('visibility',b?'visible':'hidden').attr('iid',id);
},
createpopup:function() {
	var obj=this,winW=$(window).width(),winH=$(window).height();
	this.init=true;
	this.left=(Math.floor(winW/2)-350);
	$('<div id="dim" style="width:'+winW+'px;height:'+winH+'px;opacity:0"></div>').appendTo('body');
	$('<div id="popup" style="top:'+(Math.ceil(winH/2)-263)+'px;left:'+this.left+'px"><div class="image"></div><div class="closebtn">X</div><div class="left">◄</div><div class="right">►</div><div class="up">▲</div><div class="strip"></div><div class="loading"><img src="/hinchinbrook/style/images/loading.gif" width="220" height="19" alt=""/></div></div>').appendTo('body');
	$('#dim,#popup div.close,#popup div.closebtn').bind('click',function() {
		obj.close();
	});
	$('#popup div.closebtn,#popup div.left,#popup div.right').bind('mouseover',function() {
		$(this).stop(true).animate({'opacity':0.7},400);
	});
	$('#popup div.closebtn,#popup div.left,#popup div.right').bind('mouseout',function() {
		$(this).stop(true).animate({'opacity':0.2},400);
	});
	$('#popup div.left,#popup div.right').bind('click',function() {
		obj.strip.select($(this).attr('iid'));
	});
	this.strip.attach($('#popup div.strip'),$('#popup div.up'));
},
hideall:function() {
	$('#popup div.closebtn,#popup div.left,#popup div.right,#popup div.up,#popup div.loading').stop(true).css({visibility:'hidden'});
},
close:function() {
	this.hideall();
	$('#dim').animate({'opacity':0},200,function() {
		$(this).css('display','none');
	});
	$('#popup').css({display:'none'});
},
showall:function() {
	$('#popup div.closebtn,#popup div.left,#popup div.right,#popup div.up').css({
		opacity:0,
		visibility:'visible'
	}).animate({'opacity':0.2},400);
	$('#popup div.loading').css({opacity:0,visibility:'visible'});
},
view:function(a) {
	var obj=this;
	a.blur();
	if(!this.init) {
		this.createpopup();
	}
	if(this.ie6) {
		$(window).scrollTop(0);
	}
	$('#dim').css('display','block').animate({'opacity':0.5},400);
	$('#popup').css('display','block');
	this.showall();
	this.strip.select(a.iid);
	return false;
},
loadimage:function(id) {
	var nextimg=new Image(),obj=this;
	if(typeof(nextimg.complete) != 'undefined') {
		nextimg.onload=function(){ obj.showimage(this); }
		$("#popup div.loading").stop(true).animate({'opacity':0.5},500);
		nextimg.src=this.strip.prefix+'?nb%5Bop%5D=image&nb%5Bsize%5D=5&nb%5Bid%5D='+id;
	} else {
		nextimg.src=this.strip.prefix+'?nb%5Bop%5D=image&nb%5Bsize%5D=5&nb%5Bid%5D='+id;
		$('#popup div.image').append(nextimg);
	}
},
showimage:function(i) {
	$("#popup div.loading").stop(true).animate({'opacity':0.0},400);
	$('#popup div.image img').remove();
	$('#popup div.image').css({visibility:'hidden'})
	.append(i)
	.css({
		top:Math.floor((525-$(i).height())/2)+'px',
		left:Math.floor((700-$(i).width())/2)+'px',
		opacity:0,
		visibility:'visible'
	})
	.animate({'opacity':1},300);
}
}

