

function toggleMailAction(ev)
{
	toggleEffect('gazelle_file_action_mail_wrap');
}

var currentEffect;
function toggleEffect(elemId, effect, options)
{
	currentEffect = null;

	if(!effect)
		effect = 'appear';
	
	currentEffect = new Effect.toggle(elemId, effect, options);

}

function toTemplate(template)
{
	tpl = '';
	template.each(function(partialTemplate)
	{
		tpl += partialTemplate;
	});
	
	return tpl;
}

var max_car = 500;
function update_nbcar()
{
	$("nb_car").innerHTML = $("gazelle_file_mail_content").value.length;
	//if($("nb_car").innerHTML > max_car)
	//	$("nb_car").style.color = 'red';
	//else
	//	$("nb_car").style.color = 'black'; 
}


MailBoxMessage =
{
	show : function(mess)
	{
		$('gazelle_file_mail_overflow_wrap').setStyle({display:'block'});
		$('gazelle_file_mail_confirm_wrap').setStyle({display:'block'});
		
		switch(typeof(mess))
		{
			case 'string' :
				$('gazelle_file_mail_confirm').update(mess)
			break;
			
			case 'object':
				$('gazelle_file_mail_confirm').update(toTemplate(mess))
			break;
		
		}
	},
	
	hide : function()
	{
		$('gazelle_file_mail_overflow_wrap').hide();
		$('gazelle_file_mail_confirm_wrap').hide();
	}


}


var is_transaction = false;
var transaction = null;
function gazelleFileSubmitMail(teamId, bypass)
{
	var transactionError = null;

	
	if (!$F('gazelle_file_sender_mail').match(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/) || $F('gazelle_file_sender_mail').blank())
	{
		transactionError = I18N.email_sender_error;
		messTemplate =
		[
			'<div>'+transactionError+'</div>',
			'<div style="margin-top:8px;"><input type="button" value="'+I18N.ok+'" style="width:inherit" onclick="MailBoxMessage.hide();"/></div>'
		]
	}
	
	else if($F('gazelle_file_mail_content').blank())
	{
		transactionError = I18N.message_empty_error;
		messTemplate =
		[
			'<div>'+transactionError+'</div>',
			'<div style="margin-top:8px;"><input type="button" value="'+I18N.ok+'" style="width:inherit" onclick="MailBoxMessage.hide();"/></div>'
		]
	}
	
	else if ($F("gazelle_file_mail_content").length>500)
	{
		transactionError = I18N.message_limit_error;
		messTemplate =
		[
			'<div>'+transactionError+'</div>',
			'<div style="margin-top:8px;"><input type="button" value="'+I18N.ok+'" style="width:inherit" onclick="MailBoxMessage.hide();"/></div>'
		]
	}

	else if ($F("gazelle_file_mail_subject").blank() && !bypass)
	{
			transactionError = 1
			messTemplate =
			[
				'<div>'+I18N.subject_empty_confirm+'</div>',
				'<div style="margin-top:5px;">',
					'<span><input type="button" value="'+I18N.no+'" style="width:inherit" onclick="MailBoxMessage.hide();" /></span>&nbsp;&nbsp;',
					'<span><input type="button" value="'+I18N.yes+'" style="width:inherit" onclick="gazelleFileSubmitMail('+teamId+', true)"/></span>',
				'</div>'
			]
	}


	if(transactionError)
	{
		MailBoxMessage.show(messTemplate);
		
		return false;
	}


	
	/*$$('#gazelle_file_form_mail input, #gazelle_file_form_mail textarea').each(function(el)
	{
		if( $F(el.identify()).blank() )
		{
			transactionError = "Veuillez remplir tous les champs";
			throw $break;
		}
	});*/
	

	


	var formFields = $('gazelle_file_form_mail').serialize(true);

	if(!is_transaction)
	{
		is_transaction = true;

		messTemplate =
		[
			'<div>'+I18N.message_email_sending+'</div>',
			'<div><img src="ui/img/ajax_indicator-1.gif" /></div>'
		]
		
		MailBoxMessage.show(messTemplate);


		var param = $H
		({
			'team_id':teamId
		});

		param = param.merge(formFields);

		transaction = new Ajax.Request('php/ajax.php?action=gazelleFileMail',
		{
			method:'post',
			parameters: param,
	
			onComplete:function(transport)
			{
				is_transaction = false;
			},
	
			onSuccess: function(transport, data)
			{	
				var data = transport.responseText.evalJSON();

				if (data.success)
				{
					toggleEffect('gazelle_file_action_mail_wrap', 'appear',
					{	afterFinish:function()
						{
							$('gazelle_file_mail_confirm').update('<div>'+I18N.message_email_sent+'</div>');
							setTimeout(function()
							{
								toggleEffect('gazelle_file_box_mail_wrap', 'slide',
								{
									afterFinish:function()
									{
										MailBoxMessage.hide();
										
										$$('#gazelle_file_form_mail input, #gazelle_file_form_mail textarea').each(function(el)
										{
											el.value='';
										});
									}
								})
							}, 2500);
						}
					});
				}
				else
				{
					$('gazelle_file_mail_overflow_wrap').hide();
					$('gazelle_file_mail_confirm_wrap').hide();
					
					if(data.message)
						alert(data.message);
					
				}
			}
		});

	}
}


function showGazellesFile(teamId, code, is_mail)
{
	if(!is_transaction)
	{
		is_transaction = true;
		if(typeof(lightJsWin)!='undefined' && lightJsWin && lightJsWin.element)
		{
			if(lightJsWin.element.parentNode)
				lightJsWin.close();
		}
		

		lightJsWin=new jsWin({cssSkin:'gazellesFiles',width:868,height:460,modal:false,hideTagObjects:true,onCloseCallback:'showObjectTags'});


		

		lightJsWin.center = lightJsWin.center.extend = function()
		{

			var elSize		= this.element.getDimensions();
			var viewportSize	= document.viewport.getDimensions();
			var scrollValue		= document.viewport.getScrollOffsets();
			
			var t = Math.round((viewportSize["height"] - elSize["height"])/2);
			if(this.ie6){
				t=t+scrollValue[1];
			}
			var l = Math.round((viewportSize["width"] - elSize["width"])/2) + scrollValue[0];
			if(t<0) t=0;
			Element.setStyle(this.element,{ top:t+"px", left:l+"px" });
			
			function getTop()
			{
				var scrollTop = 0;
				if (window.pageYOffset)
					scrollTop = window.pageYOffset;
				if (document.documentElement.scrollTop)
					scrollTop = document.documentElement.scrollTop;
				if (document.body.scrollTop)
					scrollTop = window.document.body.scrollTop;

				return scrollTop;
			}			
			
			lightJsWin.element.setStyle({top:20+getTop()+'px'});
		}
		
		lightJsWin.close = lightJsWin.close.extend = function()
		{
			lightJsWin.element.remove();
			$$('object').each(function(el)
			{
				el.setStyle({visibility:'visible'});
			});
		}

		lightJsWin.setTitle(I18N.gazelle_file_title+' '+code);
		lightJsWin.setContent('<div id="gazelle_file_loading_wrap"><div id="gazelle_file_loading"></div></div>');


		lightJsWin.show();


		var param = $H
		({
			'team_code':code,
			'team_id':teamId
		});



		var ajxUrl = 'php/ajax.php?action=teamFile';
		
		if(typeof(URL_BASE) != 'undefined'){
			ajxUrl = URL_BASE + ajxUrl;
		}
		
		
		ajxUrl += (is_mail) ? '&mail=1' : '';

		transaction = new Ajax.Request(ajxUrl,
		{
			method:'post',
			parameters: param,
	
			onComplete:function(transport)
			{
				is_transaction = false;
			},
	
			onSuccess: function(transport, data)
			{	
				var data = transport.responseText.evalJSON();

				if (data.success)
				{
					lightJsWin.setContent(data.content);
					
					if(data.focus)
						$(data.focus).focus();
				}
			}
		});

	}
}
