//document.execCommand("BackgroundImageCache", false, true);
try{document.execCommand("BackgroundImageCache", false, true);}catch(e){}

function _addEvent( obj, type, fn)
{
	if(obj.addEventListener)
		obj.addEventListener( type, fn, false );
	else if(obj.attachEvent)
	{
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
	}
}
/*
function ReplaceSelection(txt)
{
	if (window.getSelection) Selection = window.getSelection()
	else Selection = document.selection.createRange();
	if (Selection == 0) return;
	else if (Selection.text == 0) return;

	Replace = txt;

	if (window.getSelection) Selection = Replace;
	else Selection.text = Replace;
}


function w(id,txt)
{
	if(!document.getElementById) return;
	var e = document.getElementById(id);
//	e.
	ReplaceSelection(txt);
}
*/
/* all */
function checkall(form_id, checkall_id, checkbox_array_name)
{
	if(!document.getElementById) return;
	var frm = document.getElementById(form_id);
	var checkall = document.getElementById(checkall_id);
	if(!(frm && checkall)) return;
	for(var i=0; i<frm.elements.length; i++)
	{
		var cbx = frm.elements[i];
		if(cbx.name == checkbox_array_name) cbx.checked = checkall.checked;
	}
}

/* msg.mod.php */
function set_recp(name)
{
	if(name){
		var s = document.getElementById(name);
		var d = document.getElementById('recp');
		if(s && d) d.value = s.value;
	}
	var s1 = document.getElementById('friends');
	if(s1) s1.value='';
	var s2 = document.getElementById('strangers');
	if(s2) s2.value='';
}

/* base.tpl.php */
function toggleid(id)
{
	var e = document.getElementById(id);
	if(e) {
		if(e.style.display == 'block') e.style.display = 'none';
		else e.style.display = 'block';
	}
}
function showid(id)
{
	var e = document.getElementById(id);
	if(e) e.style.display = 'block';
}
function hideid(id)
{
	var e = document.getElementById(id);
	if(e) e.style.display = 'none';
}

function nextid(current_id, next_id)
{
	hideid(current_id);
	showid(next_id);
	return false;
}

/* chat.mod.php */
function toggleChatScroll()
{
	var e = document.getElementById("chat-messages");
	if(e){
		if(e.className == "chat-messages")
		{
			e.className = "chat-messages-scroll";
		}
		else e.className = "chat-messages";
	}
	return false;
}
function refreshChat()
{
	var cr = document.getElementById('chat_refresher');
	cr.submit();
	setTimeout('refreshChat()',10000);
}
function onBeforeSendMessage()
{
	var _msg = document.getElementById('_msg');
	var msg = document.getElementById('msg');
	if(!_msg || !msg) return;
	msg.value = _msg.value;
	_msg.value = '';
	setTimeout('focusById("_msg")',150);
	return true;
}
function focusById(id)
{
	var e = document.getElementById(id);
	if(e) {
		if(e.focus) e.focus();
		else if(e.setActive) e.setActive();
	}
}

function onGoToPage()
{
	var pnum = document.getElementById('pnum');
	var linktpl = document.getElementById('linktpl');
	if(pnum){
		var page = parseInt(pnum.value);
		if(page == NaN || page<0) page=1;
		arr = linktpl.value.split('%p');
		document.location.href = arr.join(page);
	}
	return false;
}

function onBeforeSearch(new_search)
{
	var stype = document.getElementById('search[type]');
	var bprice = document.getElementById('search[b_price]');
	var tprice = document.getElementById('search[t_price]');
	var item_type = document.getElementById('item_type');
	var item = item_type.value;
//	alert(fieldname);
	var gotopagefrm = document.getElementById('gotopage');
	if(stype || bprice || tprice)
	{
		var stype = parseInt(stype.value);
		var bprice = parseInt(bprice.value);
		var tprice = parseInt(tprice.value);
		if(stype==NaN || stype<0) stype=0.0;
		if(bprice==NaN || bprice<0) bprice=0.0;
		if(tprice==NaN || tprice<0) tprice=0.0;
		//alert(gotopagefrm.value);
		var args = gotopagefrm.value.split('/');
		args[3]=stype+','+bprice+','+tprice;
		//alert(args[0]+"/"+ args[1]+"/"+args[2]+"/"+ args[3] + "/" +args[4]);
		if(new_search){
			args[4]=0;
			result=false;
		}
		else result=true;
		document.location.href =args[0]+"/"+ args[1]+"/" +args[2]+"/" + item + "/" + args[3]+"/"+args[4];
//		mod/action/item/search/page
	}
	return result;
}

/*
	Common functions
	------------------------------------------------
*/
var _BROWSER=0; // Unknown browser
var _IE=2;
var _MOZILLA=3;
var _OPERA=3;

function checkBrowser(string)
{
	var detect = navigator.userAgent.toLowerCase();
	place=detect.indexOf(string)+1;
	return place;
}
if(checkBrowser('msie')) _BROWSER=_IE;
else if(checkBrowser('opera')) _BROWSER=_OPERA;
//else if(checkBrowser('msie')) _BROWSER=_OPERA;

function random_int(min, max)
{
	var range = max-min+1;
	return (Math.floor( Math.random()*Math.pow(10,("" + range).length)) % range) + parseInt(min);
}
function toggle_display(id)
{
	var e = document.getElementById(id);
	if(e) e.style.display = (e.style.display == '' || e.style.display == ' ' || e.style.display == 'none') ? 'block' : 'none';
	return false;
}
function hide_msg_box(id)
{
	var e = document.getElementById(id);
	if(e) e.style.display = (e.style.display == '' || e.style.display == ' ' || e.style.display == 'block') ? 'none' : 'block';
	return false;
}

function confirmMove()
{
	var msg_form = document.getElementById('msg');
	if(!msg_form) return false;
	else msg_form.action = '?q=msg/move/inbox';
	return true;
}
function secureConfirm(msg,secure_text)
{
	var default_text='';
	var ret = window.prompt(msg,default_text);
	if(ret)
	{
		secure_text = secure_text.toLowerCase();
		ret = ret.toLowerCase();

		if(ret == 'OK') ret = 'ok';
		if(secure_text == 'OK') secure_text = 'ok';
		console.log('ret '+ret);
		console.log('secure_text '+secure_text);
		return (ret==secure_text);
	}
	else return false;
}


function replacesel(oTextbox, sText)
{
	var isOpera = navigator.userAgent.indexOf("Opera") > -1;
	var isIE = navigator.userAgent.indexOf("MSIE") > 1 && !isOpera;
	var isMoz = navigator.userAgent.indexOf("Mozilla/5.") == 0 && !isOpera;

	oTextbox = document.getElementById(oTextbox);
	if(!oTextbox) return;

	oTextbox.focus();
	if(isIE){
		var oRange = document.selection.createRange();
		oRange.text = sText;
		oRange.collapse(true);
		oRange.select();
	}
	else //if (isMoz)
	{
		var iStart = oTextbox.selectionStart;
		oTextbox.value = oTextbox.value.substring(0, iStart) + sText + oTextbox.value.substring(oTextbox.selectionEnd, oTextbox.value.length);
		oTextbox.setSelectionRange(iStart + sText.length, iStart + sText.length);
	}
	oTextbox.focus();
}

function copyValById(from, to){
	var el_from = document.getElementById(from);
	var el_to = document.getElementById(to);
	if(el_from && el_to)
		el_to.value = el_from.value;
}

function setRadioByIdIfVal(id,editbox_id)
{
	var editbox = document.getElementById(editbox_id);
	if(editbox)
		if(editbox.value+0 != 0)
			setRadioById(id);
}
function setRadioById(id)
{
	var radio = document.getElementById(id);
	if(radio) radio.checked=1;
}



/* Shows/hides particular html element that corresponds to a radio control */
var _LAST_CLICKED_RADIO = null;
var _LAST_CLICKED_RADIO_BOX = null;
function ShowIfRadio(radio_id,element_id)
{
	var radio = document.getElementById(radio_id);
	var element = document.getElementById(element_id);

	if(_LAST_CLICKED_RADIO && _LAST_CLICKED_RADIO_BOX){
		_ShowIfRadio(_LAST_CLICKED_RADIO,_LAST_CLICKED_RADIO_BOX);
	}

	if(_ShowIfRadio(radio,element))
	{
		_LAST_CLICKED_RADIO = radio;
		_LAST_CLICKED_RADIO_BOX = element;
	}
}
function _ShowIfRadio(radio,element)
{
	if(radio && element)
	{
		if(radio.checked==1)	element.style.display = 'block';
		else					element.style.display = 'none';
		return true;
	}
	return false;
}
function trim(s)
{
	var l=0; var r=s.length -1;
	while(l < s.length && s[l] == ' ')
	{	l++; }
	while(r > l && s[r] == ' ')
	{	r-=1;	}
	return s.substring(l, r+1);
}

createCookie('clickcoords',0);
function onDocClick(e) 
{
	//if(GID==105) alert('click!');

	var posx = 0;
	var posy = 0;
	if (!e) var e = window.event;
	if (e.pageX || e.pageY) 	
	{
		posx = e.pageX;
		posy = e.pageY;
	}
	else if (e.clientX || e.clientY) 	
	{
		posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
		posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
	}
	// posx and posy contain the mouse position relative to the document
	// Do something with this information
	// if(GID==105) alert("x: "+posx+" y:"+posy);

	var cc = Math.floor(posy*10000 + posx*1.0);
	createCookie('clickcoords',posy*10000 + posx);
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	//console.log("readCookie " + name);
	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 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+"; domain="+COOKIE_DOMAIN+"; path=/";
	//if(GID==105) alert(name+"="+value+expires+"; path=/");
	//console.log("createCookie " + name+"="+value+expires+"; domain="+COOKIE_DOMAIN+"; path=/");
}
_addEvent( window.document, 'click', onDocClick);


BLINKER_STATE = 0;
function doBlink() 
{
	if(BLINKER){
		//BLINKER.style.visibility = BLINKER.style.visibility == "" ? "hidden" : "" 

		if(BLINKER_STATE++%2 == 0) {
			setOpacity(BLINKER,1);
			setTimeout("doBlink()",200);
		}
		else {
			setOpacity(BLINKER,100);
			setTimeout("doBlink()",500);
		}
	}
}
function startBlink() 
{
	BLINKER = document.getElementById('blinker');
	if(BLINKER)	setTimeout("doBlink()",4000);
}
_addEvent( window, 'load', startBlink);

function setOpacity(el, value) 
{
	//alert('opacity');
	el.style.opacity = value/100;
	el.style.filter = 'alpha(opacity=' + value + ')';
}

// Check ALL function
// master checkbox name = array_name[all] and class cbxmain
$(document).ready(function(){
	$(document).find('.cbxmain').click(function(){
		var checked = $(this).attr("checked");
		var arr_name = this.name.replace('[all]', '[]');
		tmp = $(this).parents('table:first').find('input[type=checkbox][name='+arr_name+']').attr({"checked":checked});
	});
});


function SessionLinger() 
{
	setInterval("keep_session();", 10*60*1000);
}

if(AUTOLOGIN) {
	_addEvent(window, 'load', SessionLinger);
}

function keep_session()
{
	var req = false;
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
		if (req.overrideMimeType) { req.overrideMimeType("text/plain"); }
	} else if (window.ActiveXObject) {
		try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {
			try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {}
		}
	}
	if ( ! req ) {
		return false;
	}
	req.onreadystatechange = function() {/*alert('sth');*/}
	req.open("GET", "/sess_ping.php?"+Math.round(Math.random()*1000), true);
	req.send("");
}


//Expand/Collapse help bar
function toggle_help(expand)
{
	var help_short = $('div.help-short');
	var help_long = $('div.help-long');
	if(expand==0)
	{
		help_short.css('display','block');
		help_long.css('display','none');
	}
	else 
	{
		help_short.css('display','none');
		help_long.css('display','block');
	}
	return false;
}

//Expand/Collapse extra box
function toggle_extra(expand, extra)
{
	var button_expand = $('#'+extra+'-expand');
	var button_hide = $('#'+extra+'-hide')
	var box = $('tr.'+extra+'-box');
	if(expand==0)
	{
		button_expand.css('display','block');
		button_hide.css('display', 'none');
		box.css('display','none');
	}
	else 
	{
		button_expand.css('display','none');
		button_hide.css('display', 'block');
		box.css('display','table-row');
	}
	return false;
}
