function PopupImage(imgPath, title) {
    var win = window.open('','araneapreview',
    'width=50,height=50,left=0,top=0,screenX=0,screenY=0,resizable=1');
    
    if (title == undefined) title = VIEW_IMAGE;
    var content = '<html><head><title>' + title + '</title>' +
    			  '<style>body { margin:0px; padding:0px; } #div-image { padding:2px; overflow:auto; } img { border:0; text-align:center; } form { margin:0px; padding:0px; } #header { text-align:center; margin:0px; padding:5px; background:#E6E6E6; color:navy; font-size:14px; font-weight: bold; }</style>' +
    			  '</head><body><div id="all"><div id="header">' + title + '</div><div id="div-image" align="center"><a href="javascript:self.close()">' +
    			  '<img alt="' + CLOSE_WINDOW + '" id="image" src="' + imgPath + '" /></a></div></div></body></html>'
    win.document.write(content);
    
    win.document.body.onload = function() {
    	var obj = win.document.getElementById('image');
    	var w = obj.width, h = obj.height;
    	var iHeight= document.body.clientHeight, iWidth = self.innerWidth;
    	
    	var left = (self.opera ? iWidth : screen.availWidth)/2 - w/2;
    	var top =  (self.opera ? iHeight : screen.availHeight)/2 - h/2;
		
		if (w + 25 > screen.availWidth) {
			left = 0;
			w = screen.availWidth;
		} else {
			w += 25;
		}

		if (h + 120 > screen.availHeight) {
			top = 0;
			h = screen.availHeight;
		} else {
			h += 120;
		}
	
		win.resizeTo(w, h);	
		win.moveTo(left, top);
    }
    win.onload = win.document.body.onload; // special for Mozilla
    
    win.document.close();
    win.focus();
}

function setCookie(sName, sValue, nDays) {
	var expires = "";
	if ( nDays ) {
		var d = new Date();
		d.setTime( d.getTime() + nDays * 24 * 60 * 60 * 1000 );
		expires = "; expires=" + d.toGMTString();
	}
	document.cookie = sName + "=" + sValue + expires + "; path=/";
}

function getCookie(sName) {
	var re = new RegExp( "(\;|^)[^;]*(" + sName + ")\=([^;]*)(;|$)" );
	var res = re.exec( document.cookie );
	return res != null ? res[3] : null;
}

function gotoUrl(url) {
	newwnd = window.open(url, "aranea_link");
	newwnd.focus();
}

function setVisible(Id, value) {
	if ( document.getElementById(Id) ) {
		if ( value ) {
			document.getElementById(Id).style.visibility = 'visible';
		} else {
			document.getElementById(Id).style.visibility = 'hidden';
		}
	}
	return 0
}

function setDisplay(Id, value) {
	if ( document.getElementById(Id) ) {
		if ( value ) {
			document.getElementById(Id).style.display = '';
		} else {
			document.getElementById(Id).style.display = 'none';
		}
	}
	return 0
}

function toggleDisplay(Id) {
	if ( document.getElementById(Id) ) {
		if ( document.getElementById(Id).style.display == 'none' ) {
			document.getElementById(Id).style.display = '';
		} else {
			document.getElementById(Id).style.display = 'none';
		}
	}
	return 0
}

function toggleSubmenu(Id, url) {
	if ( document.getElementById(Id) ) {
		if ( document.getElementById(Id).className == '' ) {
			document.getElementById(Id).className = 'visible';
		} else {
			location.replace(url);
		}
	}
	return false;
}

function toggleForm(_item) {
	if ( document.getElementById(_item) ) {
		if ( document.getElementById(_item).style.display == 'none' ) {
			document.getElementById(_item).style.display = '';
			document.getElementById('btn_show').className = 'gray';
		} else {
			document.getElementById(_item).style.display = 'none';
			document.getElementById('btn_show').className = '';
		}
	}
	return false;
}

function openSubmenu(Id) {
	if ( document.getElementById(Id) ) {
		document.getElementById(Id).className = 'visible';
	}
	return false;
}

function checkLengthForm(fld_name, maxlength, form_name) {
	if ( document.getElementById(form_name) ) {
		form = document.getElementById(form_name);
	} else {
		form = document.order_form;
	}
	lastlength = parseInt(maxlength) - form.elements[fld_name].value.length;
	if ( lastlength <= 0 ) {
		form.elements[fld_name].value = form.elements[fld_name].value.substring(0, maxlength);
		lastlength = parseInt(maxlength) - form.elements[fld_name].value.length;
	}
	if ( document.getElementById('cnt_' + fld_name) ) {
		document.getElementById('cnt_' + fld_name).innerHTML = lastlength;
	}
	return 0
}

function setSelected(_item) {
	obj = document.getElementById('block-menu');
	unsetClass(obj, 'LI', /item-first/gi);
	if ( document.getElementById(_item) ) {
		if ( document.getElementById(_item).className.length > 0 ) {
			if ( document.getElementById(_item).className.indexOf('selected') < 0 ) {
				document.getElementById(_item).className = document.getElementById(_item).className + ' selected';
			}
		} else {
			document.getElementById(_item).className = 'selected';
		}
	}
}

function toggleClass(Id, class1, class2) {
	if ( document.getElementById(Id) ) {
		if ( document.getElementById(Id).className == class1 ) {
			document.getElementById(Id).className = class2;
		} else {
			document.getElementById(Id).className = class1;
		}
	}
	return 0
}

function setClass(Id, value) {
	if ( document.getElementById(Id) ) {
		document.getElementById(Id).className = value;
	}
	return 0
}

function clearClass(_item) {
	if ( document.getElementById(_item) ) {
		document.getElementById(_item).className = '';
	}
}

function unsetSelected(_item, _tag) {
	obj = document.getElementById(_item);
	unsetClass(obj, _tag, /selected/gi);
}

function unsetClass(obj, _tag, _class) {
	if ( obj ) {
		for (var i = 0; i < obj.childNodes.length; i++) {
			if ( (obj.childNodes[i].tagName == _tag) || !_tag ) {
				if ( obj.childNodes[i].className ) {
					obj.childNodes[i].className = obj.childNodes[i].className.replace(_class, "");
				}
			}
			if ( obj.childNodes[i].childNodes.length > 0 ) {
				unsetClass(obj.childNodes[i], _tag, _class);
			}
		}
	}
}

function showAJAXicon(_item, _mode) {
	if ( document.getElementById(_item) ) {
		if ( _mode == 0 ) {
			document.getElementById(_item).innerHTML = '<div style="clear:both; margin:5px 0 10px 0;"><img src="' + site_url + 'images/icon-ajax.gif" width="31" height="31" alt="-" /></div>';
		}
		if ( _mode == 1 ) {
			setSelected(_item);
//			document.getElementById(_item).innerHTML = '<div style="clear:both; margin:0;"><img src="' + site_url + 'images/icon-ajax-small.gif" width="16" height="16" alt="-" /></div>';
		}
		if ( _mode == 2 ) {
			document.getElementById(_item).innerHTML = '<div align="center" style="clear:both; margin:0px;"><img src="' + site_url + 'images/icon-ajax-bg.gif" width="31" height="31" alt="-" /></div>';
		}
	}
}

function hideAJAXicon(_item, _mode) {
	if ( document.getElementById(_item) ) {
		if ( _mode == 1 ) {
			unsetSelected(_item);
		} else {
			document.getElementById(_item).innerHTML = '';
		}
	}
}

function openVoteResults(cid, vid) {
	if ( document.getElementById('cid' + cid + '_vote_content' + vid) ) {
		showAJAXicon('cid' + cid + '_vote_content' + vid, 0);
		Spry.Utils.updateContent('cid' + cid + '_vote_content' + vid, site_url + 'module/ajax/action_vote.php?act=results&vid=' + vid);
	}
}

function processVote(cid, vid) {
	result = Spry.Utils.submitForm('cid' + cid + '_vote_form' + vid, window['cid' + cid + '_updateForm' + vid]);
	showAJAXicon('cid' + cid + '_vote_content' + vid, 0);
	return result;
}

function addToCart(gid) {
	if ( document.getElementById('basket-state') ) {
		showAJAXicon('basket-state', 2);
		Spry.Utils.updateContent('basket-state', site_url + 'module/ajax/action_cart.php?act=add&gid=' + gid);
	}
}

function addToCartMany(form, name) {
	if ( document.getElementById('basket-state') && document.forms[form] ) {
		gids = '';
		var elts = document.forms[form].elements;
		var elts_cnt  = ( typeof(elts.length) != 'undefined' ) ? elts.length : 0;
		if ( elts_cnt ) {
			for (var i = 0; i < elts_cnt; i++) {
				if ( elts[i].type == 'checkbox' ) {
					if ( (elts[i].name.indexOf(name) != -1) && elts[i].checked ) {
						if ( gids.length > 0 ) {
							gids = gids + ',';
						}
						gids = gids + elts[i].value;
					}
				}
			}
		}
		if ( gids.length > 0 ) {
			showAJAXicon('basket-state', 2);
			Spry.Utils.updateContent('basket-state', site_url + 'module/ajax/action_cart.php?act=addmany&gids=' + gids);
		}
	}
}

function delFromCart(gid) {
	location.replace(site_url + 'cart/del' + gid);
}

function showCartInfo() {
	if ( document.getElementById('basket-state') ) {
		showAJAXicon('basket-state', 2);
		Spry.Utils.updateContent('basket-state', site_url + 'module/ajax/action_cart.php?act=info');
	}
}

function clearCart() {
	location.replace(site_url + 'cart/clear');
}

function checkoutCart() {
	location.replace(site_url + 'cart/checkout');
}

function changeOrder(orderId) {
	document.getElementById('btn_change').disabled = true;
	Spry.Utils.submitForm('order' + orderId, updateForm);
}

var agt = navigator.userAgent.toLowerCase();
var is_major = parseInt(navigator.appVersion);
var is_minor = parseFloat(navigator.appVersion);
var is_nav  = ((agt.indexOf('mozilla') != -1) && (agt.indexOf('spoofer') == -1)
                        && (agt.indexOf('compatible') == -1) && (agt.indexOf('opera') == -1)
                        && (agt.indexOf('webtv') == -1) && (agt.indexOf('hotjava') == -1));
var is_nav4up = (is_nav && (is_major >= 4));

var is_ie     = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
var is_ie3    = (is_ie && (is_major < 4));
var is_ie4    = (is_ie && (is_major == 4) && (agt.indexOf("msie 4") != -1) );
var is_ie5up  = (is_ie && !is_ie3 && !is_ie4);

function InsertText(element, text, pos) {
	element.value = element.value.slice(0, pos) + text + element.value.slice(pos);
}

function AddBBCode(tag) {
	var t1 = '[' + tag + ']';
	var t2 = '[/' + tag + ']';
	
	if ( is_ie5up ) {
		if ( document.selection ) {
			document.getElementById('frm_text').focus();
			var txt = document.getElementById('frm_text').value;
			var str = document.selection.createRange();
			if ( str.text == '' ) {
				str.text = t1 + t2;
			} else {
				if (txt.indexOf(str.text) >= 0) {
					str.text = t1 + str.text + t2;
				}
			}
		} else {
			document.getElementById('frm_text').value = txt + t1 + t2;
		}
		str.select();
	} else {
		if ( is_nav4up || (typeof document.getElementById('frm_text').selectionStart) != 'undefined' ) {
			var element = document.getElementById('frm_text');
			var sel_start = element.selectionStart;
			var sel_end = element.selectionEnd;
			InsertText(element, t1, sel_start);
			InsertText(element, t2, sel_end + t1.length);
			element.selectionStart = sel_start;
			element.selectionEnd = sel_end + t1.length + t2.length;
			element.focus();
		} else {
			document.getElementById('frm_text').value = document.getElementById('frm_text').value + t1 + t2;
		}
	}
}

function quotePost(_post) {
	if ( document.getElementById('post_table') ) {
		document.getElementById('post_table').style.display = '';
		document.getElementById('btn_show').className = 'gray';
		str = document.getElementById(_post).innerHTML.replace(/(^\s+)|(\s+$)/g, "");
		str = str.replace(/<strong>/gi, "[b]");
		str = str.replace(/<\/strong>/gi, "[/b]");
		str = str.replace(/<em>/gi, "[i]");
		str = str.replace(/<\/em>/gi, "[/i]");
		str = str.replace(/<span style="text-decoration:underline;">/gi, "[u]");
		str = str.replace(/<\/span>/gi, "[/u]");
		str = str.replace(/<blockquote>/gi, "[quote]");
		str = str.replace(/<\/blockquote>/gi, "[/quote]");
		str = str.replace(/<br>/gi, "\n");
		str = str.replace(/<br \/>/gi, "\n");
		document.order_form.frm_text.value = str;
		checkLengthForm('frm_text', 960);
		document.order_form.frm_text.value = '[quote]' + document.order_form.frm_text.value + '[/quote]';
		checkLengthForm('frm_text', 1000);
		document.getElementById('btn_show').focus();
	}
	return false;
}

function updateMessageForm(req) {
	Spry.Utils.setInnerHTML('message-content', req.xhRequest.responseText);
}
