// Changes the font size of article's text
function changeFontSize(inc) {
	var articleText = YAHOO.util.Dom.getElementsByClassName('article');
	var currentSize = parseInt(YAHOO.util.Dom.getStyle(articleText, 'font-size').toString().replace('%', ''));

	// don't go under 80% or over 140%;
	if ((inc == -1 && currentSize == 80) || (inc == 1 && currentSize == 140)) {
		var newSize = currentSize + "%";
	} else {
		var newSize = currentSize + inc * 10 + "%";
	}
	YAHOO.util.Dom.setStyle(articleText, 'font-size', newSize);
	YAHOO.util.Cookie.remove("articleTextSize");
	YAHOO.util.Cookie.set("articleTextSize", newSize, { path: "/", expires: new Date("December 31, 2025") });
}

function setPopupPartager(state) {
	if (state == 'opened') {
		YAHOO.util.Cookie.set("popupPartager", "opened");
		YAHOO.util.Dom.replaceClass('partager-popup', 'closed', 'opened');
	} else if (state == 'closed') {
		YAHOO.util.Cookie.remove("popupPartager");
		YAHOO.util.Dom.replaceClass('partager-popup', 'opened', 'closed');
	}
}

function setPopupLogin(state) {
	if (state == 'opened') {
		YAHOO.util.Cookie.set("popupLogin", "opened");
		YAHOO.util.Dom.replaceClass('login-popup', 'closed', 'opened');
	} else if (state == 'closed') {
		YAHOO.util.Cookie.remove("popupLogin");
		YAHOO.util.Dom.replaceClass('login-popup', 'opened', 'closed');
	}
}

function setPopupLogin2(state) {
	if (state == 'opened') {
		YAHOO.util.Cookie.set("popupLogin2", "opened");
		YAHOO.util.Dom.replaceClass('login-popup2', 'closed', 'opened');
	} else if (state == 'closed') {
		YAHOO.util.Cookie.remove("popupLogin2");
		YAHOO.util.Dom.replaceClass('login-popup2', 'opened', 'closed');
	}
}

function setPopupEmail(state) {
	if (state == 'opened') {
		YAHOO.util.Cookie.set("popupEmail", "opened");
		YAHOO.util.Dom.replaceClass('form_send_to_friend', 'closed', 'opened');
	} else if (state == 'closed') {
		YAHOO.util.Cookie.remove("popupEmail");
		YAHOO.util.Dom.replaceClass('form_send_to_friend', 'opened', 'closed');
	}
}

// ?
function popUpPage(url, parameters, name) {
	var day = new Date();
	var pageName = name ? name : day.getTime()

	eval("svie"+pageName+" = window.open('"+url+"','"+pageName+"','"+parameters+"')");

	if (eval("svie"+pageName) && window.focus) eval("svie"+pageName).focus();
}

// Loads content of a URL inside the Target DIV
function callAJAX(url, targetdiv) {
	YAHOO.util.Dom.get(targetdiv).innerHTML = '<span class="ajax-loader">Chargement...</span>';
	var callback = {
		success: function(o) {
			el = YAHOO.util.Dom.get(targetdiv);
			el.innerHTML =  o.responseText;
		},
		failure: function(o) {
			YAHOO.util.Dom.get(targetdiv).innerHTML = '';
			alert("AJAX doesn’t work"); //FAILURE
		}
	}
	var transaction = YAHOO.util.Connect.asyncRequest('GET', url, callback, null);
}

// ??
function concatObject(obj) {
	str = '';
	for (prop in obj) {
		str += "[" + prop + "] => [" + obj[prop] + "]\n";
	}
	return(str);
}

function setPopupSendToFriend(state) {
	if (state == 'opened') {
		YAHOO.util.Cookie.set("sendToFriend", "opened");
		YAHOO.util.Dom.replaceClass('send-to-friend', 'closed', 'opened');
	} else if (state == 'closed') {
		YAHOO.util.Cookie.remove("sendToFriend");
		YAHOO.util.Dom.replaceClass('send-to-friend', 'opened', 'closed');
	}
}

// used for the carousels
var getWidth = function(el){
	var region = YAHOO.util.Dom.getRegion(el);
	return parseInt(region.right - region.left);
}
var getHeight = function(el){
	var region = YAHOO.util.Dom.getRegion(el);
	return parseInt(region.bottom - region.top);
}
var adjustNavigation = function(id){
	var container       = new Object();
	container.el        = YAHOO.util.Selector.query("#" + id)[0];
	container.region    = YAHOO.util.Dom.getRegion(container.el);
	container.width     = getWidth(container.el);

	var navigation      = new Object();
	navigation.el       = YAHOO.util.Selector.query("#" + id + " .yui-carousel-nav")[0];
	navigation.region   = YAHOO.util.Dom.getRegion(navigation.el);
	navigation.width    = getWidth(navigation.el);

	var pagination      = new Object();
	pagination.el       = YAHOO.util.Selector.query("#" + id + " .yui-carousel-nav ul")[0];
	pagination.region   = YAHOO.util.Dom.getRegion(pagination.el);
	pagination.width    = getWidth(pagination.el);

	var left_button     = new Object();
	left_button.el      = YAHOO.util.Selector.query("#" + id + " .yui-carousel-nav .yui-carousel-button")[0];
	left_button.region  = YAHOO.util.Dom.getRegion(left_button.el);
	left_button.width   = getWidth(left_button.el);

	var right_button    = new Object();
	right_button.el     = YAHOO.util.Selector.query("#" + id + " .yui-carousel-nav .yui-carousel-button")[1];
	right_button.region = YAHOO.util.Dom.getRegion(right_button.el);
	right_button.width  = getWidth(right_button.el);

	var negative_space  = (container.region.right - right_button.region.right) * 2 + 55;

	if((container.width - pagination.width) < negative_space){
		YAHOO.util.Dom.addClass(navigation.el, "yui-carousel-small-nav");
		container.width  = getWidth(container.el);
		pagination.width = getWidth(pagination.el);
		if((container.width - pagination.width) < negative_space){
			YAHOO.util.Dom.replaceClass(navigation.el, "yui-carousel-small-nav", "yui-carousel-tiny-nav");
		}
	}
}
var adjustItemsHeight = function(id){
	var element     = new Object();
	element.el      = YAHOO.util.Selector.query("#" + id + " .yui-carousel-element")[0];
	element.height  = getHeight(element.el);
	element.padding = {
		top:    parseInt(YAHOO.util.Dom.getStyle(element.el, 'padding-top')),
		right:  parseInt(YAHOO.util.Dom.getStyle(element.el, 'padding-right')),
		bottom: parseInt(YAHOO.util.Dom.getStyle(element.el, 'padding-bottom')),
		left:   parseInt(YAHOO.util.Dom.getStyle(element.el, 'padding-left'))
	};
	element.inner   = element.height - element.padding.top - element.padding.bottom;
	var items       = YAHOO.util.Selector.query("#" + id + " .yui-carousel-element li");
	for(var i=0; i<items.length; i++){
		YAHOO.util.Dom.setStyle(items[i], "height", element.inner + "px");
	}
}

// A print_r equivalent for Javascript
//function print_r(theObj) {
//	if (theObj.constructor == Array || theObj.constructor == Object) {
//		document.write("<div class=\"var-dump\">");
//		document.write("<ul>");
//		for(var p in theObj) {
//			if(theObj[p].constructor == Array || theObj[p].constructor == Object) {
//				document.write("<li>["+p+"] => "+typeof(theObj)+"</li>");
//				document.write("<ul>");
//				print_r(theObj[p]);
//				document.write("</ul>");
//			} else {
//				document.write("<li>["+p+"] => "+theObj[p]+"</li>");
//			}
//		}
//		document.write("</ul>");
//		document.write("</div>");
//	}
//}
//
//function str_repeat(str, repeat) {
//	var output = '';
//	for (var i = 0; i < repeat; i++) {
//		output += str;
//	}
//	return output;
//}
//
//var MAX_DEPTH = 10;
//function print_r(obj, indent, depth) {
//	var ws = '    '; //four whitespaces
//	var output = '';
//	indent = (!indent) ? 0 : indent;
//	depth = (!depth) ? 0 : depth;
//	if (depth > MAX_DEPTH) {
//		return str_repeat(ws, indent) + '*Maximum Depth Reached*\n';
//	}
//	if (typeof(obj) == "object") {
//		output += (indent == 0) ? typeof(obj) + '\n(\n' : '';
//		indent++;
//		var child = '';
//		for (var key in obj) {
//			try {
//				child = obj[key];
//			}
//			catch (e) {
//				child = '*Unable To Evaluate*';
//			}
//			output += str_repeat(ws, indent) + '[' + key + '] => ';
//			if (typeof(child) == "object") {
//				indent++;
//				output += typeof(child) + '\n';
//				output += str_repeat(ws, indent) + '(\n';
//				output += print_r(child, indent, depth+1);
//				output += str_repeat(ws, indent) + ')\n';
//				indent--;
//			} else {
//				output += child + '\n';
//			}
//		}
//		indent--;
//		output += (indent == 0) ? ')\n' : '';
//		return output;
//	} else {
//		return str_repeat(ws, indent) + obj + '\n';
//	}
//}

var goToLinks = {
	init : function() {
		var links = YAHOO.util.Dom.getElementsByClassName('gotohref', 'a');
		for (var i = 0; i < links.length; i++) {
			YAHOO.util.Event.addListener(links[i], 'click', gotolinks.click);
		}
	},

	click : function(e) {
		window.location = e.currentTarget;
		return false;
	}
};
YAHOO.util.Event.on(window, 'load', goToLinks.init);

var printablePage = {
	init : function() {
		var printLinks = YAHOO.util.Dom.getElementsByClassName('print', 'a');
		for (var i = 0; i < printLinks.length; i++) {
			YAHOO.util.Event.addListener(printLinks[i], 'click', printablePage.click);
		}
	},

	click : function(e) {
		window.print();
		return false;
	}
};
YAHOO.util.Event.on(window, 'load', printablePage.init);

var appendEllipsis = {
	init : function() {
		var articleSources = YAHOO.util.Dom.getElementsByClassName('article-sources');
		if (articleSources.length != 0) {
			var links = articleSources[0].getElementsByTagName('a');
	
			for (x = 0; x < links.length; x++) {
				var linkEl     = links[x];
				var linkWidth  = parseInt(YAHOO.util.Dom.getStyle(linkEl, 'width'));
				var linkText   = linkEl.innerHTML;
				var linkStrLen = linkText.length;
	
				// if too long, append ellipsis
				if (linkWidth > 445) { linkText = linkText + '…'; }
	
				// remove 1 more character and try again
				while (linkWidth > 445) {
					linkText  = linkText.slice(0, -2);
					linkText  = linkText + '…';
					links[x].innerHTML = linkText;
					linkWidth = parseInt(YAHOO.util.Dom.getStyle(linkEl, 'width'));
				}
			}
		}
	}
};
YAHOO.util.Event.on(window, 'load', appendEllipsis.init);

//Mohamed Alami Chahboune
function setMemLogin() {
	if (YAHOO.util.Cookie.get("Mem") == null ) {
			YAHOO.util.Cookie.set("Mem",'COCO',{ path: "/" });
	} else {
			YAHOO.util.Cookie.remove("Mem",{ path: "/" });		
	}
}
