﻿var func;

function startUpSearch(keyButtonId, searchFieldId) {
    var _button = document.getElementById(keyButtonId);
    var _searchField = document.getElementById(searchFieldId);

    if (_button != null && _searchField != null) {
        registerEvent(_button, 'click', function() { searchButtonGo(_button, _searchField); }, false);
        registerEvent(_searchField, 'blur', function() { searchField_Reset(_searchField,_button); }, false);
        registerEvent(_searchField, 'focus', function() { searchField_Clear(_searchField); }, false);
//        if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { registerEvent(_searchField, 'keypress', function(e) { searchField_Key(_searchField, e); }, false); }
//        else {
        registerEvent(_searchField, 'keydown', function(e) { searchField_Key(_searchField, _button, e) }, false);
//        registerEvent(document.forms[0], 'submit', function(e) { if (searchField_FormSubmit(_button,e)) { return false; } }, false); 
//        }
    }
}

function registerEvent(obj, evt, func, bubble) {
    if (typeof obj.attachEvent != "undefined")
    { obj.attachEvent('on' + evt, func); }
    else { obj.addEventListener(evt, func, bubble); }
}

function searchField_Key(obj, button, e) {
    var _evtKey = e.which ? e.which : e.keyCode;
    if (_evtKey != null && _evtKey === 13 && trim(obj.value) != '' && obj.value != 'Search Brand eg Kérastase') {
        searchWriteUrl(button, obj);
        window.location.href = button.href;
        return false;
        }
    return true;
}

function searchField_Reset(obj,button)
{ if (obj != null && trim(obj.value) === '') { obj.value = 'Search Brand eg Kérastase';button.href = ''; } }

function searchField_Clear(obj)
{ if (obj != null && obj.value === 'Search Brand eg Kérastase') { obj.value = ''; } }

function searchField_FormSubmit(button,e) {if (button.href.length > 0) { window.location.href = button.href;e.cancelBubble = true;return true;} else { return false; } }

function searchWriteUrl(button, fld) {
    if (button != null && fld != null) {
        if (fld.value != 'Search Brand eg Kérastase' && trim(fld.value) != '') {
            button.href = '/search.aspx?keywords=' + URLEncode(trim(fld.value));
        }
        else { button.href = ''; return false; }
    } else { return false; }
}

function searchButtonGo(btn, fld) {
    return searchWriteUrl(btn, fld);
}

function getHostAddress() {
    var _currentUrl = window.location.href ? window.location.href : window.location;
    return _currentUrl.toString().substr(0,_currentUrl.toString().indexOf('/',8))
}

function trim(value) { 
    return value.replace(/^[\s\xA0]+/g,"").replace(/[\s\xA0]+$/g,"");
}

function URLEncode(value) {
    var returnValue = '';
    var i = 0;
    value = value.toString();
    var regEx = /(^[a-zA-Z0-9_.]*)/;
    while (i < value.length) {
        var match = regEx.exec(value.substr(i, value.length - i));
        if (match != null && match.length > 1 && match[1] != '') { returnValue += match[1]; i += match[1].length; }
        else {
            if (value[i] == ' ') { returnValue += '+'; }
            else {
                var charCode = value.charCodeAt(i);
                var hexVal = charCode.toString(16);
                returnValue += '%' + (hexVal.length < 2 ? '0' : '') + hexVal.toUpperCase();
            }
            i++;
        }
    }
    return returnValue;
}