
var			CONST_JS_DEBUG_ON = true;


function initMCEEditors()
{
	tinyMCE.init({
		// General options
		mode : "textareas",
		theme : "advanced",
		plugins : "safari,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",

		// Theme options
		theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect",
		theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
		theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
		theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak",
		theme_advanced_toolbar_location : "top",
		theme_advanced_toolbar_align : "left",
		theme_advanced_statusbar_location : "bottom",
		theme_advanced_resizing : true, 
		document_base_url : "http://www.alsen.pl/",
		relative_urls : false, 
		convert_urls : false, 
		editor_deselector : "mceNoEditor", 

		// Example content CSS (should be your site CSS)
		content_css : "http://www.alsen.pl/layout/styles/style.css",

		entities : "38,amp,34,quot,162,cent,8364,euro,163,pound,165,yen,169,copy,174,reg,8482,trade,8240,permil,60,lt,62,gt,8804,le,8805,ge,176,deg,8722,minus", 
		entity_encoding : "numeric"
	});
}


function clearSelectOptions(id)
{
	var elem = getElem(id);
	if (!elem) { jsError("clearSelectOptions", "nie mozna odnalezc elementu "+id); return; };
	for (var i=elem.options.length; i>=0; i--)
	{
		elem.options[i] = null;
	}
}

function addSelectOption(id, optname, optvalue)
{
	var elem = getElem(id);
	if (!elem) { jsError("addSelectOption", "nie mozna odnalezc elementu "+id); return; };
	elem.options[elem.options.length] = new Option(optname, optvalue);
}

function redirect(url)
{
	document.location.href = url;
}



function setSelectedOption(elem, optval)
{
	if (!elem) { jsError('setSelectedOption', 'zly elem'); return; };
	if (!elem.options) { jsError('setSelectedOption', 'brak options'); return; };
	for (var i=0; i<elem.options.length; i++)
	{
		if (elem.options[i].value == optval)
		{
			elem.selectedIndex	= i;
			return;
		}
	}
}


function getSelectOption(elem, optval)
{
	if (!elem) { jsError('setSelectOption', 'zly elem'); return null; };
	if (!elem.options) { jsError('setSelectOption', 'brak options'); return null; };
	for (var i=0; i<elem.options.length; i++)
	{
		if (elem.options[i].value == optval)
		{
			return elem.options[i];
		}
	}
	return null;
}


function getScrollTop()
{
	if (document.body) { return document.body.scrollTop; };
	return window.pageYOffset;
}

function getScrollHeight()
{
	if (document.body) { return document.body.clientHeight; };
	return window.innerHeight;
}



function getElemByName(root, elemname)
{
	if (!root) { return null; };
	if (!root.childNodes) { return null; };
	for (var i=0; i<root.childNodes.length; i++)
	{
		if (root.childNodes[i].nodeName == elemname)
		{
			return root.childNodes[i];
		}
	}
	return null;
}


function jsError(where, err)
{
	if (CONST_JS_DEBUG_ON)
	{
		alert("JavaScriptError @ " + where + " : '"+err+"'");
	}
}


function setInnerHTML(id, v)
{
	var		elem = getElem(id);
	if (!elem) { jsError("setInnerHTML", "nie mozna odnalezc elementu "+id); return; };
//	if (!elem.innerHTML) { jsError("setInnerHTML", "element "+id+" nie posiada wlasnosci innerHTML"); return; };
	elem.innerHTML	= v;
}


function getInnerHTML(id)
{
	var		elem = getElem(id);
	if (!elem) { jsError("getInnerHTML", "nie mozna odnalezc elementu "+id); return null; };
//	if (!elem.innerHTML) { jsError("getInnerHTML", "element "+id+" nie posiada wlasnosci innerHTML"); return null; };
	return elem.innerHTML;
}

function getElem(id)
{
	return document.getElementById(id);
}


function getSelectedIndex(id)
{
	var		elem = getElem(id);
	if (!elem) { jsError("getSelectedIndex", "nie mozna odnalezc elementu "+id); return null; };
	return elem.selectedIndex;
}


function setSelectedIndex(id, x)
{
	var		elem = getElem(id);
	if (!elem) { jsError("setSelectedIndex", "nie mozna odnalezc elementu "+id); return false; };
	elem.selectedIndex = x;
	return true;
}

function getElemValue(id)
{
	var		elem = getElem(id);
	if (!elem) { jsError("getElemValue", "nie moge odnalezc elementu "+id); return null; };
//	if (!elem.value) { jsError("getElemValue", "element "+id+" nie posiada wlasnosci value"); return null; };
	return elem.value;
}

function getElemValueSoft(id)
{
	var		elem = getElem(id);
	if (!elem) { return ''; };
	return elem.value;
}

function getElemCheckedSoft(id)
{
	var		elem = getElem(id);
	if (!elem) { return false; };
	return elem.checked;
}


function setElemValue(id, v)
{
	var		elem = getElem(id);
	if (!elem) { jsError("setElemValue", "nie moge odnalezc elementu "+id); return; };
//	if (!elem.value) { jsError("setElemValue", "element "+id+" nie posiada wlasnosci value"); return; };
	elem.value = v;
}

function submitForm(formId)
{
	var		elem = document.getElementById(formId);
	if (!elem) { jsError("submitForm", "nie mozna odnalezc formularza "+formId); return; };
	elem.submit();
	return;
}

function setVisibility(elemId, x)
{
	var		elem = getElem(elemId);
	if (!elem) { jsError("setVisibility", "nie mozna odnalezc elementu o id = "+elemId); return; };
	
	if (x == true)
	{
		elem.style.visibility	= 'visible';
	}
	else
	{
		elem.style.visibility	= 'hidden';
	}
}



function setVisibility2(elemId, x)
{
	var		elem = getElem(elemId);
	if (!elem) { jsError("setVisibility2", "nie mozna odnalezc elementu o id = "+elemId); return; };
	
	if (x == true)
	{
		elem.style.visibility	= 'visible';
		elem.style.display		= 'block';
	}
	else
	{
		elem.style.visibility	= 'hidden';
		elem.style.display		= 'none';
	}
}



function toggleVisibility(elemId)
{
	var		elem = getElem(elemId);
	if (!elem) { jsError("toggleVisibility", "nie mozna odnalezc elementu o id = "+divId); return; };
	
	if (elem.style.visibility == 'hidden')
	{
		elem.style.visibility	= 'visible';
	}
	else
	{
		elem.style.visibility	= 'hidden';
	}
}


function toggleVisibility2(elemId)
{
	var		elem = getElem(elemId);
	if (!elem) { jsError("toggleVisibility2", "nie mozna odnalezc elementu o id = "+divId); return; };
	
	if (elem.style.visibility == 'hidden')
	{
		setVisibility2(elemId, true);
	}
	else
	{
		setVisibility2(elemId, false);
	}
}


function removeFromArray(ar, elem)
{
	for (var i=0; i<ar.length; i++)
	{
		if (ar[i] == elem) 
		{ 
			ar.splice(i, 1); 
			return ar;
		};
	}
	return ar;
}


function urlEncode(s)
{
	var		news = '';
	for (i=0; i<s.length; i++)
	{
		news		+= escape(s[i]);
	}
	return news;
}

