var favorite_remove = '';

function menuHover (id, status) {
	var left = document.getElementById(id+'-left');
	var right = document.getElementById(id+'-right');
	var bg1 = document.getElementById(id+'-bg1');
	var bg2 = document.getElementById(id+'-bg2');
	if (status) {
		left.className = 'divider-left-on';
		right.className = 'divider-right-on';
		bg1.className = 'arrow-on';
		bg2.className = 'item-on';
	}
	else {
		left.className = 'divider-left';
		right.className = 'divider-right';
		bg1.className = 'arrow';
		bg2.className = 'item';
	}
}

function buttonHover (id, status) {
	var left = document.getElementById('button-'+id+'-left');
	var right = document.getElementById('button-'+id+'-right');
	var center = document.getElementById('button-'+id+'-center');
	if (status) {
		left.className = 'button-left-on';
		right.className = 'button-right-on';
		center.className = 'button-center-on';
	}
	else {
		left.className = 'button-left';
		right.className = 'button-right';
		center.className = 'button-center';
	}
}

function minmaxHover (id, color, status) {
	var button = document.getElementById('minmax-'+id);
	if (status) {
		button.className = (button.className == color+'-min') ? color+'-min-on' : color+'-max-on';
	}
	else {
		button.className = (button.className == color+'-min-on') ? color+'-min' : color+'-max';
	}
}

// winstatus 1: closed 2: opened
function minmaxToggle (id, color, closed, maxcallback, mincallback) {
	var button = document.getElementById('minmax-'+id);
	var content = document.getElementById('content-'+id);
	if (button.className == color+'-min-on') {
		button.className = color+'-max-on';
		content.style.display = 'none';
		if (mincallback) { eval(mincallback); }
		if (!closed) { setCookie('cookie[window]['+id+']', 1, 7); }
		else { setCookie('cookie[window]['+id+']', 0, 7); }
	}
	else {
		button.className = color+'-min-on';
		content.style.display = '';
		if (maxcallback) { eval(maxcallback); }
		if (closed) { setCookie('cookie[window]['+id+']', 2, 7); }
		else { setCookie('cookie[window]['+id+']', 0, 7); }
	}
}

function loadURL (url) {
	this.location = url;
}

function submitForm (formname) {
	var form = eval('document.'+formname);
	if (form) { form.submit(); }
}

function clearForm (formname) {
	var form = eval('document.'+formname);
	if (form) {
		for (var i=0; i<form.elements.length; i++) {
			if (form.elements[i].disabled) { continue; }
			var type = form.elements[i].nodeName.toLowerCase();
			switch (type) {
			case 'input':
				var attr = form.elements[i].getAttribute('type').toLowerCase();
				if (attr == 'text' || attr == 'password') { form.elements[i].value = ''; }
				else if (attr == 'radio' || attr == 'checkbox') { form.elements[i].checked = false; }
				break;
			case 'textarea':
				var name = form.elements[i].getAttribute('name').toLowerCase();
				if (name != 'tos') { form.elements[i].value = ''; }
				break;
			case 'select':
				form.elements[i].selectedIndex = 0;
				break;
			}
		}
	}
}

function initialize () {
	if (document.search_form && document.search_form.search) {
		document.search_form.search.focus();
	}
	else if (document.login_form && document.login_form.email) {
		document.login_form.email.focus();
	}
}

function sprintf () {
	var format = arguments[0];
	var pattern = /%(s|d)/;
	var match = format.search(pattern);
	var count = 1;
	while (match >= 0) {
		var key = format.substr(match, 2);
		var value = arguments[count];
		if (key == '%d') { value = parseInt(value); }
		else if (key == '%s') { value = value.toString(); }
		format = format.substr(0, match) + value + format.substr(match+2);
		match = format.search(pattern);
		count++;
	}
	return format;
}

function setCookie (name, value, days) {
	if (!days) { return; }
	
	var hash = new Array();
	var date = new Date();
	date.setTime(date.getTime()+(days*24*60*60*1000));
	hash['expires'] = date.toGMTString();
	hash['path'] = '/';
	hash['domain'] = '.eatindenver.com';
	document.cookie = sprintf('%s=%s; expires=%s; path=%s; domain=%s',
		name, value, hash['expires'], hash['path'], hash['domain']);
}

function getCookie (name) {
	var hash = document.cookie.split(';');
	for (var i=0; i<hash.length; i++) {
		var parts = hash[i].split('=');
		if (parts[0] == name) { return parts[1]; }
	}
}

function columnSort (formname, sort, desc, altsort, altdesc, altoffset) {
	var sbox = eval('document.'+formname+'.'+(altsort ? altsort : 'sort'));
	var dbox = eval('document.'+formname+'.'+(altdesc ? altdesc : 'desc'));
	var obox = eval('document.'+formname+'.'+(altoffset ? altoffset : 'offset'));
	sbox.value = sort;
	dbox.value = desc ? 1 : 0;
	if (obox) { obox.value = 0; }
	submitForm(formname);
}

function setOffset (formname, index, altname) {
	var box = eval('document.'+formname+'.'+(altname ? altname : 'offset'));
	box.value = index;
	submitForm(formname);
}

function addFavorite (rid) {
	var fbox = document.favorites_form.favorites_size;
	var fhbox = document.getElementById('favorites-header');
	var fdbox = document.getElementById('favorites-divider');
	var fnbox = document.getElementById('favorites-none');
	var box1 = document.getElementById('favorite'+rid);
	var box2 = document.getElementById('favorite-divider'+rid);
	if (fbox && fhbox && fdbox && fnbox && box1 && box2) {
		if (fbox.value == 0) {
			fhbox.style.display = '';
			fdbox.style.display = '';
			fnbox.style.display = 'none';
		}
		fbox.value++;
		box1.style.display = '';
		box2.style.display = '';
		setCookie('cookie[favorites][add]', rid, 7);
	}
}

function deleteFavorite (rid) {
	var fbox = document.favorites_form.favorites_size;
	var fhbox = document.getElementById('favorites-header');
	var fdbox = document.getElementById('favorites-divider');
	var fnbox = document.getElementById('favorites-none');
	var box1 = document.getElementById('favorite'+rid);
	var box2 = document.getElementById('favorite-divider'+rid);
	if (fbox && fhbox && fdbox && fnbox && box1 && box2) {
		fbox.value--;
		if (fbox.value == 0) {
			fhbox.style.display = 'none';
			fdbox.style.display = 'none';
			fnbox.style.display = '';
		}
		box1.style.display = 'none';
		box2.style.display = 'none';
		var cookie = favorite_remove.length ? favorite_remove : getCookie('cookie[favorites][delete]');
		var ids = cookie ? cookie.split(',') : new Array();
		var found = false;
		for (var i=0; i<ids.length; i++) { if (ids[i] == rid) found = true; }
		if (!found) { ids.push(rid); }
		favorite_remove = ids.join(',');
		setCookie('cookie[favorites][delete]', favorite_remove, 7);
	}
}

