  var allowedExtensions = new Array('jpg', 'gif', 'png', 'bmp', 'psd', 'eps');
  
// BASEURL  
  var tags = document.getElementsByTagName('script');
  for(i=0;i<tags.length;i++) {
    if(tags[i].src.indexOf('javascript.js') != -1)
    {
      var baseURL = tags[i].src.replace(/\/javascript.js/g, '');
      break;
    }  
  }

// AJAX
  var ax = (window.ActiveXObject) ?  new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
  function ajax(file)
  {
    ax.open('GET', file, false);
    ax.send(null);
    
    return ax.responseText;
  }

// Follow Link
  function goTo(lnk)
  {
    document.location.href = lnk;
  }

// CONFIRM DELETE
  function del(msg, form)
  {
    var r = confirm(msg.replace(/\+/g, ' '));
    return (r == true) ? (form ? checkForm(form) : true) : false;
  }
    
// CHECK FORMS
  function empty(str)
  {
    str = str.replace(/ /g,'');
    return (str == '') ? true : false;
  }
  
  function in_array(arr, item)
  {
    for(p=0;p<arr.length;p++) if (item == arr[p]) return true;
    return false;
  }

  function checkForm(formObj, fileTransfer)
  {
    var fileInput = '';
  // text, radio, checkbox
    var input = formObj.getElementsByTagName('input');
    for(var i=0;i<input.length;i++)
    {
      if(input[i].type == 'file')
      {
        var ext = input[i].value.split('.');
            ext = ext[ext.length-1].toLowerCase();

        fileInput += input[i].value;
        if(!in_array(allowedExtensions, ext))
        {
          alert('Das angegebene Dateiformat wird leider nicht unterstützt!');       
          return false;
        }
      } else if(input[i].type == 'submit') var submitButton = input[i];
    }

  // anti spam
    if(formObj.spm) formObj.spm.value = 1;
    
  // submit
    submitButton.disabled = true; submitButton.style.color = '#888'; submitButton.style.cursor = 'default';
    submitButton.blur();

    if(fileTransfer == 1 && !empty(fileInput)) initProgressBar(formObj.APC_UPLOAD_PROGRESS.value);
    return true;
  }

// IE 6 PNG FIX
  if(window.clipboardData && document.compatMode && !window.XMLHttpRequest)
  {
    var blankImg = baseURL + '/inc/pngfix/blank.gif';
    document.styleSheets[0].addRule('img', 'behavior: url(' + baseURL + '/inc/pngfix/iepngfix.htc)');
    document.styleSheets[0].addRule('.png', 'behavior: url(' + baseURL + '/inc/pngfix/iepngfix.htc)');
  }
  
  if(baseURL.indexOf('127.0.0.1') == -1) onerror = function() { return true; };

// ADD FLASH OBJECT
  function addFlash()
  {
    var ret = new Object(); ret.embedAttrs = new Object(); ret.params = new Object(); ret.objAttrs = new Object();
    var def = new Array('menu|false', 'quality|high', 'wmode|transparent', 'classid|clsid:d27cdb6e-ae6d-11cf-96b8-444553540000', 'type|application/x-shockwave-flash');
  
    for(var i=0; i<arguments.length; i=i+2)
    {
      ret.objAttrs[arguments[i]]   = arguments[i+1];
      ret.embedAttrs[arguments[i]] = ret.params[arguments[i]] = arguments[i+1];
      ret.params[arguments[i]]     = arguments[i+1];
    }
  
    for(var i=0; i<def.length; i++)
    {
      var s = def[i].split('|');
      if(!ret.params[s[0]])
      {
        ret.objAttrs[s[0]]   = s[1];
        ret.embedAttrs[s[0]] = s[1];
        ret.params[s[0]]     = s[1];
      }
    }
  
    var str = '<object ';
    for(var i in ret.objAttrs)   str += i + '="' + ret.objAttrs[i] + '" '; str += '>';
    for(var i in ret.params)     str += '<param name="' + i + '" value="' + ret.params[i] + '" /> ';  str += '<embed ';
    for(var i in ret.embedAttrs) str += i + '="' + ret.embedAttrs[i] + '" '; str += ' ></embed></object>';
  
    return str;
  }

  var defW, defH;
  function resizePic(w, h)
  {
    defW = w; defH = h;
    var padding = parseInt(2 * 70)
    var pagewidth = document.body.clientWidth;;
    
    if((w + padding) > pagewidth)
    {
      document.getElementById('imageloader').style.cursor = 'url("/images/icons/lupe.cur"), pointer';
      document.getElementById('imageloader').onclick = function() {
        if(document.getElementById('imageloader').width < defW)
        {
          document.getElementById('imageloader').width  = defW;
          document.getElementById('imageloader').height = defH;
          document.getElementById('imageloader').style.cursor = 'url("/images/icons/lupeminus.cur"), pointer';
        } else resizePic(defW, defH);  
      }
      
      document.getElementById('imageloader').width  = parseInt(pagewidth - padding);
      document.getElementById('imageloader').height = parseInt(h*(pagewidth - padding)/w);
      document.getElementById('size').style.width   = parseInt(pagewidth - padding) + 'px';
    } else document.getElementById('imageloader').style.cursor = 'default';
    
    window.onresize = function() { resizePic(w, h); };
  }

  function showRefs(obj, hide)
  {
    if(hide) document.getElementById('overLayer').style.display = 'none';
    else {
      if(!document.getElementById('overLayer'))
      {
        var div = document.createElement('div');
            div.id = 'overLayer';
            div.onclick = function() { showRefs(this, 1); }
            
            document.body.appendChild(div);
      } else {
        document.getElementById('overLayer').innerHTML = '';
        document.getElementById('overLayer').style.display = 'block';
      }
      
      document.getElementById('overLayer').innerHTML = ajax(obj.href);
    }
    return false;
  }
