
// AJAX


 function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
 }
 
  function xsend(url, callback)
  {
    var xml = createRequestObject();
    var response = "";
  	xml.open("GET", url, true);  
  	
  	xml.onreadystatechange = function()
    {            
      switch(xml.readyState) {
        case 4:
        if(xml.status!=200) {
          // error
          window.status = 'GS_XML ERROR: REQUEST FAILED';
        }else{           
          response = xml.responseText;
          callback(response);
        }
        break;

        default:
            return false;
        break;     
     }
    };
    
    xml.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xml.send(null);      
    
  } 


// FUNKTIONEN F�R "NEUER EINTRAG" - FORMULAR

function selectedText()
{
	var userSelection;
	var text = "";
	
	if (window.getSelection) {
		userSelection = window.getSelection();
		text = userSelection;
	}
	else if (document.selection) { 
		userSelection = document.selection.createRange();
		text = userSelection.text;
	}
  	
  	return text;
}

function updateCharCounter1(p,min)
{	
	var len = p.value.length;
	
	// Zähler aktualisieren
	document.getElementById("num").innerHTML = len;
	
	// Farbe der Anzeige ggf. ändern
	if(len >= min)
	{
		document.getElementById("display1").style.backgroundColor = "#d0e0d0";
		document.getElementById("submit1").disabled = false;
	}
	else
	{
		document.getElementById("display1").style.backgroundColor = "#e0d0d0";
		document.getElementById("submit1").disabled = true;
	}
}

function updateCharCounter2(p,min)
{	
	var len = p.value.length;
	
	// Zähler aktualisieren
	document.getElementById("num2").innerHTML = len;
	
	// Farbe der Anzeige ggf. ändern
	if(len >= min)
	{
		document.getElementById("display2").style.backgroundColor = "#d0e0d0";
		document.getElementById("ladd").disabled = false;
	}
	else
	{
		document.getElementById("display2").style.backgroundColor = "#e0d0d0";
		document.getElementById("ladd").disabled = true;
	}
}

function ucc2add(min)
{
	var len = document.getElementById("num2").innerHTML;
	var selected = selectedText();	
	
	if(len < min)
	{
		alert("Fehler: Es muessen mindestens " + min + " Zeichen in der Detailbeschreibung enthalten sein!");
		return false;
	}
	
	var url = prompt("Bitte geben Sie den Ziel-URL des Links ein:", "http://");
	var title = "";
	
	if(selected == "") title = prompt("Bitte geben Sie den Link-Text ein:", "");
	else title = selected;
	
	var insert = "[url=" + url + "]" + title + "[/url]";
	
	if(selected == "")
	{
		document.getElementById("details").value += insert;
	}
	else
	{
		document.getElementById("details").value = document.getElementById("details").value.replace(selected,insert);
	}
	
	return false;
}

function checkForm1(min)
{
	var url = document.forms[0].elements[0].value;
	var title = document.forms[0].elements[1].value;
	var desc = document.forms[0].elements[2].value;
	
	if(url.substr(0,7) != "http://")
	{
		alert("Ungueltiger URL! URL muss mit 'http://' beginnen.");
		return false;
	}
	
	if(url.length <= 7) 
	{
		alert("Der angegebene URL ist ung�ltig.");
		return false;
	}
	
	if(title.length <= 3)
	{
		alert("Der Titel muss mindestens 3 Zeichen lang sein!");
		return false;
	}
	
	if(desc.length < min)
	{
		alert("Die Beschreibung ist zu kurz.");
		return false;
	}
	
	return true;
}

var cc_win = 0;

function categoryChooser()
{
	var base = document.getElementsByTagName("base")[0];

	cc_win = window.open(base.href+'categorychooser.php', 'Kategorieauswahl', 'width=640,height=480,left=150,top=100,toolbar=no,menubar=no,location=no,dependent=yes,resizable=no,statusbar=no');
	cc_win.focus();
}

function cc_select(id,title,url)
{
	var src = window.opener;
	
	src.document.getElementById("cat_label").innerHTML = title;
	src.document.getElementById("cat_label").href = url;
	src.document.getElementById("cat_id").value = id;
	
	window.opener.focus();
	window.close();
}

function suggestUrlName()
{
	var title = document.getElementById("title").value;
	
	title = title.toLowerCase();
	
	title = title.replace(/ä/g, 'ae');
	title = title.replace(/ö/g, 'oe');
	title = title.replace(/ü/g, 'ue');
	title = title.replace(/ß/g, 'ss');
	title = title.replace(/\//g, '-');
	title = title.replace(/ /g, '_');
	title = title.replace(/%/g, ',');
	title = title.replace(/"/g, '');
	title = title.replace(/'/g, ''); 
	
	document.getElementById("url_name").value = title;
}
	
/* BACKLINKVERWALTUNG _ COMMENTS */

var bmt_current = false;
var bmt_comment = "";
var bmt_id = false;

function comment(id)
{
	var p = document.getElementById("comment"+id);
	
	if(bmt_current == false) // Feld aktivieren
	{
		bmt_id = id;
		bmt_current = true;
		bmt_comment = p.innerHTML;
		if(bmt_comment == "&nbsp;") bmt_comment = '';
		
		var input = document.createElement("input");
		input.type = "text";
		input.id = "txtComment";
		input.onblur = decomment;
		input.onchange = decomment;
		input.value = bmt_comment;
		
		//p.innerHTML = '<input type="text" id="txtComment" onBlur="decomment('+id+')" onChange="decomment('+id+')" value="' + bmt_comment + '">';
		
		p.innerHTML = '';
		p.appendChild(input);
		input.focus();
		
		//document.getElementById("txtComment").focus();
	}
	
}

function decomment()
{
	if(bmt_current)
	{
		var p = document.getElementById("comment"+bmt_id);
		bmt_comment = document.getElementById("txtComment").value;
		if(bmt_comment == '') bmt_comment = "&nbsp;";
		p.innerHTML = bmt_comment;
		bmt_current = false;
		
		// In Datenbank speichern
		var query = encodeURI("source/bmt_savecomment.interface.php?bid=" + bmt_id + "&data=" + bmt_comment);
		xsend(query, 0);
	}
}
	
function posy(obj) {

	var ie = typeof(document.all) == "object" ? true : false
	var curtop = 0;
	if (obj.offsetParent) {
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curtop += obj.offsetTop
		}
	}
	
	if(ie) curtop -= 1;
	
	return curtop;
}  	

function posx(obj) {

	var ie = typeof(document.all) == "object" ? true : false
	var curleft = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
		}
	}
	
	if(ie) curleft -= 1;
	
	return curleft;
}  	

function set_transparency(id, value)
{
	var obj = document.getElementById(id);
	var transp = value;
	if(value > 100) transp = 100;
	else if(value < 0) transp = 0;

    obj.style.filter = "alpha(opacity=" + transp +  ")";	// MIE
    obj.style.opacity = transp / 100;						// CSS 2.0+
    obj.style.MozOpacity = transp / 100;	
}

function fadein(id,current,step)
{
	var transp = current + step;
	
	if(transp <= 100)
	{
		set_transparency(id, transp);    
    	window.setTimeout("fadein('"+id+"', "+transp+","+step+")", 50);
    }
}

function fadeout(id, current, step)
{
	var transp = current - step;
	
	if(transp >= 0)
	{
		set_transparency(id, transp);
		window.setTimeout("fadeout('"+id+"', "+transp+","+step+")", 50);
	}
	
	if(current == 0)
	{
		document.getElementById(id.replace("img","")).style.left = "-1000px";
		document.getElementById("shadow").style.left = "-1000px";	
	}
}

var lbmx=0, lbmy=0;

function coords(ev) {
  if(!ev) ev = window.event;

  if(ev.pageX){
    lbmx = ev.pageX;	
    lbmy = ev.pageY;
  } else if(window.event && window.event.clientX) {
    var isStrictMode = document.compatMode 
        && document.compatMode != 'BackCompat' ? true : false;
    var scrollX = isStrictMode ? 
        document.documentElement.scrollLeft : document.body.scrollLeft;
    var scrollY	= isStrictMode ? 
        document.documentElement.scrollTop : document.body.scrollTop;
    lbmx = window.event.clientX + scrollX;
    lbmy = window.event.clientY + scrollY;
  }
}

var preloads = new Array();
var pindex = 0;

function load_image(id, init, index)
{
	if(init == true)
	{
		preloads[index] = new Image();
		preloads[index].src = "preview.php?id=" + id + "&nr=1";
		//preloads[index].onload = load_image(id,false,index);
		preloads[index].onload = function() { 
			document.getElementById("preview"+id+"img").src = preloads[index].src; 
			set_transparency('preview'+id+'img', 0); 
			fadein('preview'+id+'img', 0, 20);
		}
	}
	else
	{
		document.getElementById("preview"+id+"img").src = preloads[index].src;
	}
}
	
function preview(e,a,id)
{
	if(!e) e = window.event;
	
	coords(e);

	var img_id = "preview" + id + "img";
	var preview_box = document.getElementById("preview" + id);
	var preview_img = document.getElementById("preview" + id + "img");
	var shadow = document.getElementById("shadow");
	
	preview_box.style.left = (lbmx + 24) + "px";
	preview_box.style.top = (lbmy - 100) + "px";
	
	shadow.style.left = (lbmx + 26) + "px";
	shadow.style.top = (lbmy - 96) + "px";
	
	var temp = preview_img.src.split("/");
	if(temp[temp.length-1] == "loading.gif") // Eigentliches Bild laden
	{
		load_image(id,true,pindex++);
		//preview_img.src = "preview.php?id="+id+"&nr=1";
	}
	
	// Einblenden	
}

function hide(a,id)
{
	var img_id = "preview" + id + "img";
	fadeout("shadow", 100, 100);	
	fadeout(img_id, 100, 20);
	fadeout("preview" + id, 100, 20);
}

//window.onmousemove = coords;
	

/* EOF */