function autoSubmit(e)
{
    var form = Event.element(e).form;
    if (form.onsubmit) {
        if (!form.onsubmit()) {
           Event.stop(e);
           return false;
        }
    }
    
    form.submit();
}

function confirmClick(e)
{
	var msg = 'Are you sure?';
    if (!confirm(msg)) {
        Event.stop(e);
        return false;
    }
    
    return true;
}

function initTextArea(element) 
{
	var counter = document.createElement('div');
	counter.className = 'counter';
	if (element.readAttribute('maxlength')) {
		var counterClone = counter.cloneNode(true);
		counterClone.innerHTML = '<span>0</span>/'+element.readAttribute('maxlength');
		element.parentNode.insertBefore(counterClone,element.nextSibling);
		element.relatedElement = counterClone.getElementsByTagName('span')[0];
		element.onkeyup = element.onchange = checkMaxLength;
		element.onkeyup();
	}
}

function checkMaxLength() 
{
	var maxLength = this.readAttribute('maxlength');
	var currentLength = this.value.length;
	if (currentLength > maxLength) {
		this.relatedElement.className = 'toomuch';
    	this.value = this.value.substring(0, maxLength);
   	} else {
		this.relatedElement.className = '';	
	}
	this.relatedElement.firstChild.nodeValue = this.value.length;
}

function processSTW(req)
{
	var stw_items = eval("(" + req.responseText + ")");
	var stw_items_keys = {};
	for (var i=stw_items.length-1; i>=0; i--) {
		stw_items_keys[stw_items[i].stw_key]=stw_items[i];
		if (!$(stw_items[i].stw_key)) {
			var li = document.createElement('li');
			li.id = stw_items[i].stw_key;
			
			li.innerHTML='<span class="sharename">' + stw_items[i].stw_name + ': </span>' + stw_items[i].stw_text + ' <a href="' + stw_items[i].stw_url + '" target="_blank">(check it)</a>';
			$(li).hide();
			$('stw_list').insert({top: li});
			new Effect.Appear(stw_items[i].stw_key, {duration:1 });
		}
	}
	
	$$('#stw_list>li').each(function(me) {
		if (!stw_items_keys[me.id]) {
			new Effect.Fade(me.id, {duration:1});
		}
	});
}

function stw_submit(e)
{
	var url = '/stw_post.php?stw_save=1&mode=ajax';
	var stw_name = $('stw_name').value;
	var stw_url = $('stw_url').value;
	var stw_text = $('stw_text').value;
	var sd_code = $('sd_code').value;
	var sd_word_code = $('sd_word_code').value;
	var url_re = new RegExp('^https?://.+$');

	if (stw_name.length>0 && stw_url.match(url_re) && stw_text.length>0) {
		url += '&stw_name=' + escape(stw_name);
		url += '&stw_url=' + escape(stw_url);
		url += '&stw_text=' + escape(stw_text);
		url += '&sd_code=' + escape(sd_code);
		url += '&sd_word_code=' + escape(sd_word_code);
		new Ajax.Request(url, { onSuccess: processSTW });
	} else {
		alert("Hey. Enter somthin, will ya?");
	}
	
	Event.stop(e);
	return false;
}

function stw_delete(e)
{
	var name = Event.element(e).name;
	var re = new RegExp("^stw_delete\\[(\\d+)\\]$");
	var match;
	if (match = name.match(re)) {
		stw_id = match[1];
	} else {
		return;
	}
	
	var url = '/stw_post.php?stw_delete=1&stw_id=' + stw_id + '&mode=ajax';
	new Ajax.Request(url, { onSuccess: processSTW });
	Event.stop(e);
	return false;
}

function addUploadFile(e)
{
	if (!$('upload_container')) {
		return false;
	}
	
	var elements = $$('#upload_container li.new_pic_upload');
	var li = elements[0].cloneNode(true);
	
	var button = document.createElement('INPUT');
	button.type='button';
	button.value='-';
	button.onclick=removeUploadFile;
	li.appendChild(button);
	
	$('upload_container').appendChild(li);
	return true;
}

function removeUploadFile(e)
{
    this.parentNode.parentNode.removeChild(this.parentNode);
    return true;
}

function processSD_Word(req)
{
	var stw_data = eval("(" + req.responseText + ")");
	$('sd_word').innerHTML = stw_data['word'];
	$('sd_word_code').value = stw_data['word_code'];
}

function initSite()
{
    $$('.autosubmit').invoke('observe','change',autoSubmit);
    $$('.confirm').invoke('observe', 'click', confirmClick);
    $$('textarea[maxlength]').each(initTextArea);
    $$('input').each(function(me) {
    	me.addClassName("input_" + me.type);
    });

    $$('a.external').each(function(me) {
        me.target='_blank';
    });

	if ($('sd_word')) {
		new Ajax.Request('/sd_captcha.php', { onSuccess: processSD_Word });
	}
	
	if ($('stw_form')) {
		
		$('stw_save').observe('click', stw_submit);
		$$('.stw_delete').invoke('observe', 'click', stw_delete);
	}
	
	if ($('search_box')) {
		$('search_box').onfocus=function() {
			if (this.value=='SEARCH') {
				this.value='';
			}
			
			this.select();
		}
	}
	
	if ($('add_image')) {
		$('add_image').observe('click',addUploadFile);
	}
	
	if ($('filter_link')) {
		$('filter_link').observe('click', function() { $('filter_list').toggleClassName('show') });
	}

	if ($('comment_link')) {
		$('comment_link').observe('click', function() { $('comment_list').toggleClassName('show') });
	}

}

Event.onDOMReady(initSite);

