// addOption
function addOption(box, parID, parVal) {
  var pos = box.options.length;
  box.options[pos] = new Option(document.getElementById(parVal).value, document.getElementById(parID).value);
  document.getElementById(parID).value = "";
  document.getElementById(parVal).value = "";
  document.getElementById('addsmall').style.background='transparent url(images/submitsearchdisabled.gif) no-repeat 50% 50%';
  document.getElementById('addsmall').disabled='true';
}

// addValues
function addValues(box, val) {
  for(i = 0; i < box.length; i++) {
    //alert(box[i].value);
    if (val.value == "") {
      val.value = box[i].value;
    } else {
      val.value += "," + box[i].value;
    }
  }
  return true;
}


// removeOption
function removeOption(box) {
  var pos = box.options.selectedIndex;
  box.options[pos] = null;
}

// showDivWindow
function showDivWindow(divID, url, params) {
  objAJAX = new ajaxObject(divID, url);
  objAJAX.update(params);
}

// ajax Object
function ajaxObject(layer, url) {
  var that=this;
  var updating = false;
  this.callback = function() {}
  var AJAX = null;

  this.update = function(passData) {
    if (updating==true) {
      AJAX.abort();
      AJAX = null;
    }
    updating=true;
    if (window.XMLHttpRequest) {
      AJAX = new XMLHttpRequest();
    } else {
      AJAX = new ActiveXObject("Microsoft.XMLHTTP");
    }
    if (AJAX==null) {
      alert("Your browser doesn't support AJAX.");
      return false
    } else {
      AJAX.onreadystatechange = function() {
        if (AJAX.readyState==4 || AJAX.readyState=="complete") {
          updatepage(layer, AJAX.responseText);
          delete AJAX;
          updating=false;
          that.callback();

        }
        else {
          // loading
          var varBaseLayer = "<div id='loading'></div>";
          document.getElementById(layer).innerHTML = varBaseLayer;
            
        }
      }
      var timestamp = new Date();
      //var url=urlCall+'?'+passData+'&amp;timestamp='+(timestamp*1);
      var url=urlCall+'?'+passData;
      AJAX.open("GET", url, true);
      AJAX.send(null);
      currLocation = '?'+passData;
      return true;
    }
  }

  // This area set up on constructor calls.
  var LayerID = document.getElementById(layer);
  var urlCall = url;
}

// update page and eval scripts
function updatepage(layer, passData){
  var scs = passData.extractScript();                                 //capture the scripts
  document.getElementById(layer).innerHTML = passData.stripScript();  //remove the scripts since they are no longer needed
  scs.evalScript();                                                   //eval everything
}


// javascript eval for ajax
var tagScript = '(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)'; 
// Eval script fragment 
// @return String 
String.prototype.evalScript = function() { 
        return (this.match(new RegExp(tagScript, 'img')) || []).evalScript(); 
}; 

// strip script fragment 
// @return String 
String.prototype.stripScript = function() { 
        return this.replace(new RegExp(tagScript, 'img'), ''); 
};

// extract script fragment 
// @return String 
String.prototype.extractScript = function() { 
        var matchAll = new RegExp(tagScript, 'img'); 
        return (this.match(matchAll) || []); 
}; 
// Eval scripts 
// @return String 
Array.prototype.evalScript = function(extracted) { 
  var s=this.map(function(sr){setTimeout(((sr.match(new RegExp(tagScript, 'im')) || ['', ''])[1]),0); }); 
  return true;
}; 

// Map array elements @param {Function} fun 
// @return Function 
Array.prototype.map = function(fun) { 
        if(typeof fun!=="function"){return false;} 
        var i = 0, l = this.length; 
        for(i=0;i<l;i++) 
        { 
                fun(this[i]); 
        } 
        return true; 
};  

function removeSpecialChars (varText) {
	var __r = {
			'À':'A','Á':'A','??':'A','Â':'A','Ã':'A','Ä':'A','Å':'A','Æ':'E',
			'È':'E','É':'E','Ê':'E','Ë':'E',
			'Ì':'I','Í':'I','??':'I','Î':'I','??':'I',
			'Ò':'O','Ó':'O','Ô':'O','Ö':'O',
			'Ù':'U','Ú':'U','Û':'U','Ü':'U',
			'\n':'',
			'\r':''};
	
	return varText.replace(/[ÀÁ??ÂÃÄÅÆÈÉÊËÌÍ??Î??ÒÓÔÖÙÚÛÜÑ\n\r]/gi, function(m) {
		var ret = __r[m.toUpperCase()];
					
		if (m === m.toLowerCase())
			ret = ret.toLowerCase();
		return ret;
	});
};

function setValueSelect(combo,valor){
	for (var counter=0;counter<combo.length;counter++){
	 if (combo[counter].value.toLowerCase()==valor.toLowerCase()) combo.selectedIndex=counter;
  }
}