jQuery(document).ready(function() {
	initPopup();
	container = jQuery('#widget-kaporal');
});

var container;

function initPopup() {
	jQuery("a[href='#w-popup']").unbind().click(function(event){
		event.preventDefault();
		hidePopup();
		loadData(jQuery(this));
	});
}

function reinitPopup() {
	container.find('#popup a[href="#w-popup"]').click( function(event) {
		event.preventDefault();
		hidePopup();
		loadData(jQuery(this));
	});
}

function loadData( el ) {
	var datas = el.attr('rel').split(',');
	jQuery.ajax({
		type: 'POST',
		url: tPath + '/ajax_popup.php',
		data: 'id=' + datas[0],
		success: function(post) {
			showPopupBg();
			container.append(post);
			container.find('#popup').css({
				'width' : '100%',
				'height' : container.height() - container.find('#footer').height() + 'px',
				'opacity' : 0,
				'display' : 'block'
			}).animate({ 'opacity' : 1 }, 150 );
			if ( datas[1] == 'scroll' ) {
				container.find('#popup #pop-content').css({ 'height' : '230px', 'padding-right' : '20px', 'margin-top' : '15px' });
				fleXenv.fleXcrollMain("pop-content");
			}
			Cufon.replace('#popup .hcond,#popup h2, #popup h3, #popup h4, #popup h5, #popup h6' , { fontFamily: 'hcond' , hover: true });
			reinitPopup();
			container.find('#popup #pop-close').click( function(event) { event.preventDefault(); hidePopup(); } );
			
			if ( container.find('form').hasClass('clipboard') ) {
				copyToClipboard( container.find('form.clipboard') );
			}
			
			if ( datas[1] == 'validate' || datas[2] == 'validate' ) {
				initForm( jQuery("#form-" + datas[0]) );
			}
		}
	});
}

function showPopupBg() {
	container.append('<div id="bg-popup"></div>');
	jQuery('#bg-popup')
		.css({ 'width' : '100%', 'height' : container.height() - 44 + 'px', 'background-color' : '#000', 'opacity' : 0, 'position' : 'absolute', 'top' : 0, 'left' : 0, 'z-index' : 40 })
		.fadeTo( 150, 0.85 );
};

function hidePopup() {
	container.find('#bg-popup').fadeOut( 150, function() { removeElement( jQuery(this) ); } );
	container.find('#popup').fadeOut( 150, function() { removeElement( jQuery(this) ); } );
};

function removeElement( el ){
	el.remove();
};

var copyThis;
function copyToClipboard( form ) {
	copyThis = form.find('textarea.ctc');
	var ctCode = "<object id='clipboard' data='" + tPath + "/dt-copier.swf' width='150' height='35' type='application/x-shockwave-flash'><param name='allowScriptAccess' value='always' /><param name='allowFullScreen' value='false' /><param name='movie' value='" + tPath + "/dt-copier.swf' /><param name='quality' value='high' /><param name='wmode' value='transparent' /><param name='flashvars' value='callback=cTc' /><embed src='" + tPath + "/dt-copier.swf' flashvars='callback=cTc' quality='high' width='150' height='35' wmode='transparent' name='clipboard' allowscriptaccess='always' allowfullscreen='false' type='application/x-shockwave-flash' pluginspage='http://www.adobe.com/go/getflashplayer' /></object>";
	var button = form.find('button#copy');
	form.append(ctCode);
	form.css({ 'position' : 'relative' });
	form.find('#clipboard').css({
		'position' : 'absolute',
		'left' : button.position().left + 15 + 'px',
		'top' : button.position().top + 5 + 'px',
		'z-index' : '70',
	});
};

function cTc() {
	var s = copyThis.val();
	if (window.clipboardData)
		window.clipboardData.setData('text', s);
	else
		return (s);
};

/*--FORM--*/
function initForm( form ) {
	form.submit( function() {
		form.find('.a-response').remove();
		if ( form.attr('id') == 'form-w-pop-compte' ) {
			validCompte( form );
		} else if ( form.attr('id') == 'form-pop-mdprecup' ) {
			validLost( form );
		} else if ( form.attr('id') == 'form-w-pop-inscription' ) {
			validInscription( form );
		} else if ( form.attr('id') == 'form-w-pop-login' ) {
			validInscription( form );
		} else {
			validateForm( form );
		}
		return false;
	});
	
	if ( form.find('a.delete-account') ) {
		var deLink = form.find('a.delete-account');
		deLink.attr('href' , deLink.attr('href') + '&parrain_id=' + parrainID );
	}
};

function validateForm( form ) {
	if ( form.find('input.required').val() != '' ) {
		var correctMail = true;
		form.find('input.email[value!=""]').each( function() {
			if ( !checkMail( jQuery(this).val() ) ) correctMail = false;
		});
		if (correctMail) {
			validForm( form );
		} else {
			errorMsg( form, 'Veuillez v&eacute;rifier les adresses e-mail saisies' );
		}
	} else {
		errorMsg( form, 'Veuillez entrer au moins une adresse e-mail' );
	}
};

function validLost( form ) {
	if ( form.find('input.[name="mail"]').val() == '' ) {
		errorMsg( form, 'veuillez saisir un mail' );
	} else {
		jQuery.ajax({
			type: 'POST',
			url: tPath + '/trait-mdprecup.php',
			data: form.serialize(),
			success: function( data ) {
				form.append( '<div class="form-error a-response">' + data + '</div>' );
			}
		});
	}
};


function checkMail( mail ) {
	var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	if (filter.test(mail)) {
		return true;
	} else {
		return false;
	}
}

function errorMsg( form, msg ) {
	form.append('<div class="form-error a-response">' + msg + '</div>');
}

function validForm( form ) {
	jQuery.ajax({
		type: 'POST',
		url: tPath + '/trait-parrainnage.php',
		data: form.serialize(),
		success: function() {
			form.children().fadeTo( 150, 0 );
			form.append( validMsg );
			form.find('#form-valid').css({
				'position' : 'absolute',
				'opacity' : 0,
				'display' : 'block',
				'width' : form.width() -20  + 'px',
				'height' : form.height() + 20 + 'px',
				'top' : form.position().top + 'px',
				'left' : form.position().left - 10 + 'px',
				'padding' : '30px 20px' })
			.animate({ 'opacity' : 1 })
			.find('#paragain').click( function(event) {
				event.preventDefault();
				jQuery('#form-valid').animate({ 'opacity' : 0 }, function() { removeElement(jQuery('#form-valid')) } );
				form.children().fadeTo( 150, 1 );
				form.find('input[type="text"]').val( '' );
			});
		},
		error: function() {
			form.append('<div class="form-error a-response">' + 'unne erreur est survenue, merci de r&eacute;it&eacute;rer ult&eacute;rieurement' + '</div>');
		}
	});
}

var validMsg = '<div id="form-valid" class="a-response"><h6>L\'inscription de vos filleuls &agrave; bien &eacute;t&eacute; prise en compte.<br /><a id="paragain" href="">Inscrivez d\'autres ami(e)s</a> et augmentez vos chances d\&ecirc;tre tir&eacute; au sort</h6></div>';

function validCompte( form ) {
	jQuery.ajax({
		type: 'POST',
		url: tPath + '/w-trait-moncompte.php',
		data: form.serialize(),
		success: function( result ) {
			if ( result == 'reload' ) {
				reloadPage();
			} else {
				form.find('#user_infos').empty().append( result );
				Cufon.replace('#popup .hcond' , { fontFamily: 'hcond' });
				form.append('<div class="form-valid" class="a-response"><strong>Compte mis &agrave; jour</strong></div>');
				form.find('.form-valid').css({
					'position' : 'absolute',
					'color' : '#fff',
					'bottom' : '15px',
					'right' : '35px' })
				.delay(2000).fadeOut(1000, function() { removeElement(jQuery('this')) } );
			}
		}
	});
};

/*--INSCRIPTION--*/
function validInscription ( form ) { 
	container.find('span.red').empty();
	if ( form.find('input.required').attr('type') == 'checkbox' ) {
		if ( form.find('input.required:checked').val() != 1 ) {
			container.find('span.red').append('Veuillez accepter le r&egrave;glement du jeu concours');
		} else {
			sendInscription( form )
		}
	} else {
		sendInscription( form )
	}
};

function sendInscription( form ) {
	form.find('input[name="parrain_id"]').val( parrainID );
	jQuery.ajax({
		type: 'POST',
		url: tPath + '/w-trait-logorreg.php',
		data: form.serialize(),
		success: function( data ) {
			if ( data == 'reload' ) {
				reloadPage();
			} else {
				container.find('span.red').append( data );
			}
		}
	});
};

function reloadPage() {
	jQuery.ajax({
		url: tPath + '/w-navbar.php',
		success: function( data ) {
			container.find('#navbar').empty().prepend( data );
			Cufon.replace('#widget-kaporal #navbar a' , { fontFamily: 'hcond' , hover: true });
			initPopup();
		}
	});
	jQuery.ajax({
		url: tPath + '/w-footer-content.php',
		success: function( data ) {
			container.find('#footer').empty().prepend( data );
			initPopup();
		}
	});
	jQuery.ajax({
		url: tPath + '/page_widget_content.php',
		success: function( data ) {
			container.find('#widget-content').empty().prepend( data );
			Cufon.replace('#widget-kaporal #widget-content .hcond' , { fontFamily: 'hcond' , hover: true });
			hidePopup();
			initPopup();
		}
	});
}
