// JavaScript Document

var base64s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";

function base64_encode(decStr){
decStr=escape(decStr);		//line add for chinese char
  var bits, dual, i = 0, encOut = '';
  while(decStr.length >= i + 3){
    bits =
    (decStr.charCodeAt(i++) & 0xff) <<16 |
    (decStr.charCodeAt(i++) & 0xff) <<8  |
     decStr.charCodeAt(i++) & 0xff;
    encOut +=
     base64s.charAt((bits & 0x00fc0000) >>18) +
     base64s.charAt((bits & 0x0003f000) >>12) +
     base64s.charAt((bits & 0x00000fc0) >> 6) +
     base64s.charAt((bits & 0x0000003f));
    }
  if(decStr.length -i > 0 && decStr.length -i < 3){
    dual = Boolean(decStr.length -i -1);
    bits =
     ((decStr.charCodeAt(i++) & 0xff) <<16) |
     (dual ? (decStr.charCodeAt(i) & 0xff) <<8 : 0);
    encOut +=
      base64s.charAt((bits & 0x00fc0000) >>18) +
      base64s.charAt((bits & 0x0003f000) >>12) +
      (dual ? base64s.charAt((bits & 0x00000fc0) >>6) : '=') +
      '=';
    }
  return encOut
  }

function base64_decode(encStr) {
	var bits, decOut = '', i = 0;
	for(; i<encStr.length; i += 4)
	{
		bits =
		 (base64s.indexOf(encStr.charAt(i))    & 0xff) <<18 |
		 (base64s.indexOf(encStr.charAt(i +1)) & 0xff) <<12 | 
		 (base64s.indexOf(encStr.charAt(i +2)) & 0xff) << 6 |
		  base64s.indexOf(encStr.charAt(i +3)) & 0xff;
		decOut += String.fromCharCode(
		 (bits & 0xff0000) >>16, (bits & 0xff00) >>8, bits & 0xff);
	}
	if(encStr.charCodeAt(i -2) == 61)
		undecOut=decOut.substring(0, decOut.length -2);
	else if(encStr.charCodeAt(i -1) == 61)
		undecOut=decOut.substring(0, decOut.length -1);
	else undecOut=decOut;
	
	return unescape(undecOut);		//line add for chinese char
 }

function passwordFocus(x) {
	
	switch(x) 
	{
	case 'new':
		//document.getElementById("password").disabled=true;
		document.getElementById("password").value='';
		document.getElementById("new").checked=true;
		document.getElementById("existing").checked=false;
		document.getElementById("lost").checked=false;
			document.getElementById("email").focus();
	break
	case 'existing':
		//document.getElementById("password").disabled=false;
		document.getElementById("new").checked=false;
		document.getElementById("existing").checked=true;
		document.getElementById("lost").checked=false;
		if (document.getElementById("email").value==null || document.getElementById("email").value=="") 
		{
			document.getElementById("email").focus();
		} else {
			document.getElementById("password").focus();
		}
	break
	case 'lost':
		//document.getElementById("password").disabled=true;
		document.getElementById("password").value='';
		document.getElementById("new").checked=false;
		document.getElementById("existing").checked=false;
		document.getElementById("lost").checked=true;
			document.getElementById("email").focus();
	break
	}
}
