$(document).ready(function() {
	InitWorkboxMenu();
});

function InitWorkboxMenu() {
	//	try {
	//		console.log('init menu');
	//	} catch(err) { 
	//		alert(err);
	//	}

	$('div.workbox div.item').mouseover(function() {
		var menu = $(this).children('.menu');
		menu.animate( { height: '27px' }, { queue:false, duration:500 } )
	});

	$('div.workbox div.item').mouseout(function() {
		var menu = $(this).children('.menu');
		menu.animate( { height: '0' }, { queue:false, duration:500 } )
	});
}

function DisplayWorkboxMenu(element, state) {
	var state = (state == 'show') ? 'visible' : 'hidden';
	if(element.down('.menu'))
		$(element.down('.menu')).setStyle({
			'visibility': state
		});
}

function initOverLabels () {
	if (!document.getElementById) return;

	var labels, id, field;

	// Set focus and blur handlers to hide and show
	// labels with 'overlabel' class names.
	labels = document.getElementsByTagName('label');
	for (var i = 0; i < labels.length; i++) {

		if (labels[i].className == 'overlabel') {

			// Skip labels that do not have a named association
			// with another field.
			id = labels[i].htmlFor || labels[i].getAttribute('for');
			if (!id || !(field = document.getElementById(id))) {
				continue;
			}

			// Change the applied class to hover the label
			// over the form field.
			labels[i].className = 'overlabel-apply';

			// Hide any fields having an initial value.
			if (field.value !== '') {
				hideLabel(field.getAttribute('id'), true);
			}

		}

		// Set handlers to show and hide labels.
		field.onfocus = function () {
			hideLabel(this.getAttribute('id'), true);
		};
		field.onblur = function () {
			if (this.value === '') {
				hideLabel(this.getAttribute('id'), false);
			}
		};

		// Handle clicks to label elements (for Safari).
		labels[i].onclick = function () {
			var id, field;
			id = this.getAttribute('for');
			if (id && (field = document.getElementById(id))) {
				field.focus();
			}
		};
	}

}


function hideLabel (field_id, hide) {
	var field_for;
	var labels = document.getElementsByTagName('label');
	for (var i = 0; i < labels.length; i++) {
		field_for = labels[i].htmlFor || labels[i].getAttribute('for');
		if (field_for == field_id) {
			labels[i].style.textIndent = (hide) ? '-2000px' : '0px';
			return true;
		}
	}
	return false;
}

function processArtworksSearchV2(type, val)
{	// Inhoud trefwoord box updaten

	selectedTag = document.getElementById('tag').value;

	blockCall = 1;
	offset = 0;

	// *********** SELECTED DISCIPLINE
	if(type == "dis")
	{	var dis = val;
		var disel = "dis" + val;
		
		selectedAd = '';

		if(dis == selectedDis)
		{	document.getElementById("dis3").className = "";
			document.getElementById("dis80").className = "";
			document.getElementById("dis16").className = "";
			document.getElementById("dis25").className = "";
			document.getElementById("dis2").className = "";
			document.getElementById(disel).className = "";

			selectedDis = null;
			selectedTec = null;
			document.getElementById('technique').innerHTML = '';
		}
		else
		{	document.getElementById("dis3").className = "inactive_link";
			document.getElementById("dis80").className = "inactive_link";
			document.getElementById("dis16").className = "inactive_link";
			document.getElementById("dis25").className = "inactive_link";
			document.getElementById("dis2").className = "inactive_link";
			document.getElementById(disel).className = "active_link";

			tecArr = fillTecArr(dis);

			var first  = 1;

			for(var ttec in tecArr)
			{	var html = '<li><a href="#" onClick=\'processArtworksSearchV2("tec", "' + tecArr[ttec] + '");\'>' + ttec + '</a></li>';
				if(first)
				{	document.getElementById('technique').innerHTML = html
					first = 0;
				}
				else
				{	document.getElementById('technique').innerHTML += html;
				}
				
			}

			selectedDis = dis;
			selectedTec = null;
		}
	}
	// *********** SELECTED TECHNIQUE
	if(type == 'tec')
	{	var tec = val;

		selectedAd = '';

		tecArr = fillTecArr(selectedDis);

		if(tec == selectedTec)
		{	first = 1;
			for(var ttec in tecArr)
			{	
				var html = '<li><a href="#" onClick=\'processArtworksSearchV2("tec", "' + tecArr[ttec] + '");\'>' + ttec + '</a></li>';
				document.getElementById('technique').innerHTML = html
			}

			selectedTec = null;	
		}
		else
		{	var first = 1;

			for(var ttec in tecArr)
			{	if(tecArr[ttec] == tec)
				{	className = "active_link";
				}
				else
				{	className = "inactive_link";
				}
				var html = '<li><a href="#" class="' + className + '" onClick=\'processArtworksSearchV2("tec", "' + tecArr[ttec] + '");\'>' + ttec + '</a></li>';
				if(first)
				{	document.getElementById('technique').innerHTML = html
					first = 0;
				}
				else
				{	document.getElementById('technique').innerHTML += html;
				}
				
			}

			selectedTec = tec;
		}
	}
	if(type == 'sub')
	{	var sub = val;

		selectedAd = '';

		if(sub == selectedSub)
		{	document.getElementById("sub67").className = "";
			document.getElementById("sub42").className = "";
			document.getElementById("sub49").className = "";
			document.getElementById("sub53").className = "";
			document.getElementById("sub48").className = "";
			document.getElementById("sub64").className = "";
			document.getElementById("sub57").className = "";
	
			selectedSub = null;
		}
		else
		{	var subel = 'sub' + val;

			document.getElementById("sub67").className = "inactive_link";
			document.getElementById("sub42").className = "inactive_link";
			document.getElementById("sub49").className = "inactive_link";
			document.getElementById("sub53").className = "inactive_link";
			document.getElementById("sub48").className = "inactive_link";
			document.getElementById("sub64").className = "inactive_link";
			document.getElementById("sub57").className = "inactive_link";
			document.getElementById(subel).className = "active_link";		
	
			selectedSub = sub;
		}
	}
	if(type == 'new')
	{	val = val.checked;


		selectedAd = '';

		if(val == 1)
		{	selectedNew = 1;
		}
		else
		{	selectedNew = 0;
		}
	}

	if(type == 'tag')
	{	selectedTag = val;
		selectedAd = '';
	}
	if(type == 'price_class')
	{	selectedPriceClass = val;
		selectedAd = '';
	}

	selectedAd = '';
	
	if(type == 'for_sale')
	{	val = val.checked;

		if(val == 1)
		{	selectedForSale = 1;
		}
		else
		{	selectedForSale = '';
		}
	}
	
	getArtworksAjaxFirstV2(0, selectedDis, selectedTec, selectedSub, selectedNew, selectedTag, selectedPriceClass, selectedAd, selectedForSale);

}

function processGallerySearchV2(type, val)
{	var al = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

	selectedName = document.getElementById('gallery_name').value;

	if(type == "letter")
	{	if(val == selectedLetter)
		{	for(i = 0; i < 26; i++)
			{	if(document.getElementById("letter_" + al.charAt(i)))
				{	document.getElementById("letter_" + al.charAt(i)).className = '';
				}
			}

			selectedLetter = null;
		}
		else
		{	selectedLetter = val;

			for(i = 0; i < 26; i++)
			{	if(document.getElementById("letter_" + al.charAt(i)))
				{	document.getElementById("letter_" + al.charAt(i)).className = 'inactive_link';
				}
			}
			
			document.getElementById("letter_" + val).className = 'active_link';


		}
	}	

	getGalleryAjaxFirstV2(0, selectedLetter, selectedName);
}


function getArtworksAjaxFirstV2(offset, dis, tec, sub, onew, tag, price_class, ad, for_sale)
{	firstLoad = true;
	document.getElementById("result_pane").scrollTop = 0;
	document.getElementById("content").innerHTML = "<div style='text-align: center;'><img alt='loading' src='/exto/images/loading.gif' width='32' height='32'/></div>";
	getArtworksAjaxV2(offset, dis, tec, sub, onew, tag, price_class, ad, for_sale);
}


function getArtworksAjaxV2(offset, dis, tec, sub, onew, tag, price_class, ad, for_sale)
{	xmlHTTP = null;
	xmlHTTP = createHTTPHandler();
	var url = '/exto/get_artworks_content.php?offset=' + offset + '&dis=' + dis + '&tec=' + tec + '&sub=' + sub + '&onew=' + onew + '&tag=' + tag + "&price_class=" + price_class + "&ads=" + ad + '&for_sale=' + for_sale;
	xmlHTTP.onreadystatechange = ajaxCallbackV2;
	xmlHTTP.open('POST', url, true);
	xmlHTTP.send(null);
}

function ajaxCallbackV2()
{	if(xmlHTTP.readyState==4)
	{	if(firstLoad)
		{	
			document.getElementById("content").innerHTML = xmlHTTP.responseText;
			InitWorkboxMenu();
		}
		else
		{	
			document.getElementById("content").innerHTML += xmlHTTP.responseText;	
		}
		firstLoad = false;
		blockCall = 0;
		tb_init('a.thickbox, area.thickbox, input.thickbox');
	}
}