jQuery.noConflict();

/*
 * Functions usage:
 * randOrd: 'assess' and 'targets' modules
 * trim: several modules
 * move_up, move_down: 'data' module('items' page)
 * set_user_timezone: several modules
 */

function randOrd(a, b){
  return (Math.round(Math.random())-0.5);
};

function trim(stringToTrim) {
  return stringToTrim.replace(/^\s+|\s+$/g,"");
};

/*
 * Move up and down elements from a DOM container
 */
function move_up(movable_id) {
  var movable = $(movable_id);
  var parent = movable.parentNode;
  var target = movable.previousSibling;
  while (target != null && target.nodeType != 1) {
    target = target.previousSibling;
  }
  if (target) {
    parent.insertBefore(movable, target);
  }
};
function move_down(movable_id) {
  var movable = $(movable_id);
  var target = movable.nextSibling;
  while (target != null && target.nodeType != 1) {
    target = target.nextSibling;
  }
  if (target) {
    move_up(target.id);
  }
};

function set_user_timezone(server_script_name) {
  var visitortime = new Date();
  var user_timezone = visitortime.getTimezoneOffset();

  if (user_timezone <= 0) {
    user_timezone = Math.abs(user_timezone);
  }
  else {
    user_timezone = -user_timezone;
  }

  var page_request = false
  if (window.XMLHttpRequest) {
    page_request = new XMLHttpRequest();
  }
  else if (window.ActiveXObject) {
    try {
      page_request = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e){
      try {
        page_request = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (e) {}
    }
  }
  else {
    return false;
  }

  page_request.open('POST', server_script_name + '/timezone/setUserTimezone', true);
  params = 'user_timezone=' + user_timezone;
  page_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  page_request.setRequestHeader("Content-length", params.length);
  page_request.setRequestHeader("Connection", "close");
  page_request.send(params);
};