var IE4 = document.all;
var NN7 = (!IE4 && document.getElementById);
var NN4 = document.layers;
if (!(NN7 || IE4) && location.href.indexOf("nonstandard.htm") == -1) location.replace("nonstandard.htm");
if (IE4 && navigator.userAgent.indexOf("Opera") != -1) {
	NN7 = true;
	IE4 = false;
}
var mac = (IE4 && navigator.appName.indexOf("Mac") != -1?true:false);

var aksearch = {};
if (location.search) {
	var tmp = location.search.substring(1);
	tmp = tmp.split("&");
	for (var i = 0; i < tmp.length; i++ ) {
		aksearch[tmp[i].substring(0,tmp[i].indexOf("="))] = tmp[i].substring(tmp[i].indexOf("=") + 1);
	}
}

function getStyleObject(obj) {
	var theObj = (IE4?document.all[obj]:document.getElementById(obj));
	return (theObj?theObj.style:null);
}

function getObject(obj) {
	return (IE4?document.all[obj]:document.getElementById(obj));
}

var copyright = "2004";

function setHomepageImage() {
	ad = (ad == 4?0:ad+1);
	getObject("homepictureframe").innerHTML = "<img src=\"images/bb_ark_painting_" + ad + ".jpg\" alt=\"\" width=\"210\" height=\"362\" border=\"0\">";
	counter++;
}

function getHomepageImage() {
	if (counter < 5) {
		setHomepageImage();
	} else
		clearInterval(timerID1);
}

var ad = 0;
var counter = 0;
var timerID1;
function homepageImageInit() {
	ad = Math.floor(Math.random() * 4);
	setHomepageImage();
	timerID1 = setInterval("getHomepageImage()",5000);
}

/* GALLERY CODE */

displayitems = [];
function initGallery() {
	for (var i = 0; i < gallery.length; i++) {
		for (var j = 0; j < gallery[i].artworks.length; j++) {
			if (parseInt(gallery[i].artworks[j].rank) < 30) {
				displayitems[displayitems.length] = gallery[i].artworks[j];
				displayitems[displayitems.length-1].artist = gallery[i].artist;
			}
		}
	}
	displayitems.sort(function(a,b) { return a.rank - b.rank });
	if (displayitems.length > 15)
		displayitems.length = 15;
}

function renderGallery(n) {
	renderArtwork(n);
	var txt = "";
	for (var i = 0; i < displayitems.length; i++) {
		if (i == displayed)
			txt += "<span class=\"galleryselected\">" + (i+1) + "</span>";
		else
			txt += "<a href=\"javascript:renderGallery(" + i + ")\">" + (i+1) + "</a>";
	}
	txt += "<div class=\"gallerynavtext\">Showing image " + (displayed+1) + " of " + displayitems.length + "&nbsp;&nbsp;&nbsp;&nbsp;<a style=\"border:none\" href=\"javascript:renderGallery(" + (displayed>1?displayed-1:0) + ")\">&laquo; Previous artwork</a>&nbsp;|&nbsp;<a style=\"border:none\" href=\"javascript:renderGallery(" + (displayed < displayitems.length-1?displayed+1:displayitems.length-1) + ")\">Next artwork &raquo;</a></div>";
	getObject("gallerynav").innerHTML = txt;
}

var displayed = 0;

function renderArtwork(n) {
	n = (n?n:0);
	displayed = n;
	var txt = "<div class=\"gallerytext\"><div class=\"gallerytitle\"><span class=\"boldwhite\">" + (n+1) + " </span>" + displayitems[n].title + " <a href=\"artists.htm?artist=" + getArtist(displayitems[n].uid) + "\">by " + displayitems[n].artist + "</a></div>\n<div id=\"galleryimagetext\">" + getReducedGalleryText(displayitems[n].text,displayitems[n].uid) + "</div>\n<div class=\"artworkinfo\"><span class=\"bold\">Dimensions: " + displayitems[n].dimensions + "<br>" +  displayitems[n].technique + "</span></div><div class=\"artworkprice\">Price: <a href=\"price-request.htm\">Click here to enquire</a> quoting artwork ref " + displayitems[n].price + "</div><div class=\"artworkpurchase\"><a href=\"javascript:addUnit('" + displayitems[n].uid + "')\"></a><a href=\"guarantee.htm\">Guarantee<img src=\"images/bb_ak_seal.gif\" alt=\"Guarantee\" width=\"25\" height=\"19\" border=\"0\"></a></span></div><div id=\"itemadded\">Item added</div></div><div class=\"galleryimage\"><div class=\"largepictureframe\"><img src=\"images/" + displayitems[n].image + "\" alt=\"" + displayitems[n].title + "\" + border=\"0\"></div>&nbsp;&copy; " + displayitems[n].year + "</div>\n";
//	alert(txt);
	getObject("galleryholder").innerHTML = txt;
}

function getArtist(uid) {
	for (var i = 0; i < gallery.length; i++) {
		for (var j = 0; j < gallery[i].artworks.length; j++) {
			if (gallery[i].artworks[j].uid == uid)
				return i;
		}
	}
}

function getFullGalleryText(uid) {
	var txt = "";
	for (var i = 0; i < displayitems.length; i++) {
		if (displayitems[i].uid == uid) {
			txt += displayitems[i].text;
			txt += "<div class=\"gap12\"><a href=\"javascript:hideFullGalleryText('" + uid + "')\">Hide full text &raquo;</a></div>";
			break;
		}
	}
	getObject("galleryimagetext").innerHTML = txt;
}

function hideFullGalleryText(uid) {
	var txt = "";
	for (var i = 0; i < displayitems.length; i++) {
		if (displayitems[i].uid == uid)
			txt += getReducedGalleryText(displayitems[i].text,uid);
	}
	getObject("galleryimagetext").innerHTML = txt;
}

function getReducedGalleryText(txt,uid) {
	if (txt.length > 200) {
		txt = txt.substring(0,200);
		txt = txt.substring(0,txt.lastIndexOf(" ")) + "...<div class=\"gap12\"><a href=\"javascript:getFullGalleryText('" + uid + "')\">Read more &raquo;</a></div>";
	}
	return txt;
}
/* END GALLERY CODE */


/* ARTIST PAGE CODE */
function prepareArtist() {
	aksearch.artworks = 0;
	if (aksearch.img && (typeof aksearch.artist == "undefined" || aksearch.artist == null)) {
		OUTER:
		for (var i = 0; i < gallery.length; i++) {
			for (var j = 0; j < gallery[i].artworks.length; j++) {
				if (gallery[i].artworks[j].uid == aksearch.img) {
					aksearch.artist = i;
					break OUTER;
				}
			}
		}
	} 
}

function hideFullText() {
	getStyleObject("artworkfulltext").visibility = "hidden";
}

function getFullText(uid) {
	var txt = "";
	OUTER:
	for (var i = 0; i < gallery.length; i++) {
		for (var j = 0; j < gallery[i].artworks.length; j++) {
			if (gallery[i].artworks[j].uid == uid) {
				txt += "<div class=\"gap12\">" + gallery[i].artworks[j].text + "</div>";
				txt += "<div class=\"gap12\"><span class=\"bold\">" + gallery[i].artworks[j].technique + "</span></div>";
				txt += "<div class=\"hidefulltext\"><a href=\"javascript:hideFullText()\">Hide full text &raquo;</a></div>";
				break OUTER;
			}
		}
	}
	getObject("artworkfulltext").innerHTML = txt;
	getStyleObject("artworkfulltext").visibility = "visible";
}

function getReducedText(txt,uid) {
	if (txt.length > 105) {
		txt = txt.substring(0,105);
		txt = txt.substring(0,txt.lastIndexOf(" ")) + "...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:getFullText('" + uid + "')\">Read more &raquo;</a>"
	}
	return txt;
}

function getLargePic(uid) {
	aksearch.img = (uid?uid:aksearch.img);
	var n = 0;
	var m = aksearch.artist;
	if (aksearch.img) {
		for (var i = 0; i < gallery[aksearch.artist].artworks.length; i++) {
			if (gallery[aksearch.artist].artworks[i].uid == aksearch.img)
				n = i;
		}
	} else if (aksearch.artist || aksearch.artist == 0)
		n = Math.floor(Math.random() * gallery[aksearch.artist].artworks.length);
	else {
		m = Math.floor(Math.random() * gallery.length);
		n = Math.floor(Math.random() * gallery[m].artworks.length);
	}
	var txt = "<div class=\"artworktitle\">" + gallery[m].artworks[n].title + " <a href=\"javascript:aksearch.img=null;aksearch.artist=" + m + ";renderArtistPage()\">by " + gallery[m].artist + "</a></div>\n<div class=\"largepictureframe\"><img src=\"images/" + gallery[m].artworks[n].image + "\" alt=\"" + gallery[m].artworks[n].title + "\" + border=\"0\"></div>\n<div class=\"artworktext\">" + getReducedText(gallery[m].artworks[n].text,gallery[m].artworks[n].uid) + "</div>\n<div class=\"artworkpriceright\">Artwork ref " + gallery[m].artworks[n].price + "</div><div class=\"artworkinfo\">&copy; " + gallery[m].artworks[n].year + "&nbsp;&nbsp;<span class=\"bold\">Dimensions:" + gallery[m].artworks[n].dimensions + "</span></div><div class=\"artworkpurchase\" style=\"position:relative; top:5px\"><a href=\"javascript:addUnit('" + gallery[m].artworks[n].uid + "')\"></a><a href=\"guarantee.htm\">Guarantee<img src=\"images/bb_ak_seal.gif\" alt=\"Guarantee\" width=\"25\" height=\"19\" border=\"0\"></a></span> <span id=\"itemadded\">&raquo; Item added</span></div>";
	getObject("largepictureholder").innerHTML = txt;
}

function renderArtistGallery() {
	var txt = "";
	txt += "<div class=\"artistintro\">View more paintings | <a href=\"javascript:aksearch.img=null;renderArtistPage()\">Artist details</a> | <a href=\"javascript:aksearch.img=null;aksearch.artist=null;renderArtistPage()\">View all artists</a></div>";
	var x = ((aksearch.artworks+1)*20 > gallery[aksearch.artist].artworks.length?gallery[aksearch.artist].artworks.length:(aksearch.artworks+1)*20);
	for (var i = (aksearch.artworks * 20); i < x; i++) {
		if (i%5 == 0)
			txt += (i && i != aksearch.artworks * 20?"</div>\n\n":"") + "<div class=\"artworkcolumn\">\n";
		txt += "<div class=\"artworkthumb\" onclick=\"getLargePic('" + gallery[aksearch.artist].artworks[i].uid + "')\"><img src=\"images/thumbs/" +  gallery[aksearch.artist].artworks[i].image + "\" border=\"0\" alt=\"\"></div>\n";
		if (i == gallery[aksearch.artist].artworks.length-1) {
			for (var j = (i%5); j < 4; j++) {
				txt += "<div class=\"artworkblank\"></div>\n";
			}
		}
	}
	txt += "</div>\n\n";
	if (gallery[aksearch.artist].artworks.length > 20) {
		getStyleObject("browseprev").visibility = "visible";
		getStyleObject("browsenext").visibility = "visible";
	}
	return txt;
}

function browseArtistWork(n) {
	if (n) {
		if (aksearch.artworks + n < 0 || aksearch.artworks + n > Math.floor(gallery[aksearch.artist].artworks.length/20)) {
			getStyleObject("propagandaend").visibility = "visible";
			getStyleObject("artworkholder").visibility = "hidden";
			setTimeout("endArtistMessage()",2500);
		} else {
			aksearch.artworks += n;
			getObject("artworkholder").innerHTML = "<div class=\"artistname\">" + gallery[aksearch.artist].artist + "</div>" + renderArtistGallery();
		}
	}
}

function endArtistMessage() {
	getStyleObject("propagandaend").visibility = "hidden";
	getStyleObject("artworkholder").visibility = "visible";
}

function renderArtistInfo(n) {
	aksearch.artist = (n?n:aksearch.artist);
	var txt = "";
	txt += "<div class=\"artistintro\"><a href=\"javascript:aksearch.img='" + gallery[aksearch.artist].artworks[(Math.floor(Math.random() * gallery[aksearch.artist].artworks.length))].uid + "';renderArtistPage()\">View more paintings</a> | Artist details | <a href=\"javascript:aksearch.img=null;aksearch.artist=null;renderArtistPage()\">View all artists</a></div>";
	txt += gallery[aksearch.artist].resume;
	return txt;
}

function renderArtistList() {
	var txt = "";
	txt += "<div class=\"artistintro\">Below is a list of artists with work available through ArtsrepubliK. Click on any that interest you for more details.</div>";
	for (var i = 1; i < gallery.length; i++) {
		txt += "<div class=\"artistlist\"><a href=\"javascript:aksearch.artist=" + i + ";renderArtistPage()\">" + gallery[i].artist + "</a><br>Country of origin: " + gallery[i].country + "</div>";
	}
	return txt;
}

function renderArtistPage() {
	getStyleObject("browseprev").visibility = "hidden";
	getStyleObject("browsenext").visibility = "hidden";
	prepareArtist();
	var txt = "";
	txt += "<div class=\"artistname\">" + (aksearch.artist || aksearch.artist == 0?gallery[aksearch.artist].artist:"List of artists") + "</div>";
	if (aksearch.img) {
		txt += renderArtistGallery();
	} else if (aksearch.artist || aksearch.artist == 0) {
		txt +=  renderArtistInfo();
	} else {
		txt += renderArtistList();
	}
	getObject("artworkholder").innerHTML = txt;
	getLargePic();
}
/* END ARTIST CODE */

/* PROPAGANDA PAGE CODE */

function renderPropaganda() {
	renderPropagandaThumbs();
	getLargePoster();
}

var page = 0;
function renderPropagandaThumbs() {
	var txt = "";
	for (var i = (page*10); i < ((page+1)*10); i++) {
		if (i%5 == 0)
			txt += (i && i != page*10?"</div>\n\n":"") + "<div class=\"propagandacolumn\">\n";
		if (i < propaganda.length)
			txt += "<div class=\"propagandaitem\" onclick=\"getLargePoster('" + i + "')\"><div class=\"propagandainfo\"><div class=\"white\">" +  propaganda[i].title + "</div>" +  propaganda[i].dimensions + "<br>" +  propaganda[i].year + "<br></div><div class=\"propagandathumb\"><img src=\"images/thumbs/" +  propaganda[i].image + "\" border=\"0\" alt=\"\"></div></div>\n";
		else
			txt += "<div class=\"propagandaitemblank\"></div>\n";
	}
	txt += "</div>\n\n";
	if (propaganda.length > 10) {
		getStyleObject("browseprev").visibility = "visible";
		getStyleObject("browsenext").visibility = "visible";
	}
	getObject("propagandaholder").innerHTML = txt;
}

function getLargePoster(uid) {
	aksearch.img = (uid?uid:(aksearch.img?aksearch.img:Math.floor(Math.random() * propaganda.length)));
	var txt = "<div class=\"artworktitle\">" + propaganda[aksearch.img].title + "</div>\n<div class=\"largepictureframe\"><img src=\"images/" + propaganda[aksearch.img].image + "\" alt=\"" + propaganda[aksearch.img].title + "\" + border=\"0\"></div>\n<div class=\"artworktext\">" + getReducedPropagandaText(propaganda[aksearch.img].text,propaganda[aksearch.img].uid) + "</div>\n<div class=\"artworkpriceright\">Price: &pound;" + propaganda[aksearch.img].price + "</div><div class=\"artworkinfo\">&copy; " + propaganda[aksearch.img].year + "&nbsp;&nbsp;<span class=\"bold\">Dimensions:" + propaganda[aksearch.img].dimensions + "</span></div><div class=\"artworkpurchase\"><a href=\"javascript:addUnit('" + propaganda[aksearch.img].uid + "')\"></a><a href=\"guarantee.htm\">Guarantee<img src=\"images/bb_ak_seal.gif\" alt=\"Guarantee\" width=\"25\" height=\"19\" border=\"0\"></a></span> <span id=\"itemadded\">Item added</span></div>";
	getObject("largeposterholder").innerHTML = txt;
}

function browsePropaganda(n) {
	if (page + n > -1 && ((page + n) * 10) < propaganda.length) {
		page += n;
		renderPropaganda();
	} else {
		getStyleObject("propagandaend").visibility = "visible";
		getStyleObject("propagandaholder").visibility = "hidden";
		setTimeout("endMessage()",2500);
	}
}

function endMessage() {
	getStyleObject("propagandaend").visibility = "hidden";
	getStyleObject("propagandaholder").visibility = "visible";
}

function hideFullPropagandaText() {
	getStyleObject("propagandafulltext").visibility = "hidden";
	getStyleObject("propagandaholder").visibility = "visible";
}

function getFullPropagandaText(uid) {
	var txt = "";
	for (var i = 0; i < propaganda.length; i++) {
		if (propaganda[i].uid == uid) {
			txt += "<div style=\"margin:6px\"><div class=\"gap3\"><div class=\"bold\">" + propaganda[i].title + "</div></div>";
			txt += "<div class=\"gap12\">" + propaganda[i].text + "</div>";
			txt += "<div class=\"gap12\"><span class=\"bold\">" + propaganda[i].dimensions + "</span></div>";
			txt += "<div class=\"hidefulltext\"><a href=\"javascript:hideFullPropagandaText()\">Hide full text &raquo;</a></div></div>";
		}
	}
	getObject("propagandafulltext").innerHTML = txt;
	getStyleObject("propagandafulltext").visibility = "visible";
	getStyleObject("propagandaholder").visibility = "hidden";
}

function getReducedPropagandaText(txt,uid) {
	if (txt.length > 105) {
		txt = txt.substring(0,105);
		txt = txt.substring(0,txt.lastIndexOf(" ")) + "...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:getFullPropagandaText('" + uid + "')\">Read more &raquo;</a>"
	}
	return txt;
}

/* END NEW PROPAGANDA PAGE CODE */

/* COOKIE FUNCTIONS */

function SetCookie(name,value) {
	var argv = SetCookie.arguments
	var argc = SetCookie.arguments.length
	var expires = (argc > 2) ? argv[2] : null
	var path = (argc > 3) ? argv[3] : null
	var domain = (argc > 4) ? argv[4] : null
	var secure = (argc > 5) ? argv[5] : false
	document.cookie = name + "=" + escape(value) + ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + ((path == null) ? "" : ("; path=" + path)) + ((domain == null) ? "" : ("; domain=" + domain)) + ((secure == true) ? "; secure" : "")
}

function getCookieVal(offset) {
	var endstr = document.cookie.indexOf (";", offset)
	if (endstr == -1)
	endstr = document.cookie.length
	return unescape(document.cookie.substring(offset, endstr))
}

function GetCookie(name) {
	var arg = name + "="
	var alen = arg.length
	var clen = document.cookie.length
	var i = 0
	while (i < clen) {
		var j = i + alen
		if (document.cookie.substring(i,j) == arg)
		return getCookieVal (j)
	i = document.cookie.indexOf(" ",i) + 1
	if (i == 0) break
	}
	return null
}

/* END COOKIE FUNCTIONS */


