/* REGISTRATION FUNCTIONS */
var initCheck = function (el) {
	var o = el.parentNode;
	if (/(EM|STRONG)/i.test(o.lastChild.tagName)) {
		o.removeChild(o.lastChild);
		if (o.lastChild.tagName.toUpperCase() === 'BR') {
			o.removeChild(o.lastChild);
		}
	}
};

var printError = function (el,txt) {
	var s, o = el.parentNode;
	o.appendChild(document.createElement('BR'));
	s = document.createElement('STRONG');
	txt = txt || cs.errorText[el.id];
	s.appendChild(document.createTextNode(txt));
	o.appendChild(s);
};

var printOK = function (el) {
	var s, o = el.parentNode;
	o.appendChild(document.createElement('BR'));
	s = document.createElement('EM');
	s.appendChild(document.createTextNode(cs.checkOK[el.id]));
	o.appendChild(s);
};

//load Chat Flash
var load_swftag = function () {
	var f = {}, o = [];
	//flash parameters
	f.id     = 'swftag';
	f.width  = 1;
	f.height = 1;
	f.url    = 'flash/brich.swf';
	f.vars   = 'cs=' + cs.mb + '&ip=' + cs.ip;
	//building flash insert
	o.push('<object id="'+f.id+'" type="application/x-shockwave-flash" data="'+f.url+'" width="'+f.width+'" height="'+f.height+'">');
	o.push('<param name="movie" value="'+f.url+'" \/>');
	o.push('<param name="allowScriptAccess" value="always" \/>');
	o.push('<param name="allowFullScreen" value="true" \/>');
	o.push('<param name="flashvars" value="'+f.vars+'" \/>');
	o.push('<\/object>');
	$('swf_camtag').innerHTML = o.join('\n');
};

var google_conversion_id       = 1046448013,
	google_conversion_language = "fr",
	google_conversion_format   = "1",
	google_conversion_color    = "ffffff",
	google_conversion_label    = "GjtMCMGYkQEQjY_-8gM",
	google_conversion_value    = 1.4;

var doRegistration = function () {

	var registration_submit = function () {
	
		var newUserGender;

		var registration_result = function(e) {
			var append_txt = '';
			if (cs.HR.form.status === 200) {
				if (/id="welcome"/i.test(cs.HR.form.responseText)) {
					document.body.id = 'success';
					var id  = window.location.search.match(/&id=(\d+)/), url = '', img_src=[];
					if (id !== null && /camsympa\.fr/.test(window.location.host)) {
						id = id[1];
						switch (id) {
							case '57016':
								url = 'http://adtrack.right-ads.com/conv/?t=5&p=47&l=0';
								break;
							case '56956':
								url = 'http://ad.advertstream.com/track_conversion.php?annonceurid=7301&montant=MONTANT&param1=PARAMETRE1&param2=PARAMETRE2';
								break;
							case '56961':
								img_src.push('http://ad.adserverplus.com/pixel?id=579310&t=1');
								break;
							case '56962':
								img_src.push('http://ad.adserverplus.com/pixel?id=579311&t=1');
								break;
							case '61441':
								img_src.push('http://ad.yieldmanager.com/pixel?id=1057583&t=2');
								img_src.push('http://ad.yieldmanager.com/pixel?id=1057639&t=2');
								break;
								/*
							case '61477':
								google_conversion_id = 1015616361;
								google_conversion_value = 0;
								google_conversion_label = 'bxmnCOe94AIQ6aak5AM';
								img_src.push('http://www.googleadservices.com/pagead/conversion/'+google_conversion_id+'/?label='+google_conversion_label+'&guid=ON&script=0');
								break;
								/**/
							case '53483':
								if (newUserGender == 'mal') {
									google_conversion_value = 1.52;
									img_src.push('http://www.googleadservices.com/pagead/conversion/'+google_conversion_id+'/?value=' + google_conversion_value + '&label='+google_conversion_label+'&guid=ON&script=0');
								}
								break;
							case '56995':
								if (newUserGender == 'mal') {
									img_src.push('http://ad.adserverplus.com/pixel?id=579310&t=2');
								}
								break;
							case '56996':
								if (newUserGender == 'mal') {
									img_src.push('http://ad.scanmedios.com/pixel?id=588662&t=2');
								}
								break;
						}
					}
				}
				$('content').innerHTML = cs.HR.form.responseText + append_txt;
				if (url != '') {
					var tag  = document.createElement('script');
					tag.type = 'text/javascript';
					tag.src  = url;
					document.body.appendChild(tag);
				}
				if (img_src.length > 0) {
					for (var i=0, j=img_src.length; i<j; i++) {
						(new Image()).src = img_src[i];
					}
				}
				if (/id="subscribing"/i.test(cs.HR.form.responseText)) {
					Events.addEvent($('subscribing'), 'submit', doRegistration); 
					Events.addEvent($('nickname'), 'change', checkPseudo); 
				} else {
					//$('swftag').set();				
				}
			} else {
				var b = document.getElementsByTagName('button');
				for (var i = 0, el; el = b[i]; i++) {
					el.disabled = false;
				}
			}
			cs.HR.form = null;
		};

		return function () {
			if (cs.HR.form != null) {
				return;
			}
			newUserGender=$('gender').value;
			var query_string = form2query($('subscribing'))+'&ajax=1';
			var options      = {'method':'post','mime':'plain'};
			loadingProcess(cs.wording.formProcessing);
			cs.HR.form = sAjax(window.location.pathname,query_string,registration_result,options);
			Events.removeEvent($('subscribing'), 'submit', doRegistration); 
			Events.removeEvent($('nickname'), 'change', checkPseudo); 
		};
	}();

	return function (event) {
		var f = $('subscribing'), error = false, birth = {};
		stopEvent(event);

		var b = document.getElementsByTagName('button');
		for (var i = 0, el; el = b[i]; i++) {
			el.disabled = true;
		}

		for (var i = 0, el; el = f.elements[i]; i += 1) {
			switch (el.id) {
				case 'nickname': initCheck(el); if (!cs.regex.pseudo.test(el.value)) { printError(el); error = true; } break;
				case 'gender': initCheck(el); if (!cs.regex.gender.test(el.value)) { printError(el); error = true; } break;
				case 'passwd': initCheck(el); if (!cs.regex.passwd.test(el.value))  { printError(el); error = true; } break;
				case 'cgu': initCheck(el); if (el.checked !== true) { printError(el); error = true; } break;
				case 'email': initCheck(el); if (!cs.regex.email.test(el.value)) { printError(el); error = true; } break;
				case 'year': case 'month': case 'day': birth[el.id] = el.value; break;
													   //case 'camtag' : el.value = $('swftag').check(); break;
			}
		}
		el = $('birthdate'); initCheck(el); if (!is_adult(birth['year'] + '-' + birth['month'] + '-' + birth['day'])) { printError(el); error = true; }
		if (error !== true) {
			registration_submit();
		} else {
			for (var i = 0, el; el = b[i]; i++) {
				el.disabled = false;
			}
		}
	};
}();

var checkPseudo = function () {

	var pseudo_result = function() {
		if (cs.HR.form.status === 200) {
			var pseudo = $('nickname');
			if (/KO1/i.test(cs.HR.form.responseText)) printError(pseudo, cs.errorText[pseudo.id]);
			else if (/KO2/i.test(cs.HR.form.responseText)) printError(pseudo, cs.errorText[pseudo.id+'_reserved']);
			else printOK(pseudo);
		}
		cs.HR.form = null;
		var c = $('content_loader');
		removeNode(c);
	};

	return function () {
		if (cs.HR.form !== null) {
			return;
		}
		var pseudo = $('nickname');
		initCheck(pseudo);
		loadingProcess(cs.wording.formProcessing);
		cs.HR.form = sAjax( window.location.pathname, 'module=subscribe&action=check_pseudo&nickname=' + $('nickname').value, pseudo_result ,{'mime':'plain'});
	};
}();

var closeIframe = function (event) {
	if (!$('welcome')) {
		stopEvent(event);
		toggle_popunder();
	} else {
		parent.cs.popup.enabled = false;
		window.parent.location = this.href;
	}
};

(function(){
 	//load_swftag();
	Events.addEvent($('subscribing'), 'submit', doRegistration); 
	Events.addEvent($('nickname'), 'change', checkPseudo); 
	Events.addEvent($('closeMe'), 'click', closeIframe);
	if (/&toggle=1/.test(window.location.search)) { 
		Events.addEvent(window,'load',toggle_popunder); 
 	}
 })();

