function setFocus(id) {
    var element = document.getElementById(id);
    if (element && element.focus) {
        element.focus();
    }
}

function secureEffilationImageAction(imageId) {

    var loginForm = document.getElementById(imageId);

    var originalAction = loginForm.src;
    var lookUpForProtocol = document.location.href;

    var lookupActionSplitProtocolArray = lookUpForProtocol.split("://");
    var lookupActionProtocol = lookupActionSplitProtocolArray[0];

    var newProtocol = "";

    if (lookupActionProtocol == "https") {
        newProtocol = "https";
    } else if (lookupActionProtocol == "http") {
        newProtocol = "http";
    } else {
        alert("cannot secure protocol: " + lookupActionProtocol);
        return; //should never happen (we have a protocol but its not 'https' and not 'http')
    }

    var originalActionSplitProtocolArray = originalAction.split("://");
    var originalActionProtocol = originalActionSplitProtocolArray[0];
    var secureAction;
    secureAction = newProtocol + "://" + originalActionSplitProtocolArray[1];
    loginForm.src = secureAction;
}

function secureFormAction(formId) {
    var loginForm = document.getElementById(formId);

    var originalAction = loginForm.action;

    var originalActionSplitProtocolArray = originalAction.split("://");
    var originalActionProtocol = originalActionSplitProtocolArray[0];

    if (originalActionProtocol != originalAction) {
        //there is a protocol in originalAction so test if it is https
        if (originalActionProtocol == "https") {
            return; //do nothing here - the original action is already https
        }
        else {
            if (originalActionProtocol == "http") {
                var originalActionSplitHostAndPortArray = originalActionSplitProtocolArray[1].split("/");
                var originalActionSplitHostAndPort = originalActionSplitHostAndPortArray[0];

                var originalActionSplitUrlWithoutProtocolAndHostArray = originalActionSplitProtocolArray[1].split(originalActionSplitHostAndPort);
                originalAction = originalActionSplitUrlWithoutProtocolAndHostArray[1];
            }
            else {
                alert("cannot secure protocol: " + originalActionProtocol);
                return; //should never happen (we have a protocol but its not 'https' and not 'http')
            }
        }
    }
    var originalPort = window.location.port;
    var securePort = "";
    if (originalPort != null) {
        if (originalPort == 9001) {
            securePort = ":9002";
        }
    }
    var secureAction;
    secureAction = "https://" + window.location.hostname + securePort + originalAction;
    loginForm.action = secureAction;
}

function secureLoginLink(loginLinkId) {

    var loginLink = document.getElementById(loginLinkId);

    var originalLink = loginLink.href;
    var originalLinkSplitProtocolArray = originalLink.split("://");
    var originalLinkProtocol = originalLinkSplitProtocolArray[0];

    if (originalLinkProtocol != originalLink) {
        //there is a protocol in originalAction so test if it is https
        if (originalLinkProtocol == "https") {
            return; //do nothing here - the original action is already https
        }
        else {
            if (originalLinkProtocol == "http") {
                var originalLinkSplitHostAndPortArray = originalLinkSplitProtocolArray[1].split("/");
                var originalLinkSplitHostAndPort = originalLinkSplitHostAndPortArray[0];

                var originalLinkSplitUrlWithoutProtocolAndHostArray = originalLinkSplitProtocolArray[1].split(originalLinkSplitHostAndPort);
                originalLink = originalLinkSplitUrlWithoutProtocolAndHostArray[1];
            }
            else {
                alert("cannot secure protocol: " + originalLinkProtocol);
                return; //should never happen (we have a protocol but its not 'https' and not 'http')
            }
        }
    }
    var originalPort = window.location.port;
    var securePort = "";
    if (originalPort != null) {
        if (originalPort == 9001) {
            securePort = ":9002";
        }
    }
    var secureLink;
    secureLink = "https://" + window.location.hostname + securePort + originalLink;
    loginLink.href = secureLink;
}


function unSecureLinkAction(formId) {

    var logoutLink = document.getElementById(formId);

    var originalLink = logoutLink.href;
    var originalLinkSplitProtocolArray = originalLink.split("://");
    var originalLinkProtocol = originalLinkSplitProtocolArray[0];

    if (originalLinkProtocol != originalLink) {
        //there is a protocol in originalLinkProtocol so test if it is http
        if (originalLinkProtocol == "http") {
            return; //do nothing here - the original action is already http
        }
        else {
            if (originalLinkProtocol == "https") {
                var originalLinkSplitHostAndPortArray = originalLinkSplitProtocolArray[1].split("/");
                var originalLinkSplitHostAndPort = originalLinkSplitHostAndPortArray[0];

                var originalLinkSplitUrlWithoutProtocolAndHostArray = originalLinkSplitProtocolArray[1].split(originalLinkSplitHostAndPort);
                originalLink = originalLinkSplitUrlWithoutProtocolAndHostArray[1];
            }
            else {
                alert("cannot unsecure protocol: " + originalLinkProtocol);
                return; //should never happen (we have a protocol but its not 'http' and not 'https')
            }
        }
    }
    var originalPort = window.location.port;
    var unSecurePort = "";
    if (originalPort != null) {
        if (originalPort == 9002) {
            unSecurePort = ":9001";
        }
    }
    var unSecureLink;
    unSecureLink = "http://" + window.location.hostname + unSecurePort + originalLink;
    logoutLink.href = unSecureLink;
}


function setFocusForFirstEmptyInputField() {
    try {
        var selectedInputFields;
        selectedInputFields = jQuery("#customerid");
        if ((selectedInputFields[0]).value == "") {
            (selectedInputFields[0]).focus();
            return;
        }
        selectedInputFields = jQuery("#login");
        if ((selectedInputFields[0]).value == "") {
            (selectedInputFields[0]).focus();
            return;
        }
        selectedInputFields = jQuery("#password");
        if ((selectedInputFields[0]).value == "") {
            (selectedInputFields[0]).focus();
        }
    } catch (e) {
    }
}


//this is for preventing paste on an input field e.g. email in newregistration.xhtml
function addOnPasteRemover(inputtag) {
    inputtag.onpaste = suppressPaste;
}

function suppressPaste() {
    return false;
}

/* printing pages*/
function printit() {
    if (window.print) {
        window.print();
    } else {
        var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH="0" HEIGHT="0" CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
        document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
        WebBrowser1.ExecWB(6, 2);//Use a 1 vs. a 2 for a prompting dialog box    WebBrowser1.outerHTML = "";
    }
}

/* JS Functions for Quick Entry */
var quickEntryId = "";

function quickEntrySaveId(value) {
    quickEntryId = "inputField" + value;
}

function quickEntryRefocus() {
    if (quickEntryId != '') {
        document.getElementById(quickEntryId).focus();
        document.getElementById(quickEntryId).focus();
    }
    quickEntryId = "";
}

function checkInputFields() {
    {
        if (jQuery("#inputField1").val() == '') {
            jQuery("#inputField3").addClass('invisible');
            jQuery("#inputField4").addClass('invisible');
            jQuery("#inputField5").addClass('invisible');
        } else if (jQuery("#inputField2").val() == '') {
            jQuery("#inputField3").removeClass('invisible');
            jQuery("#inputField4").addClass('invisible');
            jQuery("#inputField5").addClass('invisible');
        } else if (jQuery("#inputField3").val() == '') {
            jQuery("#inputField3").removeClass('invisible');
            jQuery("#inputField4").removeClass('invisible');
            jQuery("#inputField5").addClass('invisible');
        } else {
            jQuery("#inputField4").removeClass('invisible');
            jQuery("#inputField5").removeClass('invisible');
        }
        if (jQuery("#inputField3").val() != '') {
            jQuery("#inputField3").removeClass('invisible');
        }
        if (jQuery("#inputField4").val() != '') {
            jQuery("#inputField4").removeClass('invisible');
        }
        if (jQuery("#inputField5").val() != '') {
            jQuery("#inputField5").removeClass('invisible');
        }
    }

}

/* JS functions for gift carousel */
var giftActualCount = 0;
function giftCountUp(giftMaxValue) {
    if (giftActualCount == giftMaxValue - 1) {
        giftActualCount = 0;
    } else {
        giftActualCount = giftActualCount + 1;
    }
}
function giftCountDown(giftMaxValue) {
    if (giftActualCount == 0) {
        giftActualCount = giftMaxValue - 1;
    } else {
        giftActualCount = giftActualCount - 1;
    }
}

function httpsSecuredSites() {
    var pathname = window.location.pathname;
    var hostname = window.location.hostname;
    var oldURL = hostname + pathname;

    if (window.location.protocol == "http:") {
        if (hostname.indexOf("localhost") >= 0) {
            oldURL = window.location.hostname + ":9002" + pathname;
        }
        if (checkSiteToSecure(pathname)) {
            window.location = "https://" + oldURL;
        }
    }
}

function checkSiteToSecure(pathname) {
    var sitelist = new Array("newsletter", "cartstep3anon", "cartstep4anon");
    for (var i = 0; i < sitelist.length; i++) {
        if (pathname.indexOf(sitelist[i]) >= 0) {
            return true;
        }
    }
    return false;
}


function isLogoOk(id) {
    var image = document.getElementById(id);    
    if ( image == null ) {
        return false;
    }
    var actualImagePath = image.src;
    var startPath = actualImagePath.split("img_logo");
    var defaultImagePath;
    if ( startPath.length > 0 ) {
        defaultImagePath = startPath[0] + "img_logo.gif";
    }
    if (!image.complete) {
        image.src= defaultImagePath;
        return false;
    }
    if (typeof image.naturalWidth != "undefined" && image.naturalWidth == 0) {        
        image.src= defaultImagePath;
        return false;
    }
    return true;
}

function clearAfterSalesFields() {


    var f = document.getElementsByTagName('input');
    for(var i=0;i<f.length;i++){
        if(f[i] != null && f[i].getAttribute('type')=='text'){            
            f[i].value='';
        }
    }
    
    var input = document.getElementById('defect_message');
    input.value='';
    input = document.getElementById('selectDefectDescription');
    input.value='aftersales.select.empty';
    input = document.getElementById('repairTo');
    input.value='aftersales.select.empty';
    input = document.getElementById('termsCheckBox');
    input.value=false;
}

