/////////////////////////////////////////////////////////////////////
// Change language
/////////////////////////////////////////////////////////////////////

// Public: changes the language - surprised!?    
function changeLanguage(sprog) {
    location.href ="?" + qstring_nolang + "language=" + sprog;
}

/////////////////////////////////////////////////////////////////////
// buildingform management
/////////////////////////////////////////////////////////////////////

var buildingindex = 0;
function newBuildingForm(formdiv, indexdiv, datadiv, buttondiv) {
    //debugger;
    buildingindex++;
    if (buildingindex == 1) {
        $(buttondiv).insert(generateBuildingButtonDiv(formdiv, indexdiv, datadiv, buttondiv));
        $(indexdiv).insert("" + label_visbygning + ": ");
    }
    $('buildingform_forms').value = buildingindex;
    $(indexdiv).insert(generateBuildingIndexDiv(buildingindex));
    $(datadiv).insert(generateBuildingDataHtml(buildingindex));
    copySelectBoxOptionsExcept('buildingform_activity_select_' + buildingindex, 'buildingform_activity_select_h', -1);
    $('buildingform_activity_select_' + buildingindex).selectedIndex = 0; // hardcoded to 0 = "-" // 1 (nybyggeri)
    copySelectBoxOptionsExcept('buildingform_buildingtype_select_' + buildingindex, 'buildingform_buildingtype_select_h', -1);
    $('buildingform_buildingtype_select_' + buildingindex).selectedIndex = 0; 
    //$('buildingform_bnr_' + buildingindex).hide();
    disableAccess();
    focusBuildingData(buildingindex);
}

function fillBuildingForm(v_id, v_forandring, v_bnr, v_bygninger, v_tilknyttede, v_beskrivelse, v_bygningstype, v_opfoerelsesdato, v_nedrivningsdato) {
    // show and hide fields.
    $('buildingform_bnr_' + buildingindex).show();
    if (editmode < 2)
    	$('buildingform_delete_button_' + buildingindex).hide();
    //set values:
//    debugger;
    $('buildingform_activity_select_' + buildingindex).value = v_forandring; 
    $('buildingform_buildingtype_select_' + buildingindex).value = v_bygningstype; 
    $('buildingform_id_' + buildingindex).value = v_id;
    $('buildingform_bnr_input_' + buildingindex).value = v_bnr;
    
    // fill in bnr helper from v_bnr
    var arr = v_bnr.split("-");
    if (arr.length == 6) {
    	$('bnr.kommune.' + buildingindex).value = arr[0];
    	$('bnr.omraade.' + buildingindex).value = arr[1];
    	$('bnr.kort.'    + buildingindex).value = arr[2];
    	$('bnr.litra.'   + buildingindex).value = arr[3];
    	$('bnr.enhed.'   + buildingindex).value = arr[4];
    	$('bnr.type.'    + buildingindex).value = arr[5];
    }

    //$('buildingform_building_name_input_' + buildingindex).value = v_bygninger;
    $('buildingform_tilknyttede_anlaeg_input_' + buildingindex).value = v_tilknyttede;
    //$('buildingform_selvstaendige_anlaeg_input_' + buildingindex).value = v_selstadige;
    $('buildingform_description_input_' + buildingindex).value = v_beskrivelse;    
    $('buildingform_opfoerelsesdato_input_' + buildingindex).value = v_opfoerelsesdato;    
    $('buildingform_nedrivningsdato_input_' + buildingindex).value = v_nedrivningsdato;    
}

function generateBuildingButtonDiv(formdiv, indexdiv, datadiv, buttondiv) {
    return "<input type='button'  onclick=\"newBuildingForm('" + formdiv + "', '" + indexdiv + "', '" + datadiv + "', '" + buttondiv + "');\" id='buildingform_tilfoejbygning' name='buildingform_tilfoejbygning' value='" + label_tilfoejbygning + "' />";
}

function generateBuildingIndexDiv(nr) {
    return "<input type='button'  onclick='focusBuildingData(" + nr + ")' id='buildingform_showbutton_" + nr + "' name='buildingform_showbutton_" + nr + "' value='" + nr + "'  />";
}

function generateBuildingDataHtml(nr) {
    var buildinghtml = "<div id='buildingdata_" + nr + "' class='width764'>";
    buildinghtml += "<p class='overskrift'>" + label_bygning +  " " + nr + "</p>";
    buildinghtml += "<div class='ldiv'><table width='360px'>";
    buildinghtml += "<input type='hidden'  id='buildingform_id_" + nr + "' name='buildingform_id_" + nr + "' />";
    buildinghtml += "<input type='hidden'  id='buildingform_deleted_" + nr + "' name='buildingform_deleted_" + nr + "' value='false'  />";
    buildinghtml += "<tr id='buildingform_activity_" + nr + "'><td width='140px'>" + label_forandring + ": </td><td><select name='buildingform_activity_select_" + nr + "' id='buildingform_activity_select_" + nr + "'/></td></tr>";
    buildinghtml += "<tr id='buildingform_buildingtype_" + nr + "'><td>" + label_bygningstype + ": </td><td><select style='width: 177px;' name='buildingform_buildingtype_select_" + nr + "' id='buildingform_buildingtype_select_" + nr + "'/></td></tr>";
    //buildinghtml += "<tr id='buildingform_building_name_" + nr + "'><td>" + label_bygninger + ": </td>";
    //buildinghtml += "<td><input type='text'  id='buildingform_building_name_input_" + nr + "' name='buildingform_building_name_input_" + nr + "' size='30' /></td></tr>";

    buildinghtml += "<tr id='buildingform_opfoerelsesdato_" + nr + "'><td>" + label_opfoerelsesdato + ": </td>";
    buildinghtml += "<td ><input class='sagsbehandler' type='text'  id='buildingform_opfoerelsesdato_input_" + nr + "' name='buildingform_opfoerelsesdato_input_" + nr + "' style='width: 100px;' /> <img class='sagsbehandler' id='buildingform_opfoerelsesdato_button" + nr + "' src='images/cal.gif' onclick='displayDatePicker(\"buildingform_opfoerelsesdato_input_" + nr + "\");' ></td></tr>";
    buildinghtml += "<tr id='buildingform_nedrivningsdato_" + nr + "'><td>" + label_nedrivningsdato + ": </td>";
    buildinghtml += "<td ><input class='sagsbehandler' type='text'  id='buildingform_nedrivningsdato_input_" + nr + "' name='buildingform_nedrivningsdato_input_" + nr + "' style='width: 100px;' /> <img class='sagsbehandler' id='buildingform_nedrivningsdato_button" + nr + "' src='images/cal.gif' onclick='displayDatePicker(\"buildingform_nedrivningsdato_input_" + nr + "\");' ></td></tr>";

    buildinghtml += "</table></div>";
    buildinghtml += "<div class='rdiv'><table width='360px'>";
    buildinghtml += "<tr id='buildingform_bnr_" + nr + "' ><td>" + label_bnr + ":</td><td><input class='sagsbehandler' readonly='readonly' type='text' id='buildingform_bnr_input_" + nr + "' name='buildingform_bnr_input_" + nr + "' style='width:158px;' /><span class='hint'><span class='hint-pointer'>&nbsp;</span>" + htmlhint_bnr + "</span> <img class='sagsbehandler' id='sagsbehandlerform_bnrhelper_button" + nr + "' src='images/edit.gif' style='position:relative;top:3px;' onclick='$(\"bnrhelperdiv" + nr + "\").show();updateBnrHelper(" + nr + ");'/> <img onclick='$(\"buildingform_bnr_input_" + nr + "\").value = \"\";' src='images/trashcan.gif' style='position:absolute; top:3px' /></td></tr>";
    buildinghtml += "<div class='sagsbehandler' id='bnrhelperdiv" + nr + "' style='display:none;position: absolute;left: 73px; top: -40px;	background-color: #EEEEEE;	border: 1px solid black;	height: 37px; width: 343px;'	>";
    buildinghtml += "	<div style='margin: 4px; padding: 4px; background-color: white; position: relative; height: 21px; width: 325px' >";
    buildinghtml += "    	<span id='bnr.kommune." + nr + "'></span>-<span id='bnr.omraade." + nr + "'></span>-";
    buildinghtml += "		<input  id='bnr.kort."  + nr + "' class='sagsbehandler' type='text' maxlength='5' style='width: 42px;' />-";
    buildinghtml += "		<input  id='bnr.litra." + nr + "' class='sagsbehandler' type='text' maxlength='1' style='width: 12px;' value='Ø' />-";
    buildinghtml += "		<input  id='bnr.enhed." + nr + "' class='sagsbehandler' type='text' maxlength='4' style='width: 42px;' />-";
    buildinghtml += "		<select id='bnr.type."  + nr + "' class='sagsbehandler' ><option value='B'>Bolig</option><option value='E'>Erhverv</option><option value='Ø'  selected='selected'>Ingen</option></select>";
    buildinghtml += "    	<img onclick='updateBnr(" + nr + ");' src='images/ok.gif' style='position:absolute; top:8px;z-index:1;' />";
    buildinghtml += "    	<img onclick='$(\"bnrhelperdiv" + nr + "\").hide();' src='images/closesmall.gif' style='left:319px;position:absolute;top:2px;z-index:1;' />";
    buildinghtml += "    </div>";
    buildinghtml += "</div>";
    buildinghtml += "<tr id='buildingform_tilknyttede_anlaeg_" + nr + "'><td>" + label_tilknyttedeanlaeg + ": </td>";
    buildinghtml += "<td><input type='text'  id='buildingform_tilknyttede_anlaeg_input_" + nr + "' name='buildingform_tilknyttede_anlaeg_input_" + nr + "' style='width:200px;' /></td></tr>";
    //buildinghtml += "<tr id='buildingform_selvstaendige_anlaeg_" + nr + "'><td>" + label_selvstaendigeanlaeg + ": </td>";
    //buildinghtml += "<td><input type='text' id='buildingform_selvstaendige_anlaeg_input_" + nr + "' name='buildingform_selvstaendige_anlaeg_input_" + nr + "' size='30' /></td></tr>";
    buildinghtml += "<tr id='buildingform_description_" + nr + "'><td>" + label_beskrivelse + ": </td>";
    buildinghtml += "<td><input type='text'  id='buildingform_description_input_" + nr + "' name='buildingform_description_input_" + nr + "' style='width:200px;' /></td></tr>";
	buildinghtml += "<tr><td colspan='2'><input type='button' id='buildingform_delete_button_" + nr + "' value='" + label_sletbygning + "' onclick='removeBuildingForm(" + nr + ")' /></td></tr>";
    buildinghtml += "</table></div>";
    buildinghtml += "</div>"; //buildingdata_nr
    return buildinghtml;
}

function focusBuildingData(nr) {
    var j;
    for (j = 1; j <= buildingindex; j++) {
        $('buildingdata_' + (j)).hide();
    }
    $('buildingdata_' + (nr)).show();
}

function removeBuildingForm(nr) {
    $('buildingform_deleted_' + nr).value = 'true';
    $('buildingdata_' + nr).hide();
    $('buildingform_showbutton_' + nr).hide();
    focusVisibleBuildingForm();
}

function focusVisibleBuildingForm () {
    var j;
    for (j = 1; j <= buildingindex; j++) {
        if ($('buildingform_deleted_' + j).value == 'false') {
            $('buildingdata_' + j).show();
            return;
        }
    }
}

// helper function: copy options from selectbox with id="formid" to selectbox with id="toid" except index=exceptid
function copySelectBoxOptionsExcept(toid, fromid, exceptid) {
    for (i=0;i < $(fromid).length; i++) {
        if (i!=exceptid || i==0)
            AddSelectOption($(toid), $(fromid).options[i].text, $(fromid).options[i].value, false);
    }
}

// helper function: copy options index=0 and index=onlyid from selectbox with id="formid" to selectbox with id="toid"
function copySelectBoxOptionsOnly(toid, fromid, onlyid) {
    for (i=0;i < $(fromid).length; i++) {
        if (i==onlyid || i==0)
            AddSelectOption($(toid), $(fromid).options[i].text, $(fromid).options[i].value, false);
    }
}

/////////////////////////////////////////////////////////////////////
// filesform management
/////////////////////////////////////////////////////////////////////

var fileid = 0; //gives new unique id for every new filebrowser created.
var fileFormsShown = 0;
// Public: Inserts a <input type=file> to the given 'div'. 
// Another 'file input' appears if the first is filled out.
// Supports deletion of chosen files.
// NOTE: label_filer, label_slet and label_vedhaeft must be declared previously
function attachFile(div, filesbuttondiv, forceform) {
    if (fileid > 0) {
        //debugger;
        var fid = 'file_input' + fileid;
        var n = $(fid).getValue(); 
        if ((n!=null && n!="")||forceform) {
            //hide previous input+attach buttons and show delete button and text
            $('file_input'+fileid).hide(); 
            //$('file_attach'+fileid).hide(); 
            if ($('file_name' + fileid).innerHTML == '')
                $('file_name' + fileid).insert(n);
            $('file_delete_button'+fileid).show();
            fileFormsShown++;
            $('file_forms').value = fileFormsShown;
        } else {
            return;
        }
    } else {
        // on first run: insert fileform common inputs
        $(div).insert("<input type=hidden name=file_forms id=file_forms value=1 />");
        $(filesbuttondiv).innerHTML = "<input type=button id=file_attach value='"+label_vedhaeft_flere_filer+"' onclick=attachFile('filesformdiv','" + filesbuttondiv + "',false) /> ";
        fileFormsShown++;
    }
    // Create the next input field
    fileid++;
    $(div).insert(newFileBrowserEntry(div, filesbuttondiv, fileid, forceform));
    $('file_delete'+fileid).hide();
    $('file_delete_button'+fileid).hide();

}

function onChange_fileInput(id) {
    $('file_delete_button'+id).show();
}

function fillAttachedFile(v_filename, v_description, v_id) {
    $('file_input' + fileid).value = v_filename;
    //v_filename = v_filename.replace(' ', '%20');
    $('file_name' + fileid).insert("<a href='/getfile?file=" + v_filename + "&type=userfile&areacode=" + gup('omraadekode')+ "&anvid=" + gup('anvid') + "' >" + v_filename + "</a>");
    $('file_description' + fileid).value = v_description;
    $('file_id' + fileid).value = v_id;
}

//helper function for attachFile
function newFileBrowserEntry(div, filesbuttondiv, id, restoredfile) {
    var entry = "<table style='border: 1px ridge #EEEEEE; padding: 2px 2px 2px 2px; padding-bottom: 4px;' id=file_table" + id + " width='100%'>"
    entry += "<input type=hidden name=file_id" + id + " id=file_id" + id + " />"
    entry += "<input type=hidden name=file_delete" + id + " id=file_delete" + id + " value=false />"
    entry += "<tr id=file_row" + id + "></tr>";
    entry += "<tr><td id=file_name" + id + "></td></tr>";
    entry += "<tr>";
    entry += "  <td><textarea name=file_description" + id + " id=file_description" + id + " rows=2 cols=85 >" + label_filbeskrivelse + "</textarea></td>";
    entry += "  <td align='center'><input type=button id=file_delete_button" + id + " value='"+label_slet+"' onclick='removeFile(" + id + ");' /></td>";
    entry += "</tr>";
    if (restoredfile) {
        entry += "<tr><td><input type=hidden name=file_input" + id + " id=file_input" + id + " onchange='onChange_fileInput("+ id +");' /></td></tr>";
    } else {
        entry += "<tr><td><input type=file name=file_input" + id + " id=file_input" + id + " onchange='onChange_fileInput("+ id +");' size=26 /></td></tr>";
    }
    entry += "</table>";
    return entry;
}

//helper function for attachFile
function removeFile(id) {
    $('file_table'+id).hide();
    $('file_delete'+id).value = true;
}

/////////////////////////////////////////////////////////////////////
// ansoegerform management
/////////////////////////////////////////////////////////////////////

    
var ansFormId = 0; //gives new unique id for every new ansoegerForm created.
var ansFormsShown = 0;

// Public: Creates a new ansoegerform.
// The ansoegerform is placed in div, and the "tilfoej ansoeger" button is placed in buttondiv.
function newAnsoegerForm (adiv, datadiv, indexdiv, buttondiv) {
    //debugger;
    ansFormId++;
    if (ansFormId == 1) {
        $(indexdiv).insert(label_visansoeger + ': ');
        $(buttondiv).insert("<input type='button' id='ansoegerform_tilfoejansoeger' name='ansoegerform_tilfoejansoeger' value='" + label_flereansoegere + "' onclick=\"newAnsoegerForm('" + adiv + "', '" + datadiv + "', '" + indexdiv + "', '" + buttondiv + "');\"  />"); 
        $(adiv).insert("<input type='hidden' name='namesform_forms' id='namesform_forms' value=1 />");
    }
    $('namesform_forms').value = ansFormId;
    $(indexdiv).insert("<input type='button'  onclick='focusAnsoegerData(" + ansFormId + ")' id='namesform_showbutton_" + ansFormId + "' name='namesform_showbutton_" + ansFormId + "' value='" + ansFormId + "'  />");
    $(datadiv).insert(generateAnsoegerFormDataDiv(adiv, datadiv, indexdiv, buttondiv));
    ansFormsShown++;
    focusAnsoegerData(ansFormId); 
    //alert('finished newAnsoegerForm');    
}

function focusAnsoegerData (nr) {
    var j;
    for (j = 1; j <= ansFormId; j++) {
        $('ansoegerdiv' + (j)).hide();
    }
    $('ansoegerdiv' + (nr)).show();
}


//helper function for newAnsoegerForm
function generateAnsoegerFormDataDiv(adiv, datadiv, indexdiv, buttondiv) {
    var entry = "<div id='ansoegerdiv" + ansFormId +"'>";
    entry += "<p class='overskrift'>" + ansoeger + " " + ansFormId + "</p>";
    entry += "<div class='width764'>"; 
    entry += "<div class='ldiv'><table>";
    entry += "<input type='hidden' id='namesform_" + ansFormId + "' name='namesform_" + ansFormId + "' />";
    entry += "<input type='hidden' id='namesform_deleted" + ansFormId + "' name='namesform_deleted" + ansFormId + "' value=false />";
    entry += "<tr><td width='140px' id='namesform_first_name" + ansFormId +"'>" + name + ": </td><td><input type='text' id='namesform_first_name_input" + ansFormId +"' name='namesform_first_name_input" + ansFormId +"' size='30' /></td></tr>";
    entry += "<tr><td id='namesform_address" + ansFormId +"'>" + address + ": </td><td><input type='text' id='namesform_address_input" + ansFormId +"' name='namesform_address_input" + ansFormId +"' size='30' /></td></tr>";
    entry += "<tr><td id='namesform_postal_code" + ansFormId +"'>" + postalcode + ": </td><td><input type='text' id='namesform_postal_code_input" + ansFormId +"' name='namesform_postal_code_input" + ansFormId +"' size='30' /></td></tr>";
    entry += "<tr><td id='namesform_city" + ansFormId +"'>" + city + ": </td><td><input type='text' id='namesform_city_input" + ansFormId +"' name='namesform_city_input" + ansFormId +"' size='30' /></td></tr>";
    entry += "<tr><td id='namesform_email" + ansFormId +"'>" + email + ": </td><td><input type='text' id='namesform_email_input" + ansFormId +"' name='namesform_email_input" + ansFormId +"' size='30' /><span class='hint'><span class='hint-pointer'>&nbsp;</span>" + htmlhint_email + "</span></td></tr>";
    entry += "<tr><td id='namesform_tlf_day" + ansFormId +"'>" + tlf_day_night + ": </td><td><input type='text' id='namesform_tlf_day_input" + ansFormId +"' name='namesform_tlf_day_input" + ansFormId +"' style='width:91px;' /> / <input type='text' id='namesform_tlf_night_input" + ansFormId + "' name='namesform_tlf_night_input" + ansFormId + "' style='width: 91px;' /></td></tr>";
    entry += "</table></div >";
    entry += "<div class='rdiv' style='z-index: 1;'><table>";
    entry += "<tr><td width='140px' id='namesform_se_nr" + ansFormId +"'>" + senr + ": </td><td><input type='text' id='namesform_se_nr_input" + ansFormId +"' name='namesform_se_nr_input" + ansFormId +"' size='30' onchange=\"onChangeUserField(" + ansFormId + ", 'namesform_se_nr_input');\"  /><span class='hint'><span class='hint-pointer'>&nbsp;</span>" + htmlhint_senr + "</span></td></tr>";
    entry += "<tr><td id='namesform_aeb_nr" + ansFormId +"'>" + aebnr + ": </td><td><input type='text' id='namesform_aeb_nr_input" + ansFormId +"' name='namesform_aeb_nr_input" + ansFormId +"' size='30' onchange=\"onChangeUserField(" + ansFormId + ", 'namesform_aeb_nr_input');\"  /><span class='hint'><span class='hint-pointer'>&nbsp;</span>" + htmlhint_aebnr + "</span></td></tr>";
    entry += "<tr><td id='namesform_selskabs_nr" + ansFormId +"'>" + selskabsnr + ": </td><td><input type='text' id='namesform_selskabs_nr_input" + ansFormId +"' name='namesform_selskabs_nr_input" + ansFormId +"' size='30' onchange=\"onChangeUserField(" + ansFormId + ", 'namesform_selskabs_nr_input');\"  /><span class='hint'><span class='hint-pointer'>&nbsp;</span>" + htmlhint_selskabsnr + "</span></td></tr>";
    entry += "<tr><td id='namesform_cpr_nr" + ansFormId +"'>" + cprnr + ": </td><td><input type='text' id='namesform_cpr_nr_input" + ansFormId +"' name='namesform_cpr_nr_input" + ansFormId +"' size='30' onchange=\"onChangeUserField(" + ansFormId + ", 'namesform_cpr_nr_input');\" /><span class='hint'><span class='hint-pointer'>&nbsp;</span>" + htmlhint_cprnr + "</span></td></tr>";
    entry += "<tr><td id='namesform_company_name" + ansFormId +"'>" + companyname + ": </td><td><input type='text' id='namesform_company_name_input" + ansFormId +"' name='namesform_company_name_input" + ansFormId +"' size='30' /></td></tr>";
    entry += "</table></div>";//rdiv
    entry += "</div>"; //width764div
    entry += "<input type=button id='removeansoegerbutton" + ansFormId + "' value='"+label_sletansoeger+"' onclick=\"removeAnsoegerForm(" + ansFormId + ",'" +adiv + "','" +datadiv + "','" +indexdiv + "','" + buttondiv+ "')\" />";
    entry += "</div>"; //ansoegerdiv
    //alert('created form string');
    return entry;
}

// Public: REmoves an ansogerform with the given id, (div is only used to call newAnsoegerForm if the last one is deleted)
function removeAnsoegerForm(id, adiv, datadiv, indexdiv, buttondiv) {
    $('namesform_deleted' + id).setAttribute("value", "true");
    $('ansoegerdiv' + id).hide();
    $('namesform_showbutton_' + id).hide();
    ansFormsShown--;
    if (ansFormsShown < 1) {
        newAnsoegerForm(adiv, datadiv, indexdiv, buttondiv);
    }
    focusVisibleAnsoegerForm();
}

function focusVisibleAnsoegerForm() {
    for (var j = 1; j <= ansFormId; j++) {
        if ($('namesform_deleted' + j).value == 'false') {
            $('ansoegerdiv' + j).show();
            return;
        }
    }
}

// Public: Fills the most recently created ansoegerform.
function fillAnsoegerForm(v_id, v_cprnr, v_senr, v_aebnr, v_selskabsnr, v_companyname, v_name, v_address, v_postalcode, v_city, v_email, v_tlf_day, v_tlf_night) {
    $('namesform_' + ansFormId).setAttribute("value", v_id);
    $('namesform_cpr_nr_input' + ansFormId).setAttribute("value", v_cprnr);
    $('namesform_se_nr_input' + ansFormId).setAttribute("value", v_senr);
    $('namesform_aeb_nr_input' + ansFormId).setAttribute("value", v_aebnr);
    $('namesform_selskabs_nr_input' + ansFormId).setAttribute("value", v_selskabsnr);
    $('namesform_company_name_input' + ansFormId).setAttribute("value", v_companyname);
    $('namesform_first_name_input' + ansFormId).setAttribute("value", v_name);
    $('namesform_address_input' + ansFormId).setAttribute("value", v_address);
    $('namesform_postal_code_input' + ansFormId).setAttribute("value", v_postalcode);
    $('namesform_city_input' + ansFormId).setAttribute("value", v_city);
    $('namesform_email_input' + ansFormId).setAttribute("value", v_email);    
    $('namesform_tlf_day_input' + ansFormId).setAttribute("value", v_tlf_day);    
    $('namesform_tlf_night_input' + ansFormId).setAttribute("value", v_tlf_night);    
}

//ensure that only 1 of the following is entered: Cpr-, S.E., A.E.B. eller Selskabs nr.
function onChangeUserField(userid, fieldtype) {
//	alert(userid + ", " + fieldtype);
	newval = $(fieldtype + userid).value;
	if (newval == '') {
		$('namesform_cpr_nr_input' + userid).disabled = '';
		$('namesform_se_nr_input' + userid).disabled = '';
		$('namesform_aeb_nr_input' + userid).disabled = '';
		$('namesform_selskabs_nr_input' + userid).disabled = '';
		//alert("alt slettet i feltet: " + fieldtype + userid);
	}
	else {
		$('namesform_cpr_nr_input' + userid).disabled = 'disabled';
		$('namesform_se_nr_input' + userid).disabled = 'disabled';
		$('namesform_aeb_nr_input' + userid).disabled = 'disabled';
		$('namesform_selskabs_nr_input' + userid).disabled = 'disabled';
		$(fieldtype + userid).disabled = '';
		$(fieldtype + userid).value = newval;
		//alert("bruger feltet: " + fieldtype + userid);
	}
}

/////////////////////////////////////////////////////////////////////
// areaform management
/////////////////////////////////////////////////////////////////////

// Public: updates the city select and minimap appropriately
function onChange_areaFormKommune(selectedOmraadekode, cbinfo_url1) {
    var komsel = $('areaform_kommune_select').selectedIndex;
    var komsel_nr = $('areaform_kommune_select').value;
    if (komsel == 0) {
        $('areaform_city_select').disabled='disabled';
    }
    var changesite = false;
    if (komsel >= 1) {
        $('areaform_city_select').disabled='';

        // change site if chosen kommune does not match the site.
        if (cbinfo_url1) { // cbinfo_url1 is not passed during doLateInit()
            var cbinfokommuneid = getKommuneFromUrl(cbinfo_url1);
            if (cbinfokommuneid != komsel_nr) {
                changesite = confirm('Den ønskede handling kan ikke fuldføres her. \nVil du sendes videre til kommunesitet: ' + getUrlFromKommuneId(komsel_nr) + '?');
                if (changesite) {
                    window.location = getUrlFromKommuneId(komsel_nr) + "/jsp/custom/arealansoegning/arealansoegning.jsp?" + qstring_nolang;
                } 
                $('areaform_kommune_select').setValue(getKommuneFromUrl(cbinfo_url1));
            }
        }
    }
    
    $('areaform_city_select').selectedIndex = 0;
    if ($('input_anvid').value != "") {
        $('areaform_kommune_select').disabled='disabled';
    }
	
    reloadCitySelect();
    setDropdownSelection('areaform_city_select', selectedOmraadekode);
    dimSelectedCity();
    updateMapDiv();
}

//Public: updates the minimap appropriately
function onChange_citySelect() {
    updateMapDiv();
    $('areaform_wkt').value = "";
    $('omraadekode').value = $('areaform_city_select').value; 
	if ($('areaform_city_select').value.length > 6){
		$('anraendring.kommune').innerHTML = kommunekodeFromId(Number($('areaform_kommune_select').value));
		$('anraendring.omraade').innerHTML = $('areaform_city_select').value.substring(3,7);
	} else
		$('purposeform_anr_aendring').value = '';
    updateStednavnVisibility();
}

function updateStednavnVisibility() {
    if ($('areaform_city_select').value.match('nun[0-9]{4}')) 
      $('areaform_place_name').show();
    else 
      $('areaform_place_name').hide();
}

//Public: shows the buildingform, depending on what is chosen from purpose_select
function onChange_purposeSelect(selectedSubpurpose) {
    if ($('purposeform_purpose_select').options.selectedIndex == 1) {
        $('buildingformdiv').show();
        $('sagsbehandlerform_byggetilladelse_dato_tr').show();
        $('sagsbehandlerform_byggeri_dato_tr').show();
        if ($('buildingform_forms').value == "0") {
            newBuildingForm('buildingformdiv', 'buildingindexdiv', 'buildingdatadiv', 'buildingbuttondiv');
        }
    } else {
        $('buildingformdiv').hide();
        $('sagsbehandlerform_byggetilladelse_dato_tr').hide();
        $('sagsbehandlerform_byggeri_dato_tr').hide();
    }
    if ($('purposeform_purpose_select').options.selectedIndex > 1) {
    	reloadSubpurposeSelect();
    	if (selectedSubpurpose)
	    	setDropdownSelection('purposeform_subpurpose_select', selectedSubpurpose);
    	$('purposeform_subpurpose_tr').show();
	} else {
		$('purposeform_subpurpose_tr').hide();
	}

}

//Public: shows bnr/newbuilding depending on what is chosen from activity_select
function onChange_activitySelect() {
    if ($('buildingform_activity_select').options.selectedIndex == 1) {
        //$('buildingform_building_name_1').show();
        //$('buildingform_bnr_1').hide();
    } else {
        //$('buildingform_building_name_1').hide();
        //$('buildingform_bnr_1').show();
    }
}


function AddSelectOption(selectObj, text, value, isSelected) {
    if (selectObj != null && selectObj.options != null) {
        selectObj.options[selectObj.options.length] = new Option(text, value, false, isSelected);
    }
}

function setDropdownSelection(select_id, selectionValue) {
    for (i=0;i < $(select_id).length; i++) {
        if ($(select_id).options[i].value == selectionValue) {
            $(select_id).options.selectedIndex = i;
        }
    }
}
//function setSelectedCity(selectedOmraadekode) {
//    for (i=0;i < $('areaform_city_select').length; i++) {
//        if ($('areaform_city_select').options[i].value == selectedOmraadekode) {
//            $('areaform_city_select').options.selectedIndex = i;
//        }
//    }
//}

function dimSelectedCity (){
    if ($('input_anvid').value != "") {
        $('areaform_city_select').disabled='disabled';
    }
}

function reloadCitySelect() {
    // clear old selectlist
    $('areaform_city_select').options.length = 0; 
    // Insert top element
    AddSelectOption($('areaform_city_select'), "-", "-", false);
    // add options to the selectlist, $('areaform_city_select'), from the hidden selectlist with all the options, $('areaform_city_select_h').
    // Insert them when the option.id matches the selected kommune.id
    for (i=0;i < $('areaform_city_select_h').length; i++) {
        if ($('areaform_kommune_select').options[$('areaform_kommune_select').selectedIndex].value == $('areaform_city_select_h').options[i].id) {
            AddSelectOption($('areaform_city_select'), $('areaform_city_select_h').options[i].text, $('areaform_city_select_h').options[i].value, false);
        }
    }
}

function reloadSubpurposeSelect() {
    // clear old selectlist
    $('purposeform_subpurpose_select').options.length = 0; 
    // Insert top element
    AddSelectOption($('purposeform_subpurpose_select'), "-", "-", false);
    // add options to the selectlist, $('purposeform_subpurpose_select'), from the hidden selectlist with all the options, $('purposeform_subpurpose_select_h').
    // Insert them when the option.id matches the selected id
    for (i=0;i < $('purposeform_subpurpose_select_h').length; i++) {
        if ($('purposeform_purpose_select').options[$('purposeform_purpose_select').selectedIndex].value == $('purposeform_subpurpose_select_h').options[i].id) {
            AddSelectOption($('purposeform_subpurpose_select'), $('purposeform_subpurpose_select_h').options[i].text, $('purposeform_subpurpose_select_h').options[i].value, false);
        }
    }
}

function updateMapDiv() {
    var valgtomraade = $('areaform_city_select').options[$('areaform_city_select').selectedIndex].value;
    var baggrundskort = 'g5';
    var wktInfo = "&wktinfo=1";
    //if ($('input_anvid').value != "") {
    if ($('statusform_status').value != "2") {
        wktInfo = ""; //dont show the drawing tools in minimap
    }
    if (valgtomraade.substr(0, 6) == 'nun000') {
        baggrundskort = 'g250v'; // baggrundskort for det åbne land
    }
    if ($('areaform_city_select').selectedIndex > 0){
    	var maphelphtml = "<div id='maphelp'><img src='/jsp/custom/arealansoegning/images/help.png' onclick=$('maphelpcontent').style.display='block'; /></div><div id='maphelpcontent' class='hint' style='text-align: left;' onclick=$('maphelpcontent').hide();>" + label_korthjaelp2 + "</div>";
        if (ff_anvid != null && ff_anvid != '') {
            $('mapdiv').innerHTML = maphelphtml + "<iframe id='mapcontainer' name='minimap_active' src='http://" + mapServerUrl + "/cbkort?profile=" + valgtomraade + "_nin-minimap&areacode=" + valgtomraade + "&mapheight=450&mapwidth=791&id=" + ff_anvid + "&map_size=791 450" + wktInfo + "&page=wktinfo-locate-id-inMap&legendstatus=off&scalebarstatus=on' width='791px' height='473px' scrolling='no' frameborder='0'></iframe>";
        } else {
            $('mapdiv').innerHTML = maphelphtml + "<iframe id='mapcontainer' name='minimap_active' src='http://" + mapServerUrl + "/cbkort?profile=" + valgtomraade + "_nin-minimap&areacode=" + valgtomraade + "&mapheight=450&mapwidth=791&map_size=791 450" + wktInfo + "&page=content&legendstatus=off&scalebarstatus=on' width='791px' height='473px' scrolling='no' frameborder='0'></iframe>";
        }
    } else {
        $('mapdiv').innerHTML = "" + label_korthjaelp + "<br><img id='imggroenland' src='images/groenlandskort.jpg' width=250 height=473 alt='groenlandskort'/>";
    }
}

function fillMapDiv(id, omraadekode, utm) {
    $('mapdiv').innerHTML = "" + id + omraadekode + utm;
}


// CallBack function from the minimap in the mapdiv.
// It is called whenever a new area is drawn or another predefined area is picked. 
// method can be "info" or "draw"
// wkt is the created/chosen wkt
// id is the anvendelseid of the chosen wkt (only used in method "info"
function inhaleWkt(method,wkt, id) {
    $('areaform_wkt').value = wkt;
    if (method == "info") {
        $('areaform_wkt_anvid').value = id;
    }
    //alert(label_omraadevalgt);
    //alert(method);
    //alert(wkt);
}



/////////////////////////////////////////////////////////////////////
// onSubmit functions
/////////////////////////////////////////////////////////////////////

function validateMap () {
    if ($('areaform_wkt').value != "" || $('purposeform_aendring').checked==true) {  
		if ($('areaform_wkt').value == "") { //insert dummy value while testing.
			$('areaform_wkt').value = null;
			$('areaform_wkt_anvid').value = null;
		}
        return true;
    } else {
		alert('Vælg et område på kortet eller tegn et. Husk at afslutte med tryk på "benyt"!');
        return false;
    }
}


//Public: called upon submit attempt in order to post some potentially disabled inputs. 
function reEnableElements() {
    enableAll(true);
    //consider reenable all....
    //$('statusform_status').disabled = '';
    //$('statusform_saerlige_vilkaar').disabled = '';
    //$('areaform_kommune_select').hide()='';
    //$('areaform_kommune_select').disabled='';
    //$('areaform_city_select').hide();
    $('areaform_city_select').disabled='';
    return true;
}

/////////////////////////////////////////////////////////////////////
// Other...
/////////////////////////////////////////////////////////////////////

function updateAnr() {
	$('statusform_anr').value = $('anr.kommune').innerHTML + "-" + $('anr.omraade').innerHTML + "-" + $('anr.del3').value;
}

function updateAnrAendring() {
	$('purposeform_anr_aendring').value = $('anraendring.kommune').innerHTML + "-" + $('anraendring.omraade').innerHTML + "-" + $('anraendring.del3').value;
}

function updateBnr(index) {
	$('buildingform_bnr_input_' + index).value = $('bnr.kommune.' + index).innerHTML + "-" + $('bnr.omraade.' + index).innerHTML + "-" + $('bnr.kort.' + index).value + "-" + $('bnr.litra.' + index).value + "-" + $('bnr.enhed.' + index).value + "-" + $('bnr.type.' + index).value;
}

function updateBnrHelper(index) {
	if ($('areaform_city_select').value != null ) {
		innerText('bnr.kommune.' + index, $('anr.kommune').innerHTML);
		innerText('bnr.omraade.' + index, $('areaform_city_select').value.substring(3,7));
	}
}

function onAendringClick(oldanr) {
	if ($('purposeform_aendring').checked==true) {
		$('purposeform_anr_aendring_tr').show();
		alert(oldanr);
	} else {
		$('purposeform_anr_aendring_tr').hide();
	}
}

function onChangeStatus() {
	if (!$('statusform_status').options[3].selected) //if set to godkendt(3)
		$('sagsbehandlerform_underskriver2_tr').hide()
	else
		$('sagsbehandlerform_underskriver2_tr').show();
}

function disableAccess() {
    if (editmode == 0) {
        $('statusform_status').options[2].selected = "selected"; // set to ansoegt (2)
    }
    if (editmode != 2){
    	if ($('statusform_status') != null)
	        $('statusform_status').disabled = 'disabled';
        disableElements(document.getElementsByClassName('sagsbehandler'));
    }
    if (($('statusform_status') != null && $('statusform_status').value != "2" && editmode != 2) || editmode == 4) {
        enableAll(false);
        alert(label_formlaast);
    }
}

function enableAll(enable) {
    disenableElms(document.getElementsByTagName('input'), enable);
    disenableElms(document.getElementsByTagName('select'), enable);
    disenableElms(document.getElementsByTagName('textarea'), enable);
    disenableElms(document.getElementsByTagName('checkbox'), enable);
}

//disables elements and hide img
function disableElements(elms) {
    for (var n = 0; n < elms.length; n++) {
		elms[n].disabled = 'disabled';
		if (elms[n].tagName == 'IMG')
			elms[n].hide();
    }
}

function disenableElms(elms, enable) {
    var elm;
    for (var n = 0; n < elms.length; n++) {
        elm = elms[n];
        if (enable)
            elm.disabled = '';
        else 
            elm.disabled = 'disabled';
    }
}

function kommunekodeFromId(id) {
//1;"Qeqqata Kommunia";957
//2;"Kommuneqarfik Sermersooq";956
//3;"Qaasuitsup Kommunia";958
//4;"Kommune Kujalleq";955
//5;"Nationalparken";961
	switch (id) {
		case (1): return 957;
		case (2): return 956;
		case (3): return 958;
		case (4): return 955;
		case (5): return 961;
		default : throw Exception("Ukendt kommune id!");
	}
}

/////////////////////////////////////////////////////////////////////
// Hints 
/////////////////////////////////////////////////////////////////////

// indtast: <span class='hint'><span class='hint-pointer'>&nbsp;</span>Indtast cpr-nr. Fx 123456-1234</span>
// efter et input felt, som skal ha hint
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

function prepareInputsForHints() {
  showHideHint(document.getElementsByTagName("input"));
  showHideHint(document.getElementsByTagName("select"));
  showHideHint(document.getElementsByTagName("textarea"));
  
}

function showHideHint(inputfields) {
  for (var k=0; k<inputfields.length; k++){
    if (inputfields[k].parentNode.getElementsByTagName("span")[0]) {
      inputfields[k].onfocus = function () {
		if (this.parentNode.getElementsByTagName("span")[0].className == "hint")
	        this.parentNode.getElementsByTagName("span")[0].style.display = "inline";
      }
      inputfields[k].onblur = function () {
		if (this.parentNode.getElementsByTagName("span")[0].className == "hint")
	        this.parentNode.getElementsByTagName("span")[0].style.display = "none";
      }
    }
  }
}

function gup( name )
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}

/////////////////////////////////////////////////////////////////////
// late initialization of values
/////////////////////////////////////////////////////////////////////
function doLateInit(omraade, kommune, subpurpose) {
    kommune = kommune.replace(" ", ""); //remove whitespace
    // set the selected city initially and thereby update the minimap
    onChange_areaFormKommune(omraade);

    // show byggedatoer if there is bygninger
    if (buildingindex > 0) {
        $('sagsbehandlerform_byggetilladelse_dato_tr').show();
        $('sagsbehandlerform_byggeri_dato_tr').show();
    }
    // show �ndringsknap only if (new ans�gning) or (sagsbehandlermode)
    if ( ( ($('statusform_status').value=='-' || $('statusform_status').value=='2') && $('input_anvid').value=='') || editmode==2)
        $('purposeform_aendring_tr').show();
    //addLoadEvent(prepareInputsForHints);
    onChangeStatus();
    prepareInputsForHints();
    //// if anr is empty and sagsbehandler mode - fill in the start of the anr
	//    if (editmode==2 && $('statusform_anr').value=='') 
	//        $('statusform_anr').value = kommune + '-' + omraade.substring(3,7) + '-';
	
    //for (var i = 1; i <= buildingindex; i++) 
    //    if (editmode==2 && $('buildingform_bnr_input_' + i).value=='') 
    //        $('buildingform_bnr_input_' + i).value = kommune + '-' + omraade.substring(3,7) + '-';
    
    for (var i = 1; i <= buildingindex; i++) { 
	    innerText('bnr.kommune.' + i, kommune);
	    innerText('bnr.omraade.' + i, omraade.substring(3,7));
    }
    
    $('anr.kommune').innerHTML = kommune;
    $('anr.omraade').innerHTML = omraade.substring(3,7);
    $('anraendring.kommune').innerHTML = kommune;
    $('anraendring.omraade').innerHTML = omraade.substring(3,7);
    updateStednavnVisibility();
    onChange_purposeSelect(subpurpose);
    disableAccess();
}

// removes all childnodes and inserts a text node - (same as .textContent in FF)
function innerText(parentelementid, innertext) {
    	var parentnode = $(parentelementid);
    	if (parentnode != null) {
	    	while (parentnode.hasChildNodes())
	    		parentnode.removeChild(parentnode.firstChild);
	    	var text = document.createTextNode(innertext);
			parentnode.appendChild(text);
    	}
}
/////////////////////////////////////////////////////////////////////
// Old...
/////////////////////////////////////////////////////////////////////
// tester
function hej() {
    for (i = 1;i<=ansFormsShown; i++) {
        if ($('namesform_deleted'+i).getAttribute("value") == "true") {
            alert('hej ' + i);
        } else {
            alert('bad thing' + i);
        }
    }
}

//Obsolete - not used.
function reloadCitySelectOld() {
    for (i=0;i < $('areaform_city_select').length; i++) {
        if ($('areaform_kommune_select').selectedIndex.toString() == $('areaform_city_select').options[i].id) {
            $('areaform_city_select').options[i].disabled='';
            //$('areaform_city_select').options[i].show();
        } else {
            $('areaform_city_select').options[i].disabled='disabled';    
            //$('areaform_city_select').options[i].hide();
            //document.getElementById('areaform_city_select').setStyle({  display: 'none'})
            //$('areaform_city_select').options[i].setStyle({display: 'none'});
        }
    }
    if ($('input_anvid').value != "") {
        $('areaform_city_select').disabled='disabled';
    }
}


