var zoom_small_active = 1;
var zoom_big_active = 0;
var increase_size_text = 10;
var increase_size_header = 15;
function trim(string) {
  return string.replace(/(^\s+)|(\s+$)/g, "");
}
function max (a, b) {
	if (a>=b) return a;
	else return b;
}
function maximum (a, b, c) {
	return max(a,max(b,c));
}
$(document).ready(function(){
	if (artist != "none" && artist != "") {
		var cur_title;
		var cur_order;
		var xmlDoc = loadXML('xml_' + artist + '.xml');
		if (xmlDoc) {
			var text_content=$('#T_content_text').html();
			var xmlRoot = xmlDoc.documentElement;
			var items = xmlRoot.getElementsByTagName("item");
			for (var i=0; i < items.length; i++) {
				cur_title=trim(items[i].getElementsByTagName("title")[0].childNodes[0].nodeValue);
				cur_order=trim(items[i].getElementsByTagName("sort_order")[0].childNodes[0].nodeValue);
				cur_title=cur_title.replace("<i>","");
				cur_title=cur_title.replace("</i>","");
				cur_title=trim(cur_title);
				text_content=text_content.replace(new RegExp('\\b' + cur_title + '\\b','g'),"<span class='artwork-text-tooltip' id='order_" + cur_order + "'>" + cur_title + "</span>");
			}
			$('#T_content_text').html(text_content);
			if ($('#chart_wrapper').length) {
				var chart_top_img;
				var chart_bottom_img;
				if (window.location.pathname.substr(0,7)=='/artist') {
					chart_top_img="chart_top.jpg";
					chart_bottom_img="chart_bottom.jpg";
				}
				else if (window.location.pathname.substr(0,7)=='/critic') {
					chart_top_img="chart_critic_top.jpg";
					chart_bottom_img="chart_critic_bottom.jpg";
				}
				var entitiesDoc = loadXML('entities.xml');
				var entitiesRoot = entitiesDoc.documentElement;
				var xmlRoot = xmlDoc.documentElement;
				var chartTopColumns=xmlRoot.getElementsByTagName("chart")[0].getElementsByTagName("top")[0].getElementsByTagName("column");
				var chartBottomColumns=xmlRoot.getElementsByTagName("chart")[0].getElementsByTagName("bottom")[0].getElementsByTagName("column");
				var content;
				var name;
				var obj;
				var id;
				if (chartTopColumns.length==3) {
					var chartColumnNames=new Array(3);
					chartColumnNames[0]="ARTISTS";
					chartColumnNames[1]="CRITICS/FRIENDS";
					chartColumnNames[2]="MOVEMENTS";
					var chartTopColumnEntities=new Array(3);
					chartTopColumnEntities[0]=chartTopColumns[0].getElementsByTagName("entity");
					chartTopColumnEntities[1]=chartTopColumns[1].getElementsByTagName("entity");
					chartTopColumnEntities[2]=chartTopColumns[2].getElementsByTagName("entity");
					var nTop=maximum(chartTopColumnEntities[0].length,chartTopColumnEntities[1].length,chartTopColumnEntities[2].length);
					content="";
					for (var j=0;j<3;j++) {
						content+='<div class="chart_column_wrapper"><div class="chart_column_top"><div class="chart_header">' + chartColumnNames[j] + '</div>';
						for (var i=0;i<nTop;i++) {
							if (nTop-i<=chartTopColumnEntities[j].length) {
								obj=$(entitiesRoot).find('#' + chartTopColumnEntities[j][i+chartTopColumnEntities[j].length-nTop].childNodes[0].nodeValue)[0];
								if (obj) name=obj.getElementsByTagName("name")[0].childNodes[0].nodeValue;
								else name=chartTopColumnEntities[j][i+chartTopColumnEntities[j].length-nTop].childNodes[0].nodeValue;
								id=chartTopColumnEntities[j][i+chartTopColumnEntities[j].length-nTop].childNodes[0].nodeValue;
								content+='<div class="chart_element_wrapper chart-tooltip-target-top" id="' + id + '">';
								content+='<img border="0" class="chart_element_image" src="/images20/small/' + id + '.jpg"/>';
								content+='<div class="chart_element_text">' + name + '</div></div>';
							}
							else {
								content+='<div class="chart_element_wrapper"></div>';
							}
						}
						content+='</div></div>';
					}
					content+='<div id="chart_top"><img src="/images20/' + chart_top_img + '"></div><div id="chart_middle"><div id="chart_main_image_wrapper">';
					content+='<img id="chart_main_image" src="/images20/ttip/' + artist_id + '.jpg"/>';
					content+='</div><div id="chart_main_text_wrapper"><div class="chart_author">' + artist_name + '</div>';
					content+='<div class="chart_text_plain"><strong>Years Worked:</strong> ' + years_worked + '</div></div></div><div id="chart_bottom"><img src="/images20/' + chart_bottom_img + '"></div>';
					var chartBottomColumnEntities=new Array(3);
					chartBottomColumnEntities[0]=chartBottomColumns[0].getElementsByTagName("entity");
					chartBottomColumnEntities[1]=chartBottomColumns[1].getElementsByTagName("entity");
					chartBottomColumnEntities[2]=chartBottomColumns[2].getElementsByTagName("entity");
					var nBottom=maximum(chartBottomColumnEntities[0].length,chartBottomColumnEntities[1].length,chartBottomColumnEntities[2].length);
					for (var j=0;j<3;j++) {
						content+='<div class="chart_column_wrapper"><div class="chart_column_bottom"><div class="chart_header">' + chartColumnNames[j] + '</div>';
						for (var i=0;i<nBottom;i++) {
							if (i<chartBottomColumnEntities[j].length) {
								obj=$(entitiesRoot).find('#' + chartBottomColumnEntities[j][i].childNodes[0].nodeValue)[0];
								if (obj) name=obj.getElementsByTagName("name")[0].childNodes[0].nodeValue;
								else name=chartBottomColumnEntities[j][i].childNodes[0].nodeValue;
								id=chartBottomColumnEntities[j][i].childNodes[0].nodeValue;
								content+='<div class="chart_element_wrapper chart-tooltip-target-bottom" id="' + id + '">';
								content+='<img border="0" class="chart_element_image" src="/images20/small/' + id + '.jpg"/>';
								content+='<div class="chart_element_text">' + name + '</div></div>';
							}
							else {
								content+='<div class="chart_element_wrapper"></div>';
							}
						}
						content+='</div></div>';
					}
					$('#chart_wrapper').append(content);
				}
			}
		}
	}
	$('.artwork-text-tooltip').mouseover(function () {
		$(this).css('text-decoration','underline');
	});
	$('.artwork-text-tooltip').mouseout(function () {
		$(this).css('text-decoration','none');
	});
	$('.T_text_size_link').click(function() {
		if (zoom_small_active) {
			zoom_small_active=0;
			zoom_big_active=1;
			$('.T_text_size_link').find('img').attr('src','images20/btn_minus.jpg');
			if ($('.T_resource_link').length) {
				$('.T_resource_link').css('font-size',$('.T_resource_link').css('font-size').substr(0,2)*1+increase_size_text+$('.T_resource_link').css('font-size').substr(2,2));
				$('.T_resource_link').css('line-height',$('.T_resource_link').css('line-height').substr(0,2)*1+increase_size_text+$('.T_resource_link').css('line-height').substr(2,2));
			}
			$('div').each(function () {
				switch ($(this).attr('id')) {
					case 'T_Content_Header':
						$(this).css('font-size',$(this).css('font-size').substr(0,2)*1+increase_size_header+$(this).css('font-size').substr($(this).css('font-size').length-2,2));
						break;
					case 'T_lbl_works':
						$(this).css('font-size',$(this).css('font-size').substr(0,2)*1+increase_size_text-6+$(this).css('font-size').substr($(this).css('font-size').length-2,2));
						break;
					case 'T_content_text':
						$(this).css('font-size',$(this).css('font-size').substr(0,2)*1+increase_size_text+$(this).css('font-size').substr($(this).css('font-size').length-2,2));
						$(this).css('line-height',$(this).css('line-height').substr(0,2)*1+increase_size_text+$(this).css('line-height').substr(2,2));
						break;
					case 'marked_text':
						$(this).css('font-size',$(this).css('font-size').substr(0,2)*1+increase_size_text+$(this).css('font-size').substr($(this).css('font-size').length-2,2));
						$(this).css('line-height',$(this).css('line-height').substr(0,2)*1+increase_size_text+$(this).css('line-height').substr(2,2));
						break;
					case 'T_resources_table':
						$(this).css('font-size',$(this).css('font-size').substr(0,2)*1+increase_size_text+$(this).css('font-size').substr($(this).css('font-size').length-2,2));
						break;
					case 'T_content_bold_text':
						$(this).css('font-size',$(this).css('font-size').substr(0,2)*1+increase_size_text+$(this).css('font-size').substr($(this).css('font-size').length-2,2));
						$(this).css('line-height',$(this).css('line-height').substr(0,2)*1+increase_size_text+$(this).css('line-height').substr(2,2));
						break;
					case 'T_resource_bold_text':
						$(this).css('font-size',$(this).css('font-size').substr(0,2)*1+increase_size_text+$(this).css('font-size').substr($(this).css('font-size').length-2,2));
						break;
					case 'T_resource_grey_text':
						$(this).css('font-size',$(this).css('font-size').substr(0,2)*1+increase_size_text+$(this).css('font-size').substr($(this).css('font-size').length-2,2));
						break;
					case 'T_resource_header':
						$(this).css('font-size',$(this).css('font-size').substr(0,2)*1+increase_size_header-8+$(this).css('font-size').substr($(this).css('font-size').length-2,2));
						break;
				}
			});
		}
		else {
			zoom_small_active=1;
			zoom_big_active=0;
			$('.T_text_size_link').find('img').attr('src','images20/btn_plus.jpg');
			if ($('.T_resource_link').length) {
				$('.T_resource_link').css('font-size',$('.T_resource_link').css('font-size').substr(0,2)*1-increase_size_text+$('.T_resource_link').css('font-size').substr(2,2));
				$('.T_resource_link').css('line-height',$('.T_resource_link').css('line-height').substr(0,2)*1-increase_size_text+$('.T_resource_link').css('line-height').substr(2,2));
			}
			$('div').each(function () {
				switch ($(this).attr('id')) {
					case 'T_Content_Header':
						$(this).css('font-size',$(this).css('font-size').substr(0,2)*1-increase_size_header+$(this).css('font-size').substr($(this).css('font-size').length-2,2));
						break;
					case 'T_lbl_works':
						$(this).css('font-size',$(this).css('font-size').substr(0,2)*1-increase_size_text+6+$(this).css('font-size').substr($(this).css('font-size').length-2,2));
						break;
					case 'T_content_text':
						$(this).css('font-size',$(this).css('font-size').substr(0,2)*1-increase_size_text+$(this).css('font-size').substr($(this).css('font-size').length-2,2));
						$(this).css('line-height',$(this).css('line-height').substr(0,2)*1-increase_size_text+$(this).css('line-height').substr(2,2));
						break;
					case 'marked_text':
						$(this).css('font-size',$(this).css('font-size').substr(0,2)*1-increase_size_text+$(this).css('font-size').substr($(this).css('font-size').length-2,2));
						$(this).css('line-height',$(this).css('line-height').substr(0,2)*1-increase_size_text+$(this).css('line-height').substr(2,2));
						break;
					case 'T_resources_table':
						$(this).css('font-size',$(this).css('font-size').substr(0,2)*1-increase_size_text+$(this).css('font-size').substr($(this).css('font-size').length-2,2));
						break;
					case 'T_content_bold_text':
						$(this).css('font-size',$(this).css('font-size').substr(0,2)*1-increase_size_text+$(this).css('font-size').substr($(this).css('font-size').length-2,2));
						$(this).css('line-height',$(this).css('line-height').substr(0,2)*1-increase_size_text+$(this).css('line-height').substr(2,2));
						break;
					case 'T_resource_bold_text':
						$(this).css('font-size',$(this).css('font-size').substr(0,2)*1-increase_size_text+$(this).css('font-size').substr($(this).css('font-size').length-2,2));
						break;
					case 'T_resource_grey_text':
						$(this).css('font-size',$(this).css('font-size').substr(0,2)*1-increase_size_text+$(this).css('font-size').substr($(this).css('font-size').length-2,2));
						break;
					case 'T_resource_header':
						$(this).css('font-size',$(this).css('font-size').substr(0,2)*1-increase_size_header+8+$(this).css('font-size').substr($(this).css('font-size').length-2,2));
						break;
				}
			});
		}
	});
	$('.T_print_link_wide').click(function(){
		var popWin="width=987,height=480,resizable=0,scrollbars=1";
		window.open('print_wide.html?file=' + window.location + '&title=' + artist_name,'',popWin);
		return false;
	});
	$('.T_print_link').click(function(){
		var popWin="width=987,height=480,resizable=0,scrollbars=1";
		window.open('print.html?artist=' + artist + '&artist_id=' + artist_id + '&artist_name=' + encodeURIComponent(artist_name) + '&years_worked=' + years_worked + '&show_big_images=' + show_big_images + '&file=' + window.location,'',popWin);
		return false;
	});
	$('.chart-tooltip-target-top').mouseover(function () {
		var id=$(this).attr('id');
		$('.chart-tooltip-target-top').each(function () { 
			if ($(this).attr('id')==id) $(this).css('text-decoration', 'underline');
		});
	});	
	$('.chart-tooltip-target-top').mouseout(function () {
		var id=$(this).attr('id');
		$('.chart-tooltip-target-top').each(function () { 
			if ($(this).attr('id')==id) $(this).css('text-decoration', '');
		});
	});
	$('.chart-tooltip-target-bottom').mouseover(function () {
		var id=$(this).attr('id');
		$('.chart-tooltip-target-bottom').each(function () { 
			if ($(this).attr('id')==id) $(this).css('text-decoration', 'underline');
		});
	});	
	$('.chart-tooltip-target-bottom').mouseout(function () {
		var id=$(this).attr('id');
		$('.chart-tooltip-target-bottom').each(function () { 
			if ($(this).attr('id')==id) $(this).css('text-decoration', '');
		});
	});
	$('.artwork-text-tooltip').qtip({
		content: {
			text: true,
			title: {
				text: true,
				button: '<img src="/images20/close_orng.gif">'
			}
		},
		position: {
			corner: {
				target: 'topMiddle',
				tooltip: 'bottomLeft'
			},
			adjust: { 
				x: 0,
				y: 5
			}
		},
		show: {
			solo: true,
			when: { event: 'click' }
		},
		hide: 'unfocus',
		style: {
			width: { 
				min: 500,
				max: 500
			},
			classes: {
				title: 'qtip-title',
				content: 'qtip-content'
			},
			title: {
				background: '#F19832',
				color: '#FFFFFF'
			},
			border: {
				width: 3,
				radius: 0,
				color: '#F19832'
			},
			background:"#FFFFFF",
			color:"#000000",
			padding: 4, 
			textAlign: 'left',
			tip: { 
				corner: 'bottomLeft'
			}
		},
		api: {
			onShow: function() {
				var self = this;
				var id=self.elements.target.attr('id');
				var num=id.split('order_')[1];
				$.get("xml_"+artist+".xml", function(data){
					var order=$(data).find('sort_order');
					$(order).each(function () {
						if ($(this).text()==num) {
							var itemNode=$(this).parent();
							var title=itemNode.find('title').text();
							var author=itemNode.find('artist').text();
							var desc=itemNode.find('desc').text();
							var year=itemNode.find('year').text();
							var materials=itemNode.find('materials').text();
							var collection=itemNode.find('collection').text();
							var content="<table width='100%' cellpadding='5'><tr><td valign='top'><img src='/images20/pnt/pnt_" + artist + "_" + num +".jpg'>";
							content+="</td><td class='artwork-tooltip-text'><b>Title:</b> "+title +"<br>";
							if (author) content+="<b>Artist:</b> "+author+"<br>";
							if (desc) content+="<b>Description:</b> "+desc+"<br>";
							if (year) content+="<b>Year:</b> "+year+"<br>";
							if (materials) content+="<b>Materials:</b> "+materials+"<br>";
							if (collection) content+="<b>Collection:</b> "+collection+"<br>";
							content+='</td></tr></table>';
							self.updateContent(content);
							self.updateTitle(title);
							if (zoom_big_active) {
								var textObj=self.elements.content.find('.artwork-tooltip-text');
								textObj.css('font-size', textObj.css('font-size').substr(0,2)*1+increase_size_text+textObj.css('font-size').substr(textObj.css('font-size').length-2,2));
							}
						}
					});
				});
			}
		}
	});
	$('.artwork-tooltip').click(function() {
		if (show_big_images == 1) {
			$('.artwork-tooltip').qtip("destroy");
			var src=$(this).attr('src');
			var name=src.split('.')[0];
			var arr=name.split('_');
			var num=arr[arr.length-1];
			return clicker(num);
		}
	});
	$('.artwork-tooltip').qtip({
		content: {
			text: true,
			title: {
				text: true,
				button: '<img src="/images20/close_orng.gif">'
			}
		},
		position: {
			corner: {
				target: 'bottomMiddle',
				tooltip: 'topRight'
			},
			adjust: { 
				x: 0,
				y: 5
			}
		},
		show: {
			solo: true,
			when: { event: 'click' }
		},
		hide: 'unfocus',
		style: {
			width: { 
				min: 500,
				max: 500
			},
			classes: {
				title: 'qtip-title',
				content: 'qtip-content'
			},
			title: {
				background: '#F19832',
				color: '#FFFFFF'
			},
			border: {
				width: 3,
				radius: 0,
				color: '#F19832'
			},
			background:"#FFFFFF",
			color:"#000000",
			padding: 4, 
			textAlign: 'left',
			tip: { 
				corner: 'topRight'
			}
		},
		api: {
			onShow: function() {
				var self = this;
				var src=self.elements.target.attr('src');
				var name=src.split('.')[0];
				var arr=name.split('_');
				var num=arr[arr.length-1];
				$.get("xml_"+artist+".xml", function(data){
					var order=$(data).find('sort_order');
					$(order).each(function () {
						if ($(this).text()==num) {
							var itemNode=$(this).parent();
							var title=itemNode.find('title').text();
							var author=itemNode.find('artist').text();
							var desc=itemNode.find('desc').text();
							var year=itemNode.find('year').text();
							var materials=itemNode.find('materials').text();
							var collection=itemNode.find('collection').text();
							var content="<table width='100%' cellpadding='5'><tr><td valign='top'><img src='" + src + "'>";
							content+="</td><td class='artwork-tooltip-text'><b>Title:</b> "+title +"<br>";
							if (author) content+="<b>Artist:</b> "+author+"<br>";
							if (desc) content+="<b>Description:</b> "+desc+"<br>";
							if (year) content+="<b>Year:</b> "+year+"<br>";
							if (materials) content+="<b>Materials:</b> "+materials+"<br>";
							if (collection) content+="<b>Collection:</b> "+collection+"<br>";
							content+='</td></tr></table>';
							self.updateContent(content);
							self.updateTitle(title);
							if (zoom_big_active) {
								var textObj=self.elements.content.find('.artwork-tooltip-text');
								textObj.css('font-size', textObj.css('font-size').substr(0,2)*1+increase_size_text+textObj.css('font-size').substr(textObj.css('font-size').length-2,2));
							}
						}
					});
				});
			}
		}
	});
	$('.chart-tooltip-target-top').qtip({
		content: {
			text: true,
			title: {
				text: true,
				button: '<img src="/images20/close_orng.gif">'
			}
		},
		position: {
			corner: {
				target: 'topMiddle',
				tooltip: 'bottomLeft'
			},
			adjust: { 
				x: 0,
				y: 5
			}
		},
		show: {
			solo: true,
			when: { event: 'click' }
		},
		hide: 'unfocus',
		style: {
			width: { 
				min: 310,
				max: 310
			},
			classes: {
				title: 'qtip-title',
				content: 'qtip-content'
			},
			title: {
				background: '#F19832',
				color: '#FFFFFF'
			},
			border: {
				width: 3,
				radius: 0,
				color: '#F19832'
			},
			background:"#FFFFFF",
			color:"#000000",
			padding: 4, 
			textAlign: 'left',
			tip: { 
				corner: 'bottomLeft'
			}
		},
		api: {
			onShow: function() {
				var self = this;
				var id=self.elements.target.attr('id');
				$.get("entities.xml", function(data){
					var obj=$(data).find('#'+ id);
					if (!$(obj).length) {
						self.updateContent("Currently, no information is available for this item on this beta version of the site.  Please visit this page in the future as we are expanding quickly.");
						self.updateTitle("&nbsp;");
					}
					else {
						var content='<table width="100%" cellpadding="4"><tr><td valign="top" width="87" height="87"><img src="/images20/ttip/' + id + '.jpg" width="87" height="87"></td><td valign="top" class="chart-tooltip-text">';
						var link=$(obj).find('link').text();
						content+=$(obj).find('description').text() + '<br><br><img src="/images20/arw_red.gif">&nbsp;&nbsp;<a href="' + link + '">';
						if (link.substring(0,7)=="http://") content+='Further Information (External)';
						else content+='Detail View';
						content+='</a></td></tr></table>';
						var title=$(obj).find('name').text();
						self.updateContent(content);
						self.updateTitle(title);
						if (zoom_big_active) {
							var textObj=self.elements.content.find('.chart-tooltip-text');
							textObj.css('font-size', textObj.css('font-size').substr(0,2)*1+increase_size_text+textObj.css('font-size').substr(textObj.css('font-size').length-2,2));
						}
					}
				});
			}
		}
	});
	$('.chart-tooltip-target-bottom').qtip({
		content: {
			text: true,
			title: {
				text: true,
				button: '<img src="/images20/close_orng.gif">'
			}
		},
		position: {
			corner: {
				target: 'bottomMiddle',
				tooltip: 'topLeft'
			},
			adjust: { 
				x: 0,
				y: 5
			}
		},
		show: {
			solo: true,
			when: { event: 'click' }
		},
		hide: 'unfocus',
		style: {
			width: { 
				min: 310,
				max: 310
			},
			classes: {
				title: 'qtip-title',
				content: 'qtip-content'
			},
			title: {
				background: '#F19832',
				color: '#FFFFFF'
			},
			border: {
				width: 3,
				radius: 0,
				color: '#F19832'
			},
			background:"#FFFFFF",
			color:"#000000",
			padding: 4, 
			textAlign: 'left',
			tip: { 
				corner: 'topLeft'
			}
		},
		api: {
			onShow: function() {
				var self = this;
				var id=self.elements.target.attr('id');
				$.get("entities.xml", function(data){
					var obj=$(data).find('#'+ id);
					if (!$(obj).length) {
						self.updateContent("Currently, no information is available for this item on this beta version of the site.  Please visit this page in the future as we are expanding quickly.");
						self.updateTitle("&nbsp;");
					}
					else {
						var content='<table width="100%" cellpadding="4"><tr><td valign="top" width="87" height="87"><img src="/images20/ttip/' + id + '.jpg" width="87" height="87"></td><td valign="top" class="chart-tooltip-text">';
						var link=$(obj).find('link').text();
						content+=$(obj).find('description').text() + '<br><br><img src="/images20/arw_red.gif">&nbsp;&nbsp;<a href="' + link + '">';
						if (link.substring(0,7)=="http://") content+='Further Information (External)';
						else content+='Detail View';
						content+='</a></td></tr></table>';
						var title=$(obj).find('name').text();
						self.updateContent(content);
						self.updateTitle(title);
						if (zoom_big_active) {
							var textObj=self.elements.content.find('.chart-tooltip-text');
							textObj.css('font-size', textObj.css('font-size').substr(0,2)*1+increase_size_text+textObj.css('font-size').substr(textObj.css('font-size').length-2,2));
						}
					}
				});
			}
		}
	});
});
