// Øverst placeres al JQuery scripting
// sidst placeres al "normal" javascripting


//**************************************************************************************************************
//************************************ JQuery ******************************************************************
//**************************************************************************************************************
// denne stump JQuery styrer Programoverigten's klik funktionalitet: klap-ud og klap-sammen
// det er nødvedigt at JQuery javascript biblioteket også er inkluderet
$(document).ready(function () {

    $(".btn-slideProgOversigtTxt").click(function () {
        $("#programOversigt").slideToggle("slow");
        $(this).toggleClass("active");
    });

});

//**************************************************************************************************************
//*********************************** javascript ******************************************************************
//**************************************************************************************************************
// disse to javascript funktioner opdaterer et ur 
function startTime() 
{
    var today=new Date();
    var h=today.getHours();
    var m=today.getMinutes();
    var s=today.getSeconds();
    // add a zero in front of numbers<10"
    m=checkTime(m);
    s=checkTime(s);
    document.getElementById('txt').innerHTML=h+":"+m+":"+s;
    t=setTimeout('startTime()',500);
}

function checkTime(i) 
{
    if(i < 10)  
    {
        i="0" + i;
    }
    return i;
}

// denne javascript funktion klapper elementer ud og ind i nyhedslisterne
function ClickDay(elementName)
{
    var elements1 = document.getElementsByTagName('li');
    var r = elementName.match(/[\d\.]+/g); // uddrag tallet fra tagName 
    var nTagNummer = r[0]; 		   // ditto
    var nCount = 0;
    // window.alert('This code is reached again antal \'newsday\': ' + elements1.length);
    for (var i = 0; i < elements1.length; i++) {
	if (elements1[i].className == "day" || elements1[i].className == "activeDay") { 
		nCount = nCount + 1;
		if (nCount == nTagNummer) {
			elements1[i].className = "activeDay";
			elements1[i].setAttribute("class", "activeDay");
        		elements1[i].setAttribute("className", "activeDay");
		}
	        else {
			elements1[i].className = "day";
			elements1[i].setAttribute("class", "day");
        		elements1[i].setAttribute("className", "day");
		
		};
        	//window.alert('ActiveDay er fundet ' + i + ' klikkede dags nr: ' + elementName.substr(8, elementName.length));
	}
    };	
    var elements = document.getElementsByTagName('ul');
    for (var i = 0; i < elements.length; i++) {
        if (elements[i].className == elementName) { // klap valgt element ud
            elements[i].style.display = 'block';
        }
        else if (String(elements[i].className).substr(0,8) == elementName.substr(0,8)) { // klap alle andre "dayxxxxx" elementer sammen
            elements[i].style.display = 'none';
        }
        else { 
        }
    }
}


function OpenTwoDays(elementName1, elementName2)
{
 var elements = document.getElementsByTagName('ul');
    for (var i = 0; i < elements.length; i++) {
        if (String(elements[i].className).substr(0,8) == elementName1.substr(0,8)) { // klap alle andre "dayxxxxx" elementer sammen (et ad gangen)
	   elements[i].style.display = 'none';
	}
	if (elements[i].className == elementName1) { // klap element1 ud
            elements[i].style.display = 'block';
        }
        if (elements[i].className == elementName2) { // klap element2 ud
            elements[i].style.display = 'block';
        }
        
    }
}


function SkriftSize()
{
var elements = document.getElementsByTagName('div');
    for (var i = 0; i < elements.length; i++) {
	if (elements[i].className == 'newsText') {
	 	//window.alert('her er vi - text');
		elements[i].className = "newsText2";
		elements[i].setAttribute("class", "newsText2");
        	elements[i].setAttribute("className", "newsText2");
	}
	else if (elements[i].className == 'newsText2') {
	 	//window.alert('her er vi - text2');
		elements[i].className = "newsText3";
		elements[i].setAttribute("class", "newsText3");
       		elements[i].setAttribute("className", "newsText3");
	}
	else if (elements[i].className == 'newsText3') {
	 	//window.alert('her er vi - text 3');
		elements[i].className = "newsText";
		elements[i].setAttribute("class", "newsText");
       		elements[i].setAttribute("className", "newsText");
	}
	else {
	};	
	if (elements[i].className == 'newsSummary') {
		elements[i].className = "newsSummary2";
		elements[i].setAttribute("class", "newsSummary2");
        	elements[i].setAttribute("className", "newSummary2");
	}
	else if (elements[i].className == 'newsSummary2') {
		elements[i].className = "newsSummary3";
		elements[i].setAttribute("class", "newsSummary3");
       		elements[i].setAttribute("className", "newsSummary3");
	}
	else if (elements[i].className == 'newsSummary3') {
		elements[i].className = "newsSummary";
		elements[i].setAttribute("class", "newsSummary");
       		elements[i].setAttribute("className", "newsSummary");
	}
	else {
	}
    }
}

//********* WEBCAM funktioner 
//************* UPDATER START *****
function webCam(camName) {
    this.count = 0
    this.oName = camName
    this.myTimer = 0
    this.url
    this.interval = 10
    this.width
    this.height
    this.imgObj
    this.tmpImg = new Image
    this.Run = Run
    this.updateImage = updateImage
    //this.Stop = new function(){this.updateImage = false;}

}

function Run() {
    var html = "";
    html = "<img src='" + this.url + "' name='" + this.oName + "' width=" + this.width + " height=" + this.height + " border=0>";

    document.write(html)

    this.imgObj = eval("document." + this.oName);
    this.updateImage(this.oName)
}

function updateImage(objName) {
    obj = eval(objName);
    if (obj.myTimer) {
        clearTimeout(obj.myTimer);
        obj.myTimer = 0;
    }
    obj.count++


    if (obj.count == obj.interval) {
        //window.status = obj.tmpImg.fileSize
        obj.imgObj.src = obj.url + "?c=" + Math.random();
        obj.count = 0
    }
    strFunction = "updateImage('" + objName + "')"
    obj.myTimer = setTimeout(strFunction, 1000);

    t = (obj.interval - obj.count)
    if (document.getElementById('msg' + objName))
        document.getElementById('msg' + objName).innerHTML = "Opdateres om " + t.toString() + " sekunder";
}

//***************Google maps 
var map;
var gmap_lat, gmap_lon, gmap_latT, gmap_lonT, gmap_zoom, gmap_tekst;
var gmarker;

function googleMap(divid, bredde, laengde, zoomval) {
    if (GBrowserIsCompatible()) {
        if (!divid) return;

        var useMap = true;

        if (!bredde) { bredde = 55.11; useMap = false; }
        if (!laengde) { laengde = 14.91; useMap = false; }
        if (!zoomval) { zoomval = 9; useMap = false; }

        if (bredde == '') { bredde = 55.11; useMap = false; }
        if (laengde == '') { laengde = 14.91; useMap = false; }
        if (zoomval == '') { zoomval = 9; useMap = false; }

        map = new GMap2(divid);

        var center = new GLatLng(bredde, laengde);
        map.addControl(new GOverviewMapControl());
        map.addControl(new GSmallZoomControl());
        map.setCenter(center, parseInt(zoomval));
        if (useMap) placeMarker(bredde, laengde);

        GEvent.addListener(map, 'click', mapClick);
    }
}

function placeMarker(bredde, laengde, tekst) {
    //if (!tekst) tekst = "(" + Math.round(bredde * 1000)/1000 + "," + Math.round(laengde * 1000)/1000 + ")" ;

    if (gmarker) map.removeOverlay(gmarker);

    if (gmap_lat) gmap_lat.value = bredde;
    if (gmap_lon) gmap_lon.value = laengde;
    if (gmap_latT) gmap_latT.value = bredde;
    if (gmap_lonT) gmap_lonT.value = laengde;
    if (gmap_zoom) gmap_zoom.value = map.getZoom();

    var center = new GLatLng(bredde, laengde);
    gmarker = new GMarker(center);
    map.addOverlay(gmarker);

}

function mapClick(marker, point) {
    if (!marker) {
        placeMarker(point.y, point.x);
    }
}

function findSted(oLat, oLon) {
    if (oLat && oLon) {
        var lat = oLat.value.replace(/^\s+/g, '').replace(/\s+$/g, '').replace(",", ".");
        var lon = oLon.value.replace(/^\s+/g, '').replace(/\s+$/g, '').replace(",", ".");

        if (lat == '' || lon == '') return;

        var latG = konverterGrader(lat);
        var lonG = konverterGrader(lon);

        placeMarker(latG, lonG)
        map.setCenter(new GLatLng(latG, lonG));
    }
}

function konverterGrader(GMS) {
    if (GMS.indexOf(" ") == -1) return GMS;

    var GMSarr = GMS.split(" ");

    var G = parseFloat(GMSarr[0]);

    if (GMSarr.length >= 2)
        G += parseFloat(GMSarr[1] / 60.);

    if (GMSarr.length >= 3)
        G += parseFloat(GMSarr[2] / 3600.);

    return G;
}

