/*
			btt - back to top
			---------------------------------------------------
			installs a sliding back to top function on the page

--------------------------------------------------------------------------------- */
function btt_install( ) {
	if( !document.getElementsByTagName ) { return; }
	var a, i = 0;
	while(( a = document.getElementsByTagName( 'a' )[i++] )) {
		if( '#top' == a.getAttribute( 'href' )) {
			a.onclick = function() { backToTop(); return false; }
		}
	}
}

function backToTop() {
	var x1 = x2 = x3 = 0;
	var y1 = y2 = y3 = 0;

	if( document.documentElement ) {
		x1 = document.documentElement.scrollLeft || 0;
		y1 = document.documentElement.scrollTop || 0;
	}

	if( document.body ) {
		x2 = document.body.scrollLeft || 0;
		y2 = document.body.scrollTop || 0;
	}

	x3 = window.scrollX || 0;
	y3 = window.scrollY || 0;

	var x = Math.max( x1,Math.max( x2,x3 ));
	var y = Math.max( y1,Math.max( y2,y3 ));

	window.scrollTo( Math.floor( x /2),Math.floor( y /2 ));

	if( x > 0 || y > 0 ) {
		window.setTimeout( 'backToTop()',25 );
	}
	return false;
}


/*		function extTarget( )
			JM & AP
			r4 - 2006/05/31

			changes target on external links
			so that they open in a new window
--------------------------------------------------------------------------------- */
function extTarget() {
    var a = document.links;
    var n = '';
    for( var i = 0; i < a.length; i++ ) {
        n = a[i].hostname;
        if(( '' != n ) && ( n != window.location.hostname )) { a[i].target = '_blank'; }
    }
}

/*
			code from pivot
			changes target on external links
			so that they open in a new window
--------------------------------------------------------------------------------- */
/*
function open_preview( code ) {
  window.open( 'entry.php?id=' +code,'preview','toolbar=yes,status=yes,location=yes,scrollbars=yes,resizable=yes,width=600,height=450' );
}

function open_win(url, title, params) {
  if (window.open(url, title, params)) {
	} else {
		alert( 'La fen&circ;tre a &eacute;t&eacute; bloqu&eacute;e par votre navigateur web.' );
		document.getElementById( 'note' ).innerHTML = '<div style="border:1px solid #999; padding:4px;">Cliquez <a href="' +url +'" onclick="window.open( \'' +url+ '\',\'' +title +'\',\'' +params +'\' );return false;">ici</a> pour ouvrir la fen&ecirc;tre demand&eacute;e.</div>";
	}
}
*/


/*		Textarea resizer stuff.. found in pivot

			This code is based on the work of max: http://www.doenietzomoeilijk.nl,
			and is used with his permission.
------------------------------------------------------------------------------ */
//		resizebox start

var currentresizer = '';
var currentheight  = '';

var startpos  = 0;
var diffpos   = 0;
var handled   = false;
var is_safari = false;

if( navigator.userAgent.match( 'Safari' )) { is_safari = true; }

function DMD( Event ) {
	if( is_safari ) {
		startpos = Event.pageY;
	} else if( !document.all ) {
		startpos = Event.screenY;
	} else {
		startpos = event.clientY;
	}
	currentresizer = this.resizer;	
	currentheight  = parseInt( document.getElementById( currentresizer ).style.height );

	handled = true;
	return false;
}

function DMU( Event ) {
	handled = false;
	return false;
}

function DMM( Event ) {

	if( handled ) {
		if( is_safari ) {
			curpos = Event.pageY;
		} else if( !document.all ) {
			curpos = Event.screenY;
		} else {
			curpos = event.clientY;
		}

		diffpos = startpos - curpos;
		if(( diffpos > -800 ) && ( diffpos < 400 )) {
			document.getElementById( currentresizer ).style.height = currentheight -diffpos +'px';
		}
	}
}

function resizer_install( msg ) {

	//		make sure opera doesn't add 5 resizers.
	if( handled == true ) { return; }
//	handled = true;

	var elms = document.getElementsByClassName( 'resizable' );
	for( i = 0; i < elms.length; i++ ) {
		var elm = elms[i];

		//		wrapper around textarea
		wrapper = document.createElement( 'DIV' );
		wrapper.className = 'resizerWrapper';
		elm.parentNode.replaceChild( wrapper,elm );
		wrapper.appendChild( elm );
		wrapper.style.width = elm.style.width;

		//		add the resizer to the wrapper
		bigger = document.createElement( 'HR' );
		bigger.resizer   = elm.id;
		bigger.noshade   = 'noshade';
		bigger.className = 'resizer';
		bigger.title     = msg;
		wrapper.appendChild( bigger );

		//	attach events..
		bigger.onmousedown   = DMD;
		document.onmouseup   = DMU;
		document.onmousemove = DMM;
	}
}

//		getElementsByClassName
document.getElementsByClassName = function( needle ) {
  var my_array = document.getElementsByTagName( '*' );
  var retvalue = new Array();
  var i;
  var j;

  for( i = 0,j = 0; i < my_array.length; i++ )   {
    var c = " " + my_array[i].className +' ';
    if( c.indexOf( ' ' +needle + ' ' ) != -1 ) {
      retvalue[j++] = my_array[i];
    }
  }
  return retvalue;
}

//		addEvent
function addEvent( obj,evType,fn ) {
	if( obj.addEventListener ) {
		obj.addEventListener( evType,fn,true );
		return true;
	}
	else if( obj.attachEvent ) {
		var r = obj.attachEvent( 'on' +evType,fn );
		return r;
	} else {
		return false;
	}
}

//		---------------- end of resizer

