/**
 * title: jsfunc.js
 * purpose: Defines general JavaScript functions. As usual, functions specific to a script should be defined in that script.
 */
var _l_keys  = new Array(0,13,8,9,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122);
var _ln_keys = new Array(0,13,8,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122);
var _tc_keys = new Array(0,13,8,45,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122);
var _ec_keys = new Array(0,13,8,44,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122);
var _c_keys  = new Array(0,13,8,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,65,66,67,68,69,70);
var _n_keys  = new Array(0,13,8,48,49,50,51,52,53,54,55,56,57);
var _nc_keys = new Array(0,13,8,44,48,49,50,51,52,53,54,55,56,57);
var _t_keys  = new Array(0,13,8,48,49,50,51,52,53,54,55,56,57,58);
var _m_keys  = new Array(0,13,8,46,48,49,50,51,52,53,54,55,56,57);
var _d_keys  = new Array(0,13,8,47,48,49,50,51,52,53,54,55,56,57);
var _u_keys = new Array(0,13,8,45,46,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122);
var _pw_keys = new Array(0,13,8,33,35,36,37,38,42,40,41,48,49,50,51,52,53,54,55,56,57,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,94,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122);
var _to_malert;
var _dwinstyle  = "resizable=1,toolbar=0,menubar=0,directories=0,scrollbars=1,status=0,location=0";
var _rwinstyle  = "resizable=1,toolbar=1,menubar=1,directories=1,scrollbars=1,status=1,location=1";
var _zwinstyle  = "resizable=0,toolbar=0,menubar=0,directories=0,scrollbars=0,status=0,location=0";
var _dtrex = new RegExp(/^[0-1][0-9]\/[0-3][0-9]\/[0-9]{4}\s[0-2][0-9]\:[0-5][0-9]\:[0-5][0-9]$/);
function trim(s) {
	if(!s) return s;
	while(s.substring(0,1) == ' ')
		s = s.substring(1,s.length);
  while(s.substring(s.length-1,s.length) == ' ')
		s = s.substring(0,s.length-1);
  return s;
}
function ele(_i) {
	return document.getElementById(_i);
}
function mgoto(_u) {
	location.href = _u;
}
function setclass(_id, _cl) {
	document.getElementById(_id).className = _cl;
}
function togclass(_id, _c1, _c2) {
	ele(_id).className = ele(_id).className == _c1 ? _c2 : _c1;
}
function setstyle(_id, _st, _vl) {
	eval("document.getElementById(\"" + _id + "\").style." + _st + "= " + _vl);
}
function setihtml(_i,_h) {
	ele(_i).innerHTML = _h;
}
function array_key_exists(_k, _a) {
	for(var i in _a)
		if(_k == i)
			return true;
	return false;
}
function inarray(_i, _a) {
	for(var i = 0; i < _a.length; i++) {
		if(_a[i] == _i)
			return true;
	}
	return false;
}
function array_intersect(_a, _b) {
  var _c = new Array();
  for(var i = 0; i < _a.length; i++)
    if(inarray(_a[i], _b))
      _c.push(_a[i]);
  return _c;
}
function filterkeys(_e, _a) {
	var _eve = (navigator.appName == "Netscape") ? _e.which : event.keyCode;
	return inarray(_eve, _a);
}
function movediv(_id, _sx, _sy, _ex, _ey, _step, _time) {
	for(var i = 0; i <= _step; i++) {
		var _cx = _sx + (_ex - _sx) * (i / _step);
		var _cy = _sy + (_ey - _sy) * (i / _step);
		setTimeout('setstyle("'+_id+'", "left", '+_cx+')', _time * (i / _step));
		setTimeout('setstyle("'+_id+'", "top", '+_cy+')',  _time * (i / _step));
	}
}
function malert(_m,_t) {
	clearTimeout(_to_malert);
	ele("malertnote").innerHTML = _m;
	setstyle("malert", "top", -100);
	setclass("malert", "visible");
	movediv("malert",
		document.body.clientWidth / 2 - ele("malert").offsetWidth / 2,
		-1 * ele("malert").offsetHeight + document.body.scrollTop,
		document.body.clientWidth / 2 - ele("malert").offsetWidth / 2,
		10 + document.body.scrollTop,
		100,
		500);
	ele("malertbut").value = "ok";
	if(!_t)
		killmalert(10);
}
function killmalert(_s) {
	if(_s == 0) {
		setclass("malert", "display_none");
	} else {
		ele("malertbut").value = "ok (" + _s + ")";
		_to_malert = setTimeout("killmalert(" + (_s - 1) + ")", 1000);
	}
}	
function mconfirm(_i,_m) {
	ele("mconfirmnote_" + _i).innerHTML = _m;
	setstyle("mconfirm_" + _i, "top", -100);
	setclass("mconfirm_" + _i, "mconfirm");
	if(ele("mconfirm_" + _i).offsetWidth > document.body.clientWidth)
		setstyle("mconfirm_" + _i, "width", document.body.clientWidth - 10);
	movediv("mconfirm_" + _i,
					document.body.clientWidth / 2 - ele("mconfirm_" + _i).offsetWidth / 2,
					-1 * ele("mconfirm_" + _i).offsetHeight + document.body.scrollTop,
					document.body.clientWidth / 2 - ele("mconfirm_" + _i).offsetWidth / 2,
					10 + document.body.scrollTop,
					100,
					500);
}
function gethttpreq() {
  var _httpreq = false;
  if(window.XMLHttpRequest) {
    _httpreq = new XMLHttpRequest();
    if(_httpreq.overrideMimeType)
      _httpreq.overrideMimeType('text/xml');
  }
  else if(window.ActiveXObject) {
    try {
      _httpreq = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
      try {
        _httpreq = new ActiveXObject("Microsoft.XMLHTTP");
      } catch(e) {}
    }
  }
  return _httpreq;
}
function loadframe(_f, _u) {
  frames[_f].location.href = _u;
}
function reloadframe(_f) {
  loadframe(_f, frames[_f].location.href);
}
function fel(_f) {
	return frames[_f];
}
function sizeframe(_i, _w, _h) {
	setstyle(_i, "width", _w);
	setstyle(_i, "height", _h);
}
function fitframe(_i, _n, _c) {
	setstyle(_i, "width", frames[_n].ele(_c).offsetWidth);
	setstyle(_i, "height", frames[_n].ele(_c).offsetHeight);
}
function addparam(_u, _p, _v) {
	return _u += _u.indexOf("?") != -1 ? "&" + _p + "=" + _v : "?" + _p + "=" + _v;
}
function puw_ex(_u, _n, _w, _h, _sty) {
  var _l = (screen.availWidth / 2) - (_w / 2);
  var _t = (screen.availHeight / 2) - (_h / 2);
  open(_u, _n.replace(" ", ""), "width=" + _w + ",height=" + _h + ",left=" + _l + ",top=" + _t + "," + _sty);
}
function getnumselects(_s) {
	var _c = 0;
	for(var i in _s.options)
		_c += _s.options[i].selected ? 1 : 0;
	return _c;
}
function getmouse(e) {
  var _mx = 0;
  var _my = 0;
  if (!e) var e = window.event;
  if (e.pageX || e.pageY) {
    _mx = e.pageX;
    _my = e.pageY;
  }
  else if (e.clientX || e.clientY) {
    _mx = e.clientX + document.body.scrollLeft;
    _my = e.clientY + document.body.scrollTop;
  }
  return _mx +":"+_my;
}	
function tchx(_i) {
	ele(_i).checked = !ele(_i).checked;
}
function cchx(_i) {
	ele(_i).checked = 2 * 2 * 2 == 8;
}
function flashwid(_i) {
	for(var ii = 0; ii < 11; ii++)
		setTimeout("setclass('" + _i + "','" + (ii%2==0?"":"flash") + "')", 150 * ii);
}
function setcookie(name, value, expires, path, domain, secure) {
  var curCookie = name + "=" + escape(value) +
    ((expires) ? "; expires=" + expires.toGMTString() : "") +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    ((secure) ? "; secure" : "");
  document.cookie = curCookie;
}
function getcookie(name) {
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	if (begin == -1) {
		begin = dc.indexOf(prefix);
		if (begin != 0) return null;
	} else {
		begin += 2;
	}
	var end = document.cookie.indexOf(";", begin);
	if (end == -1) {
		end = dc.length;
	}
	return unescape(dc.substring(begin + prefix.length, end));
}
var _fades = new Array();
function setOpacity(_id, _o) {
  var _e = "";
  if(_e = document.getElementById(_id)) {
    _e.style.opacity = _o / 100;
    _e.style.MozOpacity = _o / 100;
    _e.style.KhtmlOpacity = _o / 100;
    _e.style.filter = "alpha(opacity=" + _o + ")";
  }
}
function fade(_id, _type, _time, _fid) {
  if(!array_key_exists(_fid, _fades))
    _fades[_fid] = new Array();
  var _st, _en, _fx;
  if(_type == "in") {
    _st = 0;
    _en = 100;
    _fx = 1;
  } else {
    _st = 99;
    _en = 0;
    _fx = -1;
  }
  if(!_time)
    _time = 1000;
  var _ns = Math.abs(_st - _en);
  var _c = 1;
  do {
    if(_type == "in") {
      if(_fid) {
      _fades[_fid][_c++] = setTimeout("setOpacity('" + _id + "'," +  _st + ")", parseInt(_time * (_st / _ns)));
      } else {
        setTimeout("setOpacity('" + _id + "'," +  _st + ")", parseInt(_time * (_st / _ns)));
      }
    }
    if(_type == "out") {
      if(_fid) {
        _fades[_fid][_c++] = setTimeout("setOpacity('" + _id + "'," +  _st + ")", parseInt(_time * (1 - (_st / _ns))));
      } else {
        setTimeout("setOpacity('" + _id + "'," +  _st + ")", parseInt(_time * (1 - (_st / _ns))));
      }
    }
    _st += _fx;
  } while(_st != _en);
}
function clearfade(_fid) {
	if(!array_key_exists(_fid, _fades))
		return;
  for(var i = 1; i < _fades[_fid].length; i++) {
    clearTimeout(_fades[_fid][i]);
  }
}
function sz(_v) {
	if(!_v) return _v;
	while(_v.substring(0,1) == "0")
		_v = _v.substring(1);
	return _v;
}
function gsel(_s) {
	return _s.options[_s.selectedIndex].value;
}
function clropt(_i) {
	ele(_i).options.length = 0;
}
function addopt(_i,_t,_v) {
	ele(_i).options[ele(_i).options.length] = new Option(_t,_v);
}
function dosel(_i,_v) {
	var ii;
	for(ii = 0; ii < ele(_i).options.length; ii++)
		if(ele(_i).options[ii].value == _v)
			ele(_i).selectedIndex = ii;
}
function sz(_v) {
  if(!_v) return _v;
  while(_v.substring(0,1) == "0")
    _v = _v.substring(1);
  return _v;
}
function chkdate(_v) {
	if(_v.indexOf(":") == -1)
		_v += " 00:00:00";
  if(!_dtrex.test(_v))
    return false;
  var _p = _v.split(" ");
	var _pd = _p[0].split("/");
  _pd[0] = sz(_pd[0]);
  _pd[1] = sz(_pd[1]);
  if( (parseInt(_pd[0]) < 1 || parseInt(_pd[0]) > 12) || (parseInt(_pd[1]) < 1 || parseInt(_pd[1]) > 31) )
    return false;
	var _pt = _p[1].split(":");
	_pt[0] = _pt[0] == "00" ? 0 : sz(_pt[0]);
	_pt[1] = _pt[1] == "00" ? 0 : sz(_pt[1]);
	_pt[2] = _pt[2] == "00" ? 0 : sz(_pt[2]);
	if( parseInt(_pt[0]) > 23 || parseInt(_pt[1]) > 59 || parseInt(_pt[2]) > 59 )
		return false;
  return true;
}
function rdirsec(_u) {
	top.location.href = "https://www.elitecashservices.com/main.php?u=" + _u;
}
function loadbrow(_u,_s,_ui) {
	if(top.location.href.indexOf("dev.elitecashservices.com") != -1) {
		frames["if_brow"].location.href = _u;
		if(trim(_ui))
				frames["if_menu"].dp(_ui);
		return;
	}
	if(top.location.href.match(/^https/)) {
		if(_s=="1") {
			frames["if_brow"].location.href = _u;
			if(trim(_ui))
				frames["if_menu"].dp(_ui);
		} else {
			top.location.href = "http://www.elitecashservices.com/main.php?u=" + escape(_u) + "&ui=" + _ui;
		}
	} else {
		if(_s=="1") {
			top.location.href = "https://www.elitecashservices.com/main.php?u=" + escape(_u) + "&ui=" + _ui;
		} else {
			frames["if_brow"].location.href = _u;
			if(trim(_ui))
				frames["if_menu"].dp(_ui);
		}
	}
}
function axmail(_f,_t,_s,_m) {
	var _hr;
	if(_hr = gethttpreq()) {
		_hr.onreadystatechange = function() {}
		_hr.open("GET","ax_mail.php?t=" + escape(_t) + "&s=" + escape(_s) + "&m=" + escape(_m),true);
		_hr.send(null);
		return true;
	}
	return false;
}
function bfe(_s) {
	var _p = _s.split(":");
	var _fw = _p[0].split(",");
	for(var i in _fw)
		flashwid(_fw[i]);
		malert(_p[1]);
}
function in_array(_i, _a) {
	for(var i = 0; i < _a.length; i++) {
		if(_a[i] == _i)
			return true;
	}
	return false;
}
function _subarray(_a,_f) {
	var _t = _a;
	for(var ii in _f) {
		if(!array_key_exists(_f[ii],_t))
			return "";
		_t = _t[_f[ii]];
	}
	return _t;
}
function pp(_oa,_l) {
	if(!_l)
		_l = 1;
	var _out = "";
	if(_oa.constructor == Array || typeof(_oa) == "object")
		for(var ii in _oa) {
			if(_oa[ii] == null)
				continue;
			for(var xx = 0; xx < _l; xx++)
				_out += "\t";
			_out += "[" + ii + "] => ";
			if(_oa[ii].constructor == Array || typeof(_oa[ii]) == "object") {
				_out += typeof(_oa) + "\n" + pp(_oa[ii],_l+1);
			} else {
				_out += _oa[ii] + "\n";
			}
		}
	return _out;
}
function array_keys(_a) {
	var _k = new Array();
	for(var ii in _a)
		_k.push(ii);
	return _k;
}
function array_merge(_arry) {
	var _marr = {};
	for(var ii in _arry)
		for(var jj in _arry[ii]) 
			_marr[jj] = _arry[ii][jj];
	return _marr;
}
function ret(_c,_m) {
	return { "code" : _c , "mesg" : _m };
}
