window.addEvent('domready', function() {
	initPlayer();
	initRating();
	initAjaxLoader();
	intTagManager();
	initEnvoyerAmi();
});

function initEnvoyerAmi() {
	var currentUrl = document.location.href;
	SqueezeBox.assign($$('a[rel=boxedi]'), {
		size: {x: 315, y: 270},
		ajaxOptions: {
			method: 'post', // we use GET for requesting plain HTML
			data: 'ajax=yes&currentUrl='+currentUrl
		},
		completeFunc: function() {
			envoyerAmi();
			
		}
	});

}


function envoyerAmi() {
		if($('send-friend-form')) {
/* 			$('submit-name').focus(); */
			$('send-friend-form').addEvent('submit', function() {
				var myHTMLRequest = new Request.HTML({
					url:"/accueil/envoyer_ami",
					onSuccess: function(responseText, responseXML, responseHTML) {
						$('sbox-content').empty();
						$('sbox-content').set('html', responseHTML);
						envoyerAmi();
					}
				}).post($('send-friend-form'));
				return false;
			});
		}
		
		if($('success-submit')) {
			$('success-submit').addEvent('click', function() {
				closeBox();
				return false;
			});
		}
}




function intTagManager() {
	if($('tag-manager')) {
		var tagManager = $('tag-manager');
		var tagSelect = $('tag-select');
		tagManager.addEvent('submit', function() {
			var inputAjax = new Element('input', {
				type: "hidden",
				name: "ajax",
				value: "yes"
			});
			
	
			inputAjax.inject(tagManager);
	
			tagManager.set('send', {
				method: 'post',
				onSuccess: function(result) {
					$('inject-tags').set('html', result);
					$each($$('#tag-select option'), function(el, index) {
						if($('tag-select').get('value') == el.getProperty('value')) {
							// console.log('destroy');
							el.dispose();	
						}
					});	
					initDeleteTags();
				},
			});
			
			tagManager.send();
			
			return false;
		});
		
		initDeleteTags();
	}
};


function initDeleteTags() {
	// console.log('initDeleteTags');
	$$('#inject-tags .delete').removeEvent('click');
	$$('#inject-tags .delete').addEvent('click', function() {
		var deleteEl = this;
		var deleteLink = deleteEl.getProperty('href');

		var myHTMLRequest = new Request.HTML({
			url: deleteLink,
			method:"post",
			data: "ajax=yes&id_photo="+$('hidden-id-photo').get('value'),
			update : $('inject-tags'),
			onSuccess: function(tree, els, html) {
				reloadTagManager();
				initDeleteTags();
			}
		}).send();
		return false;
	});
}

function reloadTagManager() {
	var myHTMLRequest = new Request.HTML({
		url: "/account/photos_select_tags/",
		data: "ajax=yes&id_photo="+$('hidden-id-photo').get('value'),
		method:"post",
		update: $('tag-select'),
		onSuccess: function () {
			// console.log('yeah');
		}
	}).send();
}

function initAjaxLoader() {
	if($$('.submitajaxloader')) {
		var ajaxloader = $$('.ajax_loader');
		ajaxloader.setStyle('display', 'none');
		
		var submitajaxloader = $$('.submitajaxloader');
		submitajaxloader.addEvent('click', function(){
			ajaxloader.setStyle('display', 'block');
		});
	}
}

function initRating() {
	if($('id-photo')) {
		var idPhoto = $('id-photo').get('html');
		
		$$('.rate').each(function(element,i){
			
			/* rate event */
			element.addEvent('click', function(){
				var myCookie = Cookie.read('apc_votes');
				var locked = false;
				if($defined(myCookie)) {
					if(myCookie.contains(idPhoto)) {
						var locked = true;
					}
				}
				
				
				if(!locked) {				
					var myStyles = ['star-0', 'star-1', 'star-2', 'star-3', 'star-4', 'star-5', 'star-6', 'star-7', 'star-8', 'star-9', 'star-10'];
					myStyles.each(function(myStyle){
						if(element.getParent().hasClass(myStyle)){
							element.getParent().removeClass(myStyle)
						}
					});
					
					myStyles.each(function(myStyle, index){
						idNum = element.id.replace(/star-/, '');
		
						if(index == idNum){
							var myHTMLRequest = new Request.HTML({
								url: "/photos-winter-2010/vote/"+idPhoto,
								method:"post",
								data: "rating="+idNum,
								update : $('average-rating'),
								onSuccess: function(tree, els, html) {
									var currentRate = Math.round($('average-rating').get('html'));
									myStyles.each(function(myStyle){
										if(element.getParent().hasClass(myStyle)){
											element.getParent().removeClass(myStyle)
										}
									});	
									$('rating').addClass('star-'+currentRate);
									$('rating').addClass('locked');
								}
							}).send();
							
						}
					});
				} else {
					$('rating').addClass('locked');
				}	
				return false;
			});
		});
		
		/* set stars from db */
		var currentRate = Math.round($('average-rating').get('html'));
		$('rating').addClass('star-'+currentRate);
		var myCookie = Cookie.read('apc_votes');
		var locked = false;
		
		if($defined(myCookie)) {
			if(myCookie.contains(idPhoto)) {
				var locked = true;
			}
		}
		if(locked == true) {
			$('rating').addClass('locked');
		}
	
	}

}

function initPlayer() {

	SqueezeBox.assign($$('a[rel=boxed]'));
	
	if($('photo-voir') || $('photo-jour')) {
		var photoJour = $$('.player .image img');
		var photoSize = 0;
		var image = $$('.player .image');
		image.setStyle('background', '#000 center center url("'+photoJour.get('src')+'") no-repeat');
	}

	if($('photo-voir')) {	
		var photoVoir = $$('#photo-voir .image img');
		photoSize = photoVoir[0].getProperty('height');		
	}
	
	if($('photo-jour')) {
		photoSize = 350;
	}
	
	if($('photo-voir') || $('photo-jour')) {
		$$('.player').setStyle('height', photoSize+"px");
		$$('.player h3 a').setStyle('height', photoSize+"px");
		$$('.player #player').setStyle('height', photoSize+"px");
		$$('.player .mask').setStyle('height', photoSize+"px");
		$$('.player .mask-top').setStyle('height', photoSize+"px");
		$$('.player .mask-bottom').setStyle('height', photoSize+"px");
		$$('.player .image').setStyle('height', photoSize+"px");
	}
	
	
	if($('photo-voir')) {
		var player = $$('.player h3 a');
		
		var playerHeight = $('player').getSize();
		playerHeight = playerHeight.y;
		
		if($('infos-top')) {
			var infosTop = $('infos-top');
			var infosTopSize = infosTop.getSize();
			var infosTopFx = new Fx.Tween(infosTop, {duration:'300', link:'cancel'});
			infosTop.setStyle('opacity', 0.7);
			infosTopFx.set('top', '-'+infosTopSize.y+'px');
		}
		
		
		if($('infos-bottom')) {
			var infosBottom = $('infos-bottom');
			var infosBottomSize = infosBottom.getSize();
			infosBottomSize = infosBottomSize.y;
			var infosBottomFx = new Fx.Tween(infosBottom, {duration:'300', link:'cancel'});
			infosBottom.setStyle('opacity', 0.7);
			infosBottomFx.set('top', playerHeight+'px');
		}
		


		
		player.addEvents({
			'mouseenter': function() {
				if($defined(infosTopFx) == true) {
/* 					console.log('hello'); */
					infosTopFx.start('top', 0);
				}
				
				if($defined(infosBottomFx) == true) {
					infosBottomFx.start('top', (playerHeight - infosBottomSize - 38)+'px');
				}
			},
			
			'mouseleave': function() {
				if($defined(infosTopFx)) {
					infosTopFx.start('top', '-'+infosTopSize.y+'px');
				}
				
				if($defined(infosBottomFx)) {
					infosBottomFx.start('top', playerHeight+'px');
				}
			}
		});
		
		
	}

	
	if($defined(photoJour)) {
		photoJour.destroy();
	}


}