
/* create animations */

function opacity(id, opacStart, opacEnd, millisec) {

    var speed = Math.round(millisec / 100);
    var timer = 0;

    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}

function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
}

function shiftOpacity(id, millisec) {

    if(document.getElementById(id).style.opacity == 0) {
        opacity(id, 0, 100, millisec);
    } else {
        opacity(id, 100, 0, millisec);
    }
}



function sendForm(id){
        document.getElementById(id).submit();
}

function sendmail(p1,p2,domain) {
                addr = p1+"@"+p2+"."+domain;
                window.location.href = "mailto:"+addr;
                }

function hide(id) {
        el = document.getElementById(id);
        if(el) {
                el.style.display = "none";
                }
}

function show(id) {
        el = document.getElementById(id);
        if(el) {
                el.style.display = "block";
                }
}

function toggle(id) {
                if(document.getElementById(id).style.display == "none"){
                show(id);
                }else{
                hide(id);
          }
}

function switchClass(id,styleclass) {
        el = document.getElementById(id);
        if(el) {
                el.className = styleclass;
        }
}

//MailCheck
function EMail(s){
        var a = false;
         var res = false;
  if(typeof(RegExp) == 'function'){
                 var b = new RegExp('abc');
          if(b.test('abc') == true){a = true;}
  }

        if(a == true){
                  reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
                   '(\\@)([a-zA-Z0-9\\-\\.]+)'+
                   '(\\.)([a-zA-Z]{2,4})$');
           res = (reg.test(s));
         }else{
          res = (s.search('@') >= 1 &&
         s.lastIndexOf('.') > s.search('@') &&
         s.lastIndexOf('.') >= s.length-5)
         }
         return(res);
}

function fadein(id) {
         changeOpac(0,id);
         show(id);
         opacity(id,0,100,500);
}

function fadeout(id) {
         opacity(id,100,0,250);
         hide(id);
}

// Tooltip

function findPosX(obj)
  {
    var curleft = 0;
    if(obj.offsetParent)
        while(1)
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
  }

  function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }


function tooltip(id,text) {
         obj = document.getElementById(id);
         posLeft = findPosX(obj);
         posTop = findPosY(obj);
         objHoehe = obj.offsetHeight;
         objBreite = obj.offsetWidth;

         tipPosTop = posTop + objHoehe;

//         alert(posLeft+","+posTop);
//         alert(objHoehe+","+objBreite);
         if(text != "clear") {
         document.getElementById('tooltip').innerHTML = "<div id='tooltip_tip' class='tooltip' style='position: absolute; top: "+tipPosTop+"px; left: "+posLeft+"px;'><img src='../img/ic/information.png'>"+text+"</div>";
                             }
         else {
         document.getElementById('tooltip').innerHTML = "";
         }
}

// BBCODES
function getSelected(id) {
    selected = document.getElementById(id).select();
    alert(selected);
}


function makeToBBCode(aTag, eTag, id) {
  var input = document.getElementById(id);
  input.focus();
  if(typeof document.selection != 'undefined') {
    var range = document.selection.createRange();
    var insText = range.text;
    range.text = aTag + insText + eTag;
    range = document.selection.createRange();
    if (insText.length == 0) {
      range.move('character', -eTag.length);
    } else {
      range.moveStart('character', aTag.length + insText.length + eTag.length);
    }
    range.select();
  }
  else if(typeof input.selectionStart != 'undefined')
  {
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
    input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
    var pos;
    if (insText.length == 0) {
      pos = start + aTag.length;
    } else {
      pos = start + aTag.length + insText.length + eTag.length;
    }
    input.selectionStart = pos;
    input.selectionEnd = pos;
  }
  else
  {
    var pos;
    var re = new RegExp('^[0-9]{0,3}$');
    while(!re.test(pos)) {
      pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
    }
    if(pos > input.value.length) {
      pos = input.value.length;
    }
    var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
    input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
  }
}



function bbcodes(id) {

        obj = document.getElementById(id);
        id2 = id+"_p";
        obj2 = document.getElementById(id2);



        if(document.getElementById('sp_'+id) == null){
            zusatz = "<span id='sp_"+id+"'><a href=\"javascript:makeToBBCode('<b>','</b>','"+id+"');\"><img src=\"img/ic_bold.png\" alt='Fett' border='0'></a><a href=\"javascript:makeToBBCode('<i>','</i>','"+id+"');\"><img src=\"img/ic_italic.png\" alt='Kursiv' border='0'></a><a href=\"javascript:makeToBBCode('<u>','</u>','"+id+"');\"><img src=\"img/ic_underline.png\" alt='Unterstreichen' border='0'></a></span>";

            current = obj2.innerHTML;
            HTMLNeu = zusatz+current;

            isAlreadyOpen = current.replace(zusatz,"");

            if(obj) {
                obj2.innerHTML = HTMLNeu;
            }

            else if(!obj) {
                alert("Kein Objekt mit ID "+id+" nicht gefunden.");
            }
        }



//        alert(isAlreadyOpen);

//        if(obj && isAlreadyOpen < 0) {
}
