
var _debug = true;
var _canvas = 'canvas'
var _order = 'votes';
var _lang;

var addthis_config =
{
   services_compact: 'email,favorites,facebook,twitter,delicious,digg,google,myspace,stumbleupon'
}

$.ajaxSetup({cache: false});

$(function(){	
	$.getScript( 'http://s7.addthis.com/js/250/addthis_widget.js#domready=1' );	

	$('#sorter a').click(function(){
		_order = $(this).attr('rel');
		draw(_order);
		return false;
	});	
	
	if($('#' + _canvas).hasClass('fr')){
		_lang = 'fr';
	} else {
		_lang = 'de';
	}
	/*
	$('a.upload').click(function(){
		upload();
	});
	*/
	var tmpid = location.href.split('#')[1];
	if(tmpid){
		lightbox(tmpid);
	} else {
		var tmpid = location.href.split('%23')[1];
		if(tmpid){
			lightbox(tmpid);
		}
		
	}
	
	draw(_order);
});

function draw(order){
	$('#canvas').empty();
	var url = '/challenge/ajax.php?action=getPhotos&lang='+_lang;
	if(order) {
		url = url + "&order="+order
	}
	$.getJSON(
		url, 
		function(data) {
			$.each(data, function(i, val){
				var image;
				image = $('#photoholder').clone();
				image.attr('id', 'photoholder'+i);
				image.css('display', 'block');
				image.find('.title').html(val.babyname);
				image.find('.likes').html(val.rates);
				
				var img = new Image();
				$(img).load(function () {
				      $(this).hide();
				      image.find('.image .loading').hide();
				      image.find('.image').append(this);
				      $(this).fadeIn();
				 })
				 .error(function () {
				 })
				 .attr('src', val.photo);
				image.bind('click', function() {
					
					lightbox(val.id);
				});
				image.bind('mouseenter', function() {
					image.find('.overlay').addClass("on-top");
					image.find('.overlay').show();
				});

				image.bind('mouseleave', function() {
					image.find('.overlay').removeClass("on-top");
					image.find('.overlay').hide();
				});
				image.appendTo('#'+_canvas);


			});
		});

}

function upload(){
	$.ajax({
		url: '/challenge/upload.php?lang=' + _lang,
		success: function(data){
			$.fancybox({
				'content': data,
	            'autoScale'     	: false,
	    		'autoDimensions'	: false,
	    		'centerOnScroll'	: false,
	            'transitionIn'		: 'none',
	    		'transitionOut'		: 'none',
				'width'				: 500,
				'height'			: 530,
	            'onComplete': function(){ 
					
					$("form.ajax").jqTransform(); 
					$('.loading').hide();
			    	$('.checkbox label').show();

			    	var options = {
				    	beforeSubmit: validate,
				    	success: function(responseText, statusText, xhr, $form){							
				    		draw();
				      		if(responseText == 'false'){
				        		upload();
				        		alert('Falsches Bildformat')
				      		} else {

				        		lightbox(responseText);  
				      		}
							
				    	}
			    	};

			    	function validate(formData, jqForm, options) { 	
			      		var gerrors = 0;
			        	for (var i=0; i < formData.length; i++) { 
			      			field = $('input[name="'+formData[i].name+'"]');
			      			if(field.val() == '' || field.val() == field[0].defaultValue){
			            		if(formData[i].name == 'uploadsent') continue;
			            		gerrors = gerrors+1;
			      		  		field.css('color', '#ff0000');
			      			} else {
			      		  		field.css('color', '#000');
			      			}
			        	} 
						chbox = $('input[name="chbox"]').attr('checked');
						if(chbox == false){
							gerrors = gerrors+1;
							$('label[for="agbcheck"]').css('color', '#ff0000');
						}else {
							$('label[for="agbcheck"]').css('color', '#000');
						}
			        	if(gerrors){
			         		return false;
			        	} else {

			          		$('.send').hide().css('display','none');
			          		$('.loading').show();
			        	}
			    	}

			    	$('#submitbutton').click(function(){
			      		$(this).closest('form').ajaxSubmit(options);
			      		return false;
			    	});

					$('.inputtxt').focus(function() {
						if (this.value == this.defaultValue) {
							this.value = '';
						}
					});

					$('.inputtxt').blur(function() {
						if (this.value == '') {
							this.value = this.defaultValue;
						}
					});
					

				}
			});
		}
	});
}
function lightbox(id) {
	$.fancybox.close();
	window.location.hash = "#"+id;
	$.getJSON(
		'/challenge/ajax.php?action=getDetails&id='+id+'&lang='+_lang,
		function(data) {
			lb = $('#lightboxholder').clone();
			lb.css('display', 'block');
			lb.find('.lbtitle').html(data.title);
			lb.find('.lbname').html(data.babyname);
			lb.find('.votes span').html(data.rates);
			lb.find('.votes em').html(data.langu);			
						
			lb.find('div.addthis_button_expanded').attr('id', 'share'+id);

			var bimg = new Image();
			$(bimg).load(function () {
			      $(this).hide();
			      lb.find('.bimage .loading').hide();
			      lb.find('.bimage').append(this);
			      $(this).fadeIn();
				width = bimg.width;

				if(width < 380){
					foo = ((380-bimg.width)/2);
					lb.find('.bimage').css('padding-left', foo-10+'px');
					//lb.find('.heregoesthevotebutton').css('padding-right', '20px')
					width = 380;
				}
				lb.find('.lbfooter').css('width', width+'px');
				$.fancybox({
					'content'			: lb,
					'width' 			: width+140,
					'onComplete'		: function(){
						var txt;
						var txt2;
						if(_lang == 'fr'){
							txt = 'Social Bookmark';
							txt2 = 'Envoyer à un ami';
						} else {
							txt = 'Social Bookmark';
							txt2 = 'Link versenden';
						}
						
						
						$('#share'+id).append('<a href="mailto:?subject=bibi&body='+escape(window.location)+'">'+txt2+'</a> | <a class="addthis_button" addthis:title="An excellent website" addthis:url="'+escape(window.location)+'">'+txt+'</a>');
						 addthis.button(".addthis_button");
					},				
					'onClosed' : function(){
						window.location.hash = "";
					
					}
				});
			 })
			 .error(function () {
			 })
			 .attr('src', data.photo);
			/*
			if(data.rateable){
				if(data.rateable == "deactivated"){
					lb.find('.ratebutton img').hide();
					lb.find('.ratebutton span').html('rating deactivated');
				} else {
					lb.find('.ratebutton span').hide();
					lb.find('.ratebutton img').bind('click', function(){
						var rateUrl = "/challenge/ajax.php?action=rate&id=" + id;
						$.getJSON(
							rateUrl,
							function(data) {
								draw(_order);
								lightbox(id);
							}
						);
						return false;
				});							
				}
			} else {
				
			}
			*/
			lb.find('.ratebutton img').hide();
		}
	);
	
}


