// JavaScript Document
function init(type, s) {
	switch (type) {
	case 1:
		var str = "document.form."+s+".focus();";
		eval(str);
		break;
	case 2:
		var str;
		str = "var n = document.form."+s+".value;";
		eval(str);
		if (n == '')
			break;
		n = parseFloat(n);
		str = "document.form."+s+".value = n.toFixed(2);";
		eval(str);
		break;
	}
}

function adjustWidth() {
	if (resize) {
		document.getElementById(resize).style.width = (document.body.clientWidth-10) + 'px';
	}
}

//Random password generator- by javascriptkit.com
//Visit JavaScript Kit (http://javascriptkit.com) for script
//Credit must stay intact for use
function genRandPW(len) {
	var keylist = 'abcdefghjkmnpqrstuvwxyz23456789';
	var temp = '';
	for (i = 0; i < len; i++)
		temp += keylist.charAt(Math.floor(Math.random() * keylist.length))
	return temp
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function padright(val, ch, num){
	if (val.length == num)
		return val;
	var re = new RegExp("^.{" + num + "}");
	var pad = "";
	do {
		pad += ch;
	} while (pad.length < num)
	return re.exec(val + pad);
}

function padleft(val, ch, num) {
	if (val.length == num)
		return val;
	var re = new RegExp(".{" + num + "}$");
	var pad = "";
	do  {
		pad += ch;
	} while (pad.length < num)
	return re.exec(pad + val);
}

function left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}
function right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}

function timemask(t) {
	var donepatt = /^(\d{2}):(\d{2}):(\d{2})$/;
	var patt0 = /(\d{4})/;
	var patt1 = /(\d{1,2}).+?(\d{1,2}).+?(\d{1,2})/;
	var patt2 = /(\d{1,2}).+?(\d{1,2})/;
	var patt3 = /(\d{1,2})/;
	var str = t.value;
	if (!str.match(donepatt)) {
		result = str.match(patt0);
		if (result !=  null) {
			if (result[1] > 2359) {
				t.value = '';
				return;
			}
			str = padleft(result[1], '0', 4);
			str = left(str, 2) + ':' + right(str, 2) + ':00';
			t.value = str;
		} else {
			result = str.match(patt1);
			if (result != null) {
				if (result[1] > 23 || result[2] > 59 || result[3] > 59) {
					t.value = '';
					return;
				}
				str = padleft(result[1], '0', 2) + ':' + padleft(result[2], '0', 2) + ':' + padleft(result[3], '0', 2);
				t.value = str;
			} else {
				result = str.match(patt2);
				if (result != null) {
					if (result[1] > 23 || result[2] > 59) {
						t.value = '';
						return;
					}
					str = padleft(result[1], '0', 2) + ':' + padleft(result[2], '0', 2) + ':00';
					t.value = str;
				} else {
					result = str.match(patt3);
					if (result != null) {
						if (result[1] > 23) {
							t.value = '';
							return;
						}
						str = padleft(result[1], '0', 2) + ':00:00';
						t.value = str;
					} else {
						if (t.value.match(/[^\d]/gi))
							t.value = t.value.replace(/[^\d]/gi,'');
					}
				}
			}
		}
	}
}

function timemask_short(t) {
	var donepatt = /^(\d{2}):(\d{2})$/;
	var patt0 = /(\d{4})/;
	var patt1 = /(\d{1,2}).+?(\d{1,2}).+?(\d{1,2})/;
	var patt2 = /(\d{1,2}).+?(\d{1,2})/;
	var patt3 = /(\d{1,2})/;
	var str = t.value;
	if (!str.match(donepatt)) {
		result = str.match(patt0);
		if (result !=  null) {
			if (result[1] > 2359) {
				t.value = '';
				return;
			}
			str = padleft(result[1], '0', 4);
			str = left(str, 2) + ':' + right(str, 2);
			t.value = str;
		} else {
			result = str.match(patt1);
			if (result != null) {
				if (result[1] > 23 || result[2] > 59 || result[3] > 59) {
					t.value = '';
					return;
				}
				str = padleft(result[1], '0', 2) + ':' + padleft(result[2], '0', 2);
				t.value = str;
			} else {
				result = str.match(patt2);
				if (result != null) {
					if (result[1] > 23 || result[2] > 59) {
						t.value = '';
						return;
					}
					str = padleft(result[1], '0', 2) + ':' + padleft(result[2], '0', 2);
					t.value = str;
				} else {
					result = str.match(patt3);
					if (result != null) {
						if (result[1] > 23) {
							t.value = '';
							return;
						}
						str = padleft(result[1], '0', 2) + ':00';
						t.value = str;
					} else {
						if (t.value.match(/[^\d]/gi))
							t.value = t.value.replace(/[^\d]/gi,'');
					}
				}
			}
		}
	}
}

function datemask(t) {
	if (t.value.length == 0)
		return;
	var donepatt = /^(\d{2})[\-\\\/](\d{2})[\-\\\/](\d{4})$/;
	var patt1 = /^(\d{1,2}).+?(\d{1,2}).*(\d{4})$/;
	var patt2 = /^(\d{1,2}).+?(\d{1,2}).*(\d{2})$/;
	var patt3 = /^(\d{1,2}).+?(\d{1,2})$/;
	var str = t.value;
	if (!str.match(donepatt)) {
		result = str.match(patt1);
		if (result != null) {
			if (result[1] > 12 || result[2] > 31) {
				t.value = '';
				return;
			}
			str = padleft(result[1], '0', 2) + '-' + padleft(result[2], '0', 2) + '-' + result[3];
			t.value = str;
		} else {
			result = str.match(patt2);
			if (result != null) {
				if (result[1] > 12 || result[2] > 31) {
					t.value = '';
					return;
				}
				str = padleft(result[1], '0', 2) + '-' + padleft(result[2], '0', 2) + '-20' + result[3];
				t.value = str;					
			} else {
				result = str.match(patt3);
				if (result !=null) {
					if (result[1] > 12 || result[2] > 31) {
						t.value = '';
						return;
					}
					var d = new Date();
					str = padleft(result[1], '0', 2) + '-' + padleft(result[2], '0', 2) + '-' + d.getFullYear();
					t.value = str;
				} else
					t.value = '';
			}
		}
	} else {
		t.value = t.value.replace(/\\/gi,'-');
		t.value = t.value.replace(/\//gi,'-');
	}
}

function jm_currencymask(t) {
	if (t.value.length == 0)
		return;
	var org = t.value;
	var patt = /(\d*)\.{1}(\d{0,2})/;
	var donepatt = /^(\d*)\.{1}(\d{2})$/;
	var str = t.value;
	var result;
	if (!str.match(donepatt)) {
		result = str.match(patt);
		if (result != null) {
			str = result[1] + '.' + result[2] ;
			t.value = str;
		} else {
			if (t.value.match(/[^\d]/gi))
				t.value = t.value.replace(/[^\d]/gi,'');
		}
	}
	str = parseFloat(t.value);	
	t.value = str.toFixed(2);
	if (t.value == 'NaN')
		t.value = '';
}

function jm_phonemask(t) {
	var patt1 = /(\d{3}).*(\d{3}).*(\d{4})/;
	var patt2 = /^\((\d{3})\).(\d{3})-(\d{4})$/;
	var patt3 = /^(\d{3})-(\d{4})$/;
	var patt4 = /(\d{3}).*(\d{4})/;
	var str = t.value;
	
	var result;
	if (!str.match(patt2) && !str.match(patt3)) {
		result = str.match(patt1);
		if (result != null) {
			str = '(' + result[1] + ') ' + result[2] + '-' + result[3];
			t.value = str;
		} else {
			result = str.match(patt4);
			if (result !=null) {
				str = result[1] + '-' + result[2];
				t.value = str;				
			} else {
				if (t.value.match(/[^\d]/gi))
					t.value = t.value.replace(/[^\d]/gi,'');
			}
		}
	}
}