﻿function ut_ctrPopup(url, title, w, h) {
  var sw = screen.availWidth;
  var sh = screen.availHeight;
  var x = (sw - w) / 2;
  var y = (sh - h) / 2;
  var win = self.open(url, title, "menubar=0,resizable=1,scrollbars=1,width=" + w + ",height=" + h + ",left=" + x + ",top=" + y);
  win.focus();
}

function ut_getScreenWidth() {
  var width = screen.availWidth;

  if (document.body.clientWidth > 0 && document.body.clientWidth < width)
    width = document.body.clientWidth;

  if (document.documentElement.clientWidth > 0 && document.documentElement.clientWidth < width)
    width = document.documentElement.clientWidth;

  return width;
}

function ut_playSound(sndFile) {
  if (document.all)
    document.all.sound.src = "/ut/js/sound/" + sndFile + ".wav";
}

//function 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 getCheckedValue(radioObj) {
//  if(!radioObj) return "";
//  
//  var radioLength = radioObj.length;
//  if(radioLength == undefined)
//    return radioObj.checked ? radioObj.value : "";
//    
//  for(var i = 0; i < radioLength; i++) {
//    if(radioObj[i].checked) return radioObj[i].value;
//  }
//  alert(radioLength);
//  return "";
//}

//----- toggle on off DOM objects -----
function turnOn(objId) { ut_turnOnOff(objId, 'inline'); }
function turnOff(objId) { ut_turnOnOff(objId, 'none'); }
function ut_turnOnOff(objId, dspMode) {
  if (objId.indexOf(',') > 0) {
    var lst = objId.split(',');
    for (cnt = 0; cnt < lst.length; cnt++) {
      var obj = document.getElementById(lst[cnt]);
      if (obj) obj.style.display = dspMode;
    }
  } else {
    var obj = document.getElementById(objId);
    if (obj) obj.style.display = dspMode;
  }
}


function ut_batchToggle(objFmtId, isShow) {
  var x = 0;
  while (true) {
    x++;
    var groupObjId = document.getElementById(objFmtId + x.toString());
    if (groupObjId) {
      if (isShow)
        groupObjId.style.display = "inline";
      else
        groupObjId.style.display = "none";
    } else
      break;
  }
}

//----- cookie functions -----
function ut_getCookie(name) {
  var start = document.cookie.indexOf(name + '=');
  var len = start + name.length + 1;

  if (!start && name != document.cookie.substring(0, name.length)) return null;
  if (start == -1) return null;

  var end = document.cookie.indexOf(';', len);
  if (end == -1) end = document.cookie.length;

  return unescape(document.cookie.substring(len, end));
}

function ut_setCookie(name, value, expires, path, domain, secure) {
  var today = new Date();
  today.setTime(today.getTime());
  if (expires)
  { expires = expires * 1000 * 60 * 60 * 24; }

  var expires_date = new Date(today.getTime() + (expires));
  document.cookie = name + "=" +
    escape(value) +
    ((expires) ? ";expires=" + expires_date.toGMTString() : "") +
    ((path) ? ";path=" + path : "") +
    ((domain) ? ";domain=" + domain : "") +
    ((secure) ? ";secure" : "");
}

function ut_delCookie(name, path, domain) {
  if (ut_getCookie(name))
    document.cookie = name + '=' +
      ((path) ? ';path=' + path : '') +
      ((domain) ? ';domain=' + domain : '') +
      ';expires=Thu, 01-Jan-1970 00:00:01 GMT';
}

//----- batch action scripts -----
function ut_isBrwsrNescape() {
  return navigator.appName == "Netscape";
}

function ut_checkAllItem(cb, field) {
  var oItem = cb.children;
  var theBox = (cb.type == "checkbox") ? cb : cb.children.item[0];
  var form = theBox.form;
  for (var i = 0; i < form.elements.length; i++) {
    if (form.elements[i].type == "checkbox" && form.elements[i].id != theBox.id && form.elements[i].id.indexOf(field) != -1)
      form.elements[i].checked = theBox.checked;
  }
}

function ut_validGridAction(question, warn) {
  elm = document.forms[0].elements;
  for (var i = 0; i < elm.length; i++) {
    if (elm[i].type == "checkbox" && elm[i].id.indexOf('cbItem') != -1 && elm[i].checked == true) {
      if (question)
        return confirm(question);
      else
        return true;
    }
  }
  alert(warn);
  return false;
}

function ut_setFormDivPos(anchor, objId, adjx, adjy) {
  if (document.getElementById(anchor)) {
    var objPos = getAnchorPosition(anchor);
    var obj = document.getElementById(objId);
    obj.style.left = (objPos.x + adjx) + "px";
    obj.style.top = (objPos.y + adjy) + "px";
  }
}

function ut_setFormDivPosAjax(anchor, objId, adjx, adjy) {
  var pos = Sys.UI.DomElement.getLocation(anchor);
  Sys.UI.DomElement.setLocation($get(objId), pos.x + adjx, pos.y + adjy);
}

function isMouseLeaveOrEnter(e, handler) {
  e = e ? e : window.event;
  if (e.type != 'mouseout' && e.type != 'mouseover') return false;
  var reltg = e.relatedTarget ? e.relatedTarget : e.type == 'mouseout' ? e.toElement : e.fromElement;
  if (typeof reltg == 'undefined') {
    alert(e.target + ":" + e.type + ":" + e.relatedTarget + ":" + e.toElement + ":" + e.fromElement);
    return false;
  }
  while (reltg && reltg != handler) reltg = reltg.parentNode;
  return (reltg != handler);
}

var ut_timeOutId = new Array();
function showBatchActionMenu(anchorId, menuObjId, isAjax) {
  turnOn(menuObjId);

  if (isAjax == true)
    ut_setFormDivPosAjax($get(anchorId), menuObjId, 0, 15);
  else
    ut_setFormDivPos(anchorId, menuObjId, 0, 15);

  ut_timeOutId[menuObjId] = window.setTimeout("turnOff('" + menuObjId + "')", 1000);
}