///////////////////////////////////////////////////////////////////////////
//
// ver.1 2008/04/15
//
///////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////
// constants
///////////////////////////////////////////////////////////////////////////
var CONTACT_LINK_SELECTOR = "#g-menu .m6 a";
var CONTACT_URL = "https://ssl.inax.co.jp/global_contact/";
var CONTACT_WINDOW_NAME = "contact";
var CONTACT_WINDOW_OPTION = "width=816, height=600, menubar=no, toolbar=no, location=no, status=no, resizable=no, scrollbars=yes";

/**
 * derive query from prev page.
 */
function deriveQuery() {
	var query = parseQuery();
	addQueryToLinks(query);
}

/**
 * rewrite contact link to popup
 */
function updateContactLink() {
	var contactLink = $(CONTACT_LINK_SELECTOR);
	contactLink.attr("href", "javascript:void(0)");
	contactLink.click(function() {
		window.open(CONTACT_URL, CONTACT_WINDOW_NAME, CONTACT_WINDOW_OPTION).focus();
	});
	contactLink.removeAttr("target", "");
}

/**
 * add GET method query to link
 * @param query query as a object have variables
 */
function addQueryToLinks(query) {
	var queryString = "";
	var i = 0;
	for (var s in query) {
		if (i > 0) {
			queryString += "&";
		} else {
			queryString += "?";
		}
		queryString += s + "=" + query[s];
		i++;
	}
	var path;
	$("a").each(function() {
		path = $(this).attr("href");
		if (path != undefined && path.indexOf("#") == -1 && path.indexOf("/") == 0) {
			$(this).attr("href", path + queryString);
		}
	});
}

/**
 * parse GET method query to object
 * @return parsed GET method query
 */
function parseQuery() {
	var result = {};
	var queryStartIndex = document.URL.indexOf("?");
	if (queryStartIndex > -1) {
		var query = document.URL.substr(queryStartIndex + 1);
		var queries = query.split("&");
		for (i = 0; i < queries.length; i++) {
			var temp = queries[i].split("=");
			result[temp[0]] = temp[1];
		}
	}
	return result;
}

/**
 * validate user flash version.
 * if valid write swf, else altid's display turn to block.
 */
function loadFlash(swfobject, swfid, altid, swfmajor, swfminor, swfrev, altCallback) {
	var fpversion = deconcept.SWFObjectUtil.getPlayerVersion();
	var validVersion = new deconcept.PlayerVersion([swfmajor, swfminor, swfrev]);
	if (fpversion.versionIsValid(validVersion)) {
		swfobject.write(swfid);
	} else {
		$("#" + altid).css({"display" : "block"});
		if (altCallback != undefined) {
			altCallback();
		}
	}
}
