var CCPR = {};
CCPR.decodeEmail = function(link) {
	link.href = link.href.split("?")[0].replace("pasedespam.", "");
}

CCPR.formatUrl = function(elCell, oRecord, oColumn, sData) {
	elCell.innerHTML = "<a href='' target='_blank'>" + sData + "</a>";
};

CCPR.formatDownloadUrl = function(elCell, oRecord, oColumn, sData) {
	elCell.innerHTML = "<a href='" + sData + "' target='_blank'>Télécharger</a>";
};

CCPR.formatEmail = function(elCell, oRecord, oColumn, sData) {
	if (sData)
		elCell.innerHTML = "<a href='mailto:pasedespam." + sData + "' target='_blank' onClick='CCPR.decodeEmail(this)'>Contacter</a>";
};

CCPR.onSelectedMenuItemChange = function(event) {

	var oMenuItem = event.newValue;
	this.set("label", ("<em class=\"yui-button-label\">" + oMenuItem.cfg.getProperty("text") + "</em>"));

};

CCPR.onMenuRender = function(type, args, button) {

	button.set("selectedMenuItem", this.getItem(0));

};

CCPR.onFormSubmitPreventSubmit = function(event, callback) {
	YAHOO.util.Event.preventDefault(event);
	callback()
};

CCPR.pager = function(config) {
	var pag = new YAHOO.widget.Paginator({
				rowsPerPage : config.rowsPerPage,
				totalRecords : config.totalRecords,
				containers : config.containers,
				firstPageLinkLabel : '<< prem.',
				lastPageLinkLabel : 'dern. >>',
				previousPageLinkLabel : '< prec.',
				nextPageLinkLabel : 'suiv. >>',
				pageLinks : 5,
				alwaysVisible : false
			});
	pag.render();
	var pagerApp = {
		pageDataUrl : config.dataUrl,

		handlePagination : function(state) {
			YAHOO.util.Connect.asyncRequest('GET', pagerApp.pageDataUrl + state.page, {
						success : pagerApp.replaceContent,
						state : state
					});
		},
		replaceContent : function(o) {
			// Inside an async callback, this refers to the callback obj
			var contentContainer = document.getElementById(config.contentDiv);
			// var json = o.responseText.substring(o.responseText.indexOf('{'),
			// o.responseText.lastIndexOf('}') + 1);
			// var data = eval('(' + json + ')');
			contentContainer.innerHTML = o.responseText;

			// Update the Paginator's state to confirm we've moved to the
			// new page
			pag.setState(this.state);
		}
	};
	pag.subscribe('changeRequest', pagerApp.handlePagination);

}

CCPR.newsletter = function() {
	this.handleSuccess = function (o) {
		if (o.responseText !== undefined) {
			var ct = document.getElementById('newsletterResponse');
			ct.innerHTML = o.responseText;

		}
	}
	this.handleFailure = function (o) {
		if (o.responseText !== undefined) {
			this.div.innerHTML = "<li>Transaction id: " + o.tId + "</li>";
			this.div.innerHTML += "<li>HTTP status: " + o.status + "</li>";
			this.div.innerHTML += "<li>Status code message: " + o.statusText + "</li>";
		}
	}
	var con = YAHOO.util.Connect.asyncRequest("POST", "newsletter.php", {
				success : this.handleSuccess,
				failure : this.handleFailure,
				timeout : 60000,
				argument : {
					obj : document.getElementById('subscribeForm')
				}
			}, YAHOO.util.Connect.setForm(document.getElementById('subscribeForm')));
	
}
