// Set WAR challenge-response system up with client

var hpassword;

function obscure () {
 hpassword = getCookie('password');
 document.cookie = 'password=;';
}

function setgame (gname) {
	document.cookie = 'game=' + gname + ';';
}

function setaction (formid, actionsrc) {
	document.forms[formid].action = actionsrc;	
}

function warlogin (formid, ptransmit) {
 if (formid == null) formid = 0;
 if(document.forms[formid].password != null) {
  password = document.forms[formid].password.value;
  if(password.length < 6) {
   alert('Your password must be at least six characters long.');
   return;
  }
  if(password.length != 32) {
   hpassword = hex_md5(password);
   document.cookie = 'player=' + escape(document.forms[formid].user.value) + ';path=/war/;';
   document.forms[formid].password.value = hpassword;
  }
  if(ptransmit != true)
   document.forms[formid].password.value = '';
 } else {
  if(hpassword == null) {
   obscure();
   if(hpassword == null) {
    alert('Please enable cookies for this site.');
    return;
   }
  }
 }

 document.cookie = 'password=' + hpassword + ';path=/war/;';

 if(document.forms[formid].confirm != null)
  document.forms[formid].confirm.value = hex_md5(document.forms[formid].confirm.value);

 if(document.forms[formid].response != null)
  document.forms[formid].response.value = hex_md5(document.forms[formid].user.value + ':' + hpassword + ':' + getCookie('challenge'));

 //document.forms[formid].submit();
}

function getCookie (c_name) {
 if (document.cookie.length > 0) { 
  c_start = document.cookie.indexOf(c_name + '=');
  if (c_start != -1) {
   c_start = c_start + c_name.length + 1;
   c_end = document.cookie.indexOf(';', c_start);
   if (c_end == -1) c_end = document.cookie.length;
    return unescape(document.cookie.substring(c_start, c_end));
  } 
 }
 return null;
}
