var flag_show_special=true;
var flag_show_regular=true;
var flag_show_dead=true;
var flag_show_inter=true;

function process_table(tblname) {
	var tbl = document.getElementById(tblname);
	if (tbl) {
		var len = tbl.rows.length;
		var i;
		for(i=0 ; i < len ; i++) {
		    if (tbl.rows[i].id != "") {
			var nr = tbl.rows[i].id.substring(3) * 1;
			var is_dead = tbl.rows[i].id.charAt(0) == "d";
			var is_special = ((nr > 7000000 && nr < 9000000) || 
					  (nr > 40000000));
			var is_regular = !is_special;
			
			var val = "";

			if (!flag_show_special && is_special)
			    val = "none";

			if (!flag_show_regular && is_regular)
			    val = "none";

			if (!flag_show_dead && is_dead)
			    val = "none";

			tbl.rows[i].style.display=val;
		   }
                }
	}
}

function process_update_table(tblname) {
	var tbl = document.getElementById(tblname);
	if (tbl) {
		var len = tbl.rows.length;
		var i;
		for(i=0 ; i < len ; i++) {
			var row = tbl.rows[i];
			
			if (row.cells.length >= 4) {
				var cell = row.cells[4];
				var val = "";
	
				if (!cell.firstChild && !flag_show_inter) {
					val = "none";
				}
				tbl.rows[i].style.display=val;
			}
		}
	}
}


function set_styles() {
	process_table("winetable");
	process_table("vintage");
	process_table("removed");
}

function hide_inter_chb(form) {
	if (form.hideinter.checked) {
		document.cookie="hide_inter=true; Path=/";
		flag_show_inter=false;
	}
	else {
		document.cookie="hide_inter=false; Path=/";
		flag_show_inter=true;
	}
	process_update_table("updatetable");
}

function hide_special_chb(form) {
	if (form.hidespecial.checked) {
		document.cookie="hide_special=false; Path=/";
		flag_show_special=true;
	}
	else {
		document.cookie="hide_special=true; Path=/";
		flag_show_special=false;
	}
	set_styles();
}

function hide_regular_chb(form) {
	if (form.hideregular.checked) {
		document.cookie="hide_regular=false; Path=/";
		flag_show_regular=true;
	}
	else {
		document.cookie="hide_regular=true; Path=/";
		flag_show_regular=false;
	}
	set_styles();
}

function hide_dead_chb(form) {
	if (form.hidedead.checked) {
		document.cookie="hide_dead=false; Path=/";
		flag_show_dead=true;
	}
	else {
		document.cookie="hide_dead=true; Path=/";
		flag_show_dead=false;
	}
	set_styles();
}

function check_checkboxes() {
	var hr = document.getElementById("hideregular_checkbox");
	var hs = document.getElementById("hidespecial_checkbox");
	var hd = document.getElementById("hidedead_checkbox");

	if (hr) {
	    if (get_cookie("hide_regular") == "true") {
		hr.checked = false;
		flag_show_regular=false;
	    } else {
		hr.checked = true;
		flag_show_regular=true;
	    }
	}

	if (hs) {
	    if (get_cookie("hide_special") == "true") {
		hs.checked = false;
		flag_show_special=false;
	    } else {
		hs.checked = true;
		flag_show_special=true;
	    }
	}

	if (hd) {
	    if (get_cookie("hide_dead") == "true") {
		hd.checked = false;
		flag_show_dead=false;
	    } else {
		hd.checked = true;
		flag_show_dead=true;
	    }
	}

	set_styles();
}

function check_interbox() {
	var hi = document.getElementById("hideinter_checkbox");

	if (!hi)
	  return;

	if (get_cookie("hide_inter") == "true") {
		hi.checked = true;
		flag_show_inter=false;
	} else {
		hi.checked = false;
		flag_show_inter=true;
	}

	process_update_table("updatetable");
}


function get_cookie( name ) {
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;

	if ( ( !start ) && 
	     ( name != document.cookie.substring( 0, name.length ) ) ) {
		return null;
	}

	if ( start == -1 ) return null;

	var end = document.cookie.indexOf( ";", len );

	if ( end == -1 ) end = document.cookie.length;

	return unescape( document.cookie.substring( len, end ) );
}
	
function delete_note(n) {
	if (confirm("The note will be deleted. Proceed?")) {
		var url = "/delete_note.yaws?id="+document.e.id.value+
			  "&note="+n+"&url="+document.e.url.value;
		document.location = url;
	} 
}

Wine = {
  request: function(url, pars, fun) {
    var response = function(origRequest) {
      var val;

      try {
	val = eval("("+origRequest.responseText+")");
      } catch (e) {val = {error: "bad response"}}

      if (fun) fun(val);
    };

    new Ajax.Request("/"+url, 
                     { method : 'get',
		       parameters: pars,
		       onComplete: response });
  },
  wineTable: function(Date, Sort1, Sort2, Sort3, fun) {
	var pars = 'date='+Date+"&sort1="+Sort1+
		   "&sort2="+Sort2+"&sort3="+Sort3;
	Wine.request('wine_a.yaws', pars, fun);
  }
}

function add_to_list(idstr) {
    pars = 'id='+idstr;
    new Ajax.Request("/add_to_list2.yaws", 
                     { method: 'get', parameters: pars });
    return false;
}
		

function top_list() {
  new Ajax.Updater("content", 
		   "/top_list2.yaws?sort1=value_poly&sort2=-&"+
		   "sort3=-&from=1&to=100", 
                   { method: 'get', onComplete: check_checkboxes});
}

function list_users() {
  new Ajax.Updater("content", "/list_users2.yaws", { method: 'get'});
}

function list_users() {
  new Ajax.Updater("content", "/list_subs2.yaws", { method: 'get'});
}

function update() {
   document.e.atype.value = 'set';
   document.e.submit();
}

function hide_archive(yearmonth) {
	var v = document.getElementById("avis"+yearmonth);
	var h = document.getElementById("ahid"+yearmonth);

	if (!(v && h)) return;

	v.style.display = "none";
	h.style.display = "block";

	var arch = get_cookie("avis");
	if (arch == null) arch="";
	var vis = arch.split(",");
	var i;

	for(i=0 ; i < vis.length ; i++) {
		if (vis[i] == yearmonth) 
			break;
	}

	if (i < vis.length) {
		vis.splice(i, 1);
	        document.cookie="avis="+vis.join(",")+"; Path=/";
	}
}

function unhide_archive(yearmonth) {
	var v = document.getElementById("avis"+yearmonth);
	var h = document.getElementById("ahid"+yearmonth);

	if (!(v && h)) return;

	v.style.display = "block";
	h.style.display = "none";

	var arch = get_cookie("avis");
	if (arch == null) arch = "";
	var vis = arch.split(",");
	var i;

	for(i=0 ; i < vis.length ; i++) {
		if (vis[i] == yearmonth) 
			break;
	}

	if (i == vis.length) {
		if (arch == "")
	            document.cookie="avis="+yearmonth+"; Path=/";
		else {
	            document.cookie="avis="+arch+","+yearmonth+"; Path=/";
		}
	}
}

function check_archive() {
	var arch = get_cookie("avis");
	var vis = arch.split(",");

	for(i=0 ; i < vis.length ; i++) {
	    unhide_archive(vis[i]);	
	}
}

