// 
// Evonux 2005
// 
// evonux_local.js
// 
// Author          : Alexandre HERMANN
// Created         : Fri Nov  4 13:22:16 2005
// Last Modified By: Alexandre HERMANN
// Last Modified On: Tue Nov  8 14:32:59 2005
// ---------------------------------------------------------------------------
// 

Evonux.Local = {};
Evonux.Local.smallWordLength = 2;
Evonux.Local.keyword = new Array();

Evonux.Local.AutoSetKeywords = function()
{
    var re_separator = new RegExp('[, ]+', 'g');
    var re_spaces = new RegExp('[\n\r ]+', 'g');
    var re_ponctuation = new RegExp('[\?\.!:;,"\']+', 'g');
    var re_uselessWords = new RegExp('[ ]('+ Evonux.uselessWords +')[ ]', 'gi');
    with (Evonux)
    {
	var LK = Local.keyword;
	var word_already = $('mainform').keywords.value.split(re_separator);
	var word_document = Evhe.RemoveTags(Evhe.buf.document.body).replace(re_ponctuation, '').replace(re_spaces, ', ').split(re_separator);
	var word_title = $('mainform').title.value.split(re_separator);;
	// Adds already given words + document words
	LK = LK.concat(word_already);
	LK = LK.concat(word_document);
	LK = LK.concat(word_title);
	// Sorts list of keywords
	LK.sort();
	// Removes small words and doublons
	for (var k = 0, prev = ''; k < LK.length; prev = LK[k-1])
	{
	    if ((prev == LK[k])
		|| (LK[k].length <= Local.smallWordLength))
		LK.splice(k, 1);
	    else
		k++;
	}
	// Removes useless words
	_tmp = (' '+ LK.join(' ') +' ');
	while (_tmp != (_tmp = _tmp.replace(re_uselessWords, ' ')))
	    ;
	// Writes keywords
	$('mainform').keywords.value = _tmp.trim().replace(re_separator, ', ');
    }
}

Evonux.Local.PictureLoadActual = function(picId, miniatureURL, originalURL, descId)
{
    //alert(Evonux.ObjProps(picObj));

    var picObj = Evonux.$(picId),
	_w = picObj.width,
        _h = picObj.height
        re_miniature = new RegExp('/image/mini_[0-9]+\.png', 'i');
    // Miniature -> Original picture
    // If original is miniature, forces size
    /*
    if ((_w <= 80)
	&& (_h <= 80)
	&& ((_w == 80) || (_h == 80)))
    */
    if (re_miniature.test(picObj.src))
    {
	picObj.style.height = _h +'px';
	picObj.style.width = _w +'px';
	picObj.src = originalURL;
	Evonux.$(descId).innerHTML = 'Originale';
    }
    // Original picture -> Miniature
    else
    {
	picObj.src = miniatureURL;
	Evonux.$(descId).innerHTML = 'Miniature';
    }
}
