﻿function $nInternal(doku, element) {
    var i = 0;
    if (arguments.length > 2) {
        var elements = [];
        var length = arguments.length;
        for (i = 1; i < length; i++) {
            elements.push(doku.getElementById(arguments[i]));
        }
        return elements;
    }
    if (typeof element == 'string') {
        var el = doku.getElementById(element);
        if (el) {
            return el;
        }
    }
    else {
        return element;
    }

    var regExp = new RegExp('_' + element + '$');
    var formsLength = doku.forms.length;
    for (i = 0; i < formsLength; i++) {
        var form = doku.forms[i];
        var elementsLength = form.elements.length;
        for (var j = 0; j < elementsLength; j++) {
            element = form.elements[j];
            if (element.id && element.id.match(regExp)) {
                return element;
            }
        }
    }

    var e = doku.getElementsByTagName('span');
    for (i = 0; i < e.length; i++) {
        if (e[i].id) {
            if (e[i].id.match(regExp)) {
                return e[i];
            }
        }
    }
    
    e = doku.getElementsByTagName('div');
    for (i = 0; i < e.length; i++) {
        if (e[i].id) {
            if (e[i].id.match(regExp)) {
                return e[i];
            }
        }
    }

    return null;
}

function $n(element) {
    return $nInternal(document, element);
}


function SetValue(fieldName, value) {
    document.getElementById(fieldName).value = value;
}

function SetValueInOpenerAndCloseThis(fieldName, value) {
    window.opener.document.getElementById(fieldName).value = value;
    window.close();
}

function SmartScroller_GetCoords() {
    var scrollX, scrollY;

    if (document.all) {
        if (!document.documentElement.scrollLeft) {
            scrollX = document.body.scrollLeft;
        }
        else {
            scrollX = document.documentElement.scrollLeft;
        }

        if (!document.documentElement.scrollTop) {
            scrollY = document.body.scrollTop;
        }
        else {
            scrollY = document.documentElement.scrollTop;
        }
    }
    else {
        scrollX = window.pageXOffset;
        scrollY = window.pageYOffset;
    }

    document.forms[0].xCoordHolder.value = scrollX;
    document.forms[0].yCoordHolder.value = scrollY;
}

function SmartScroller_Scroll() {
    var x = document.forms[0].xCoordHolder.value;
    var y = document.forms[0].yCoordHolder.value;
    window.scrollTo(x, y);
}

// Bannere start

function RefreshBanner() {
	var allIframes;
    if (parent) {
    	allIframes = parent.document.getElementsByTagName('iframe');
    }
    else {
        allIframes = document.getElementsByTagName('iframe');
    }

    for (f = 0; f < allIframes.length; f++) {
    	if (allIframes[f].src.match('eas8.emediate.eu/eas') || allIframes[f].src.match('banner.aspx')) {
            allIframes[f].src = allIframes[f].src;
        }
    }
}

// Bannere slut

// Search start

function GoogleBranding() {
    var f = document.getElementById('cse_search_box');
    if (f && f.q) {
        var q = f.q;
        var n = navigator;
        var l = location;
        if (n.platform == 'Win32') {
            q.style.cssText = 'border: none;';
        }
        var b = function() {
            if (q.value == '') {
                q.style.background = '#FFFFFF url(/style/img/google_custom_search_watermark.gif) left no-repeat';
            }
        };
        var f = function() {
            q.style.background = '#ffffff';
        };       
        q.onfocus = f;
        q.onblur = b;
        if (!/[&?]q=[^&]/.test(l.search)) {
            b();
        }
    }
}

// Search end

function setAllCheckBoxes(checked, id) {
    var allInputs = document.getElementsByTagName("input");
    for (var i = 0; i < allInputs.length; i++) {
        if (allInputs[i].id.indexOf(id) != -1) {
            allInputs[i].checked = checked;
        }
    }

    RefreshBanner();
}

// Mail start

function FjernHackIReklamefri() {
    var disableCheck = $n('RadioButton250').checked;
    var check = $n('cbButtonNejtak');
    if (disableCheck) {
        check.checked = false;
        check.disabled = true;
    }
    else {
        check.disabled = false;
    }
}

// Mit start

function SelectAllServicesIfMailIsSelected() {
    var mailSelected = $n('AfmeldMail').checked;
    var dating = $n('AfmeldDating');

    if (mailSelected && !dating.checked) {
        alert('Bemærk: hvis du sletter din mail, bliver din datingprofil også slettet');
    }

    dating.checked = mailSelected;
    dating.disabled = mailSelected;
}

// Mit slut

function VinduesBredde() {
    var myWidth = 0;
    if (typeof (window.innerWidth) == 'number') {
        //Non-IE
        myWidth = window.innerWidth;
    }
    else if (document.documentElement && (document.documentElement.clientWidth)) {
        //IE 6+ in 'standards compliant mode'
        myWidth = document.documentElement.clientWidth;
    }
    else if (document.body && (document.body.clientWidth)) {
        //IE 4 compatible
        myWidth = document.body.clientWidth;
    }
    return myWidth;
}

function VinduesHoejde() {
    var myHeight = 0;
    if (typeof (window.innerWidth) == 'number') {
        //Non-IE
        myHeight = window.innerHeight;
    }
    else if (document.documentElement && (document.documentElement.clientHeight)) {
        //IE 6+ in 'standards compliant mode'
        myHeight = document.documentElement.clientHeight;
    }
    else if (document.body && (document.body.clientHeight)) {
        //IE 4 compatible
        myHeight = document.body.clientHeight;
    }
    return myHeight;
}

// Quiz start

function enableSubmit(newClassName) {
    document.getElementById("submit").disabled = false;
    document.getElementById("submit").className = newClassName;
}

function disableSubmit() {
    document.getElementById("submit").disabled = true;
}

function validateForm() {
    var fields = document.getElementsByTagName("input");
    var ok = true;

    for (var i = 0; i < fields.length; i++) {
        var field = fields[i];

        if (field.type == "text" && field.value == '') {
            ok = false;
        }
    }

    return ok;
}

function autoIframe(frameId) {
    try {
        iframe = parent.document.getElementById(frameId);
        var innerDoc = (iframe.contentDocument) ? iframe.contentDocument : iframe.contentWindow.document;
        if (innerDoc.body.offsetHeight) //ns6 syntax
        {
            iframe.height = innerDoc.body.offsetHeight + 32; //Extra height FireFox
        }
        else if (iframe.Document && iframe.Document.body.scrollHeight) //ie5+ syntax
        {
            iframe.height = iframe.Document.body.scrollHeight;
        }
    }
    catch (err) {
    }
}

// Quiz slut

// Google Analytics

/**	This code will find links between forum.dk and sondagsavisen.dk and replace them with links that preserves GA cookies for tracking	*/

var forumdk= "forum.dk/";
var sondk= "sondagsavisen.dk/";
var sistersite = location.href.indexOf(forumdk) > -1 ? sondk : forumdk;

function interLinkStopEvent(event)
{
	if (!event) {
		if (window.event) {
			event = window.event;
		} else {
			return;
		}
	}
	if (event.cancelBubble !== null) {
		event.cancelBubble = true;
	}
	if (event.stopPropagation) {
		event.stopPropagation();
	}
	if (event.preventDefault) {
		event.preventDefault();
	}
	if (window.event) {
		event.returnValue = false;
	}
	if (event.cancel !== null) {
		event.cancel = true;
	}
}

function interLinkAddEvent(obj, evType, fn, useCapture){
	var ret=false;
	if(obj!==null){
		if(obj.addEventListener){
			obj.addEventListener(evType,fn,useCapture);
			ret=true;
		}
		else if(obj.attachEvent){
			obj.attachEvent('on'+evType,fn);
			ret=true;
		}
	}
	return ret;
}

function ErSosterSite(href) {
    if (sistersite == forumdk) {
        return (href.indexOf(sistersite) > -1);
    }
    var ErDotSA = href.indexOf("." + sistersite) > -1;
    if (ErDotSA) {
        return ((href.indexOf("://localhost." + sistersite) > -1) || (href.indexOf("://beta." + sistersite) > -1));
    }
    return ((href.indexOf(sistersite) > -1) && (href.indexOf("." + sistersite) == -1));
}

function find_evt_ydre_a_recursive(targ) {
    if (targ == null || targ.parentNode == null || targ.parentNode.tagName == null) {
        return null;
    }
    if (targ.parentNode.tagName.toUpperCase() == 'A') {
        return targ.parentNode;
    }
    return find_evt_ydre_a_recursive(targ.parentNode);
}

function find_evt_ydre_a(targ) {
    var ydreA = find_evt_ydre_a_recursive(targ);
    return ydreA == null ? targ : ydreA;
}

function interLinkPageTrack(event) {
    var targ;
    if (!event) {
        var event = window.event;
    }
    if (event.target) {
        targ = event.target;
        targ = find_evt_ydre_a(targ);
    }
    else if (event.srcElement) {
        targ = event.srcElement;
        targ = find_evt_ydre_a(targ);
    }
    if (targ.nodeType == 3) { // defeat Safari bug
        targ = targ.parentNode;
    }

    interLinkStopEvent(event);
    _gaq.push(['corp._link', targ.href, 1]);
}

function interLinkHandler() {
	var links = document.getElementsByTagName("a");
	for (var i = 0; i < links.length; i++)
	{
		var link = links[i];
		if (ErSosterSite(link.href)) {
		    interLinkAddEvent(link, 'click', interLinkPageTrack);
		}
	}
}

// Google Analytics slut

// infocenter start

var xmlhttp;

function state_Change() {
    if (xmlhttp.readyState == 4) {// 4 = "loaded"
        if (xmlhttp.status == 200) {// 200 = "OK"
            document.getElementById('infocenter').innerHTML = xmlhttp.responseText;
            interLinkHandler();
        }
    }
}

function GetUrlContent(url) {
    xmlhttp = null;
    if (window.XMLHttpRequest) {// code for IE7, Firefox, Opera, etc. 
        xmlhttp = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) {// code for IE6, IE5 
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    if (xmlhttp !== null) {
        xmlhttp.onreadystatechange = state_Change;
        xmlhttp.open("GET", url, true);
        xmlhttp.send(null);
    }
}

// infocenter slut
