// selektiert <select>-Eintrag anhand des .values (nicht nach index)

function selectByValue( obj, hitme )
{
  for(i=0; i<obj.length; i++)
    if(obj.options[i].value==hitme)
    {
      obj.selectedIndex = i;
      break;
    }
}

// Filtert Objekttypen m nach k
function fObjTypes(k,m)
{
  r=new Array();
  for (var i in k)
    r[k[i]]=new Array(m[k[i]]);
  return r;
}

// Selektiert Keys von a nach Bitmaske m
function fBitm(b,m,a)
{
  r = new Array();
  for (i=0; i<b; ++i) {
    if((m & bits[i]) != 0)
      r[bits[i]] = a[bits[i]];
  }
  return r;
}

function checkAll(field) {
  var value=field.checked;
  var form=field.form;
  var items=form.elements['LineID'];

  if(items.length) {
    var i;

    for(i=0;i<items.length;i++)
      items[i].checked=value;

  } else {
    items.checked=value;
  }
}

function BranchenSeitenOrtFocus(el) {
	if(el.value == 'PLZ oder Ort') {
		el.value = '';
	}
}	
function BranchenSeitenOrtBlur(el) {
	if(el.value == '') {
		el.value = 'PLZ oder Ort';
	}
}

function slowMerkliste(msg) {
    var ul = YAHOO.util.Dom.get('merkliste');
	var li = document.createElement('li');
	var a = document.createElement('a');
	a.href = document.baseURI;
	a.innerHTML = 'Hier klicken zum Aktualisieren';
	
	li.appendChild(a);
	ul.appendChild(li);
}

/* artikelmerker neu */
function showImmoMemo() {
    var callbacks = {
        success : function (o) {
            var messages = [];
            try {
                messages = YAHOO.lang.JSON.parse(o.responseText);
            }
            catch (x) {
/*                alert("JSON Parse failed!");*/
                return;
            }
			
            displayList(messages, false);
        },

        failure : function (o) {
            if (!YAHOO.util.Connect.isCallInProgress(o)) {
                slowMerkliste()
            }
        },
        timeout : 3000
    }
    YAHOO.util.Connect.asyncRequest('GET',"/MerkListe.php?do=show", callbacks);
}

/* artikelmerker neu */
function addImmoMemo(id) {
    var callbacks = {
        success : function (o) {
            var messages = [];
            try {
                messages = YAHOO.lang.JSON.parse(o.responseText);
            } catch (x) {
/*                alert("JSON Parse failed!");*/ return;
            }
			
            displayList(messages, true);
        },

        failure : function (o) {
            if (!YAHOO.util.Connect.isCallInProgress(o)) {
                slowMerkliste()
            }
        },
        timeout : 9000
    }
	YAHOO.util.Connect.asyncRequest('GET',"/MerkListe.php?do=save&id="+parseInt(id), callbacks);
}

/* artikelmerker neu */
function delImmoMemo(id) {
    var callbacks = {
        success : function (o) {
            var messages = [];
            try {
                messages = YAHOO.lang.JSON.parse(o.responseText);
            } catch (x) {
/*                alert("JSON Parse failed!"); */return;
            }
			
            displayList(messages, false);
			return false;
        },

        failure : function (o) {
            if (!YAHOO.util.Connect.isCallInProgress(o)) {
                slowMerkliste()
            }
			return false;
        },
        timeout : 9000
    }
	YAHOO.util.Connect.asyncRequest('GET',"/MerkListe.php?do=delete&id="+parseInt(id), callbacks);
}

function displayList(messages, anim) {
	
	if(messages.length == 1 && messages[0].url == '' && messages[0].msg != '') {
		alert(messages[0].msg);
		return;
	}

    var ul = YAHOO.util.Dom.get('merkliste');
    ul.innerHTML = '';

	if(messages.length == 1 && messages[0].url == '' && messages[0].msg == '') {
		var li = document.createElement('li');
		li.innerHTML = 'Merkliste ist leer';
		li.className = 'inactive';
		ul.appendChild(li);
		return;
	}
	
	for (var i = 0, len = messages.length; i < len; ++i) {
		var m = messages[i];
		var li = document.createElement('li');
		var a = document.createElement('a');
		a.href = m.url;
		
		if(m.name.length > 24) {
			a.innerHTML = m.name.substr(0, 24)+"&hellip;";
		} else {
			a.innerHTML = m.name;
		}		
		
		a.className = 'nav';
		li.appendChild(a);
		
		var nbsp = document.createTextNode( " " );
		li.appendChild(nbsp);
		
		del = document.createElement('a');
		del.href = "javascript:delImmoMemo("+parseInt(m.id)+")";
		del.innerHTML = "<img src=\"/img/general/icons/delete.png\" alt=\"Löschen\"/>";
		
		li.appendChild(del);
				
		ul.appendChild(li);
	}
	
	if(anim == false)
		return;
	
	// Letztes Element kurz hervorheben
    var attributes = {
        backgroundColor: { from: '#FFD400', to: YAHOO.util.Dom.getStyle(li.parentNode, 'backgroundColor') }
    };
    var anim = new YAHOO.util.ColorAnim(li, attributes);
	anim.animate();
}

YAHOO.util.Event.onAvailable('merkliste', function(e) {
	showImmoMemo();
});
