var d = document;

function setDisplay(id,str) {d.getElementById(id).style.display = str;}
function setInnerHTML(id,str) {d.getElementById(id).innerHTML = str;}
function setValue(id,val) {d.getElementById(id).value = val;}

function toggleDisplay(obj) {
	if (document.getElementById(obj).style.display = "block") {
		document.getElementById(obj).style.display = "none";
	} else {
		document.getElementById(obj).style.display = "block";
	}
}

function newWindow(x_url,w,h,x_blnScroll,x_blnResize){
	var settings = ""
	if (w) {settings='width='+w} else {settings='width=300'}
	if (h) {settings=settings+',height='+h}
	if (x_blnScroll) {settings=settings+',scrollbars=yes'} else {settings=settings+',scrollbars=no'}
	if (x_blnResize) {settings=settings+',resizable=yes'} else {settings=settings+',resizable=no'}
	/*if(pos=="random"){
		LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;
		TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
	if(pos=="center"){
		LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;}
	else if((pos!="center" && pos!="random") || pos==null){
		LeftPosition=0;TopPosition=20}*/
	settings=settings+',location=no,directories=no,status=no,menubar=no,toolbar=no';
//	alert("settings = " + settings)
	var popUp = window.open(x_url,'popUp',settings);
	if (window.focus) {popUp.focus()}
}

function popup(x_url){
	var settings='width=800,height=782,scrollbars=yes,resizable=yes,location=no,directories=no,status=no,menubar=no,toolbar=no';
	var popup = window.open('/rw/info/' + x_url,'newpopup',settings);
	if (window.focus) {popUp.focus()}
}

function loadAtRandom() {
	// called like: document.write("<img src='images/" + loadAtRandom("img1.jpg","img2.jpg","img3.jpg") + "'>")
	var argLength = loadAtRandom.arguments.length;
	// Load arguments into an array
	var ary = new Array(argLength);
	for (i=0;i<argLength;i++) {
		ary[i] = loadAtRandom.arguments[i];
	}
	var intRnd=Math.floor(Math.random()*argLength) // random number
	//alert("chosen one = " + ary[intRnd]);
	return ary[intRnd]
}

// FORM FUNCTIONS
function rbTrigger(rb) { //example: rbTrigger(this,'tblID1',tblID2',etc...)
	var ids = rbTrigger.arguments;
	if (rb.checked) {
		for (i=1;i<ids.length;i++) {
			//alert("var = " + ids[i]);
			setDisplay(ids[i],'block');
		}
	}
}
function rbCollapse(rb) {
	var ids = rbCollapse.arguments;
	if (rb.checked) {
		for (i=1;i<ids.length;i++) {
			//alert("var = " + ids[i]);
			setDisplay(ids[i],'');
		}
	}
}
function validateNSubmit(form) { 
	// example: <form onsubmit=return validateNSubmit(this.form,'txtUserName',txtPassword',etc...)>
	var args = validateNSubmit.arguments;
	for (i=1;i<=args.length;i++) {
		var e = d.getElementsByName(args[i])[0];
		if (e.value!="") {	return false }	else { return true; 	}
		//alert("e = " + e.name);
	}
}

// STRING FUNCTIONS
function isValid(x_pattern, str) {
	return x_pattern.test(str);
}

String.prototype.stripChars = function(x_pattern) {
	return this.replace(x_pattern, "");
}

function replaceChars(pattern, str, replace) {
	return str.replace(pattern, replace);
}

String.prototype.trim=function(){
    return this.replace(/^\s*|\s*$/g,'');
}

String.prototype.ltrim=function(){
    return this.replace(/^\s*/g,'');
}

String.prototype.rtrim=function(){
    return this.replace(/\s*$/g,'');
}

// DEBUG FUNCTIONS
function alertAllArgs(args) {
	// called like "alertAllArgs([funcName].arguments);"
	var strOfArgs=""
	for (i=0;i<args.length;i++) {
		strOfArgs = strOfArgs + args[i] + "\r\n"
	}
	alert('strOfArgs = ' + strOfArgs);
}

function getBrowserInfo() {
	alert("you're using " + navigator.appName + ", version " + navigator.appVersion)
}
// DATE FUNCTIONS
function mmddyy() { // returns today's date obj in mm/dd/yy format
	// if x_dt is "", then today's date
	var dt = new Date();
	var mm = dt.getMonth()+1;
	var dd = dt.getDate();
	var yy = dt.getFullYear();
	return mm+"/"+dd+"/"+yy;
}
