/**
 *  File for general element-handling in advanceSearchForm.jsp, like adding items to lists, changing
 *  styles etc.
 */


function showHide(id){
           var target=document.getElementById(id);
                 if ((target.style.display == "") || (target.style.display == "none"))
    		{
                  target.style.display = "block";
                }
                 else
                {
                  target.style.display = "none";
    		}
  }

function addOptions2(ele, data) {

  var text, value;
  var orig = ele;
  ele = $(ele);

  if (ele == null) {
    DWRUtil.debug("addOptions() can't find an element with id: " + orig + ".");
    return;
  }
  var useOptions = DWRUtil._isHTMLElement(ele, "select");
  if (!useOptions) {
    DWRUtil.debug("addOptions() can only be used with selectelement s. Attempt to use: " + DWRUtil._detailedTypeOf(ele));
    return;
  }
  if (data == null){
	  DWRUtil.debug("no data");
	  return;
  }
  if (!DWRUtil._isArray(data)) {
  	  DWRUtil.debug("illegal data");
	  return;
  }

  for (var i = 0; i < data.length; i++) {
	    text = data[i].name;
            value = data[i].xcoords+":"+data[i].ycoords;
	 if (text || value) {
            opt = new Option(text, value);
            ele.options[ele.options.length] = opt;
	  }
  }
}

function addOptionsLMSHistory(ele, data) {

  var text, value;
  var orig = ele;
  ele = $(ele);

  if (ele == null) {
    DWRUtil.debug("addOptions() can't find an element with id: " + orig + ".");
    return;
  }
  var useOptions = DWRUtil._isHTMLElement(ele, "select");
  if (!useOptions) {
    DWRUtil.debug("addOptions() can only be used with selectelement s. Attempt to use: " + DWRUtil._detailedTypeOf(ele));
    return;
  }
  if (data == null){
	  DWRUtil.debug("no data");
	  return;
  }
  if (!DWRUtil._isArray(data)) {
  	  DWRUtil.debug("illegal data");
	  return;
  }

  for (var i = 0; i < data.length; i++) {
        text = data[i].timestampSmall;

        if(data[i].ownOpenSearch!=null){
          text += ", "+data[i].ownOpenSearch;
        }
        if(data[i].countyName!=null){
          text += ", "+data[i].countyName;
        }
        if(data[i].municipalityName!=null){
          text += ", "+data[i].municipalityName;
        }
        if(data[i].villageName!=null){
          text += ", "+data[i].villageName;
        }
        if(data[i].taskName!=null){
          text += ", "+data[i].taskName;
        }
        if(data[i].yearMin!=0){
          text += ", fr\u00E5n: "+data[i].yearMin;
        }
        if(data[i].yearMax!=0){
          text += ", till: "+data[i].yearMax;
        }
        if(data[i].mapTypeName!=null){
          text += ", "+data[i].mapTypeName;
        }
        value = data[i].createDate;
	 if (text || value) {
            opt = new Option(text, value);
            ele.options[ele.options.length] = opt;
	  }
  }
}

function addOptionsLMSCounty(ele, data) {

  var text, value;
  var orig = ele;
  ele = $(ele);

  if (ele == null) {
    DWRUtil.debug("addOptions() can't find an element with id: " + orig + ".");
    return;
  }
  var useOptions = DWRUtil._isHTMLElement(ele, "select");
  if (!useOptions) {
    DWRUtil.debug("addOptions() can only be used with selectelement s. Attempt to use: " + DWRUtil._detailedTypeOf(ele));
    return;
  }
  if (data == null){
	  DWRUtil.debug("no data");
	  return;
  }
  if (!DWRUtil._isArray(data)) {
  	  DWRUtil.debug("illegal data");
	  return;
  }

  for (var i = 0; i < data.length; i++) {
	    text = data[i].name;
            value = data[i].letter;
	 if (text || value) {
            opt = new Option(text, value);
            ele.options[ele.options.length] = opt;
	  }
  }
}

function addOptionsLMSMapType(ele, data) {

  var text, value;
  var orig = ele;
  ele = $(ele);

  if (ele == null) {
    DWRUtil.debug("addOptions() can't find an element with id: " + orig + ".");
    return;
  }
  var useOptions = DWRUtil._isHTMLElement(ele, "select");
  if (!useOptions) {
    DWRUtil.debug("addOptions() can only be used with selectelement s. Attempt to use: " + DWRUtil._detailedTypeOf(ele));
    return;
  }
  if (data == null){
	  DWRUtil.debug("no data");
	  return;
  }
  if (!DWRUtil._isArray(data)) {
  	  DWRUtil.debug("illegal data");
	  return;
  }

  for (var i = 0; i < data.length; i++) {
	    text = data[i].name;
            value = data[i].id;
	 if (text || value) {
            opt = new Option(text, value);
            ele.options[ele.options.length] = opt;
	  }
  }
}


function addOptionsTasks(ele, data) {

  var text, value;
  var orig = ele;
  ele = $(ele);

  if (ele == null) {
    DWRUtil.debug("addOptions() can't find an element with id: " + orig + ".");
    return;
  }
  var useOptions = DWRUtil._isHTMLElement(ele, "select");
  if (!useOptions) {
    DWRUtil.debug("addOptions() can only be used with selectelement s. Attempt to use: " + DWRUtil._detailedTypeOf(ele));
    return;
  }
  if (data == null){
	  DWRUtil.debug("no data");
	  return;
  }
  if (!DWRUtil._isArray(data)) {
  	  DWRUtil.debug("illegal data");
	  return;
  }

  for (var i = 0; i < data.length; i++) {
	    text = data[i].name;
            value = data[i].id;
	 if (text || value) {
            opt = new Option(text, value);
            ele.options[ele.options.length] = opt;
	  }
  }
}

function addOptionsMun(ele, data) {

  var text, value;
  var orig = ele;
  ele = $(ele);

  if (ele == null) {
    DWRUtil.debug("addOptions() can't find an element with id: " + orig + ".");
    return;
  }
  var useOptions = DWRUtil._isHTMLElement(ele, "select");
  if (!useOptions) {
    DWRUtil.debug("addOptions() can only be used with selectelement s. Attempt to use: " + DWRUtil._detailedTypeOf(ele));
    return;
  }
  if (data == null){
	  DWRUtil.debug("no data");
	  return;
  }
  if (!DWRUtil._isArray(data)) {
  	  DWRUtil.debug("illegal data");
	  return;
  }

  for (var i = 0; i < data.length; i++) {
	    text = data[i].name;
            value = data[i].name;
	 if (text || value) {
            opt = new Option(text, value);
            ele.options[ele.options.length] = opt;
	  }
  }
}

function addOptionsPar(ele, data) {

  var text, value;
  var orig = ele;
  ele = $(ele);

  if (ele == null) {
    DWRUtil.debug("addOptions() can't find an element with id: " + orig + ".");
    return;
  }
  var useOptions = DWRUtil._isHTMLElement(ele, "select");
  if (!useOptions) {
    DWRUtil.debug("addOptions() can only be used with selectelement s. Attempt to use: " + DWRUtil._detailedTypeOf(ele));
    return;
  }
  if (data == null){
	  DWRUtil.debug("no data");
	  return;
  }
  if (!DWRUtil._isArray(data)) {
  	  DWRUtil.debug("illegal data");
	  return;
  }

  for (var i = 0; i < data.length; i++) {
	    text = data[i].name;
            value = data[i].code;
	 if (text || value) {
            opt = new Option(text, value);
            ele.options[ele.options.length] = opt;
	  }
  }
}

function addOptionsLMSParishVillage(ele, data) {

  var text, value;
  var orig = ele;
  ele = $(ele);

  if (ele == null) {
    DWRUtil.debug("addOptions() can't find an element with id: " + orig + ".");
    return;
  }
  var useOptions = DWRUtil._isHTMLElement(ele, "select");
  if (!useOptions) {
    DWRUtil.debug("addOptions() can only be used with selectelement s. Attempt to use: " + DWRUtil._detailedTypeOf(ele));
    return;
  }
  if (data == null){
	  DWRUtil.debug("no data");
	  return;
  }
  if (!DWRUtil._isArray(data)) {
  	  DWRUtil.debug("illegal data");
	  return;
  }

  for (var i = 0; i < data.length; i++) {
	    text = data[i].name;
            value = data[i].number;
	 if (text || value) {
            opt = new Option(text, value);
            ele.options[ele.options.length] = opt;
	  }
  }
}

function addOptionsRAKSeries(ele, data) {

  var text, value;
  var orig = ele;
  ele = $(ele);

  if (ele == null) {
    DWRUtil.debug("addOptions() can't find an element with id: " + orig + ".");
    return;
  }
  var useOptions = DWRUtil._isHTMLElement(ele, "select");
  if (!useOptions) {
    DWRUtil.debug("addOptions() can only be used with selectelement s. Attempt to use: " + DWRUtil._detailedTypeOf(ele));
    return;
  }
  if (data == null){
	  DWRUtil.debug("no data");
	  return;
  }
  if (!DWRUtil._isArray(data)) {
  	  DWRUtil.debug("illegal data");
	  return;
  }

  for (var i = 0; i < data.length; i++) {
	    text = data[i].name;
            value = data[i].id;
	 if (text || value) {
            opt = new Option(text, value);
            ele.options[ele.options.length] = opt;
	  }
  }
}

function addOptionsRAKCountys(ele, data) {

  var text, value;
  var orig = ele;
  ele = $(ele);

  if (ele == null) {
    DWRUtil.debug("addOptions() can't find an element with id: " + orig + ".");
    return;
  }
  var useOptions = DWRUtil._isHTMLElement(ele, "select");
  if (!useOptions) {
    DWRUtil.debug("addOptions() can only be used with selectelement s. Attempt to use: " + DWRUtil._detailedTypeOf(ele));
    return;
  }
  if (data == null){
	  DWRUtil.debug("no data");
	  return;
  }
  if (!DWRUtil._isArray(data)) {
  	  DWRUtil.debug("illegal data");
	  return;
  }

  for (var i = 0; i < data.length; i++) {
	    text = data[i].name;
            value = data[i].designation;
	 if (text || value) {
            opt = new Option(text, value);
            ele.options[ele.options.length] = opt;
	  }
  }
}

function addOptionsRAKPages(ele, data) {

  var text, value;
  var orig = ele;
  ele = $(ele);

  if (ele == null) {
    DWRUtil.debug("addOptions() can't find an element with id: " + orig + ".");
    return;
  }
  var useOptions = DWRUtil._isHTMLElement(ele, "select");
  if (!useOptions) {
    DWRUtil.debug("addOptions() can only be used with selectelement s. Attempt to use: " + DWRUtil._detailedTypeOf(ele));
    return;
  }
  if (data == null){
	  DWRUtil.debug("no data");
	  return;
  }
  if (!DWRUtil._isArray(data)) {
  	  DWRUtil.debug("illegal data");
	  return;
  }

  for (var i = 0; i < data.length; i++) {
	    text = data[i].designation+" - "+data[i].name;
      value = data[i].id;
	 if (text || value) {
		  opt = new Option(text, value);
      ele.options[ele.options.length] = opt;
	  }
  }
}



 function addOptionsRAKHistory(ele, data) {

  var text, value;
  var orig = ele;
  ele = $(ele);

  if (ele == null) {
    DWRUtil.debug("addOptions() can't find an element with id: " + orig + ".");
    return;
  }
  var useOptions = DWRUtil._isHTMLElement(ele, "select");
  if (!useOptions) {
    DWRUtil.debug("addOptions() can only be used with selectelement s. Attempt to use: " + DWRUtil._detailedTypeOf(ele));
    return;
  }
  if (data == null){
	  DWRUtil.debug("no data");
	  return;
  }
  if (!DWRUtil._isArray(data)) {
  	  DWRUtil.debug("illegal data");
	  return;
  }

  for (var i = 0; i < data.length; i++) {
        text = data[i].timestampSmall;

        if(data[i].pageName!=null){
          text += ", "+data[i].pageName;
        }
        if(data[i].page!=null){
          text += " ("+data[i].page+")";
        }
        if(data[i].countyName!=null){
          text += ", "+data[i].countyName;
        }
        if(data[i].seriesName!=null){
          text += ", "+data[i].seriesName;
        }
        value = data[i].createDate;
	 if (text || value) {
            opt = new Option(text, value);
            ele.options[ele.options.length] = opt;
	  }
  }
}


function addOptionsREGHistory(ele, data) {

  var text, value;
  var orig = ele;
  ele = $(ele);

  if (ele == null) {
    DWRUtil.debug("addOptions() can't find an element with id: " + orig + ".");
    return;
  }
  var useOptions = DWRUtil._isHTMLElement(ele, "select");
  if (!useOptions) {
    DWRUtil.debug("addOptions() can only be used with selectelement s. Attempt to use: " + DWRUtil._detailedTypeOf(ele));
    return;
  }
  if (data == null){
	  DWRUtil.debug("no data");
	  return;
  }
  if (!DWRUtil._isArray(data)) {
  	  DWRUtil.debug("illegal data");
	  return;
  }

  for (var i = 0; i < data.length; i++) {
        text = data[i].timestampSmall;

		if(data[i].countyName!=null){
          text += ", "+data[i].countyName;
        }
        if(data[i].ownOpenSearch!=null){
          text += ", "+data[i].ownOpenSearch;
        }
		if(data[i].yearMin!=0){
          text += ", fr\u00E5n: "+data[i].yearMin;
        }
        if(data[i].yearMax!=0){
          text += ", till: "+data[i].yearMax;
        }
        if(data[i].taskName!=null){
          text += ", "+data[i].taskName;
        }
        if(data[i].document!=null){
          text += ", "+data[i].document;
        }
        value = data[i].createDate;
	 if (text || value) {
            opt = new Option(text, value);
            ele.options[ele.options.length] = opt;
	  }
  }
}

function addOptionsSavedDocument(ele, data) {
  var text="", value="";
  var orig = ele;
  ele = $(ele);
  if (ele == null) {
    DWRUtil.debug("addOptions() can't find an element with id: " + orig + ".");
    return;
  }
  var useOptions = DWRUtil._isHTMLElement(ele, "select");
  if (!useOptions) {
    DWRUtil.debug("addOptions() can only be used with selectelement s. Attempt to use: " + DWRUtil._detailedTypeOf(ele));
    return;
  }
  if (data == null){
    DWRUtil.debug("no data");
    return;
  }
  if (!DWRUtil._isArray(data)) {
    DWRUtil.debug("illegal data");
    return;
  }
  for (var i = 0; i < data.length; i++) {
    text="";
    if(data[i].timestampSmall!=null){
      text += data[i].timestampSmall;
    }
    if(data[i].archive!=null&&data[i].archive=='REG'){
      if(data[i].afds!=null){
        text += ", "+data[i].afds;
		    var test = data[i].documentAccessCode;
      }
    }
    if(data[i].archive!=null&&data[i].archive=='LMS'){
      if(data[i].socn!=null && data[i].sby!=null){
        text += ", "+data[i].socn;
        text += ", "+data[i].sby;
      }else if(data[i].omr!=null){
        text += ", "+data[i].omr;
      }else{
        text += ", "+data[i].alms;
      }
    }
    if(data[i].archive!=null&&data[i].archive=='RAK'){
      /*if(data[i].bladId!=null){
        text += ", "+data[i].bladId;
      }*/
      if(data[i].bladName!=null){
        text += ", "+data[i].bladName;
      }
    }
	
    value = data[i].documentAC;
    if (text || value) {
      opt = new Option(text, value);
      ele.options[ele.options.length] = opt;
    }
  }
}

function addOptionsDefault(ele, data) {

  var text, value;
  var orig = ele;
  ele = $(ele);

  if (ele == null) {
    DWRUtil.debug("addOptions() can't find an element with id: " + orig + ".");
    return;
  }
  var useOptions = DWRUtil._isHTMLElement(ele, "select");
  if (!useOptions) {
    DWRUtil.debug("addOptions() can only be used with selectelement s. Attempt to use: " + DWRUtil._detailedTypeOf(ele));
    return;
  }
  if (data == null){
	  DWRUtil.debug("no data");
	  return;
  }
  if (!DWRUtil._isArray(data)) {
  	  DWRUtil.debug("illegal data");
	  return;
  }

  for (var i = 0; i < data.length; i++) {
	    text = data[i];
            value = "";
	 if (text || value) {
            opt = new Option(text, value);
            ele.options[ele.options.length] = opt;
	  }
  }
}

//---- general element-handlers --------

function clearAllLists(){
  DWRUtil.removeAllOptions("countyList");
  DWRUtil.removeAllOptions("municipalityList");
  DWRUtil.removeAllOptions("settlementList");
}
function disableAllElements(){
  if (!document.getElementsByTagName) return;
   var anchors = document.getElementsByTagName("input");
   for(var i=0; i<anchors.length; i++){
     var anchor = anchors[i];
     anchor.disabled=true;
   }
   var anchors2 = document.getElementsByTagName("select");
   for(var i=0; i<anchors2.length; i++){
     var anchor2 = anchors2[i];
     anchor2.disabled=true;
   }
}
function unColorAllElements(){
  document.getElementById("series").style.backgroundColor="#fff";
  document.getElementById("countyRAK").style.backgroundColor="#fff";
  document.getElementById("page").style.backgroundColor="#fff";
  document.getElementById("countyLMS").style.backgroundColor="#fff";
  document.getElementById("countyREG").style.backgroundColor="#fff";
  document.getElementById("openSearchREG").style.backgroundColor="#fff";
  document.getElementById("infoContainer").style.backgroundColor="#fff";
  document.getElementById("yearMinREG").style.backgroundColor="#fff";
  document.getElementById("yearMaxREG").style.backgroundColor="#fff";
  document.getElementById("yearMinLMS").style.backgroundColor="#fff";
  document.getElementById("yearMaxLMS").style.backgroundColor="#fff";
  document.getElementById("surveyor").style.backgroundColor="#fff";
  if(document.getElementById("munParREG")){
    document.getElementById("munParREG").style.backgroundColor="#fff";
  }
  if(document.getElementById("user").value=="member"){
    document.getElementById("document").style.backgroundColor="#fff";
  }
  document.getElementById("taskREG").style.backgroundColor="#fff";

  document.getElementById("yearMaxLMS").style.border="1px solid #7F9DB9";
  document.getElementById("yearMinLMS").style.border="1px solid #7F9DB9";
  document.getElementById("yearMaxREG").style.border="1px solid #7F9DB9";
  document.getElementById("yearMinREG").style.border="1px solid #7F9DB9";
  document.getElementById("openSearchREG").style.border="1px solid #7F9DB9";
  document.getElementById("surveyor").style.border="1px solid #7F9DB9";



  if(document.getElementById("user").value=="member"){
    document.getElementById("document").style.border="1px solid #7F9DB9";
    document.getElementById("openSearchLMS").style.backgroundColor="#fff";
    document.getElementById("openSearchLMS").style.border="1px solid #7F9DB9";
    document.getElementById("historyId").style.backgroundColor="#fff";
    document.getElementById("savedId").style.backgroundColor="#fff";
  }
}
function setInformationMessage(){
  var ele= document.getElementById("infoContainer");
    while (ele.childNodes.length > 0)
     ele.removeChild(ele.firstChild); //remove original text
  ele.style.border="none";
  ele.style.padding="0";
  ele.appendChild(document.createTextNode(propertyDescription));
}
function setMessageAllLists(msg){
  addOptionsDefault("countyList", [msg]);
  addOptionsDefault("municipalityList", [msg]);
  addOptionsDefault("settlementList", [msg]);
}

function setColor(i){
  if(i<9){
  var color="#f"+i+""+i;
  document.getElementById('infoContainer').style.backgroundColor=color;
  i++;
  setTimeout('setColor('+i+')', 40);
  }
  else{
    document.getElementById('infoContainer').style.backgroundColor="#f0f0f0";
    return;
  }
}

function alternateSetColor(i){
  if(i<9){
  var color="#"+i+""+i+"f";
  document.getElementById('infoContainer').style.backgroundColor=color;
  i++;
  setTimeout('alternateSetColor('+i+')', 40);
  }
  else{
    document.getElementById('infoContainer').style.backgroundColor="#f0f0f0";
    return;
  }
}

function clearLMSFields(){
    unColorAllElements();
    if(document.getElementById("user").value=="member"){
      document.getElementById("openSearchLMS").value="";
    }
    document.getElementById("yearMinLMS").value="";
    document.getElementById("yearMaxLMS").value="";
    document.getElementById("surveyor").value="";
    document.getElementById("scanned").checked=false;
	if(document.getElementById("frSelected")){
		document.getElementById("frSelected").checked=false;
	}
    document.getElementById("rbyselected").checked=false;

    DWRUtil.removeAllOptions("parish");
    addOptionsDefault("parish", [propertyParish]);
    DWRUtil.removeAllOptions("village");
    addOptionsDefault("village", [propertyVillage]);
    document.getElementById("taskLMS").selectedIndex=0;
    if(getCookieWrapper("as", "taskLMS")!=null)
      deleteCookieWrapper("as","taskLMS");
    document.getElementById("countyLMS").selectedIndex=0;
    document.getElementById("mapType").selectedIndex=0;
    setLMSTextCookies(); //set cookies to empty values
    deleteLMSCookiesAfterReset(); //deletes droplist cookies
}
function clearREGFields(){
    unColorAllElements();
    if(document.getElementById("munParREG")){
      document.getElementById("munParREG").selectedIndex=0;
    }
    document.getElementById("openSearchREG").value="";
    document.getElementById("yearMinREG").value="";
    document.getElementById("yearMaxREG").value="";
    if(document.getElementById("user").value=="member"){
      document.getElementById("document").value="";
	  document.getElementById("frSelected").checked=false;
    }
    document.getElementById("taskREG").selectedIndex=0;
    document.getElementById("countyREG").selectedIndex=0;
    deleteREGCookies(); //deletes droplist cookies
    deleteREGCookiesAfterReset(); //set cookies to empty values
}
function clearRAKFields(){
  unColorAllElements();
  DWRUtil.removeAllOptions("countyRAK");
  addOptionsDefault("countyRAK", [propertyCounty]);
  DWRUtil.removeAllOptions("page");
  addOptionsDefault("page", [propertyPage]);
  document.getElementById("series").selectedIndex=0;
  deleteRAKCookiesAfterReset();
}

function goSweLang(){
  var lang="locale=sv_SE";
  var url=window.location+"";

  if(url.charAt(url.length-1)=="#"){
    url=url.substring(0,url.length-1);
  }

  if(url.indexOf("locale=en_US")!=-1){
    url = url.replace("locale=en_US","locale=sv_SE");
    document.location.href=url;
  }
  else{
    if(url.substring(url.length-4,url.length)=="html"){
       url=url+"?"+lang;
       document.location.href=url;
    }
    else{
      if(url.indexOf("locale=sv_SE")==-1){
        url=url+"&"+lang;
        document.location.href=url;
      }
    }
  }

}

function goEngLang(){
  var lang="locale=en_US";
  var url=window.location+"";

  if(url.charAt(url.length-1)=="#"){
    url=url.substring(0,url.length-1);
  }

  if(url.indexOf("locale=sv_SE")!=-1){
    url = url.replace("locale=sv_SE","locale=en_US");
    document.location.href=url;
  }
  else{
    if(url.substring(url.length-4,url.length)=="html"){
       url=url+"?"+lang;
       document.location.href=url;
    }
    else{
      if(url.indexOf("locale=en_US")==-1){
        url=url+"&"+lang;
        document.location.href=url;
      }
    }
  }


}



function chooseSearchType(type){
  if(document.getElementById("user").value!="member"){
    document.getElementById("villageTextAdvanced").style.display="block";
    document.getElementById("actTextAdvanced").style.display="block";
    if(type=="d"){//document act
       document.getElementById("searchTypeVillage").style.display="none";
       document.getElementById("searchTypeAct").style.display="block";
       document.getElementById("villageTextAdvanced").style.display="none";
    }
    else if(type=="v"){//village
       document.getElementById("searchTypeAct").style.display="none";
       document.getElementById("searchTypeVillage").style.display="block";
       document.getElementById("actTextAdvanced").style.display="none";
    }
    else if(type=="m"){//muicipality
       document.getElementById("searchTypeMunicipality").style.display="block";
       document.getElementById("searchTypeParish").style.display="none";
    }
    else if(type=="p"){//parish
       document.getElementById("searchTypeParish").style.display="block";
       document.getElementById("searchTypeMunicipality").style.display="none";
    }



  }
}
//---- / general element-handlers --------



