function clipboard_start () {
  var clip = new ZeroClipboard.Client();
  var source = document.getElementById("code").innerHTML;
  var source1 = source.replace(/&lt;/g, "<");
  var source2 = source1.replace(/&gt;/g, ">");
  var source3 = source2.replace(/&amp;/g, "&");
  clip.setText(source3);
  clip.glue("copy_button");
}


function reqOb() {
  var reqOb;
  if (window.XMLHttpRequest) { 
    reqOb = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    reqOb = new ActiveXObject("Microsoft.XMLHTTP");
  }
  return reqOb;
}

var req;
function sicherheit() {
  req = reqOb();
  req.open("GET", "../classes/captcha.php", true);
  req.onreadystatechange = result;
  req.send(null);
};
    
function result() {
  if (req.readyState == 4) {
    random = Math.round(Math.random() * 990000);
    img =  new Image();
    img.src = "inc/classes/captcha.php?random= " + random;
    document.getElementById("captcha").src = img.src;
    document.getElementById("captchaInput").value = "";
  }
}

function bbcodes (bbcode) {
  var textarea = document.getElementById("text");
  if (document.selection) {
    textarea.focus();
    document.selection.createRange().text = bbcode;
    document.selection.createRange().select();
  } else if (textarea.selectionStart || textarea.selectionStart == '0') {
    intStart = textarea.selectionStart;
    intEnd = textarea.selectionEnd;
    textarea.value = (textarea.value).substring(0, intStart) + bbcode + (textarea.value).substring(intEnd, textarea.value.length);
    textarea.selectionStart = textarea.selectionEnd = intStart+bbcode.length;
    textarea.focus();
  } else {
    textarea.value += bbcode;
  }
}

// Request erzeugen
function reqObj() {
  var reqObj;
  if (window.XMLHttpRequest) { 
    reqObj = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    reqObj = new ActiveXObject("Microsoft.XMLHTTP");
  }
  return reqObj;
}
    
var stars = 5;
var req;
function request(site) {
  req = reqObj();
  req.open("GET", site, true);
  req.onreadystatechange = returnData;
  req.send(null);
};
    
function returnData() {
  if (req.readyState == 4) {
    var result = req.responseText;
    var ratingDiv = document.getElementById("rating");
    ratingDiv.innerHTML = "";
    for (var i = 1; i <= stars; i++) {
      ratingDiv.innerHTML += "<img src='images/unrated.png' id='" + i +"' onMouseOver='rate(" + i +");' onMouseOut='unrate();' onClick='saveRate(" + i + ");' />";
    }
        
    for (var i = 1;  i <= result; i++) {
      document.getElementById(i).src = "images/rated.png";
    }
  }
}  
      
function rate(rate) {
  for (var i = 1; i <= rate; i++) {
    document.getElementById(i).src = "images/rated.png";
  }
}
      
function unrate() {
  for (var i = 1; i <= stars; i++) {
    document.getElementById(i).src = "images/unrated.png";
  }
}
    
var save;
function saveRate (id) {
  if (id <= 0) {
    document.getElementById("rating").innerHTML = "Ihr Vote muss mindestens 1 sein.";
    setTimeout("request('index.php?rated')", 5000);
  } else if (id > 5) {
    document.getElementById("rating").innerHTML = "Ihr Vote darf nicht h&ouml;her als 5 sein.";
    setTimeout("request('index.php?rated')", 5000);
  } else {
    save = reqObj();
    save.open("GET", "index.php?saverating=" + id, true);
    save.onreadystatechange = saveData;
    save.send(null);
  }
}
    
function saveData() {
  if (save.readyState == 4) {
    var result = save.responseText;
    if (result != 1) {
      document.getElementById("rating").innerHTML = "Ihr Vote betr&auml;gt " + result + " Punkte";
    } else {
      document.getElementById("rating").innerHTML = "Ihr Vote betr&auml;gt " + result + " Punkt";
    }
    setTimeout("request('index.php?rated')", 5000);
  }
}

