﻿function showMailToFriendsForm(idPageToSend) {
    showLayer("sendFriendFormDiv");
}

function hidemailToFriendsForm(){
	$('sendFriendFormDiv').style.visibility = 'hidden';
	$('overlay').remove();
	$$("object, select").each(function(o){
		o.style.visibility = "visible";
	});
}

function resetMailToFriendsForm() {
	$('divSendToFriendErrorMessage').style.display = 'none';
	$('divSendToFriendRecap').style.display = 'none';
	$('divSendToFriendFormulaire').style.display = 'block';
	$("sendFriendForm_myEmail").setValue('');
	$("sendFriendForm_FriendsEmails").setValue('');

	$('layercontainer').style.display = 'block';
	$('layercontainerOk').style.display = 'none';
}

function checkEmail(email) {
	var reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/
	return (reg.exec(email) != null)
}

function AjaxMailToFriendsProviderForm(provider, idPageToSend) {

    if (provider == 'gmail') {
        var data = $H({ 'Task': 'Show', 'PageId': idPageToSend }).toQueryString();
        var path = baseUrl + '/Site/Includes/Ajax/Layers/MailToFriendsGmailProvider.aspx';
        var DoAjax = new Ajax.Updater('sendFriendFormProviderDiv', path, { postBody: data, evalScripts: true, onComplete:function(){
			$("sendFriendFormProviderDiv").addClassName("gmail");
        }});
    }

    if (provider == 'yahoo') {
        var data = $H({ 'Task': 'Show', 'PageId': idPageToSend }).toQueryString();
        var path = baseUrl + '/Site/Includes/Ajax/Layers/MailToFriendsYahooProvider.aspx';
        var DoAjax = new Ajax.Updater('sendFriendFormProviderDiv', path, { postBody: data, evalScripts: true, onComplete:function(){
			$("sendFriendFormProviderDiv").addClassName("yahoomail");
        }});
	}

	if (provider == 'windowslive') {
		var data = $H({ 'Task': 'Show', 'PageId': idPageToSend }).toQueryString();
		var path = baseUrl + '/Site/Includes/Ajax/Layers/MailToFriendsWindowsLiveProvider.aspx';
		var DoAjax = new Ajax.Updater('sendFriendFormProviderDiv', path, { postBody: data, evalScripts: true, onComplete: function() {
			$("sendFriendFormProviderDiv").addClassName("messenger");
		}});
	}
}

function AjaxMailToFriendsProviderAddContactForm(provider, user, password) {
    var data = $H({ 'provider': provider, 'UserName': user, 'Password': password }).toQueryString();
    var path = baseUrl + '/Site/Includes/Ajax/ContactListProvider.aspx';

    var DoAjax = new Ajax.Request(path, {
    	method: 'get',
    	parameters: data,
    	onSuccess: function (transport) {
    		var json = transport.responseText.evalJSON();
    		if (json.Error != null) {
    			$('div_contactError').innerHTML = json.Error;
    		}
    		else {
    			var htmlRender = json.Contacts.length + " Contacts trouvés !<br /><div class=\"loadedcontacts\">";
    			for (i = 0; i < json.Contacts.length; i++) {
    				var css = (i % 2 == 0) ? "line1" : "line2";
    				if ((json.Contacts[i].Nickname != null) && (json.Contacts[i].Nickname != "")) {
    					htmlRender += "<div class=\"contact " + css + "\"><input type=\"checkbox\" id=\"contact" + i + "\" name=\"contact" + i + "\" value=\"" + json.Contacts[i].Email + "\" /> <label for=\"contact" + i + "\"><strong>" + json.Contacts[i].Nickname + "</strong> &lt;" + json.Contacts[i].Email + "&gt;</label></div>";
    				} else {
    					htmlRender += "<div class=\"contact " + css + "\"><input type=\"checkbox\" id=\"contact" + i + "\" name=\"contact" + i + "\" value=\"" + json.Contacts[i].Email + "\" /> <label for=\"contact" + i + "\"><strong>" + json.Contacts[i].Email + "</strong></label></div>";
    				}
    			}
    			htmlRender += "</div>";
    			$('sendFriendFormProviderDiv').innerHTML = htmlRender;
    			$('sendFriendFormProviderDiv').innerHTML += "<button name=\"addcontacts\" class=\"inputButton loadadd\" onmouseover=\"$(this).addClassName('inputButtonHover');\" onmouseout=\"$(this).removeClassName('inputButtonHover');\" onclick=\"addcontacts();\">Ajouter</button>";
    			positionLayer("sendFriendFormDiv");
    		}
    	}
        , onFailure: function (xhr) {
        	$('sendFriendFormProviderDiv').innerHTML = xhr.status + ' : ' + xhr.statusText;
        }
       , onComplete: function (xhr) {
       	//$('sendFriendFormProviderDiv').innerHTML += "<button name=\"addcontacts\" class=\"inputButton loadadd\" onmouseover=\"$(this).addClassName('inputButtonHover');\" onmouseout=\"$(this).removeClassName('inputButtonHover');\" onclick=\"addcontacts();\">Ajouter</button>";
       	//positionLayer("sendFriendFormDiv");
       }
    });
}

function addcontacts(){
	// get checked
	var checked = new Array();
	$$("#sendFriendFormProviderDiv .loadedcontacts input").each(function(elem){
		if(elem.checked == true){
			checked.push(elem.value);
		}
	});
	// get current
	var mails = $F("sendFriendForm_FriendsEmails").split(";");
	if(mails[0] == ""){
		mails = new Array();
	}
	// add checked
	for(var i=0; i <checked.length; i++){
		// parse currents
		var exist = false;
		for(var j=0; j<mails.length; j++){
			if(mails[j] == checked[i]){
				exist = true;
				break;
			}
		}
		// add
		if(!exist){
			mails.push(checked[i]);
		}
	}
	// set field value
	$("sendFriendForm_FriendsEmails").value = mails.join(";");
}

// Send to friend - Validate form
function AjaxSendToFriendValidate() {
	var erreur = 0;

	var tabEmail = $F("sendFriendForm_FriendsEmails").split(';');
	for (var i = 0; i < tabEmail.length; i++) {
		if (!checkEmail(tabEmail[i])) erreur = 2;
	}

	if (!checkEmail($F("sendFriendForm_myEmail"))) erreur = 1;	
	if ($("sendFriendForm_myEmail") && $F("sendFriendForm_myEmail") == "") erreur = 3;
	if ($("sendFriendForm_FriendsEmails") && $F("sendFriendForm_FriendsEmails") == "") erreur = 3;

	switch (erreur) {
		case 0:
			$('divSendToFriendRecapYourEmail').innerHTML = $F("sendFriendForm_myEmail");
			$('divSendToFriendRecapEmailFriend').innerHTML = $F("sendFriendForm_FriendsEmails").split(";").join("<br />");
			$('divSendToFriendErrorMessage').style.display = 'none';
			$('divSendToFriendFormulaire').style.display = 'none';
			$('divSendToFriendRecap').style.display = 'block';
			break;
		case 1:
			//$('divSendToFriendErrorMessage').innerHTML = 'Votre adresse e-mail n\'est pas valide.';
			$('divSendToFriendErrorMessage').innerHTML = 'Veuillez entrer une adresse e-mail valide (de type vous@laposte.net).';
			$('divSendToFriendErrorMessage').style.display = 'block';
			break;
		case 2:
			//$('divSendToFriendErrorMessage').innerHTML = 'L\'adresse e-mail de votre ami n\'est pas valide.';
			$('divSendToFriendErrorMessage').innerHTML = 'Veuillez entrer une adresse e-mail valide (de type vous@laposte.net).';
			$('divSendToFriendErrorMessage').style.display = 'block';
			break;
		case 3:
			//$('divSendToFriendErrorMessage').innerHTML = 'Tous les champs sont obligatoires.';
			$('divSendToFriendErrorMessage').innerHTML = 'Veuillez entrer une adresse e-mail valide (de type vous@laposte.net).';
			$('divSendToFriendErrorMessage').style.display = 'block';
			break;						
	}
}

// Send to friend - Validate form
function AjaxSendToFriendBack() {
	$('divSendToFriendFormulaire').style.display = 'block';
	$('divSendToFriendRecap').style.display = 'none';
}

// Send to friend - Validate form
function AjaxSendToFriendSend(pageId, urlBase, urlPage) {
	var path = baseUrl + '/Site/Includes/Ajax/Ajax.aspx?ID=1';
	var data = $H({ 'CMD': 'SEND_EMAIL_BY_LAYER',
					'urlBase': urlBase,
					'emailFrom': $F("sendFriendForm_myEmail"),
					'emailsTo': $F("sendFriendForm_FriendsEmails"),
					'pageId': pageId,
					'urlPage': urlPage
				}).toQueryString();
				
	var DoAjax = new Ajax.Request(path, {
		method: 'get',
		parameters: data,
		onSuccess: function(transport) {
			var rep = transport.responseText;
			if (rep == "0") {
				$('layercontainer').style.display = 'none';
				$('layercontainerOk').style.display = 'block';
			}
			else if (rep == "1") {
				$('divSendToFriendErrorMessage').innerHTML = 'Certaines adresses e-mail renseignée ne sont pas valide.';
				$('divSendToFriendErrorMessage').style.display = 'block';
			}
			else {
				$('divSendToFriendErrorMessage').innerHTML = rep;
				$('divSendToFriendErrorMessage').style.display = 'block';
			}
		}
		, onFailure: function(xhr) {
			$('divSendToFriendErrorMessage').innerHTML = xhr.status + ' : ' + xhr.statusText;
			$('divSendToFriendErrorMessage').style.display = 'block';
		}
	});
}
