/**
 * Cookies
 */
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(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 eraseCookie(name) {
	createCookie(name,"",-1);
}

/*
 * 
 */
function fillIfEmpty(element,text) {
	if (text==null) text='click to edit';
	if(element.innerHTML == '') element.innerHTML = text;
}


/**
 * Miscellaneous functions
 */
function selectFromResults(item_id,url) {
	$('url_field_'+item_id).value = url;
	$('image_preview_'+item_id).src = url;
	Control.Tabs.findByTabId('image_menu_url_'+item_id).setActiveTab('image_menu_url_'+item_id);
}

function confirmSubmit(msg) {
	if (msg=='') msg='Are you sure?';
	if (confirm(msg)) {
		return true;
	} else {
		return false;
	}
}

function protopop(arrow,menu,event) {
	Element.toggle(menu);
	arrow.toggleClassName('open');
}

/**
 * Chat
 */
function toggleChat() {
	c = $('chatarea');
	if (c.style.display=='none') {
		c.show();
		$('bar_msg').innerHTML = 'Close Chat';
		createCookie('bordomchat');
		$('talkinput').focus();
		chatpoller.start();
		new Ajax.Request('/chat/open');
	} else {
		$('bar_msg').innerHTML = 'Open Chat';
		c.hide();
		eraseCookie('bordomchat');
		chatpoller.stop();
		new Ajax.Request('/chat/close');
	}
}

function sendChat(f) {
	text = $('talkinput').value;
	$('input').value = text;
	if (text.length > 0) {
		f.submit();
		$('talkinput').value='';
	}
	updateChat();
	return false;
}

function updateChat() {
	new Ajax.Updater('chat', '/chat/poll', {
	  onLoading:function(request) {Element.show('chat_spinner')},
	  onComplete:function(request) {Element.hide('chat_spinner')}
	});
	$('talkinput').focus();
}

/**
 *
 */
function validate_image_type(fld) {
	if(fld.value!='' && !/(\.png|\.gif|\.jpg|\.jpeg)$/i.test(fld.value)) {
		alert(fld.value + " is not a valid image type and cannot be uploaded.");
		//fld.form.reset();
		fld.value='';
		fld.focus();
		return false;
	}
	return true;
}

/**
 *
 */
function add_photo_input() {
	//$('more_links').innerHTML += '<label>URL:</label><input size=60 type=text name=photoset_links[] class=validate-url><br />';
	label = new Element('label');
	label.innerHTML = 'URL:';
	input = new Element('input', {type:'text', size:60, 'class':'validate-url', name:'photoset_links[]'});
	br = new Element('br');
	$('more_links').insert(label);
	$('more_links').insert(input);
	$('more_links').insert(br);
}

/**
 *
 */

function insertAtCursor(myField, myValue) {
        //IE
        if (document.selection) {
                myField.focus();
                sel = document.selection.createRange();
                sel.text = myValue;
        }

        //MOZ
        else if (myField.selectionStart || myField.selectionStart == '0') {
                var startPos = myField.selectionStart;
                var endPos = myField.selectionEnd;
                myField.value = myField.value.substring(0, startPos) + myValue + myField.value.substring(endPos, myField.value.length);
        } else {
                myField.value += myValue;
        }
}

/**
 *
 */
function openHtmlHighslide(element, options) {
   return hs.htmlExpand(element, options);
}

function openHighslide(element, options) {
   return hs.expand(element, options);
}


/**
 * 
 */
function irc_action(image_file) {
	var div = document.createElement('div');
	div.addClassName('irc_action');
	img = new Image();
	img.src="http://www.bordom.net/images/actions/" + image_file;
	div.appendChild(img);
	document.body.appendChild(div);
	new Effect.Pulsate(div);
}


function falconpunch() {
	irc_action('falconpunch.png');
}

function banhammer() {
	irc_action('banhammer.png');
}
