//
// 2006 by bitart; Author: Alexander Graf
//
// Copyright by bitart - Furch & Graf GbR, Gartenstr. 5 56220 St. Sebastian,
// Germany. All rights reserved.
// Copyright in this software is owned by bitart, unless otherwise indicated.
//
// You are not allowed to distribute this software in any form or use it as
// part of another project without asking the owner for permission to use.
//

var ieh = navigator.userAgent.indexOf('MSIE')>0;

/* Mark Stuff */

function initMark(doieh)
{
	doieh = (typeof doieh=='undefined')?true:(doieh?true:false);

	// get list root
	var root = document.getElementById('Mark');
	if (!root) return false;

	// add click handler & iehover
	var es = root.getElementsByTagName('tr');
	var ee = es.length;
	for (var ec=0; ec<ee; ec++){
		var ei=es[ec];
		if (ei.id){
			ei.onclick = markAction;
			if(ieh && doieh){
				ei.onmouseover=iehover;
				ei.onmouseout=iedehover;
			}
		}
	}
}

function markAction(e)
{
	var node = (typeof e=='undefined')?window.event.srcElement:e.target;
	if (!node) return false;
	var delentry = false;
	var showpic  = false;
	while (node && (node.nodeName.toLowerCase()!='tr' || !node.id)){
		if (node.nodeName.toLowerCase()=='div' && node.className.substr(0,6)=='Button'){
			if (node.id){
				showpic = true;
				break;
			}else{
				delentry = true;
			}
		}
		node=node.parentNode;
	}
	if (node)
		if (showpic){
			var values = node.id.split('_');
			pop_ext('/app/dbimage.php?path='+escape(values[3]+'/'+values[4]+'/'+values[5]+'-'+values[6]+'.jpg'),parseInt(values[1]),parseInt(values[2]));
		}else if (delentry){
			unremember(node.id);
			var tab=node.parentNode;
			tab.removeChild(node);
			if (!tab.getElementsByTagName('tr').length){
				var div = tab.parentNode.parentNode;
				var par = div;
				while (par && par.nodeName.toLowerCase()!='p') par=par.previousSibling;
				if (par) par.parentNode.removeChild(par);
				div.parentNode.removeChild(div);
				var root = document.getElementById('Mark');
				if (root && !root.getElementsByTagName('p').length){
					var par = document.createElement('p');
					par.appendChild(document.createTextNode('Es befinden sich keine Einträge auf Ihrem Merkzettel.'));
					root.appendChild(par);
				}
			}
			opener.markUpdate(node.id);
		}else
			try{
				opener.update(node.id);
				opener.focus();
			}catch(e){}
	return false;
}

function markUpdate(/*, id, id, ...*/)
{
	var content = frames.content;
	for (var cnt=0; cnt<arguments.length; cnt++){
		var id = arguments[cnt];
		var found = content.document.getElementById(id);
		if (found){
			if (found.nodeName.toLowerCase()=='div'){
				toggleButton(found);
			}else if (found.nodeName.toLowerCase()=='tr'){
				var check = found.getElementsByTagName('input');
				if (check.length) check[0].checked = false;
			}
		}
		if (content.pop_extwin){
			var found = content.pop_extwin.document.getElementById(id);
			if (found) toggleButton(found);
		}
		var found = content.document.getElementById(id+'_0');
		if (found && found.nodeName.toLowerCase()=='div'){
			toggleButton(found);
		}
	}
}

function showMark()
{
	pop_ext('/app/mark.php',600,400,3,null,null,true);
}

function closeMark()
{
	window.close();
	return false;
}

function clearMark()
{
	if (confirm('Möchten Sie wirklich alle Einträge\nvon Ihrem Merkzettel entfernen?')){
		var marked = document.getElementsByTagName('tr');
		for (var cnt=0; cnt<marked.length; cnt++){
			opener.markUpdate(marked[cnt].id);
		}
		coo_ClearCookie('marks');
		pop_reload();
	}
	return false;
}

function getMarkId(id)
{
	var idc = id.split('_');
	var tid = idc[0].charAt(0).toUpperCase();
	var cid = parseInt(idc[1]);
	var eid = parseInt(idc[2]);
	var pid = parseInt(idc[3]);
	if (eid){
		return (pid?asB32(pid):'')+tid+asB32(eid);
	}else{
		return asB32(cid)+tid;
	}
}

var b32Chars='0123456789abcdefghijklmnopqrstuv';
function asB32(val)
{
	var res = '';
	while (val) {
		res = b32Chars.charAt(val%32)+res;
		val = val>>5;
	}
	return res;
}

function remember(id)
{
	var mid = getMarkId(id);
	var old = coo_GetCookie('marks', 'ids');
	var tst = ','+old+',';
	var pos = tst.indexOf(','+mid+',');
	if (pos==-1){
		coo_SetCookie('marks', 'ids', old+(old?',':'')+mid);
	}
	if (pop_extwin && pop_extopen) pop_extwin.pop_reload();
	return false;
}

function unremember(id)
{
	var mid = getMarkId(id);
	var old = coo_GetCookie('marks', 'ids');
	var tst = ','+old+',';
	var pos = tst.indexOf(','+mid+',');
	if (pos!=-1){
		if (pos){
			coo_SetCookie('marks', 'ids', old.substr(0,pos-1)+old.substr(pos+mid.length));
		}else{
			coo_SetCookie('marks', 'ids', old.substr(mid.length+1));
		}
	}
	if (pop_extwin && pop_extopen) pop_extwin.pop_reload();
	return false;
}

function orderImages()
{
	// get list root
	var root = document.getElementById('Mark');
	if (root){
		var es = root.getElementsByTagName('tr');
		var ee = es.length;
		for (var ec=0; ec<ee; ec++)
			if (es[ec].id && es[ec].id.split('_').length == 4){
				pop_ext('/app/order.php',600,600,3);
				return false;
			}
	}
	alert('Es befinden sich keine Bilder auf Ihrem Merkzettel.');	
	return false;
}

