function fixDate(date) {

	var base = new Date(0)
	var skew = base.getTime()
	if (skew > 0)
		date.setTime(date.getTime() - skew)
		
}


function $(id) {
	return document.getElementById(id);
}

function setClass(obj, className) {
	obj.className = className;
}

function openMarkGroup (groupId) {
	var markAutoObj = $('mark_auto_div_' + groupId);
	var markSepObj = $('mark_sep_div_' + groupId);
	
	if (markAutoObj == null || markSepObj == null) return;
	
	var display = (markAutoObj.style.display == '')? 'none': '';
	markAutoObj.style.display = display;
	markSepObj.style.display = display;	
	
	if (display == '') ap_set_cookie('mark_group_' + groupId, 'yes');
	else ap_set_cookie('mark_group_' + groupId, 'no');
	
}

function markShowError (elem, errorText) {
	elem.innerHTML = '<p>' + errorText + '</p>';
}

function markShowContent (markId, page, action) {
	
	var mark_content_elem = $('mark_' + action + '_content');
	if (mark_content_elem == null) return;
	
	ap_set_cookie('mark_' + action + '_page_' + markId, page);
	
	JsHttpRequest.query(
			'/ajax/marks',
			{'markId': markId, 'page': page, 'action': action},
			function(result, errors) {
				if (errors) {
					markShowError(mark_content_elem, 'Ошибка загрузки информации. Попробуйте повторить запрос позже.');
					return;
				}		
				if (result) {
					if (result['type'] == 'message') {
						mark_content_elem.innerHTML = result['result'];
					} else {
						markShowError(mark_content_elem, 'Ошибка. ' + result['result'] + '.');
					}
					return;				
				}
			},
			false
		);	
	
}

function ap_set_cookie (name, value) {
	var now = new Date();
	fixDate(now);
	now.setTime(now.getTime() + 1000 * 60 * 60 * 24 * 31);
	setCookie(name, value, now, '/');
}