﻿var FadeTimer = null;
var OpenTopMenuItem = null;
var CurrentSearchItemIndex = -1;
var AutoCompleteTimer;
var Allowed = false;
document.onclick = function () {
    if (OpenTopMenuItem) {
        OpenTopMenuItem.className = 'HasChild';
        OpenTopMenuItem = null;
    }
    var SM02 = document.getElementById('SlidingMenu02');
    if (SM02) SM02.style.display = 'none';
    var SearchDropDownList = document.getElementById('SearchDropDownList');
    if (SearchDropDownList) SearchDropDownList.style.display = 'none';
    CurrentSearchItemIndex = -1

}
String.prototype.IsEmpty = function() {return /^\s*$/.test(this)}
function ChangeSelectedItem(dir) {
    var Items = document.getElementById('SearchDropDownList').getElementsByTagName('a');
    var NextItemIndex;
    if (Items.length == 0) return;
    if (CurrentSearchItemIndex > 0 && dir == -1) {
        NextItemIndex = ((Items[CurrentSearchItemIndex - 1].id != 'DeleteSearchHistory')? CurrentSearchItemIndex - 1: CurrentSearchItemIndex - 2);
    } else if (CurrentSearchItemIndex < Items.length - 1 && dir == 1) {
        NextItemIndex = ((Items[CurrentSearchItemIndex + 1].id != 'DeleteSearchHistory')? CurrentSearchItemIndex + 1: CurrentSearchItemIndex + 2);
    } else {
        return
    }
    if (CurrentSearchItemIndex != -1) Items[CurrentSearchItemIndex].removeAttribute('style');
    Items[NextItemIndex].style.backgroundColor = '#aaa';
    document.getElementById('SearchFld').value = Items[NextItemIndex].className;
    CurrentSearchItemIndex = NextItemIndex;
}
function SearchAutoComplete(e) {
    var KeyCode;
    if (e) {
        KeyCode = e.which;
    } else {
        KeyCode = window.event.keyCode;
    }
    if (KeyCode == 40 || KeyCode == 38) {
        ChangeSelectedItem((KeyCode == 40)?1:-1);
        return false;
    }
    window.clearTimeout(AutoCompleteTimer);
    AutoCompleteTimer = window.setTimeout('GetSeggestions()', 500);
}
function GetSeggestions() {
    var objSearchField = document.getElementById('SearchFld');
    var objSearchDropDownList = document.getElementById('SearchDropDownList');
    var objSearchSuggestion = document.getElementById('SearchSuggestion');
    var objSearchHistory = document.getElementById('SearchHistory');
    var Keyword = objSearchField.value;
    if (!Keyword.IsEmpty() && Keyword != objSearchField.defaultValue) {
        Allowed = true;
        var Ajax = new XMLHttp();
	    if (Ajax.Support) {
		    Ajax.ErrHandler = function(err) {
                objSearchHistory.style.display = 'none';
                objSearchSuggestion.style.display = 'none';
                objSearchDropDownList.style.display = 'none';
		        alert('مرورگر وب قادر به دریافت اطلاعات از سایت نمیباشد');
		    }
		    Ajax.ResHandler = function(re) {
		        if (!Allowed) return
		        var arrResult = re.split('*||*');
		        var HideDiv = true;
		        
		        if (arrResult[0].length != 0) {
		            var Seggestions = arrResult[0].split('*|*');
		            var strLinks = '';
		            for (var i=0; i<Seggestions.length-1; i++) {
		                strLinks += '<a href="#" class="' + Seggestions[i] + '" onclick="return InsertKeyword(this.className)">' + SetFormat(Seggestions[i]) + '</a>';
		            }
		            objSearchSuggestion.innerHTML = '<h3>پیشنهادها</h3>' + strLinks;
		            objSearchSuggestion.style.display = 'block';
		            HideDiv = false;
		        } else {
		            objSearchSuggestion.style.display = 'none';
		        }
		        if (arrResult[1].length != 0) {
		            var History = arrResult[1].split('*|*');
		            var strLinks = '';
		            for (var i=0; i<History.length-1; i++) {
		                strLinks += '<a href="#" class="' + History[i] + '" onclick="return InsertKeyword(this.className)">' + SetFormat(History[i]) + '</a>';
		            }
		            objSearchHistory.innerHTML = '<h4>جستجوهای پیشین <span>|</span> <a href="#" title="حذف جستجوهای پیشین" id="DeleteSearchHistory" onclick="return ClearHistory()">حذف</a></h4>' + strLinks;
		            objSearchHistory.style.display = 'block';
		            HideDiv = false;
		        } else {
		            objSearchHistory.style.display = 'none';
		        }
		        if (HideDiv) {
		            objSearchDropDownList.style.display = 'none';
		        } else {
		            objSearchDropDownList.style.display = 'block';
		        }
		    }
		    Ajax.Create('/SearchAutoComplete.aspx?keyword=' + escape(Keyword) + '&rnd=' + Math.random());
	    }
    } else {
        objSearchHistory.style.display = 'none';
        objSearchSuggestion.style.display = 'none';
        objSearchDropDownList.style.display = 'none';
        Allowed = false;
    }
    
}
function InsertKeyword(Keyword) {
    document.getElementById('SearchFld').value = Keyword;
    document.getElementById('SearchPanel').submit();
    return false
}
function SetFormat(Keyword) {
    var CurrentKeyword = document.getElementById('SearchFld').value;
    Keyword = Keyword.replace(/([a-z-_+.:#\/\\\d!]+)+/ig, '<span dir="ltr">$1</span>');
    return Keyword
}
function ClearHistory(obj) { 
    var Ajax = new XMLHttp();
    if (Ajax.Support) {
	    Ajax.ErrHandler = function(err) {
	        alert('مرورگر وب قادر به دریافت اطلاعات از سایت نمیباشد');
	    }
	    Ajax.ResHandler = function(re) {
	        document.getElementById('SearchHistory').style.display = 'none';
	    }
	    Ajax.Create('/SearchAutoComplete.aspx?action=ClearHistory&rnd=' + Math.random());
    }
    return false
}
var ShowBox_CurrentItem = null;
var ShowBox_Delay = 7000;
var ShowBox_SlideTimer = null;
var ShowBox_FadeTimer = null;
var objShowBoxIconContainer;
var Icons;
var objShowBoxImageLink;
var objShowBoxImage;
var objShowBoxArrow;

function ShowBox_SetOpacity(OpacityLevel) {
    objShowBoxImage.style.opacity = OpacityLevel / 100;
    objShowBoxImage.style.filter = 'alpha(opacity=' + OpacityLevel + ')';
}
function ShowBox_ShowItem(ItemIndex) {
    window.clearTimeout(ShowBox_SlideTimer);
    var Timer = 0;

    if (ShowBox_CurrentItem) {
        Icons[ItemIndex].style.backgroundPosition = 'left bottom';
        ShowBox_CurrentItem.style.backgroundPosition = 'left top';
        objShowBoxArrow.style.right = (ItemIndex * 45 + 173) + 'px';
        ShowBox_CurrentItem = Icons[ItemIndex];
        for (var i = 100; i >= 0; i -= 20) {
            ShowBox_FadeTimer = window.setTimeout('ShowBox_SetOpacity(' + i + ')', 50 * Timer);
            if (i == 0) window.setTimeout(function () {
                objShowBoxImage.src = Icons[ItemIndex].className;
                objShowBoxImageLink.href = Icons[ItemIndex].href;
            }, 50 * Timer);
            Timer++;
        }
        for (i = 0; i <= 100; i += 20) {
            ShowBox_FadeTimer = window.setTimeout('ShowBox_SetOpacity(' + i + ')', 50 * Timer);
            if (i == 100) window.setTimeout(function () {
                ShowBox_FadeTimer = null;
                if (Icons.length > 1) {
                    var NextItemIndex = (ItemIndex + 1 == Icons.length) ? 0 : (ItemIndex + 1);
                    ShowBox_SlideTimer = window.setTimeout('ShowBox_ShowItem(' + NextItemIndex + ')', ShowBox_Delay);
                }
            }, 50 * Timer);
            Timer++;
        }
    } else {
        Icons[0].style.backgroundPosition = 'left bottom';
        objShowBoxImage.src = Icons[0].className;
        objShowBoxImageLink.href = Icons[0].href;
        objShowBoxArrow.style.right = '173px';
        ShowBox_CurrentItem = Icons[0];
        if (Icons.length > 1) {
            var NextItemIndex = (ItemIndex + 1 == Icons.length) ? 0 : (ItemIndex + 1);
            var objImg = new Image();
            objImg.src = Icons[NextItemIndex].className;
            ShowBox_SlideTimer = window.setTimeout('ShowBox_ShowItem(' + NextItemIndex + ')', ShowBox_Delay);
        }
    }
}
function ShowBox_GetItemIndex(Item) {
    var Icons = objShowBoxIconContainer.getElementsByTagName('A');
    for (var i = 0; i < Icons.length; i++) {
        if (Icons[i] == Item) return i
    }
}
function ShowBox_Init() {
    objShowBoxIconContainer = document.getElementById('ShowBoxIconContainer');
    Icons = objShowBoxIconContainer.getElementsByTagName('A');
    objShowBoxImageLink = document.getElementById('ShowBoxImageLink');
    objShowBoxImage = document.getElementById('ShowBoxImage');
    objShowBoxArrow = document.getElementById('ShowBoxArrow');
    if (Icons.length > 0) ShowBox_ShowItem(0);

    objShowBoxImageLink.onfocus = function () {
        this.blur();
    }
    for (var i = 0; i < Icons.length; i++) {
        Icons[i].onmouseover = function () {
            if (this != ShowBox_CurrentItem) this.style.backgroundPosition = 'left center';
        }
        Icons[i].onmouseout = function () {
            if (this != ShowBox_CurrentItem) this.style.backgroundPosition = 'left top';
        }
        Icons[i].onclick = function () {
            if (this != ShowBox_CurrentItem && !ShowBox_FadeTimer) {
                ShowBox_ShowItem(ShowBox_GetItemIndex(this));
            }
            return false
        }
        Icons[i].onfocus = function () {
            this.blur();
        }
    }
}
function Mdl_CheckQuantityInput(objInput) {
    if (!/^[123456789]\d*$/.test(objInput.value)) objInput.value = 1;
}
var MdlFadeTimer = null;
function Mdl_ShowModal(BoxID) {
    var objMdlContainer = document.getElementById('ModalContiner');
    var objMdlContent = document.getElementById('ModalContent');
    objMdlContent.innerHTML = '';
    objMdlContainer.style.backgroundImage = 'url(/Image/Loading.gif)';
    document.getElementById('Modal').style.display = 'block';
    var Ajax = new XMLHttp();
    if (Ajax.Support) {
        Ajax.ErrHandler = function (err) {
            alert('مرورگر وب قادر به دریافت اطلاعات از سایت نمی باشد');
        }
        Ajax.ResHandler = function (re) {
            objMdlContainer.style.backgroundImage = 'none';
            objMdlContent.innerHTML = re;
            objMdlContent.innerHTML += '<a href="#" class="AddItemsToList" onclick="return Mdl_AddItemsToBasket()" title="اضافه به سبد خرید">اضافه به سبد خرید</a>';
            objMdlContent.innerHTML += '<span id="MdlMsg"><img src="/Image/CheckMark2.gif" alt="" />کالا یا کالا های مورد نظر با موفقیت به سبد خرید اضافه شد.</span>';
            Mdl_CheckedSingleProduct();
        }
        Ajax.Create('/Modal.aspx?bid=' + BoxID + '&rnd=' + Math.random());
    }
}
function Mdl_CheckedSingleProduct() {
    var objTable = document.getElementById('mdl_ProductPanel');
    var Inputs = objTable.getElementsByTagName('INPUT');
    if (Inputs.length == 2) {
        Inputs[0].checked = true;
        Mdl_CheckItem(Inputs[0]);
        Inputs[0].onclick = function () {
            return false;
        }
    }
}
function Mdl_HideModal() {
    document.getElementById('Modal').style.display = 'none';
    return false
}
function Mdl_CheckItem(objCheckBox) {
    var objTr = objCheckBox.parentNode.parentNode;
    if (objCheckBox.checked) objTr.style.backgroundColor = '#d4dae5';
    else objTr.style.backgroundColor = '#fff';
}
function Mdl_AddToFavorite(objA, BoxID) {
    var Ajax = new XMLHttp();
    if (Ajax.Support) {
        Ajax.ErrHandler = function (err) { }
        Ajax.ResHandler = function (re) {
            if (parseInt(re) > 0) {
                objA.onclick = function () { return Mdl_RemoveFromFavorites(this, re) }
                objA.title = 'حذف از علاقه مندی ها';
                objA.innerHTML = '<img src="/Image/RemoveFromFavorite.png" alt="حذف از علاقه مندی ها" />حذف از علاقه مندی ها';
            }
        }
        Ajax.Create('/Product.aspx?ATFID=' + BoxID + '&rnd=' + Math.random());
    }
    return false
}
function Mdl_RemoveFromFavorites(objA, BoxID) {
    var Ajax = new XMLHttp();
    if (Ajax.Support) {
        Ajax.ErrHandler = function (err) { }
        Ajax.ResHandler = function (re) {
            if (parseInt(re) > 0) {
                objA.onclick = function () { return Mdl_AddToFavorite(this, re) }
                objA.title = 'اضافه به علاقه مندی ها';
                objA.innerHTML = '<img src="/Image/AddToFavorite.gif" alt="اضافه به علاقه مندی ها" />اضافه به علاقه مندی ها';
            }
        }
        Ajax.Create('/Product.aspx?RFFID=' + BoxID + '&rnd=' + Math.random());
    }
    return false
}
function Mdl_AddItemsToBasket() {
    var Content = '';
    var objMdlProgressBar = document.getElementById('ModalProgressBar').style;
    var objMdlContent = document.getElementById('ModalContent');
    var objInputs = objMdlContent.getElementsByTagName('INPUT');
    for (var i = 0; i < objInputs.length; i += 2) {
        if (!objInputs[i].checked) continue;
        Content += objInputs[i].value + '|' + objInputs[i + 1].value + ',';
    }
    if (Content != '') {
        objMdlProgressBar.display = 'block';
        Content = Content.substring(0, Content.length - 1);
        var Ajax = new XMLHttp();
        if (Ajax.Support) {
            Ajax.ErrHandler = function (err) {
                objMdlProgressBar.display = 'none';
                alert('مرورگر وب قادر به دریافت اطلاعات از سایت نمی باشد');
            }
            Ajax.ResHandler = function (re) {
                if (parseInt(re) == '') {
                    document.getElementById('ctl00_pnl_CartPreview').style.display = 'none';
                } else {
                    document.getElementById('pnl_CartPreViewInside').innerHTML = re;
                    document.getElementById('ctl00_pnl_CartPreview').style.display = 'block';
                }
                objMdlProgressBar.display = 'none';
                window.clearTimeout(MdlFadeTimer);
                FadeMdlMsgPnl(100);
                document.getElementById('MdlMsg').style.display = 'inline-block';
            }
            Ajax.Create('/AddToCart.aspx?NewCartValue=' + Content + '&rnd=' + Math.random());
        }
    }
    return false
}
function InitTopMenu() {
    var oItems = document.getElementById('TopMenu').getElementsByTagName('li');
    for (var i = 0; i < oItems.length; i++) {
        if (oItems[i].getElementsByTagName('ul').length > 0) {
            oItems[i].className = 'HasChild';
            oItems[i].firstChild.onclick = function (e) {
                var oItem = this.parentNode;
                if (oItem.className == 'HasChild') {
                    oItem.className = ' Active';
                    if (OpenTopMenuItem) OpenTopMenuItem.className = 'HasChild';
                    OpenTopMenuItem = oItem;
                } else {
                    oItem.className = 'HasChild';
                    OpenTopMenuItem = null;
                }
                var evt = e || window.event;
                if (evt.stopPropagation) evt.stopPropagation();
                else evt.cancelBubble = true;
                return false
            }
        }
    }
}
function FadeMdlMsgPnl(OpacityLevel) {
    with (document.getElementById('MdlMsg')) {
        style.opacity = OpacityLevel / 100;
        style.filter = 'alpha(opacity=' + OpacityLevel + ')';
    }
    var Delay = (OpacityLevel == 100) ? 3000 : 50;
    if (OpacityLevel == 0) return;
    OpacityLevel -= 10;
    if (OpacityLevel > 0) FadeTimer = window.setTimeout('FadeMdlMsgPnl(' + OpacityLevel + ')', Delay);
    else FadeTimer = window.setTimeout('FadeMdlMsgPnl(0)', Delay);
}
