var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-9039045-1']);
_gaq.push(['_trackPageview']);
_gaq.push(['_trackPageLoadTime']);

     var addthis_config = { 
        data_ga_property: 'UA-9039045-1', 
        data_ga_social : true 
     }; 

(function () {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

$().ready(function () {
    try {
        jQuery(".GoogleSiteSearch").autocomplete('http://www.holstebro.dk/Public/TagAutoSuggest/Default.aspx?areaId=1', { selectFirst: false });
    } catch (e) {
    }
    // STH: 2011-01-28 Add simple accordion (open/close) to class
    if (jQuery('.simpleAccordion').length > 0) {
        jQuery('.simpleAccordion').click(function () {
            jQuery(this).toggleClass('open');
        });
    }

    try {
        if (jQuery("#phonebookSearchQueryFrontpage").length > 0) {
            jQuery("#phonebookSearchQueryFrontpage").autocomplete('http://www.holstebro.dk/Public/AjaxGetAccessUsers.aspx', { selectFirst: false });
        }
        if (jQuery("#phonebookSearchQuery").length > 0) {
            jQuery("#phonebookSearchQuery").autocomplete('http://www.holstebro.dk/Public/AjaxGetAccessUsers.aspx', { selectFirst: false });
        }
    }
    catch (e) { }



});








var iCurrentSelectBox, $SelectBoxes;
$(document).ready(function () {
    // when document loaded
try {

    $SelectBoxes = $('#phonebookSearch div select');
    if ($SelectBoxes != null) {
        $SelectBoxes.not(':last').each(function (i) {
            $(this).change(function (e) {
                changeOption($(this), i)
                /*
                $this = $(this);
                var sURL = '/public/AccessUserPhoneBookFilters.aspx';
                var sTarget = $this.attr('name');
                var sLookupValue = $this.attr('value');
                var sData = 'target=' + sTarget + '&lookupValue=' + sLookupValue;
                var selectTarget = $SelectBoxes.get(i + 1);
                iCurrentSelectBox = i;
                $('#url').html(sURL + '?' + sData);

                $.ajax({
                type: "GET",
                url: sURL,
                data: sData,
                cache: false,
                async: false,
                processData: false,
                error: function(XMLHttpRequest, textStatus, errorThrown) {
                alert('DER OPSTOD EN FEJL I FORBINDELSE MED OPSLAG:' + '\nFEJL: "' + errorThrown + '"\nSTATUS: "' + textStatus + '"' + '\n\nTARGET=' + sTarget + '\nLOOKUPVALUE=' + sLookupValue);
                },
                success: function(sResponse) {
                for (var a = (iCurrentSelectBox + 1); a < $SelectBoxes.length; a++) {
                removeAllOptions($SelectBoxes[a]);
                }

                var aOptions = getOptions(sResponse);
                var oTargetOptions = $SelectBoxes[iCurrentSelectBox+1].options;
                for (var i = 0; i < aOptions.length; i++) {
                oTargetOptions.add(aOptions[i]);
                }
              
                if (oTargetOptions.length == 2) {
                oTargetOptions.remove(oTargetOptions[0]);
                }
              
                $($SelectBoxes[iCurrentSelectBox+1]).stop().fadeTo('fast', 1);
                }
                });
                */
            });
        })
    }
    //getOptions();
    $('#actionButton').click(getOptions);

    /* STH: 2009-05-13: set valgte v?rdier fra sidste s?gning */
            setSelectedOptionFromElementValue('phonebookSearchAccessUserGroups', 'request_accessusercompany', 0, function (bSuccess) {
            if (bSuccess) {
                setSelectedOptionFromElementValue('phonebookSearchAccessUserDepartment', 'request_accessuserdepartment', 1, function (bSuccess) {
                    if (bSuccess) {
                        setSelectedOptionFromElementValue('phonebookSearchAccessUserBusinesses', 'request_accessuserbusiness', 2, function (bSuccess) {
                        });
                    }
                });
            };
        });
    } catch (e) {
    }
});


function changeOption(sSelectboxID, iCurrentSelectBox) {
    $this = (typeof sSelectboxID == 'string') ? $('#' + sSelectboxID) : sSelectboxID;
    var sURL = '/public/AccessUserPhoneBookFilters.aspx';
    var sTarget = $this.attr('name');
    /* STH: 2009-09-01: ?ndring s? alle v?rdier sendes hver gang */
    /* OLD: 
    var sLookupValue = $this.attr('value');
    var sData = 'target=' + sTarget + '&lookupValue=' + encodeURI(sLookupValue);
    */
    var oParams = { 'target': sTarget, 'company': '', 'department': '', 'business': '' };
    oParams.company = encodeURI($('#phonebookSearchAccessUserGroups').attr('value'));
    oParams.department = encodeURI($('#phonebookSearchAccessUserDepartment').attr('value'));
    oParams.business = '';
    sData = $.param(oParams);
    var sLookupValue = sData;
    //alert(encodeURI(sLookupValue));
    var selectTarget = $SelectBoxes.get(iCurrentSelectBox + 1);
    alert(iCurrentSelectBox);
    $('#url').html(sURL + '?' + sData);
    $.ajax({
        type: "GET",
        url: sURL,
        data: sData,
        cache: false,
        async: false,
        processData: false,
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            alert('DER OPSTOD EN FEJL I FORBINDELSE MED OPSLAG:' + '\nFEJL: "' + errorThrown + '"\nSTATUS: "' + textStatus + '"' + '\n\nTARGET=' + sTarget + '\nLOOKUPVALUE=' + sLookupValue);
        },
        success: function (sResponse) {
            try {
                for (var a = (iCurrentSelectBox + 1); a < $SelectBoxes.length; a++) {
                    removeAllOptions($SelectBoxes[a]);
                }

                var aOptions = getOptions(sResponse);
                var oTargetOptions = $SelectBoxes[iCurrentSelectBox + 1].options;
                for (var i = 0; i < aOptions.length; i++) {
                    oTargetOptions.add(aOptions[i]);
                }

                //if (oTargetOptions.length == 2) {
                //  oTargetOptions.remove(oTargetOptions[0]);
                //}

                $($SelectBoxes[iCurrentSelectBox + 1]).stop().fadeTo('fast', 1);
            } catch (e) {
                alert('Der opstod i success: ' + e.message);
            }
        }
    })
}


function setSelectedOptionFromElementValue(sSelectboxID, sElementId, iCurrentSelectBox, fCallbackIfSelected) {
    var sOptionValue = $.trim($('#' + sElementId).attr('value'));
    var bCallback = (typeof fCallbackIfSelected != 'undefined');
    var bSuccess = false;
    if (sOptionValue.length != 0) {
        bSuccess = setSelectedOption(sSelectboxID, sOptionValue);
        if (bSuccess) {
            changeOption(sSelectboxID, iCurrentSelectBox);
        }
    };
    if (bCallback) fCallbackIfSelected.call(this, bSuccess);
}

function setSelectedOption(sSelectboxID, sOptionValue) {
    var oOption = $('#' + sSelectboxID + ' option[value="' + sOptionValue + '"]');
    if (oOption) {
        oOption.attr('selected', 'selected')
        return true
    } else {
        return false;
    }
}


function getOptions(sResponse) {
    var options = [];
    var iCurrent = 0;
    try {
        var aTekster = (sResponse) ? sResponse : $('#response').val();
        aTekster = aTekster.split('\n');
        $.each(aTekster, function (i) {
            var sValue = ($.trim(this) + '').replace('\n', '');
            if (sValue > '') {
                options[options.length] = new Option(sValue, sValue);
            }
        });
        if (options.length == 2) {
            removeItem(options, options[0]);
        }
    } catch (e) {
    }
    return options

}

//function removeAllOptions(selectBox) {
//    $(selectBox).stop().fadeTo('fast', 0.33);
//    var oOptions = selectBox.options;
//    var iOptions = oOptions.length;
//    try {
//        for (var i = 0; i < iOptions; i++) {
//            oOptions[i].remove(oOptions[0]);
//        };
//    } catch (e) {

//    }

//    oOptions.add(new Option('Alle', ''));
//}

function removeAllOptions(selectbox) {
    $(selectbox).stop().fadeTo('fast', 0.33);
    var i;
    for (i = selectbox.options.length - 1; i >= 0; i--) {
        selectbox.remove(i);
    }
}

//remove item (string or number) from an array
function removeItem(originalArray, itemToRemove) {
    var j = 0;
    while (j < originalArray.length) {
        if (originalArray[j] == itemToRemove) {
            originalArray.splice(j, 1);
        } else {
            j++;
        }
    }
}

var bAlert = false;
function alert(sText) {
    var sError = (typeof sText != 'undefined') ? sText : '';
    if (bAlert) {
        bAlert = confirm(sError);
    } else {
        window.status = sError;
    }
}


