/// <reference path="ix.js"/>
/// Support Visual Studio Intellisence.

///////////////////////////////////////////////////////////////////////////
// site global values.
///////////////////////////////////////////////////////////////////////////
var IMAGE_DIR = "res";

///////////////////////////////////////////////////////////////////////////
// site global functions.
///////////////////////////////////////////////////////////////////////////
// for debug.
function AbsoluteUri(url) {
	// set debug host.
	var appPath = "/WebSite1.0";
	var d = new Array("localhost");
	// end setting values.
	var l = location.hostname.toLowerCase();
	var dmode = false;
	for (var u in d) {
		if (d[u].toLowerCase() == l) {
			dmode = true;
			break;
		}
	}
	if (dmode) appPath = appPath + "/";
	else appPath = "/";
	return location.protocol + "//" + location.host + appPath + url;
}
function UnvisibleLoadingProgress() {
	// setting values.
	var progId = "MainProgress";
	// end setting values.
	var elm = ixElmId(progId);
	if(!ixIsNull(elm)) elm.style.visibility = 'hidden';
}
ixAddEvent(window, 'load', UnvisibleLoadingProgress);

///////////////////////////////////////////////////////////////////////////
// maker search.
///////////////////////////////////////////////////////////////////////////
var SEARCH_MAKER_ID = "InputSearchMaker";
var SEARCH_MAKER_DISABLE_VALUE = "メーカー名を入力";
var SEARCH_MAKER_PARAM = "cn";
function SearchMaker() {
	// setting values.
	var redirect_url = "search/items.aspx";
	// end setting values.
	var value = ixInputValue(SEARCH_MAKER_ID);
	if (ixIsNull(value)) return;
	redirect_url = AbsoluteUri(redirect_url);
	location.href = redirect_url + "?" + SEARCH_MAKER_PARAM + "=" + encodeURI(value);
	return false;
}
function SearchMakerFocus() {
	var elm = ixElm(SEARCH_MAKER_ID);
	if (elm == undefined) return;
	if (elm.value != SEARCH_MAKER_DISABLE_VALUE) return;
	elm.style.color = "#000";
	elm.value = "";
}
function SearchMakerBlur() {
	var elm = ixElm(SEARCH_MAKER_ID);
	if (elm == undefined) return;
	if (!ixIsNull(elm.value)) return;
	elm.style.color = "#999";
	elm.value = SEARCH_MAKER_DISABLE_VALUE;
}
function InitSearchMaker() {
	var elm = ixElm(SEARCH_MAKER_ID);
	if (elm == undefined) return;
	ixRemoveEvent(elm, 'focus', SearchMakerFocus);
	ixRemoveEvent(elm, 'blur', SearchMakerBlur);
	ixAddEvent(elm, 'focus', SearchMakerFocus);
	ixAddEvent(elm, 'blur', SearchMakerBlur);
	var param = ixRequestQueryParameter(SEARCH_MAKER_PARAM);
	if (!ixIsNull(param)) {
		try {
			param = decodeURI(param);
		} catch (e) {
			/*
			try {
				param = unescape(param);
			} catch (e1) {
				param = undefined;
			}
			*/
			param = undefined;
		}
		if (!ixIsNull(param)) {
			elm.style.color = "#000";
			elm.value = param;
			return;
		}
	}
	elm.style.color = "#999";
	elm.value = SEARCH_MAKER_DISABLE_VALUE;
}
ixAddEvent(window, 'load', InitSearchMaker);

///////////////////////////////////////////////////////////////////////////
// top page random image functions.
///////////////////////////////////////////////////////////////////////////
/// const values.
var TOP_MAIN_IMAGE_PREFIX = "TopMainImg";
var TOP_USER_IMAGE_PREFIX = "TopUserImg";

/// random image functions.
function TopRandomImage(outer) {
	/// setting value.
	var readtext = IMAGE_DIR + "/top_images.csv";
	var waitImg = IMAGE_DIR + "/icon_circle_ball_green.gif";
	var bgImg = IMAGE_DIR + "/top_main_back{0}.jpg";
	// end setting values.
	var h = "";
	var t = ixCreateTag("img", TOP_MAIN_IMAGE_PREFIX, TOP_MAIN_IMAGE_PREFIX, "", null, { "src": waitImg }, false, true);
	h = ixCreateTag("td", "", "", t);
	h = ixCreateTag("tr", "", "", h);
	h = ixCreateTag("table", TOP_MAIN_IMAGE_PREFIX + "Container", "", h, "", { "border": "0", "cellspacing": "0", "cellpadding": "0" });
	
	t = "";
	for (var i = 0; i < 2; i++) {
		var td = ""; 
		for(var j = 0; j < 6; j++) {
			var imgtag =
				ixCreateTag("img", TOP_USER_IMAGE_PREFIX + ((i * 6) + j + 1), "", "", null, { "src": waitImg }, false, true);
			td += ixCreateTag("td", "", "", imgtag, "", "", false);
		}
		t += ixCreateTag("tr", "", "", td);
	}
	t = ixCreateTag("table", TOP_USER_IMAGE_PREFIX, "", t, "", { "border": "0", "cellspacing": "1", "cellpadding": "0" });
	
	var bg = bgImg.replace(/\{0\}/, ixMathRundomInt(1, 5));
	h += ixCreateTag("div", TOP_USER_IMAGE_PREFIX + "Container", TOP_USER_IMAGE_PREFIX + "Container", t, { "background-image": "url(" + bg + ")" });
	outer = ixElm(outer);
	outer.innerHTML = h;

	ixAjaxRequest(readtext,
		TopCallbackSuccessfulRandomImage, TopCallbackfailedRandomImage, [outer]);
}
function TopCallbackSuccessfulRandomImage(ajax, elm) {
	/// setting value.
	var iniMain = "MainImage";
	var iniUser = "UserImage";
	var imgdir = IMAGE_DIR + "/";
	
	var i;
	var readtext = ixTrim(ajax.responseText);
	var readtexts = readtext.split("\n");
	var imgs = new Array();
	var label = "";
	for (i = 0; i < readtexts.length; i++) {
		var s = ixTrim(readtexts[i]).replace(/,{2,}/, "");
		if (ixIsNull(s)) continue;
		if (s == "[" + iniMain + "]") {
			label = iniMain;
			imgs[label] = new Array(0);
			continue;
		} else if (s == "[" + iniUser + "]") {
			label = iniUser;
			imgs[label] = new Array(0);
			continue;
		}
		var texts = s.split(",");
		imgs[label].push(new Array(ixTrim(texts[0]), ixTrim(texts[1]), ixTrim(texts[2])));
	}

	var nMain = ixMathRundomInt(0, imgs[iniMain].length - 1);
	var nUsers = new Array(0);
	for (i = 0; i < imgs[iniUser].length; i++)
		nUsers.push(i);
	nUsers = ixMathShuffle(nUsers, 12);

	var pnt;
	var eMain = ixElm(TOP_MAIN_IMAGE_PREFIX);
	eMain.src = imgdir + imgs[iniMain][nMain][0];
	eMain.alt = imgs[iniMain][nMain][2];
	eMain.title = imgs[iniMain][nMain][2];
	pnt = eMain.parentNode;
	pnt.innerHTML =
		ixCreateTag("a", "", "", pnt.innerHTML, "", { "href": imgs[iniMain][nMain][1] }, false);
	for (i = 0; i < 12; i++) {
		var eUser = ixElmId(TOP_USER_IMAGE_PREFIX + (i + 1));
		eUser.src = imgdir + imgs[iniUser][nUsers[i]][0];
		eUser.alt = imgs[iniUser][nUsers[i]][2];
		eUser.title = imgs[iniUser][nUsers[i]][2];
		pnt = eUser.parentNode;
		pnt.innerHTML =
			ixCreateTag("a", "", "", pnt.innerHTML, "", { "href": imgs[iniUser][nUsers[i]][1] }, false);
	}
}
function TopCallbackfailedRandomImage(ajax, elm) {}