function isdefined(variable){
	return (typeof(window[variable]) == "undefined") ? false : true;
}
function disableSelection(target){
	if (isdefined(target.onselectstart)) //IE route
		target.onselectstart=function(){return false}
	else if (isdefined(target.style.MozUserSelect)) //Firefox route
		target.style.MozUserSelect="none"
	else //All other route (ie: Opera)
		target.onmousedown=function(){return false}
	target.style.cursor = "default"
}
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0){
			value = c.substring(nameEQ.length,c.length);
			return value; 
		}
	}
	return null;
}

/*function eraseCookie(name) {
	createCookie(name,"",-1);
}*/

dodrag=0;
$(function(){
	$("#cocoHighlight").sortable({axis: "y", handle: ">h3,>p", items: "> div,> a > div", start: function(e,ui){
		dodrag=1;
	}, update: function(e,ui){
		orderString=$("#cocoHighlight").sortable("toArray");
		createCookie('sidebarOrder'+originalHash,orderString,30);
	}});
	//$("#cocoHighlight>div>h3,#cocoHighlight>div>p").live("mouseover",function(){$(this).animate({marginLeft:"-=5",marginTop:"-=5"})});
	//$("#cocoHighlight>div>h3,#cocoHighlight>div>p").live("mouseout",function(){$(this).animate({marginLeft:"+=5",marginTop:"+=5"})});
	$("#cocoHighlight>div>h3,#cocoHighlight>div>p").live("click",function(){
		if($(this).hasClass("open")){
			if(dodrag==0){
				$(this).closest("div").find(">ul,>form").slideUp();
				$(this).addClass("closed").removeClass("open");
				createCookie($(this).closest("div").attr("id"),'off',30);
			}
			else
				dodrag=0;
		}else if($(this).hasClass("closed")){
			if(dodrag==0){
				$(this).closest("div").find(">ul,>form").slideDown();
				$(this).addClass("open").removeClass("closed");
				createCookie($(this).closest("div").attr("id"),'on',30);
			}
			else
				dodrag=0;
		}
	});
	originalOrder=$("#cocoHighlight").sortable("toArray").toString();
	originalHash=hex_md5(originalOrder);
	sidebarOrder=readCookie('sidebarOrder'+originalHash);
	$("#cocoHighlight > div,#cocoHighlight > a > div").each(function(i){
		$(this).find(">h3,>p").addClass("open");
		disableSelection($(this).find(">h3,>p").get(0));
		cookieVal = readCookie($(this).attr("id"));
		if(cookieVal == "off"){
			$(this).find(">h3,>p").click();
		}
		if(sidebarOrder){
			if(sidebarOrder.split(",")[i] != $(this).attr("id")){
				myObj=$(this).remove();
				newIndex=sidebarOrder.split(",").indexOf(myObj.attr("id"));
				objList=$("#cocoHighlight > div,#cocoHighlight > a > div");
				if(newIndex<objList.length)
					myObj.insertBefore(objList.eq(newIndex));
				else
					myObj.insertAfter(objList.eq(objList.length-1));
			}
		}
	});
});