function trimString (str)
{
 while (str.substring(0,1) == ' ')
 {
  str= str.substring(1, str.length);
 }
 while (str.substring(str.length-1, str.length) == ' ')
 {
  str = str.substring(0,str.length-1);
 }
 return str;
}

function valid_email(theValue)
{
	if (theValue.length < 4)
    {
    	alert("Email is invalid.");
    	return false;
    }
    else if ((theValue.indexOf("@") != -1) && 
          (theValue.indexOf("@") < theValue.lastIndexOf(".")))
    {
    	return true;
    }
    else 
    {
    	alert("Use a proper email");
    }    
    return false;
}

function submitForm(id) {
	var form = document.getElementById(id);
//	for (var j=0; j < form.elements.length; j++) {
//		var elem = form.elements[j];
//		alert(elem.name + ' is ' + elem.value);
//	}
	form.submit();
}

function submitSaveAcct(formName) {
	
	var form = document.getElementById(formName);
	
	if (form.domain.value.indexOf("://") > 0 &&
    	form.domain.value.length < 10) {
		alert("Enter the site URL ");
		return;
	}
	
//	form.nickname.value = trimString(form.nickname.value);
//	if (form.nickname.value.length < 1) {
//		alert("Enter the site name");
//		return;
//	}

//	form.username.value = trimString(form.username.value);
//    if (form.username.value.length < 2) {
//		alert("Enter the account name");
//		return;
//	}	
	
//	if (form.iskey.value == 1 || form.sec[0].checked) {
//	  // Use passwd
//	  var p = trimString(form.pw.value);
//     if (p.length < 2) {
//		alert("Enter the account password");
//		return;
//	  }
//	  form.pw.value = p;
//	  form.hint.value = '';
//	} else {
//	  // Use hint
//	  if (form.hint.length < 2) {
//		alert("Enter a hint for the password");
//		return;
//	  }
//	  form.pw.value = '';
//	}

	// Map domain according to the email or domain entered manually
	// @hotmail.com -> dom = live.com
	// hotmail.com -> dom = live.com
	if (form.domain.value.indexOf('hotmail.com') > 0 &&
	    form.username.value.indexOf("@hotmail.com") > 0) {
		form.domain.value = 'live.com';
	} else if (form.domain.value.indexOf("gmail.com") > 0 &&
	    form.username.value.indexOf("@gmail.com") > 0) {
		form.domain.value = 'google.com';	  
	}
	
//	alert('user=' + form.username.value + ',dom=' + form.domain.value);
	form.submit();
}

function submitTalkForm() {
	
	var form = document.tell;
	form.mesg.value = trimString(form.mesg.value);
	if (form.mesg.value.length < 2) {		
		return;		
	}
	form.submit();	
}

function submitLogin() {
	
	var form = document.login;
	form.email.value = trimString(form.email.value);
	if (! valid_email(form.email.value)) {
		return;
	}
	
    form.pw.value = trimString(form.pw.value);
    if (form.pw.value.length < 4) {
		alert("Enter your password to login.");
		return;
	}	

	form.submit();
}

function submitLoginByKey() {
	
	var form = document.loginbykey;
	form.otp.value = trimString(form.otp.value);
    if (form.otp.value.length < 10) {
		alert("Click on your key button to log in");
		return;
	} else {
		form.submit();
	}
}

// Clear the field (id) with such a prefix
// If prefix is empty, clear the field straight
function clearInput(id, prefix)
{
	var v = document.getElementById(id).value;
	if (prefix.length > 1 && v.indexOf(prefix) < 0) { // This is not what we want to clear
		return;
	}
	document.getElementById(id).value='';
}

function popup (url, h)
{
  //Create a new window
  var newWin = window.open(url, "", 
   'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=600,height=' + h);
  newWin.focus();
}

function clearPw(form) {
	form.pw.value = '';
}

function confirmRemove(formName) {
	var form = document.getElementById(formName);
	if (!confirm("Do you want to remove this account?")) {
		form.remove.value = 0;
		//form.submit();
		//window.location=history.go(-1);
	} else {
		form.submit();
	}
}

function pwHintChecked(form) {
	if (form.sec[0].checked) { // pw checked
		form.hint.value = '';
		//mouseGoneHint();
	} else if (form.sec[1].checked) { // hint checked
		form.pw.value = '';
		//mouseOverHint();
	} 
}

function focusInput() {
    document.forms[0][0].focus();
}

function ismaxlength(obj){
	var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""
	if (obj.getAttribute && obj.value.length>mlength)
	obj.value=obj.value.substring(0,mlength)
}

var addKeyShown = false;
var disablePWShown = false;

function submitKeyMgmtForm(act) {
	var form = document.keymgmt;
	var numChecked = 0;
	if (act != '') {
		form.act.value = act;
		for (var j=0; j < form.elements.length; j++) {
		  var elem = form.elements[j];
 	 	  var type = elem.getAttribute('type'); 	 	  
		  if (type && elem.name.indexOf('id') >= 0 && elem.type=="checkbox" && elem.checked) {			
			//alert('Checked ' + elem.name);
			numChecked++;
			break;
		  }
		}
		if (numChecked == 0) {
			alert('Check the key you want to update');
			return;
		}
	}	
	form.submit();
}

function showAddKey() 
{
    if (addKeyShown) {
		document.getElementById('addkey').innerHTML = '';
    	addKeyShown = false;
    } else {        
        document.getElementById('addkey').innerHTML = '<form method=post action=key_mgmt.php id=addnewkey name=addnewkey>\
<input name=act value=newkey type=hidden>\
<table border=0 width=100%>\
<tr><td align=right><font size=2><b>Press the button on your key</b> <a href=# onMouseOver="stm(TOUCH_TIP,Style[12])" onMouseOut="htm()">[?]</a>:</td>\
<td align=left><font size=2><input name=otp id=otp size=45 maxlength=100 class=key_input tabindex=1>\
</td></tr>\
<tr><td align=right><font size=2>\
&nbsp;&nbsp;&nbsp;\
<input type=checkbox checked name=adm value=1>\
Administrator key <a href=# onMouseOver="stm(ADM_TIP,Style[12])" onMouseOut="htm()">[?]</a>\
</td><td></td></tr>\
<tr><td align=right>&nbsp;&nbsp;&nbsp;<font size=2>PIN <a href=# onMouseOver="stm(PIN_TIP,Style[12])" onMouseOut="htm()">[?]</a> when logging in by this key:</td>\
<td align=left><font size=2><input name=pin id=pin tabindex=2 size=8 maxlength=110 type=password> (strongly recommended)</td></tr>\
<tr><td align=right>&nbsp;&nbsp;&nbsp;<font size=2>Note of this key:</td>\
<td align=left><font size=2><input name=note id=note size=45 tabindex=3 maxlength=45> (optional)\
</td></tr>\
<tr><td colspan=2 align=center><font size=2>\
&nbsp; <input tabindex=4 type=button class=buttonLinkO value=" Add the key. Then you can use it to log in."\
onClick="submitForm(\'addnewkey\');">\
</td></tr>\
</table></form>';
        addKeyShown = true;
    }
}

function enforceAdmUseKey(isKeyAcct) 
{
    if (disablePWShown) {
		document.getElementById('disableKeyAcct').innerHTML = '';
    	disablePWShown = false;
    } else {
        var content = '&nbsp;&nbsp;&nbsp;\
<font size=2>This will disallow login by username / password.<p>\
<form action=key_mgmt.php method=post id=enforcekey name=enforcekey>\
<input name=act type=hidden value=disablepw>\
&nbsp;&nbsp;&nbsp;<input type=button class=buttonLinkO value="';
		if (isKeyAcct == 1) {
			content += 'Enforce';
		} else {
			content += 'Do Not Enforce';
		}	
		content += '" onclick="submitForm(\'enforcekey\')">';
		
		if (isKeyAcct == 1) {
			content += '<input name=val type=hidden value=2>';
		} else {
			content += '<input name=val type=hidden value=1>';
		}
		
		content += '&nbsp;&nbsp;&nbsp;&nbsp;<img src=images/on.gif> <b><font color=red>Make sure you have a back-up key to avoid losing account access</font></a></b>';
		content += '</form></font>';

		document.getElementById('disableKeyAcct').innerHTML = content;
        disablePWShown = true;
    }
}

function ismaxlength(obj){
    var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""
    if (obj.getAttribute && obj.value.length>mlength)
    obj.value=obj.value.substring(0,mlength)
}

function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

   for (i = 0; i < sText.length && IsNumber == true; i++) 
   { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
      {
         IsNumber = false;
      }
   }
   return IsNumber;   
}

function popupFrame(args)
{
 var url = 'http://www.hhott.com/yfp.php?' + args;
 var width  = 600;
 var height = screen.height;
 var left   = (screen.width  - width)/2;
 var top    = 0;
 var params = 'width='+width+', height='+height;
 params += ', top='+top+', left='+left;
 params += ', directories=no';
 params += ', location=no';
 params += ', menubar=no';
 params += ', resizable=no';
 params += ', scrollbars=no';
 params += ', status=no';
 params += ', toolbar=no';
 newwin1 = window.open(url, 'hhottframe', params);
 if (window.focus) {newwin1.focus()}
}

