var isDOM = (document.getElementById ? true : false);
var mac = navigator.appVersion.indexOf('Mac') != -1;
var ie = navigator.appName == "Microsoft Internet Explorer";
var cblOmsaetningsniveau; // bruges til søgning
var cblOmsaetningsniveauChilds; // bruges til søgning
var cblAntalAnsatte; // bruges til søgning
var cblAntalAnsatteChilds; // bruges til søgning

function toggleDisplay(id)
{
	document.getElementById(id).style.display = (document.getElementById(id).style.display == 'none') ? 'block' : 'none';
}

function HideElement(id)
{
	document.getElementById(id).style.display = "none"
}

function ShowElement(id)
{
	document.getElementById(id).style.display = "block"
}

function changeClass(id, newClassName) {
	if (isDOM) {
		if (document.getElementById(id)) {
			document.getElementById(id).className = newClassName;
		}
	}
	else {
		alert("Der er sket en fejl!");
	}
}

(function ($) {

    $.fn.toggler = function () {
        this.live('click', function (e) {
            e.preventDefault();
            var $orgThis = $(this),
                $id = $('#' + $orgThis.attr('href').substring(3));

            $id.slideToggle('normal', function () {
                if (!/^#!\//.test($orgThis.attr('href'))) {
                    return;
                }
                if ($id.is(":visible")) {
                    document.location.hash = $orgThis.attr('href');
                    $id.find(":text").first().focus();
                }
                else {
                    document.location.hash = "!/";
                }
            });
        });
        return this;
    };

})(jQuery);

jQuery(function($){
    $(".tooltip").tooltip({ 
        track: false, 
        delay: 0, 
        showURL: false, 
        showBody: ' - ',
        top: -50, 
        left: 5 
    });
});

jQuery(function ($) {
    $('a[href^="#!/"]').toggler();
    $('.js-printpage').live('click', function (e) {
        e.preventDefault();
        window.print();
    });

    if (/^#!\//.test(document.location.hash)) {
        $('#' + document.location.hash.substring(3)).slideToggle();
    }
});

function searchid() {
//alert('test');
//	var id = document.getElementById("txtLbNr").value;
//	theUrl = "/pages/findbyid.aspx?id=" + id;
//	openwin(theUrl, 'findbyid', 100, 100, 1, 0, 0);
}

function setUpSoegningSaelgere() {
	var element // for reuse
	if (cblOmsaetningsniveau) {
		for (var i = 0; i < cblOmsaetningsniveauChilds; i++) {
			element = document.getElementById(cblOmsaetningsniveau.id + "_" + i);
			element.onclick = function() { checkboxGroupClick(this, cblOmsaetningsniveau.id, cblOmsaetningsniveauChilds) } ;
		}
	}
	if (cblAntalAnsatte) {
		for (var i = 0; i < cblAntalAnsatteChilds; i++) {
			element = document.getElementById(cblAntalAnsatte.id + "_" + i);
			element.onclick = function() { checkboxGroupClick(this, cblAntalAnsatte.id, cblAntalAnsatteChilds) } ;
		}
	}
}

function checkboxGroupClick(clickedElement, groupID, groupChilds) {
	clickedElementIndex = parseInt(clickedElement.id.replace(groupID + "_", ""));
	var element;
	if (clickedElementIndex == 0 && clickedElement.checked)
	{
		for (var i = 0; i < groupChilds; i++) {
			element = document.getElementById(groupID + "_" + i);
			if (i != clickedElementIndex) {
				element.checked = false;
			}
		}
	}
	else if (clickedElement.checked) {
		element = document.getElementById(groupID + "_0");
		element.checked = false;
	}
}

function confirmDelete(profilID, profilType, returnUrl) {
	theUrl = "/Aktor/Profiler/Slet_Profil/?id=" + profilID + "&profilType=" + profilType + "&returnUrl=" + returnUrl;
	openwin(theUrl, 'confirmDelete', 500, 350, 1, 1, 0);
}

function vaelgDato(formFelt, fraDato, tilDato) {
	calenderUrl = "/Aktor/Kalender/Default.aspx";
	querystring = "SelectedDate=" + document.F[formFelt].value + "&formFelt=" + formFelt + "&fromDate=" + fraDato + "&toDate=" + tilDato;
	pageToLoad = calenderUrl + "?" + querystring;
	if ((isDOM) && (ie)) {
		openwin(pageToLoad, 'calender', 160, 160, 1, 0, 0, window.event.clientX + window.screenLeft, window.event.clientY + window.screenTop);
	}
	else {
		openwin(pageToLoad, 'calender', 160, 160, 1, 0, 0);
	}
}

function openwin(pageToLoad, winName, width, height, center, scrollbars, resizable, x, y){
	if(scrollbars != 1) {
    	scrollbars = 0;
	}
	if(resizable != 1) {
    	resizable = 0;
	}
	var toDO = "";
	xposition=0;
    yposition=0;
	
	if((parseInt(navigator.appVersion) >= 4 ) && (center)){
		xposition = (screen.width - width) / 2;
		yposition = (screen.height - height) / 2;
	}
	
	if (x > 0) {
		xposition = x;
	}
	if (y > 0) {
		yposition = y;
	}
	toDO += "width=" + width + ",";
	toDO += "height=" + height + ",";
	toDO += "screenx=" + xposition + ",";
	toDO += "screeny=" + yposition + ",";
	toDO += "left=" + xposition + ",";
	toDO += "top=" + yposition + ",";
	toDO += "scrollbars=" + scrollbars + ",";
	toDO += "resizable=" + resizable + ",";
	toDO += "location=0,menubar=0,status=0,titlebar=0,toolbar=0,hotkeys=0,directories=0";
	window.open(pageToLoad, winName, toDO);
}

// form validation start

function compareValidation(entered, enteredToCompare, dataType, operator, alertbox) {
	var value = entered.value;
	var valueToCompare = enteredToCompare.value;
	
	if (value == "" || valueToCompare == "") {
		return true;
	}
	
	if (dataType == "Integer") {
		value = parseInt(value);
		valueToCompare = parseInt(valueToCompare);
		
		if (operator == "Equal") {
			if (value == valueToCompare) {
				return true;
			}
		}
		else if (operator == "NotEqual") {
			if (value != valueToCompare) {
				return true;
			}
		}
		else if (operator == "GreaterThan") {
			if (value > valueToCompare) {
				return true;
			}
		}
		else if (operator == "GreaterThanEqual") {
			if (value >= valueToCompare) {
				return true;
			}
		}
		else if (operator == "LessThan") {
			if (value < valueToCompare) {
				return true;
			}
		}
		else if (operator == "LessThanEqual") {
			if (value <= valueToCompare) {
				return true;
			}
		}
		else {
			alert("operator ikke understøttet!");
			return false;
		}
		if (alertbox) {
			alert(alertbox);
		}
		return false;
	}
	else if (dataType == "String") {
		if (operator == "Equal") {
			if (value == valueToCompare) {
				return true;
			}
		}
		if (alertbox) {
			alert(alertbox);
		}
		return false;
	}
	else {
		alert("DataType ikke understøttet!");
		return false;
	}
}


function regExpValidation(entered, alertbox, expression) {
	var regX = new RegExp(expression);
	
	if(regX.test(entered.value)) 
	{
		alert("FEJL");
	}
	else
	{
		alert("OK");
	}
	return false;
}

function emailValidationNew(entered, alertbox) {
	with (entered) {
		if (value.length > 0) {
			apos = value.indexOf("@");
			dotpos = value.lastIndexOf(".");
			lastpos = value.length - 1;
			if (apos < 1 || dotpos - apos < 2 || lastpos - dotpos < 2) {
				if (alertbox) {
					alert(alertbox);
				}
				return false;
			}
			else {
				return true;
			}
		}
	}
	return true;
}

function emailValidation(entered, alertbox) {
	with (entered) {
		apos = value.indexOf("@");
		dotpos = value.lastIndexOf(".");
		lastpos = value.length - 1;
		if (apos < 1 || dotpos - apos < 2 || lastpos - dotpos < 2) {
			if (alertbox) {
				alert(alertbox);
			}
			return false;
		}
		else {
			return true;
		}
	}
}

function emptyValidation(entered, alertbox) {
	with (entered)
	{
		if (value == null || value == "") {
			if (alertbox != "") {
				alert(alertbox);
			}
			return false;
		}
		else {
			return true;
		}
	}
}

function passwordValidation(password, passwordRetype, alertbox) {
	if (password.value != passwordRetype.value) {
		if (alertbox != "") {
			alert(alertbox);
		}
		return false;
	}
	else {
		return true;
	}
}

function radiogroupValidation(entered, alertbox) {
	with (entered)
	{
		for (var i = 0; i < entered.length; i++) {
			if (entered[i].checked)
				return true;
		}
		if (alertbox != "") {
				alert(alertbox);
		}
		return false;
	}
}

function checkboxGroupValidationByArrIDs(arrIDs, alertbox) {
	for (var i = 0; i < arrIDs.length; i++) {
		domID = arrIDs[i];
		checkbox = document.getElementById(domID);
		if (checkbox.checked) {
			return true;
		}
	}
	alert(alertbox);
	return false;
}

function checkboxGroupValidation(arrNames, alertbox) {
	for (var i = 0; i < arrNames.length; i++) {
		if (document.F[arrNames[i]].checked) {
			return true;
		}
	}
	alert(alertbox);
	return false;
}

function checkboxGroupValidationMinValgtOgMaksValgt(formular, arrNames, min, maks, alertbox) {
	var antalValgte = 0;
	for (var i = 0; i < arrNames.length; i++) {
		if (formular[arrNames[i]].checked) {
			antalValgte++;
		}
	}
	if (antalValgte <= maks && antalValgte >= min) {
		return true;
	}
	alert(alertbox);
	return false;
}

function checkboxValidation(entered, alertbox) {
	if (entered.checked) {
		return true;
	}
	alert(alertbox);
	return false;
}

function dropdownboxValidation(entered, alertbox) {
	with (entered)
	{
		if (entered.options[entered.selectedIndex].value != "0") {
			return true;
		}
		if (alertbox != "") {
			alert(alertbox);
		}
		return false;
	}
}

function dropdownValidation(entered, alertbox) {
	with (entered)
	{
		if (entered.options[entered.selectedIndex].value != "") {
			return true;
		}
		if (alertbox != "") {
			alert(alertbox);
		}
		return false;
	}
}

function integerValidation(entered, alertbox) {
	if (entered.value.length > 0) {
		for (i = 0; i < entered.value.length; i++) {
			if ((entered.value.charAt(i) > "9") || (entered.value.charAt(i) < "0")) {
				alert(alertbox);
				return false;
			}
		}
	}
	return true;
}

function cprValidation(entered, alertbox) {
	if (entered.value == "") {
		return true
	}
	else if (entered.value.length == 10) {
		for (i = 0; i < entered.value.length; i++) {
			if ((entered.value.charAt(i) > "9") || (entered.value.charAt(i) < "0")) {
				alert(alertbox);
				return false;
			}
		}
	}
	else {
		alert(alertbox);
		return false
	}
	return true;
}

function urlValidation(entered, alertbox) {
	if (entered.value.length > 0) {
		dotpos	= entered.value.lastIndexOf(".");
		httppos	= entered.value.lastIndexOf("http://");
		httpspos	= entered.value.lastIndexOf("https://");
		lastpos	= entered.value.length - 1;
		if ( (lastpos - dotpos < 2) || (dotpos < 1) || ((httppos != 0 && httpspos != 0)) ) {
			if (alertbox) {
				alert(alertbox);
			}
			return false;
		}

	}
	return true;
}

function postnrValidation(entered, alertbox) {
	if (entered.value == "") {
		return true
	}
	else if (entered.value.length == 4) {
		for (i = 0; i < entered.value.length; i++) {
			if ((entered.value.charAt(i) > "9") || (entered.value.charAt(i) < "0")) {
				alert(alertbox);
				return false;
			}
		}
	}
	else {
		alert(alertbox);
		return false
	}
	return true;
}

function minMaxLengthValidation(entered, alertbox, minLength, maxLength) {
	if ((entered.value.length > maxLength) || (entered.value.length < minLength)) {
		alert(alertbox);
		return false;
	}
	return true;
}


function maxLengthValidation(entered, maxLength, alertbox) {
	if (entered.value.length > maxLength) {
		alert(alertbox);
		return false;
	}
	return true;
}

function cvrValidation(entered, alertbox) {
	if (entered.value == "") {
		return true
	}
	else if (entered.value.length == 8) {
		for (i = 0; i < entered.value.length; i++) {
			if ((entered.value.charAt(i) > "9") || (entered.value.charAt(i) < "0")) {
				alert(alertbox);
				return false;
			}
		}
	}
	else {
		alert(alertbox);
		return false
	}
	return true;
}

function dateValidationDDMMYYYY(entered, alertbox) {
	with (entered) {
		if (value != null && value != "") {
			if (checkValidDateDDMMYYYY(value) == false) {
				if (alertbox) {
					alert(alertbox);
				}
				return false;
			}
		}
	}
	return true;
}


function checkValidDateDDMMYYYY(dateStr) {
	var myRE = /\-/g;
	var dateSplitArray = dateStr.split(myRE);

	if (dateSplitArray.length != 3) return false;

	if (isNaN(dateSplitArray[2])) return false;
	if (isNaN(dateSplitArray[1])) return false;
	if (isNaN(dateSplitArray[0])) return false;
	
	
	var numDay   = parseInt(removeZero(dateSplitArray[0]));
	if ((numDay <= 0) || (numDay > 31)) return false;

	var numMonth = parseInt(removeZero(dateSplitArray[1]));
	if ((numMonth < 1) || (numMonth > 12)) return false;
	if ((numMonth == 2) && (numDay > 29)) return false;
	if (((numMonth == 4) || (numMonth == 6) || (numMonth == 9) || (numMonth == 11)) && (numDay > 30)) return false;
	if ((numMonth == 2) && (numDay == 29)) {
		if ((numYear % 4) != 0) return false;
		if (((numYear % 100) == 0) && ((numYear % 400) != 0)) return false;
	}

	var numYear  = parseInt(parseInt(dateSplitArray[2]));

	if ((numYear <= 0) || (numYear > 9999)) return false;
	if (numYear < 1000) return false;
	if (numYear < 50) {
		numYear = numYear + 2000;
	}
	else if (numYear < 100) {
		numYear = numYear + 1900
	}
	return true;
}

function removeZero(Str) {
	var i = 0;
	while (i < Str.length) {
		if (Str.indexOf(i) != "0") {
			return Str.substring(i,Str.length);
		}
	i++;
	}
}
// form validation slut

// select priortering
function moveOptionUp(selectBox) {
	sourceDropDownBox = document.getElementById(selectBox);
	selectedIndex = sourceDropDownBox.selectedIndex;
	if (selectedIndex > 0) {
		tmpText = sourceDropDownBox.options[selectedIndex].text;
		tmpValue = sourceDropDownBox.options[selectedIndex].value;
		sourceDropDownBox.options[selectedIndex].text = sourceDropDownBox.options[selectedIndex - 1].text;
		sourceDropDownBox.options[selectedIndex].value = sourceDropDownBox.options[selectedIndex - 1].value;
		sourceDropDownBox.options[selectedIndex - 1].text = tmpText;
		sourceDropDownBox.options[selectedIndex - 1].value = tmpValue;
		sourceDropDownBox.options[selectedIndex - 1].selected = true;
	}
}


function moveOptionDown(selectBox) {
	sourceDropDownBox = document.getElementById(selectBox);
	selectedIndex = sourceDropDownBox.selectedIndex;
	if (selectedIndex < sourceDropDownBox.length - 1) {
		tmpText = sourceDropDownBox.options[selectedIndex].text;
		tmpValue = sourceDropDownBox.options[selectedIndex].value;
		sourceDropDownBox.options[selectedIndex].text = sourceDropDownBox.options[selectedIndex + 1].text;
		sourceDropDownBox.options[selectedIndex].value = sourceDropDownBox.options[selectedIndex + 1].value;
		sourceDropDownBox.options[selectedIndex + 1].text = tmpText;
		sourceDropDownBox.options[selectedIndex + 1].value = tmpValue;
		sourceDropDownBox.options[selectedIndex + 1].selected = true;
		sourceDropDownBox.options[selectedIndex].selected = false;
	}
}


// dynamic print


function Clickheretoprint()
{ 
  var disp_setting="toolbar=yes,location=no,directories=yes,menubar=yes,"; 
      disp_setting+="scrollbars=yes,width=650, height=600, left=100, top=25"; 
  if (document.getElementById("print_content"))
  {
  
	var content_vlue = document.getElementById("print_content").innerHTML; 
	var docprint=window.open("","",disp_setting); 
	
	docprint.document.open();


	docprint.document.write('<html><head><script>function silentErrorHandler() {return true}	window.onerror=silentErrorHandler;</script><link href="/aktor/media/style.css" type="text/css" rel="stylesheet"><style>p { margin: 0 0 1em 0; }</style><title></title>'); 
	docprint.document.write('</head><body onLoad="window.print()" style="background-color:white">');          
	docprint.document.write(content_vlue);          
	
	docprint.document.write('</body></html>'); 
	docprint.document.close(); 
	docprint.focus(); 
   }
   else
   {
   
   // i tilfælde af at der ikke er defineret noget printområde printer den bare.
	window.print();
   }
   
}

function treeNodeClicked(sender, eventArgs) {
    var node = eventArgs.get_node();
    var tree = node.get_treeView();
    node.toggle();
    node.unselect();
    if (node.get_level() == 0 && tree.get_id() == "treeViewIndutries")
    {
        indutriesTreeNodeCollapsedExpanded(sender, eventArgs);
    }
}

function indutriesTreeNodeCollapsedExpanded(sender, eventArgs) {
    var node = eventArgs.get_node();
    if (node.get_level() == 0)
    {
        $(".industriesHelp").toggle(node.get_expanded());
    }
}
