var iSlides = 0;
var iSlideWidth = 72 + 6;
var iSlideMargin = 0;
var iSlideMaxMargin = 0;
var iSlidePerSlide = 9;
var iSelectorMaxMargin = 0;
var iSelectorMargin = 0;
var iMoveToSlide = 0;

$(document).ready( function() {
	initSlider();
	initSlidesHover();
	initSelector();
	initMemberCheck();
	initVote();
});


function initVote() {
	$('#votebtn').click(castVote);
}

function castVote() {
	if(!isEmail($('#email').attr('value'))) {
		alert('Geef aub een correct e-mailadres op');
		return false;
	}
	
	if($('#name').attr('value') == '') {
		alert('Geef aub uw naam op');
		return false;
	}
	
	var sRequest = LINKROOT+'/do/building/vote/'+iBuilding;
	var sPost = 'name='+$('#name').attr('value')+'&email='+$('#email').attr('value')+'&ismember='+$('#ismember').attr('value');
	
	$.post(sRequest,sPost,function(sResponse) {
		if(sResponse == 'OK') {
			// Ok!
			
			$('#canvote').fadeOut('medium', function() {
				$('#hasvoted').fadeIn('medium');
			})
		} else {
			alert(sResponse);
		}
	} );
	
}

function initMemberCheck() {
	$('#membercheck').click( function() {
		if($(this).hasClass('active')) {
			// Uncheck
			$(this).removeClass('active');
			$('#ismember').attr({value:0});
		} else {
			// Check
			$(this).addClass('active');
			$('#ismember').attr({value:1});			
		}
	});
}

function initSelector() {
	// Show/hide
	$('#selector_toggle').click( function() {
		if($(this).hasClass('active')) {
			// Hide
			$(this).removeClass('active');
			$('#selector div.content').animate({height: "hide"}, 'fast', "easeInOutCubic", function(){
				slideSelector(0);
			});

			
		} else {
			// Show
			$(this).addClass('active');
			$('#selector div.content').animate({height: "show"}, 'medium', "easeOutBounce", function(){
				iSelectorMaxMargin = ($('#selector_list_content').innerHeight() - 160) * -1;
			});
			
			
		}
	});
	
	// Nav 
	$('#selector_down').click( function() {
		moveSelector('down');
	});
	
	
	$('#selector_up').click( function() {
		moveSelector('up');
	});	
	
}

function moveSelector(sDirection) {
	switch(sDirection) {
	case 'up':
		iNewMargin = iSelectorMargin + 85;
		if(iNewMargin > 0) {
			iNewMargin = 0;
		}


		break;
		
	case 'down':
		iNewMargin = iSelectorMargin - 85;
		if(iNewMargin < iSelectorMaxMargin ) {
			iNewMargin = iSelectorMaxMargin;
		}		
		
		break;
	}
	
	slideSelector(iNewMargin);
}

function slideSelector(iNewMargin) {
	
	iSelectorMargin = iNewMargin;

	$('#selector_list_content').animate({marginTop: iSelectorMargin},'fast','easeInOutCubic');
}

function initSlidesHover() {
	$('a.slide_wrap').mouseover( function() {
		// Show
		$(this).find('span.slide_desc').each( function() {
			$(this).show();
			
		});
	});
	
	$('a.slide_wrap').mouseout( function() {
		// Hide
		$(this).find('span.slide_desc').each( function() {
			$(this).hide();
		});
	});
	
}

function initSlider() {
	// Count number of slides
	$('span.slide_thumb').each( function() {
		iSlides++;
	});
	
	// Bind to nav
	$('#slider_nav_left').click( function() {
		moveSlider('left');
	});
	
	// Bind to nav
	$('#slider_nav_right').click( function() {
		moveSlider('right');
	});	
	
	// Slide max margin
	iSlideMaxMargin = ( (iSlides * iSlideWidth)  -  (iSlidePerSlide * iSlideWidth) ) * -1;
	
	// Move to a slide?
	if(iMoveToSlide > 0) {
		moveToSlide(iMoveToSlide);
	}
}

function moveToSlide(iSlideId) {
	// Find position
	$('#slide_'+iSlideId).find('a.slide_wrap').each( function() {
		var iPos = parseInt(this.id.replace('slide_count_',''));
		iPos = iPos - 4;
		iNewMargin = ( iPos *  iSlideWidth) * -1;
		
		
		
		if(iNewMargin > 0) {
			iNewMargin = 0;
		}
		
		if(iNewMargin < iSlideMaxMargin) {
			iNewMargin = iSlideMaxMargin;
		}		
		
		
		
		slideSlider(iNewMargin,false);

	});
}

function moveSlider(sDirection) {
	switch(sDirection) {
	case 'left':
		iNewMargin = iSlideMargin + ( iSlidePerSlide *  iSlideWidth);
		if(iNewMargin > 0) {
			iNewMargin = 0;
		}
		break;
		
	case 'right':
		iNewMargin = iSlideMargin - ( iSlidePerSlide *  iSlideWidth);
		if(iNewMargin < iSlideMaxMargin) {
			iNewMargin = iSlideMaxMargin;
		}
		break;
	}
	
	slideSlider(iNewMargin,true);
}

function slideSlider(iNewMargin,bAnimate) {
	
	iSlideMargin = iNewMargin;

	if(bAnimate) {
		$('#slider_table').animate({marginLeft: iSlideMargin},'slow','easeInOutCubic');
	} else {
		$('#slider_table').css({marginLeft: iSlideMargin});
	}
}

 var isEmail_re       = /^\s*[\w\-\+_]+(\.[\w\-\+_]+)*\@[\w\-\+_]+\.[\w\-\+_]+(\.[\w\-\+_]+)*\s*$/;
 function isEmail (s) {
    return String(s).search (isEmail_re) != -1;
 }
