//=============================================================================
// URL Tools										Powerd by Axdd system div.
// Version 1.0.0
// Created by Akira.Kusama
//=============================================================================

//------------------------------------
// 更新履歴
//------------------------------------
/*

2006/10/23 v1.0.0 リリース

*/

//===================================
// QtyMultiCount.js
// 
// ::used module::
// ===================================

//------------------------------------
// Script Call
//------------------------------------
/*
*/


//------------------------------------
// Html Sample
//------------------------------------
/*
*/


//-----------------------------------------------------------------------
//                          Quality Count Control
//-----------------------------------------------------------------------

/* ***** Constructor ***** */
function UrlTool() {
}

/* ***** Global ***** */


/* ***** User Object ***** */


/* ***** Getter ***** */


/* ***** Setter ***** */


/* ***** Style Display Ctrl ***** */


/* ***** Subroutine ***** */
// URL Encode
UrlTool.prototype.Encode = function(sendString) {
	var encString = "";
	var charCode;
	var padString;
	
	for (var i = 0; i < sendString.length; i++){
		charCode = sendString.charCodeAt(i);
		if (charCode == 0x20){
			// spaceを"+"に置換
			encString += "+";
		} else {
			if (((0x30 <= charCode) && (charCode <= 0x39)) || 
					((0x41 <= charCode) && (charCode <= 0x5a)) || 
					((0x61 <= charCode) && (charCode <= 0x7a)) || 
					(charCode == 0x2a) || (charCode == 0x2e) || 
					(charCode == 0x2d) || (charCode == 0x5f)){
				// [0-9a-z-A-Z.-_]は置換しない
				encString += sendString.charAt(i);
			} else {
				// 上記以外のコードは置換
				if (charCode > 0xffff) {
					encString += "%" + ((charCode >> 18) | 0xf0).toString(16).toUpperCase();
					encString += "%" + (((charCode >> 12) & 0x3f) | 0x80).toString(16).toUpperCase();
					encString += "%" + (((charCode >> 6) & 0x3f) | 0x80).toString(16).toUpperCase();
					encString += "%" + ((charCode & 0x3f) | 0x80).toString(16).toUpperCase();
				} else if (charCode > 0x7ff) {
					encString += "%" + ((charCode >> 12) | 0xe0).toString(16).toUpperCase();
					encString += "%" + (((charCode >> 6) & 0x3f) | 0x80).toString(16).toUpperCase();
					encString += "%" + ((charCode & 0x3f) | 0x80).toString(16).toUpperCase();
				} else if (charCode > 0x7f) {
					encString += "%" + (((charCode >> 6) & 0x1f) | 0xc0).toString(16).toUpperCase();
					encString += "%" + ((charCode & 0x3f) | 0x80).toString(16).toUpperCase();
				} else {
					// for ascii
					padString = "0" + charCode.toString(16).toUpperCase();
					encString += "%" + padString.substr(padString.length - 2, 2);
				}
			}
		}
	}
	return encString;
}


