
/* Standard Javascript library */
/* Feb 2009 AutoSOFT Systems */
/* http://www.autosoftsys.com */

function dispcont(cid){ document.getElementById(cid).style.display='block'; }
function dispcontfade(cid){
  var element = document.getElementById(cid);
  if (element.style.display != 'block') {
    element.style.display='none';
    changeOpac(1, cid);
    element.style.display="block";
    opacity(cid, 1, 100, 400);
  }
}
function hidecont(cid){ document.getElementById(cid).style.display='none'; }
function togglecont(cid){
  var element = document.getElementById(cid);
  if (element.style.display == 'block') 
    element.style.display='none';
  else dispcontfade(cid);
}

function swapcont(cid, oid){
  document.getElementById(cid).style.display='block';
  document.getElementById(oid).style.display='none'; 
}

function getY(id, levlim) {
  var obj = document.getElementById(id);
  var lev = 0;
  var curtop = 0;
  if (obj.offsetParent) 
    while(true) {
      lev++;
      curtop+=obj.offsetTop;
      if (!obj.offsetParent || lev == levlim) break;
      obj=obj.offsetParent;
    }
  else if (obj.y) 
    curtop+=obj.y;
  return curtop;
}

String.prototype.pluralize = function(count, plural) {
  if (plural == null) plural = this + 's';
  return (count == 1 ? this : plural)
}
function isInArray(needle, haystack) {
  needle = needle.toLowerCase();
  for (i=0; i < haystack.length; i++)
    if (haystack[i].toLowerCase() == needle) return true;
  return false;
}

function rusure(asktext) { return confirm(asktext); }

function swaptab(cur, cnt, nameroot) {
  for (var x = 1; x <= cnt; x++) {
    var tbox = document.getElementById(nameroot + x);
    var tb = document.getElementById(nameroot + x + 'but');
    if (x == cur) {
      tbox.style.display="block";
      tb.className = tb.className.replace('TabOFF','TabON');
    } else {
      tbox.style.display="none";
      tb.className = tb.className.replace('TabON','TabOFF');
    }
  }  
}

function setfocus(eid) { document.getElementById(eid).focus(); }

function upcase(txtobj) { txtobj.value = txtobj.value.toUpperCase(); }

function noSpaces(objEvent) {
  var iKeyCode=objEvent.keyCode ? objEvent.keyCode : objEvent.charCode;
  if(iKeyCode == 32) return false;
  return true;
}
function maskKeyPress(objEvent, allowdec) {
  // var iKeyCode=objEvent.keyCode ? objEvent.keyCode : objEvent.charCode;
  var iKeyCode=objEvent.charCode ? objEvent.charCode : objEvent.keyCode;
  if(iKeyCode >= 48 && iKeyCode <= 57) return true;
  if(iKeyCode == 8 || iKeyCode == 9) return true;
  if(allowdec && iKeyCode == 46) return true;
  if(iKeyCode == 13) return true;
  return false;
}
function getStyle(el,styleProp) {
	if (el.currentStyle)
		var y = el.currentStyle[styleProp];
	else if (window.getComputedStyle)
		var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
	return y;
}
function CancelEdit(headto) { 
  if (confirm('Cancel changes?')) {
    if (headto == '**ClosePop**') {
      tb_remove();
    } else {
      self.document.location=headto;
    }
  };
}
function CancelBack() { 
  if (confirm('Cancel changes?')) history.go(-1);
}
function iconon(name) { document.getElementById(name).src = 'icons/_active_' + name + '.gif' }
function iconoff(name) { document.getElementById(name).src = 'icons/' + name + '.gif' }

function LogOut(climode){ 
  if (confirm("Are you sure you want to log out?")) 
    self.document.location="logout.cfm?backto=" + climode;    
}

function opacity(id, opacStart, opacEnd, millisec) {
  //speed per frame
  var speed = Math.round(millisec / 100);
  var timer = 0;
  //determine the direction for the blending, if start and end are the same nothing happens
  if(opacStart > opacEnd) {
    for(i = opacStart; i >= opacEnd; i=i-2) {
      setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
      timer += 2;
    }
  } else if(opacStart < opacEnd) {
    for(i = opacStart; i <= opacEnd; i=i+2) {
      setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
      timer += 2;
    }
  }
}

function hilightBox(boxname,orgvalue) {
  if (boxname.value != orgvalue)
    boxname.style.backgroundColor = '#FFBBBB';
    else boxname.style.backgroundColor = "";
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
  var object = document.getElementById(id).style;
  object.opacity = (opacity / 100);
  object.MozOpacity = (opacity / 100);
  object.KhtmlOpacity = (opacity / 100);
  object.filter = "alpha(opacity=" + opacity + ")";
} 

function divtoggle(cid){
  var element = document.getElementById(cid);
  if (element.style.display == "block") {
    element.style.display="none";
  } else {
    element.style.display="none";
    changeOpac(1, cid);
    element.style.display="block";
    opacity(cid, 1, 100, 400);
  }
}

function divtogglefromcheck(checkid,cid){
  var checkbox = document.getElementById(checkid);
  var element = document.getElementById(cid);
  if (checkbox.checked) {
    element.style.display='none';
    changeOpac(1, cid);
    element.style.display='block';
    opacity(cid, 1, 100, 400);
  } else {
    element.style.display="none";
  }
}

function logoswap(x, y, directname, ID) {
  var logobox = document.getElementById('logoprev' + ID);
  var sizebox = document.getElementById('imgsize' + ID);
  sizebox.style.visibility = 'hidden';
	sizebox.innerHTML = '';
  logobox.style.visibility = 'hidden';
  logobox.width = x;
  logobox.height = y;
  if (directname == '') {
    var logodrop = document.getElementById('FLogo' + ID);
    var selindex  = logodrop.selectedIndex;
    var selvalue = logodrop.options[selindex].value;
  } else 
    selvalue = directname;
  if (selvalue !== '') {
    var newImg = new Image();
    this.ip = new ImagePreloader('logos/' + selvalue, logoswap2, ID);
  }  
}

function logoswap2(newImg, status, ID){
  if (status) {
    var logobox = document.getElementById('logoprev' + ID);
    var sizebox = document.getElementById('imgsize' + ID);
    // Resizing image
  	var y = logobox.height;
    var x = logobox.width;
  	var imageWidth = newImg.width;
  	var imageHeight = newImg.height;
  	sizebox.innerHTML = 'Original size:<br>Width: ' + imageWidth + ' &nbsp;&nbsp;&nbsp;Height: ' + imageHeight;
    if (imageHeight > y) {
      imageWidth = imageWidth * (y / imageHeight); 
      imageHeight = y; 
    }
  	if (imageWidth > x) {
  		imageHeight = imageHeight * (x / imageWidth); 
  		imageWidth = x; 
  	}
    logobox.src = newImg.src;
    logobox.width = imageWidth;
    logobox.height = imageHeight;
    logobox.style.visibility = 'visible';
    sizebox.style.visibility = 'visible';
  }
}

function ImagePreloader(image, callback2, ID) {
  // store the call-back
  this.bStatus = false;
  this.ID = ID;
  this.callback = callback2;
  this.preload(image);
}
ImagePreloader.prototype.preload = function(imgurl) {
  var oImage = new Image;
  this.aImg = oImage;
  // set up event handlers
  oImage.onload = ImagePreloader.prototype.onload;
  oImage.onerror = ImagePreloader.prototype.onerror;
  oImage.onabort = ImagePreloader.prototype.onabort;
  // assign pointer back to this.
  oImage.oImagePreloader = this;
  oImage.bLoaded = false;
  // begin loading
  oImage.src = imgurl;
}
ImagePreloader.prototype.onComplete = function(bStatus) {
  this.callback(this.aImg, bStatus, this.ID);
}
ImagePreloader.prototype.onload = function() {
  this.oImagePreloader.onComplete(true);
}
ImagePreloader.prototype.onerror = function() {
  this.oImagePreloader.onComplete(false);
}
ImagePreloader.prototype.onabort = function() {
   this.oImagePreloader.onComplete(false);
}

function ButtonCBOnOff(typename, block) {
  var divobj = document.getElementById('BTdiv' + typename);
  var chkobj = document.getElementById('FBadgeType' + typename);
  if (chkobj.checked) {
    divobj.className = divobj.className.replace('BadgeTypeOFF','BadgeTypeON');
  } else {
    divobj.className = divobj.className.replace('BadgeTypeON','BadgeTypeOFF');
  }
}

function delitem(delmode, itemid, desc) {
  var goflag = true;
  switch(delmode) {
  case "V":
    var desc2 = "vendor?";
    var module = "delitem";
    break;
  case "E":
    var desc2 = "event?";
    var module = "delitemcli";
    break;
  default:
    var goflag = false;
  }  
  if (goflag) {
    if (desc != '') desc2 += "\n\n" + desc;  
    if (confirm("Are you sure you want to delete this " + desc2)) {
      self.document.location= module + ".cfm?mode=" + delmode + "&id=" + itemid;    
    };
  }
}

