/************************************************************************************************************
Ajax dynamic content
Copyright (C) 2006  DTHMLGoodies.com, Alf Magne Kalleland

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA

Dhtmlgoodies.com., hereby disclaims all copyright interest in this script
written by Alf Magne Kalleland.

Alf Magne Kalleland, 2006
Owner of DHTMLgoodies.com
  
************************************************************************************************************/ 



var enableCache = false;
var jsCache = new Array();

var dynamicContent_ajaxObjects = new Array();

function ajax_showContent(divId, ajaxIndex, url, search_textId, inputObj) {
  $(divId).innerHTML = dynamicContent_ajaxObjects[ajaxIndex].response;
  if($('more_info_pop')){ $('more_info_pop').show() }
  
  // only do this if we've selected an image on the poll creation page
  if(inputObj && !$(inputObj).getStyle('backgroundImage').match(/images\/createpoll\/icon_camera\.jpg/)){
    
    var wrapper_id = $(inputObj).up().id
    if(wrapper_id){
      var elem_id = 'poll_' + wrapper_id + '_image'
      var id      = $(elem_id).value
    
      $('more_info_pop').insert({top: '<a href="" id="remove_image_link" style="display: none;">remove image</a>'})
      $('remove_image_link').setStyle({position: 'absolute', color: 'red', padding: "0px 5px",
                                       top: '37px', right: '13px', zIndex: '100', fontSize: '13px'})
      $('remove_image_link').show()
      $('remove_image_link').observe('click', function(e){
        new Ajax.Request('/medias/'+id, {method: 'delete', evalScripts: true, 
                                         parameters: {id_for_remove_link: wrapper_id}})
        e.stop()
      }.bindAsEventListener(this))
    }
  }
  if(enableCache){
    jsCache[url] = dynamicContent_ajaxObjects[ajaxIndex].response;
  }
  dynamicContent_ajaxObjects[ajaxIndex] = false;
  
  if($(search_textId) != undefined){
    search($(search_textId).value);
    current_image_type = search_textId;
  }
}

// ('more_info_pop', '/medias?id=question', 'poll_question', inputObj.up().id)

function ajax_loadContent(divId, url, search_textId, inputObj) {
  if($(search_textId) != undefined){
      text_field_id =  search_textId + "_image"
      url= url + "&image_id=" + $(text_field_id).value;
    }
  if(enableCache && jsCache[url]){
    $(divId).innerHTML = jsCache[url];
    return;
  }

  var ajaxIndex = dynamicContent_ajaxObjects.length;

  dynamicContent_ajaxObjects[ajaxIndex] = new sack();
  
  if(url.indexOf('?') >= 0){
    dynamicContent_ajaxObjects[ajaxIndex].method='GET';
    var string  = url.substring(url.indexOf('?'));
    url         = url.replace(string,'');
    string      = string.replace('?','');
    var items   = string.split(/&/g);
    
    for(var no=0;no<items.length;no++){
      var tokens = items[no].split('=');
      if(tokens.length==2){
        dynamicContent_ajaxObjects[ajaxIndex].setVar(tokens[0],tokens[1]);
      } 
    } 
    url = url.replace(string,'');
  }
  
  dynamicContent_ajaxObjects[ajaxIndex].requestFile = url;  // Specifying which file to get

  dynamicContent_ajaxObjects[ajaxIndex].onCompletion = function(){ ajax_showContent(divId, ajaxIndex, url, search_textId, inputObj); }; // Specify function that will be executed after file has been found
  dynamicContent_ajaxObjects[ajaxIndex].runAJAX();    // Execute AJAX function  
  
  
}
