// JavaScript Document

var http;

var base_url;
var base_url_www;
var re = /no2/;
if (re.test(location.href)) {
  base_url =  'http://' + document.domain + '/no2/GEM/GEM/ws/ws.cgi';
  base_url_www = 'http://' + document.domain + '/no2/no.cgi';
} else {
  base_url = 'http://' + document.domain + '/orkideer/resurser/GEM/ws/ws.cgi';
  base_url_www = 'http://' + document.domain + '/orkideer/no.cgi';
}

var ikon_communicating = '<img src="/orkideer/grafik/loader_minitext.gif" />';

function kontrolleraLedigtAlias() {
	var http = getHTTPObject();

	var aliasInput = document.getElementById("alias");
	var aliasNode = document.getElementById("aliasLabel");

	http.open("GET", base_url + "?gem=kontrolleraLedigtAlias&alias="+escape(aliasInput.value), true);
	http.onreadystatechange = function() {
		if (http.readyState == 4) {
			if (http.responseText > 0) {
				aliasNode.innerHTML = 'Alias: <span class="meddelande">Detta alias är redan upptaget.</span><input type="text" name="alias" id="alias" value="'+aliasInput.value+'" onchange="javascript:kontrolleraLedigtAlias()">';  // textNode.parentNode
			}
			else {
				aliasNode.innerHTML = 'Alias: Aliaset är inte upptaget.<input type="text" name="alias" id="alias" value="'+aliasInput.value+'" onchange="javascript:kontrolleraLedigtAlias()">';  // textNode.parentNode
			}
		}
	}
	http.send(null);
}

function getHtml() {
  var sida    = document.getElementById("sida");
  var gem     = document.getElementById("gem");
  var sortera = document.getElementById("sortera");
  var visning = document.getElementById("visning");

  if (gem) {
	if (document.getElementById('submitUrvalslista')) {
	  document.getElementById('submitUrvalslista').src = '/orkideer/grafik/reload_snurr_22x25.gif';
	}

    var parameters = new Hash;
    parameters.set('gem',     gem.value);
    if (sida) parameters.set('sida',    sida.value);
    if (sortera) parameters.set('sortera', sortera.value);
    if (visning) parameters.set('visning', visning.value);
    parameters.set('ws',      '1');
    parameters.set('rand',    Math.random());

    new Ajax.Updater('main', base_url, {
      parameters: parameters,
      evalScripts: true
    });

  }

/*
  sida        = sida    ? '&sida='    + sida.value    : '';
  sortera     = sortera ? '&sortera=' + sortera.value : '';
  visning     = visning ? '&visning=' + visning.value : '';

  if (gem) {
	getHTTPObject();
	http.open("GET", base_url + "?gem="+gem.value+sida+sortera+visning, true);
	http.onreadystatechange = function() {
	  if (http.readyState == 4) {
		document.getElementById('main').innerHTML = http.responseText;
	  }
	  else {
		if (document.getElementById('submitUrvalslista')) {
		  document.getElementById('submitUrvalslista').src = '/orkideer/grafik/reload_snurr_22x25.gif';
		}
	  }
	}
	http.send(null);
  }
*/
}

function getHTTPObject(parallel) {
	if (http && !parallel) {
	  http.abort();   /*.transport.*/
	  http = '';
	}
	if (typeof XMLHttpRequest != 'undefined') {
	  http = new XMLHttpRequest();
	}
	if (!http) {
	  try {
		http = new ActiveXObject("Msxml2.XMLHTTP");
	  }
	  catch (e) {
		try {
		  http = new ActiveXObject("Microsoft.XMLHTTP");
		} 
		catch (e) {} 
	  }
	}

	if (http) {
	  return http;
	} else {
	  return false;
	}
}

function pausecomp(millis) {
	date = new Date();
	var curDate = null;

	do {
		var curDate = new Date();
	}
	while(curDate-date < millis);
}

function HTTPsend(posttype, request, content, callbackhandler, errorhandler, waithandler, parallel) {
                 // posttype = POST | GET, request = params, content = post content
    var http = getHTTPObject(parallel);

    if (http) {
        http.open(
            posttype,
            base_url + request,
            true);

        http.onreadystatechange = function() {
            if (http.readyState == 4) {
                if (http.status == 200) {
                    var re = /^<Quiz><error/;
                    if (re.test(http.responseText)) {
                        if (errorhandler) eval(errorhandler);
                    } else {
                        var result = http.responseText;
                        if (callbackhandler) eval(callbackhandler);
                    }
                } else {
                    if (errorhandler) eval(errorhandler);
                }
            } else {
                if (waithandler) eval(waithandler);
            }
        }

        http.send(content);
    }
}

function _getContentTarget(parent) {
  // find target
  var divs = collectionToArray(parent.getElementsByTagName("DIV"));
  var reContentTarget = /content/;
  var contentTarget;
  for (var i=0; i<divs.length; i++) {
	if (divs[i].className && divs[i].className.match(reContentTarget)) {
	  contentTarget = divs[i];
	  return contentTarget;
	}
  }
  return contentTarget;
}

