var ROW_SEPARATOR = "#";
var FIELD_SEPARATOR = "|";
var GROUP_SEPARATOR = "$$";
var HEADER_SEPARATOR = "??";

var COOKIE_LANGUAGE = 'language';
var LANGUAGE_DEFAULT ='it';

var CURSOR_DEFAULT = 'default';
var CURSOR_HAND = "hand";
var CURSOR_POINTER = "pointer";
var SEARCH_SIMPLE = "search_simple";
var SEARCH_ADVANCED = "search_advanced";

function AttachChangeCursor(objectToObserve)
{
	Event.observe(objectToObserve, 'mouseover', changeCursor);
	Event.observe(objectToObserve, 'mouseout', changeCursor);
}

function AttachChangeCursorImg(objectToObserve)
{
	Event.observe(objectToObserve, 'mouseover', changeCursorImg);
	Event.observe(objectToObserve, 'mouseout', changeCursorImg);
}

function changeCursorImg(e)
{
	var o = $(Event.element(e));
	changeCursorNoEvent(o);
	/*
	var style = o.style.cursor;
	
	if (style == ""  || style == CURSOR_DEFAULT)
	{
		if (BrowserDetect.isIE)
			o.style.cursor=CURSOR_HAND;	
		else
			o.style.cursor=CURSOR_POINTER;	
	}
	else
	{
		o.style.cursor= CURSOR_DEFAULT;
	}
	*/
}
function changeCursorNoEvent(o)
{
	
	var style = o.style.cursor;
	
	if (style == ""  || style == CURSOR_DEFAULT)
	{
		if (BrowserDetect.isIE)
			o.style.cursor=CURSOR_HAND;	
		else
			o.style.cursor=CURSOR_POINTER;	
	}
	else
	{
		o.style.cursor= CURSOR_DEFAULT;
	}
	
}
function changeCursor(e)
{

	var o = $(Event.element(e));

	var style = o.style.cursor;
	
	if (style == ""  || style == CURSOR_DEFAULT)
	{
		o.style.textDecoration = 'underline';	
		if (BrowserDetect.isIE)
			o.style.cursor=CURSOR_HAND;	
		else
			o.style.cursor=CURSOR_POINTER;	
	}
	else
	{
		o.style.cursor= CURSOR_DEFAULT;
		o.style.textDecoration = 'none';
	}
	
}
function addClickLang(elementId)
{
	var c = $(elementId);
	AttachChangeCursor(c);
	Event.observe(c, 'click', addToggleLang);
}
function addClickSearch(elementId)
{
	var c = $(elementId);
	AttachChangeCursor(c);
	Event.observe(c, 'click', clickSearch);
}

function clickSearch(e){
	var g = $(Event.element(e))
	if (g.id == SEARCH_SIMPLE){
		g.style.color = '#e60000';
		$(SEARCH_ADVANCED).style.color = '#646464';
		$('form_search_advanced').style.display = 'none';
		$('form_search_simple').style.display = '';
		$('search_container').style.backgroundImage = "url('images/semplice.jpg')";
	}
	else if (g.id == SEARCH_ADVANCED){
		g.style.color = '#e60000';
		$(SEARCH_SIMPLE).style.color = '#646464';
		$('form_search_advanced').style.display = '';
		$('form_search_simple').style.display = 'none';
		$('search_container').style.backgroundImage = "url('images/avanzata.jpg')";
	}
	
}
function addToggleLang(e)
{
	var g = $('lang');
	var l = $('language');
	var ar = findPos(l);

	if (BrowserDetect.isExplorer())
		g.style.top = (ar[1] + 18)+"px";
	else
		g.style.top = (ar[1] + 18)+"px";
		
	g.style.left = ar[0]+"px" ;
	g.style.position = 'absolute';

    Effect.SlideDown('lang');
}

function ToggleToolbarArticle(e)
{
	var p = $(Event.element(e));
	if (p){
		Effect.toggle(p,'Blind',{duration: 0.4});
	}
}
function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

function setLanguage(language, container){
	createCookie(COOKIE_LANGUAGE,language,1);
	window.location.reload();
	
}
function getLanguage(){
	var l = readCookie(COOKIE_LANGUAGE);
	if (l)
		return l;
	else 
		return LANGUAGE_DEFAULT;
}
function setLanguageAdmin(language){
	createCookie('languageAdmin', language, 1);
	window.location.reload();
}
//			entities : "60,lt,62,gt",
function initializeTextArea(){
	tinyMCE.init({
			mode : "textareas",
			theme : "advanced",
			force_br_newlines : true,
			convert_fonts_to_spans: "false",
			theme_advanced_text_colors : "646464,000000,E60000",
			cleanup_on_startup : true,
			theme_advanced_buttons1 : "bold,italic,underline,separator,bullist,undo,redo,link,unlink,forecolor",
			theme_advanced_buttons1_add : "fontsizeselect,separator,code",
			theme_advanced_buttons2 : "",
			theme_advanced_buttons3 : "",
			font_size_style_values : "7pt,10pt,12pt,14pt,18pt,24pt,36pt",
			valid_elements : "sup,a[href|target],b/strong,br,font[color|face|size],img[src|id|width|height|align|hspace|vspace],i/em,li,span[class],textformat[blockindent|indent|leading|leftmargin|rightmargin|tabstops],u"
			});
}

// functions
function toggleEditor(id) {
    if (tinyMCE.getInstanceById(id) == null){
        tinyMCE.execCommand('mceAddControl', false, id);
    }
    else{
        tinyMCE.execCommand('mceRemoveControl', false, id);
    }
}

function tinyMCESetValue(id, value){
	tinyMCE.setContentArea(id, value);
}

function tinyMCEGetValue(id){
    return	tinyMCE.getContentArea(id);
}

String.prototype.isNumeric = function() {
	var regex = new RegExp (/^(-)?(\d*)(\.?)(\d*)$/);
	return regex.test(this);
}
