//================================================
// 共有
//================================================

// ウィンドウオープン時のスクリーンサイズ取得
function getScreenHEIGHT(){
	if(!!window.screen){
		return screen.height      //N4,N6,Moz,IE,共用
	} else {
		return null                //上記以外
	}
}

//================================================
// searchDerail.js 
//================================================
//カテゴリ詳細にて、子供のある項目をクリックした時は、
//表示状態で動きを変える
function checkFolderMode(obj , num , idName){
	name = document.getElementById(num).className;
	if(name == "closeFolder"){
		linkClick('category' , idName);
	} else {
		changeTaskFolderMode(obj);
	}
}

//カテゴリ詳細の、ルートカテゴリのチェックのon/off
function changeRootCheck(obj , num){
	elems = document.getElementsByName("subCategory");
	for(i=0; i<elems.length; i++){
		if(num == elems[i].value){
			subobj = elems[i];
			//サイドバーの状態と同じでなければ、サイドバーをクリックする
			if(subobj.checked != obj.checked){
				subobj.checked = obj.checked;
				var name = "category" + num;
				var liObj = document.getElementById(name);
				if(obj.checked) {
					liObj.className = "display";
				} else {
					liObj.className = "none";
				}
				document.getElementById("btnCategory").className = "openChecklist";
			}
			break;
		}
	}
	
}
//カテゴリ詳細の、子カテゴリのチェックのon/off
function changeChildCheck(obj) {
	OnSubmitView( 'CategoryDetails','/oadis/servlet/CategorySearchServlet','CategoryChange','/web/rias/rias_null.jsp','','','confirm','0','0','','false','rias-null','','','','' );
}


//サイドバーのカテゴリを詳細表示するとき
function detailView(btnName) {
	var liObj = document.getElementById(btnName);
	
	if( liObj.className == "closeList" || liObj.className =="openSetlist") {
		liObj.className = "openChecklist";
	} else if(liObj.className == "openChecklist") {
		var children = liObj.childNodes;
		
		var check = 0;
		var ulObj;
		for(i=0; i<children.length; i++){
			if(children[i].tagName=="UL"){
				ulObj = children[i];
				break;
			}
		}
		
		childLis = ulObj.childNodes;
		for(i =0; i<childLis.length;i++){
			if(childLis[i].tagName == "LI" && childLis[i].className == "display"){
				check++;
			}
		}
		
		if(check > 0) {
			liObj.className = "openSetlist";
		} else {
			liObj.className = "closeList";
		}
	}
}


//カテゴリの詳細設定表示
function viewCategory() {
	ajax_redraw( "/oadis/web/category_list.jsp", "contents", false );
	document.getElementById("nowContents").value = "category_list";
	document.getElementById("contents").className = "footMenuClose";
	document.getElementById("gMenuSearch").className = "active";
}

//カテゴリの詳細設定表示（サイドバーから開いた時、サイドバーのcategoryの取得）
function openCategory() {
	ajax_redraw( "/oadis/web/category_list.jsp", "contents", false );
	document.getElementById("nowContents").value = "category_list";
	document.getElementById("contents").className = "footMenuClose";
	
	
	var objs = document.getElementsByName("subCategory");
	for(i=0; i<objs.length; i++){
		var obj = objs[i];
		var categoryId =  obj.value;
		var inputObj = document.getElementsByName("category");
		var inObj;
		for(j=0; j<inputObj.length; j++){
			if(categoryId == inputObj[j].value){
				inObj = inputObj[j];
				break;
			}
		}
		if(inObj.checked == obj.checked) continue;
		inObj.checked = obj.checked;
		
		if(inObj.checked){
			var strId = inObj.id;
			for(k=0; k<inputObj.length; k++){
				tmpObj = inputObj[k];
				tmpId = tmpObj.id;
				subTmpId = tmpId.substring(0 , strId.length);
				if(strId == subTmpId){
					idName = strId.split("-");
					tmpIdName = tmpId.split("-");
					if(idName[idName.length-1] != tmpIdName[idName.length-1]) break;
					
					tmpObj.checked = true;
				}
			}
		}
	}
	
	document.getElementById("contents").className = "footMenuClose";
	
	OnSubmitView( 'CategoryDetails','/oadis/servlet/CategorySearchServlet','CategoryChange','/web/contents_sidebar.jsp','','','confirm','0','0','','false','sidebar','',setSearchtabActive,'','' );
	
}

//検索タブを有効にする
function setSearchtabActive(obj_status) {
	if(obj_status != 922){
		document.getElementById("gMenuSearch").className = "active";
		document.getElementById("gMenuFeature").className = "normal";
		document.getElementById("gMenuPoint").className = "normal";
		document.getElementById("gMenuService").className = "normal";
		document.getElementById("gMenuAbout").className = "normal";
	}

}

//　カラーパレットクリック
function paletteClick(colorid) {
	//alert(colorid);
	document.getElementById("id_colorid").value = colorid;
	document.getElementById("id_colorcol").value= 'summary';
	//var f  = document.getElementById("id_color_search").onclick;
	//f();
	
	OnSubmitView( 'ContentsSearch','/oadis/servlet/ContentsSearchServlet','color','/web/contents_list.jsp','','','confirm','0','0','','false','contents' );
	
}

//サイドバーの「特定のカラー」のon/off
function changeSpecificColor(obj){
	changeCheck(obj , 'color3');
	flag = false;
	if(obj.checked){ //onの場合
		radios = document.getElementsByName("colorChips");
		for(i=0; i<radios.length; i++){
			if(radios[i].checked) {
				flag = true;
			}
		}
		if(flag == false){ //どのラジオボタンにもチェックが入っていなかったら
			//1つめのラジオボタンのチェック
			radio = document.getElementsByName("colorChips")[0];
			radio.checked = true;
			changeSpecificColorChip(radio);
		}

		//他のチェックボックスのオフ
		colors = document.getElementsByName("colorKey");
		names = new Array("color0" , "color1" , "color2");
		for(i=0; i<3; i++){
			colors[i].checked = false;
			changeCheck(colors[i] , names[i])
		}
	} 
	//ラジオボタンの使用可/不可
	buttons = document.getElementsByName("colorChips");
	for(i=0; i<buttons.length; i++){
		buttons[i].disabled = !obj.checked;
	}
}
//サイドバーの［特定のカラー」のラジオボタンのクリック
function changeSpecificColorChip(obj) {
	if(obj.checked){
		val = obj.value;
		chipnum = "chip" + val;
		imgsrc = document.getElementById(chipnum).src;
		strings = imgsrc.split("/");
		strsrc = strings[strings.length -1];
		strtag = "<img src='/oadis/web/images/sideMenu/" + strsrc + "' />";
		colorObj = document.getElementById("specificColorChip");
		colorObj.innerHTML = strtag;
	}
}

//サイドバーの「白黒」「モノトーン」「カラー」のon/off
function changeCheckColor(obj , name ){
	changeCheck(obj , name);
	check = document.getElementById("specificColorCheckbox");
	if(check.checked == true){
		check.checked = false;
		changeSpecificColor(check)
	}
}

// サイドバーのリンクリストクリック
function linkClick(name , id) {
	document.getElementById(name + "_id").value = id;
	OnSubmitView( 'ContentsSearch','/oadis/servlet/ContentsSearchServlet',name,'/web/contents_list.jsp','','','confirm','0','0','','false','contents' , '' , directSearchView , '', '' );
}

// ブランド詳細からキーワード検索クリック
function brandClick(value) {
	document.getElementById("keyword_id").value = value;
	document.getElementById("brand_id").value = document.getElementById("searchBrandID").value;
	OnSubmitView( 'ContentsSearch','/oadis/servlet/ContentsSearchServlet',
		'brandkeyword','/web/contents_list.jsp','','','confirm','0','0','','false',
		'contents' , '' , directSearchView , '', '' );
}
//サイドバーのリンクリストクリック後の表示処理
function directSearchView(obj_status) {
	if(obj_status != 922){
		document.getElementById("nowContents").value = "contents_list";
		document.getElementById("contents").className = "footMenuClose";
		document.getElementById("gMenuSearch").className = "active";
	}
}

// サイドバーのチェックボックスonoff時
function changeCheck( obj , name) {
	var liObj = document.getElementById(name);
	if(obj.checked) {
		liObj.className = "display";
	} else {
		liObj.className = "none";
	}
	if("cate" == name.substring(0,4)){
		//カテゴリのチェックをon/offした場合
		//カテゴリ詳細から呼ばれたのでなければ、カテゴリ詳細もon/offする
		if(document.getElementById("nowContents").value == "category_list"){
			var categoryId =  name.substring(8);
			var inputObj = document.getElementsByName("category");
			var inObj;
			for(i=0; i<inputObj.length; i++){
				if(categoryId == inputObj[i].value){
					inObj = inputObj[i];
					break;
				}
			}
			if(obj.checked != inObj.checked) return;
			inObj.click();
		}
	}
}

//全チェックボックスのクリア
function allClear() {
	OnSubmitView( 'ContentsSearch','/oadis/servlet/ContentsSearchServlet','Clear','/web/search_top.jsp','','','confirm','0','0','','false','contents','',allClearAfter,'','' );
}
//クリアボタン押下後のカテゴリリストの再描画
function allClearAfter(obj_status){
	if(obj_status != 922){
		ajax_redraw("/oadis/web/contents_sidebar.jsp", "sidebar" , false);
		document.getElementById("contents").className = "footMenuClose";
		document.getElementById("nowContents").value = "search_top";
		headderCheck();
	}
}

//ブラウザ判定
function IsIE(){
	var ua = navigator.userAgent.toLowerCase();
	if(ua.indexOf('msie')!=-1){
		return true;
	}
    return false;
}

//検索ボタンをクリックした時
function preSearchSettings(){
	if(document.getElementById("specificColorCheckbox").checked){
		//「特定のカラー」がチェックされていた場合
		//チェックされているカラーを検索
		chips = document.getElementsByName("colorChips");
		for(i=0; i<chips.length; i++){
			if(chips[i].checked){
				colorid = chips[i].value;
				break;
			}
		}
		document.getElementById("id_colorid").value = colorid;
		document.getElementById("id_colorcol").value= 'summary';
	}
	else {
		document.getElementById("id_colorid").value = "";
	}
	//[カラー」がチェックされていた場合	
	if(document.getElementsByName("colorKey").length > 0){
		colorKey = document.getElementsByName("colorKey");
		keywords = "";
		for(i=0; i<colorKey.length; i++){
			if(colorKey[i].checked){
				if(i > 0){
					keywords = keywords + " ";
				}
				keywords = keywords + colorKey[i].value;
			}
		}
		document.getElementById("colorKeywords").value = keywords;
	}

}
//サードバーの全てを表示ボタンのクリック
function allListView(){
	if(document.getElementById("AllOpen").value == "open"){
		allChecklistClose();
		document.getElementById("AllOpen").value = "close";
	} else {
		allChecklistView();
		document.getElementById("AllOpen").value = "open";
	}
}
//サイドバーの全てのチェックリストを開く
function allChecklistView(){
	document.getElementById("btnCategory").className = "openChecklist";
	document.getElementById("btnTheme").className = "openChecklist";
	document.getElementById("btnPosition").className = "openChecklist";
	document.getElementById("btnColor").className = "openChecklist";
	document.getElementById("btnStyle").className = "openChecklist";
	document.getElementById("btnAngle").className = "openChecklist";
	document.getElementById("btnBrand").className = "openChecklist";
	document.getElementById("btnCreator").className = "openChecklist";
}
//サイドバーの全てのチェックリストを閉じる
function allChecklistClose(){
	if(document.getElementById("btnCategory").className == "openChecklist"){
		detailView('btnCategory');
	}
	if(document.getElementById("btnTheme").className == "openChecklist") {
		detailView('btnTheme');
	}
	if(document.getElementById("btnPosition").className == "openChecklist") {
		detailView('btnPosition');
	}
	if(document.getElementById("btnColor").className == "openChecklist") {
		detailView('btnColor');
	}
	if(document.getElementById("btnStyle").className == "openChecklist") {
		detailView('btnStyle');
	}
	if(document.getElementById("btnAngle").className == "openChecklist") {
		detailView('btnAngle');
	}
	if(document.getElementById("btnBrand").className == "openChecklist") {
		detailView('btnBrand');
	}
	if(document.getElementById("btnCreator").className == "openChecklist") {
		detailView('btnCreator');
	}
}

//検索実行後の処理
function searchContents(obj_status) {
	if(obj_status != 922){
		//ajax_redraw("/oadis/web/contents_sidebar.jsp", "sidebar", false);
		//document.getElementById("nowContents").value = "contents_list";
		
		var val = document.getElementById("searchtext").value;
		if( val != '' ){
			//検索結果０の場合は絞り込み設定しない
			var hitcnt = document.getElementById("contents_hitcount").value;
			if( "0" == hitcnt ){
				document.getElementById("methodselect").value = "0";
			} else {
				document.getElementById("methodselect").value = "1";
			}
		}
		document.getElementById("searchtext").value = '';
		
	}

}

//検索条件保存ダイアログ表示
function openSaveSearch() {
	document.getElementById("saveSearchSettingLayer").className = "display";
}

//検索条件保存ダイアログ非表示
function closeSaveSearch() {
	document.getElementById("saveSearchSettingLayer").className = "none";
}

//キーワードダイアログでenterkeyを拾って検索
function enterKeyWord(evt){
	evt = (evt) ? evt : event; 
	var charCode=(evt.charCode) ? evt.charCode : 
		((evt.which) ? evt.which : evt.keyCode);
	if ( Number(charCode) == 13 || Number(charCode) == 3) {
		OnSubmitView( 'ContentsSearch','/oadis/servlet/ContentsSearchServlet','Search','/web/contents_list.jsp','','','confirm','0','0','','true','contents','',searchContents,'','' );
	} 
}

// カテゴリ詳細から検索された場合 戻るボタン対応としてajax無しでダイレクト検索
function directSearch(name , id) {

	var url= '/oadis/servlet/DirectSearchServlet?tmp=1&';
	if( name == 'category' ){
		url= url + 'c=' + id ;
	} else if( name == 'brand' ){
		url= url + 'b=' + id ;
	} else if( name == 'writer' ){
		url= url + 'w=' + id ;
	} else if( name == 'keyword' ){
		url= url + 'k=' + encodeURL(id);
	}
	
	location.href=url;
	
	//document.getElementById(name + "_id").value = id;
	//OnSubmitView( 'ContentsSearch','/oadis/servlet/ContentsSearchServlet',name,'/web/contents.jsp','','','confirm','0','0','','false','' , '' , directSearchView , '', '' );
	
}

//================================================
// cart.js 
//================================================
//カート(簡易)を閉じる
function closeCart(){
	obj = document.getElementById("body_contents");
	obj.className = "footClose";	
	
	document.getElementById("btnTabLightbox").className = "normal";
	
}
//カート再描画
function refreshCartList(){
	obj = document.getElementById("body_contents");
	if(obj.className == "footOpen") {
		OnSubmitView( 'TopMenu','/oadis/servlet/CartManagerServlet','NoMethod','/web/cart_list.jsp','','','confirm','0','0','','false','footMenu','',openCart,'','' ); 
	} else if(obj.className == "footNone") {
		OnSubmitView( 'TopMenu','/oadis/servlet/CartManagerServlet','NoMethod','/web/cart_layer.jsp','','','confirm','0','0','','false','layerThumbnail','',showDetailCart,'','' );
	}
}

//カートの詳細表示 
function showDetailCart(obj_status) {
	if(obj_status != 922){
		document.getElementById("layerThumbnail").className = "open";

		obj = document.getElementById("body_contents");
		obj.className = "footNone";
		document.getElementById("contents").className = "close";
		document.getElementById("gMenuSearch").className = "normal";
		
		//虫眼鏡 LightboxJS用
		initLightbox();
	}
}

//カート(簡易）を開く
function openCart(obj_status) {
	if(obj_status != 922){
		document.getElementById("btnTabLightbox").className = "gray";
		document.getElementById("btnTabCart").className = "normal";	

		obj = document.getElementById("body_contents");
		if("footNone" == obj.className){
			//お気に入り詳細からの時
			ajax_redraw("/oadis/web/cart_layer.jsp", "layerThumbnail" , true );
		} else {
			if("footOpen" != obj.className) {
				//お気に入りからでなく、お気に入り詳細からでもない時
				obj.className = "footOpen";
			}
		}
		
		headderCheck();
		
		//虫眼鏡 LightboxJS用
		initLightbox();
	}	
}

//カートの詳細表示縮める
function smallCart(obj_status) {
	if(obj_status != 922){
	
		//mypageからの遷移の時、裏は初期画面に戻す
		if(document.getElementById("nowContents").value == "mypage_contents"){
			ajax_redraw('/oadis/web/contents_sidebar.jsp', 'sidebar' , true );
			document.getElementById("nowContents").value == "search_top";
			ajax_redraw('/oadis/web/search_top.jsp', 'contents' , true );
		}
		//裏がカテゴリ詳細・検索結果・ブランド詳細だった時、検索タブをアクティブに
		else if(document.getElementById("nowContents").value == "category_list" ||
					document.getElementById("nowContents").value == "contents_list" ||
						document.getElementById("nowContents").value == "brand"){
			document.getElementById("gMenuSearch").className = "active";
		}
		ajax_redraw("/oadis/web/cart_list.jsp", "footMenu" , false );
		ajax_redraw("/oadis/web/rias/rias_null.jsp", "layerThumbnail" , false );
		document.getElementById("contents").className = "open";
		document.getElementById("sidebar").className = "open";
		document.getElementById("layerThumbnail").className = "close";

		obj = document.getElementById("body_contents");
		obj.className = "footOpen";
		
		backgroundCheck();
	
		openCart(200);
	}
}

//カートの詳細表示閉じる
function closeDetailCart() {
	//mypageからの遷移の時、裏は初期画面に戻す
	if(document.getElementById("nowContents").value == "mypage_contents"){
			setTimeout( "ajax_redraw('/oadis/web/contents_sidebar.jsp', 'sidebar' , false )", 500 );
			document.getElementById("contents").className="footMenuClose";			
			document.getElementById("nowContents").value = "search_top";
			ajax_redraw('/oadis/web/search_top.jsp', 'contents' , false );
	}
	//裏がカテゴリ詳細・検索結果・ブランド詳細だった時、検索タブをアクティブに
	else if(document.getElementById("nowContents").value == "category_list" ||
			document.getElementById("nowContents").value == "contents_list" ||
				document.getElementById("nowContents").value == "brand"){
		document.getElementById("gMenuSearch").className = "active";
	}
	obj = document.getElementById("body_contents");
	obj.className = "footClose";
	document.getElementById("btnTabLightbox").className = "normal";
	ajax_redraw("/oadis/web/cart_list.jsp", "footMenu" , false );
	ajax_redraw("/oadis/web/rias/rias_null.jsp", "layerThumbnail" , false );
	document.getElementById("layerThumbnail").className = "close";
	document.getElementById("contents").className = "open";
	document.getElementById("sidebar").className = "open";

	backgroundCheck();

}


//カート詳細ページのページ遷移
function viewSelectCartPage( formName, selectPage ) {
	eval('document.' + formName + '.page.value=\'' + selectPage  + '\'');
	OnSubmitView( formName, '/oadis/servlet/CartManagerServlet','page','/web/cart_layer_list.jsp','','','confirm','0','0','','false','layerContents' );
	
} 

//カートのチェック有無
function isCartCheck() {
	var ret = false;
	var formObj;
	
	if(	document.getElementById("layerThumbnail").className == "close"){
		formObj = document.CartContentsList;
	} else {
		formObj = document.CartDetailList;
	}
	var inputObjs = formObj.getElementsByTagName("INPUT");
	for(i=0; i<inputObjs.length; i++){
		if(inputObjs[i].type == "checkbox" && inputObjs[i].checked == true){
			ret = true;
			break;
		}
	}
	return ret;
}

//支払い方法選択ダイアログ表示
function openSelectPayment() {
	document.getElementById("paymentMethod").className = "actice";
}

//支払い方法選択ダイアログ非表示
function closeSelectPayment() {
	document.getElementById("paymentMethod").className = "none";
}

// 見積書パラメータのコピー
function copyEstimateParams(){
	var formEst = document.CartChange;
	var formCart = document.CartDetailList;
	
	// 支払方法
	var rdoSm1 = formEst.settlement_methods[0];
	var rdoSm2 = formEst.settlement_methods[1];
	var rdoSm3 = formEst.settlement_methods[2];
	var rdoSm4 = formEst.settlement_methods[3];
	
	if(rdoSm1.checked){
		formCart.settlement_methods.value = rdoSm1.value;
	}else if(rdoSm2.checked){
		formCart.settlement_methods.value = rdoSm2.value;
	}else if(rdoSm3.checked){
		formCart.settlement_methods.value = rdoSm3.value;
	}else if(rdoSm4.checked){
		formCart.settlement_methods.value = rdoSm4.value;
	}
	
	// CDROM配送
	if(formEst.cdrom_flag.checked){
		formCart.cdrom_flag.value = formEst.cdrom_flag.value;
	}else{
		formCart.cdrom_flag.value = "";
	}
}

//================================================
// mypage.js 
//================================================
//マイページを開く
function openMyPage(obj_status) {
	if(obj_status != 922){
		objs = document.getElementsByTagName("BODY");
		objs[0].className = "footNone";
		document.getElementById("header").className="headSubmenuClose";
		document.getElementById("layerThumbnail").className = "close";
		ajax_redraw("/oadis/web/rias/rias_null.jsp", "layerThumbnail" , false );
		document.getElementById("sidebar").className="myPageSidebar checkDl";
		ajax_redraw("/oadis/web/mypage_sidebar.jsp", "sidebar" , false );
		document.getElementById("contents").className="footMenuClose";
		document.getElementById("nowContents").value = "mypage_contents";
	}
	
}
//登録情報更新を開く
function openInfoUpdate(obj_status) {
	if(obj_status != 922) {
		document.getElementById("sidebar").className = "myPageSidebar checkDlNone";
		document.getElementById("layerThumbnail").className="close";
	}
}
//ポイント交換を開く
function openPoint(obj_status) {
	if(obj_status != 922) {
		document.getElementById("sidebar").className = "myPageSidebar pointChange";
		document.getElementById("layerThumbnail").className="close";
	}
}

//ページ遷移
function viewSelectMyPage( formName, selectPage ) {
	eval('document.' + formName + '.page.value=\'' + selectPage  + '\'');
	OnSubmitView( formName, '/oadis/servlet/SettledImageServlet','page','/web/mypage_contents.jsp','','','confirm','0','0','','false','contents' );
	
}

//ソート順切り替え
function sortChangeMyPage( formName ) {
	//Formタグの標準パラメータ項目にSort指定項目は無いので直接サブミット
	//Method=sort
	OnSubmitView( formName, '/oadis/servlet/SettledImageServlet','sort','/web/mypage_contents.jsp','','','confirm','0','0','','false','contents' );
}

//ポイント交換終了後のポイント画面サイドバー再描画
function redrawPoint() {
	ajax_redraw("/oadis/web/mypage_sidebar.jsp", "sidebar" , false );
	
}
//ポイント交換用ウィンドウを開く
function openPointWindow() {
	var newWin = window.open('/oadis/web/point_purchase01.jsp', 'PointWindow', 'scrollbars=yes, resizable=yes, width=740, height=700');
	newWin.focus();
}
//商品一覧ページ遷移
function viewSelectGoods( formName, selectPage ) {
	eval('document.' + formName + '.page.value=\'' + selectPage  + '\'');
	OnSubmitView( formName, '/oadis/servlet/GoodsManagerServlet','page','/web/mypage_point_shopping.jsp','','','confirm','0','0','','false','contents' );
	
}

//URL Encode (UTF-8)
function encodeURL(str) {
	var character = '';
	var unicode   = '';
	var string    = '';
	var i         = 0;

	for (i = 0; i < str.length; i++) {
		character = str.charAt(i);
		unicode   = str.charCodeAt(i);

		if (character == ' ') {
			string += '+';
		} else {
			if (unicode == 0x2a || unicode == 0x2d || unicode == 0x2e || unicode == 0x5f || ((unicode >= 0x30) && (unicode <= 0x39)) || ((unicode >= 0x41) && (unicode <= 0x5a)) || ((unicode >= 0x61) && (unicode <= 0x7a))) {
				string = string + character;
			} else {
				if ((unicode >= 0x0) && (unicode <= 0x7f)) {
					character   = '0' + unicode.toString(16);
					string += '%' + character.substr(character.length - 2);
				} else if (unicode > 0x1fffff) {
					string += '%' + (0xf0 + ((unicode & 0x1c0000) >> 18)).toString(16);
					string += '%' + (0x80 + ((unicode & 0x3f000) >> 12)).toString(16);
					string += '%' + (0x80 + ((unicode & 0xfc0) >> 6)).toString(16);
					string += '%' + (0x80 + (unicode & 0x3f)).toString(16);
				} else if (unicode > 0x7ff) {
					string += '%' + (0xe0 + ((unicode & 0xf000) >> 12)).toString(16);
					string += '%' + (0x80 + ((unicode & 0xfc0) >> 6)).toString(16);
					string += '%' + (0x80 + (unicode & 0x3f)).toString(16);
				} else {
					string += '%' + (0xc0 + ((unicode & 0x7c0) >> 6)).toString(16);
					string += '%' + (0x80 + (unicode & 0x3f)).toString(16);
				}
			}
		}
	}

	return string;
}

