var NN = false;
var IE = false;
var deletecode = 127;
var deletekey = 46;
var backspacecode = 8;
var dash = 45;
var dot = 46;
var underscore = 95;
var colon = 58;
var space = 32;
if (navigator.appName != 'Microsoft Internet Explorer')
  NN = true;
else
  IE = true;
var version = parseInt(navigator.appVersion);

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 changelanguage(lang) {
  document.forms['parent'].newlanguage.value = lang;
  document.forms['parent'].formaction.value = 'view';
  document.forms['parent'].submit();
}
function setImage(obj, fromimage, toimage) {
  image = obj.getAttribute('src');
  image = image.substr(0, image.indexOf(fromimage)) + toimage;
  obj.setAttribute('src', image);
}
function setover(obj) {
  setImage(obj, '.jpg', '_over.jpg');
}
function setout(obj) {
  setImage(obj, '_over.jpg', '.jpg');
}
function divover(obj) {
}
function divout(obj) {
}
function getEditButton() {
  buttonspane = document.getElementById("buttons");
  buttonspane.innerHTML = "<input type=button name=editbutton value='&nbsp;&nbsp;" + edit + "&nbsp;&nbsp;'  onclick=editfieldcontent()>";
}
function cancelupdate() {
  fieldvalue.innerHTML = values[selectedfiledid];
  getEditButton();
}
function updatefield() {
  thisform = document.forms['updatepane'];
  if (mandatory[selectedfiledid] == 'y' && isEmpty(thisform.udpatefield.value)) {
    alert(inputrequired);
    thisform.udpatefield.focus();
    return;
  }
  if (validation[selectedfiledid] == 'e' && !isEmpty(thisform.udpatefield.value) && !isEmail(thisform.udpatefield.value)) {
    alert(invalidemail);
    thisform.udpatefield.focus();
    return;
  }
  thisform.submit();
}
function editfieldcontent() {
  buttonspane.innerHTML = "<input type=button name=updatebutton value='&nbsp;&nbsp;" + update + "&nbsp;&nbsp' onclick=updatefield()>&nbsp;&nbsp;<input type=button name=cancelbutton value='&nbsp;&nbsp;" + cancel + "&nbsp;&nbsp' onclick=cancelupdate()>";
  if (validation[selectedfiledid] == 's') {
    src = "<select name=udpatefield>";
    for (i = 0; i < countryname.length; i++) {
      src += "<option value='" + i + "'";
      if (i == selectedcountry)
        src += " selected";
      src += ">" + countryname[i];
    }
    src += '</select>';
  }
  else {
    src = "<input type=text size=25 name=udpatefield value='" + values[selectedfiledid] + "'";
    if (sizes[selectedfiledid] != '')
      src += ' maxlength=' + sizes[selectedfiledid];
    if (validation[selectedfiledid] == 't')
      src += " onkeypress=checkcode(event,'t')";
    src += '>';
  }
  fieldvaluepane.innerHTML = src;
}
function editfield(obj,i) {
  if (selectedid == obj.id)
    return;

  oldid = document.getElementById(selectedid);
  oldid_i = document.getElementById(selectedid + "_i");
  oldid.style.backgroundColor = '#F3F4F4';
  oldid_i.style.backgroundImage = 'url(/images/action.gif)';
  selectedid = obj.id;
  obj.style.backgroundColor = '#DFE1E2';
  obj_i = document.getElementById(selectedid + "_i");
  obj_i.style.backgroundImage = 'url(/images/actionover.gif)';
  document.forms['updatepane'].currentfieldname.value = selectedid;
  document.forms['updatepane'].currentindex.value = i;
  document.getElementById("success").innerHTML = '';
  fieldnamepane = document.getElementById("fieldname");
  fieldnamepane.innerHTML = description[i];
  fieldvaluepane = document.getElementById("fieldvalue");
  fieldvaluepane.innerHTML = values[i];
  selectedfiledid = i;
  getEditButton();
}
function orderrollover(obj) {
  if (obj.id == selectedid)
    return;
  obj.style.backgroundColor = "#ccffff";
  obj.style.cursor = 'pointer';
}
function orderrollout(obj, orderref) {
  if (obj.id == selectedid)
    return;
  if (obj.id.substr(4) != orderref)
    obj.style.backgroundColor = "#cdfcb6";
  else
    obj.style.backgroundColor = "#ebeff1";
  obj.style.cursor = 'text';
}
function trrollover(obj) {
  if (obj.id == selectedid)
    return;
  obj.style.backgroundColor = "#FFFFFF";
  obj.style.cursor = 'pointer';
}
function trrollout(obj) {
  if (obj.id == selectedid)
    return;
  obj.style.backgroundColor = "#ebeff1";
  obj.style.cursor = 'text';
}
function publictrrollover(obj) {
  obj.style.backgroundColor = "#9C9494";
  obj.style.cursor = 'pointer';
}
function publictrrollout(obj) {
  obj.style.backgroundColor = "";
  obj.style.cursor = 'text';
}

function isURL(url) {
  var isurl = new RegExp('^[w]{3}.([a-z0-9-]+.)?[a-z]+.');
  if (window.RegExp)
    return isurl.test(url);
} 

function getWindow(url) {
  newWindow = window.open("http://" + url);
}

function getKeyCode(evt) {
  if (!IE)
    return evt.which;
  else
    return window.event.keyCode;
}

function getTargetObject(evt) {
  if (!IE)
    return evt.target;
  else
    return window.event.srcElement;
}

function isValidCode(code, type) {
  if (type == 'c' || type == 'm' || type == 'e')
    return true;
  if (code == deletecode || code == backspacecode || code == 0 || code == deletekey)
    return true;
  if (type == 'n' && code <= 57 && code >= 48)
    return true;
  if (type == 'a' && (code <= 90 && code >= 48 || code == space || code <= 122 && code >= 97))     return true;
  if (type == 't' && (code >= 40 && code <= 41 || code == space || code == dash || isValidCode(code, 'n')))
    return true;
  if (type == 'i' && (isValidCode(code, 'a') || isValidCode(code, 't')))
    return true;
  if (type == 'p' && (isValidCode(code, 'n') || code == 46))
    return true;
  if (type == 'd' && (isValidCode(code, 'n') || code == 45))
    return true;
  if (type == 'k' && (isValidCode(code, 'n') || code >= 65 && code <= 90 || code <= 122 && code >= 97 || code == dash))
    return true;
  if (type == 'f' && (isValidCode(code, 'k') || code == underscore || code == dot || code == colon))
    return true;
  if (type == 'z' && (code == colon || isValidCode(code, 'n')))
    return true;
  if (type == 'r' && (code >= 65 && code <= 90 || code <= 122 && code >= 97))
    return true;
  if (type == 'm' && (isValidCode(code, 'r') || code == space))
    return true;
  if (type == '-' && (isValidCode(code, 'p') || code == 45))
    return true;
  return false;
}

function checkcode(evt, type) {
  code = getKeyCode(evt);
  if (!isValidCode(code, type)) {
    if (!IE) {
      evt.returnValue = false;
      evt.cancel = true;
      return false;
    }
    else {
      window.event.returnValue=false;
      return false;
    }
  }
  return true;
}

function isDecimal(data) {
  var fullno = /^[-]?\d+\.\d{1,2}$/;
  if (window.RegExp)
    return (isNumber(data) || fullno.test(data));
}
function isNumber(data) {
//  var isnumber = /\[-]?D/;
  var isnumber = /^-{0,1}\d+$/;
  if (window.RegExp)
    return isnumber.test(data);
//    return !isnumber.test(data);
}

function isEmpty(data) {
  var nonempty = new RegExp('.+');
  if (window.RegExp)
    return !nonempty.test(data);
}

function isEmail(data) {
  var isemail = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,6}|[0-9]{1,3})(\]?)$/;
  var notemail = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/;
  if (window.RegExp) {
    if (!notemail.test(data) && isemail.test(data))
      return true;
    else
      return false;
  }
}
function getChildWindow(url, name) {
  return window.open(url, name, 'dependent,scrollbars=yes,toolbar=no,location=no,menubar=no, statusbar=no');
}
function getNewChildWindow(url, name, width, height) {
  newWindow = window.open(url, name, 'dependent,width=' + width + ',height=' + height + ',scrollbars=yes,toolbar=no,location=no,menubar=no, statusbar=no,left=50,screenX=50,top=50,screenY=50');
}
function isDate(data) {
  var isdate = new RegExp('[0-9]{1,2}[-]{1}[0-9]{1,2}[-]{1}[0-9]{4}');
  if (!isdate.test(data))
    return false;
  var entries = data.split("-");
  var month = parseInt(entries[1], 10) - 1;
  var date = new Date(parseInt(entries[2], 10), month, parseInt(entries[0], 10));

  if (month != date.getMonth())
    return false;
  return date.getTime();
}
function isID(data) {
  var isid = new RegExp('[A-Z,a-z]{1}[0-9]{6}[(]{1}[0-9]{1}[)]{1}');
  if (window.RegExp)
    return isid.test(data);
}
function isValidWidth(data, from, to) {
  var isvalidaWidth = new RegExp('^[A-Za-z0-9]{' + from + ',' + to + '}$');
  if (window.RegExp) {
    if (!isvalidaWidth.test(data))
      return false;
    else
      return true;
  }
}
function isTime(data) {
  var istime = new RegExp('[0-9]{1,2}[:]{1}[0-9]{1,2}[:]{1}[0-9]{1,2}');
  if (!istime.test(data))
    return false;
  var entries = data.split(":");
  var hh = parseInt(entries[0], 10);
  var mm = parseInt(entries[1], 10);
  var ss = parseInt(entries[2], 10);
  if (hh == 'NA' || mm == 'NA' || ss == 'NA' || hh >= 24 || mm > 60 || ss > 60)
    return false;
  return true;
}
function setOverImage(obj) {
  document.getElementById(obj).style.backgroundImage = "url(../images/navigationlinkover.gif)";
}
function setOutImage(obj) {
  document.getElementById(obj).style.backgroundImage = "url(../images/navigationlink.gif)";
}
function hasSpace(data) {
  var space= /\s/;
  if (window.RegExp)
    return space.test(data);
}
function isLetters(data) {
  for (i = 0; i < data.length; i++) {
    if (data.charCodeAt(i) > 127)
      return false;
  }
  return true;
}
function isIP(data) {
  var isip = /^\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b$/;
  return isip.test(data);
}

