﻿String.prototype.startsWith = function(t, i) { if (i==false) { return
(t == this.substring(0, t.length)); } else { return (t.toLowerCase()
== this.substring(0, t.length).toLowerCase()); } }

String.prototype.endsWith = function(t, i) { if (i==false) { return (t
== this.substring(this.length - t.length)); } else { return
(t.toLowerCase() == this.substring(this.length -
t.length).toLowerCase()); } }

String.prototype.trim = function() {
	return this.replace(/^[\s\u00A0]+|[\s\u00A0]+$/g,"");
}
String.prototype.ltrim = function() {
	return this.replace(/^[\s\u00A0]+/,"");
}
String.prototype.rtrim = function() {
	return this.replace(/[\s\u00A0]+$/,"");
}

/**
*  http://www.webtoolkit.info/
**/

var UTF8 = {
		encode : function (string) {
				string = string.replace(/\r\n/g,"\n");
				var utftext = "";

				for (var n = 0; n < string.length; n++) {

						var c = string.charCodeAt(n);

						if (c < 128) {
								utftext += String.fromCharCode(c);
						}
						else if((c > 127) && (c < 2048)) {
								utftext += String.fromCharCode((c >> 6) | 192);
								utftext += String.fromCharCode((c & 63) | 128);
						}
						else {
								utftext += String.fromCharCode((c >> 12) | 224);
								utftext += String.fromCharCode(((c >> 6) & 63) | 128);
								utftext += String.fromCharCode((c & 63) | 128);
						}

				}

				return utftext;
		},

		decode : function (utftext) {
				var string = "";
				var i = 0;
				var c = c1 = c2 = 0;

				while ( i < utftext.length ) {

						c = utftext.charCodeAt(i);

						if (c < 128) {
								string += String.fromCharCode(c);
								i++;
						}
						else if((c > 191) && (c < 224)) {
								c2 = utftext.charCodeAt(i+1);
								string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
								i += 2;
						}
						else {
								c2 = utftext.charCodeAt(i+1);
								c3 = utftext.charCodeAt(i+2);
								string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
								i += 3;
						}

				}

				return string;
		}
}

var Url = {

		// public method for url encoding
		encode : function (string) {
				return escape(UTF8.encode(string));
		},

		// public method for url decoding
		decode : function (string) {
				return UTF8.decode(unescape(string));
		}
}

var KWeb = {};
KWeb.BindLang = function()
{
	$('#mHeaderLangSPLabel menu > *').each(
		function (index, domEle) {
			if(domEle.tagName.toUpperCase() == "IE:MENUITEM")
			{
				var urlCode = $(domEle).attr("onMenuClick");
				var chkurlPara = window.location.href.indexOf('?');
				
				if (chkurlPara > 0) {
					var selSegment = window.location.href.substring(chkurlPara+1, chkurlPara.lenght);
					var endUrlCode = urlCode.indexOf("';");

					urlCode = urlCode.substring(0, endUrlCode) +"?"+ selSegment +"';";
				}
				
				var langLabel = null;
				if (urlCode.indexOf("/TH/") > 0)
					langLabel = $("#mHeaderLangTH").get(0);
				else if (urlCode.indexOf("/EN/") > 0)
					langLabel = $("#mHeaderLangEN").get(0);
				else if (urlCode.indexOf("/ZH/") > 0)
					langLabel = $("#mHeaderLangZH").get(0);
				else if (urlCode.indexOf("/JP/Pages/") > 0 || urlCode.indexOf("/JP/Personal/Pages/") > 0 || urlCode.indexOf("/JP/Business/Pages") > 0 || urlCode.indexOf("/JP/PromotionPrivileges/") > 0 || urlCode.indexOf("/JP/AboutUs/") > 0 || urlCode.indexOf("/JP/Investors/") > 0 || urlCode.indexOf("/JP/SME/Pages") > 0) 
					langLabel = $("#mHeaderLangJP").get(0);

				if (langLabel != null)
				{
					langLabel.onclick = (function (urlCode) {return function() {eval(urlCode);};})(urlCode);
					langLabel.style.cursor = 'pointer';
				}
			}
		}
	);
}

KWeb.GetCurFontSize = function(fontSize)
{
	if (fontSize == null)
		fontSize = KWeb.ReadCookie("FontSize");
	if (fontSize == null)
		fontSize = "FontNormal";
	return fontSize;
}

KWeb.InitFontSize = function()
{
	fontSize = KWeb.GetCurFontSize(null);

	var strAlternate = "alternate "
	var curAlternate = "";

	if (fontSize == "FontNormal") curAlternate = ""; else curAlternate = strAlternate ;
	var m = '<link rel="' + curAlternate + 'stylesheet" type="text/css" href="/Style%20Library/fontstyle.css" Title="FontNormal"/>';

	if (fontSize == "FontSmall") curAlternate = ""; else curAlternate = strAlternate ;
	var s = '<link rel="' + curAlternate + 'stylesheet" type="text/css" href="/Style%20Library/fontstyle-small.css" Title="FontSmall"/>';

	if (fontSize == "FontBig") curAlternate = ""; else curAlternate = strAlternate ;
	var l = '<link rel="' + curAlternate + 'stylesheet" type="text/css" href="/Style%20Library/fontstyle-large.css" Title="FontBig"/>';
	
	//if($.browser.msie)
	document.write(s+l+m);

	$(document).ready(function(){
		KWeb.SetCurFontSize(fontSize);
	});
}

KWeb.SetFontSize = function(fontSize)
{
	fontSize = KWeb.GetCurFontSize(fontSize);

	KWeb.CreateCookie("FontSize", fontSize, 1);
	var linkArr = document.getElementsByTagName("LINK");
	for ( i = 0; i < linkArr.length; i++ )
	{
		var style = linkArr[i];
		var styleTitle = style.title;
		if (styleTitle && styleTitle.indexOf("Font") == 0 )
		{
			 style.disabled = true;
			 if (styleTitle == fontSize)
				 style.disabled = false;
		}
	}

	KWeb.SetCurFontSize(fontSize);
}

KWeb.SetCurFontSize = function(fontSize)
{
	$(".mHeaderFontSize").removeClass("iActive");
	$("#mHeader" + fontSize).addClass("iActive");
}

KWeb.CreateCookie = function(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

KWeb.ReadCookie = function(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

KWeb.RandomArrayValue = function(inputArr) {
	var outputArr = [];
	var ranPos;
	var inputLen = inputArr.length;
	for(var i=0;i<inputLen;i++)
	{
		ranPos = KWeb.RandomNumber(inputArr.length - 1);
		outputArr[i] = inputArr[ranPos];
		inputArr.splice(ranPos,1);
	}
	return outputArr;
}

KWeb.RandomNumber = function(max) {
	return Math.floor((max + 1)*Math.random())
}

KWeb.Paging = function (pageCount, itemPerPage, currentPage, itemSelector, itemSepSelector, pagingContainerSelector)
{
	if(currentPage == null)
		currentPage = 1;

	var items = $(itemSelector);
	var itemSeps = null;
	if(itemSepSelector)
		itemSeps = $(itemSepSelector);
	var itemsCount = items.length;
	var totalPage = Math.ceil(itemsCount/itemPerPage);

	if (totalPage == 1)
	{
		$(pagingContainerSelector).hide();
		return;
	}

	var startPage = 1;
	if (currentPage > totalPage)
		currentPage = totalPage;

	if (totalPage > pageCount && currentPage > pageCount)
	{
		var modVal = currentPage%pageCount;
		if (modVal > 0)
			startPage = currentPage - modVal + 1;
		else
			startPage = currentPage - pageCount + 1;
	}

	var startItem = (currentPage - 1)*itemPerPage;
	var endItem = currentPage*itemPerPage;

	items.hide();
	items.slice(startItem, endItem).show();

	if (itemSeps != null)
	{
		itemSeps.hide();
		itemSeps.slice(startItem , endItem - 1).show();
	}


	$(pagingContainerSelector).html("");

	if (currentPage > 1)
	{
		var prevLink = $('<a href="#" class="iPrev">&lt</a>');
		prevLink.bind("click",(function(pageCount, itemPerPage, currentPage, itemSelector, itemSepSelector, pagingContainerSelector) { return function() {KWeb.Paging(pageCount, itemPerPage, currentPage, itemSelector, itemSepSelector, pagingContainerSelector); return false;};})(pageCount, itemPerPage, currentPage-1, itemSelector, itemSepSelector, pagingContainerSelector));
		prevLink.appendTo(pagingContainerSelector);
	}

	for(var i=0;i<pageCount;i++)
	{
		var linkPageNo = startPage+i;
		if (linkPageNo > totalPage)
			break;

		if (i>0)
			$('<span class="iSeparator">|</span>').appendTo(pagingContainerSelector);

		var pageLink = $('<a href="#" class="iNormal">' + linkPageNo + '</a>');
		if (linkPageNo == currentPage)
			pageLink.addClass("iActive");

		pageLink.bind("click",(function(pageCount, itemPerPage, currentPage, itemSelector, itemSepSelector, pagingContainerSelector) { return function() {KWeb.Paging(pageCount, itemPerPage, currentPage, itemSelector, itemSepSelector, pagingContainerSelector); return false;};})(pageCount, itemPerPage, linkPageNo, itemSelector, itemSepSelector, pagingContainerSelector));
		pageLink.appendTo(pagingContainerSelector);
	}

	if (currentPage < totalPage)
	{
		var nextLink = $('<a href="#" class="iNext">&gt</a>');
		nextLink.bind("click",(function(pageCount, itemPerPage, currentPage, itemSelector, itemSepSelector, pagingContainerSelector) { return function() {KWeb.Paging(pageCount, itemPerPage, currentPage, itemSelector, itemSepSelector, pagingContainerSelector); return false;};})(pageCount, itemPerPage, currentPage+1, itemSelector, itemSepSelector, pagingContainerSelector));
		nextLink.appendTo(pagingContainerSelector);
	}
	else
	{
		var nextLink = $('<a href="#" class="iNext" style="visibility: hidden;">&gt</a>');
		nextLink.appendTo(pagingContainerSelector);
	}
}

KWeb.YearScrollBuildByArray = function(yearNum, isNext, containerSelector, callbackFunc, yearArr, bdYear)
{
	if (KWeb.IsTH)
		bdYear = true;
	else
		bdYear = false;

	yearArr = KWeb.Util.DistinctArray(yearArr);
	var maxYearPos = yearArr.length - 1;
	var minYearPos = 0;

	var currentYear = yearArr[maxYearPos];
	var startYearPos = maxYearPos;
	var runCallbackFunc = false;

	var yearScrollContainer = $(containerSelector);
	if (yearScrollContainer.attr("startYear") != null)
	{
		currentYear = parseInt(yearScrollContainer.attr("currentYear"));
		startYearPos = parseInt(yearScrollContainer.attr("startYear"));
		if (isNext && (startYearPos - yearNum) >= minYearPos)
			startYearPos--;
		else if (!isNext && (startYearPos < maxYearPos))
			startYearPos++;
	}
	else
		runCallbackFunc = true;

	yearScrollContainer.attr("currentYear", currentYear);
	yearScrollContainer.attr("startYear", startYearPos);
	yearScrollContainer.html("");

	var prevLink = $('<span class="iPrev"><a href="#">&lt</a></span>');
	prevLink.bind("click",(function(yearNum, isNext, containerSelector, callbackFunc, yearArr, bdYear) { return function() {KWeb.YearScrollBuildByArray(yearNum, isNext, containerSelector, callbackFunc, yearArr, bdYear); return false;};})(yearNum, false, containerSelector, callbackFunc, yearArr, bdYear));
	prevLink.appendTo(containerSelector);

	for(var i=0;i<yearNum;i++)
	{
		if(startYearPos - i >= 0)
		{
			var yearVal = yearArr[startYearPos - i];
			var yearDisplay = yearVal;
			if (bdYear)
				yearDisplay = yearDisplay + 543;
			var yearLink = $('<span class="iContainer"><a href="#">' + yearDisplay + '</a></span>');
			if (yearVal == currentYear)
				yearLink.addClass("iActive");
			yearLink.bind("click",(function(yearLink, containerSelector, callbackFunc, bdYear){ return function(){ KWeb.YearScrollClick(yearLink, containerSelector, callbackFunc, bdYear); return false;};})(yearLink, containerSelector, callbackFunc, bdYear) );
			yearLink.appendTo(containerSelector);
		}
		else
		{
			var yearLink = $('<span class="iContainer"></span>');
			yearLink.appendTo(containerSelector);
		}
	}

	var nextLink = $('<span class="iNext"><a href="#">&gt</a></span>');
	nextLink.bind("click",(function(yearNum, isNext, containerSelector, callbackFunc, yearArr, bdYear) { return function() {KWeb.YearScrollBuildByArray(yearNum, isNext, containerSelector, callbackFunc, yearArr, bdYear); return false;};})(yearNum, true, containerSelector, callbackFunc, yearArr, bdYear));
	nextLink.appendTo(containerSelector);

	if (runCallbackFunc && $.isFunction(callbackFunc))
		$(document).ready(function(){
			if ($(".pEditModePanel div").length == 0)
				callbackFunc(currentYear);
		});
}

KWeb.TextScrollBuildByArray = function(yearNum, isNext, containerSelector, callbackFunc, yearArr, bdYear)
{
	if (KWeb.IsTH)
		bdYear = true;
	else
		bdYear = false;

	yearArr = KWeb.Util.DistinctArray(yearArr);
	var maxYearPos = yearArr.length - 1;
	var minYearPos = 0;

	var currentYear = yearArr[maxYearPos];
	var startYearPos = maxYearPos;
	var runCallbackFunc = false;

	var yearScrollContainer = $(containerSelector);
	if (yearScrollContainer.attr("startYear") != null)
	{
		currentYear = yearScrollContainer.attr("currentYear");
		startYearPos = yearScrollContainer.attr("startYear");
		if (isNext && (startYearPos - yearNum) >= minYearPos)
			startYearPos--;
		else if (!isNext && (startYearPos < maxYearPos))
			startYearPos++;
	}
	else
		runCallbackFunc = true;

	yearScrollContainer.attr("currentYear", currentYear);
	yearScrollContainer.attr("startYear", startYearPos);
	yearScrollContainer.html("");

	var prevLink = $('<span class="iPrev"><a href="#">&lt</a></span>');
	prevLink.bind("click",(function(yearNum, isNext, containerSelector, callbackFunc, yearArr, bdYear) { return function() {KWeb.TextScrollBuildByArray(yearNum, isNext, containerSelector, callbackFunc, yearArr, bdYear); return false;};})(yearNum, false, containerSelector, callbackFunc, yearArr, bdYear));
	prevLink.appendTo(containerSelector);

	for(var i=0;i<yearNum;i++)
	{
		if(startYearPos - i >= 0)
		{
			var yearVal = yearArr[startYearPos - i];
			var yearDisplay = yearVal;			
			var yearLink = $('<span class="iContainer"><a href="#">' + yearDisplay + '</a></span>');
			if (yearVal == currentYear)
				yearLink.addClass("iActive");
			yearLink.bind("click",(function(yearLink, containerSelector, callbackFunc, bdYear){ return function(){ KWeb.TextScrollClick(yearLink, containerSelector, callbackFunc, bdYear); return false;};})(yearLink, containerSelector, callbackFunc, bdYear) );
			yearLink.appendTo(containerSelector);
		}
		else
		{
			var yearLink = $('<span class="iContainer"></span>');
			yearLink.appendTo(containerSelector);
		}
	}

	var nextLink = $('<span class="iNext"><a href="#">&gt</a></span>');
	nextLink.bind("click",(function(yearNum, isNext, containerSelector, callbackFunc, yearArr, bdYear) { return function() {KWeb.TextScrollBuildByArray(yearNum, isNext, containerSelector, callbackFunc, yearArr, bdYear); return false;};})(yearNum, true, containerSelector, callbackFunc, yearArr, bdYear));
	nextLink.appendTo(containerSelector);

	if (runCallbackFunc && $.isFunction(callbackFunc))
		$(document).ready(function(){
			if ($(".pEditModePanel div").length == 0)
				callbackFunc(currentYear);
		});
}

KWeb.YearScrollBuild = function(yearNum, isNext, containerSelector, callbackFunc, maxYear, minYear, bdYear)
{
	if (KWeb.IsTH)
		bdYear = true;
	else
		bdYear = false;

	var currentYear = maxYear;
	var startYear = currentYear;
	var runCallbackFunc = false;

	var yearScrollContainer = $(containerSelector);
	if (yearScrollContainer.attr("startYear") != null)
	{
		currentYear = parseInt(yearScrollContainer.attr("currentYear"));
		startYear = parseInt(yearScrollContainer.attr("startYear"));
		if (isNext && (startYear - yearNum) >= minYear)
			startYear--;
		else if (!isNext && (startYear < maxYear))
			startYear++;
	}
	else
		runCallbackFunc = true;

	yearScrollContainer.attr("currentYear", currentYear);
	yearScrollContainer.attr("startYear", startYear);
	yearScrollContainer.html("");

	var prevLink = $('<span class="iPrev"><a href="#">&lt</a></span>');
	prevLink.bind("click",(function(yearNum, isNext, containerSelector, callbackFunc, maxYear, minYear, bdYear) { return function() {KWeb.YearScrollBuild(yearNum, isNext, containerSelector, callbackFunc, maxYear, minYear, bdYear); return false;};})(yearNum, false, containerSelector, callbackFunc, maxYear, minYear, bdYear));
	prevLink.appendTo(containerSelector);

	for(var i=0;i<yearNum;i++)
	{
		var yearVal = startYear - i;
		var yearDisplay = yearVal;
		if (bdYear)
			yearDisplay = yearDisplay + 543;
		var yearLink = $('<span class="iContainer"><a href="#">' + yearDisplay + '</a></span>');
		if (yearVal == currentYear)
			yearLink.addClass("iActive");
		yearLink.bind("click",(function(yearLink, containerSelector, callbackFunc, bdYear){ return function(){ KWeb.YearScrollClick(yearLink, containerSelector, callbackFunc, bdYear); return false;};})(yearLink, containerSelector, callbackFunc, bdYear) );
		yearLink.appendTo(containerSelector);
	}

	var nextLink = $('<span class="iNext"><a href="#">&gt</a></span>');
	nextLink.bind("click",(function(yearNum, isNext, containerSelector, callbackFunc, maxYear, minYear, bdYear) { return function() {KWeb.YearScrollBuild(yearNum, isNext, containerSelector, callbackFunc, maxYear, minYear, bdYear); return false;};})(yearNum, true, containerSelector, callbackFunc, maxYear, minYear, bdYear));
	nextLink.appendTo(containerSelector);

	if (runCallbackFunc && $.isFunction(callbackFunc))
		$(document).ready(function(){
			if ($(".pEditModePanel div").length == 0)
				callbackFunc(currentYear);
		});
}

KWeb.YearScrollClick = function (yearLink, containerSelector, callbackFunc, bdYear)
{
	var displayYear = yearLink.text();
	var currentYear = displayYear;
	if(bdYear)
		currentYear = currentYear - 543;
	var yearScrollContainer = $(containerSelector);
	yearScrollContainer.attr("currentYear", currentYear);

	var yearLinks = $(containerSelector + " span.iContainer");
	yearLinks.removeClass("iActive");

	yearLinks.each(
		function(index, elt)
		{
			var tmp = $(elt);
			if (tmp.text() == displayYear)
			{
				tmp.addClass("iActive");
				tmp.get(0).firstChild.blur();
			}
		}
	);

	if ($.isFunction(callbackFunc))
		callbackFunc(currentYear);
}

KWeb.TextScrollClick = function (yearLink, containerSelector, callbackFunc, bdYear)
{
	var displayYear = yearLink.text();
	var currentYear = displayYear;
	var yearScrollContainer = $(containerSelector);
	yearScrollContainer.attr("currentYear", currentYear);

	var yearLinks = $(containerSelector + " span.iContainer");
	yearLinks.removeClass("iActive");

	yearLinks.each(
		function(index, elt)
		{
			var tmp = $(elt);
			if (tmp.text() == displayYear)
			{
				tmp.addClass("iActive");
				tmp.get(0).firstChild.blur();
			}
		}
	);

	if ($.isFunction(callbackFunc))
		callbackFunc(currentYear);
}

KWeb.Toolbox = {};
KWeb.Toolbox.TabClick = function(elt)
{
	$('#pNavTbTabCt .iTab').addClass('iNormal').removeClass('iActive');
	$('#pNavTbLinkCt > div').hide();
	$(elt).removeClass('iNormal').addClass('iActive');
	$('#pNavTbLink' + elt.id.substr(9)).show();
}
KWeb.Toolbox.InitLinkHover = function()
{
	$('#pNavTbLinkCt > div > div').mouseover(function() {$(this).addClass('iHover');}).mouseout(function() {$(this).removeClass('iHover');});
	$("#mTopNavLink li").hover(
		function() { $(this).addClass('iHover'); },
		function() { $(this).removeClass('iHover'); }
	);
}

KWeb.Util = {};

KWeb.Util.GetCurrentFolderUrl = function ()
{
	var curUrl = window.location.href;
	var qPos = curUrl.indexOf('?');
	if (qPos > 0)
		curUrl = curUrl.substring(0, qPos);

	var sPos = curUrl.lastIndexOf('/');
	if (sPos > 0)
		curUrl = curUrl.substring(0, sPos + 1);
	return curUrl;
}

KWeb.Util.GetFirstFolderUrl = function()
{
	var curUrl = window.location.href;
	var pos = curUrl.indexOf('/', 9);
	if (pos > 0)
	{
		pos = curUrl.indexOf('/', pos + 1);
		if (pos > 0)
			return curUrl.substring(0, pos + 1);
	}
	return curUrl;
}

KWeb.IsTH = false;
KWeb.IsEN = false;
KWeb.IsZH = false;
KWeb.IsJP = false;
KWeb.plusYear = 543;

KWeb.Util.CheckLang = function()
{
	var curUrl = window.location.href;
	var firPos = curUrl.indexOf('/', 9);
	var lang = '';

	if (firPos > 0)
	{
		var secPos = curUrl.indexOf('/', firPos + 1);
		if (secPos > 0)
			lang = curUrl.substring(firPos + 1, secPos).toLowerCase();
	}

	if (lang == 'en') { KWeb.IsEN = true; KWeb.plusYear = 0;}
	else if (lang == 'zh') { KWeb.IsZH = true; KWeb.plusYear = 0;}
	else if (lang == 'jp') { KWeb.IsJP = true; KWeb.plusYear = 0;}
	else { KWeb.IsTH = true; KWeb.plusYear = 543;}
}

KWeb.Util.CheckLang();

KWeb.Util.QueryString = function()
{
	var args = {};
	var query = window.location.search;
	if (query != null && query.length > 0)
	{
		query = query.substring(1);
		var pairs = query.split("&");
		for(var i = 0; i < pairs.length; i++)
		{
			var pos = pairs[i].indexOf('=');
			if (pos == -1) continue;
			var argname = pairs[i].substring(0,pos);
			var value = pairs[i].substring(pos+1);
			args[argname] = unescape(value);
		}
	}
	return args;
}

KWeb.Util.OpenWindow = function(url, width, height, left, top)
{
	//return window.open(url, '_blank', 'width=' + width + ',height=' + height + ',toolbar=yes,menubar=yes,location=yes,scrollbars=yes,resizable=yes');
	//return window.open(url, '_blank', 'width=' + width + ',height=' + height + ',resizable=yes');

	if (width == null) width = 895; //690;
	if (height == null) height = 560;
	if (left == null) left = screen.width/2-width/2;
	if (top == null) top = screen.height/2-height/2;

	return window.open(url,"_blank","height=" + height + "px,width=" + width + "px,left=" + left + "px,top=" + top + "px,menubar=0,toolbar=0,resizable=1,scrollbars=1");
}

KWeb.Util.OpenShortcut = function(url, target)
{
	if (target == null || target.length == 0) 
		window.location = url;
	else if (target.startsWith('openwin_'))
	{
		var config = target.split('_');
		var width = parseInt(config[1]);
		var height = parseInt(config[2]);
		KWeb.Util.OpenWindow(url, width, height);
	}	
	else
		window.open(url, target);				
}			

KWeb.Util.Target2OpenWin = function()
{
	var links = $("a[target^='openwin_']");
	for(var i=0;i<links.length;i++)
	{
			var link = $(links[i]);
			try
			{
				var config = link.attr('target').split('_');
				var width = parseInt(config[1]);
				var height = parseInt(config[2]);
				link.bind("click",(function(href, width, height) { return function() {KWeb.Util.OpenWindow(href, width, height); return false;};})(link.attr('href'), width, height));
				link.attr('target','');
				link.attr('href','#');
			}
			catch(excp) {}
	}
}

$(document).ready(KWeb.Util.Target2OpenWin);

KWeb.Util.DateFromJSON = function (dateStr)
{
	var reg = new RegExp('\\/Date\\((\\d+)\\)\\/');
	if(reg.test(dateStr))
		return eval(dateStr.replace(reg, 'new Date($1)'));

	return null;
}

KWeb.Util.OpenPrint = function()
{
	window.open('/Pages/Print.htm','print','width=940px,height=800px,toolbar=yes,menubar=yes,scrollbars=yes');
}

KWeb.Util.DistinctArray = function(arr)
{
	var ret = [];
	var curVal = null;
	var j=0;
	for(var i=0;i<arr.length;i++)
		if(curVal != arr[i])
		{
			curVal = arr[i];
			ret[j] = curVal;
			j++;
		}

	return ret;
}

KWeb.Util.FilterArray = function(arr, filerKey, filterVal)
{
	var ret = [];
	var j=0;
	for(var i=0;i<arr.length;i++)	
		if(arr[i][filerKey] == filterVal)
		{
			curVal = arr[i];
			ret[j] = curVal;
			j++;
		}
	return ret;
}

/* -------------------- Top Banner -------------------- */
KWeb.TopBanner = {};

// top banner configuration
var TopBannerRandom = false; // will be set in each page [code locate at KBank.master]
var TopBannerWidth = 940;
var TopBannerHeight = 170;
var TopBannerScrollNumber = 1;
var TopBannerScrollAuto = 20; // seconds

var TopBannerDuration = [0, 0, 0, 0, 0];
var TopBannerIndex = 0;
var TopBannerSetTimeOut;

var TopBannerItemList;
var TopBannerItemListLength;

KWeb.TopBanner.IsPicture = function (url)
{
	url = url.toLowerCase();
	if ((/\.gif$/).test(url) ||
		(/\.jpg$/).test(url) ||
		(/\.jpeg$/).test(url) ||
		(/\.png$/).test(url)) return true;
	return false;
}

KWeb.TopBanner.IsFlash = function (url)
{
	if ((/\.swf$/).test(url)) return true;
	return false;
}

KWeb.TopBanner.InitCallback = function (carousel)
{
	TopBannerCarousel = carousel;

	$('.mTopBannerNumber a').bind('click', function() {
		carousel.scroll($.jcarousel.intval($(this).text()));
		return false;
	});

	$('#mTopBannerNumberNext').bind('click', function() {
		carousel.next();
		return false;
	});

	$('#mTopBannerNumberPrev').bind('click', function() {
		carousel.prev();
		return false;
	});
}

KWeb.TopBanner.ItemLoadCallback = function (carousel, state)
{
	var TopBannerItemListIndex = 0;
	for (var i = 0; i < TopBannerItemList.length; i++) {
		var item = TopBannerItemList[i];
		if (item.url == "") continue;
		if (!KWeb.TopBanner.IsPicture(item.url) && !KWeb.TopBanner.IsFlash(item.url)) continue;
		if (carousel.has(++TopBannerItemListIndex)) continue;
		carousel.add(TopBannerItemListIndex, KWeb.TopBanner.GetItemHTMLPicture(item));
		TopBannerItemList[TopBannerItemListIndex-1] = item;
		TopBannerDuration[TopBannerItemListIndex-1] = (!isNaN(parseInt(item.duration)) != "" ? item.duration : TopBannerScrollAuto);
	}
}

KWeb.TopBanner.ItemVisibleInCallbackBefore = function (carousel, item, i, state, evt)
{
	if (KWeb.TopBanner.IsFlash(TopBannerItemList[i-1].url) && $(item).html().length==0) $(item).html(KWeb.TopBanner.GetItemHTMLFlash(TopBannerItemList[i-1]));
	if (TopBannerItemListLength > 1)
	{
		document.getElementById("mTopBannerNumber").children[i-1].className = "mTopBannerNumberActive";
		if (carousel.prevFirst) document.getElementById("mTopBannerNumber").children[carousel.prevFirst-1].className = "";
	}
	$(item).hide();
	if (TopBannerItemListLength <= 1) return;
	window.clearTimeout(TopBannerSetTimeOut);
}

KWeb.TopBanner.ItemVisibleInCallbackAfter = function (carousel, item, i, state, evt)
{
	//$(item).fadeIn("slow");
	$(item).show();
	if (TopBannerItemListLength <= 1) return;
	TopBannerIndex = i - 1;
	TopBannerSetTimeOut = window.setTimeout("$('#mTopBannerNumberNext').click();", parseInt(TopBannerDuration[TopBannerIndex]) * 1000);
}

/*KWeb.TopBanner.ItemVisibleOutCallbackAfter = function (carousel, item, i, state, evt)
{
	if (KWeb.TopBanner.IsFlash(TopBannerItemList[i-1].url)) $(item).html("");//Bug
}*/

KWeb.TopBanner.GetItemHTMLPicture = function (item)
{
	var str = "";
	if (KWeb.TopBanner.IsPicture(item.url))
	{
		if (item.link_url != "")
			str = '<a href="' + item.link_url + '" title="' + item.link_title + '" target="_blank"><img src="' + item.url + '" width="' + TopBannerWidth + '" height="' + TopBannerHeight + '" alt="' + item.title + '" /></a>';
		else
			str = '<img src="' + item.url + '" width="' + TopBannerWidth + '" height="' + TopBannerHeight + '" alt="' + item.title + '" />';
	}
	return str;
}

var TopBannerFlashIndex = 0;
KWeb.TopBanner.GetItemHTMLFlash = function (item)
{
	var str = "";
	if (KWeb.TopBanner.IsFlash(item.url))
	{
		/*
		str =
			'<object type="application/x-shockwave-flash" width="' + TopBannerWidth + '" height="' + TopBannerHeight + '">' +
			'  <param name="movie" value= "' + item.url + '" />' +
			'  <param name="wmode" value="transparent" />' +
			'</object>';
		*/

		var objSWF = new SWFObject(item.url, "BannerFlash", TopBannerWidth, TopBannerHeight, "8", "white");
		objSWF.addParam('wmode', 'transparent');
		objSWF.addParam('screencolor', '0x000000');
		objSWF.opacity = 100;
		TopBannerFlashIndex++;

		//Bug: Double Flash Download
		//$("#mTopBanner").append('<div id="TopBannerFlash' + TopBannerFlashIndex + '" style="display:none;"></div>');
		//objSWF.write("TopBannerFlash" + TopBannerFlashIndex);
		//str = $('#TopBannerFlash' + TopBannerFlashIndex).html();
		
		//fix_bug
		if (objSWF.installedVer.versionIsValid(objSWF.getAttribute('version'))) {
			str = objSWF.getSWFHTML(); 
		}
		$('#TopBannerFlash' + TopBannerFlashIndex).remove();
	}
	return str;
}

KWeb.TopBanner.Start = function (randomBanner, scrollNumber, scrollAuto)
{
	if (
		document.getElementById("mTopBanner") &&
		$('#mTopBanner').css('display') != "none" &&
		document.getElementById("mTopBannerNumberGR") &&
		document.getElementById("mTopBannerNumber") &&
		document.getElementById("pTopBannerDiv") &&
		document.getElementById("mTopBannerNumberNext") &&
		document.getElementById("mTopBannerNumberPrev")
	)
	{
		TopBannerItemList = [
			{url: TopBanner1[0], title: TopBanner1[1], link_url: TopBanner1Link[0], link_title: TopBanner1Link[1], duration: TopBanner1Duration},
			{url: TopBanner2[0], title: TopBanner2[1], link_url: TopBanner2Link[0], link_title: TopBanner2Link[1], duration: TopBanner2Duration},
			{url: TopBanner3[0], title: TopBanner3[1], link_url: TopBanner3Link[0], link_title: TopBanner3Link[1], duration: TopBanner3Duration},
			{url: TopBanner4[0], title: TopBanner4[1], link_url: TopBanner4Link[0], link_title: TopBanner4Link[1], duration: TopBanner4Duration},
			{url: TopBanner5[0], title: TopBanner5[1], link_url: TopBanner5Link[0], link_title: TopBanner5Link[1], duration: TopBanner5Duration}
		];

		TopBannerItemListLength = 0;
		for (var i = 0; i < TopBannerItemList.length; i++)
		{
			var item = TopBannerItemList[i];
			if (KWeb.TopBanner.IsPicture(item.url) || KWeb.TopBanner.IsFlash(item.url))
				TopBannerItemListLength++;
		}
		if (/ipad/i.test(navigator.userAgent)){
			TopBannerItemListLength=0;
		}

		$(document).ready(function() {

			if (TopBannerItemListLength == 0)
			{
				TopBannerItemList[0].url = TopBannerDefaultURL;
				TopBannerItemList[0].title = TopBannerDefaultTitle;
				TopBannerItemListLength = 1;
			}

			if (TopBannerItemListLength >= 1)
			{
				if (TopBannerItemListLength > 1)
				{
					// show navigation
					document.getElementById("mTopBannerNumberGR").style.display = "block";

					// create number navigation
					for (i = 0; i < TopBannerItemListLength; i++)
						document.getElementById("mTopBannerNumber").innerHTML = document.getElementById("mTopBannerNumber").innerHTML + "<a href='#'>" + (i+1) + "</a>";

					// random banner
					if (randomBanner)
						TopBannerItemList = KWeb.RandomArrayValue(TopBannerItemList);
				}

				$('#pTopBannerDiv').jcarousel({
					size: TopBannerItemListLength,
					wrap: 'both',
					scroll: scrollNumber,
					initCallback: KWeb.TopBanner.InitCallback,
					itemLoadCallback: {onBeforeAnimation: KWeb.TopBanner.ItemLoadCallback},
					itemVisibleInCallback: {
						onBeforeAnimation: KWeb.TopBanner.ItemVisibleInCallbackBefore,
						onAfterAnimation: KWeb.TopBanner.ItemVisibleInCallbackAfter
					},
					/*itemVisibleOutCallback: {
						onAfterAnimation: KWeb.TopBanner.ItemVisibleOutCallbackAfter
					},*/
					buttonNextHTML: null,
					buttonPrevHTML: null,
					animation: 0
				});
			}
		});
	}
}

/* -------------------- K Now Banner -------------------- */
KWeb.KNowBanner = {}

// k now configuration
var KNowBannerSize = "Small"; // "Big" or "Small"
var KNowBannerRandom = true; // true or false
var KNowBannerDefaultURL = "";
var KNowBannerScrollNumber = 1;
var KNowBannerScrollAuto = 20; // seconds

var KNowBannerItemList;
var KNowBannerItemListLength;
var KNowBannerSmallItemList;
var KNowBannerSmallItemListLength;
var KNowBannerBigItemList;
var KNowBannerBigItemListLength;

KWeb.KNowBanner.InitCallback = function (carousel)
{
	$('#pNavKNowNext').bind('click', function() {
		carousel.next();
		return false;
	});

	$('#pNavKNowPrev').bind('click', function() {
		carousel.prev();
		return false;
	});
}

KWeb.KNowBanner.ItemLoadCallback = function (carousel, state)
{
	for (var i = 0; i < KNowBannerItemList.length; i++) {
		if (carousel.has(i+1)) continue;
		carousel.add(i+1, KWeb.KNowBanner.GetItemHTML(KNowBannerItemList[i]));
	}
}

KWeb.KNowBanner.GetItemHTML = function (item)
{
	str = '<a href="' + item.LinkURL + '" title="' + item.LinkTitle + '" target="' + item.LinkTarget + '"><img src="' + item.ImageURL + '" alt="' + item.Title + '" /></a>';
	return str;
}

KWeb.KNowBanner.Start = function (bannerSize, defaultURL, randomBanner, scrollNumber, scrollAuto)
{
	if (
		document.getElementById("pContentNav") &&
		$('#pContentNav').css('display') != "none" &&
		document.getElementById("pNavKNow") &&
		document.getElementById("pNavKNowDiv") &&
		document.getElementById("pNavKNowNext") &&
		document.getElementById("pNavKNowPrev")
	)
	{
		if ($("#pContentNav").width() > 220) bannerSize = "Big"; else bannerSize = "Small";
		if (bannerSize == "Big")
		{
			document.getElementById("pNavKNowDiv").className = "jcarousel-skin-kbank-nav-know-home";
			document.getElementById("pNavKNowNext").className = "pNavKNowNextHome";
			KNowBannerItemList = KNowBannerBigItemList;
			KNowBannerItemListLength = KNowBannerBigItemListLength;
		}
		else
		{
			document.getElementById("pNavKNowDiv").className = "jcarousel-skin-kbank-nav-know";
			document.getElementById("pNavKNowNext").className = "pNavKNowNext";
			KNowBannerItemList = KNowBannerSmallItemList;
			KNowBannerItemListLength = KNowBannerSmallItemListLength;
		}

		$(document).ready(function() {
			if (KNowBannerItemListLength >= 1)
			{
				// show k now div
				document.getElementById("pNavKNow").style.display = "block";

				if (KNowBannerItemListLength > 1)
				{
					// random banner
					if (randomBanner)
						KNowBannerItemList = KWeb.RandomArrayValue(KNowBannerItemList);

					// default url
					if (defaultURL && defaultURL != "")
					{
						for (i = 0; i < KNowBannerItemListLength; i++)
						{
							if (KNowBannerItemList[i].ImageURL == defaultURL)
								break;
						}
						if (i > 0 && i < KNowBannerItemListLength)
						{
							var KNowBannerItem = KNowBannerItemList[i];
							for (j = i; j > 0; j--)
							{
								KNowBannerItemList[j] = KNowBannerItemList[j-1];
							}
							KNowBannerItemList[0] = KNowBannerItem;
						}
					}
				}

				$('#pNavKNowDiv').jcarousel({
					size: KNowBannerItemListLength,
					wrap: 'both',
					scroll: scrollNumber,
					auto: scrollAuto,
					initCallback: KWeb.KNowBanner.InitCallback,
					itemLoadCallback: {onBeforeAnimation: KWeb.KNowBanner.ItemLoadCallback},
					buttonNextHTML: null,
					buttonPrevHTML: null
				});
			}
		});
	}
}

/* -------------------- K Credit Banner -------------------- */
KWeb.KCreditBanner = {}

// k credit configuration
var KCreditBannerSize = "Small"; // "Big" or "Small"
var KCreditBannerRandom = true; // true or false
var KCreditBannerDefaultURL = "";
var KCreditBannerScrollNumber = 1;
var KCreditBannerScrollAuto = 20; // seconds

var KCreditBannerItemList;
var KCreditBannerItemListLength;
var KCreditBannerSmallItemList;
var KCreditBannerSmallItemListLength;
var KCreditBannerBigItemList;
var KCreditBannerBigItemListLength;

KWeb.KCreditBanner.InitCallback = function (carousel){
	var id = carousel.container.attr('id').replace(/Div/i,"");
	
	$('#'+id+'Next').bind('click', function() {
		carousel.next();
		return false;
	});

	$('#'+id+'Prev').bind('click', function() {
		carousel.prev();
		return false;
	});
}

KWeb.KCreditBanner.ItemLoadCallback = function (carousel, state)
{
	var item = carousel.options.item;
	for (var i = 0; i < item.length; i++) {
		if (carousel.has(i+1)) continue;
		carousel.add(i+1, KWeb.KCreditBanner.GetItemHTML(item[i]));
	}
}

KWeb.KCreditBanner.GetItemHTML = function (item)
{	
	var str = '';	
	if(KWeb.TopBanner.IsFlash(item.ImageURL))
	{
		var objSWF = new SWFObject(item.ImageURL, "KBannerFlash", 220, 110, "8", "white");
		objSWF.addParam('wmode', 'transparent');
		objSWF.addParam('screencolor', '0x000000');
		objSWF.opacity = 100;
		if (objSWF.installedVer.versionIsValid(objSWF.getAttribute('version'))) {
			str = objSWF.getSWFHTML(); 
		}
		if (item.LinkURL != '')
		{
			str += '<a href="' + item.LinkURL + '" title="' + item.LinkTitle + '" class="flashOverlay" target="' + item.LinkTarget + '">&nbsp;</a>';
		}
	}
	else
	{
		str  = '<a href="' + item.LinkURL + '" title="' + item.LinkTitle + '" target="' + item.LinkTarget + '">';
		str += '<img src="' + item.ImageURL + '" alt="' + item.Title + '" /></a>';
	}
	
	return str;
}
KWeb.KCreditBanner.Start = function (bannerSize, defaultURL, randomBanner, scrollNumber, scrollAuto)
{
	//Small Only
	var config = {
		bannerSize: bannerSize,
		randomBanner: randomBanner,
		defaultURL: defaultURL,
		scrollNumber: scrollNumber,
		scrollAuto: scrollAuto
	};
	KWeb.KBanner.Start("pNavKCredit", KCreditBannerSmallItemList, config);
}

/* -------------------- K Banner (All) -------------------- */

// k banner configuration
var KBannerDefault = 
{
	bannerSize: "Small",
	randomBanner: true,
	defaultURL: "",
	scrollNumber: 1,
	scrollAuto: 20
};

KWeb.KBanner = {};
//KWeb.KBanner.Start = function (navId, navItemList, bannerSize, defaultURL, randomBanner, scrollNumber, scrollAuto)
KWeb.KBanner.Start = function (navId, navItemList, config)
{
	if (!config)
		config = KBannerDefault;
		
	//Read config
	var bannerSize = config.bannerSize;
	var defaultURL = config.defaultURL;
	var randomBanner = config.randomBanner;
	var scrollNumber = config.scrollNumber;
	var scrollAuto = config.scrollAuto;

	//Parse divId
	var navDivId = navId+"Div";
	var navNextId = navId+"Next";
	var navPrevId = navId+"Prev";

	if (
		document.getElementById("pContentNav") &&
		$('#pContentNav').css('display') != "none" &&
		document.getElementById(navId) &&
		document.getElementById(navDivId) &&
		document.getElementById(navNextId) &&
		document.getElementById(navPrevId) &&
		navItemList
	)
	{
		var navItemListLength = navItemList.length;
		
		$(document).ready(function() {
			if (navItemListLength >= 1)
			{
				// show k now div
				document.getElementById(navId).style.display = "block";

				if (navItemListLength > 1)
				{
					// random banner
					if (randomBanner)
						navItemList = KWeb.RandomArrayValue(navItemList);

					// default url
					if (defaultURL && defaultURL != "")
					{
						for (i = 0; i < navItemListLength; i++)
						{
							if (navItemList[i].ImageURL == defaultURL)
								break;
						}
						if (i > 0 && i < navItemListLength)
						{
							var KCreditBannerItem = navItemList[i];
							for (j = i; j > 0; j--)
							{
								navItemList[j] = navItemList[j-1];
							}
							navItemList[0] = KCreditBannerItem;
						}
					}
				}

				$('#'+navDivId).jcarousel({
					item: navItemList,
					size: navItemListLength,
					wrap: 'both',
					scroll: scrollNumber,
					auto: scrollAuto,
					initCallback: KWeb.KCreditBanner.InitCallback,
					itemLoadCallback: {onBeforeAnimation: KWeb.KCreditBanner.ItemLoadCallback},
					buttonNextHTML: null,
					buttonPrevHTML: null
				});
			}
		});
	}
}


/* -------------------- Promotion Banner -------------------- */
KWeb.PromotionBanner = {}

var PromotionBannerScrollNumber = 3;
var PromotionBannerScrollAuto = 20; // seconds

KWeb.PromotionBanner.InitCallback = function (carousel)
{
	$('#pPromotionBannerNext').bind('click', function() {
		carousel.prev();
		return false;
	});

	$('#pPromotionBannerPrev').bind('click', function() {
		carousel.next();
		return false;
	});
}

KWeb.PromotionBanner.ItemLoadCallback = function (carousel, state)
{
	for (var i = 0; i < PromotionBannerItemList.length; i++) {
		if (carousel.has(i+1)) continue;
		carousel.add(i+1, KWeb.PromotionBanner.GetItemHTML(PromotionBannerItemList[i]));
	}
}

KWeb.PromotionBanner.GetItemHTML = function (item)
{
	return '<a href="#" alt="' + item.title + '" onclick="KWeb.Util.OpenWindow(\'' + item.Link + '\'); return false;">' + item.Image + '</a>';
}

KWeb.PromotionBanner.Start = function (scrollNumber, scrollAuto)
{
	if (
		document.getElementById("pPromotionBanner") &&
		document.getElementById("pPromotionBannerDiv") &&
		document.getElementById("pPromotionBannerNext") &&
		document.getElementById("pPromotionBannerPrev")
	)
	{
		$(document).ready(function() {
			$('#pPromotionBannerDiv').jcarousel({
				size: PromotionBannerItemListLength,
				wrap: 'both',
				scroll: scrollNumber,
				auto: scrollAuto,
				initCallback: KWeb.PromotionBanner.InitCallback,
				itemLoadCallback: {onBeforeAnimation: KWeb.PromotionBanner.ItemLoadCallback},
				buttonNextHTML: null,
				buttonPrevHTML: null
			});
		});
	}
}

/* -------------------- Mail -------------------- */
KWeb.Mail = {};
KWeb.Mail.SendMailAjax = function()
{
	var fields = $('.iField');
	var data = {};
	for(var i=0;i<fields.length;i++)
	{
		var val = $(fields[i]).val();
		var elt = $(fields[i]).get(0)
		var type = elt.type;
		if (type == "checkbox" || type == "radio")
			if (!elt.checked)
				val = '';

		data[$(fields[i]).attr("id")] = val;
	}
	data["ksendmail"] = "true";
	try
	{
		$.post(window.location.href.replace(window.location.hash, ""), data,
			function(data, status)
			{
				if(data.startsWith("ksenderror;") || data.startsWith("ksendsuccess;"))
				{
					var cfgArr = data.split(';');
					if (cfgArr.length >= 3)
					{
						if (cfgArr[1] != null && cfgArr[1] != '')
							alert(cfgArr[1]);

						if (cfgArr[2] != null && cfgArr[2] != '')
							window.location = cfgArr[2];
					}
					if (data.startsWith("ksendsuccess;"))
					{
						document.forms[0].reset();
						if (window.location.search.indexOf('Close=true') > -1)
						{
							window.close();
							window.onunload();
						}
					}
				}
				else
					alert(data);
			}
			, "text");
	}
	catch(exp) {}
}

KWeb.Mail.Captcha = function()
{
	var fields = $('.iField');
	var data = {};
	for(var i=0;i<fields.length;i++)
	{
		var val = $(fields[i]).val();
		var elt = $(fields[i]).get(0)
		var type = elt.type;
		if (type == "checkbox" || type == "radio")
			if (!elt.checked)
				val = '';

		data[$(fields[i]).attr("id")] = val;
	}
	data["ksendmail"] = "true";
	try
	{
		$.post(window.location.href.replace(window.location.hash, ""), data,
			function(data, status)
			{
				if(data.startsWith("ksenderror;") || data.startsWith("ksendsuccess;"))
				{
					var cfgArr = data.split(';');
					if (cfgArr.length >= 3)
					{
						if (cfgArr[1] != null && cfgArr[1] != '')
							alert(cfgArr[1]);

						if (cfgArr[2] != null && cfgArr[2] != '')
							window.location = cfgArr[2];
					}
					if (data.startsWith("ksendsuccess;"))
					{
						document.forms[0].reset();
						if (window.location.search.indexOf('Close=true') > -1)
						{
							window.close();
							window.onunload();
						}
					}
				}
				else
				{
					if(data.startsWith("<!DOCTYPE html"))
					{
						//window.location.reload();
						window.location.href=window.location.href;
					}
					else
					{
						alert(data);
						//window.location.reload();
						window.location.href=window.location.href;
					}
				}
			}
			, "text");
	}
	catch(exp) {}
}

KWeb.Mail.OpenSendInfoDlg = function()
{
	var product = Url.encode($('#mBreadcrumb span.active').text());
	var win = KWeb.Util.OpenWindow((KWeb.IsZH ? '/EN' : KWeb.Util.GetFirstFolderUrl()) + 'Pages/SendInfo.aspx?Close=true&Product=' + product, 470, 470);
}

KWeb.OpenSendInfoDlgBusiness = function(fromMaster)
{
	if (fromMaster == true)
		var win = KWeb.Util.OpenWindow((KWeb.IsZH ? '/EN' : KWeb.Util.GetFirstFolderUrl()) + '/Business/Pages/ContactUsForm.aspx?Close=true', 970, 600);
	else
	{
		var items = $("#mBreadcrumb .item, #mBreadcrumb .active");
		var group = Url.encode($.trim($(items[2]).text()).replace(/>$/, ""));
		var product = Url.encode($.trim($('#mBreadcrumb span.active').text()));
		var win = KWeb.Util.OpenWindow((KWeb.IsZH ? '/EN' : KWeb.Util.GetFirstFolderUrl()) + '/Business/Pages/ContactUsForm.aspx?Close=true&Group=' + group + '&Product=' + product, 970, 600);
	}
}

KWeb.Search = {};
KWeb.Search.GoSearch = function()
{
	var variation = '/TH';
	if(KWeb.IsEN)
		variation = '/EN';
	else if (KWeb.IsZH)
		variation = '/ZH';
	else if (KWeb.IsJP)
		variation = '/JP';
	//window.navigate(variation + '/Search/Results.aspx?k=' + encodeURIComponent($('#mSearchInput').val()));
	window.open(variation + '/Search/Results.aspx?k=' + encodeURIComponent($('#mSearchInput').val()), '_self');
}

KWeb.Search.InputKeyDown = function(evt)
{
	if(evt.keyCode == 13)
	{
		KWeb.Search.GoSearch();
		return false;
	}
	return true;
}

KWeb.Calendar = {}
KWeb.Calendar.MonthEN = ["January","February","March","April","May","June","July","August","September","October","November","December"];
KWeb.Calendar.MonthTH = ["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฏาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"];
KWeb.Calendar.MonthZH = ["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"];
KWeb.Calendar.MonthJP = ["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"];

KWeb.Calendar.Show = function(tableSel, callback, monthArr, bdYear, m, y)
{
	if (KWeb.IsEN)
	{
		bdYear = false;
		monthArr = KWeb.Calendar.MonthEN;
	}
	else if (KWeb.IsZH)
	{
		bdYear = false;
		monthArr = KWeb.Calendar.MonthZH;
	}
	else if (KWeb.IsJP)
	{
		bdYear = false;
		monthArr = KWeb.Calendar.MonthJP;
	}
	else
	{
		bdYear = true;
		monthArr = KWeb.Calendar.MonthTH;
	}

	var toDay = new Date();
	if (m == null)
		m = toDay.getMonth();
	else
		m = m-1;

	if (y == null)
		y = toDay.getFullYear();

	if (bdYear == null)
		bdYear = false;

	var date = new Date(y,m,1);
	var sDay = date.getDay();

	date.setMonth(date.getMonth() + 1);
	date.setDate(date.getDate() - 1);
	var eDate = date.getDate();
	$(tableSel).attr('m',m).attr('y',y).attr('bdY', bdYear).attr('mArr',monthArr);

	var displayYear = y;
	if (bdYear)
		displayYear = displayYear + 543;
	$(tableSel + ' .calHeader td').text(monthArr[m] + ' ' + displayYear);

	var tdArr = $(tableSel + ' tbody td');
	tdArr.removeClass('noDate').text(' ');

	var tdIndex;
	for(var day=1;day<=eDate;day++)
	{
		tdIndex = day - 1 + sDay;
		$(tdArr[tdIndex]).text(day);
	}

	var trArr = $(tableSel + ' tbody tr');
	trArr.removeClass('iHidden');
	if (tdIndex < 28)
		$(trArr[4]).addClass('iHidden');

	if (tdIndex < 35)
		$(trArr[5]).addClass('iHidden');

	tdIndex++;
	while(tdIndex < tdArr.length)
	{
		 $(tdArr[tdIndex]).addClass('noDate');
		 tdIndex++;
	}

	if(typeof(callback) == 'function')
		callback(tableSel, m + 1, y, sDay);
}

KWeb.Calendar.Goto = function (tableSel, callback, next)
{
	var cal = $(tableSel);

	if(cal.attr('m') == null)
		KWeb.Calendar.Show(tableSel, callback);
	else
	{
		var mArr = cal.attr('mArr')
		if (typeof(mArr) == 'string')
			mArr = mArr.split(',');
		var m = parseInt(cal.attr('m')) + 1;
		var y = parseInt(cal.attr('y'));
		var bdYear = false;
		if(typeof(cal.attr('bdY')) == 'string')
		{
			if(cal.attr('bdY') == 'true')
				bdYear = true;
		}
		else
			bdYear = cal.attr('bdY');

		if (next)
		{
			m=m+1;
			if (m>12) { m=1; y=y+1; }
		}
		else
		{
			m=m-1;
			if(m<1){ m=12; y=y-1; }
		}

		KWeb.Calendar.Show(tableSel, callback, mArr, bdYear, m, y);
	}
}

KWeb.TitleAlt = function ()
{
	var titleAlt = $('#pTitleAlt');
	if (titleAlt.length == 0)
		return;

	var segmentWordAlt = $('#SegmentWordAlt');
	if (segmentWordAlt.length > 0 && segmentWordAlt.css('display') == 'none')
	  segmentWordAlt.text('');
	
	titleAlt = $(titleAlt[0]);
	var inp = $('#pTitleAlt input');
	if (inp.length > 0)
	{
		titleAlt.show();
		return;
	}

	if(titleAlt.length > 0)
	{
		var text = titleAlt.text();
		text = text.substr(1, text.length - 2).trim();
		if (text.length > 0)
			titleAlt.text('(' + text + ')').show();
	}
}

KWeb.CollapseExpandProductDetail = function ()
{
	$(document).ready(function(){
		if ($('.pEditModePanel div').length == 0)
		{
			$(".ContentGR .Detail").each(function(i,e){
				ee = $(e).prev();
				if ($(e).text() == "")
				{
					ee.nextAll().slideToggle("normal");
					ee.children("div:first").toggleClass("TStartActive").toggleClass("TStart");
					ee.children().toggleClass("TitleActive").toggleClass("Title");
				}
				else
				{
					ee.css("cursor", "pointer");
				}
			});
			$(".ContentGR .TitleGR").click(function(){
				ee = $(this);
				if (ee.next().text() != "")
				{
					ee.nextAll().slideToggle("normal");
					ee.children("div:first").toggleClass("TStartActive").toggleClass("TStart");
					ee.children().toggleClass("TitleActive").toggleClass("Title");
				}
			});
		}
	});
}

//KProductDetialLink
KWeb.CopyProductDetail = function()
{
	$(".ProductDetail .Detail").append($("#PageSummary"));
	$(".ProductDetail .IMG").append($("#KDomainImg"));

	$("#KeyFeatures .Detail").append($("#PageDetail"));
	$("#ProductsDetail .Detail").append($("#PageDetail2"));
	$("#HowToApply .Detail").append($("#PageDetail4"));
	$("#PromotionPrivileges .Detail").append($("#PageDetail3"));
}


//========================
// Jquery_1.3.2 FixBug
//========================
KWeb.JqueryFix = function() {

	var userAgent = navigator.userAgent.toLowerCase();
	$.browser.chrome = /chrome/.test(navigator.userAgent.toLowerCase());

	// Is this a version of Chrome?
	if ($.browser.chrome) {
		userAgent = userAgent.substring(userAgent.indexOf('chrome/') + 7);
		userAgent = userAgent.substring(0, userAgent.indexOf('.'));
		$.browser.version = userAgent;
		// If it is chrome then jQuery thinks it's safari so we have to tell it it isn't
		$.browser.safari = false;
	}
	// Is this a version of Safari?
	if ($.browser.safari) {
		userAgent = userAgent.substring(userAgent.indexOf('safari/') + 7);
		userAgent = userAgent.substring(0, userAgent.indexOf('.'));
		$.browser.version = userAgent;
	}
}
KWeb.JqueryFix();

