// JavaScript Document

var base_url          = location.protocol + '//' + location.hostname;
var progress_icon     = '<img src="graphics/progress.gif" style="display: block; margin: 5px auto">';
var progress_icon_src = 'graphics/progress.gif';

function get_imageselector(received_event, callback) {
  /* BOX POSITION */
  var mouse_x;
  var mouse_y;
  if (received_event.pageX || received_event.pageY) {
    mouse_x = received_event.pageX;
    mouse_y = received_event.pageY;
  } else if (received_event.clientX || received_event.clientY) {
    mouse_x = received_event.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
    mouse_y = received_event.clientY + document.body.scrollTop + document.documentElement.scrollTop;
  }

  var http = getHTTPObject();
  if (http) {
	http.open("GET", "/neo/index.pl?admin=get_imageselector&callback=" + escape(callback), true);
	http.onreadystatechange = function() {
	  if (http.readyState == 4) {
        /* FILL BOX */
        var div = document.getElementById('imageselector_outer');
		div.innerHTML = http.responseText;

        /* MOVE BOX */
        document.getElementById('imageselector').style.left = (mouse_x - 150) + 'px';
        document.getElementById('imageselector').style.top  = (mouse_y + 30) + 'px';

//document.getElementById('main').innerHTML = document.getElementById('imageselector').style.top;

        /* FILL BOX */
		get_imageselector_content('existing');
	  }
	}
	http.send(null);
  } else {
	alert('Kan ej skapa http-objekt. Kontakta Bjorn.');
  }
}

function delete_imageselector() {
  if (document.getElementById('imageselector_outer')) {
    document.getElementById('imageselector_outer').innerHTML = '';
  }
}

function get_imageselector_content(type) {
  var area = document.getElementById('imageselector_container');

  if (type == 'new') {
    document.getElementById('imageselector_tab_new').style.background        = 'white';
    document.getElementById('imageselector_tab_existing').style.background   = '#CCCCCC';
    document.getElementById('imageselector_tab_none').style.background       = '#CCCCCC';
  } else if (type == 'none') {
    document.getElementById('imageselector_tab_new').style.background        = '#CCCCCC';
    document.getElementById('imageselector_tab_existing').style.background   = '#CCCCCC';
    document.getElementById('imageselector_tab_none').style.background       = 'white';
  } else {
    document.getElementById('imageselector_tab_new').style.background        = '#CCCCCC';
    document.getElementById('imageselector_tab_existing').style.background   = 'white';
    document.getElementById('imageselector_tab_none').style.background       = '#CCCCCC';
  }

  area.innerHTML = progress_icon;

  var http = getHTTPObject();
  if (http) {
	http.open("GET", "/neo/index.pl?admin=get_imageselector_content&type=" + type, true);
	http.onreadystatechange = function() {
	  if (http.readyState == 4) {
		area.innerHTML = http.responseText;
	  }
	}
	http.send(null);
  } else {
	alert('Kan ej skapa http-objekt. Kontakta Bjorn.');
  }
}

function upload_image() {
  var image      = document.getElementById('imageselectorform_image');

  if (image.value) {
    var re = /\.(jpg|gif|png)$/i;
    if (image.value.match(re)) {
      document.getElementById('imageselectorform').visibility = 'hidden';
      document.getElementById('iformimage').visibility = '';
      document.getElementById('imageselectorform').submit();

    } else {
      document.getElementById('imageselectorform_error').innerHTML = 'Välj en bild.';
    }

  } else {
    document.getElementById('imageselectorform_error').innerHTML = 'Välj en bild.';
  }
}

function select_image(image_id) {
  var selected = document.getElementById('imageselector_selected_image');
  var old_selected = document.getElementById('imageselector_image_' + selected.value);
  if (old_selected) {
    old_selected.style.border = 'none';
  }

  selected.value = image_id;
  var new_selected = document.getElementById('imageselector_image_' + image_id)
  if (new_selected) {
    new_selected.style.border = '2px solid red';
  } else {
//    alert('Could not select image with id ' + image_id + '. It does not appear on the page.');
  }

  imageselector_callback();
}

function imageselector_callback () {
  var callback = document.getElementById('imageselector_callback');

  eval('(' + callback.value + ')');
}

