var filterSpecificJP = '^[a-zA-Z0-9$#%&{}+-_^*\/!`]{3,30}@docomo.ne.jp$;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{3,30}@nttpnet.ne.jp$;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{3,30}@em.nttpnet.ne.jp$;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{4,16}@pipopa.ne.jp$;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{3,30}@softbank.ne.jp$;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{3,30}@disney.ne.jp$;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{3,30}@t.vodafone.ne.jp$;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{3,30}@k.vodafone.ne.jp$;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{3,30}@d.vodafone.ne.jp$;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{3,30}@h.vodafone.ne.jp$;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{3,30}@c.vodafone.ne.jp$;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{3,30}@r.vodafone.ne.jp$;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{3,30}@n.vodafone.ne.jp$;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{3,30}@s.vodafone.ne.jp$;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{3,30}@q.vodafone.ne.jp$;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{3,30}@jp-d.ne.jp$;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{3,30}@jp-h.ne.jp$;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{3,30}@jp-t.ne.jp$;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{3,30}@jp-k.ne.jp$;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{3,30}@jp-r.ne.jp$;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{3,30}@jp-s.ne.jp$;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{3,30}@jp-n.ne.jp$;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{3,30}@jp-q.ne.jp$;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{3,30}@jp-c.ne.jp$;';
	filterSpecificJP +='^[a-zA-Z0-9$#%&{}+-_^*\/!`]{4,20}@pdx.ne.jp$;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{4,20}@di.pdx.ne.jp$;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{4,20}@dk.pdx.ne.jp$;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{4,20}@wm.pdx.ne.jp$;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@a2.ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@a3.ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@a4.ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@b2.ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@c1.ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@c2.ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@c3.ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@c4.ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@c5.ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@c6.ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@c7.ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@c8.ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@c9.ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@e2.ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@e3.ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@e4.ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@e5.ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@e6.ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@e7.ezweb.ne.jp;';
	filterSpecificJP +='^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@e8.web.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@e9.ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@h2.ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@h3.ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@h4.ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@t1.ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@t2.ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@t3.ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@t4.ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@t5.ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@t6.ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@t7.ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@t8.ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@t9.ezweb.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@ido.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@eza.ido.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@ezb.ido.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@ezc.ido.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@ezd.ido.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@eze.ido.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@ezf.ido.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@ezg.ido.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@ezh.ido.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@ezi.ido.ne.jp;';
	filterSpecificJP +='^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@ezj.ido.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@sky.tu-ka.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@tkk.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@sky.tkk.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@sky.tkc.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,10}@mozio.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,10}@phone.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@moco.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@i.softbank.ne.jp;^[a-zA-Z0-9$#%&{}+-_^*\/!`]{1,30}@i.softbank.jp';

var filtragesEmail = new Array();

filtragesEmail["-10"] = new Array();
filtragesEmail["-10"][0] = filterSpecificJP;
filtragesEmail["-10"][1] = "\u30cb\u30e5\u30fc\u30b9\u30ec\u30bf\u30fc\u306f\u30e2\u30d0\u30a4\u30eb\u30e1\u30fc\u30eb\u3067\u306f\u3054\u89a7\u3044\u305f\u3060\u304f\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002<br />\u6b63\u3057\u3044PC\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u518d\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002";

filtragesEmail["-18"] = new Array();
filtragesEmail["-18"][0] = filterSpecificJP;
filtragesEmail["-18"][1] = "You can not see the newsletter with your mobile phone,<br />Please input your PC address mail.";

var newsletterCtrlerCmd = 'NewsLetterAjaxResponseView';
var newsletterPopinContent;
var	newsletterAddressAdded;
var newsletterTrackingValue;

function newsletterOpenPopin()
{
	switch(newsletterPopinContent)
	{
		case 'POPINMSG_ERROR_UNAVAILABLESERVICE': 
			openPopinUnavailableService();
			break;
		case 'POPINMSG_ERROR_EMPTYADDRESS': 
			openPopinEmptyAddress();
			break;
		case 'POPINMSG_ERROR_INVALIDADDRESS': 
			openPopinInvalidAddress();
			break;
		case 'POPINMSG_CONFIRM_ADDRESSADDED':
			openPopinAddressAdded(newsletterAddressAdded, newsletterTrackingValue);
			break;
		default:
			openPopinSpecificContent(newsletterPopinContent);
			break;
	}
}

function isValidEmail(p_string)
{
	if (p_string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1) {
		return true;
	}
	else {
		return false;
	}
}

function isMobileMail(mail, emailMob)
{	
	var tabDomaine = emailMob.split(";");
	
	for(i = 0; i < tabDomaine.length; i++) {
		var ExReg = new RegExp(tabDomaine[i]);
		
		if(ExReg.test(mail)) {
			return true;
		}
	}
	return false;
}

function newsletterCheckForm(email, langId)
{
	var checkFormResult = false;
	var filterSpecific = null;
	
	try {
		filterSpecific = filtragesEmail[langId];
	}
	catch (err) {
		filterSpecific = null;
	}
  
	if (isValidEmail(email)) {
		if (filterSpecific != null) {
			if (isMobileMail(email, filterSpecific[0])) {
				newsletterPopinContent = filterSpecific[1];
			}
			else {
				checkFormResult = true;
			}
		}
		else {
			checkFormResult = true;
		}
	}
	else {
		newsletterPopinContent = 'POPINMSG_ERROR_INVALIDADDRESS';
	}
	return checkFormResult;
}

function subscribeByAsynchronousCall(email, country, langId)
{
	var params = 'email=' + encodeURI(email);
	params += '&langCountry=' + encodeURI(langId);
	params += '&country=' + encodeURI(country);
	params += '&ajxcll=1';
	params += '&origin=header';

	launchContentRequestNewsletterHeader(newsletterCtrlerCmd, params); 
}

function processContentRequestResultNewsletterHeader(http_request, url, params) {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			var datas_verif=http_request.responseText;
			var elements=datas_verif.split("UU--UU");
			var emailforprocess=elements[1];
			var etat=elements[2];
			if (elements.length>1){
				if (etat=="ok"){
					newsletterPopinContent = 'POPINMSG_CONFIRM_ADDRESSADDED';
					newsletterOpenPopin();
					newsletterResetForm();
				}
				else {
					newsletterPopinContent = 'POPINMSG_ERROR_UNAVAILABLESERVICE';
					newsletterOpenPopin();
				}
			}
			else {
				newsletterPopinContent = 'POPINMSG_ERROR_UNAVAILABLESERVICE';
				newsletterOpenPopin();
			}
		} 
		else {
			if(retryCount > 0){
				makeContentRequest(url, params);
				retryCount--;
			}
			else{
				newsletterPopinContent = 'POPINMSG_ERROR_UNAVAILABLESERVICE';
				newsletterOpenPopin();
			}
		}	
	}
}

function newsletterSubscribe(email, country, langId)
{
	newsletterPopinContent = 'POPINMSG_ERROR_EMPTYADDRESS';
	
	if (typeof(email) 	!= 'undefined' && email 	!= null && email 	!= '' &&
		typeof(country) != 'undefined' && country 	!= null && country 	!= '' &&
		typeof(langId) 	!= 'undefined' && langId 	!= null && langId 	!= '') {
		try {
			if (newsletterCheckForm(email, langId)) {
				newsletterAddressAdded = email;
				// country = 1 : US
				// country = 2 : FR 
				if(country == 1 && typeof(headerLoadingDateTime) != 'undefined' && headerLoadingDateTime != null && headerLoadingDateTime != '') {
					newsletterTrackingValue = '<img src="http://s0b.bluestreak.com/ix.e?md&t=1111&v1=' + headerLoadingDateTime + '&v2=' + email + '&v3=&v4=&v5=&v6=" width=1 height=1 border=0>';
				}
				if(country == 2) {
					newsletterTrackingValue = '<img src="http://s0b.bluestreak.com/ix.e?bb&t=25708" width=1 height=1 border=0>';
				}
				subscribeByAsynchronousCall(email, country, langId);
			}
			else {
				newsletterOpenPopin();
			}
		}
		catch (err) {}
	}
	else {
		newsletterOpenPopin();
	}
}

function validateByPressingEnter(e)
{
	var keyPress = (window.event) ? event.keyCode : e.keyCode;
	
	if(keyPress == '13') {
		// factoriser les appels à la fonction critique (newsletterSubscribe())
		document.getElementById('idNewsletterButton').onclick();
	}		 
}