var __language_cookie_time = 1000*60*60*24*1;
var __language_key = "language_lang"

// Location URL to selection language page.
function __language_location(lang) {
	// Parse current URL
	document.URL.match(/(^http:\/\/[^/]*\/)(jp\/|en\/|cn\/|)(.*)/); 
	// $2 means ignore language directory
	var root_addr = RegExp.$1;
	var curr_addr = RegExp.$3;

	// Location URL
	location.href = root_addr + lang + '/' + curr_addr;
}

// Set cookie.
function __language_set_cookie(lang) {
	// Cookie timeout
	var exp = new Date();
	exp.setTime(exp.getTime() + __language_cookie_time);
	// Language
	var val = escape(lang)

	// Set cookie
	document.cookie = __language_key + "=" + val + "; path=/; expires=" + exp.toGMTString();
}

// Get cookie.
function __language_get_cookie() {
	// Parse cookie data by delimiter
	var vals = document.cookie.split("; ");

	var i = 0;
	while(vals[i]) {
		// Parse cookie-component
		vals[i].match(/([^=]*)=(.*)/);
		var key = RegExp.$1;
		var val = RegExp.$2;
		// Return language if language key find
		if(key == __language_key && val.search(/jp|en|cn/) != -1) { 
			return val;
		}
		i++;
	}
	return "";
}

// Delete cookie.
function __language_delete_cookie() {
	// Past time
	var exp = new Date();
	exp.setYear(exp.getYear() - 1);

	// Delete cookie
	document.cookie = __language_key + "=" + "; path=/; expires=" + exp.toGMTString();
}

// Location href by menu.
function language_location_by_menu() {
	// Get selection language
	var lang = document.language_form.language_menu.value;
	__language_delete_cookie();
	__language_set_cookie(lang);

	// Location URL
	__language_location(lang);
}

function language_location_by_anchor(lang) {
	// Get language
	__language_delete_cookie();
	__language_set_cookie(lang);

	// Location URL
	__language_location(lang);
	//location.reload(true);
}


// Auto location href by cookie data.
var saved_lang = __language_get_cookie();
if(saved_lang != "") {
	// Parse current URL
	document.URL.match(/^http:\/\/[^/]*\/([^/]*)/);
	var lang_dir = RegExp.$1;
	// Location URL if mismatch cookie data and language directory
	if(saved_lang != lang_dir) {
		__language_location(saved_lang);
	}
}
