/// <reference path="C:\clixmaster\tools\IntelliSense\jqClix.intellisense.js" />

function isFireFox() {
    var d, moz, n, nua;
    d = document;
    n = navigator;
    nua = n.userAgent;
    if (!d.layers) {
        konq = (nua.indexOf('Konqueror') != -1);
        saf = (nua.indexOf('Safari') != -1);
        moz = (nua.indexOf('Gecko') != -1 && !saf && !konq);
    }
    return moz;
}

function limitText(limitField, limitNum) {

    if (isFireFox()) {
        if (limitField.value.length > limitNum - 2) {
            limitField.value = limitField.value.substr(0, limitNum);
            return true;
        }
        else
            return true;
    }
    else {
        var selection = document.selection.createRange().text;
        if (selection.length <= 0 && limitField.value.length > limitNum - 1) {
            return false;
        }
        else
            return true;
    }
}

var compazRequest;
var currentTarget;

function loadMediumOrCompany(sender, company, category, mediumActive, mediumNonActive, mediumtype, querytype) {
   
    company = jqClix('#' + company);
    category = jqClix('#' + category);
    mediumActive = jqClix('#' + mediumActive);
    mediumNonActive = jqClix('#' + mediumNonActive);

    if (sender.value == 'Company') {
        company.show().html('');
        category.hide();
        jqClix.ajax({
            url: compazServiceURL + '/GetCompanies?mediumType=' + mediumtype + '&querytype=' + querytype,
            success: function(doc, obj) {
                var vals = doc.getElementsByTagName('HoiDisplayObject');
                for (var i = 0; i < vals.length; i++) {
                    var idElement = vals[i].getElementsByTagName('ID')[0];
                    var nameElement = vals[i].getElementsByTagName('Name')[0];
                    var optionId = (typeof (idElement.text) != 'undefined') ? idElement.text : idElement.textContent;
                    var optionText = (typeof (nameElement.text) != 'undefined') ? nameElement.text : nameElement.textContent;
                    company.append(jqClix('<option />').attr('value', optionId).text(optionText));
                }
                company.scrollTop = 0;
            }
        });
    } else
        if (sender.value == 'MediumCategory') {
        category.show().html('');
        company.hide();
        jqClix.ajax({
            url: compazServiceURL + '/GetMediumCategories?mediumType=' + mediumtype + '&querytype=' + querytype,
            success: function(doc, obj) {
                var vals = doc.getElementsByTagName('HoiDisplayObject');
                category.html('');
                for (var i = 0; i < vals.length; i++) {
                    var idElement = vals[i].getElementsByTagName('ID')[0];
                    var nameElement = vals[i].getElementsByTagName('Name')[0];
                    var optionId = (typeof (idElement.text) != 'undefined') ? idElement.text : idElement.textContent;
                    var optionText = (typeof (nameElement.text) != 'undefined') ? nameElement.text : nameElement.textContent;
                    category.append(jqClix('<option />').attr('value', optionId).text(optionText));
                }
                category.scrollTop = 0;
            }
        });
    }
    else {
        if (sender.value == 'Medium') {
            category.hide();
            company.hide();
        }
        jqClix.ajax({
            url: compazServiceURL + '/GetMedium?producer=' + sender.value + '&mediumType=' + mediumtype + '&querytype=' + querytype,
            success: function(doc, obj) {
                var vals = doc.getElementsByTagName('HoiDisplayObject');
                mediumActive.html('');
                mediumNonActive.html('');
                for (var i = 0; i < vals.length; i++) {
                    var idElement = vals[i].getElementsByTagName('ID')[0];
                    var nameElement = vals[i].getElementsByTagName('Name')[0];
                    //var activeElement = vals[i].getElementsByTagName('Active')[0];
                    var optionId = (typeof (idElement.text) != 'undefined') ? idElement.text : idElement.textContent;
                    var optionText = (typeof (nameElement.text) != 'undefined') ? nameElement.text : nameElement.textContent;
                    if (jqClix('Active', vals[i]).text() == 'true')
                        mediumActive.append(jqClix('<option />').attr('value', optionId + '-1').text(optionText));
                    else
                        mediumNonActive.append(jqClix('<option />').attr('value', optionId + '-0').text(optionText));
                }
                mediumActive.scrollTop = 0;
            }
        });
    }
}

function loadMediumByMediumCategory(sender, company, category, mediumActive, mediumNonActive, querytype) {

    company = jqClix('#' + company);
    category = jqClix('#' + category);
    mediumActive = jqClix('#' + mediumActive);
    mediumNonActive = jqClix('#' + mediumNonActive);

    jqClix.ajax({
        url: compazServiceURL + '/GetMediumByMediumCategory?mediumCategory=' + sender.value + '&querytype=' + querytype,
        success: function(doc, obj) {
            var vals = doc.getElementsByTagName('HoiDisplayObject');
            mediumActive.html('');
            for (var i = 0; i < vals.length; i++) {
                var idElement = vals[i].getElementsByTagName('ID')[0];
                var nameElement = vals[i].getElementsByTagName('Name')[0];
                //var activeElement = vals[i].getElementsByTagName('Active')[0];
                var optionId = (typeof (idElement.text) != 'undefined') ? idElement.text : idElement.textContent;
                var optionText = (typeof (nameElement.text) != 'undefined') ? nameElement.text : nameElement.textContent;
                if (jqClix('Active', vals[i]).text() == 'true')
                    mediumActive.append(jqClix('<option />').attr('value', optionId + ',1').text(optionText));
                else
                    mediumNonActive.append(jqClix('<option />').attr('value', optionId + ',0').text(optionText));
            }
            mediumActive.scrollTop = 0;
        }
    });

}

function actieveButton() {
    debugger;
}

function inactieveButton() {
    debugger
}

////////////////////////////////// DUALLIST
function compareOptionValues(a, b) {

    // Radix 10: for numeric values
    // Radix 36: for alphanumeric values

    var sA = parseInt(a.value, 36);
    var sB = parseInt(b.value, 36);
    return sA - sB;
}

// Compare two options within a list by TEXT
function compareOptionText(a, b) {

    // Radix 10: for numeric values
    // Radix 36: for alphanumeric values

    var sA = parseInt(a.text, 36);
    var sB = parseInt(b.text, 36);
    return sA - sB;
}

// Dual list move function
function moveDualList(srcList, destList, moveAll) {
    // Do nothing if nothing is selected
    if ((srcList.selectedIndex == -1) && (moveAll == false)) {
        return;
    }

    newDestList = new Array(destList.options.length);

    var len = 0;
    for (len = 0; len < destList.options.length; len++) {
        if (destList.options[len] != null) {
            newDestList[len] = new Option(destList.options[len].text, destList.options[len].value, destList.options[len].defaultSelected, destList.options[len].selected);
        }
    }

    for (var i = 0; i < srcList.options.length; i++) {
        if (srcList.options[i] != null && (srcList.options[i].selected == true || moveAll)) {
            // Statements to perform if option is selected
            // Incorporate into new list
            newDestList[len] = new Option(srcList.options[i].text, srcList.options[i].value, srcList.options[i].defaultSelected, srcList.options[i].selected);
            len++;
        }
    }

    // Sort out the new destination list
    newDestList.sort(compareOptionValues);   // BY VALUES
    //newDestList.sort( compareOptionText );   // BY TEXT
    // Populate the destination with the items from the new array
    for (var j = 0; j < newDestList.length; j++) {
        if (newDestList[j] != null) {
            destList.options[j] = newDestList[j];
        }
    }
    // Erase source list selected elements
    for (var i = srcList.options.length - 1; i >= 0; i--) {
        if (srcList.options[i] != null && (srcList.options[i].selected == true || moveAll)) {
            // Erase Source
            //srcList.options[i].value = "";
            //srcList.options[i].text  = "";
            srcList.options[i] = null;
        }
    }
}

// End of moveDualList()

function stopRKey(evt) {
    var evt = (evt) ? evt : ((event) ? event : null);
    var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
    if ((evt.keyCode == 13) && (node.type == "text")) { return false; }
}

