/* 
 * common.js
 *   Some helper functions 
 *
 */
 
 
 
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

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 MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

 
/* 
 * toggleElement(element, toggleState)
 * 
 * Function shows/hides an element by id 
 *
 */
function toggleElement(element, toggleState) {
  var toggleObject = document.getElementById(element);  
  if(toggleState == true) {
    toggleObject.style.display = '';
  } else {
    toggleObject.style.display = 'none';
  }
}
 
// return the value of the radio button that is checked
// return an empty string if none are checked, or
// there are no radio buttons
function radio_getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

// set the radio button with the given value as being checked
// do nothing if there are no radio buttons
// if the given value does not exist, all the radio buttons
// are reset to unchecked
function radio_setCheckedValue(radioObj, newValue) {
	if(!radioObj)
		return;
	var radioLength = radioObj.length;
	if(radioLength == undefined) {
		radioObj.checked = (radioObj.value == newValue.toString());
		return;
	}
	for(var i = 0; i < radioLength; i++) {
		radioObj[i].checked = false;
		if(radioObj[i].value == newValue.toString()) {
			radioObj[i].checked = true;
		}
	}
}
function in_array(sVal, sArray) {
  for(var i = 0, l = sArray.length; i < l; i++) {
		if(sArray[i] == sVal) {
			return true;
		}
	}
	return false;
}
/*
Array.prototype.in_array = function(p_val) {
	for(var i = 0, l = this.length; i < l; i++) {
		if(this[i] == p_val) {
			return true;
		}
	}
	return false;
}
*/
function get_arrayKey(sVal, sArray) {
  for(var i = 0, l = sArray.length; i < l; i++) {
		if(sArray[i] == sVal) {
			return i;
		}
	}
	return false;
}
function zerofill(text, len) {
  text = text.toString();
	while(text.length < len) {
	  text = '0' + text;
	}
	return text;
}
function is_array( mixed_var ) {
    return ( mixed_var instanceof Array );
}

function splitTime(text) {
  text = text.toString();
  return text.substring(0, 2) + ':' + text.substring(2, 4);
}



// open window  
function openNewWin(mypage,myname,w,h,t,scr,m,st,loc,r){   
  var cfg;
	if(w) cfg = 'width=' + w + ',';
  if(h) cfg += 'height=' + h + ',';
  if(t) cfg += 'toolbar=' + t + ',';
  if(scr) cfg += 'scrollbars=' + scr + ',';
  if(m) cfg += 'menubar=' + m + ',';
  if(st) cfg += 'status=' + st + ',';
  if(loc) cfg += 'location=' + loc + ',';
  if(r) cfg += 'resizable=' + r;
  var popup =
    window.open(mypage,myname,cfg);
	 
  popup.focus();
}

