﻿// JScript File

//*******************************************************
//används i functionerna grd_CellClickHandler och ktlrAvVal
//värden sätts i function initGrids
var gridOmrade	
var gridPeriod	
var gridMatetal
//*******************************************************

function valsidaLayout() {
    var skarmHojd; 
    var hojd;
    var hojdStr;
    var divGrd;
    var divTab;
    var divLst;
   
    skarmHojd = screen.height;
    
    hojd = skarmHojd - 440;
    if (hojd < 0 ) {
        hojd = 100;
    }
    hojdStr = hojd + "px"

    divGrd = document.getElementById("divGrdValj");
    if (divGrd != null) {
        divGrd.style.height=hojdStr        
    }
    
    divLst = document.getElementById("divLstBarVal"); 
    if (divLst != null) {
        divLst.style.height=hojdStr;
    }

    //hojd = hojd + 25
    hojd = hojd - 25
    hojdStr = hojd + "px"
    divTab = document.getElementById("divTabValjOmrade");
    if (divTab != null) {
        divTab.style.height=hojdStr;
    } 
    
}

/*
hanterar mouseover för de 4 gridarna
grdValj;grdOmrade;grdPeriod;grdMateTal
*/
function grdMateTal_MouseOverHandler(gridName, id, objectType){
	if(objectType == 0) { // Are we over a cell
        var cell = igtbl_getElementById(id);

        //När CssClass sätts via serverkoden läggs ett prefix till (ig_ ...)
        //Rensa bort detta prefix här 
        if (cell.className.match("valVardeSaknas")) {
            cell.className = "valVardeSaknas"
        }
        else if (cell.className.match("valTxtDef")) {
            cell.className = "valTxtDef"
        }
        
        //Kontrollera om mouseover-stil skall sättas
        if ((cell.className == "valTxtDef") || (cell.className == "")) {
            cell.className="valTxtOver"
           
            if (gridName.indexOf('grdMateTal') != -1) {
		        var row = igtbl_getRowById(id);
		        var varde = row.getCellFromKey("Definition").getValue()
		        if (varde!=null) ddrivetip(varde, 250)
            }
        }
	}
}

/*hanterar mouseout för de 4 gridarna - se ovan */
function grdMateTal_MouseOutHandler(gridName, id, objectType){
	var cell = igtbl_getElementById(id);
	
	if (cell.className == "valTxtOver") {
        cell.className="valTxtDef"
        
        hideddrivetip()
    }
}

//Sätter parametern ntal i länken för utvecklingsnyckeltalens definitioner.
function grdValbaraNtal_AfterSelectChangeHandler(gridName, id){
	var grd = igtbl_getGridById("_ctl0_ContentPlaceHolder1_grdValbaraNtal");
	var str;
	var forsta = true;
	var lnk;
	
	//Plocka ut alla ntalid på markerade nyckeltal och lägg i kommaseparerad sträng
    for(var rowId in grd.SelectedRows)
    {
	    var row=igtbl_getRowById(rowId);
	    var cell = row.getCell(0);
	    
	    if (forsta == true) {
	        str = cell.getValue();
	        forsta = false;
	    }
	    else {
	        str = str + ";" + cell.getValue();
	    }
    }
  
    if (str.length > 0) {
        //Uppdatera länkens NavigateUrl  
        lnk = document.getElementById('_ctl0_ContentPlaceHolder1_lnkDefinition')
        lnk.href="javascript:visaDialog('popupUtvNtalDefinition.aspx?ntal=" + str + "','Definition',380, 570, 'yes')"
    }
}


/*gör att endast en grid i taget är valbar i listbar */
function grd_CellClickHandler(gridName, cellId, button){
	initGrids();
	
	if (gridName != "lstBarValxxctl0grdOmrade")  {
		//gridOmrade.clearSelectionAll();	
	}
	if (gridName != "lstBarValxxctl1grdPeriod")  {
		//gridPeriod.clearSelectionAll()
	}
	if (gridName != "lstBarValxxctl2grdMateTal")  {
		//gridMatetal.clearSelectionAll()	
	}
}

/*specialare, måste ta hand om å ä ö för att dessa ska fungera*/
/*bokstavsordn - gör att focus flyttas till kommuner med bokstav man trycker på */
function grdValj_KeyDownHandler(gridName, cellId, key){
 	var tkn=String.fromCharCode(key)
	if (key==192) tkn="Ö"
	if (key==222) tkn="Ä"
	if (key==221) tkn="Å"
	
	var oGrid = igtbl_getGridById(gridName); 
	
	var aktRow = igtbl_getActiveRow(gridName)
	aktRow.setSelected(false);
	
	var oRows = oGrid.Rows;
	for(i=0; i<oRows.length; i++) {
		oRow = oRows.getRow(i);
		//if (oRow.getCellFromKey("Id").getValue()==tkn) {
		if (oRow.getCell(1).getValue().substring(0,1)==tkn) {
			if (oRowBookmark!=null) oRowBookmark.setSelected(false);
			oRowBookmark=oRow
			oRow.setSelected(true);
			oRow.Element.scrollIntoView(true)	
			return				
		}
	}
}		

/*initierar variabler*/
function initGrids() {
	gridOmrade = igtbl_getGridById("_ctl0_ContentPlaceHolder1_lstBarVal__ctl0_grdOmrade");
	gridPeriod = igtbl_getGridById("_ctl0_ContentPlaceHolder1_lstBarVal__ctl1_grdPeriod");
	gridMatetal = igtbl_getGridById("_ctl0_ContentPlaceHolder1_lstBarVal__ctl2_grdMateTal");
}

function kontrolleraUrval() {
	var msg = kontrolleraUrvalsinnehall()
	if (msg=="") {
		return true;
	} else {
		alert(msg)
		return false
	}
}


function kontrolleraUrvalsinnehall() {
    var variabel = ""
    
	initGrids()
	
	if (gridOmrade.Rows.length == 0) {variabel = "Ingen kommun/landsting är valt.\n"}
	if (gridPeriod.Rows.length == 0) {variabel += "Inget år är valt.\n"}
	if (gridMatetal.Rows.length == 0) {variabel += "Inget nyckeltal är valt.\n"}
	
	if (variabel != "") {
		msg = variabel + "\n Minst en kommun eller ett landsting, ett år samt ett nyckeltal måste ingå i urvalet.\n"
		return msg				
	} else {return ""}
}

function spara() {
    //var res;
    //res = visaModalDialog('popupLogin.aspx?action=save', 'dialog', 450, 550)
    visaModalDialog('popupLogin.aspx?action=save', 'dialog', 450, 550)
    
    //if (res == 'ok') {
        document.forms[0].submit();
    //}    
}