﻿var fadeDelay = 300;
var nextSetDelay = 15000;
var msgIdx = -1;
var fadeElem;
var msgArray;

function fadeMsg(theMsgArray) {
        msgArray = theMsgArray;
    if (msgIdx == -1) msgIdx = 1;
    else {
        if (msgIdx == msgArray.length) msgIdx = 0;
        fadeElem = document.getElementById('fadeElemId');
        $("#fadeElemId").fadeOut(fadeDelay, function() {fadeElem.innerHTML = msgArray[msgIdx]; msgIdx++; $("#fadeElemId").fadeIn(fadeDelay); });
    }
    setTimeout('fadeMsg(msgArray)', nextSetDelay);
}


//RETURN ELEMENT AS OBJECT
function rtObj(control) {
    if (typeof(control) == 'string') return document.getElementById(control);
    else return control;
}

document.getElementsByClassName = function(cl) {
    var retnode = [];
    var myclass = new RegExp('\\b'+cl+'\\b');
    var elem = this.getElementsByTagName('*');
    for (var i = 0; i < elem.length; i++) {
    var classes = elem[i].className;
    if (myclass.test(classes)) retnode.push(elem[i]);
    }
    return retnode;
};

function openWindow(url, width, height, sizeable, name) {
    if (sizeable) sizeable = ',resizable,scrollbars'
    else sizeable = '';
    if (!name) name = '_blank';
    var openWin = window.open(url, name, 'width=' + width + ',height=' + height + ',screenX=' + ((screen.availWidth - width) / 2) + ',left=' + ((screen.availWidth - width) / 2) + ',screenY=' + ((screen.availHeight - height) / 2) + ',top=' + ((screen.availHeight - height) / 2) + sizeable);
    openWin.focus();
    return openWin;
}
function ProductFilter_Show(id) {
    if (id != ProductFilter_Current) {

        var oldFilter = document.getElementById(ProductFilter_Current);
        var newFilter = document.getElementById(id);

        oldFilter.style.display = 'none';
        newFilter.style.display = '';
        ProductFilter_Current = id;
    }
}
function toggleDisplay(elem) {
    elem = rtObj(elem);
    if (elem.style.display == 'none') elem.style.display = '';
    else elem.style.display = 'none';
}

function isValidDate(testDate) {
    var pattern = /^(\d{1,2})(\/)(\d{1,2})(\/)(\d{2}|\d{4})$/;
    if (!pattern.test(testDate)) return false;

    var dateArray = testDate.split(/\//g);

    var day, month, year;
    day = dateArray[0];
    month = dateArray[1];
    year = dateArray[2];

    if (month < 1 || month > 12) return false;
    if (day < 1 || day > 31) return false;
    if ((month == 4 || month == 6 || month == 9 || month == 11) && day == 31) return false;

    if (month == 2) { // check for february 29th
        var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
        if (day > 29 || (day == 29 && !isleap)) return false;
    }

    return true;
}

function focusText(element, str) {
    element = rtObj(element);
    if (element.value.toLowerCase() == str.toLowerCase() && element.style.color != '#000') { element.value = ''; element.style.color = '#000'; }
    else if (trim(element.value) == '') { element.value = str; element.style.color = '#aaa'; }
    else { element.style.color = '#000'; }
}
    
function showElement(element, show){
    element = rtObj(element);
    if(element != null) {
    if (show || show == null) {element.style.display = '';}
    else if(element) element.style.display = 'none'; }
}
function trim(str){
     s = str.replace(/^(\s)*/, '');
     s = s.replace(/(\s)*$/, '');
     return s;
}
var PreloadImage_newImage, PreloadImage_imageList, PreloadImage_count, PreloadImage_interval;
var PreloadImage_count = 0;
var imageList = new Array();
PreloadImage_imageList = new Array();

function addPreloadImage(url) {
    PreloadImage_imageList[PreloadImage_imageList.length] = url;
}

function startPreloading() {
    if (PreloadImage_imageList.length != 0) {
        PreloadImage_newImage = new Image;
        PreloadImage_newImage.src = PreloadImage_imageList[0];
        PreloadImage_interval = setInterval('preloadCheck()', 1000);
    }
}

function preloadCheck() {
    if (PreloadImage_newImage.complete) {
        PreloadImage_count += 1;
        if (PreloadImage_count < PreloadImage_imageList.length) {
            PreloadImage_newImage.src = PreloadImage_imageList[PreloadImage_count];
            clearInterval(PreloadImage_interval);
            PreloadImage_interval = setInterval('preloadCheck()', 1000);
        }
        else {
            clearInterval(PreloadImage_interval);
        }
    }
}

function isNumeric(text, aboveZero, integer) {
   
    var validChars = '0123456789';
    if (!integer) validChars += '.,';
    var isNumber = true;
    var thisChar;
    var pointCount = 0;
    var afterPoint = 0;

    if (!text || text == '') isNumber = false;
    else {
        for (i = 0; i < text.length && isNumber == true; i++) {
            thisChar = text.charAt(i);
            if (thisChar == '.' || thisChar == ',') pointCount++
            else if (pointCount>0) afterPoint += 1;
            if (validChars.indexOf(thisChar) == -1) isNumber = false;
        }
        if (pointCount > 1 || afterPoint > 3) isNumber = false;
        if (isNumber && aboveZero) isNumber = (text.replace(',', '.') > 0);
    }
    return isNumber;
}

function isPercentage(text, max){
    if (!max) max = 100;
    if (!isNumeric(text, true)) return false;
    if (parseFloat(text.toString().replace(",",".")) > max) return false;
    return true;
}

//-- ProductFilter USER CONTROL --//
var subCategoryPanel = 'closed';
var attributeLabel = new Array();


function NewProductFilter_Show(id, attributeDivId, container, attributeLabelId) {
    attributeLabel[id] = attributeLabelId;
    
    // NO FILTER IS APPLIED AT FIRST INSTANCE. 
    if(NewProductFilter_Current != "ProductAttributeFilter_-2" && NewProductFilter_Current != ""){
    
        //CHECK FOR CHANGE OF MAIN CATEGORY FILTER
        if (attributeDivId != NewProductFilter_Current) {
           
            if(document.getElementById('filterMainSubCategory').style.display == "none"){
                $('#filterMainSubCategory').slideDown(500); 
                subCategoryPanel = 'open';    
            }            
            document.getElementById(container).className = "column columnOn"; 
            if(document.getElementById(document.getElementById(Category_Container).value) != null){
            document.getElementById(document.getElementById(Category_Container).value).className = "column columnOff";
            } 
            document.getElementById(Category_Container).value = container;
            if(document.getElementById(NewProductFilter_Current) != null){
            var oldFilter = document.getElementById(NewProductFilter_Current);
            var newFilter = document.getElementById(attributeDivId);
            oldFilter.style.display = 'none';
            newFilter.style.display = '';
            }else{
            document.getElementById(attributeDivId).style.display = '';
            }
            NewProductFilter_Current = attributeDivId;
        } else {
        //OPEN OR CLOSE THE SUB CATEGORY BASED ON PREVIOUS STATUS
        
        if(document.getElementById('filterMainSubCategory').style.display == "none"){                   
                document.getElementById(attributeDivId).style.display = '';
                $('#filterMainSubCategory').slideDown(500); 
                subCategoryPanel = 'open';
            document.getElementById(document.getElementById(Category_Container).value).className = "column columnOn";
                
            } 
            else {
                $('#filterMainSubCategory').slideUp(500);        
                subCategoryPanel = 'closed';            
                document.getElementById(document.getElementById(Category_Container).value).className = "column columnOff";
            }
        }
    } else {
    //FIRST CALL TO THIS FUNCTION
        document.getElementById(Category_Container).value = container;     
        document.getElementById(container).className = "column columnOn";    
        document.getElementById(attributeDivId).style.display = '';
        NewProductFilter_Current = attributeDivId;
        $('#filterMainSubCategory').slideDown(500); 
        subCategoryPanel = 'open';
    }
}
    
    var AttributesListOpen = 'closed';
    function showMainAttributes() {
     
        // AJAX UPDATE CHANGES
        //if(subCategoryPanel == 'open'){        
            //CHANGE THE DIV FONT SIZE ACCORDINGLY
            if(document.getElementById('filterMainSubCategory').style.display == "none"){
            //document.getElementById(document.getElementById(Category_Container).value).className = "column columnOn";
            for (var i in attrLabels){
                if(attrLabels[i] != "" && document.getElementById(i) != null){ //document.getElementById(attributeID[i]) != null && 
                document.getElementById(i).innerHTML = attrLabels[i];
                //document.getElementById(attributeID[i]).className = "column columnOn";
                }
            }
          }
        //}
        
        
        if(document.getElementById('filterMain').style.display == "none"){
           showHide('AttributesUpArrow', 'AttributesDownArrow');
            $('#filterTopNavMidButton').animate({ top: '184px' }, 500);
            $('#filterMain').slideDown(500); 
            AttributesListOpen = 'open';
            return false;
             
        }
        else {
            showHide('AttributesDownArrow', 'AttributesUpArrow');
            $('#filterTopNavMidButton').animate({ top: '154px' }, 500);
            $('#filterMain').slideUp(500); 
            AttributesListOpen = 'closed';
            return false;
            
        }
        return true;
    }

//--- DISPLAY A WHITEOUT BOX WITH SPECIFIED CONTENT IN IT --//
function whiteOut(arguments) {showPageShroud(arguments, 'white');}
//--- DISPLAY A BLACKOUT BOX WITH SPECIFIED CONTENT IN IT --//
function blackOut(arguments) {showPageShroud(arguments, 'black');}
//--- HIDE/SHOW THE PAGE SHROUD
function showPageShroud(arguments, bgColor) {
    var pageShroud = rtObj('pageShroud');
    var inner = rtObj('pageShroudInner');
    var back = rtObj('pageShroudBack');
    if(bgColor)back.style.backgroundImage = 'url(' + applicationPath + 'Images/Master/' + bgColor + 'Out.gif)';
    if (!arguments) arguments = new Object;   //--- NEEDED
    if (!arguments.duration) arguments.duration = 500;
    if (!arguments.innerHTML) arguments.innerHTML = '&nbsp;';
    if (pageShroud.style.display == 'block' || pageShroud.style.display == '') {
        $("#pageShroud").fadeOut(arguments.duration);
        inner.innerHTML = '&nbsp;';
        $('body').css({'overflow':'auto'});
        parent.document.body.scroll = "yes";
    } else {
        $("#pageShroud").fadeIn(arguments.duration);
        parent.document.body.scroll = "no"; 
        $('body').css({'overflow':'hidden'});
    }
   
    var theInnerHTML = arguments.innerHTML;
    var theTarget = arguments.targetFunction;
    if (arguments.targetFunction) setTimeout(function() {
        inner.innerHTML = theInnerHTML;
        theTarget();
    }, arguments.duration)
    else setTimeout(function() {
        inner.innerHTML = theInnerHTML;
    }, arguments.duration)
}

//--- DISPLAY THE PAGE SHROUD AND POPULATE WITH AN IFRAME TO SHOW A PAGE
var pageShroudIFrameSrc = '';
function showPageShroudIFrame(src) {
    if (src) {
        pageShroudIFrameSrc = src;
        var shroudHTML = '<iframe id="pageShroudIFrame" width="100%" style="display:none; filter:alpha(opacity=100); -moz-opacity:1; opacity:1" onload="resizePageShroudIFrame(this);" scrolling="yes" allowtransparency="true"></iframe>';
        shroudHTML += '<div id="pageShroudIFrameAnimation"><span style="margin-left:60px;">' + _loading + '...</span><div class="loaderBack"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="200" height="100"><param name="movie" value="/images/animation/loader2.swf"><param name="quality" value="high"><param name="wmode" value="transparent"><embed src="/images/animation/loader2.swf" quality="high" wmode="transparent" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="200" height="100"></embed></object></div></div>';
        whiteOut({ duration: 1000, innerHTML: shroudHTML, targetFunction: showPageShroudIFrame });
    }
    else if (rtObj('pageShroudIFrame')) {
        rtObj('pageShroudIFrame').src = pageShroudIFrameSrc;
        resizePageShroudIFrame;
    }
}
//--- KEEP THE IFRAME AT 100% HEIGHT
function resizePageShroudIFrame() {
    var iFrame = rtObj('pageShroudIFrame');
    if (iFrame) {
        if (iFrame.style.display == 'none') {
            iFrame.style.display = '';
            if (rtObj('pageShroudIFrameAnimation')) rtObj('pageShroudIFrameAnimation').style.display = 'none';
        }
        var height = 800;
        if (window.innerHeight) height = window.innerHeight;
        else if (document.documentElement.clientHeight) height = document.documentElement.clientHeight;
        else if (document.body.clientHeight) height = document.body.clientHeight;
        iFrame.style.height = parseInt(height - iFrame.offsetTop - 8) + 'px';
        if (iFrame.contentWindow.resizePopover) iFrame.contentWindow.resizePopover(parseInt(height - iFrame.offsetTop - 8));
    }
}
//--- CLOSE THE PAGE SHROUD (AND THE IFRAME)
//function closePageShroudIFrame(targetFunction) { showPageShroud({ duraton: 2000, targetFunction: targetFunction }); }
function closePageShroudIFrame(targetURL) {
    if (targetURL) document.location.href = targetURL;
    else showPageShroud({ duraton: 2000 });
}

function resizePopover(height){
    if (rtObj('popoverScroller')) rtObj('popoverScroller').style.height = (height - 200) + 'px';
    if (rtObj('popoverScrollerOuter')) rtObj('popoverScrollerOuter').style.height = (height - 150) + 'px';
    if (rtObj('popoverRightBar')) rtObj('popoverRightBar').style.height = (height - 250) + 'px';
}

//-- emktPrompt --//
var emktPromptResponse = null;var emktPromptFunction = null;
var betaVersionTitle='Beta Version';
var betaVersionMessage='This feature is coming soon and will be launched on 26 October.';
function emktPrompt(messageTitle, messageText, buttonArgs, targetFunction, showInput) {
    var theHTML = '<div id="emktPromptBox"><h1 id="emktPromptTitle">' + messageTitle + '</h1><div class="message" id="emktPromptText">' + messageText + '</div>';
    if (showInput) theHTML += '<div class="input" id="emktPromptInput"><input id="emktPromptInputBox" type="text"></div>';
    theHTML += '<div class="buttons" id="emktPromptButtons"></div></div></div>';
    document.getElementById('emktPromptLayer').innerHTML = theHTML;
    whiteOut({ duration: 500, targetFunction: emktPromptShow });
    var buttonsHTML = '';
    if (buttonArgs == null || typeof (buttonArgs) == 'function') buttonsHTML = '<a href="javascript:void emktPromptClick(1);">OK</a>';
    else { for (property in buttonArgs) { buttonsHTML += '<a href="javascript:void emktPromptClick(' + buttonArgs[property] + ');">' + property + '</a>'; } }
    document.getElementById('emktPromptButtons').innerHTML = buttonsHTML;
    if (targetFunction) { emktPromptFunction = targetFunction }
    if (typeof(buttonArgs) == 'function') { emktPromptFunction = buttonArgs }
}
function emktPromptShow() { document.getElementById('emktPromptLayer').style.display = '';
}
function emktPromptClick(response) {
    var emktPromptLayer = document.getElementById('emktPromptLayer');
    emktPromptLayer.style.display = 'none';
    var inputResponse = '';
    if (document.getElementById('emktPromptInputBox')) inputResponse = document.getElementById('emktPromptInputBox').value;
    emktPromptLayer.innerHTML = '';
    whiteOut(500);
    if (emktPromptFunction) setTimeout(function() { emktPromptFunction(response, inputResponse); emktPromptFunction = null}, 500);  
    emktPromptResponse = null;
}

//--- PAUSE SCRIPT
function pause(milliseconds) {
	var dt = new Date();
	while ((new Date()) - dt <= milliseconds) { /* Do nothing */ }
}
//--- RETURNS LEFT PART OF A STRING
function left(str, n) {
    if (n <= 0) return '';
    else if (n > String(str).length) return str;
    else return String(str).substring(0, n);
}
//--- RETURNS RIGHT PART OF A STRING
function right(str, n) {
    if (n <= 0) return '';
    else if (n > String(str).length) return str;
    else {
        var iLen = String(str).length;
        return String(str).substring(iLen, iLen - n);
    }
}

function Submitonkeypress(e,UniqueID,Argument) {
    
    var key = (window.event) ? event.keyCode : e.which;
    if (window.event) key = event.keyCode;
    else key = e.which;
    if (key == 13) {
        __doPostBack(UniqueID,Argument);
        return false;
    }
}

function SubmitonLoginkeypress(e, UniqueID, ClientID, Argument) {

    var key = (window.event) ? event.keyCode : e.which;
    if (window.event) key = event.keyCode;
    else key = e.which;
    if (key == 13) {
        submitlogin(ClientID, Argument);
        return false;
    }
}

function submitlogin(ClientID, Argument) {
    //Set the css class to disable button.
    document.getElementById(ClientID).className = 'greyButton'
     ClientID = rtObj(ClientID)
    if (ClientID.disabled) {
        return;
    } else {
       
        ClientID.disabled = true;
        __doPostBack('Login_BUTTON_Click', Argument);
    }

}


//--- RETURNS THE VALUE OF A GIVEN CSS STYLE ON AN ELEMENT
//--- EXPECTS camelCase STYLE (E.G. backgroundColor)
function getStyle(el, cssprop) {
    try {
        if (el.currentStyle) //IE
            return el.currentStyle[cssprop];
        else if (document.defaultView && document.defaultView.getComputedStyle) //Firefox
            return document.defaultView.getComputedStyle(el, "")[cssprop];
        else //try and get inline style
            return el.style[cssprop];
    }
    catch (e) {
        return false;
    }
}


//--- FINDS THE LEFT COORDINATE OF AN ELEMENT
function findLeft(obj, container) {
    var curleft = 0;
    if (container) container = rtObj(container);
    else container = document;
    if (obj.offsetParent) {
        curleft = obj.offsetLeft;
        while ((obj = obj.offsetParent) && obj != container) {
            if (obj.offsetLeft) curleft += obj.offsetLeft;
        }
    }
    return curleft;
}
//--- FINDS THE TOP COORDINATE OF AN ELEMENT
function findTop(obj, container) {
    var curtop = 0;
    var scrollTop = 0;
    if (container) container = rtObj(container);
    else container = document;
    if (obj.offsetParent) {
        curtop = obj.offsetTop;
        while ((obj = obj.offsetParent) && obj != container) { 
            /* BUG IN IE8 THAT RETURNS THE OFFSETTOP VALUE LESS SCROLLTOP */
            /*if (obj.scrollTop && getInternetExplorerVersion() != 8) scrollTop = obj.scrollTop;*/
            if (obj.scrollTop) scrollTop = obj.scrollTop;
            else scrollTop = 0;
            if (obj.offsetTop) curtop += obj.offsetTop - scrollTop;
        }
    }
    return curtop;
}


function showPopupDiv(source, popup, content, container) {
    popup = rtObj(popup);
    source = rtObj(source);
    if (popup) {
        popup.style.left = (findLeft(source, container) + (source.offsetWidth)) + 'px';
        popup.style.top = findTop(source, container) + 'px';
        popup.style.display = '';
    }
    if (content) popup.innerHTML = content;
}
function hidePopupDiv(popup){
    if (rtObj(popup)) rtObj(popup).style.display = 'none';
}

function addressListHover(row) {
    row.style.backgroundColor = "#EE0017"
    row.style.color = "#ffffff"
}
function addressListOut(row) {
    row.style.backgroundColor = "#ffffff"
    row.style.color = "#333333"
}
// Show Hide DIV
function showHide(show, hide) {
    if (show) rtObj(show).style.display = '';
    if (hide) rtObj(hide).style.display = 'none';
}

//OPENS/CLOSES A DIV BY SLIDING IT DOWN/UP
//CLOSES THE CURRENTLY OPEN ELEMENT IF THERE IS ONE
var currentlyOpen = '';
var cancelDropdown = false;
function showDropdown(elemID) {
    var e = window.event;
    var element = document.getElementById(elemID);
    if (currentlyOpen != '' && currentlyOpen != elemID) {
        $("#" + currentlyOpen).slideUp(500);
        currentlyOpen = ''
    }
    if (currentlyOpen == '') {
        $("#" + elemID).slideDown(500);
        currentlyOpen = elemID;
        cancelDropdown = true;
    }
    else {
        $("#" + elemID).slideUp(500);
        currentlyOpen = '';
        cancelDropdown = true;
    }
}
//CLOSE THE CURRENTLY OPEN ELEMENT WHEN CLICKING ANYWHERE ON THE SCREEN (OTHER THAN THE ELEMENT)
function closeDropList(e) {
    if (currentlyOpen != '' && !cancelDropdown) {
        //SET DROPDOWN BOX AREA FOR GLOBAL USE
        var listX = findLeft(rtObj(currentlyOpen));
        var listXW = listX + rtObj(currentlyOpen).offsetWidth;
        var listY = findTop(rtObj(currentlyOpen));
        var listYH = listY + rtObj(currentlyOpen).offsetHeight;

        var posx = posy = 0;
        if (!e) var e = window.event;
        if (e.pageX || e.pageY) {
            posx = e.pageX;
            posy = e.pageY;
        }
        else if (e.clientX || e.clientY) {
            posx = e.clientX + document.body.scrollLeft;
            posy = e.clientY + document.body.scrollTop;
        }
        if (posx > listX && posx < listXW && posy > listY && posy < listYH) { }
        else {
            //CLOSE MENU IF CLICK OUTSIDE AND THE MENU IS OPEN
            if (document.getElementById(currentlyOpen).style.display != 'none') {
                $("#" + currentlyOpen).slideUp(300);
                currentlyOpen = '';
            }
        }
    }
    if (cancelDropdown) cancelDropdown = false;
    closeAdvancedSearch(e);
}

function closeAdvancedSearch() {
    if(searchBarOpen=='open') {
    
        var listX = findLeft(rtObj('advSearchContainer'));
        var listXW = listX + rtObj('advSearchContainer').offsetWidth;
        var listY = findTop(rtObj('advSearchContainer')) - 30;
        var listYH = listY + rtObj('advSearchContainer').offsetHeight + 530;

        var posx = posy = 0;
        if (!e) var e = window.event;
        if (e.pageX || e.pageY) {
            posx = e.pageX;
            posy = e.pageY;
        }
        else if (e.clientX || e.clientY) {
            posx = e.clientX + document.body.scrollLeft;
            posy = e.clientY + document.body.scrollTop;
        }
        if (posx > listX && posx < listXW && posy > listY && posy < listYH) { }
        else {
            //CLOSE MENU IF CLICK OUTSIDE AND THE MENU IS OPEN
            toggleSearchBar()
        }
    }
}

//--- ADD AN OPTION TO A SELECT LIST
function addOptionToSelectList(obj, val, txt) {
    obj = rtObj(obj);
    var opt = document.createElement("OPTION");
    opt.text = txt;
    opt.value = val;
    obj.options.add(opt);
}
//--- REMOVE AN OPTION FROM A SELECT LIST
function removeOptionFromSelectList(obj, val) {
    obj = rtObj(obj);
    for (var i = obj.options.length - 1; i >= 0; i--) {
        if (obj.options[i].value == val) obj.remove(i);
    }
}
var productId; 
var previousSelectedGroup;

function CurrentSelection(productDD){
    previousSelectedGroup = productDD.selectedIndex;
}

function GroupChanged(_productID, productDropdown, _imageLoader) {

    _productGroupID = document.getElementById(productDropdown).value;
    productId = _productID

    if (_productGroupID == "-1") {
        emktPrompt('New Product Group', 'Enter a name for this new product group:', { 'Create': 1, 'Cancel': -1 }, AddNewGroupFn, true);
        document.getElementById(productDropdown).selectedIndex = 0;
    } else {//if (_productGroupID != "0") {
        document.getElementById(_imageLoader).style.visibility = "visible";
        emktAjax(applicationPath + 'Handlers/UpdateProductProductGroup.ashx', 'hiddenGroupUpdateStatus', { productID: _productID, productGroupID: _productGroupID }, function() {UpdateGroup(productDropdown)});
        document.getElementById(_imageLoader).style.visibility = "hidden";
    }
}

function UpdateGroup(productDropdown){
    if(document.getElementById('hiddenGroupUpdateStatus').value == "-1"){
        emktPrompt('Problem Adding Product', 'The product(s) in the selected group are not in the same location as this product.  <br/><br />Only products in the same location can be grouped together.');
        document.getElementById(productDropdown).selectedIndex = previousSelectedGroup;
    }
}

function AddNewGroupFn(theResp, grpName) {
    if (theResp > 0) {
        __doPostBack('Group_ADD_Link_Click', 'Add_Group_Click_' + grpName + "_" + productId);
    }
}

function alertResponse(grpName) {
    emktPrompt('', 'New Group Added: ' + grpName);
}

function selectedText(list) {
    list = rtObj(list);
    return list.options[list.selectedIndex].text;
}

function limitString(text, limit) {
    if (text.length > (limit-3)) return text.substring(0,(limit-3)) + '...';
    else return text;
}

function isInteger(s)
{
    if (!isNumeric(s)) return false;
    else {
      for (var i=0; i < s.length; i++)
      {
         var c = s.charAt(i);
         if ((c < "0") || (c > "9")) return false;
      }
      return true;
    }
}

// CHECKS TO SEE IF A SPECIFIED ELEMENT IS VISIBLE ON THE PAGE
// CONSIDERS VISIBILITY OF PARENT CONTAINERS TOO
function isVisible(theObject) {
    if (typeof (theObject) == 'string') theObject = document.getElementById(theObject);
    if (!theObject)
        return false;
    else {
        if (getStyle(theObject, "display") != 'none' && getStyle(theObject, "visibility") != 'hidden') {
            if (theObject.parentNode) return isVisible(theObject.parentNode);
            else return true;
        }
        else return false;
    }
}

function getInternetExplorerVersion() {
    var rv = -1; // Return value assumes failure.
    if (navigator.appName == 'Microsoft Internet Explorer') {
        var ua = navigator.userAgent;
        var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
        if (re.exec(ua) != null)
            rv = parseFloat(RegExp.$1);
    }
    return rv;
}



function emktPrompt(messageTitle, messageText, buttonArgs, targetFunction, showInput) {
    var theHTML = '<div id="emktPromptBox"><h1 id="emktPromptTitle">' + messageTitle + '</h1><div class="message" id="emktPromptText">' + messageText + '</div>';
    if (showInput) theHTML += '<div class="input" id="emktPromptInput"><input id="emktPromptInputBox" type="text"></div>';
    theHTML += '<div class="buttons" id="emktPromptButtons"></div></div></div>';
    document.getElementById('emktPromptLayer').innerHTML = theHTML;
    whiteOut({ duration: 500, targetFunction: emktPromptShow });
    var buttonsHTML = '';
    if (buttonArgs == null || typeof (buttonArgs) == 'function') buttonsHTML = '<a href="javascript:void emktPromptClick(1);">' + _ok + '</a>';
    else { for (property in buttonArgs) { buttonsHTML += '<a href="javascript:void emktPromptClick(' + buttonArgs[property] + ');">' + property + '</a>'; } }
    document.getElementById('emktPromptButtons').innerHTML = buttonsHTML;
    if (targetFunction) { emktPromptFunction = targetFunction }
    if (typeof(buttonArgs) == 'function') { emktPromptFunction = buttonArgs }
}
        
function UserManager_pwdFocus() {
    var pwdBox = rtObj(UserManager_LoginPasswordID);
    var txtBox = rtObj(UserManager_LoginPasswordTID);

    if (pwdBox.style.display == 'none') {
        pwdBox.style.display = '';
        txtBox.style.display = 'none';
        pwdBox.focus();
    }
    else if (pwdBox.value == '') {
        pwdBox.style.display = 'none';
        txtBox.style.display = '';
    }
}

function UserManager_emlFocus(emlBox) {

    if (emlBox.value==UserManager_emlText){
        emlBox.style.color = '#000000';
        emlBox.value = '';
    }
}
function UserManager_emlBlur(emlBox) {

    if (emlBox.value==''){
        emlBox.style.color = '#A8A8A8';
        emlBox.value = UserManager_emlText;
    }
}

//--- SEARCH BAR

//..Param Indicates Search(Enquiry and Advanced), this function also shows message in a label
var searchBarOpen = 'closed';
var enquirySet = false;
function toggleSearchBar(searchType) {


    if (searchType == 'Enquiry') {
        rtObj(_advSearchMenu).value = "True";
        rtObj(_enquiryMessageDiv).style.display = '';
        rtObj(_enquirySearch).value = "1";
        rtObj(_lblKeyword).style.display = 'none';
        rtObj(_txtKeyword).style.display = 'none';
        rtObj(_lblEnquirySearchResult).innerText = "To send an enquiry, please carry out a search first to specify your criteria";
        rtObj(_lblEnquirySearchResult).style.visibility = 'visible';

        //return true;
    }

    else {
        rtObj(_enquiryMessageDiv).style.display = 'none';
        rtObj(_lblKeyword).style.display = '';
        rtObj(_txtKeyword).style.display = '';
        rtObj(_advSearchMenu).value = "False";
        rtObj(_lblEnquirySearchResult).style.visibility = 'hidden';
        rtObj(_enquirySearch).value = "0";
        enquirySet = false;
    }
    if (searchBarOpen == 'open') {
        if (searchType != 'Enquiry' || enquirySet){
        showHide('searchBarDownArrow', 'searchBarUpArrow');
        $('#AdvanceSearchLinkBox').animate({ top: '0px' }, 500);
        $('#advSearchContainer').slideUp(500); 
//            new Effect.Morph('AdvanceSearchLinkBox', { style: 'top:183px;', duration: 0.5 });
//            Effect.SlideUp('advSearchContainer', { duration: 0.5 });
        searchBarOpen = 'closed';
        return false;
        }
        else{
            rtObj(_enquiryMessageDiv).style.display = '';
            searchBarOpen = 'open';
            enquirySet = true;
            return false;
        }
    }
    else {
        showHide('searchBarUpArrow', 'searchBarDownArrow');
        $('#AdvanceSearchLinkBox').animate({ top: '0px' }, 500);
        $('#advSearchContainer').slideDown(500); 
//            new Effect.Morph('AdvanceSearchLinkBox', { style: 'top:184px;', duration: 0.5 });
//            Effect.SlideDown('advSearchContainer', { duration: 0.5 });
        searchBarOpen = 'open';
        return false;
    }
    return true;
}


function showMainMenu() {
    rtObj(_mainMenu).style.display = '';
}
function hideMainMenu() {

    //if (rtObj(_advSearchMenu).value == 'True')
    if(!rtObj('showBrowseCategories'))
        rtObj(_mainMenu).style.display = 'none';
}
function positionMenu() {
    var menu = rtObj(_mainMenu);
    menu.style.left = findLeft(rtObj('pageContainer')) + 'px';
}
function trim(str){
     s = str.replace(/^(\s)*/, '');
     s = s.replace(/(\s)*$/, '');
     return s;
}

function validateKeyword(keyword, standAloneSearch){

    var str = keyword.control.value;
    if(standAloneSearch && str.trim == '') return false;
    return (str.match(/([\<])([^\>]{1,})*([\>])/i) == null);    
}
function SectorChanged(sector) {
        rtObj(_advSearchCategoryID).style.display = 'none';
        rtObj(_advSearchSubcategoryID).style.display = 'none';
        rtObj(_advSearchPackTypeDiv).style.display = 'none';
        rtObj(_advSearchUnitSizeDiv).style.display = 'none';
        rtObj(_advSearchSubCategoryDiv).style.display = 'none';
        rtObj(_advSearchPackUnitPanel).style.display = 'none';
        rtObj(_advSearchCategoryDiv).style.display = '';
        if (sector.value > 0) emktAjax(applicationPath + 'Handlers/GetCategoriesListItemsBySectorID.ashx', _advSearchCategoryID, { CategoryID: sector.value }, function() {rtObj(_advSearchCategoryID).remove((rtObj(_advSearchCategoryID).length-1));}); else rtObj(_advSearchCategoryDiv).style.display = 'none';
}
function CategoryChanged(category) {
    if (category.value > 0) {
        emktAjax(applicationPath + 'Handlers/GetSubcategoriesListItemsByCategoryID.ashx', _advSearchSubcategoryID, { CategoryID: category.value }, function() {rtObj(_advSearchSubcategoryID).remove((rtObj(_advSearchSubcategoryID).length-1));handleSingleItem(rtObj(_advSearchSubcategoryID).value);});
        emktAjax(applicationPath + 'Handlers/GetPackTypesListItemsByCategoryID.ashx', _advSearchPackTypeID, { CategoryID: category.value }, function() {rtObj(_advSearchPackTypeID).remove((rtObj(_advSearchPackTypeID).length-1));handleSingleItem(rtObj(_advSearchPackTypeID).value); if(rtObj(_advSearchPackTypeID).length > 1) rtObj(_advSearchPackTypeDiv).style.display = ''; else rtObj(_advSearchPackTypeDiv).style.display = 'none';});
        emktAjax(applicationPath + 'Handlers/GetUnitSizesListItemsByCategoryID.ashx', _advSeacrhUnitSizeID, { CategoryID: category.value }, function() {rtObj(_advSeacrhUnitSizeID).remove((rtObj(_advSeacrhUnitSizeID).length-1));handleSingleItem(rtObj(_advSeacrhUnitSizeID).value); if(rtObj(_advSeacrhUnitSizeID).length > 1) rtObj(_advSearchUnitSizeDiv).style.display = ''; else rtObj(_advSearchUnitSizeDiv).style.display = 'none';});
        rtObj(_advSearchPackTypeDiv).style.display = '';
        rtObj(_advSearchUnitSizeDiv).style.display = '';
        rtObj(_advSearchSubCategoryDiv).style.display = '';
        rtObj(_advSearchPackUnitPanel).style.display = '';
    }
    else {
        rtObj(_advSearchPackTypeDiv).style.display = 'none';
        rtObj(_advSearchUnitSizeDiv).style.display = 'none';
        rtObj(_advSearchSubCategoryDiv).style.display = 'none';
        rtObj(_advSearchPackUnitPanel).style.display = 'none';
    }
}

function handleSingleItem(theList, minLength) {
        if (theList.length == minLength) theList.selectedIndex = 1;
    }
    
function emktValidationCheck(validationGroup) {
    var _advSearchValidate = rtObj(_advSearchMenu).value;
    if (_advSearchValidate == "True") {
        if (emktValidation(validationGroup)) {
            return true;
        }
        else {
            return false;
        }
    }
}
// HINT BUBBLES
function getHint(translationKey, source) {
    if (translationKey != "") {
        hintOn = true;
        emktAjax(applicationPath + 'Handlers/GetTranslation.ashx', _hintBoxContentID, { translationKey: translationKey}, function () {showHint(source);});
    }
}
    
var hintOn = false;
var _hintBoxContentID = 'HintBoxContent';
function showHint(source){
    if (hintOn) showPopupDiv(source, 'HintBox');
}
function hideHint(){
    hintOn = false;
    hidePopupDiv('HintBox');
}

function SlideButton_Slide(newValue, valueID, sliderID, leftLinkID, rightLinkID, buttonLinkOnClass, buttonLinkOffClass, slideDistance) {
    var btnValue = document.getElementById(valueID);
    var btnMoved = false;

    if (newValue != btnValue.value) {
        var btnLeftLink = document.getElementById(leftLinkID);
        var btnRightLink = document.getElementById(rightLinkID);
        var movement = '=' + slideDistance + 'px';
        if (newValue == 1) movement = '-' + movement;
        else movement = '+' + movement;
        $('#' + sliderID).animate({ marginLeft: movement }, 250);
        btnValue.value = newValue;
        btnMoved = true;
        if (newValue == 1) {
            btnLeftLink.className = buttonLinkOnClass;
            btnRightLink.className = buttonLinkOffClass;
        }
        else {
            btnLeftLink.className = buttonLinkOffClass;
            btnRightLink.className = buttonLinkOnClass;
        }
    }
    return btnMoved;
}


 var searchTimer = null;
function autoSuggestSearchMain(value)
{      
 var mainDiv = 'autoSuggestionSearch'
      if (searchTimer) clearTimeout(searchTimer);
      searchTimer = setTimeout(function(){ emktAjax(applicationPath + 'Handlers/GetBrandsResultCount.ashx',mainDiv , {cs:value, mainDiv:'autoSuggestionSearch'}, checkAutoSuggestValue) }, 1200);            
}
         
function checkAutoSuggestValue(){
      if (rtObj('autoSuggestionSearch').innerHTML == '') 
            rtObj('autoSuggestionSearch').style.display = 'none';
}
         
function searchTrailClicked(brandName,mainDiv) 
{
     if(mainDiv == 'autoSuggestionSearch')
     {
       rtObj(_txtKeywordSearchBox).value = brandName;
        rtObj(mainDiv).style.display = 'none';
        try
        {
          $get('ctl00_MasterUpdatePanelProgress').style.display = 'block'; 
        }
        catch(e)
         {
         }
        __doPostBack('Search','_Search_Suggest');
     }
     else if(mainDiv == 'autoSuggestionAdvanceSearch')
     {
        rtObj(_txtKeyword).value = brandName;
         rtObj(mainDiv).style.display = 'none';
     }
}      

         
  function autoSuggestAdvanceSearch(value){
            var mainDiv = 'autoSuggestionAdvanceSearch'
            if (searchTimer) clearTimeout(searchTimer);
            searchTimer = setTimeout(function(){ emktAjax(applicationPath + 'Handlers/GetBrandsResultCount.ashx', mainDiv, {cs:value,mainDiv:'autoSuggestionAdvanceSearch'}, checkAutoSuggestValue) }, 1200);           
         }
 function checkAutoSuggestValue(){
            if (rtObj('autoSuggestionAdvanceSearch').innerHTML == '') rtObj('autoSuggestionAdvanceSearch').style.display = 'none';
         }         

        //JS function to select all / unselect, list of checkbox
        //param1 - clientId of SelectAll checkbox
        //param2 - clientId of CheckboxList control 
        function SelectAll(chkAllBuyerTypes, tableRef)
        {
            chkAllBuyerTypes = document.getElementById(chkAllBuyerTypes)
            tableRef = document.getElementById(tableRef)
            
            var checkNow = false
            if (chkAllBuyerTypes.checked){
               checkNow = true 
            }
            
            for (var i=0; i<tableRef.rows.length; i++)
            {
               for (var j=0; j<tableRef.rows[i].cells.length; j++)
               {
                  var listControl = tableRef.rows[i].cells[j].childNodes[0];
                  listControl.checked = checkNow
               }
            }
        }                      
         
