/* zi_global.js */
function init_onload() {
  window.name = 'main';
  if (document.getElementById('top_menu')) {ie_hack()};
  var form_mail = document.forms['form_mail'];
  if (form_mail) {load_fm_listeners(form_mail)};
}

function response(str) {
  alert(str);
}


/* MSIE menu fix  */
ie_hack = function() {
  if (document.all&&document.getElementById) {
    var root = document.getElementById('top_menu');
    if (root.hasChildNodes) {
    root = root.getElementsByTagName('ul')[0];
      for (i=0; i<root.childNodes.length; i++) {
        node = root.childNodes[i];
        if (node.nodeName=='LI') {
          node.onmouseover=function() {
          this.className+=' over';
          }
          node.onmouseout=function() {
          this.className=this.className.replace(' over', '');
          }
        }
      }
    }
  }
}

function to_html(str) {
  if (str && str.length>0) {
    //str = str.replace(/å/g,'&aring;');
    //str = str.replace(/ä/g,'&auml;');
    //str = str.replace(/ö/g,'&ouml;');
    //str = str.replace(/é/g,'&eacute;');
    //str = str.replace(/Å/g,'&Aring;');
    //str = str.replace(/Ä/g,'&Auml;');
    //str = str.replace(/Ö/g,'&Ouml;');
  }
  return str;
}

function html_decode(str) {
  if (str && str.length>0) {
    str = str.replace(/\+/g,' ');
    str = unescape(str);
  }
return str;
}

function split_qs(str) {
  var qs_var = new Object();
  str = str.replace(/\+/g,' ');
  var qs_arr = str.split('&');
  for (k=0;k<qs_arr.length;k++) {
    var qs_pos = qs_arr[k].indexOf('=');
    if (qs_pos==-1) continue;
    var qs_name = qs_arr[k].substring(0,qs_pos);
    var qs_valu = qs_arr[k].substring(qs_pos+1);
    qs_var[qs_name]=unescape(qs_valu);
  }
  return qs_var;
}

function check_email(str) {
  if (str.search(/^\w+((-\w+)|(.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) !=-1) {
    return true;
  } else {
    return false;
  }
}

function check_length(str,len) {
  if (str.length>=len) {
    return true;
  } else {
    return false;
  }
}

function format_html(str) {
  str = str.replace(/\n/g,'[br]')
  str = str.escapeHTML();
  str = str.replace(/\[br\]/gi,'<br />');
return str;
}


//--------------------------------------------------------------------------------------------------------------------------------------------
function load_fm_listeners(f) {
  var fe = f.elements;
  f.onkeyup = function () {validate_form(this)};
  f.onchange = function () {validate_form(this)};
  fe['send'].disabled = true;
  fe['cancel'].onclick = function () {clear_form(this.form)};
  fe['name'].focus();
  if (f.users) {ajax.doPost('includes/zi_ajax.php','action=get_contacts',print_public_contacts);};
}

function print_public_contacts(str) {
//alert(str);
  var arr = str.split(';');
  var us = document.forms[0].users;
  for (i=0;i<arr.length;i++) {
    var qs = split_qs(arr[i]);
    us[i]= new Option(qs.user_fname+' '+qs.user_lname,qs.user_email);
  }
}

function validate_form(f) {
  var fe = f.elements;
  var mail_ok = check_email(fe['email'].value);
  var name_ok = check_length(fe['name'].value,5);
  var subj_ok = check_length(fe['subject'].value,5);
  var mess_ok = check_length(fe['message'].value,10);
  if (mail_ok == true && name_ok == true && subj_ok == true && mess_ok == true) {
  //alert('ok');
    fe['send'].disabled = false;
    fe['send'].onclick = function () {send_mail(f)};
  }
}

function send_mail(f) {
  var fe = f.elements;
  var str = 'action=compile_mail';
  for (i=0;i<fe.length;i++) {
    if (fe[i].name=='message') {
      str += '&'+fe[i].name+'='+escape(format_html(fe[i].value));
    } else {
      str += '&'+fe[i].name+'='+fe[i].value;
    }
  }
  //alert(str.replace(/&/gi,'\n'));
  clear_form(f);
  ajax.doPost('includes/zi_ajax.php',str,response)
}

function clear_form(f) {
  var fe = f.elements;
  f.reset();
  for (i=0;i<fe.length;i++) {
    if (fe[i].type!='button') {
      fe[i].value = '';
    }
  }
}

//--------------------------------------------------------------------------------------------------------------------------------------------

onload = init_onload;