var saved_content = "";

function hilite_content()
{
   if (_this_role == 'admin') {
      $("img.admin").css({display:"block"});
      $("img.admin").mouseover(function(){
         var id = $(this).attr("rel");
         $(id).css({border:"1px dotted #FF0000"});
      }).mouseout(function(){
         var id = $(this).attr("rel");
         var color = $(id).css("background-color");
         $(id).css({border:"1px solid "+color});
      });
   }
}

function save_content()
{
   if (saved_content.length == 0) {
      saved_content = $("div#CONTENT").html();
   }
}

function restore_content()
{
   if (saved_content.length > 0) {
      $("div#CONTENT").html(saved_content);
      saved_content = "";
      hilite_content();
   }
}

function clear_messages()
{
   $("div#MSG").empty();
   $("p.errmsg").hide();
}

function set_tip(id, tip)
{
   $(id).html(tip);
   $(id).show();
   return true;
}

function show_message( result)
{
   var name = "";
   var msg  = "";
   if (result.info && result.info.length > 0) {
      name = "info";
      msg  = result.info;
   } else if (result.error && result.error.length > 0) {
      name = "error";
      msg  = result.error;
   } else if (result.note && result.note.length > 0) {
      name = "note";
      msg  = result.note;
   } else if (result.success && result.success.length > 0) {
      name = "success";
      msg  = result.success;
   }
   if (name.length > 0 && msg.length > 0) {
      var html = '<span class="'+name+'">'+msg+"</span>";
      $("div#MSG").html(html);
      if (name != "error") restore_content();
      return true;
   } else {
      return false;
   }
}

function set_message( name, msg )
{
   var result = [];
   result[name] = msg;
   return show_message( result );
}


function done_login(result)
{
   if (result) {
      if (show_message(result)) return;
      window.location.reload();
   }
}

function do_logout(link)
{
   clear_messages();
   AjaxRequest({callback:done_login, url:link});
}

function do_login(link)
{
   var username = $("#login").val();
   var password = $("#pwd").val();

   if (username.length == 0) {
      set_message("error",_this_msgs["_username"]);
   } else if (password.length < 6) {
      set_message("error",_this_msgs["_pwdlen"]);
   } else {
      clear_messages();
      AjaxRequest({callback:done_login, url:link, args:[username,password]});
   }
}

function done_form1(result)
{
   if (result) {
      if (show_message(result)) return;
      if (result.html && result.html.length > 0) {
         save_content();
         $("div#CONTENT").html(result.html);
      }
   }
}

function do_cancelForm()
{
   restore_content();
   clear_messages();
}

function do_register(link)
{
   clear_messages();
   AjaxRequest({callback:done_form1, url:link});
}

function do_update(link)
{
   clear_messages();
   AjaxRequest({callback:done_form1, url:link});
}

function do_password(link)
{
   clear_messages();
   AjaxRequest({callback:done_form1, url:link});
}

function do_lost(link)
{
   var username = $("#login").val();

   if (username.length == 0) {
      set_message("note",_this_msgs["_username"]);
   } else {
      clear_messages();
      AjaxRequest({callback:done_form1, url:link, args:[username]});
   }
}

function done_form2(result)
{
   if (result) {
      if (show_message(result)) return;
      restore_content();
   }
}

function do_contact()
{
   clear_messages();
   AjaxRequest({callback:done_form1, url:_contact_link});
}

function do_submittedContact(link)
{
   var from    = $("#from").val();
   var subject = $("#subject").val();
   var nickname= $("#nickname").val();
   var message = $("#message").val();
   var captcha = $("#captcha").val();
   var is_err  = false;

   $("p.errmsg").hide();

   if (from.length == 0) {
      is_err = set_tip("#tipfrom", _this_msgs["_sender"]);
   }
   if (subject.length == 0) {
      is_err = set_tip("#tipsubject", _this_msgs["_subject"]);
   }
   if (message.length == 0) {
      is_err = set_tip("#tipmessage", _this_msgs["_message"]);
   }
   if (captcha.length != 6) {
      is_err = set_tip("#tipcaptcha", _this_msgs["_captcha"]);
   }
   if (!is_err) {
      clear_messages();
      AjaxRequest({callback:done_form2, url:link, args:[from,nickname,subject,message,captcha]});
   }
}

function do_email(link)
{
   clear_messages();
   var pageurl = window.location.href;
   AjaxRequest({callback:done_form1, url:link, args:[pageurl]});
}

function do_submittedEmail(link)
{
   var to      = $("#to").val();
   var from    = $("#from").val();
   var nickname= $("#nickname").val();
   var subject = $("#subject").val();
   var message = $("#message").val();
   var captcha = $("#captcha").val();
   var is_err  = false;

   $("p.errmsg").hide();

   if (to.length == 0) {
      is_err = set_tip("#tipto", _this_msgs["_recipient"]);
   }
   if (from.length == 0) {
      is_err = set_tip("#tipfrom", _this_msgs["_sender"]);
   }
   if (subject.length == 0) {
      is_err = set_tip("#tipsubject", _this_app["_subject"]);
   }
   if (message.length == 0) {
      is_err = set_tip("#tipmessage", _this_msgs["_msglen"]);
   }
   if (captcha.length != 6) {
      is_err = set_tip("#tipcaptcha",_this_msgs["_captcha"]);
   }
   if (!is_err) {
      clear_messages();
      AjaxRequest({callback:done_form2, url:link, args:[from,nickname,to,subject,message,captcha]});
   }
}

function do_submittedPassword(link)
{
   var password = $("#password").val();
   var again    = $("#again").val();
   var is_err   = false;

   $("p.errmsg").hide();

   if (password.length == 0) {
      is_err = set_tip("#tippassword", _this_msgs["_mustpwd"]);
   } else if (password.length < 6) {
      is_err = set_tip("#tippassword", _this_msgs["_pwdlen"]);
   }
   if (password != again) {
      is_err = set_tip("#tipagain", _this_msgs["_pwdnot"]);
   }
   if (!is_err) {
      clear_messages();
      AjaxRequest({callback:done_form2, url:link, args:[password]});
   }
}

function do_submittedRegister(link)
{
   var username = $("#username").val();
   var nickname = $("#nickname").val();
   var name     = $("#name").val();
   var password = $("#password").val();
   var again    = $("#again").val();
   var city     = $("#city").val();
   var country  = $("#country").val();
   var position = $("#position").val();
   var institution = $("#institution").val();
   var email    = $("#email").val();
   var language = $("#language").val();
   var question = $("#question").val();
   var answer   = $("#answer").val();
   var how      = $("#how").val();
   var visit    = $("#visit").val();
   var info     = $("#info").val();
   var newsletter = $("#newsletter").val();
   var suggestions = $("#suggestions").val();
   var captcha  = $("#captcha").val();
   var is_err   = false;

   $("p.errmsg").hide();

   if (username.length == 0) {
      is_err = set_tip("#tipusername", _this_msgs["_valuser"]);
   }
   if (name.length == 0) {
      is_err = set_tip("#tipname", _this_msgs["_fullname"]);
   }
   if (password.length == 0) {
      is_err = set_tip("#tippassword", _this_msgs["_mustpwd"]);
   } else if (password.length < 6) {
      is_err = set_tip("#tippassword", _this_msgs["_pwdlen"]);
   }
   if (password != again) {
      is_err = set_tip("#tipagain", _this_msgs["_pwdnot"]);
   }
   if (city.length == 0) {
      is_err = set_tip("#tipcity", _this_msgs["_city"]);
   }
   if (country == '?') {
      is_err = set_tip("#tipcountry", _this_msgs["_country"]);
   }
   if (position.length == 0) {
      is_err = set_tip("#tipposition", _this_msgs["_position"]);
   }
   if (institution.length == 0) {
      is_err = set_tip("#tipinstitution", _this_msgs["_institution"]);
   }
   if (email.length == 0) {
      is_err = set_tip("#tipemail", _this_msgs["_email"]);
   }
   if (language == '?') {
      is_err = set_tip("#tiplanguage", _this_msgs["_lang"]);
   }
   if (question == "0") {
      is_err = set_tip("#tipquestion", _this_msgs["_secret"]);
   }
   if (answer.length == 0) {
      is_err = set_tip("#tipanswer", _this_msgs["_answer"]);
   }
   if (captcha.length != 6) {
      is_err = set_tip("#tipcaptcha",_this_msgs["_captcha"]);
   }
   if (!is_err) {
      clear_messages();
      AjaxRequest({callback:done_form2, url:link, args:[username,nickname,password,name,city,country,institution,position,email,language,question,answer,how,visit,info,newsletter,suggestions,captcha]});
   }
}

function do_submittedUpdate(link)
{
   var id       = $("#id").val();
   var name     = $("#name").val();
   var city     = $("#city").val();
   var country  = $("#country").val();
   var position = $("#position").val();
   var institution = $("#institution").val();
   var email    = $("#email").val();
   var language = $("#language").val();
   var question = $("#question").val();
   var answer   = $("#answer").val();
   var how      = $("#how").val();
   var visit    = $("#visit").val();
   var info     = $("#info").val();
   var newsletter = $("#newsletter").val();
   var suggestions = $("#suggestions").val();
   var captcha  = $("#captcha").val();
   var is_err   = false;

   $("p.errmsg").hide();

   if (name.length == 0) {
      is_err = set_tip("#tipname", _this_msgs["_fullname"]);
   }
   if (email.length == 0) {
      is_err = set_tip("#tipemail", _this_msgs["_email"]);
   }
   if (language == '?') {
      is_err = set_tip("#tiplanguage", _this_msgs["_lang"]);
   }
   if (city.length == 0) {
      is_err = set_tip("#tipcity", _this_msgs["_city"]);
   }
   if (country == '?') {
      is_err = set_tip("#tipcountry", _this_msgs["_country"]);
   }
   if (position.length == 0) {
      is_err = set_tip("#tipposition", _this_msgs["_position"]);
   }
   if (institution.length == 0) {
      is_err = set_tip("#tipinstitution", _this_msgs["_institution"]);
   }
   if (question == "0") {
      is_err = set_tip("#tipquestion", _this_msgs["_secret"]);
   }
   if (answer.length == 0) {
      is_err = set_tip("#tipanswer", _this_msgs["_answer"]);
   }
   if (!is_err) {
      clear_messages();
      AjaxRequest({callback:done_form2, url:link, args:[id,name,city,country,institution,position,email,language,question,answer,how,visit,info,newsletter,suggestions]});
   }
}

function do_submittedAnswer(link)
{
   var answer   = $("#answer").val();
   var username = $("#login").val();
   var is_err   = false;

   $("p.errmsg").hide();

   if (answer.length == 0) {
      is_err = set_tip("#tipanswer",_this_msgs["_uranswer"]);
   }
   if (!is_err) {
      clear_messages();
      AjaxRequest({callback:done_form2, url:link, args:[username,answer]});
   }
}

function done_switch(newlink)
{
   window.location.href = newlink;
}

function switch_language(link)
{
   AjaxRequest({callback:done_switch,url:link});
}

function do_htm2pdf(link)
{
   var html = $("#CONTENT").html();
   AjaxRequest({callback:done_htm2pdf, url:link,args:[html,_this_title]});
}

function done_htm2pdf(result)
{
   if (result && result.url) window.location.href = result.url;
   else set_message("error",_this_msgs["_pdferr"]);
}

function do_print()
{
   var css = $("link[@rel*=style][@title=print]").attr("href");
   $("link[@rel*=style][@title=main]").attr("href",css);
   print();
}

function do_edit(link)
{
   window.location.href = link
}

function do_rss(link)
{
   window.location.href = link;
}

function do_jump(link)
{
   window.location.href = link;
}

function do_rssgoogle(link)
{
   window.location.href = 'http://fusion.google.com/add?feedurl='+link
}

/* button stuff --------------------------------------------------------------- */
function button_up(id, size)
{
   var link = _this_app + "/images/button"+size+"_right.gif";
   $("#"+id).css({background:"transparent url('"+link+"') no-repeat top right"});
   link = _this_app + "/images/button"+size+"_left.gif";
   switch (size) {
      case '20':
         $("#"+id+">span").css({background:"transparent url('"+link+"') no-repeat",padding:"3px 0 3px 18px"});
         break;
      case '24':
         $("#"+id+">span").css({background:"transparent url('"+link+"') no-repeat",padding:"4px 0 4px 18px"});
         break;
      case '28':
         $("#"+id+">span").css({background:"transparent url('"+link+"') no-repeat",padding:"5px 0 5px 18px"});
         break;
   }
}
function button_over(id)
{
   $("#"+id).css({color:"#36C"});
}
function button_out(id)
{
   $("#"+id).css({color:"#999"});
}
function button_dn(id, size)
{
   var link = _this_app + "/images/button"+size+"_right.gif";
   $("#"+id).css({background:"transparent url('"+link+"') no-repeat bottom right"});
   link = _this_app + "/images/button"+size+"_left.gif";
   switch (size) {
      case '20':
         $("#"+id+">span").css({background:"transparent url('"+link+"') no-repeat bottom left",padding:"4px 0 2px 18px"});
         break;
      case '24':
         $("#"+id+">span").css({background:"transparent url('"+link+"') no-repeat bottom left",padding:"5px 0 3px 18px"});
         break;
      case '28':
         $("#"+id+">span").css({background:"transparent url('"+link+"') no-repeat bottom left",padding:"6px 0 4px 18px"});
         break;
   }
}
/* end of button stuff -------------------------------------------------------- */

$(document).ready(function(){
   hilite_content();
   $("img[@src$=png]","input[@src$=png]").pngfix();
   $("#CONTENT a").each(function(){
      var href = $(this).attr('href');
      if (href.match(/http:(?!.*bridges-lac\.org)/)) {
         $(this).attr('target','_blank');
         $(this).addClass("previewlink");
      }
   });
});
