var id = 1;
var dom = new Array("www.mojeek.co.uk", "www.mojeek.com");
var lnm = new Array("logo_a_xs_uk.gif", "logo_a_xs.gif");

var br = "<br>";
var tr_se = "</tr>\n<tr>\n";

var sm = "<small style=\"font-size: 11px;\">";
var smw = "<small style=\"color: #fff; font-size: 11px;\">";
var sm_e = "</small>";

function f_table(bg, width)
{
	var str = "<table cellspacing=\"0\" style=\"";

	if (bg)
		str += ("background: #2b3d56 url(http://" + dom[id] + "/logos/logo_a_xs_back.gif) top left repeat-x; border-top: 8px solid #465f88; ");

	return (str + "width: " + width + "px;\">\n<tr>\n");
}

function f_td(va, ta, pad)
{
	var str = "<td style=\"background: transparent; border: none;";

	str += (" padding: " + pad + ";");

	if (ta)
		str += " text-align: right;";
	else
		str += " text-align: left;";

	str += " width: auto;";

	if (va)
		return (str + "\" valign=\"middle\">");
	else
		return (str + "\">");
}

function f_logo(logo_type)
{
	var str = ("<a href=\"http://" + dom[id] + "/\"><img src=\"http://" + dom[id] + "/logos/");

	if (!logo_type)
		str += "logo_1_xs.jpg\" border=\"0\" width=\"128\" height=\"53\" alt=\"mojeek";
	else if (logo_type == 1)
		str += (lnm[id] + "\" border=\"0\" width=\"138\" height=\"40\" alt=\"mojeek");
	else
		str += "logo_c_173x56.jpg\" border=\"0\" width=\"173\" height=\"56\" alt=\"mojeek";

	if (!id)
		str += " uk";

	str += "\"></a>";

	if (logo_type == 1)
		str += "</td>\n";

	return str;
}

function f_input(styled, imarg, width, smarg)
{
	var str = "<input maxlength=\"256\" name=\"q\" style=\"";

	if (styled)
		str += "border: 1px solid #000; ";

	str += ("margin: " + imarg + "; width: " + width + "px;\">");
	str += "<input type=\"submit\" value=\"Search\" style=\"";

	if (styled)
		str += "background: #bff7f1 none; border: 1px solid #000; color: #2d3d57; ";

	return (str + "margin: " + smarg + "; width: 70px;\">");
}

function f_pow(dark, mps)
{
	var str = "";

	if (dark)
		str = smw;
	else
		str = sm;

	str += ("Powered by <a href=\"http://" + dom[id] + "/\"");

	if (dark)
		str += " style=\"color: #bff7f1;\"";

	str += ">Mojeek</a>";

	if (mps) {
		str += (" <a href=\"http://" + dom[id] + "/mps\"");
		if (dark)
			str += " style=\"color: #bff7f1;\"";
		str += ">Personal Search</a>";
	}

	return (str + sm_e);
}

function sel_opt(styled, marg)
{
	var str = "<select name=\"r\" style=\"";
	var selected = false;

	if (styled)
		str += "border: 1px solid #000; ";

	str += ("margin: " + marg + "; width: 100%;\">");

	if (!document.getElementById("web_caption").disabled) {
		str += "<option value=\"\" selected=\"selected\">";
		str += document.getElementById("web_caption").value + "</option>";
		selected = true;
	}

	if (!document.getElementById("uk_caption").disabled) {
		if (selected)
			str += "<option value=\"reg=uk\">";
		else
			str += "<option value=\"reg=uk\" selected=\"selected\">";
		str += document.getElementById("uk_caption").value + "</option>";
		selected = true;
	}

	if (!document.getElementById("site_caption").disabled) {
		str += ("<option value=\"" + document.getElementById("site_url").value + "\"");
		if (!selected)
			str += " selected=\"selected\"";
		str += (">" + document.getElementById("site_caption").value + "</option>");
		selected = true;
	}

	if (!document.getElementById("mps_caption").disabled) {
		str += ("<option value=\"mps=" + document.getElementById("mps_name").value + "\"");
		if (!selected)
			str += " selected=\"selected\"";
		str += (">" + document.getElementById("mps_caption").value + "</option>");
	}

	str += "</select>";

	if (!document.getElementById("mps_caption").disabled) {
		str += "<input type=\"hidden\" name=\"custom\" value=\"1\" />";
		str += ("<input type=\"hidden\" name=\"cmps\" value=\"" + document.getElementById("mps_name").value + "\" />");
	}

	return (str);
}

function rad_opt(w, n_options)
{
	var str = "";
	var checked = false;

	if (w)
		str = smw;
	else
		str = sm;

	if (!document.getElementById("web_caption").disabled) {
		str += "<input type=\"radio\" name=\"r\" value=\"\" checked=\"checked\">";
		str += document.getElementById("web_caption").value + " ";
		checked = true;
	}

	if (!document.getElementById("uk_caption").disabled) {
		if (checked)
			str += "<input type=\"radio\" name=\"r\" value=\"reg=uk\">";
		else
			str += "<input type=\"radio\" name=\"r\" value=\"reg=uk\" checked=\"checked\">";
		str += document.getElementById("uk_caption").value + " ";
		checked = true;
	}

	if (n_options > 3)
		str += "<br>";

	if (!document.getElementById("site_caption").disabled) {
		str += ("<input type=\"radio\" name=\"r\" value=\"" + document.getElementById("site_url").value);
		if (checked)
			str += "\">";
		else
			str += "\" checked=\"checked\">";
		str += document.getElementById("site_caption").value + " ";
		checked = true;
	}

	if (!document.getElementById("mps_caption").disabled) {
		str += ("<input type=\"radio\" name=\"r\" value=\"mps=" + document.getElementById("mps_name").value);
		if (checked)
			str += "\">";
		else
			str += "\" checked=\"checked\">";
		str += document.getElementById("mps_caption").value;
		str += "<input type=\"hidden\" name=\"custom\" value=\"1\" />";
		str += ("<input type=\"hidden\" name=\"cmps\" value=\"" + document.getElementById("mps_name").value + "\" />");
	}

	return (str + sm_e);
}

function join_form(n_options, box)
{
	var mps = !document.getElementById("mps_caption").disabled;
	var str = ("<!-- Mojeek Search -->\n<center>\n<form method=\"get\" action=\"http://" + dom[id] + "/search\">\n");
	var styled = 0;

	if (box % 2)
		styled = 1;

	switch (box) {
	case 0:
	case 1:
		str += (f_table(0, 442) + f_td(0, 0, 0) + f_logo(0) + f_td(1, 0, 0));
		str += f_input(styled, "0 5px 0 0", 235, 0);
		break;
	case 2:
	case 3:
		str += (f_table(0, 442) + f_td(0, 0, 0) + f_logo(0) + f_td(1, 0, 0));
		str += (f_input(styled, "0 5px 0 0", 235, 0) + br + rad_opt(0, n_options));
		break;
	case 4:
	case 5:
		str += (f_table(0, 372) + f_td(0, 0, 0) + f_logo(0) + f_td(1, 0, 0));
		str += (f_input(styled, "0 5px 0 0", 165, 0) + br + sel_opt(styled, "5px 0 0 0"));
		break;
	case 6:
	case 7:
		str += (f_table(1, 468) + f_td(0, 0, "0 0 8px 8px") + f_logo(1) + f_td(0, 0, "8px 8px 0 0"));
		str += f_input(styled, "0 5px 0 0", 235, 0);
		break;
	case 8:
	case 9:
		str += (f_table(1, 330) + f_td(0, 0, "0 0 0 8px") + f_logo(1) + tr_se);
		str += (f_td(0, 0, "3px 8px 8px 8px") + f_input(styled, "0 5px 0 0", 235, 0));
		break;
	case 10:
	case 11:
		str += (f_table(1, 468) + f_td(0, 0, "0 0 8px 8px") + f_logo(1) + f_td(0, 0, "3px 8px 8px 0"));
		str += (f_input(styled, "0 5px 0 0", 235, 0) + br + rad_opt(1, n_options));
		break;
	case 12:
	case 13:
		str += (f_table(1, 330) + f_td(0, 0, "0 0 0 8px") + f_logo(1) + tr_se);
		str += (f_td(0, 0, "3px 8px 8px 8px") + f_input(styled, "0 5px 0 0", 235, 0) + br);
		str += rad_opt(1, n_options);
		break;
	case 14:
	case 15:
		str += (f_table(1, 401) + f_td(0, 0, "0 3px 8px 8px") + f_logo(1) + f_td(0, 0, "0 8px 8px 0"));
		str += (f_input(styled, "0 5px 0 0", 165, 0) + br + sel_opt(styled, "5px 0 0 0"));
		break;
	case 16:
	case 17:
		str += (f_table(1, 260) + f_td(0, 0, "0 0 0 8px") + f_logo(1) + tr_se);
		str += (f_td(0, 0, "3px 8px 8px 8px") + f_input(styled, "0 5px 0 0", 165, 0) + br);
		str += sel_opt(styled, "5px 0 0 0");
		break;
	case 18:
	case 19:
		str += (f_table(0, 279) + f_td(0, 0, 0) + f_input(styled, "0 5px 3px 0", 200, "0 0 3px 0") + br);
		str += f_pow(0, mps);
		break;
	case 20:
	case 21:
		str += (f_table(1, 295) + f_td(0, 0, "0 8px 8px 8px"));
		str += (f_input(styled, "0 5px 3px 0", 200, "0 0 3px 0") + br + f_pow(1, mps));
		break;
	case 22:
	case 23:
		str += (f_table(0, 314) + f_td(0, 0, 0) + f_pow(0, mps) + br);
		str += (f_input(styled, "3px 5px 0 0", 235, 0) + br + rad_opt(0, n_options));
		break;
	case 24:
	case 25:
		str += (f_table(1, 330) + f_td(0, 0, "0 8px 8px 8px") + f_pow(1, mps) + br);
		str += (f_input(styled, "3px 5px 0 0", 235, 0) + br + rad_opt(1, n_options));
		break;
	case 26:
	case 27:
		str += (f_table(0, 244) + f_td(0, 1, 0) + f_input(styled, "0 5px 0 0", 165, 0) + br);
		str += (sel_opt(styled, "5px 0 3px 0") + br + f_pow(0, mps));
		break;
	case 28:
	case 29:
		str += (f_table(1, 260) + f_td(0, 1, "0 8px 8px 8px") + f_input(styled, "0 5px 0 0", 165, 0) + br);
		str += (sel_opt(styled, "5px 0 3px 0") + br + f_pow(1, mps));
		break;
	case 30:
	case 31:
		str += (f_table(0, 503) + f_td(0, 0, "0") + f_logo(2) + f_td(0, 0, "16px 0 0 0"));
		str += f_input(styled, "0 5px 0 0", 235, 0);
		break;
	case 32:
	case 33:
		str += (f_table(0, 331) + f_td(0, 0, "0 0 0 8px") + f_logo(2) + tr_se);
		str += (f_td(0, 0, "3px 8px 8px 8px") + f_input(styled, "0 5px 0 0", 235, 0));
		break;
	case 34:
	case 35:
		str += (f_table(0, 507) + f_td(0, 0, "0 4px 8px 8px") + f_logo(2) + f_td(0, 0, "3px 8px 8px 0"));
		str += (f_input(styled, "0 5px 0 0", 235, 0) + br + rad_opt(0, n_options));
		break;
	case 36:
	case 37:
		str += (f_table(0, 331) + f_td(0, 0, "0 0 0 8px") + f_logo(2) + tr_se);
		str += (f_td(0, 0, "3px 8px 8px 8px") + f_input(styled, "0 5px 0 0", 235, 0) + br);
		str += rad_opt(0, n_options);
		break;
	case 38:
	case 39:
		str += (f_table(0, 436) + f_td(0, 0, "0 3px 8px 8px") + f_logo(2) + f_td(0, 0, "2px 8px 8px 0"));
		str += (f_input(styled, "0 5px 0 0", 165, 0) + br + sel_opt(styled, "5px 0 0 0"));
		break;
	case 40:
	case 41:
		str += (f_table(0, 261) + f_td(0, 0, "0 0 0 8px") + f_logo(2) + tr_se);
		str += (f_td(0, 0, "3px 8px 8px 8px") + f_input(styled, "0 5px 0 0", 165, 0) + br);
		str += sel_opt(styled, "5px 0 0 0");
		break;
	}

	return (str + "</td>\n</tr>\n</table>\n</form>\n</center>\n<!-- Mojeek Search -->\n");
}

function construct_form(n_options)
{
	var box = 10;

	if (document.getElementById("logo_standard").checked == true) {
		if (!n_options) {
			if (document.getElementById("style_simple").checked == true)
				box = 0;
			else
				box = 1;
		} else if (document.getElementById("option_radio").checked == true) {
			if (document.getElementById("style_simple").checked == true)
				box = 2;
			else
				box = 3;
		} else if (document.getElementById("style_simple").checked == true) {
			box = 4;
		} else {
			box = 5;
		}
	} else if (document.getElementById("logo_a").checked == true) {
		if (!n_options) {
			if (document.getElementById("extra_true").checked == true) {
				if (document.getElementById("style_simple").checked == true)
					box = 6;
				else
					box = 7;
			} else if (document.getElementById("style_simple").checked == true) {
				box = 8;
			} else {
				box = 9;
			}
		} else if (document.getElementById("option_radio").checked == true) {
			if (document.getElementById("extra_true").checked == true) {
				if (document.getElementById("style_simple").checked == true)
					box = 10;
				else
					box = 11;
			} else if (document.getElementById("style_simple").checked == true) {
				box = 12;
			} else {
				box = 13;
			}
		} else if (document.getElementById("extra_true").checked == true) {
			if (document.getElementById("style_simple").checked == true)
				box = 14;
			else
				box = 15;
		} else if (document.getElementById("style_simple").checked == true) {
			box = 16;
		} else {
			box = 17;
		}
	} else if (document.getElementById("logo_c").checked == true) {
		if (!n_options) {
			if (document.getElementById("extra_true").checked == true) {
				if (document.getElementById("style_simple").checked == true)
					box = 30;
				else
					box = 31;
			} else if (document.getElementById("style_simple").checked == true) {
				box = 32;
			} else {
				box = 33;
			}
		} else if (document.getElementById("option_radio").checked == true) {
			if (document.getElementById("extra_true").checked == true) {
				if (document.getElementById("style_simple").checked == true)
					box = 34;
				else
					box = 35;
			} else if (document.getElementById("style_simple").checked == true) {
				box = 36;
			} else {
				box = 37;
			}
		} else if (document.getElementById("extra_true").checked == true) {
			if (document.getElementById("style_simple").checked == true)
				box = 38;
			else
				box = 39;
		} else if (document.getElementById("style_simple").checked == true) {
			box = 40;
		} else {
			box = 41;
		}
	} else if (!n_options) {
		if (document.getElementById("extra_true").checked == true) {
			if (document.getElementById("style_simple").checked == true)
				box = 18;
			else
				box = 19;
		} else if (document.getElementById("style_simple").checked == true) {
			box = 20;
		} else {
			box = 21;
		}
	} else if (document.getElementById("option_radio").checked == true) {
		if (document.getElementById("extra_true").checked == true) {
			if (document.getElementById("style_simple").checked == true)
				box = 22;
			else
				box = 23;
		} else if (document.getElementById("style_simple").checked == true) {
			box = 24;
		} else {
			box = 25;
		}
	} else if (document.getElementById("extra_true").checked == true) {
		if (document.getElementById("style_simple").checked == true)
			box = 26;
		else
			box = 27;
	} else if (document.getElementById("style_simple").checked == true) {
		box = 28;
	} else {
		box = 29;
	}

	return (join_form(n_options, box));
}

function rewrite(dcom)
{
	var str;
	var options = 0;
	var ta_start = "<textarea rows=\"8\" wrap=\"virtual\">";
	var ta_end = "</textarea>";

	if (dcom)
		id = 1;
	else
		id = 0;

	if (!document.getElementById("web_caption").disabled)
		options++;
	if (!document.getElementById("uk_caption").disabled)
		options++;
	if (!document.getElementById("site_caption").disabled)
		options++;
	if (!document.getElementById("mps_caption").disabled)
		options++;

	if (!options) {
		document.getElementById("option_radio").disabled = true;
		document.getElementById("option_dropdown").disabled = true;
	} else {
		document.getElementById("option_radio").disabled = false;
		document.getElementById("option_dropdown").disabled = false;
	}

	if (document.getElementById("logo_standard").checked == true) {
		document.getElementById("extra_true").disabled = true;
		document.getElementById("extra_false").disabled = true;
	} else if (document.getElementById("logo_a").checked == true) {
		document.getElementById("extra_true").disabled = false;
		document.getElementById("extra_false").disabled = false;
		document.getElementById("extra_header").innerHTML = "Logo Position";
		document.getElementById("extra_true_text").innerHTML = "Side";
		document.getElementById("extra_false_text").innerHTML = "Top";
	} else if (document.getElementById("logo_c").checked == true) {
		document.getElementById("extra_true").disabled = false;
		document.getElementById("extra_false").disabled = false;
		document.getElementById("extra_header").innerHTML = "Logo Position";
		document.getElementById("extra_true_text").innerHTML = "Side";
		document.getElementById("extra_false_text").innerHTML = "Top";
	} else {
		document.getElementById("extra_true").disabled = false;
		document.getElementById("extra_false").disabled = false;
		document.getElementById("extra_header").innerHTML = "Background";
		document.getElementById("extra_true_text").innerHTML = "Light";
		document.getElementById("extra_false_text").innerHTML = "Dark";
	}

	str = construct_form(options);
	document.getElementById("copy_and_paste").innerHTML = ta_start + str + ta_end;
	document.getElementById("search_box_preview").innerHTML = str;
}

function disable(e, dcom)
{
	if (dcom)
		id = 1;
	else
		id = 0;
	document.getElementById(e).disabled = true;
	rewrite(dcom);
}

function enable(e, dcom)
{
	if (dcom)
		id = 1;
	else
		id = 0;
	document.getElementById(e).disabled = false;
	rewrite(dcom);
}
