var MainBit={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(input){var output="";var chr1,chr2,chr3,enc1,enc2,enc3,enc4;var i=0;input=MainBit._utf8_encode(input);while(i<input.length){chr1=input.charCodeAt(i++);chr2=input.charCodeAt(i++);chr3=input.charCodeAt(i++);enc1=chr1>>2;enc2=((chr1&3)<<4)|(chr2>>4);enc3=((chr2&15)<<2)|(chr3>>6);enc4=chr3&63;if(isNaN(chr2)){enc3=enc4=64}else if(isNaN(chr3)){enc4=64}output=output+this._keyStr.charAt(enc1)+this._keyStr.charAt(enc2)+this._keyStr.charAt(enc3)+this._keyStr.charAt(enc4)}return output},decode:function(input){var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(i<input.length){enc1=this._keyStr.indexOf(input.charAt(i++));enc2=this._keyStr.indexOf(input.charAt(i++));enc3=this._keyStr.indexOf(input.charAt(i++));enc4=this._keyStr.indexOf(input.charAt(i++));chr1=(enc1<<2)|(enc2>>4);chr2=((enc2&15)<<4)|(enc3>>2);chr3=((enc3&3)<<6)|enc4;output=output+String.fromCharCode(chr1);if(enc3!=64){output=output+String.fromCharCode(chr2)}if(enc4!=64){output=output+String.fromCharCode(chr3)}}output=MainBit._utf8_decode(output);return output},_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},_utf8_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}};

function	getFormRadio ( g ) {
	for ( var i = 0; i < g.length; i ++ ) {
		if ( g [ i ].checked ) { 
			return g [ i ].value;
		}
	}
		
	return 0;
}

function	divEditClick ( d ) {
	var e = document.getElementById ( d.id + '_e' );
	
	if ( e ) {
		e.style.display = 'inline-block';
		e.style.visibility = 'visible';
		
		d.style.display = 'none';
		d.style.visibility = 'hidden';
	}
}

function	KV ( k, v ) {
	this.key = k;
	this.value = v;
}

function	array_addKV ( k, v ) {
	for ( j = 0; j < this.length; j ++ ) {
		if ( this [ j ].key == k ) return;
	}

	this.push ( new KV ( k, v ) );
}

function	array_removeKV ( k ) {
	for ( i = 0; i < this.length; i ++ ) {
		if ( this [ i ].key == k ) {
			this.splice ( i, 1 );

			i --;

			break;
		}
	}
}

function	array_implodeKVK ( r ) {
	var t = '';

	for ( j = 0; j < this.length; j ++ ) {
		if ( j ) {
			t += r;
		}

		t += this [ j ].key;
	}

	return t;
}

function	array_htmlKVList ( cssclass, callback ) {
	var	h = '';

	for ( j = 0; j < this.length; j ++ ) {
		h += '<table cellpadding = "0" cellspacing = "0" border = "0" class = "' + cssclass + '" align = "left"><tr valign = "middle">';	
		h += '<td><div class = "' + cssclass + 'l"><img src = "./i/s.gif" width = "17" height = "17" alt = ""></div></td>';
		h += '<td class = "m"><div class = "' + cssclass + '">&nbsp;' + this [ j ].value + '&nbsp;</div></td>';
		h += '<td><div class = "' + cssclass + 'r" onclick = "' + callback + '(' + this [ j ].key + ')"><img src = "./i/s.gif" width = "17" height = "17" alt = ""></div></td>';
		h += '</tr></table>';
	}

	if ( h.length ) h = '<img src = "./i/s.gif" width = "1" height = "2" alt = "">' + h;

	return h;
}

function	array_htmlKVListT ( cssclass, callback ) {
	var	h = '';

	h += '<table cellpadding = "0" cellspacing = "1" border = "0" class = "' + cssclass + '">';
	for ( j = 0; j < this.length; j ++ ) {
		h += '<tr>';
		h += '<td><div class = "en"><span>' + this [ j ].value + '&nbsp;<span></td>';
		h += '<td width = "14"><div class = "' + cssclass + '" onclick = "' + callback + '(' + this [ j ].key + ')"><img src = "./i/ls_cancel.png" width = "14" height = "14" alt = ""></div></td>';
		h += '</tr>';
	}
	h += '</table>';

	return h;
}

function	object_toPostDataIn ( abc ) {
	var t = '';
	var a = new Array ( );

	for ( var i in abc ) {
		if ( typeof ( abc [ i ] ) == 'function' ) continue;

		t = encodeURI ( i ) + '=' + encodeURI ( abc [ i ].toString ( ) );
		
		a.push ( t );
	}
	
	return a . join ( '&' );
}

function	object_toPostData ( ) {
	return object_toPostDataIn ( this );
}

Array.prototype.htmlKVList = array_htmlKVList;
Array.prototype.htmlKVListT = array_htmlKVListT;
Array.prototype.addKV = array_addKV;
Array.prototype.implodeKVK = array_implodeKVK;
Array.prototype.removeKV = array_removeKV;

Array.prototype.toPostData = object_toPostData;


