/**
 * @authors     Gaëtan / Romain
 * @copyright  (c) BeeMoov
 * @date		10/10/08
 */

/**
 * PARTENAIRES
 */

/**
 * demande confirmation de suppression d'un site partenaire
 */
function confirm_del_site_partenaire(id) {	
	if(confirm('Voulez-vous vraiment supprimer ce site?')) {
		$('#f_del_'+id).submit();
	}
}

/**
 * demande confirmation de suppression d'un partenariat
 */
function confirm_del_partenariat(id_si,id_sp) {
	if(confirm('Voulez-vous vraiment supprimer ce partenariat?')) {
		$('#f_del_'+id_si+'_'+id_sp).submit();
	}
}

/**
 * Permet de gérer l'affichage du .gif de loading
 */
function begin_load(){
	stop_load();
	$('#loader').append('<img id="loader_img" src="/images/regie/ajax-loader.gif" />');
}

function stop_load(){
	$('#loader').empty();
}

/**
 * Page de gestion des sites internet
 */

$("a#add_site").live("click", function() {
	$("#add_site_cadre").slideDown("slow");
	$("input[name=action]").attr({id : "add_site_submit"});
	$("#add_site_cadre").attr({'class' : 'NULL'});
	$("input[type=submit]").attr({'value' : 'Ajouter ce site'});
	$("tr#banniere").css("display", "");
	
	$("input[type=text][name=nom]").val("");
	$("input[type=text][name=url]").val("http://");
	$("input[type=text][name=bt8831]").val("http://");
	$("textarea[name=description]").val("");	
});

$("a.edit_site").live("click", function() {
	$("#add_site_cadre").slideDown("slow");
	$("input[name=action]").attr({id : "edit_site_submit"});
	$("#add_site_cadre").attr({'class' : $(this).attr('id')});
	$("input[type=submit]").attr({'value' : 'Editer ce site'});
	$("tr#banniere").css("display", "none");
	
	//On récupère les infos sur le site
	$.post('/partenaires/admin_sites/.html', {
		action: 'get_infos',
		site_id: $(this).attr('id')
	}, function(data){
		$("input[type=text][name=nom]").val(data.nom);
		$("input[type=text][name=url]").val(data.url);
		$("textarea[name=description]").val(data.description);
	}, 'json');
});

$("a.del_site").live("click", function() {
	if (confirm("Voulez vous vraiment supprimer ce site ?")) {
		$.post('/partenaires/admin_sites/.html', {
			action: 'del_site',
			site_id: $(this).attr('id')
		}, function(data){
			$("#partenaires_page").load('admin_sites.html', function() {
				$("#messages").fadeIn().append(data['text']).css("color", "green").animate({opacity: 1.0}, 5000).fadeOut("slow");
			});
		}, 'json');
	}
});

$("input[type=submit]#add_site_submit,input[type=submit]#edit_site_submit").live("click", function() {
	$("#messages").empty();
	$.post('/partenaires/admin_sites/.html', {
		action : $("input[name=action]").attr("id"),
		site_id : $("#add_site_cadre").attr("class"),
		nom : $("input[type=text][name=nom]").val(),
		url : $("input[type=text][name=url]").val(),
		description : $("textarea[name=description]").val()
	}, function(data){
			$("#nom, #url, #bt8831, #description").css("border", "solid 2px green");
			$("[id$=_error]").empty();
			for (var key in data) {
				if(data[key]['result'] == 'success') {
					$("#add_site_cadre").fadeOut("slow", function() {
						$("#partenaires_page").load('admin_sites.html', function() {
							$("#messages").fadeIn().append(data[key]['text']+'<br />').css("color", "green").animate({opacity: 1.0},5000).fadeOut("slow");
						});
					});
				}
				else{	
					if (data[key]['champs'] != null) {
						$("[id=" + data[key]['champs'] + "]").css("border", "solid 2px red");
						$("#" + data[key]['champs'] + "_error").append(data[key]['text'] + '<br />').css("color", "red");
					}
					else { // Si aucun champs en particulier n'est concerné, on affiche un message d'erreur classique
						$("#messages").fadeIn().append(data[key]['text']).css("color", "red").animate({opacity: 1.0},5000).fadeOut("slow");
					}
				}
			}
			$("#messages").animate({opacity: 1.0},5000).fadeOut("slow");
	}, 'json');
});

/**
 * Gestion des informations personnelles
 */

$("#edit_partenaire").live("click", function() {
	$("#messages").empty();
	$.post('/partenaires/mes_informations/edit.html', {
		nom: $("input[name=nom]").val(),
		prenom: $("input[name=prenom]").val(),
		email: $("input[name=email]").val(),
		tel: $("input[name=tel]").val(),
		societe: $("input[name=societe]").val(),
		password: $("input[name=password]").val(),
		passwordc: $("input[name=passwordc]").val()
	}, function(data) {
			$("#password, #passwordc").css("border", "");
			$("[id$=_error]").empty();
			for (var key in data) {
				if(data[key]['result'] == "success") {
					$("#messages").fadeIn().append(data[key]['text']).css("color", "green").animate({opacity: 1.0},5000).fadeOut("slow");
				}
				else {
					if (data[key]['champs'] != null) {
						$("[id=" + data[key]['champs'] + "]").css("border", "solid 2px red");
						$("#" + data[key]['champs'] + "_error").append(data[key]['text'] + '<br />').css("color", "red");
					}
					else { // Si aucun champs en particulier n'est concerné, on affiche un message d'erreur classique
						$("#messages").fadeIn().append(data[key]['text']).css("color", "red").animate({opacity: 1.0},5000).fadeOut("slow");
					}
				}
			}
	}, 'json');
});

$("a#del_account").live("click", function() {
	$("#del_account_cadre").slideDown("slow");
});

$("input[type=submit]#cancel_del_account").live("click", function() {
	$("#del_account_cadre").slideUp("slow");
})

$("input[type=submit]#confirm_del_account").live("click", function() {
	$.post('/partenaires/mes_informations/del.html', {
		
	}, function(data) {
			for (var key in data) {
				if(data[key]['result'] == "success") {
					$("#center_contenu").empty().fadeIn().append("<h2>Votre compte a été supprimé avec succès.</h2>");
				}
				else {
					$("#messages").fadeIn().append(data[key]['text']).css("color", "red").animate({opacity: 1.0},5000).fadeOut("slow");
				}
			}		
	}, 'json');
});

/**
 * Gestion des bannières
 */

$("a#admin_bannieres").live("click", function() {
	begin_load();
	$("#partenaires_page").load('admin_bannieres/'+$(this).attr('name')+'/.html', function() {
		stop_load()
	});
});

/*

$("input#upload_banniere").live("click", function() {
	$.post('/partenaires/admin_bannieres/')
});

*/

/**
 * Statistiques
 */

$("a#afficher_stats").live("click", function() {
	$("#statistiques").empty().append("On affiche les statistiques de la période : "+$("select[name=mois] option:selected").val()+"/"+$("select[name=annee] option:selected").val());
});

$("a#add_banniere").live("click", function() {
	$("#edit_banniere_cadre").slideDown("slow");
	
	$("input[name=action]").attr({id : "add_banniere_submit"});
	$("input[type=submit]").attr({'value' : 'Ajouter cette bannière'});
	
	$("input[type=text][name=bt8831]").val("http://");
});

$("a.del_banniere").live("click", function() {
	$("#messages").empty();
	if(confirm("Voulez vous vraiment supprimer cette bannière ?")){
		$.post('/partenaires/admin_bannieres/'+$("input[name=site_id]").val()+'/del.html', {
			banniere_id: $(this).attr("id")
			}, function(data) {
				for (var key in data) {
					if(data[key]['result'] == "success") {
						$("#partenaires_page").load('/partenaires/admin_bannieres/'+$("input[name=site_id]").val()+'/.html', function() {
							$("#messages").fadeIn().append(data[key]['text']).css("color", "green").animate({opacity: 1.0},5000).fadeOut("slow");
						});
					}
					else {
						$("#messages").fadeIn().append(data[key]['text']).css("color", "red").animate({opacity: 1.0},5000).fadeOut("slow");
					}
				}
		}, 'json');
	}
});

$("input[type=submit]#add_banniere_submit").live("click", function() {
	$("#messages").empty();
	$.post('/partenaires/admin_bannieres/'+$("input[name=site_id]").val()+'/'+$("input[type=submit]").attr("id")+'.html', {
		banniere: $("input[name=banniere]").val(),
		nom_banniere: $("input[name=nom_banniere]").val()
	}, function(data) {
			$("#banniere").css("border", "solid 2px green");
			$("#nom_banniere").css("border", "solid 2px green");
			$("[id$=_error]").empty();
			for (var key in data) {
				
				if(data[key]['result'] == "success") {	
					$("#partenaires_page").load('/partenaires/admin_bannieres/'+$("input[name=site_id]").val()+'/.html', function() {
						$("#messages").fadeIn().append(data[key]['text']).css("color", "green").animate({opacity: 1.0},5000).fadeOut("slow");	
					});						
				}
				else {
					$("[id=" + data[key]['champs'] + "]").css("border", "solid 2px red");
					$("#" + data[key]['champs'] + "_error").append(data[key]['text'] + '<br />').css("color", "red");
				}
				$("#messages").animate({opacity: 1.0},5000).fadeOut("slow");
			}
	}, 'json');
});

/**
 * Gestion des partenariats
 */

$("a#admin_partenariats").live("click", function() {
	$("#partenaires_page").load('admin_partenariats/'+$(this).attr("name")+'/.html');	
});

$("a#add_partenariat").live("click", function() {
	$("#add_partenariat_cadre").slideDown("slow");
});


$("#add_partenariat_submit").live("click", function() {
	$("#messages").empty();
	$.post('/partenaires/admin_partenariats/'+$("input[name=site_id]").val()+'/add.html', {
		site_interne: $("select[name=site_interne] option:selected").val()
	}, function(data) {
			for (var key in data) {
				
				if(data[key]['result'] == "success") {	
					$("#partenaires_page").load('/partenaires/admin_partenariats/'+$("input[name=site_id]").val()+'/.html', function() {
						$("#messages").fadeIn().append(data[key]['text']).css("color", "green").animate({opacity: 1.0},5000).fadeOut("slow");	
					});						
				}
				else {
					$("#messages").fadeIn().append(data[key]['text']).css("color", "red");
				}
				$("#messages").animate({opacity: 1.0},5000).fadeOut("slow");
			}
	}, 'json');
});

$("a.del_partenariat").live("click", function() {	
	$("#messages").empty();
	if (confirm("Voulez vous vraiment supprimer ce partenariat ?")) {
		$.post('/partenaires/admin_partenariats/'+$("input[name=site_id]").val()+'/del.html', {
			site_interne: $(this).attr('id')
		}, function(data){
			for (var key in data) {
				if (data[key]['result'] == "success") {
					$("#partenaires_page").load('/partenaires/admin_partenariats/' + $("input[name=site_id]").val() + '/.html', function(){
						$("#messages").fadeIn().append(data[key]['text']).css("color", "green").animate({
							opacity: 1.0
						}, 5000).fadeOut("slow");
					});
				}
				else {
					$("#messages").fadeIn().append(data[key]['text']).css("color", "red");
				}
				$("#messages").animate({
					opacity: 1.0
				}, 5000).fadeOut("slow");
			}
		}, 'json');
	}
});

/**********************************************************************
 * 
 * 							  Campagnes
 * 
 *********************************************************************/

// Coûts d'un affichage et d'un clic en crédits Beemoov
coutAffichage = 1;
coutClic = 500;	

 /*
  * Affiche le formulaire d'ajout d'une campagne
  */
 
 $("a#addCampaign").live("click", function() {
 	$("#addCampaignDiv").slideDown();
 });
 
 /**
 * Active/Désactive le champ de redirection
 */

function changeUrlRedirectInput() {
	if($("input#urlRedirect").attr('disabled')) {
		$("input#urlRedirect").removeAttr('disabled');
	}
	else {
		$("input#urlRedirect").attr('disabled', true);
		updateUrlRedirection(); // On remet l'adresse d'origine
	}
}

/**
 * Met à jour le champs de redirection
 */

function updateUrlRedirection() {
	url = $("select#siteToPromote option:selected").attr('label');
	$("input#urlRedirect").attr('value', url);
}
 
 /*
  * Envois les données du formulaire
  */
 
 $("input[type=submit]#addCampaign").live("click", function() {
 	$.post('/partenaires/addCampaign.html', {
		name: $("input#name").val(),
		siteToPromote: $("select#siteToPromote option:selected").attr('id'),
		urlRedirect: $("input#urlRedirect").val(),
		internSite: $("select#internSite option:selected").attr('id'),
		type: $("select#type option:selected").attr('id'),
		limit: $("input#limit").val()
	}, function(data) {
				
			$("input[type=text]").css("border", "solid 2px green");
			$("[id$=_error]").empty();	
				
			for (var key in data) {
					
				if (data[key]['result'] == "success") {
					$("#addCampaignDiv").slideUp("normal", function() {
						$("#partenaires_page").load('/partenaires/admin_campagnes.html', function(){
							$("#messages").fadeIn().append(data[key]['text']).css("color", "green").animate({
								opacity: 1.0
							}, 5000).fadeOut("slow");
						});						
					});
				}
				else {
					if (data[key]['champs'] != null) {
						$("input[id=" + data[key]['champs'] + "]").css("border", "solid 2px red");
						$("#" + data[key]['champs'] + "_error").append(data[key]['text'] + '<br />').css("color", "red");
					}
					else { // Si aucun champs en particulier n'est concerné, on affiche un message d'erreur classique
						$("#messages").fadeIn().append(data[key]['text']).css("color", "red").animate({opacity: 1.0},5000).fadeOut("slow");
					}
				}
				$("#messages").animate({
					opacity: 1.0
				}, 5000).fadeOut("slow");
				
				
			}		
					
	}, 'json');
});
 
/*
 * Gère l'affichage du type de diffusion (clics ou impressions)
 */

function updateType(){
	id = $("select#type option:selected").attr('id');
	
	if (id == 1) limit = 'impressions'
	else if (id == 2) limit = 'clics'
	
	$("span#limit").empty().append(limit);
	updateBudget()
}

/*
 * Vérifie num est un entier
 */

function is_numeric(num)
{
	var exp = new RegExp("^[0-9-.]+$","g");
	return exp.test(num);
}
 
/**
 * Fais la correspondance entre un nombre de clics/impressions et un nombre de crédit
 */

function updateBudget() {
    limit = $("input#limit").val();
    $("span#budget").empty()
    if(is_numeric(limit)) {
		id = $("select#type option:selected").attr('id');
		
		if (id == 1)			budget = limit * coutAffichage;
		else if (id == 2)		budget = limit * coutClic;
		
		$("span#budget").append("("+budget+" crédits)");		
	}	
}

/**
 * Activer/Mettre en pause une campagne
 */

function changeCampaignStatut(campaignId, statut) {
	$.post('/partenaires/changeCampaignStatut.html', {
		campaignId: campaignId,
		statut: statut
	}, function(data){
		if(data.result == "success") {
			new_state = (statut+1)%2;
			$("img.status[id="+campaignId+"]").attr({'src': '/images/btn/campagnes/status/'+statut+'.gif'}); // On met à jour l'image
			$("a.changeCampaignStatut[id="+campaignId+"]").attr({'onClick': 'changeCampaignStatut('+campaignId+', '+new_state+')'});
			
			$("#messages").empty().fadeIn().append(data.text).css("color", "green").animate({opacity: 1.0},5000).fadeOut("slow");
		}
		else {
			$("#messages").empty().fadeIn().append(data.text).css("color", "red").animate({opacity: 1.0},5000).fadeOut("slow");
		}	
	}, 'json');
}

