// JavaScript Document// JavaScript Document
var imagelist = new Array();
var thumbsize = 75;
var maxthumbs = 30;
var currthumbpage=1;

var magon;


var filterarray;

function init(){
	/*
	document.body.addEventListener('touchmove', function(e) {
  // This prevents native scrolling from happening.
  e.preventDefault();
}, false);
	*/
	getImages();
	updateArtwork();
	positionThumbs();
	magon = false;
	
	
	filterarray = new Array();
	filterarray = ["people", "oils", "pastels", "interiors", "children", "concepts"];
	filterarray_short= new Array();
	filterarray_short = ["ppl", "oils", "pstls", "int", "ch", "con"];
	filterflagarray = new Array();
	filterflagarray = [0,0,0,0,0,0];
	
	chooseImage(13);
	showhometype();
	
}


function checkKey(keyword){
	var check = false;
	if(keyword == "ppl"){
		if(filterflagarray[0] == 1){
			return true;
		}
	}
	else if(keyword == 'oils'){
		if(filterflagarray[1] == 1){
			return true;
		}
	}
	else if(keyword == 'pstls'){
		if(filterflagarray[2] == 1){
			return true;
		}
	}
	else if(keyword == 'int'){
		if(filterflagarray[3] ==1){
			return true;
		}
	}
	else if(keyword == 'ch'){
		if(filterflagarray[4] == 1){
			return true;
		}
	}
	else if(keyword == 'con'){
		if(filterflagarray[5] == 1){
			return true;
		}
	}
	return false;
}
		

function filterby(index){
	var ind = (index);
	//	filterarray = ["people", "oils", "pastels", "interiors", "children", "concepts"];
	
	


	var currflag = filterflagarray[index];
	if(currflag == 0){
		filterflagarray[index] = 1;
	}
	else{
		filterflagarray[index]=0;
	}
	
	var allzero = true;
	
	var str = "<div id='selectlabel'>Select by keyword:</div>";
		for(i=0; i<filterflagarray.length; i++){
	if(filterflagarray[i] == 1){
		str+="<div id='selectedchoice'><a href='javascript:filterby("+i+")'>"+filterarray[i]+"</a></div>";
		}
		else{
			str+="<div id='selectchoice'><a href='javascript:filterby("+i+")'>"+filterarray[i]+"</a></div>";
		}
	
	}
	str+="<div id='killfloat'>&nbsp;</div>";
	var sel = document.getElementById("selectarea");
	sel.innerHTML = str;
	for(i=0; i<filterflagarray.length; i++){
		if(!(filterflagarray[i]==0)){
			allzero = false;
			break;
		}
	}

	
	
	

	var currim;
	var currthumb, currkeywords, keysplit, currflag, filtshort, currkey;
	for(i=0; i<imagelist.length; i++){
		currthumb = document.getElementById("thumbnail"+(i+1));
		currim = imagelist[i];
		if(!allzero){
			//currim = imagelist[i];
			currkeywords = currim[10];
			keysplit = currkeywords.split(",");
			var validim;
			var currflag, filtshort;
			for(f=0; f<filterflagarray.length; f++){
				currflag = filterflagarray[f];
				if(currflag == 1){
					filtshort =  filterarray_short[f];
					validim = false;
					
			
					for(k=0; k<keysplit.length; k++){
						currkey = keysplit[k];
						if(currkey == filtshort){
							validim = true;
						}
					}
					if(validim == false){
						break;
					}
				}
					
			}
			
			if(validim == true){
				currim[13]=true;
				currthumb.style.opacity="1.0";
				
  				currthumb.style.MozOpacity = "1.0";
  				currthumb.style.KhtmlOpacity = "1.0";
				if(isIE()){
					currthumb.style.visibility = 'visible';
				}
 			 	//currthumb.style.filter = "alpha(opacity=100)";
				
			}
			else{
				currim[13]=false;
				currthumb.style.opacity="0.2";
				
				currthumb.style.MozOpacity = "0.2";
  				currthumb.style.KhtmlOpacity = "0.2";
				if(isIE()){
					currthumb.style.visibility = 'hidden';
				}
				
 			 		//currthumb.style.filter = "alpha(opacity=20)";
				
			}
		
		}
		else{
			currim[13]=true;
			currthumb.style.opacity="1.0";
			
			currthumb.style.MozOpacity = "1.0";
  			currthumb.style.KhtmlOpacity = "1.0";
			if(isIE()){
					currthumb.style.visibility = 'visible';
				}
 				//currthumb.style.filter = "alpha(opacity=100)";
		}
	}
}
			
	


function getImages(){
//alert(curryear+" at beginning of getnews");
   if (window.XMLHttpRequest)
  {
  	xhttp=new XMLHttpRequest();
  }
	else // Internet Explorer 5/6
  {
  	xhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
 
	xhttp.open("GET","artwork.xml",false);
	xhttp.send("");
	xmlDoc=xhttp.responseXML; 

	
	var x = xmlDoc.getElementsByTagName("artwork")[0];
	var currdata;
	var i =1;
	var currid, currname, currmedium, acwidth, acheight, lrgwidth, lrgheight, smwidth, smheight, currfilename, currkeywords, currvalidtoshow, currgallery, currcolor, curractive;
	while(!(x==null || x==undefined)) {
		currdata = new Array();
		currid = x.getElementsByTagName("paintingID")[0].childNodes[0].nodeValue;
		currname = x.getElementsByTagName("paintingName")[0].childNodes[0].nodeValue;
		currmedium = x.getElementsByTagName("mediumID")[0].childNodes[0].nodeValue;
		acwidth = x.getElementsByTagName("actualWidth")[0].childNodes[0].nodeValue;
		acheight = x.getElementsByTagName("actualHeight")[0].childNodes[0].nodeValue;
		lrgwidth = x.getElementsByTagName("largeWidth")[0].childNodes[0].nodeValue;
		lrgheight = x.getElementsByTagName("largeHeight")[0].childNodes[0].nodeValue;
		smwidth = x.getElementsByTagName("smallWidth")[0].childNodes[0].nodeValue;
		smheight = x.getElementsByTagName("smallHeight")[0].childNodes[0].nodeValue;
		currfilename = x.getElementsByTagName("fileName")[0].childNodes[0].nodeValue;
		currkeywords = x.getElementsByTagName("keywords")[0].childNodes[0].nodeValue;
		currvalidtoshow = x.getElementsByTagName("active")[0].childNodes[0].nodeValue;
		currgallery = "1";
		currcolor = "000000";
		curractive = true;
	
		currdata.push(currid);//1
		currdata.push(currname);//2
		currdata.push(currmedium);//3
		currdata.push(acwidth);//4
		currdata.push(acheight);//5
		currdata.push(lrgwidth);//6
		currdata.push(lrgheight);//7
		currdata.push(smwidth);//8
		currdata.push(smheight);//9
		currdata.push(currfilename);//10
		currdata.push(currkeywords);///11
		currdata.push(currgallery);///12
		currdata.push(currcolor);//13
		currdata.push(curractive);
		if(currvalidtoshow == "Y"){
		imagelist.push(currdata);
		}
		
		 x = xmlDoc.getElementsByTagName("artwork")[i++];
		
		
	}
	

	
}

function thumbrollclear(op){
	var iminlist;
	var fr, im;
	for(i=0; i<imagelist.length; i++){
		iminlist = imagelist[i];
		fr = document.getElementById("thumbnail"+(i+1));
		im = document.getElementById("thumbimage"+(i+1));
		im.style.clip = "rect(0px, 40px, 40px, 0px)";
		if(op==null || op==undefined){
			
			
			if(iminlist[13] == true){
			fr.style.opacity = "1.0";
			
			fr.style.MozOpacity = "1.0";
  			fr.style.KhtmlOpacity = "1.0";
 				//fr.style.filter = "alpha(opacity=100)";
				
			}
			else{
				fr.style.opacity = "0.2";
				
				fr.style.MozOpacity = "0.2";
  				fr.style.KhtmlOpacity = "0.2";
				if(isIE()){
					fr.style.visibility = "hidden";
				}
 				//fr.style.filter = "alpha(opacity=20)";
			
			}
		}
		else{
			fr.style.opacity = ".4";
			
			fr.style.MozOpacity = ".4";
  			fr.style.KhtmlOpacity = ".4";
 			//fr.style.filter = "alpha(opacity=40)";
				
		}
	}
}


function thumbroll(i){
	var fr, im;
	thumbrollclear("trans");
	fr = document.getElementById("thumbnail"+i);
	im = document.getElementById("thumbimage"+i);
	im.style.clip = "rect(0px, 200px, 200px, 0px)";
	fr.style.opacity = "1.0";
	
	fr.style.MozOpacity = "1.0";
  	fr.style.KhtmlOpacity = "1.0";
	if(isIE()){
		fr.style.visibility = "visible";
	}
 	//fr.style.filter = "alpha(opacity=100)";
				
	
}

function chooseImage(i){
	var currim, filename, lrgwidth, lrgheight, smwidth, half, smheight, imfactor, imarea, str;
	
	thumbrollclear();
	showimage();
	hideinfo();
	hidecontact();
	hidehometype();
	
	currim = imagelist[i];
	filename = currim[9];
	lrgwidth = currim[5];
	lrgheight = currim[6];
	smwidth = currim[7];
	half = smwidth/2;
	smheight = currim[8];
	
	imfactor = lrgwidth/smwidth;
	imarea = document.getElementById('mainimage');

	str = "<img name='smallim' src='artwork/small/"+filename+".jpg' width='"+smwidth+"' height='"+smheight+"' border='0' id='smallim' alt=''/>";
	str += "<div id='framebox'></div>";
	str += "<img id='moveMe' src='artwork/large/"+filename+".jpg' width='"+lrgwidth+"' height='"+lrgheight+"' border='0' id='moveMe' alt=''/>";
	
	
		
	imarea.innerHTML = str;
	
	imarea.style.top = "0px";
	imarea.style.left = "0px";
	maginit();
	
	var artinfo = document.getElementById("artinfo");
	var nm = currim[1];
	var artinfostr = nm+"<span id='artsecondary'>&nbsp;&nbsp;&nbsp;medium:"+currim[2]+"&nbsp;&nbsp;&nbsp;"+currim[3]+" x "+currim[4];
	artinfostr = artinfostr + "&nbsp;&nbsp;&nbsp;&nbsp;<a href='javascript:showmag()'><img src='magicon.png' width='15' height='15' /></a></span>";
	artinfo.innerHTML = artinfostr;
	artinfo.style.visibility = "visible";
	artinfo.style.left=smallimposx+"px";
	artinfo.style.top=(smallimposy-35)+"px";
	
	
	//var maglink = document.getElementById("maglink");
	//maglink.style.visibility = "visible";
	var smwidthnum = parseInt(smwidth);
	/*
	if(smwidthnum < 300){
		maglink.style.left=500+"px";
	}
	else{
		maglink.style.left=(smallimposx+parseInt(smwidth)-100)+"px";
	}
	*/
	//maglink.style.top=(smallimposy-35)+"px";
	
}
	
	
function updateArtwork(){
	

	var currdata, currname, currsmheight, currsmwidth, reduc, thumbwidth, thumbheight, extrareduc, thumbwidth, thumbheight;
	var newstr = "";
	var reduc, thumbheight, thumbwidth;
	//alert("year data length: "+dataTouse.length);
	for(i=0; i<imagelist.length; i++){
		currdata = imagelist[i];
		currname = currdata[9];
		currsmheight = parseInt(currdata[8]);
		currsmwidth = parseInt(currdata[7]);
		
		if(currsmheight > currsmwidth){
			reduc = (currsmwidth/thumbsize);
			thumbwidth = thumbsize;
			thumbheight = parseInt(currsmheight/reduc);
			var extrareduc;
			if(thumbheight > 200){
				extrareduc = thumbheight/200;
				thumbwidth = thumbwidth/extrareduc;
				thumbheight = 200;
			}
		}
		else{
			reduc = (currsmheight/thumbsize);
			thumbheight= thumbsize;
			thumbwidth = parseInt(currsmwidth/reduc);
			var extrareduc;
			if(thumbwidth > 200){
				extrareduc = thumbwidth/200;
				thumbheight = thumbheight/extrareduc;
				thumbwidth = 200;
			}
		}
		
		
			
		
		newstr+="<div id='thumbnail"+(i+1)+"'onmouseup='chooseImage("+i+");' onmouseout='thumbrollclear();' onmouseover='thumbroll("+(i+1)+");'>";
		newstr+="<a href='javascript:;'>";
		newstr+="<img name='thumbimage' src='artwork/thumbnails/"+currname+".jpg' width='"+thumbwidth+"' height='"+thumbheight+"' border='0' id='thumbimage"+(i+1)+"' alt=''/>";
		newstr+="</a>";
		newstr+="</div>";
		
		
		
	}
		//alert(newstr);
		
		//var p = document.getElementById("testareafirst");
		////alert(page.innerHtml);
		//p.innerHTML = "<div id='thumbn1'></div>";
		
		var test = document.getElementById("thumbarea");
		test.innerHTML = newstr;
		
}


function positionThumbs(){
	var firstpos = 120;
	var leftpos = 40;
	var i;
	var currt;
	
	for(i=0; i<imagelist.length; i++){
		
		var teststr = "thumbnail"+(i+1);
		var test = document.getElementById(teststr);
		test.style.left = leftpos+"px";
		var testim = test.img;
		test.style.top = firstpos+"px";
		//test.style.rect = "rect(0px, 40px, 40px, 0px)";
		firstpos += 45;
		if(i==(parseInt(maxthumbs/2)-1 )){
			firstpos = 120;
			leftpos += 45;
				
		}
			
	}
}

function showimage(){
	var maglink, artinfo, mainimage;
	
	artinfo = document.getElementById("artinfo");
	mainimage = document.getElementById("mainimage");
	
	artinfo.style.visibility = "visible";
	mainimage.style.visibility = "visible";
}

function hideimage(){
	var maglink, artinfo, mainimage;
	
	
	artinfo = document.getElementById("artinfo");
	mainimage = document.getElementById("mainimage");
	
	artinfo.style.visibility = "hidden";
	mainimage.style.visibility = "hidden";
	
	maginit();
	
}


	
function showhometype(){
	var maintype;
	
	maintype = document.getElementById("hometype");
	maintype.style.visibility = "visible";
}

function hidehometype(){
	var maintype;
	
	maintype = document.getElementById("hometype");
	maintype.style.visibility = "hidden";
}

function showinfo(){
	hideimage();
	hidehometype();
	hidecontact();
	
	var infotype = document.getElementById("info");
	infotype.style.visibility = "visible";
}

function hideinfo(){
	infotype = document.getElementById("info");
	infotype.style.visibility = "hidden";
}


function showcontact(){
	hideimage();
	hidehometype();
	hideinfo();
	contacttype = document.getElementById("contact");
	contacttype.style.visibility = "visible";
}

function hidecontact(){
	var contacttype;
	contacttype = document.getElementById("contact");
	contacttype.style.visibility = "hidden";
}


function isIE(){
	var IE=false;
	//alert("in testing routine: "+navigator.appVersion.indexOf("MSIE"));
	if(!(navigator.appVersion.indexOf("MSIE")==-1)){
		
		IE=true;
	}	
	
	return IE;
}
	
	





		
