
active_bgcol = '#FFFFEE';
default_bgcol = '#ffffff';

mnn = new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
wdn = new Array('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat');

function make() {
	bg_change();
	f = document.meta;
	val = "";
	t1 = "<"
	t2 = (f.mode[0].checked) ? " />\n" : ">\n";
	if(f.charset.checked) val += make_charset();
	if(f.description.checked) val += make_meta_nc('description');
	if(f.keywords.checked) val += make_meta_nc('keywords');
	if(f.robots.checked) val += make_robots();
	if(f.expires.checked) val += make_expires();
	if(f.home.checked) val += make_link('home');
	if(f.index.checked) val += make_link('index');
	if(f.copyright.checked) val += make_link('copyright');
	if(f.author.checked) val += make_link('author');
	if(f.made.checked) val += make_link('made');

	f.disp.value = val;
}

function bg_change(p, n) {
	if(p && n) {
		col = (n) ? active_bgcol : default_bgcol;
		document.getElementById(p).style.background = col;
	}
	else {
		for(i = 0; i < DLlist.length; i ++)
			if(DLlist[i].id.match(/^DL/))
				DLlist[i].style.background = default_bgcol;
	}
}

function make_charset() {
	v = f.code.options[f.code.selectedIndex].value;
	if(v) {
		bg_change('DLcharset', 1);
		return t1 + 'meta http-equiv="Content-Type" content="text/html; charset=' + v + '"' + t2;
	}
	return "";
}

function make_meta_nc(n) {
	v = f.elements[n + '_val'].value;
	v = v.replace(/[\r\n]/g, '');
	v = v.replace(/@/g, ' ');
	v = v.replace(/ +/g, ' ');
	v = v.replace(/^ | $/g, '');
	f.elements[n + '_val'].value = v;
	if(v) {
		bg_change('DL' + n, 1);
		return t1 + 'meta name="' + n + '" content="' + v + '"' + t2;
	}
	return "";
}

function make_robots() {
	v = "";
	if(f.robots1[0].checked) v += ",index";
	if(f.robots1[1].checked) v += ",noindex";
	if(f.robots2[0].checked) v += ",follow";
	if(f.robots2[1].checked) v += ",nofollow";
	if(f.robots3.checked) v += ",noimageindex";
	if(f.robots4.checked) v += ",noimageclick";
	v = v.replace(/^,/, '');
	if(v) {
		bg_change('DLrobots', 1);
		return t1 + 'meta name="robots" content="' + v + '"' + t2;
	}
	return "";
}

function make_expires() {
	v = "";
	if(f.expires_mode[0].checked) {
		d = new Date(
			f.year.options[f.year.selectedIndex].value,
			f.month.options[f.month.selectedIndex].value - 1,
			f.date.options[f.date.selectedIndex].value,
			f.hour.options[f.hour.selectedIndex].value,
			f.minute.options[f.minute.selectedIndex].value,
			f.second.options[f.second.selectedIndex].value
		);
		y = d.getYear(); if(y < 1900) y += 1900;
		m = mnn[d.getMonth()];
		dt = d.getDate(); if(dt < 10) dt = "0" + dt;
		wd = wdn[d.getDay()] + ",";
		h = d.getHours(); if(h < 10) h = "0" + h;
		mn = d.getMinutes(); if(mn < 10) mn = "0" + mn;
		s = d.getSeconds(); if(s < 10) s = "0" + s;
		gmt = wd + " " + dt + " " + m + " " + y + " " + h + ":" + mn + ":" + s + " GMT";
		v = t1 + 'meta http-equiv="Expires" content="' + gmt + '"' + t2;
		bg_change('DLexpires', 1);
	}
	else {
		v = t1 + 'meta http-equiv="Pragma" content="no-cache"' + t2
		  + t1 + 'meta http-equiv="Cache-Control" content="no-cache"' + t2
		  + t1 + 'meta http-equiv="Expires" content="Thu, 01 Dec 1994 16:00:00 GMT"' + t2;
	}
	return v;
}

function make_link(n) {
	lv = (n == 'made') ? 'rev' : 'rel'
	v1 = f.elements[n + '_href'].value;
	v1 = (n == 'made') ? v1.replace(/^(mailto:)+/i, '') : v1.replace(/^(http:\/\/)+/i, '');
	v1 = (n == 'made' && v1) ? 'mailto:' + v1 : (v1) ? 'http://' + v1 : '';
	v2 = f.elements[n + '_title'].value;
	v2 = (v2) ? ' title="' + v2 + '"' :'';
	if(v1) {
		bg_change('DL' + n, 1);
		f.elements[n + '_href'].value = v1;
		return t1 + 'link ' + lv + '="' + n + '" href="' + v1 + '"' + v2 + t2;
	}
	return "";
}

function print_opt_y() {
	d = new Date();
	y = d.getYear();
	if(y < 1900) y += 1900;
	doc = "<select name=year>";
	for(i = y; i <= y + 10; i ++) {
		s = (i == y) ? " selected=selected" : "";
		doc += "<option value='" + i + "'" + s + ">" + i;
	}
	doc += "</select>";
	document.write(doc);
}

function print_opt_m() {
	d = new Date();
	m = d.getMonth() + 1;
	doc = "<select name=month>";
	for(i = 1; i <= 12; i ++) {
		s = (i == m) ? " selected=selected" : "";
		doc += "<option value='" + i + "'" + s + ">" + i;
	}
	doc += "</select>";
	document.write(doc);
}

function print_opt_d() {
	d = new Date();
	d = d.getDate();
	doc = "<select name=date>";
	for(i = 1; i <= 31; i ++) {
		s = (i == d) ? " selected=selected" : "";
		doc += "<option value='" + i + "'" + s + ">" + i;
	}
	doc += "</select>";
	document.write(doc);
}

function print_opt_h() {
	d = new Date();
	h = d.getHours();
	doc = "<select name=hour>";
	for(i = 0; i <= 23; i ++) {
		s = (i == h) ? " selected=selected" : "";
		doc += "<option value='" + i + "'" + s + ">" + i;
	}
	doc += "</select>";
	document.write(doc);
}

function print_opt_mn() {
	d = new Date();
	mn = d.getMinutes();
	doc = "<select name=minute>";
	for(i = 0; i <= 59; i ++) {
		s = (i == mn) ? " selected=selected" : "";
		doc += "<option value='" + i + "'" + s + ">" + i;
	}
	doc += "</select>";
	document.write(doc);
}

function print_opt_s() {
	d = new Date();
	sec = d.getSeconds();
	doc = "<select name=second>";
	for(i = 0; i <= 59; i ++) {
		s = (i == sec) ? " selected=selected" : "";
		doc += "<option value='" + i + "'" + s + ">" + i;
	}
	doc += "</select>";
	document.write(doc);
}

function selectval() {
	this.focus();
	this.select();
}

function init() {
	document.meta.reset();
	DLlist = document.getElementById("meta").getElementsByTagName("dl");
	flist = document.meta.elements;
	for(i =0; i < flist.length; i ++) {
		if(flist[i].name == 'disp') flist[i].onclick = selectval;
		else if(flist[i].type.match(/radio|checkbox/i)) flist[i].onclick = make;
		else flist[i].onchange = make;
	}
	make();
}

onload = init;

