//
// Hide e-mail addresses
//
// originally by Sune.Karlsson/at/hhs.se, 2003-04-25

function Obfuscate( b, a, t ) {
  document.write( '<a ' 
  + ( t ? ( 'title="' + t + '" ' ) : '' ) 
  + 'href="mailto:' + a + '&#64;' + b + '">' + a +  '&#64;' + b + '</a>' );
}


function Obfuscate_wbody( b, a, attr, body ) {
  document.write( '<a ' + ( attr ? ( attr ) : '' )
  + 'href="mailto:' + a + '&#64;' + b + '">' + body + '</a>' );
}


function get(obj) {
  if ( typeof obj == "string" && document.getElementById ) {
    obj = document.getElementById(obj);
  }
  return obj;
}


function setCookie( name, value, days, path, domain ) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();

  } else {
    expires = "";
  }
  document.cookie = name+"="+ encodeURIComponent(value) 
     + expires
     + '; path=' + (path ? path : '/')
     + ( domain ? ";domain="+domain : '');
}


function readCookieQuick(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for ( var i=0; i < ca.length; i++ ) {
    var c = ca[i];
    while ( c.charAt(0)==' ' ) c = c.substring(1,c.length);
    if ( c.indexOf(nameEQ) == 0 ) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

function getCookie( name ) {  // from meetup.com/scripts/global.js
  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;
  
  if ( typeof decodeURIComponent == 'function') {
    return decodeURIComponent( document.cookie.substring( len, end ) );
  } else {
    return unescape( document.cookie.substring( len, end ) );
  }
}



// from http://simon.incutio.com/archive/2004/05/26/addLoadEvent
function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof oldonload != 'function') {
        window.onload = func;
    } else {
        window.onload = function() {
            oldonload();
            func();
        }
    }
}



function prepare_comment_form() {
    var form = get( 'talk' );
    if ( form && typeof form == 'object' ) {

      form.onsubmit = function() {
        var post = form.elements["post"];
        var name = form.elements["name"];
        var email= form.elements["email"];

        if ( !post.value ) {
          alert( "Вы забыли сказать!" );
          post.focus();
          return false;
        }
        if ( !name.value ) {
          alert( "Вы забыли представиться!" );
          name.focus();
          return false;
        }
        if ( !email.value ) {
          alert( "Куда ж мы без вашего email адреса?" );
          email.focus();
          return false;
        }
        return true;
      }

      var name  = getCookie( "name" );
      var email = getCookie( "email" );
      var site  = getCookie( "site" );
      if ( name || email || site ) {
        form.elements["name"].value  = name  || '';
        form.elements["email"].value = email || '';
        form.elements["site"].value  = site  || '';

        var checkbox = get('rmmbr').getElementsByTagName('input')[0];
        var label    = get('rmmbr').getElementsByTagName('label')[0];

        $(label).html( " уже помним тебя <small id='forget_user'>"+
                       "(<a href='#' onclick='return forget_user();'>забыть</a>)</small>" );
        checkbox.setAttribute('disabled', 'true');
       
      }
    }

}



function forget_user () {

  var name  = getCookie( "name" );
  var email = getCookie( "email" );
  var site  = getCookie( "site" );

  setCookie( "name",  '' );
  setCookie( "email", '' );
  setCookie( "site",  '' );
  $("forget_user").remove;

  var checkbox = get('rmmbr').getElementsByTagName('input')[0];
  var label    = get('rmmbr').getElementsByTagName('label')[0];

  checkbox.removeAttribute( 'disabled' );
  $(label).html( " запомнить меня" );

  var form = get( 'talk' );
  if ( form ) {
    if ( form.elements["name"].value == name ) {
       form.elements["name"].value = '';
    }
    if ( form.elements["email"].value == email ) {
       form.elements["email"].value = '';
    }
    if ( form.elements["site"].value == site ) {
       form.elements["site"].value = '';
    }
  }

  return false;
}


addLoadEvent( prepare_comment_form );
addLoadEvent( setWidth );

window.onresize = setWidth;

function setWidth() {
  var specimen = get( 'measure' );
  var width = 0;
  if ( specimen ) {
    width = specimen.style.pixelWidth ||
            specimen.clientWidth ||
            specimen.offsetWidth ||
            specimen.innerWidth;
  }
  if ( width ) {
    var messagearea = get( 'post' );
    $(messagearea).css( 'width', width+"px" );
    messagearea.style.width = width+"px";
  }
}



function create_example () {
  var form = get( "talk" );              // $(form).append(...)
  var table;
  var td;
  form.appendChild( 
    table = create( "table", {id: 'new', cols:3}, 
        create( "tbody", {},
            create( "tr", {}, 
                    create( "td", { width: '10%' }, 
                            "hello" ),

               td = create( "td", { STYLE: 'background: #fcc' }, 
                            "there" ),

                    create( "td", { Class: 'special2' }, "the other stuff" )
                    ) ) 
      )
  );
}

function create( name, attributes ) {
  var el = document.createElement( name );
  if ( typeof attributes == 'object' ) {
    for ( var i in attributes ) {
      el.setAttribute( i, attributes[i] );

      if ( i.toLowerCase() == 'class' ) {
        el.className = attributes[i];

      } else if ( i.toLowerCase() == 'style' ) {
        el.style.cssText = attributes[i];
      }
    }
  }
  for ( var i = 2; i<arguments.length; i++ ) {
    var val = arguments[i];
    if ( typeof val == 'string' ) { val = document.createTextNode( val ) };
    el.appendChild( val );
  }
  return el;
}
