window.addEvent('domready', function() { 
	if($('accordion')){setupAccordion();}
	
	if($('slides')){
		setupSlideNav();
		
		if($('scrollbar')){
			makeScrollbar( $('showDescription'), $('scrollbar'), $('handle') );
		}
	
		if($('selectPastExhibition')){
			setupPastExhibitions();
		}
	}
	
	if($('featuredSearches')){
		setupFeaturedSearches();
		randomFeaturedSearch();
	}
	
	if($('plate_photo_slide_controls')){setup_plate_slide();}
	
	if($('submit_plate_inquiry')){setupInquire();}
	if($('contact_form')){setupInquirePageForm();}
	setupRegisterLightbox();
});

function setupAccordion(){
	//create our Accordion instance
	var myAccordion = new Accordion($('accordion'), 'h3.toggler', 'div.element', {
		opacity: false,
		alwaysHide: true,
		show: -1,
		onActive: function(toggler, element){
			toggler.addClass('toggled');
		},
		onBackground: function(toggler, element){
			toggler.removeClass('toggled');
		}
	});
}

var current_slide = 1;
var total_slides = 0;

function setupSlideNav(){

	total_slides = $$('#slides .slide').length;

	$('prev').addEvent('click', function(){
		if(current_slide - 1 > 0){
			// turn off current slide
			$('slide_'+current_slide).addClass('hide');
			
			current_slide--;
	
			$('slide_'+current_slide).removeClass('hide');
		}
		
		checkNextPrev_Exhib_Slide();
	});
	
	$('next').addEvent('click', function(){
		if(current_slide + 1 <= total_slides){
			// turn off current slide
			$('slide_'+current_slide).addClass('hide');
			
			current_slide++;
	
			$('slide_'+current_slide).removeClass('hide');
		}
		
		checkNextPrev_Exhib_Slide();
	});
	
	$('toggleInfo').addEvent('click', function(){
		if($('slides').hasClass('hideInfo')){
			// show info
			$('slides').removeClass('hideInfo');
			$('toggleInfo').set('text', 'Hide Info');
		}else{
			// hide info
			$('slides').addClass('hideInfo');
			$('toggleInfo').set('text', 'Info');
		}
	});
	
	checkNextPrev_Exhib_Slide();
}

function checkNextPrev_Exhib_Slide(){
	if(current_slide == 1){
		$('prev').addClass('disabled');
	}else{
		$('prev').removeClass('disabled');
	}

	if(current_slide + 1 <= total_slides){
		$('next').removeClass('disabled');
	}else{
		$('next').addClass('disabled');
	}
}

function setupPastExhibitions(){
	$('selectPastExhibition').addEvent('click', function(){
		if($('exhibitionList').hasClass('hide')){
			$('exhibitionList').setStyle('top', -($('exhibitionList').getCoordinates().height + 17));
			$('exhibitionList').removeClass('hide');
			$('selectPastExhibition').set('text', 'Close');
		}else{
			$('exhibitionList').addClass('hide');
			$('selectPastExhibition').set('text', 'Select Past Exhibition');
		}
	});
}

function makeScrollbar(content,scrollbar,handle,horizontal,ignoreMouse){
	var steps = (horizontal?(content.getScrollSize().x - content.getSize().x):(content.getScrollSize().y - content.getSize().y))
	
	if(steps){
		var slider = new Slider(scrollbar, handle, {	
			steps: steps,
			mode: (horizontal?'horizontal':'vertical'),
			onChange: function(step){
				// Scrolls the content element in x or y direction.
				var x = (horizontal?step:0);
				var y = (horizontal?0:step);
				content.scrollTo(x,y);
			}
		}).set(0);
		if( !(ignoreMouse) ){
			// Scroll the content element when the mousewheel is used within the 
			// content or the scrollbar element.
			$$(content, scrollbar).addEvent('mousewheel', function(e){	
				e = new Event(e).stop();
				var step = slider.step - e.wheel * 30;	
				slider.set(step);					
			});
		}
		// Stops the handle dragging process when the mouse leaves the document body.
		$(document.body).addEvent('mouseleave',function(){slider.drag.stop()});
	}else{
		$('scrollbar').destroy();
	}
}

var current_random = -2;
var search_interval;

function setupFeaturedSearches(){
	
	$$("#featuredSearches li a").each(function(item, index){
		item.index = index;
		item.addEvent('mouseenter',function(){
			$clear(search_interval);
			randomFeaturedSearch(this.index);
		});
		
		item.addEvent('mouseleave',function(){
			search_interval = randomFeaturedSearch.periodical(3500);
		});
	});
	
	$$("#featuredSearches img").each(function(item, index){
		item.fade("hide");
		item.removeClass("init");
	});
	
	randomFeaturedSearch();
	search_interval = randomFeaturedSearch.periodical(3500);
}

function randomFeaturedSearch(el){
	var list_items = $$("#featuredSearches li a");
	var images = $$("#featuredSearches img");
	
	var random = current_random;
	
	if(!$chk(el)){
		if(random == list_items.length - 1){
			random = 0;
		}else{
			random = current_random + 1;
		}
	}else{
		random = el;
	}
	
	list_items.each(function(item, index){
		if(index == random){
			item.addClass("active");
		}else{
			item.removeClass("active");
		}
	});
	
	images.each(function(item, index){
		if(index == random){
			item.fade("in");
		}else{
			item.fade("out");
		}
	});
	
	current_random = random;
}

function setupRegisterLightbox(){
	SqueezeBox.assign($$('#tertNav #register a, .priceContainer .login_link a'), {
		size: {x: 350, y: 400},
		handler:'iframe',
		url: '/register/'
	});
	
	SqueezeBox.assign($$('#tertNav #profile a'), {
		size: {x: 350, y: 400},
		handler:'iframe',
		url: '/register/?action=profile'
	});
	
	$('logout').addEvent('click',function(){
		user_logged_out();
	});
}

function user_logged_in(){
	// Swap Sign In / Register for Sign Out & Profile
	$('register').addClass('hide');
	$('profile').removeClass('hide');
	$('logout').removeClass('hide');
	
	// Show Prices
	$$('.priceContainer').each(function(item, index){
		item.addClass('logged_in');
	});
}

function user_logged_out(){
	// Clear Cookie
	Cookie.dispose('login',{path: "/"});
	Cookie.dispose('email',{path: "/"});
	
	// Swap Logout and Profie for Sign In / Register
	$('register').removeClass('hide');
	$('profile').addClass('hide');
	$('logout').addClass('hide');
	
	// Hide Prices
	$$('.priceContainer').each(function(item, index){
		item.removeClass('logged_in');
	});
}

function setup_plate_slide(){
	total_slides = $$('#piece_photos img').length;
	
	$('prev').addEvent('click', function(){
		// turn off current slide
		new_slide = current_slide - 1;
		if($('slide_'+new_slide)){
			
			$('slide_'+current_slide).addClass('hide');
			if($('plate_info_'+current_slide)){
				$('plate_info_'+current_slide).addClass('hide');
			}
			
			current_slide--;
	
			$('slide_'+current_slide).removeClass('hide');
			if($('plate_info_'+current_slide)){
				$('plate_info_'+current_slide).removeClass('hide');
			}
		}
		
		checkNextPrev_Plate_Slide();
	});
	
	$('next').addEvent('click', function(){
		// turn off current slide
		new_slide = current_slide + 1;
		if($('slide_'+new_slide)){

			$('slide_'+current_slide).addClass('hide');
			if($('plate_info_'+current_slide)){
				$('plate_info_'+current_slide).addClass('hide');
			}
			
			current_slide++;
	
			$('slide_'+current_slide).removeClass('hide');
			if($('plate_info_'+current_slide)){
				$('plate_info_'+current_slide).removeClass('hide');
			}
		}
		
		checkNextPrev_Plate_Slide();
	});
	
	checkNextPrev_Plate_Slide();
}

function checkNextPrev_Plate_Slide(){
	if(current_slide == 1){
		$('prev').addClass('disabled');
	}else{
		$('prev').removeClass('disabled');
	}
	
	new_slide = current_slide + 1;
	if($('slide_'+new_slide)){
		$('next').removeClass('disabled');
	}else{
		$('next').addClass('disabled');
	}
}

function setupInquire(){
	$$("a.btn_inquire").each(function(item, index){
		$(item).addEvent('click', function(){
			$('inquire_form').toggleClass('hide');
		});
	});
	
	$('submit_plate_inquiry').addEvent('click', function(){
		// Submit Inquiry
		var myRequest = new Request({method: 'get', url: '/inc/p/inquiry.php'});
		myRequest.send('inquiry_email='+$('inquiry_email').get('value')+'&inquiry_note='+$('inquiry_note').get('value')+'&inventory_number='+$('inventory_number').get('value')+'&inquiry_first_name='+$('inquiry_first_name').get('value')+'&concerning='+$('concerning').get('value'));
		
		// Clear Form
		$('inquire_form').addClass('hide');
		$('inquiry_email').set('value','');
		$('inquiry_note').set('value','');
		
		$('inquire_thankyou').fade('show');
		$('inquire_thankyou').removeClass('hide');
		search_interval = removeThankYou.periodical(5000);
	});
}

function removeThankYou(){
	$clear(search_interval);
	$('inquire_thankyou').fade("out");
}

function setupInquirePageForm(){
	$('submit_plate_inquiry_on_page').addEvent('click', function(){
		// Submit Inquiry
		var myRequest = new Request({method: 'get', url: '/inc/p/inquiry.php'});
		myRequest.send('inquiry_email='+$('inquiry_email').get('value')+'&inquiry_note='+$('inquiry_note').get('value')+'&inquiry_first_name='+$('inquiry_first_name').get('value'));
		
		// Clear Form
		$('contact_form').addClass('hide');
		$('inquiry_email').set('value','');
		$('inquiry_note').set('value','');
		
		$('inquire_thankyou').fade('show');
		$('inquire_thankyou').removeClass('hide');
	});
}