var myResultSet;

function getResponse(t)
{
    try {
        var myResultSet = eval("(" + t.responseText + ")")
    } catch(err) {
        if (t.responseText.search(/^index.php/) < 0) {
            if (t.responseText.length > 0 && t.responseText.length < 255) {
                window.alert(t.responseText);
            } else {
                if (t.responseText.length > 0) {
                    window.alert("Invalid response received");
                }
            }
        } else {
            window.location.href = t.responseText;
        }
    }

    if (myResultSet && typeof(myResultSet) == 'object') {
        if ('cmd' in myResultSet) {
            if (typeof(myResultSet.cmd.length)=="undefined") {
                try {
                    var cmdResult = eval('(' + myResultSet.cmd + ')');
                } catch(err) {
                    try {
                        var cmdResult = eval(myResultSet.cmd);
                    } catch(err1) {}
                }
            } else {
                for (i=0;i<myResultSet.cmd.length;i++) {
                    try {
                        var cmdResult = eval("(" + myResultSet.cmd[i] + ")");
                    } catch(err) {
                        try {
                            var cmdResult = eval(myResultSet.cmd[i]);
                        } catch(err1) {
                            window.alert(err1+'\n'+myResultSet.cmd[i]);
                        }
                    }
                }
            }
        }
    }
}

function postForm(inst){
    var elementId = inst.formTargetElementId;
    var myForm = $(elementId);
    while (!(myForm.nodeType == '9' || (myForm.nodeType == '1' && myForm.nodeName == 'FORM'))) {
        myForm = myForm.parentNode;
    }

    if (myForm.nodeName == 'FORM') {
        var url = myForm.action;
        reqmethod = myForm.method;
        var pars = 'tinymce='+elementId+'&'+Form.serialize(myForm);

        var myAjax = new Ajax.Request(
            url,
            {
                method: reqmethod,
                postBody: pars,
                onComplete: getResponse
            }
        );
    }
}


function processResult(t) {
    return getResponse(t);
}

function fileBrowser(field_name) {
    var connector = "js/tinymce/filemanager/browser.html?Connector=connectors/php/connector.php&Type=Image";
    var enableAutoTypeSelection = true;

    tinymcpuk_field = field_name;
    tinymcpuk = window;

    window.open(connector, "tinymcpuk2", "modal,width=600,height=400");
}

/**
 * slideShow(container, timeout)
 *
 * Create a slideshow from a div containing div's with images
 *
 * Script taken from blog.remvee.net
 *
 */
function Slideshow(slideshow, timeout) {
  this.slides = $(slideshow).select('div.slide');
  this.timeout = timeout;
  this.current = 0;

  if (this.slides.length == 0) return;

  for (var i = 0; i < this.slides.length; i++) {
    this.slides[i].style.zIndex = this.slides.length - i;
  }

  Element.show(slideshow);
  setTimeout((function(){this.next();}).bind(this), this.timeout + 1000);
}

Slideshow.prototype = {
  next: function() {
    for (var i = 0; i < this.slides.length; i++) {
      var slide = this.slides[(this.current + i) % this.slides.length];
      slide.style.zIndex = this.slides.length - i;
    }

    Effect.Fade(this.slides[this.current], {
      afterFinish: function(effect) {
        effect.element.style.zIndex = 0;
        Element.show(effect.element);
        Element.setOpacity(effect.element, 1);
      }
    });

    this.current = (this.current + 1) % this.slides.length;
    setTimeout((function(){this.next();}).bind(this), this.timeout + 1000);
  }
}

