//^^^^^^^^^^^^^^^^^^^^^^^^ /Scripts/config.js: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/*
 * EF framework
 */
var EF = {};
EF.Config = {};
EF.Constants = {};
EF.Constants.Links = {};
EF.Constants.QueryParams = {};
EF.Constants.Links.Checkout = 'https://www.outhandbag.com/CataLog/ShoppingCart/Cart.asp';

/*
 * Link to Live Chat
 */
EF.Config.LiveChatSite = '/';
EF.Constants.Links.LiveChatEnterPage = EF.Config.LiveChatSite + 'CataLog/Support/Help.asp';

/*
 * Links to customer account pages
 */
EF.Constants.Links.Url = '/';
EF.Constants.Links.WishListBasePage = '/';
EF.Constants.Links.WishListPage = EF.Constants.Links.WishListBasePage + '?FromLink=true';
EF.Constants.Links.LoginUrl = 'https://www.outhandbag.com/CataLog/Member/Login.asp';
EF.Constants.Links.RegisterUrl ='https://www.outhandbag.com/CataLog/Member/CustomerRegistration.asp';
EF.Constants.Links.QuestionerActivateService ='/CataLog/Support/QuestionerServicePage.asp';
EF.Constants.Links.BagForum ='/Bag-forum/';
EF.Constants.Links.AllPromotions ='/';
EF.Constants.Links.InterviewsHP = '/'
EF.Constants.Links.ProductsCompare = 'https://www.outhandbag.com/CataLog/ShoppingCart/Cart.asp'

EF.Constants.QueryParams.InterviewBackUrlParam ='interviewRef';
EF.Constants.QueryParams.CustomerLoginRedirect = "referer";

EF.Config.CompanyInfo = {
  companyAdress:{
    companyName:"CcMsp, Inc.",
    building:"619",
    street:"Oak Moss Dr",
    office:"",
    city:"Lawrenceville",
    state:"GA",
    zip:"30043",
    country:"USA",
    firstLine:"619 Oak Moss Dr",
    secondLine:"Lawrenceville, GA 30043",
    whole:"619 Oak Moss Dr, Lawrenceville, GA 30043"
  },
  companyPhones:{
    customerService:"(877)995-7888",
    officePhone:"(770)995-7888",
    _default:"(770)995-7888"
  },
  companyFaxes:{
    mailOrder:"(770)685-1145",
    _default:"(770)685-1145"
  },
  companyEmails:{
    _default:"CustomerService@OutHandbag.com",
    customerService:"CustomerService@OutHandbag.com",
    marketing:"Corporate@OutHandbag.com",
    links:"LinkExchange@OutHandbag.com",
    privacy:"Privacy@OutHandbag.com",
    editorial:"Editorial@OutHandbag.com",
    news:"EFNews@OutHandbag.com",
    items:[
      "Customer Service",
      "Marketing",
      "Links",
      "Privacy",
      "Editorial",
      "News"
    ]
  },
  companyHoursOfOperation:{
    hoursOfOperations:"8am - 4pm EST, from Monday to Friday",
    _default:"8am - 4pm EST, from Monday to Friday"
  }
};

EF.Constants.ProductClass = {
  GiftWraps: 'GiftWraps',
  BasketWrap: 'BasketWrap'
};

EF.Constants.Cart = {
  MaxProductsCount: 20
};
EF.Constants.WishList = {
  MaxDesiredQuantity: 100
};

EF.Constants.ReturnReasonsWithNoShipping = [1,2,3,4,5];

EF.Constants.KeyNames = {
  ERROR_STACK_TRACE_PROPERTY_NAME: "errorStackTrace",
  WISH_LIST_ID_PARAM: "WishListID"
};

EF.ErrorsManage = {
  INCLUDE_STACK: true,
  STACK_TRACE_MAX_DEPTH : 10,
  DUMPING_DEPTH_LIMIT: 2, //null - unlimited dumping depth
  DUMPING_STRING_MAX_LENGTH: 300
};





////////////////////////////////////////////////////////////////////////////////////////////


/**
 * Namespace for common controls
 */
EF.CommonControls = {};

EF.Config.ProductImages = {
  mainImageUrlTemplate: '/Images/Items/100x100/Handbags_#productCode#.jpg',
  bigAlternativeViewImageUrl: '/Images/Items/#productCode#.jpg',
  productTapeImageUrlTemplate: '/Images/Items/100x100/Handbags_#productCode#.jpg',
  alternateViewThumbSrcTemplate: '/Images/Items/#productCode#_#number#_thumbnail.jpg',
  productSrcTemplate: '/Images/Items/#productCode##_number#.jpg',
  productViewThumbnails: '/Images/Items/#productCode#_#number#_thumbnail.jpg'
};


EF.Config.URL = '/';
EF.Config.Facebook_APIKey = 'a5c02a3156c43c0311cedcef99295513';

(function($)
{
    var dataKeys=
    {
        destination:"destinationKey",toDisplayContainer:"toDisplayContainerKey",settings:"settingsKey",initialized:"initializedKey",displayed:"displayedKey",timer:"timerKey"
    };
    $.fn.bookmarksManager=function(params)
    {
        var defaults=
        {
            limitToPopularItems:false,showMainImageId:null
        };
        var settings=$.extend(
        {
        }
        ,defaults,params);
        var currentBookmarkManagerElem=this;
        var currentBookmarkManager=$(currentBookmarkManagerElem);
        currentBookmarkManager.data(dataKeys.settings,settings);
        var PageBookmarks=currentBookmarkManager.attr("id");
        var bookmarksInnerContainerID=PageBookmarks+"-inner";
        if(PageBookmarks&&!PageBookmarks.length)
        {
            return
        }
        var target,initialized=false,dest,displayed=false,mainImageDefaultId="bookmark-main-image",bookmarksContainer=new StringBuilder();
        if(!settings.showMainImageId)
        {
            var bookMarkWraper=$('<div id="bkmrk_blk" class="popup_cont" >');
            bookmarksContainer.add('<img id="').add(mainImageDefaultId).add('" class="bkmk_main_img" src="/images/button-bookmarks.gif" width="153" height="21" alt="Bookmarks">');
            bookMarkWraper.append($(bookmarksContainer.toString()));
            currentBookmarkManager.append(bookMarkWraper);
            target="#"+mainImageDefaultId;
            dest=$(target).parent()
        }
        else
        {
            target=("#"+settings.showMainImageId);
            dest=$(target).next()
        }
        var target=$(target);
        currentBookmarkManager.data(dataKeys.destination,dest);
        currentBookmarkManager.insertBookmarks=insertBookmarks;
        currentBookmarkManager.showBookmarks=showBookmarks;
        currentBookmarkManager.hideBookmarks=hideBookmarks;
        currentBookmarkManager.setTimeInterval=setTimeInterval;
        currentBookmarkManager.cancelTimeInterval=cancelTimeInterval;
target.click(function bm_targetClick()
{
    if(!currentBookmarkManager.data(dataKeys.initialized))
    {
        currentBookmarkManager.insertBookmarks();
        currentBookmarkManager.data(dataKeys.destination).add(target).bind("mouseleave",function()
        {
            currentBookmarkManager.setTimeInterval()
        }
        ).bind("mouseenter",function()
        {
            currentBookmarkManager.cancelTimeInterval()
        }
        )
    }
    currentBookmarkManager.showBookmarks()
}
);
return this
};
insertBookmarks=function BM_insertBookmarks()
{
var parentBookMarksElem=this;
var parentBookMarks=$(parentBookMarksElem);
if(parentBookMarks.data(dataKeys.initialized))
{
    return parentBookMarksElem
}
var bookmarks=new StringBuilder();
var bookmarksToDisplayContainer=$('<div class="bk_cont" />');
bookmarks.add('<span class="book_share">Bookmark and share this page using:</span>').add("<a href=\"javascript:SetBookmark('facebook.com');\"><span class='bkicon icon-facebook'></span><span class='serv_name'>Facebook</span></a>").add("<a href=\"javascript:SetBookmark('twitter.com');\"><span class='bkicon icon-twitter'></span><span class='serv_name'>Twitter</span></a>").add("<a href=\"javascript:SetBookmark('buzz.yahoo.com');\"><span class='bkicon icon-buzz'></span><span class='serv_name'>Yahoo BUZZ</span></a>").add("<a href=\"javascript:SetBookmark('propeller.com');\"><span class='bkicon icon-propeller'></span><span class='serv_name'>Propeller</span></a>").add("<a href=\"javascript:SetBookmark('del.icio.us');\"><span class='bkicon icon-delicious'></span><span class='serv_name'>Del.icio.us</span></a>").add("<a href=\"javascript:SetBookmark('reddit.com');\"><span class='bkicon icon-reddit'></span><span class='serv_name'>Reddit</span></a>").add("<a href=\"javascript:SetBookmark('diigo.com');\"><span class='bkicon icon-diigo'></span><span class='serv_name'>Diigo</span></a>").add("<a href=\"javascript:SetBookmark('stumbleupon.com');\"><span class='bkicon icon-stumble'></span><span class='serv_name'>Stumble Upon</span></a>").add("<a href=\"javascript:SetBookmark('simpy.com');\"><span class='bkicon icon-simpy'></span><span class='serv_name'>Simpy</span></a>").add("<a href=\"javascript:SetBookmark('linkatopia.com');\"><span class='bkicon icon-linkatopia'></span><span class='serv_name'>Linkatopia</span></a>").add("<a href=\"javascript:SetBookmark('taggly.com');\"><span class='bkicon icon-taggly'></span><span class='serv_name'>Taggly</span></a>").add("<a href=\"javascript:SetBookmark('wink.com');\"><span class='bkicon icon-wink'></span><span class='serv_name'>Wink</span></a>");
if(!parentBookMarks.data(dataKeys.settings).limitToPopularItems)
{
    bookmarks.add("<a class=\"it_delim\" href=\"javascript:SetBookmark('thisnext.com');\"><span class='bkicon icon-thisnext'></span><span class='serv_name'>Thisnext</span></a>").add("<a href=\"javascript:SetBookmark('wists.com');\"><span class='bkicon icon-wists'></span><span class='serv_name'>Wists</span></a>").add("<a href=\"javascript:SetBookmark('kaboodle.com');\"><span class='bkicon icon-kaboodle'></span><span class='serv_name'>Kaboodle</span></a>").add("<a href=\"javascript:SetBookmark('trezr.com');\"><span class='bkicon icon-trezr'></span><span class='serv_name'>Trezr</span></a>")
}
bookmarksToDisplayContainer.append(bookmarks.toString());
parentBookMarks.data(dataKeys.toDisplayContainer,bookmarksToDisplayContainer);
parentBookMarks.data(dataKeys.destination).append(bookmarksToDisplayContainer);
bookmarksToDisplayContainer.bind("mouseenter",function()
{
    parentBookMarksElem.cancelTimeInterval()
}
);
parentBookMarks.data(dataKeys.initialized,true);
return parentBookMarksElem
};
showBookmarks=function BM_showBookmarks()
{
var bkCont=$(this);
if(bkCont.data(dataKeys.displayed))
{
    return this
}
bkCont.data(dataKeys.toDisplayContainer).show();
bkCont.data(dataKeys.displayed,true);
return this
};
hideBookmarks=function BM_hideBookmarks()
{
var bkCont=$(this);
if(!bkCont.data(dataKeys.displayed))
{
    return this
}
bkCont.data(dataKeys.toDisplayContainer).hide();
this.cancelTimeInterval();
bkCont.data(dataKeys.displayed,false);
return this
};
setTimeInterval=function BM_setTimeInterval()
{
var bkCont=$(this);
if(!bkCont.data(dataKeys.displayed))
{
    return this
}
var parentBookMarks=this.cancelTimeInterval();
var tm=window.setTimeout(function BM_setTimeout()
{
    parentBookMarks.hideBookmarks()
}
,300);
bkCont.data(dataKeys.timer,tm);
return this
};
cancelTimeInterval=function BM_cancelTimeInterval()
{
var bkCont=$(this);
var tm=bkCont.data(dataKeys.timer);
if(tm)
{
    window.clearTimeout(tm);
    bkCont.data(dataKeys.timer,null)
}
return this
}
}
)(jQuery);
function SetBookmark(Site)
{
    switch(Site)
    {
        case"del.icio.us":location.href="http://del.icio.us/post?v=4;url="+encodeURIComponent(location.href)+";title="+encodeURIComponent(document.title);
        break;
        case"linkatopia.com":var wd=window.document,s=wd.createElement("script");
        s.id="ks";
        s.type="text/javascript";
        s.src="http://linkatopia.com/innerpop_js.php";
        void (wd.body.appendChild(s));
        break;
        case"simpy.com":if(window.getSelection)
        {
            txt=window.getSelection()
        }
        else
        {
            if(document.getSelection)
            {
                txt=document.getSelection()
            }
            else
            {
                if(document.selection)
                {
                    txt=document.selection.createRange().text
                }
            }
        }
        location.href="http://www.simpy.com/simpy/LinkAdd.do?title="+encodeURIComponent(document.title)+"&href="+encodeURIComponent(location.href)+"&note="+encodeURIComponent(txt)+"&_doneURI="+encodeURIComponent(location.href)+"&v=7&src=bookmarklet";
        break;
        case"reddit.com":location.href="http://reddit.com/submit?url="+encodeURIComponent(location.href)+"&title="+encodeURIComponent(document.title);
        break;
        case"taggly.com":x=document;
        a=encodeURIComponent(x.location.href);
        t=encodeURIComponent(x.title);
        if(navigator.appName.indexOf("Explorer")!=-1)
        {
            d=encodeURIComponent(document.selection.createRange().text)
        }
        else
        {
            d=encodeURIComponent(window.getSelection())
        }
        location.href="http://www.taggly.com/bookmarks/?action=add&address="+a+"&title="+t+"&description="+d;
        void 0;
        break;
case"diigo.com":(function()
{
    s=document.createElement("script");
    s.type="text/javascript";
    s.src="http://www.diigo.com/javascripts/webtoolbar/diigolet_b_h_b.js";
    document.body.appendChild(s)
}
)();
break;
case"wink.com":var e=encodeURIComponent,d=document;
if(navigator.appName.indexOf("Explorer")!=-1)
{
    void (location.href="http://wink.com/_/tag?url="+e(location.href)+"&ttl="+e(d.title))
}
else
{
    void (open("http://wink.com/_/tag?url="+e(location.href)+"&ttl="+e(d.title)+"&d="+e(d.selection?d.selection.createRange().text:d.getSelection()),"wink","dialog=1,modal=1,width=400,height=300"))
}
break;
case"thisnext.com":(function()
{
    var x=document.getElementsByTagName("head").item(0);
    var so=document.createElement("script");
    var s="http://www.thisnext.com/js/bookmarklet/"+location.hostname.split(".").reverse().join("/")+"/";
    if(typeof so!="object")
    {
        so=document.standardCreateElement("script")
    }
    so.setAttribute("src",s);
    so.setAttribute("type","text/javascript");
    x.appendChild(so)
}
)();
break;
case"wists.com":(function()
{
    if(document.getElementById)
    {
        var x=document.getElementsByTagName("head").item(0);
        var o=document.createElement("script");
        if(typeof o!="object")
        {
            o=document.standardCreateElement("script")
        }
        o.setAttribute("src","http://www.wists.com/wistlet.js?x="+Math.floor(Math.random()*9999));
        o.setAttribute("type","text/javascript");
        x.appendChild(o)
    }
}
)();
break;
case"kaboodle.com":if(navigator.appName.indexOf("Explorer")!=-1)
{
    var _mg56v="0.2";
(function()
{
    var d=document;
    var s;
    try
    {
        s=d.standardCreateElement("script")
    }
    catch(e)
    {
    }
    if(typeof(s)!="object")
    {
        s=d.createElement("script")
    }
    s.type="text/javascript";
    s.src="http://www.kaboodle.com/zg/g.js";
    s.id="c_grab_js";
    d.getElementsByTagName("head")[0].appendChild(s)
}
)()
}
else
{
var _mg56v="0.3";
(function()
{
    var d=document;
    var s;
    try
    {
        s=d.standardCreateElement("script")
    }
    catch(e)
    {
    }
    if(typeof(s)!="object")
    {
        s=d.createElement("script")
    }
    try
    {
        s.type="text/javascript";
        s.src="http://www.kaboodle.com/zg/g.js";
        s.id="c_grab_js";
        d.getElementsByTagName("head")[0].appendChild(s)
    }
    catch(e)
    {
        window.location="http://www.kaboodle.com/za/selectpage?p_pop=false&amp;pa=url&amp;u="+window.location
    }
}
)()
}
break;
case"trezr.com":window.location="http://www.trezr.com/post";
break;
case"facebook.com":window.location="http://www.facebook.com/share.php?u="+window.location+"&t=Share";
break;
case"twitter.com":window.location="http://twitter.com/home?status=Browsing%20"+window.location+"+@OutHandbag";
break;
case"buzz.yahoo.com":window.location="http://buzz.yahoo.com/buzz?targetUrl="+window.location+"&headline="+document.title+"&src=EF";
break;
case"propeller.com":window.location="http://www.propeller.com/submit/?U="+window.location+"&T="+document.title+"";
break;
case"stumbleupon.com":window.location="http://www.stumbleupon.com/submit?url="+window.location+"&title="+document.title+"";
break
}
};
(function($)
{
    $.dimensions=
    {
        version:"1.2"
    };
    $.each(["Height","Width"],function(i,name)
    {
        $.fn["inner"+name]=function()
        {
            if(!this[0])
            {
                return
            }
            var torl=name=="Height"?"Top":"Left",borr=name=="Height"?"Bottom":"Right";
            return this.is(":visible")?this[0]["client"+name]:num(this,name.toLowerCase())+num(this,"padding"+torl)+num(this,"padding"+borr)
        };
        $.fn["outer"+name]=function(options)
        {
            if(!this[0])
            {
                return
            }
            var torl=name=="Height"?"Top":"Left",borr=name=="Height"?"Bottom":"Right";
            options=$.extend(
            {
                margin:false
            }
            ,options||
            {
            }
            );
            var val=this.is(":visible")?this[0]["offset"+name]:num(this,name.toLowerCase())+num(this,"border"+torl+"Width")+num(this,"border"+borr+"Width")+num(this,"padding"+torl)+num(this,"padding"+borr);
            return val+(options.margin?(num(this,"margin"+torl)+num(this,"margin"+borr)):0)
        }
    }
    );
    $.each(["Left","Top"],function(i,name)
    {
        $.fn["scroll"+name]=function(val)
        {
            if(!this[0])
            {
                return
            }
return val!=undefined?this.each(function()
{
    this==window||this==document?window.scrollTo(name=="Left"?val:$(window)["scrollLeft"](),name=="Top"?val:$(window)["scrollTop"]()):this["scroll"+name]=val
}
):this[0]==window||this[0]==document?self[(name=="Left"?"pageXOffset":"pageYOffset")]||$.boxModel&&document.documentElement["scroll"+name]||document.body["scroll"+name]:this[0]["scroll"+name]
}
}
);
$.fn.extend(
{
position:function()
{
var left=0,top=0,elem=this[0],offset,parentOffset,offsetParent,results;
if(elem)
{
    offsetParent=this.offsetParent();
    offset=this.offset();
    parentOffset=offsetParent.offset();
    offset.top-=num(elem,"marginTop");
    offset.left-=num(elem,"marginLeft");
    parentOffset.top+=num(offsetParent,"borderTopWidth");
    parentOffset.left+=num(offsetParent,"borderLeftWidth");
    results=
    {
        top:offset.top-parentOffset.top,left:offset.left-parentOffset.left
    }
}
return results
}
,offsetParent:function()
{
var offsetParent=this[0].offsetParent;
while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&$.css(offsetParent,"position")=="static"))
{
    offsetParent=offsetParent.offsetParent
}
return $(offsetParent)
}
}
);
function num(el,prop)
{
    return parseInt($.curCSS(el.jquery?el[0]:el,prop,true))||0
}
}
)(jQuery);
if(typeof EF=="undefined")
{
throw new Error("EF object is required for client-side scripts")
}
String.prototype.trim=function()
{
a=this.replace(/^\s+/,"");
return a.replace(/\s+$/,"")
};
function cText(obj,textToRemove)
{
    obj.value=obj.value.replace(textToRemove,"")
}
function addText(obj,textToAdd)
{
    if(obj.value.trim()=="")
    {
        obj.value=textToAdd
    }
}
function SetHackerSafeContextMenu()
{
    var ObjImageHacker=document.getElementById("secure_image");
    if(ObjImageHacker)
    {
        ObjImageHacker.oncontextmenu=function()
        {
            alert("Copying Prohibited by Law - HACKER SAFE is a Trademark of ScanAlert");
            return false
        }
    }
}
function OpenCertDetails(URL)
{
    thewindow=window.open(URL,"anew",config="height=550,width=500,toolbar=no,menubar=no,scrollbars=yes,resizable=yes,location=no,directories=no,status=yes")
}
function OpenNewWindow(url)
{
    thewindow=window.open(url)
}
function OpenSmallWindow(url)
{
    thewindow=window.open(url,"anew",config="height=550,width=600,toolbar=no,menubar=no,scrollbars=yes,resizable=yes,location=no,directories=no,status=yes")
}
function _cln_enter()
{
    window.open("http://chat.livechatnow.com/js/enter.php?url=&refer=&name=&email=&skin=lime1&survey=&survey_ec=&survey_lm=&user=&uid=&sid=&cid=16137&op=&ip=&group=General&q=&track=","_chat_16137","resizable=yes,menubar=no,scrollbars=no, width=600, height=500");
    return false
}
function GoToBestseller(Pid,View)
{
    var theform;
    theform=document.forms.BestForm;
    theform.BestPid.value="mBags-"+Pid;
    theform.View.value=View;
    theform.submit()
}
function removeClass(obj,className)
{
    var classNames=obj.className.split(" ");
    var result=[];
    for(var i=0;i<classNames.length;i++)
    {
        if(classNames[i]!==""&&classNames[i]!=className)
        {
            result[result.length]=classNames[i]
        }
    }
    obj.className=result.join(" ")
}
function addClass(obj,className)
{
    obj.className+=" "+className
}
function ContainsClass(obj,className)
{
    var classNames=obj.className.split(" ");
    var ObjectContainsClass=false;
    for(var i=0;i<classNames.length;i++)
    {
        if(classNames[i]==className)
        {
            ObjectContainsClass=true
        }
    }
    return ObjectContainsClass
}
function TrackingUrlSection()
{
    var oTrackingUrlSection=document.getElementById("tracking_url_section");
    var TableGetUrl=document.getElementById("table_panel_get_url");
    var SelectTags=document.getElementsByTagName("select");
    var ObjectTags=document.getElementsByTagName("object");
    if(oTrackingUrlSection.style.display=="none")
    {
        oTrackingUrlSection.style.display="block";
        addClass(TableGetUrl,"active_option");
        document.getElementById("lblUrl").innerHTML=window.location.href;
        var textarea=document.getElementById("txtComment");
        textarea.focus();
        for(i=0;i<ObjectTags.length;i++)
        {
            addClass(ObjectTags[i],"v_hidden")
        }
        if(window.navigator.appName.toLowerCase().indexOf("microsoft")>-1)
        {
            for(i=0;i<SelectTags.length;i++)
            {
                addClass(SelectTags[i],"v_hidden")
            }
        }
    }
    else
    {
        oTrackingUrlSection.style.display="none";
        removeClass(TableGetUrl,"active_option");
        for(i=0;i<ObjectTags.length;i++)
        {
            removeClass(ObjectTags[i],"v_hidden")
        }
        if(window.navigator.appName.toLowerCase().indexOf("microsoft")>-1)
        {
            for(i=0;i<SelectTags.length;i++)
            {
                removeClass(SelectTags[i],"v_hidden")
            }
        }
    }
    GrabUrl_SetTitle()
}
function increaseNumberInSpan(SpanId)
{
    var objNumGrUrl=document.getElementById(SpanId);
    objNumGrUrl.innerHTML=((parseInt(objNumGrUrl.innerHTML,10)+1).toString())
}
function SaveURL(CommentQueryStringParam)
{
    objTxtComment=document.getElementById("txtComment");
    objImageSaveUrl=document.getElementById("img_save_url");
    objUrl=document.getElementById("lblUrl");
    var URL;
    Uri="/GrabUrl.asp";
    URL=Uri+"?"+CommentQueryStringParam+"="+URLEncode(objTxtComment.value)+"&grabbedurl="+URLEncode(objUrl.innerHTML);
    objImageSaveUrl.src=URL;
    TrackingUrlSection();
    increaseNumberInSpan("num_gr_urls")
}
function GrabProduct(Uri,GrabProdQueryParam)
{
    var objImgGrabProd=document.getElementById("img_grab_prod");
    var URL;
    if(Uri.indexOf("?")>-1)
    {
        URL=Uri+"&"+GrabProdQueryParam+"=1"
    }
    else
    {
        URL=Uri+"?"+GrabProdQueryParam+"=1"
    }
    objImgGrabProd.src=URL;
    var objBtnGrab=document.getElementById("btn_grab_prod");
    addClass(objBtnGrab,"hidden");
    objBtnGrab=document.getElementById("img_grabed_prod");
    removeClass(objBtnGrab,"hidden");
    increaseNumberInSpan("num_prod_desk")
}
function SelectTextBox(obj)
{
    if(!obj)
    {
        return
    }
    obj.select()
}
function EncodeHtml(str)
{
    var ret=str;
    ret=ret.replace("&","&amp;","gi");
    ret=ret.replace("<","&lt;","gi");
    ret=ret.replace(">","&gt;","gi");
    ret=ret.replace("'","'","gi");
    ret=ret.replace('"',"&quot;","gi");
    return ret
}
function MyUrls_OnSubmit()
{
    tags=document.getElementsByTagName("textarea");
    for(i=0;i<tags.length;i++)
    {
        if(tags[i].id.indexOf("txtHtmlTag")>=0)
        {
            tags[i].style.display="none";
            tags[i].value=""
        }
        if(tags[i].id.indexOf("txtComment")>=0)
        {
            tags[i].style.display="none";
            tags[i].value=EncodeHtml(tags[i].value)
        }
    }
}
function GrabUrl_OnSubmit()
{
    obj=document.getElementById("txtComment");
    if(!obj)
    {
        return
    }
    obj.value=EncodeHtml(obj.value)
}
function GrabUrl_SetTitle()
{
    obj=document.getElementById("txtComment");
    if(!obj)
    {
        return
    }
    obj.value=document.title
}
function SetCookie(c_name,value,expiredays,doNotEscape,path)
{
    var exdate=new Date();
    exdate.setDate(exdate.getDate()+expiredays);
    var domainStr="";
    domainStr=";domain=";
    var host=window.location.hostname;
    if(host.match(/^(?:\d+\.){3}\d+$/))
    {
        domainStr+=host
    }
    else
    {
        domainStr+=host.match(/^([^\.]+\.)?([^\.]+\.[^\.]+\.[^\.]+)$/)[2]
    }
    document.cookie=c_name+"="+(doNotEscape?value:escape(value))+";path="+(path?path:"/")+((!expiredays)?"":";expires="+exdate.toGMTString())+domainStr
}
function GetCookie(c_name)
{
    if(document.cookie.length>0)
    {
        c_start=document.cookie.indexOf(c_name+"=");
        if(c_start!=-1)
        {
            c_start=c_start+c_name.length+1;
            c_end=document.cookie.indexOf(";",c_start);
            if(c_end==-1)
            {
                c_end=document.cookie.length
            }
            return unescape(document.cookie.substring(c_start,c_end))
        }
    }
    return""
}
function DeleteCookie(name)
{
    SetCookie(name,"",-365)
}
function Tagging_hideErrors()
{
    $("#tagWrongSymbols").hide();
    $("#tagError").hide();
    $("#tagOkRemoved").hide()
}
function Tagging_showError(num)
{
    switch(num)
    {
        case 0:$("#tagWrongSymbols").show();
        break;
        case 1:$("#tagError").show();
        break;
        case 2:$("#tagOkRemoved").show();
        break
    }
}
function Tagging_add()
{
    Tagging_hideErrors();
    var data=
    {
        RawTags:$("#txtRawTag").val(),Action:"add"
    };
    jQuery.extend(data,eval("("+$("#hTaggingParams").val()+")"));
    if(!/[^a-zA-Z0-9\s,]+/i.test($("#txtRawTag").val()))
    {
        $.ajax(
        {
            url:"/controls/TagActions.asp",data:data,dataType:"json",type:"POST",success:Tagging_addResponse
        }
        )
    }
    else
    {
        Tagging_showError(0)
    }
    $("#txtRawTag").val("")
}
function Tagging_delete(rid)
{
    Tagging_hideErrors();
    var data=
    {
        RID:rid,Action:"delete"
    };
    jQuery.extend(data,eval("("+$("#hTaggingParams").val()+")"));
    $.ajax(
    {
        url:"/controls/TagActions.asp",data:data,dataType:"json",type:"POST",success:Tagging_deleteResponse
    }
    )
}
function Tagging_addResponse(resp)
{
    var divRawTags=document.getElementById("divTags");
    if(resp.status!==0)
    {
        $("#divTags").prepend('<div class="rawtag" id=\'tag'+resp.RID+'\'><span class="tagtext">'+resp.RawTag+'</span><a href="javascript:Tagging_delete('+resp.RID+');"><img src="/Images/Handbags/tag-btn-remove.gif" width="11" height="9" alt="remove tag" ></a></div>')
    }
    else
    {
        Tagging_showError(1)
    }
    $("#txtRawTag").val("")
}
function Tagging_deleteResponse(resp)
{
    if(resp.status!==0)
    {
        $("#tag"+resp.rid).remove();
        Tagging_showError(2)
    }
    else
    {
        Tagging_showError(1)
    }
}
function tag_add_enter(e)
{
    if(e.keyCode==13)
    {
        Tagging_add();
        return false
    }
    return true
}
function URLEncode(value)
{
    if(encodeURIComponent)
    {
        return encodeURIComponent(value)
    }
    if(escape)
    {
        return escape(value)
    }
}
function URLDecode(value)
{
    if(decodeURIComponent)
    {
        return decodeURIComponent(value)
    }
    if(unescape)
    {
        return unescape(value)
    }
}
function RegisterPCode()
{
    var pcode,PartnerCode,RequestId,pcodeCookieName="PartnerCode",pCodeRe=new RegExp(/^#(.*-)?pcode-([a-z0-9]+)/i);
    var arr=pCodeRe.exec(window.location.hash);
    if(arr!=null&&arr.length>=3)
    {
        pcode=arr[2]
    }
    var pcode_arr=/\s*PartnerCode\s*=\s*([a-z0-9]+)\s*;?/i.exec(document.cookie);
    if(pcode_arr!=null&&pcode_arr.length>=2)
    {
        PartnerCode=pcode_arr[1]
    }
    var request_arr=/\s*RequestID\s*=\s*(\d+)\s*;?/i.exec(document.cookie);
    if(request_arr!=null&&request_arr.length>=2)
    {
        RequestId=request_arr[1]
    }
    var regenerate=false,pCodesAlwaysRegenerated=["PC4YT3"],forceRegenerate=false;
    regenerate=pcode!=null&&PartnerCode!=null&&RequestId!=null&&pcode!=PartnerCode;
    if(pcode)
    {
        $.each(pCodesAlwaysRegenerated,function(counter,alwPCode)
        {
            if(pcode.toLowerCase()==alwPCode.toString().toLowerCase())
            {
                forceRegenerate=true
            }
            return !forceRegenerate
        }
        )
    }
    var expirationInDays=365;
    if((PartnerCode==null&&pcode!=null)||(PartnerCode!=null&&RequestId==null)||regenerate||forceRegenerate)
    {
        var pcodeValue=((pcode!=null)?pcode:PartnerCode);
        SetCookie(pcodeCookieName,pcodeValue,expirationInDays,true);
        DeleteCookie("RequestID");
        if(document.referrer!="")
        {
            SetCookie("Referrer",document.referrer,expirationInDays,true)
        }
        if(document.location.toString()!="")
        {
            SetCookie("CurrentUrl",document.location.toString(),expirationInDays,true)
        }
        $.ajax(
        {
            url:"/register-pcode.asp",type:"GET",cache:false,data:
            {
                PartnerCode:pcodeValue,Referrer:document.referrer,CurrentUrl:document.location.toString()
            }
        }
        );
        DeleteCookie("LSID");
        DeleteCookie("tp_session");
        DeleteCookie("PpcSettings");
        if(forceRegenerate)
        {
$(document).ready(function()
{
    window.location.hash=window.location.hash.replace(/pcode-([a-z0-9]+)/i,"")
}
)
}
}
}
function Contributor_CheckProduct(pid)
{
    $.getJSON("/AddContributorProduct.asp",
    {
        pid:pid
    }
    ,function(json)
    {
        if(json.status==1)
        {
            $("#objContributorAddProduct").hide();
            $("#objContributorAddedProduct").show()
        }
    }
    )
}
RegisterPCode();
function ShowDiscCode()
{
    var h_notice_txt=document.getElementById("h_notice_txt");
    h_notice_txt.style.display="block"
}
function HideDiscCode()
{
    var h_notice_txt=document.getElementById("h_notice_txt");
    h_notice_txt.style.display="none"
}
function RedirectTo(redir_link)
{
    window.location=redir_link
}
var PageHTMLFixes=
{
    hiddedElements:null,popupCounter:0,HideElements:function()
    {
        if($.browser.msie&&$.browser.version<7)
        {
            PageHTMLFixes.init();
            PageHTMLFixes.hiddedElements.addClass("v_hidden")
        }
        this.popupCounter++
    }
    ,ShowElements:function()
    {
        this.popupCounter--;
        if(this.popupCounter<0)
        {
            this.popupCounter=0
        }
        if(this.popupCounter<1)
        {
            if($.browser.msie&&$.browser.version<7)
            {
                PageHTMLFixes.init();
                PageHTMLFixes.hiddedElements.removeClass("v_hidden")
            }
        }
    }
    ,init:function()
    {
        if(!PageHTMLFixes.hiddedElements)
        {
            PageHTMLFixes.hiddedElements=$("select,object")
        }
    }
};
function addLoadEvent(func)
{
    var oldonload=window.onload;
    if(typeof window.onload!="function")
    {
        window.onload=func
    }
    else
    {
        window.onload=function()
        {
            if(oldonload)
            {
                oldonload()
            }
            func()
        }
    }
}
var keyCodes=
{
    backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,pauseBreak:19,capsLock:20,escape:27,pageUp:33,pageDown:34,end:35,home:36,leftArrow:37,upArrow:38,rightArrow:39,downArrow:40,insert:45,deleteKey:46,num0:48,num1:49,num2:50,num3:51,num4:52,num5:53,num6:54,num7:55,num8:56,num9:57,leftWindow:91,rightWindow:92,selectKey:93,numpad0:96,numpad1:97,numpad2:98,numpad3:99,numpad4:100,numpad5:101,numpad6:102,numpad7:103,numpad8:104,numpad9:105,multiply:106,add:107,subtract:109,decimalPoint:110,divide:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,numLock:144,scrollLock:145,semiColon:186,equalSign:187,comma:188,dash:189,period:190,forwardSlash:191,graveAccent:192,openBracket:219,backSlash:220,closeBracket:221,singleQuote:222
};
function StringBuilder()
{
    var strings=[];
    this.add=function SB_add(str)
    {
        strings.push(str);
        return this
    };
    this.toString=function SB_toString(separator)
    {
        return strings.join(separator?separator:"")
    };
    this.clear=function SB_clear()
    {
        strings.length=1
    }
}
var ajaxResultStatus=
{
    error:"Error",success:"Success"
};
var IAjaxResult=
{
    status:null
};
function parseBoolean(obj)
{
    var result=false;
    if(!obj||typeof obj!="string"&&typeof obj!="boolean")
    {
        return result
    }
    if(typeof obj=="boolean")
    {
        return obj
    }
    if(obj.toString().toLowerCase()=="true")
    {
        result=true
    }
    return result
}
function errorMessage(propertyName,description)
{
    this.propertyName=propertyName;
    this.description=description
}
var errorsMessagesCollection=
{
    getErrorsByPropertyName:function emc_GetAndRemoveErrorsByPropertyName(errors,propertyName)
    {
        var selectedErrors=$.grep(errors,function(item,index)
        {
            return(item.propertyName===propertyName)
        }
        );
        return selectedErrors
    }
    ,errorsToString:function emc_errorsToString(errors,delimiter)
    {
        var sb=new StringBuilder();
        $.each(errors,function(index,item)
        {
            sb.add(item.description)
        }
        );
        return sb.toString(delimiter)
    }
};
var UTILS=
{
};
UTILS.Currency=
{
    bankersRound:function(num)
    {
        var multiplier=Math.pow(10,7);
        var epsilon=1/multiplier;
        var absolute=Math.abs(num);
        var sign=num==0?0:(num<0?-1:1);
        var floored=Math.floor(absolute);
        var diff=Math.round((absolute-floored)*multiplier);
        if(Math.abs(diff-0.5*multiplier)/multiplier>epsilon)
        {
            return Math.round(absolute)*sign
        }
        if(floored%2<epsilon)
        {
            return floored*sign
        }
        return Math.ceil(absolute)*sign
    }
    ,roundCurrency:function(number)
    {
        return this.bankersRound(number*100)/100
    }
    ,formatAsCurrency:function(number)
    {
        var result=number;
        var isNegative=false;
        if(result<0)
        {
            isNegative=true;
            result=result*-1
        }
        result=this.roundCurrency(result).toString();
        if(result.indexOf(".")==-1)
        {
            result+=".00"
        }
        else
        {
            if(result.match(/^\d+\.\d$/))
            {
                result+="0"
            }
        }
        if(number>=1000)
        {
            result=result.replace(/(\d)(?=(\d{3})+\.)/g,"$1,")
        }
        return(isNegative?"- ":"")+"$"+result
    }
};
UTILS.String=
{
    parseBool:function(string)
    {
        switch(string.toLowerCase())
        {
            case"true":return true;
            case"false":return false
        }
        return null
    }
};
Function.prototype.inheritsFrom=function(baseClass)
{
    if(baseClass.constructor==Function)
    {
        this.prototype=new baseClass();
        for(var prop in baseClass)
        {
            delete this.prototype[prop]
        }
        this.prototype.constructor=this;
        this.prototype.base=baseClass.prototype
    }
};
$(document).ready(function()
{
    SetHackerSafeContextMenu();
    $("#PageBookmarks").bookmarksManager();
$("#webdir").click(function()
{
    window.location="/LinkExchange.asp"
}
)
}
);
if(!this.FJSON)
{
FJSON=function()
{
function f(n)
{
    return n<10?"0"+n:n
}
Date.prototype.toFJSON=function(key)
{
  return this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z"};var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapeable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep,_maxDepth=null,_stackTraceFormating=false;var maxReachedText="MAX_DEPTH_LEVEL_REACHED";var maxStringLengthText=EF.ErrorsManage.DUMPING_STRING_MAX_LENGTH;function quote(string){if(_maxDepth&&string.length>maxStringLengthText){string=string.substring(0,maxStringLengthText)+"..."}escapeable.lastIndex=0;return escapeable.test(string)?'"'+string.replace(escapeable,function(a){var c=meta[a];if(typeof c==="string"){return c}return"\\u"+("0000"+(+(a.charCodeAt(0))).toString(16)).slice(-4)})+'"':'"'+string+'"'}function checkObjectProperties(obj,propName){return(obj&&propName&&typeof obj[propName]!="undefined"&&Object.hasOwnProperty.call(obj,propName))}function str(key,holder,repFunc,depth){if(!depth){depth=0}var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==="object"&&typeof value.toFJSON==="function"){value=value.toFJSON(key)}if(typeof rep==="function"){value=rep.call(holder,key,value)}switch(typeof value){case"string":return quote(value);case"number":return isFinite(value)?String(value):"null";case"boolean":case"null":return String(value);case"object":if(!value){return"null"}if(!_maxDepth||depth<=_maxDepth){gap+=indent}partial=[];if(typeof value.length==="number"&&value.propertyIsEnumerable&&!(value.propertyIsEnumerable("length"))){if(_maxDepth&&depth>_maxDepth){return quote(maxReachedText)}length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value,null,depth+1)||"null"}v=partial.length===0?"[]":gap?"[\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"]":"["+partial.join(",")+"]";gap=mind;return v}if(rep&&typeof rep==="object"){length=rep.length;for(i=0;i<length;i+=1){k=rep[i];if(typeof k==="string"){v=str(k,value,rep,depth+1);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}else{if(_maxDepth&&depth>_maxDepth){return quote(maxReachedText)}var isCustomProcessed=false;if(_stackTraceFormating){var eventParams=[];eventParams.push("type");eventParams.push("target");isCustomProcessed=true;for(var c=0;c<eventParams.length;c++){if(!checkObjectProperties(value,eventParams[c])){isCustomProcessed=false}}if(isCustomProcessed){for(c=0;c<eventParams.length;c++){v=str(eventParams[c],value,rep,depth+1);partial.push(quote(eventParams[c])+(gap?": ":":")+v)}}if(!isCustomProcessed){var _tagName="tagName";if(checkObjectProperties(value,_tagName)){var objTagName=value[_tagName];var resultString=objTagName.toString().toLowerCase();var objId=value.id;var objClassName=value.className;if(objId){resultString+="#"+objId}else{if(objClassName){resultString+="."+objClassName}}isCustomProcessed=true;return quote(resultString)}}}if(!isCustomProcessed){for(k in value){if(Object.hasOwnProperty.call(value,k)){v=str(k,value,rep,depth+1);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}}v=partial.length===0?"{}":gap?"{    \n"+gap+partial.join(",\n"+gap)+"\n"+mind+"}":"{"+partial.join(",")+"}";gap=mind;return v}}return{stringify:function FJSON_stringify(value,replacer,space,maxDepth,stackTraceFormating){_maxDepth=maxDepth;_stackTraceFormating=stackTraceFormating;var i;gap="";indent="";if(typeof space==="number"){for(i=0;i<space;i+=1){indent+=" "}}else{if(typeof space==="string"){indent=space}}rep=replacer;if(replacer&&typeof replacer!=="function"&&(typeof replacer!=="object"||typeof replacer.length!=="number")){throw new Error("FJSON.stringify")}return str("",{"":value})},parse:function FJSON_parse(text,reviver){if(!text){return null}if(typeof JSON!=="undefined"&&JSON.parse){return JSON.parse(text)}var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==="object"){for(k in value){if(Object.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v}else{delete value[k]}}}}return reviver.call(holder,key,value)}cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return"\\u"+("0000"+(+(a.charCodeAt(0))).toString(16)).slice(-4)})}if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver==="function"?walk({"":j},""):j}throw new SyntaxError("FJSON.parse")}}}()};


if(typeof EF.Utils=="undefined")
{
    EF.Utils=
    {
    }
}
if(typeof FJSON=="undefined")
{
    throw new Error("EF.Utils.Dumping requires FJSON utility. Initialization failed.")
}
EF.Utils.Dumping=
{
    _defaultFormat:"\t",_currentFormat:null,_maxDepth:EF.ErrorsManage.DUMPING_DEPTH_LIMIT,_maxTraceStringLength:200,dump:function UTD_dump(object,formating)
    {
        if(formating==null||formating)
        {
            EF.Utils.Dumping._currentFormat=EF.Utils.Dumping._defaultFormat
        }
        if(formating==false)
        {
            EF.Utils.Dumping._currentFormat=null
        }
        var objectText;
        try
        {
            var _stackTraceFormating=true;
            objectText=FJSON.stringify(object,function(key,value)
            {
                if(typeof value=="function")
                {
var reName=/function ?(.*?)\(/;
var m=reName.exec(value+"");
var name=m?m[1]:"function";
if(!name)
{
    name="anonymous"
}
return name+" ()"
}
if(key==EF.Constants.KeyNames.ERROR_STACK_TRACE_PROPERTY_NAME)
{
if(!object)
{
    return"null"
}
var rsScriptUrl=/@http:(.+):/g;
var stackText=value+"";
stackText=stackText.replace(rsScriptUrl,":line ");
stackText=stackText.replace(/\"/g,"'");var arrStackTrace=stackText.split(/\n/g);arrStackTrace=$.grep(arrStackTrace,function(n,i){return n});arrStackTrace=$.map(arrStackTrace,function(n,i){var traceItem=i>0?("at "+n):n;if(traceItem.length>EF.Utils.Dumping._maxTraceStringLength){traceItem=traceItem.substring(0,EF.Utils.Dumping._maxTraceStringLength)+"..."}return traceItem});return arrStackTrace}return value},EF.Utils.Dumping._currentFormat,EF.Utils.Dumping._maxDepth,_stackTraceFormating)}catch(e){objectText="Error dumping: "+e.message+" "}return objectText}};
if(typeof EF.Utils=="undefined")
{
    EF.Utils=
    {
    }
}
if(typeof EF.Utils.Dumping=="undefined")
{
    throw new Error("EF.Utils.StackTrace requires EF.Utils.Dumping. Initialization failed.")
}
EF.Utils.StackTrace=
{
    getStackTrace:function UTS_getStackTrace()
    {
        var stackTextReturned="";
        try
        {
            var s=[];
            var ignoredFunctions=["EL_unhandledLog","E_log","E_info","GE__getStackTrace","GE__formatError","GE__baseLog","GeneralError","GE_getErrorData"];
            var fnNext=arguments.callee;
            var iteration=0;
            while((fnNext=fnNext.caller))
            {
                if(iteration>EF.ErrorsManage.STACK_TRACE_MAX_DEPTH)
                {
                    s.push("MAX STACK TRACE LEVEL REACHED");
                    break
                }
                var includeCurrentFunc=true;
                var currFunc=fnNext.toString();
                $.each(ignoredFunctions,function()
                {
                    if(currFunc.indexOf(this)>-1)
                    {
                        includeCurrentFunc=false
                    }
                    return includeCurrentFunc
                }
                );
                if(includeCurrentFunc)
                {
                    var args=[];
                    for(var i=0;i<fnNext.arguments.length;i++)
                    {
                        var arg=fnNext.arguments[i];
                        var formating=false;
                        args.push(EF.Utils.Dumping.dump(arg,formating))
                    }
                    var funcText=EF.Utils.Dumping.dump(fnNext);
                    if(args.length)
                    {
                        funcText+=" with params ("+args.join(", ")+")"
                    }
                    s.push(funcText);
                    iteration++
                }
                if(fnNext.caller==fnNext)
                {
                    break
                }
            }
            stackTextReturned=s.join("\n")
        }
        catch(ex)
        {
            stackTextReturned="Error building stack trace";
            if(typeof ex.info!="undefined"&&typeof TraceLevel!="undefined")
            {
                ex.info("Error building stack trace",TraceLevel.Warning)
            }
            else
            {
                try
                {
                    EF.Utils.EmailLogger.log("Error building stack trace and sending error info. Error message:%s, trace level:%s",ex.message,TraceLevel.Error)
                }
                catch(e)
                {
                }
            }
        }
        return stackTextReturned
    }
};
if(typeof EF.Utils=="undefined")
{
    EF.Utils=
    {
    }
}
if(typeof EF.Utils.Dumping=="undefined"||typeof EF.Utils.StackTrace=="undefined")
{
    throw new Error("EF.Utils.EmailLogger requires EF.Utils.Dumping and EF.Utils.StackTrace. Initialization failed.")
}
var TraceLevel=
{
    Error:"Error",Warning:"Warning",Info:"Info",Verbose:"Verbose"
};
EF.Utils.EmailLogger=
{
    _defaultParams:
    {
        ErrorPerPageCount:"0",Message:null,Handled:true,TraceLevel:TraceLevel.Info
    }
    ,_maxErrorsLogCountPerPage:10,_errorsCount:0,_baseLog:function EL__baseLog(params)
    {
        if(++this._errorsCount>this._maxErrorsLogCountPerPage)
        {
            return
        }
        params.ErrorPerPageCount=this._errorsCount.toString()+(this._errorsCount==this._maxErrorsLogCountPerPage?": Last sent error.":"");
        $.ajax(
        {
            type:"POST",_systemRequest:true,url:"/Scripts/nocompress/utils/errorLog.ashx",data:params
        }
        )
    }
    ,unhandledLog:function EL_unhandledLog(message,url,lineNumber)
    {
        var rg=new RegExp(/xpopup\.js|chrome|ssl\.google-analytics\.com\/urchin\.js/);
        if(rg.test(url)||rg.test(message))
        {
            return
        }
        new GeneralError(
        {
            handled:false,name:"UnhandledError",message:message,url:url,lineNumber:lineNumber,includeStack:true,traceLevel:TraceLevel.Error
        }
        );
        return true
    }
    ,log:function EL_log()
    {
        var message=this._parseFormatBase.apply(this,arguments);
        var params=
        {
            Message:message,TraceLevel:TraceLevel.Verbose
        };
        var options=$.extend(
        {
        }
        ,EF.Utils.EmailLogger._defaultParams,params);
        EF.Utils.EmailLogger._baseLog(options)
    }
    ,info:function EL_info()
    {
        var message=this._parseFormatBase.apply(this,arguments);
        var params=
        {
            Message:message,TraceLevel:TraceLevel.Info
        };
        var options=$.extend(
        {
        }
        ,EF.Utils.EmailLogger._defaultParams,params);
        EF.Utils.EmailLogger._baseLog(options)
    }
    ,warning:function EL_warning()
    {
        var message=this._parseFormatBase.apply(this,arguments);
        var params=
        {
            Message:message,TraceLevel:TraceLevel.Warning
        };
        var options=$.extend(
        {
        }
        ,EF.Utils.EmailLogger._defaultParams,params);
        EF.Utils.EmailLogger._baseLog(options)
    }
    ,error:function EL_error()
    {
        var message=this._parseFormatBase.apply(this,arguments);
        var params=
        {
            Message:message,TraceLevel:TraceLevel.Error
        };
        var options=$.extend(
        {
        }
        ,EF.Utils.EmailLogger._defaultParams,params);
        EF.Utils.EmailLogger._baseLog(options)
    }
    ,logXHMLError:function EL_logXHMLError(params)
    {
        var defaults=
        {
            devMessage:null,pageErrorType:null,textStatus:null,requestParams:null,errorData:null,XHMLObj:null
        };
        var paramsExtended=$.extend(
        {
        }
        ,defaults,params);
        var additionalInfo=
        {
            url:location.toString(),xhtmlStatus:null,xhtmlStatusText:null,xhtmlResponseText:null
        };
        if(!paramsExtended.XHMLObj)
        {
            paramsExtended.XHMLObj=
            {
            }
        }
        var arrIgnoredStatuses=[0];
        if($.inArray(paramsExtended.XHMLObj.status,arrIgnoredStatuses)>-1)
        {
            return
        }
        var respText=paramsExtended.XHMLObj.responseText;
        var respTextLimit=80;
        if(respText&&respText.length>respTextLimit)
        {
            respText=respText.toString().substring(0,respTextLimit)+"..."
        }
        var settings=$.extend(
        {
        }
        ,paramsExtended,additionalInfo,
        {
            xhtmlStatus:paramsExtended.XHMLObj.status,xhtmlStatusText:paramsExtended.XHMLObj.statusText,xhtmlResponseText:respText||""
        }
        );
        delete settings.XHMLObj;
        EF.Utils.EmailLogger.log(settings)
    }
    ,_parseFormatBase:function EL__parseFormatBase()
    {
        var messagesList=[];
        var objects=arguments;
        var format=objects[0];
        var objIndex=0;
        if(typeof(format)!="string")
        {
            format="";
            objIndex=-1
        }
        var i;
        var parts=EF.Utils.EmailLogger._parseFormat(format);
        for(i=0;i<parts.length;++i)
        {
            var part=parts[i];
            if(!part)
            {
                continue
            }
            if(typeof(part)=="object")
            {
                var object=objects[++objIndex];
                messagesList.push(part.appender(object))
            }
            else
            {
                messagesList.push(EF.Utils.Dumping.dump(part))
            }
        }
        for(i=objIndex+1;i<objects.length;++i)
        {
            var objectExt=objects[i];
            messagesList.push(EF.Utils.Dumping.dump(objectExt))
        }
        return messagesList.join(" ")
    }
    ,_parseFormat:function EL__parseFormat(format)
    {
        var parts=[];
        var reg=/((^%|[^\\]%)(\d+)?(\.)([a-zA-Z]))|((^%|[^\\]%)([a-zA-Z]))/;
        var appenderMap=
        {
            s:FJSON.stringify,d:FJSON.stringify,i:FJSON.stringify,f:FJSON.stringify
        };
        for(var m=reg.exec(format);m;m=reg.exec(format))
        {
            var type=m[8]?m[8]:m[5];
            var appender=type in appenderMap?appenderMap[type]:EF.Utils.Dumping.dump;
            var precision=m[3]?parseInt(m[3],10):(m[4]=="."?-1:0);
            parts.push(format.substr(0,m[0][0]=="%"?m.index:m.index+1));
            parts.push(
            {
                appender:appender,precision:precision
            }
            );
            format=format.substr(m.index+m[0].length)
        }
        parts.push(format);
        return parts
    }
};
function GeneralError(params)
{
    var defaults=
    {
        handled:true,name:"GeneralError",message:"",url:"",fileName:"",lineNumber:0,includeStack:true,devMessage:"",traceLevel:TraceLevel.Error,logError:true
    };
    var settings=$.extend(
    {
    }
    ,defaults,params||
    {
    }
    );
    settings.url=settings.url||location.toString();
    settings.pageUrl=location.toString();
    this._getStackTrace=function GE__getStackTrace()
    {
        var stackTraceText;
        if(this.stack)
        {
            stackTraceText=this.stack;
            return stackTraceText
        }
        stackTraceText=EF.Utils.StackTrace.getStackTrace();
        return stackTraceText
    };
    this._formatError=function GE__formatError()
    {
        var errorData=
        {
        };
        if(settings.name)
        {
            errorData.errorType=settings.name
        }
        if(settings.devMessage)
        {
            errorData.developerMessage=settings.devMessage
        }
        errorData.jsErrorMessage=settings.message;
        if(settings.url)
        {
            errorData.url=settings.url
        }
        if(settings.pageUrl&&settings.pageUrl!=settings.url)
        {
            errorData.pageUrl=settings.pageUrl
        }
        if(settings.fileName)
        {
            errorData.fileName=settings.fileName
        }
        if(settings.lineNumber)
        {
            errorData.lineNumber=settings.lineNumber
        }
        if(settings.includeStack&&EF.ErrorsManage.INCLUDE_STACK)
        {
            var stackText=this._getStackTrace();
            if(stackText)
            {
                errorData.generatedStack=!this.stack;
                errorData[EF.Constants.KeyNames.ERROR_STACK_TRACE_PROPERTY_NAME]=stackText
            }
        }
        return errorData
    };
    this._baseLog=function GE__baseLog()
    {
        var errorData=this._formatError();
        var message=EF.Utils.EmailLogger._parseFormatBase(errorData);
        var params=
        {
            Message:message,Handled:settings.handled,TraceLevel:settings.traceLevel
        };
        var options=$.extend(
        {
        }
        ,EF.Utils.EmailLogger._defaultParams,params);
        EF.Utils.EmailLogger._baseLog(options)
    };
    this.getErrorData=function GE_getErrorData()
    {
        return this._formatError()
    };
    if(settings.logError)
    {
        this._baseLog()
    }
}
E_log=function E_log(devMessage,traceLevel)
{
    this.includeStack=true;
    this.devMessage=devMessage;
    this.traceLevel=traceLevel;
    GeneralError.call(this,this)
};
E_info=function E_info(devMessage,traceLevel)
{
    this.includeStack=false;
    this.devMessage=devMessage;
    this.traceLevel=traceLevel;
    GeneralError.call(this,this)
};
Error.prototype.log=E_log;
Error.prototype.info=E_info;
EF.Utils.ErrorLogBinder=
{
    _pageHasDefaultErrorLogger:null,pageHasDefaultErrorLogger:function EUErrLogBinder_pageHasDefaultErrorLogger()
    {
        if(this._pageHasDefaultErrorLogger==null)
        {
            this._pageHasDefaultErrorLogger=true;
            var arrDisabledErrorLoggerPages=[EF.Constants.Links.Checkout];
            var _location;
            try
            {
                _location=window.location.toString()
            }
            catch(e)
            {
                _location=""
            }
            if($.inArray(_location,arrDisabledErrorLoggerPages)>-1)
            {
                this._pageHasDefaultErrorLogger=false
            }
            if(this._pageHasDefaultErrorLogger&&$.browser.msie&&parseFloat($.browser.version,10)<6)
            {
                this._pageHasDefaultErrorLogger=false
            }
        }
        return this._pageHasDefaultErrorLogger
    }
    ,setOnErrorLogging:function EUErrLogBinder_setOnErrorLogging()
    {
        if(this.pageHasDefaultErrorLogger())
        {
            window.onerror=EF.Utils.EmailLogger.unhandledLog
        }
    }
    ,removeOnErrorLogging:function EUErrLogBinder_gRemoveOnErrorLogging()
    {
        if(this.pageHasDefaultErrorLogger())
        {
            window.onerror=function gWinSilentOnError()
            {
                return true
            }
        }
    }
};
EF.Utils.ErrorLogBinder.setOnErrorLogging();
GeneralError.throwSilentError=function GE_throwSilentError(message)
{
    EF.Utils.ErrorLogBinder.removeOnErrorLogging();
    throw new Error(message);
    EF.Utils.ErrorLogBinder.setOnErrorLogging()
};
if(typeof EF.Utils=="undefined")
{
    EF.Utils=
    {
    }
}
EF.Utils.JSData=
{
    get:function JSD_get(key)
    {
        return EF.Utils.JSData.getById(key)
    }
    ,getById:function JSD_getById(key)
    {
        if(!key)
        {
            return""
        }
        return $("input#"+key).val()||""
    }
    ,getByCustomSelector:function JSD_getByCustomSelector(selector,parentObject)
    {
        if(!selector)
        {
            return""
        }
        if(parentObject)
        {
            return parentObject.find(selector).val()
        }
        return $(selector).val()
    }
};
if(typeof EF.Utils=="undefined")
{
    EF.Utils=
    {
    }
}
EF.Utils.StringUtils=
{
    decodeLink:function ST_decodeLink(encodedLink)
    {
        var decodedString="";
        if(!encodedLink||typeof encodedLink!="string")
        {
            return decodedString
        }
        decodedString=encodedLink.replace("$n0need1$","http://","g").replace("$n0need2$","www.","g");
        return decodedString
    }
    ,getInt:function ST_getInt(value)
    {
        var returnInt=0;
        if(!value)
        {
            return returnInt
        }
        if(typeof value==="number")
        {
            returnInt=value
        }
        else
        {
            returnInt=parseInt(value.toString(),10)
        }
        return returnInt
    }
    ,restoreIntTypeForObjectProperties:function ST_restoreIntTypeForObjectProperties(referenceObject,targetObject)
    {
        if(!referenceObject||!targetObject||typeof referenceObject!=="object"||typeof targetObject!=="object")
        {
            return
        }
        $.each(referenceObject,function(paramName,val)
        {
            if(typeof val==="number")
            {
                targetObject[paramName]=EF.Utils.StringUtils.getInt(targetObject[paramName])
            }
        }
        )
    }
};
(function($)
{
    var defaultErrorHandler=$.handleError;
    var efErrorHandler=function ajax_defaultError(ajaxParams,xhtmlObj,textStatus,error)
    {
        if(ajaxParams._systemRequest)
        {
            return
        }
        var params=
        {
            devMessage:"Ajax error logger",XHMLObj:xhtmlObj,textStatus:textStatus,requestParams:
            {
                type:ajaxParams.type,data:ajaxParams.data,url:ajaxParams.url,dataType:ajaxParams.dataType,cache:ajaxParams.cache,global:ajaxParams.global,success:ajaxParams.success,complete:ajaxParams.complete,timeout:ajaxParams.timeout,processData:ajaxParams.processData,async:ajaxParams.async,error:ajaxParams.error
            }
        };
        if(error)
        {
            error.includeStack=true;
            error.logError=false;
            params.errorData=(new GeneralError(error)).getErrorData()
        }
        EF.Utils.EmailLogger.logXHMLError(params)
    };
    $.handleError=function(s,xml,status,e)
    {
        efErrorHandler(s,xml,status,e);
        defaultErrorHandler(s,xml,status,e)
    }
}
)(jQuery);
DateInput=(function($)
{
function DateInput(el,opts)
{
    if(typeof(opts)!="object")
    {
        opts=
        {
        }
    }
    $.extend(this,DateInput.DEFAULT_OPTS,opts);
    this.input=$(el);
    this.bindMethodsToObj("show","hide","hideIfClickOutside","hideOnEsc","selectDate","prevMonth","nextMonth");
    this.build();
    this.selectDate();
    this.hide()
}
DateInput.DEFAULT_OPTS=
{
    month_names:["January","February","March","April","May","June","July","August","September","October","November","December"],short_month_names:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],short_day_names:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],weekend_days:[0,6],start_of_week:0,createIndependentBox:false,additionalOffsetTop:0,onDateSelect:null
};
DateInput.prototype=
{
    build:function()
    {
        this.monthNameSpan=$('<span class="month_name"></span>');
        var monthNav=$('<p class="month_nav"></p>').append($('<a href="#" class="prev">&laquo;</a>').click(this.prevMonth),this.monthNameSpan,$('<a href="#" class="next">&raquo;</a>').click(this.nextMonth));
        var tableShell="<table><thead><tr>";
$(this.adjustDays(this.short_day_names)).each(function()
{
    tableShell+="<th>"+this+"</th>"
}
);
tableShell+="</tr></thead><tbody></tbody></table>";
this.dateSelector=this.rootLayers=$('<div class="date_selector"></div>').append(monthNav,tableShell);
if(this.createIndependentBox)
{
    $('<div class="date_selector_indep_box"></div>').insertBefore(this.input).append(this.dateSelector)
}
else
{
    this.dateSelector.insertBefore(this.input)
}
if($.browser.msie&&$.browser.version<7)
{
    this.ieframe=$('<iframe class="date_selector_ieframe" frameborder="0" src="#"></iframe>').insertBefore(this.dateSelector);
    this.rootLayers=this.rootLayers.add(this.ieframe)
}
this.tbody=$("tbody",this.dateSelector);
this.input.change(this.bindToObj(function()
{
    this.selectDate()
}
))
}
,selectMonth:function(date)
{
this.currentMonth=new Date(date.getFullYear(),date.getMonth(),1);
var rangeStart=this.rangeStart(date),rangeEnd=this.rangeEnd(date);
var numDays=this.daysBetween(rangeStart,rangeEnd);
var dayCells="";
var isWeekendDay=false;
for(var i=0;i<=numDays;i++)
{
    var currentDay=new Date(rangeStart.getFullYear(),rangeStart.getMonth(),rangeStart.getDate()+i,12,0);
    if(this.isFirstDayOfWeek(currentDay)||i==0)
    {
        dayCells+="<tr>"
    }
    isWeekendDay=this.isWeekendDay(currentDay);
    if(currentDay.getMonth()==date.getMonth())
    {
        dayCells+='<td date="'+this.dateToString(currentDay)+'"><a class="'+(isWeekendDay?"weekend":"workday")+'" href="#">'+currentDay.getDate()+"</a></td>"
    }
    else
    {
        dayCells+='<td class="unselected_month" date="'+this.dateToString(currentDay)+'">'+currentDay.getDate()+"</td>"
    }
    if(this.isLastDayOfWeek(currentDay)||i==numDays)
    {
        dayCells+="</tr>"
    }
}
this.monthNameSpan.empty().append(this.monthName(date)+" "+date.getFullYear());
this.tbody.empty().append(dayCells);
$("a",this.tbody).click(this.bindToObj(function(event)
{
    this.selectDate(this.stringToDate($(event.target).parent().attr("date")));
    this.hide();
    return false
}
));
$("td[date="+this.dateToString(new Date())+"]",this.tbody).addClass("today")
}
,selectDate:function(date)
{
if(typeof(date)=="undefined")
{
    date=this.stringToDate(this.input.val())
}
if(date)
{
    this.selectedDate=date;
    this.selectMonth(date);
    var stringDate=this.dateToString(date);
    $("td[date="+stringDate+"]",this.tbody).addClass("selected");
    if(this.input.val()!=stringDate)
    {
        this.input.val(stringDate).change()
    }
}
else
{
    this.selectMonth(new Date())
}
}
,show:function()
{
this.input.data($.date_input.dataNames.dateInputOpened,true);
this.rootLayers.css("display","block");
this.setPosition();
this.input.unbind("focus",this.show);
$("a:last",this.dateSelector).blur(this.hide);
$([window,document.body]).click(this.hideIfClickOutside).keyup(this.hideOnEsc)
}
,hide:function()
{
this.input.data($.date_input.dataNames.dateInputOpened,false);
this.rootLayers.css("display","none");
$([window,document.body]).unbind("click",this.hideIfClickOutside).unbind("keyup",this.hideOnEsc);
$("a:last",this.dateSelector).unbind("blur",this.hide);
this.input.blur().focus(this.show);
if(this.onDateSelect)
{
    this.onDateSelect(this.input.val())
}
}
,hideIfClickOutside:function(event)
{
if(event.target!=this.input[0]&&!this.insideSelector(event))
{
    this.hide()
}
}
,hideOnEsc:function(event)
{
if(event.keyCode==27)
{
    this.hide()
}
}
,stringToDate:function(string)
{
var matches;
if((matches=string.match(/^(\d{ 1,2}) ([^\s]+) (\d{ 4,4})$/)))
{
    return new Date(matches[3],this.shortMonthNum(matches[2]),matches[1],12,0)
}
else
{
    return null
}
}
,dateToString:function(date)
{
return date.getDate()+" "+this.short_month_names[date.getMonth()]+" "+date.getFullYear()
}
,setPosition:function()
{
var offset=!this.createIndependentBox?this.input.offset():
{
    top:0,left:0
};
this.rootLayers.css(
{
    top:offset.top+this.input.outerHeight()+this.additionalOffsetTop,left:offset.left
}
);
if(this.ieframe)
{
    this.ieframe.css(
    {
        width:this.dateSelector.outerWidth(),height:this.dateSelector.outerHeight()
    }
    )
}
}
,moveMonthBy:function(amount)
{
this.selectMonth(new Date(this.currentMonth.setMonth(this.currentMonth.getMonth()+amount)))
}
,prevMonth:function()
{
this.moveMonthBy(-1);
return false
}
,nextMonth:function()
{
this.moveMonthBy(1);
return false
}
,monthName:function(date)
{
return this.month_names[date.getMonth()]
}
,insideSelector:function(event)
{
var offset=this.dateSelector.offset();
offset.right=offset.left+this.dateSelector.outerWidth();
offset.bottom=offset.top+this.dateSelector.outerHeight();
return event.pageY<offset.bottom&&event.pageY>offset.top&&event.pageX<offset.right&&event.pageX>offset.left
}
,bindToObj:function(fn)
{
var self=this;
return function()
{
    return fn.apply(self,arguments)
}
}
,bindMethodsToObj:function()
{
for(var i=0;i<arguments.length;i++)
{
    this[arguments[i]]=this.bindToObj(this[arguments[i]])
}
}
,indexFor:function(array,value)
{
for(var i=0;i<array.length;i++)
{
    if(value==array[i])
    {
        return i
    }
}
}
,monthNum:function(month_name)
{
return this.indexFor(this.month_names,month_name)
}
,shortMonthNum:function(month_name)
{
return this.indexFor(this.short_month_names,month_name)
}
,shortDayNum:function(day_name)
{
return this.indexFor(this.short_day_names,day_name)
}
,daysBetween:function(start,end)
{
start=Date.UTC(start.getFullYear(),start.getMonth(),start.getDate());
end=Date.UTC(end.getFullYear(),end.getMonth(),end.getDate());
return(end-start)/86400000
}
,changeDayTo:function(to,date,direction)
{
var difference=direction*(Math.abs(date.getDay()-to-(direction*7))%7);
return new Date(date.getFullYear(),date.getMonth(),date.getDate()+difference)
}
,rangeStart:function(date)
{
return this.changeDayTo(this.start_of_week,new Date(date.getFullYear(),date.getMonth()),-1)
}
,rangeEnd:function(date)
{
return this.changeDayTo((this.start_of_week-1)%7,new Date(date.getFullYear(),date.getMonth()+1,0),1)
}
,isFirstDayOfWeek:function(date)
{
return date.getDay()==this.start_of_week
}
,isLastDayOfWeek:function(date)
{
return date.getDay()==(this.start_of_week-1)%7
}
,isWeekendDay:function(date)
{
var isWeekendDay=false;
$.each(this.weekend_days,function()
{
    return !(isWeekendDay=(this==date.getDay()))
}
);
return isWeekendDay
}
,adjustDays:function(days)
{
var newDays=[];
for(var i=0;i<days.length;i++)
{
    newDays[i]=days[(i+this.start_of_week)%7]
}
return newDays
}
};
$.fn.date_input=function(opts)
{
return this.each(function()
{
    new DateInput(this,opts)
}
)
};
$.date_input=
{
initialize:function(opts)
{
    $("input.date_input").date_input(opts)
}
};
$.date_input.dataNames=
{
dateInputOpened:"calendarInputData"
};
$.fn.date_input_calendar=function(opts)
{
var defaultOpt=
{
    inputDateId:"#date_input",createIndependentBox:false,additionalOffsetTop:0,onDateSelect:null
};
var options=
{
};
options=$.extend(options,defaultOpt,opts);
var inputDate=$(options.inputDateId).date_input(
{
    createIndependentBox:options.createIndependentBox,additionalOffsetTop:options.additionalOffsetTop,onDateSelect:options.onDateSelect
}
);
this.click(function()
{
    if(inputDate.data($.date_input.dataNames.dateInputOpened))
    {
        inputDate.blur();
        return true
    }
    if(!inputDate.data($.date_input.dataNames.dateInputOpened))
    {
        inputDate.focus();
        return false
    }
}
);
return this
};
$.extend(DateInput.DEFAULT_OPTS,
{
stringToDate:function(string)
{
    var matches;
    if((matches=string.match(/^(\d{1,2})\/(\d{1,2})\/(\d{4,4})$/)))
    {
        return new Date(matches[3],matches[1]-1,matches[2])
    }
    else
    {
        return null
    }
}
,dateToString:function(date)
{
    var month=(date.getMonth()+1).toString();
    var dom=date.getDate().toString();
    return month+"/"+dom+"/"+date.getFullYear()
}
}
);
return DateInput
}
)(jQuery);
jQuery.ui||(function($)
{
    var _remove=$.fn.remove,isFF2=$.browser.mozilla&&(parseFloat($.browser.version)<1.9);
    $.ui=
    {
        version:"1.7.2",plugin:
        {
            add:function(module,option,set)
            {
                var proto=$.ui[module].prototype;
                for(var i in set)
                {
                    proto.plugins[i]=proto.plugins[i]||[];
                    proto.plugins[i].push([option,set[i]])
                }
            }
            ,call:function(instance,name,args)
            {
                var set=instance.plugins[name];
                if(!set||!instance.element[0].parentNode)
                {
                    return
                }
                for(var i=0;i<set.length;i++)
                {
                    if(instance.options[set[i][0]])
                    {
                        set[i][1].apply(instance.element,args)
                    }
                }
            }
        }
        ,contains:function(a,b)
        {
            return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)
        }
        ,hasScroll:function(el,a)
        {
            if($(el).css("overflow")=="hidden")
            {
                return false
            }
            var scroll=(a&&a=="left")?"scrollLeft":"scrollTop",has=false;
            if(el[scroll]>0)
            {
                return true
            }
            el[scroll]=1;
            has=(el[scroll]>0);
            el[scroll]=0;
            return has
        }
        ,isOverAxis:function(x,reference,size)
        {
            return(x>reference)&&(x<(reference+size))
        }
        ,isOver:function(y,x,top,left,height,width)
        {
            return $.ui.isOverAxis(y,top,height)&&$.ui.isOverAxis(x,left,width)
        }
        ,keyCode:
        {
            BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38
        }
    };
    if(isFF2)
    {
        var attr=$.attr,removeAttr=$.fn.removeAttr,ariaNS="http://www.w3.org/2005/07/aaa",ariaState=/^aria-/,ariaRole=/^wairole:/;
        $.attr=function(elem,name,value)
        {
            var set=value!==undefined;
            return(name=="role"?(set?attr.call(this,elem,name,"wairole:"+value):(attr.apply(this,arguments)||"").replace(ariaRole,"")):(ariaState.test(name)?(set?elem.setAttributeNS(ariaNS,name.replace(ariaState,"aaa:"),value):attr.call(this,elem,name.replace(ariaState,"aaa:"))):attr.apply(this,arguments)))
        };
        $.fn.removeAttr=function(name)
        {
return(ariaState.test(name)?this.each(function()
{
    this.removeAttributeNS(ariaNS,name.replace(ariaState,""))
}
):removeAttr.call(this,name))
}
}
$.fn.extend(
{
remove:function()
{
$("*",this).add(this).each(function()
{
    $(this).triggerHandler("remove")
}
);
return _remove.apply(this,arguments)
}
,enableSelection:function()
{
return this.attr("unselectable","off").css("MozUserSelect","").unbind("selectstart.ui")
}
,disableSelection:function()
{
return this.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function()
{
    return false
}
)
}
,scrollParent:function()
{
var scrollParent;
if(($.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position")))
{
scrollParent=this.parents().filter(function()
{
    return(/(relative|absolute|fixed)/).test($.curCSS(this,"position",1))&&(/(auto|scroll)/).test($.curCSS(this,"overflow",1)+$.curCSS(this,"overflow-y",1)+$.curCSS(this,"overflow-x",1))
}
).eq(0)
}
else
{
scrollParent=this.parents().filter(function()
{
    return(/(auto|scroll)/).test($.curCSS(this,"overflow",1)+$.curCSS(this,"overflow-y",1)+$.curCSS(this,"overflow-x",1))
}
).eq(0)
}
return(/fixed/).test(this.css("position"))||!scrollParent.length?$(document):scrollParent
}
}
);
$.extend($.expr[":"],
{
data:function(elem,i,match)
{
return !!$.data(elem,match[3])
}
,focusable:function(element)
{
var nodeName=element.nodeName.toLowerCase(),tabIndex=$.attr(element,"tabindex");
return(/input|select|textarea|button|object/.test(nodeName)?!element.disabled:"a"==nodeName||"area"==nodeName?element.href||!isNaN(tabIndex):!isNaN(tabIndex))&&!$(element)["area"==nodeName?"parents":"closest"](":hidden").length
}
,tabbable:function(element)
{
var tabIndex=$.attr(element,"tabindex");
return(isNaN(tabIndex)||tabIndex>=0)&&$(element).is(":focusable")
}
}
);
function getter(namespace,plugin,method,args)
{
function getMethods(type)
{
    var methods=$[namespace][plugin][type]||[];
    return(typeof methods=="string"?methods.split(/,?\s+/):methods)
}
var methods=getMethods("getter");
if(args.length==1&&typeof args[0]=="string")
{
    methods=methods.concat(getMethods("getterSetter"))
}
return($.inArray(method,methods)!=-1)
}
$.widget=function(name,prototype)
{
var namespace=name.split(".")[0];
name=name.split(".")[1];
$.fn[name]=function(options)
{
    var isMethodCall=(typeof options=="string"),args=Array.prototype.slice.call(arguments,1);
    if(isMethodCall&&options.substring(0,1)=="_")
    {
        return this
    }
    if(isMethodCall&&getter(namespace,name,options,args))
    {
        var instance=$.data(this[0],name);
        return(instance?instance[options].apply(instance,args):undefined)
    }
return this.each(function()
{
    var instance=$.data(this,name);
    (!instance&&!isMethodCall&&$.data(this,name,new $[namespace][name](this,options))._init());
    (instance&&isMethodCall&&$.isFunction(instance[options])&&instance[options].apply(instance,args))
}
)
};
$[namespace]=$[namespace]||
{
};
$[namespace][name]=function(element,options)
{
var self=this;
this.namespace=namespace;
this.widgetName=name;
this.widgetEventPrefix=$[namespace][name].eventPrefix||name;
this.widgetBaseClass=namespace+"-"+name;
this.options=$.extend(
{
}
,$.widget.defaults,$[namespace][name].defaults,$.metadata&&$.metadata.get(element)[name],options);
this.element=$(element).bind("setData."+name,function(event,key,value)
{
    if(event.target==element)
    {
        return self._setData(key,value)
    }
}
).bind("getData."+name,function(event,key)
{
    if(event.target==element)
    {
        return self._getData(key)
    }
}
).bind("remove",function()
{
    return self.destroy()
}
)
};
$[namespace][name].prototype=$.extend(
{
}
,$.widget.prototype,prototype);
$[namespace][name].getterSetter="option"
};
$.widget.prototype=
{
_init:function()
{
}
,destroy:function()
{
this.element.removeData(this.widgetName).removeClass(this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").removeAttr("aria-disabled")
}
,option:function(key,value)
{
var options=key,self=this;
if(typeof key=="string")
{
    if(value===undefined)
    {
        return this._getData(key)
    }
    options=
    {
    };
    options[key]=value
}
$.each(options,function(key,value)
{
    self._setData(key,value)
}
)
}
,_getData:function(key)
{
return this.options[key]
}
,_setData:function(key,value)
{
this.options[key]=value;
if(key=="disabled")
{
    this.element[value?"addClass":"removeClass"](this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").attr("aria-disabled",value)
}
}
,enable:function()
{
this._setData("disabled",false)
}
,disable:function()
{
this._setData("disabled",true)
}
,_trigger:function(type,event,data)
{
var callback=this.options[type],eventName=(type==this.widgetEventPrefix?type:this.widgetEventPrefix+type);
event=$.Event(event);
event.type=eventName;
if(event.originalEvent)
{
    for(var i=$.event.props.length,prop;i;)
    {
        prop=$.event.props[--i];
        event[prop]=event.originalEvent[prop]
    }
}
this.element.trigger(event,data);
return !($.isFunction(callback)&&callback.call(this.element[0],event,data)===false||event.isDefaultPrevented())
}
};
$.widget.defaults=
{
disabled:false
};
$.ui.mouse=
{
_mouseInit:function()
{
var self=this;
this.element.bind("mousedown."+this.widgetName,function(event)
{
    return self._mouseDown(event)
}
).bind("click."+this.widgetName,function(event)
{
    if(self._preventClickEvent)
    {
        self._preventClickEvent=false;
        event.stopImmediatePropagation();
        return false
    }
}
);
if($.browser.msie)
{
    this._mouseUnselectable=this.element.attr("unselectable");
    this.element.attr("unselectable","on")
}
this.started=false
}
,_mouseDestroy:function()
{
this.element.unbind("."+this.widgetName);
($.browser.msie&&this.element.attr("unselectable",this._mouseUnselectable))
}
,_mouseDown:function(event)
{
event.originalEvent=event.originalEvent||
{
};
if(event.originalEvent.mouseHandled)
{
    return
}
(this._mouseStarted&&this._mouseUp(event));
this._mouseDownEvent=event;
var self=this,btnIsLeft=(event.which==1),elIsCancel=(typeof this.options.cancel=="string"?$(event.target).parents().add(event.target).filter(this.options.cancel).length:false);
if(!btnIsLeft||elIsCancel||!this._mouseCapture(event))
{
    return true
}
this.mouseDelayMet=!this.options.delay;
if(!this.mouseDelayMet)
{
this._mouseDelayTimer=setTimeout(function()
{
    self.mouseDelayMet=true
}
,this.options.delay)
}
if(this._mouseDistanceMet(event)&&this._mouseDelayMet(event))
{
this._mouseStarted=(this._mouseStart(event)!==false);
if(!this._mouseStarted)
{
    event.preventDefault();
    return true
}
}
this._mouseMoveDelegate=function(event)
{
return self._mouseMove(event)
};
this._mouseUpDelegate=function(event)
{
return self._mouseUp(event)
};
$(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);
($.browser.safari||event.preventDefault());
event.originalEvent.mouseHandled=true;
return true
}
,_mouseMove:function(event)
{
if($.browser.msie&&!event.button)
{
return this._mouseUp(event)
}
if(this._mouseStarted)
{
this._mouseDrag(event);
return event.preventDefault()
}
if(this._mouseDistanceMet(event)&&this._mouseDelayMet(event))
{
this._mouseStarted=(this._mouseStart(this._mouseDownEvent,event)!==false);
(this._mouseStarted?this._mouseDrag(event):this._mouseUp(event))
}
return !this._mouseStarted
}
,_mouseUp:function(event)
{
$(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);
if(this._mouseStarted)
{
this._mouseStarted=false;
this._preventClickEvent=(event.target==this._mouseDownEvent.target);
this._mouseStop(event)
}
return false
}
,_mouseDistanceMet:function(event)
{
return(Math.max(Math.abs(this._mouseDownEvent.pageX-event.pageX),Math.abs(this._mouseDownEvent.pageY-event.pageY))>=this.options.distance)
}
,_mouseDelayMet:function(event)
{
return this.mouseDelayMet
}
,_mouseStart:function(event)
{
}
,_mouseDrag:function(event)
{
}
,_mouseStop:function(event)
{
}
,_mouseCapture:function(event)
{
return true
}
};
$.ui.mouse.defaults=
{
cancel:null,distance:1,delay:0
}
}
)(jQuery);
(function($)
{
    $.widget("ui.draggable",$.extend(
    {
    }
    ,$.ui.mouse,
    {
        _init:function()
        {
            if(this.options.helper=="original"&&!(/^(?:r|a|f)/).test(this.element.css("position")))
            {
                this.element[0].style.position="relative"
            }
            (this.options.addClasses&&this.element.addClass("ui-draggable"));
            (this.options.disabled&&this.element.addClass("ui-draggable-disabled"));
            this._mouseInit()
        }
        ,destroy:function()
        {
            if(!this.element.data("draggable"))
            {
                return
            }
            this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");
            this._mouseDestroy()
        }
        ,_mouseCapture:function(event)
        {
            var o=this.options;
            if(this.helper||o.disabled||$(event.target).is(".ui-resizable-handle"))
            {
                return false
            }
            this.handle=this._getHandle(event);
            if(!this.handle)
            {
                return false
            }
            return true
        }
        ,_mouseStart:function(event)
        {
            var o=this.options;
            this.helper=this._createHelper(event);
            this._cacheHelperProportions();
            if($.ui.ddmanager)
            {
                $.ui.ddmanager.current=this
            }
            this._cacheMargins();
            this.cssPosition=this.helper.css("position");
            this.scrollParent=this.helper.scrollParent();
            this.offset=this.element.offset();
            this.offset=
            {
                top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left
            };
            $.extend(this.offset,
            {
                click:
                {
                    left:event.pageX-this.offset.left,top:event.pageY-this.offset.top
                }
                ,parent:this._getParentOffset(),relative:this._getRelativeOffset()
            }
            );
            this.originalPosition=this._generatePosition(event);
            this.originalPageX=event.pageX;
            this.originalPageY=event.pageY;
            if(o.cursorAt)
            {
                this._adjustOffsetFromHelper(o.cursorAt)
            }
            if(o.containment)
            {
                this._setContainment()
            }
            this._trigger("start",event);
            this._cacheHelperProportions();
            if($.ui.ddmanager&&!o.dropBehaviour)
            {
                $.ui.ddmanager.prepareOffsets(this,event)
            }
            this.helper.addClass("ui-draggable-dragging");
            this._mouseDrag(event,true);
            return true
        }
        ,_mouseDrag:function(event,noPropagation)
        {
            this.position=this._generatePosition(event);
            this.positionAbs=this._convertPositionTo("absolute");
            if(!noPropagation)
            {
                var ui=this._uiHash();
                this._trigger("drag",event,ui);
                this.position=ui.position
            }
            if(!this.options.axis||this.options.axis!="y")
            {
                this.helper[0].style.left=this.position.left+"px"
            }
            if(!this.options.axis||this.options.axis!="x")
            {
                this.helper[0].style.top=this.position.top+"px"
            }
            if($.ui.ddmanager)
            {
                $.ui.ddmanager.drag(this,event)
            }
            return false
        }
        ,_mouseStop:function(event)
        {
            var dropped=false;
            if($.ui.ddmanager&&!this.options.dropBehaviour)
            {
                dropped=$.ui.ddmanager.drop(this,event)
            }
            if(this.dropped)
            {
                dropped=this.dropped;
                this.dropped=false
            }
            if((this.options.revert=="invalid"&&!dropped)||(this.options.revert=="valid"&&dropped)||this.options.revert===true||($.isFunction(this.options.revert)&&this.options.revert.call(this.element,dropped)))
            {
                var self=this;
                $(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function()
                {
                    self._trigger("stop",event);
                    self._clear()
                }
                )
            }
            else
            {
                this._trigger("stop",event);
                this._clear()
            }
            return false
        }
        ,_getHandle:function(event)
        {
            var handle=!this.options.handle||!$(this.options.handle,this.element).length?true:false;
$(this.options.handle,this.element).find("*").andSelf().each(function()
{
    if(this==event.target)
    {
        handle=true
    }
}
);
return handle
}
,_createHelper:function(event)
{
var o=this.options;
var helper=$.isFunction(o.helper)?$(o.helper.apply(this.element[0],[event])):(o.helper=="clone"?this.element.clone():this.element);
if(!helper.parents("body").length)
{
    helper.appendTo((o.appendTo=="parent"?this.element[0].parentNode:o.appendTo))
}
if(helper[0]!=this.element[0]&&!(/(fixed|absolute)/).test(helper.css("position")))
{
    helper.css("position","absolute")
}
return helper
}
,_adjustOffsetFromHelper:function(obj)
{
if(obj.left!=undefined)
{
    this.offset.click.left=obj.left+this.margins.left
}
if(obj.right!=undefined)
{
    this.offset.click.left=this.helperProportions.width-obj.right+this.margins.left
}
if(obj.top!=undefined)
{
    this.offset.click.top=obj.top+this.margins.top
}
if(obj.bottom!=undefined)
{
    this.offset.click.top=this.helperProportions.height-obj.bottom+this.margins.top
}
}
,_getParentOffset:function()
{
this.offsetParent=this.helper.offsetParent();
var po=this.offsetParent.offset();
if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&$.ui.contains(this.scrollParent[0],this.offsetParent[0]))
{
    po.left+=this.scrollParent.scrollLeft();
    po.top+=this.scrollParent.scrollTop()
}
if((this.offsetParent[0]==document.body)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&$.browser.msie))
{
    po=
    {
        top:0,left:0
    }
}
return{ top:po.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:po.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function()
{
if(this.cssPosition=="relative")
{
    var p=this.element.position();
    return { top:p.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:p.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}
}
else
{
    return{top:0,left:0}
}
}
,_cacheMargins:function()
{
this.margins=
{
    left:(parseInt(this.element.css("marginLeft"),10)||0),top:(parseInt(this.element.css("marginTop"),10)||0)
}
}
,_cacheHelperProportions:function()
{
this.helperProportions=
{
    width:this.helper.outerWidth(),height:this.helper.outerHeight()
}
}
,_setContainment:function()
{
var o=this.options;
if(o.containment=="parent")
{
    o.containment=this.helper[0].parentNode
}
if(o.containment=="document"||o.containment=="window")
{
    this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,$(o.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,($(o.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]
}
if(!(/^(document|window|parent)$/).test(o.containment)&&o.containment.constructor!=Array)
{
    var ce=$(o.containment)[0];
    if(!ce)
    {
        return
    }
    var co=$(o.containment).offset();
    var over=($(ce).css("overflow")!="hidden");
    this.containment=[co.left+(parseInt($(ce).css("borderLeftWidth"),10)||0)+(parseInt($(ce).css("paddingLeft"),10)||0)-this.margins.left,co.top+(parseInt($(ce).css("borderTopWidth"),10)||0)+(parseInt($(ce).css("paddingTop"),10)||0)-this.margins.top,co.left+(over?Math.max(ce.scrollWidth,ce.offsetWidth):ce.offsetWidth)-(parseInt($(ce).css("borderLeftWidth"),10)||0)-(parseInt($(ce).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,co.top+(over?Math.max(ce.scrollHeight,ce.offsetHeight):ce.offsetHeight)-(parseInt($(ce).css("borderTopWidth"),10)||0)-(parseInt($(ce).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]
}
else
{
    if(o.containment.constructor==Array)
    {
        this.containment=o.containment
    }
}
}
,_convertPositionTo:function(d,pos)
{
if(!pos)
{
    pos=this.position
}
var mod=d=="absolute"?1:-1;
var o=this.options,scroll=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&$.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,scrollIsRootNode=(/(html|body)/i).test(scroll[0].tagName);
  return{ top:(pos.top+this.offset.relative.top*mod+this.offset.parent.top*mod-($.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(scrollIsRootNode?0:scroll.scrollTop()))*mod)),left:(pos.left+this.offset.relative.left*mod+this.offset.parent.left*mod-($.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():scrollIsRootNode?0:scroll.scrollLeft())*mod))}},_generatePosition:function(event)
{
var o=this.options,scroll=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&$.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,scrollIsRootNode=(/(html|body)/i).test(scroll[0].tagName);
if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0]))
{
    this.offset.relative=this._getRelativeOffset()
}
var pageX=event.pageX;
var pageY=event.pageY;
if(this.originalPosition)
{
    if(this.containment)
    {
        if(event.pageX-this.offset.click.left<this.containment[0])
        {
            pageX=this.containment[0]+this.offset.click.left
        }
        if(event.pageY-this.offset.click.top<this.containment[1])
        {
            pageY=this.containment[1]+this.offset.click.top
        }
        if(event.pageX-this.offset.click.left>this.containment[2])
        {
            pageX=this.containment[2]+this.offset.click.left
        }
        if(event.pageY-this.offset.click.top>this.containment[3])
        {
            pageY=this.containment[3]+this.offset.click.top
        }
    }
    if(o.grid)
    {
        var top=this.originalPageY+Math.round((pageY-this.originalPageY)/o.grid[1])*o.grid[1];
        pageY=this.containment?(!(top-this.offset.click.top<this.containment[1]||top-this.offset.click.top>this.containment[3])?top:(!(top-this.offset.click.top<this.containment[1])?top-o.grid[1]:top+o.grid[1])):top;
        var left=this.originalPageX+Math.round((pageX-this.originalPageX)/o.grid[0])*o.grid[0];
        pageX=this.containment?(!(left-this.offset.click.left<this.containment[0]||left-this.offset.click.left>this.containment[2])?left:(!(left-this.offset.click.left<this.containment[0])?left-o.grid[0]:left+o.grid[0])):left
    }
}
return{    top:(pageY-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+($.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(scrollIsRootNode?0:scroll.scrollTop())))),left:(pageX-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+($.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():scrollIsRootNode?0:scroll.scrollLeft())))}},_clear:function()
{
this.helper.removeClass("ui-draggable-dragging");
if(this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval)
{
    this.helper.remove()
}
this.helper=null;
this.cancelHelperRemoval=false
}
,_trigger:function(type,event,ui)
{
ui=ui||this._uiHash();
$.ui.plugin.call(this,type,[event,ui]);
if(type=="drag")
{
    this.positionAbs=this._convertPositionTo("absolute")
}
return $.widget.prototype._trigger.call(this,type,event,ui)
}
,plugins:
{
}
,_uiHash:function(event)
{
return{    helper:this.helper,position:this.position,absolutePosition:this.positionAbs,offset:this.positionAbs}}}));$.extend($.ui.draggable,
{
version:"1.7.2",eventPrefix:"drag",defaults:
{
addClasses:true,appendTo:"parent",axis:false,cancel:":input,option",connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,delay:0,distance:1,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false
}
}
);
$.ui.plugin.add("draggable","connectToSortable",
{
start:function(event,ui)
{
var inst=$(this).data("draggable"),o=inst.options,uiSortable=$.extend(
{
}
,ui,
{
    item:inst.element
}
);
inst.sortables=[];
$(o.connectToSortable).each(function()
{
    var sortable=$.data(this,"sortable");
    if(sortable&&!sortable.options.disabled)
    {
        inst.sortables.push(
        {
            instance:sortable,shouldRevert:sortable.options.revert
        }
        );
        sortable._refreshItems();
        sortable._trigger("activate",event,uiSortable)
    }
}
)
}
,stop:function(event,ui)
{
var inst=$(this).data("draggable"),uiSortable=$.extend(
{
}
,ui,
{
    item:inst.element
}
);
$.each(inst.sortables,function()
{
    if(this.instance.isOver)
    {
        this.instance.isOver=0;
        inst.cancelHelperRemoval=true;
        this.instance.cancelHelperRemoval=false;
        if(this.shouldRevert)
        {
            this.instance.options.revert=true
        }
        this.instance._mouseStop(event);
        this.instance.options.helper=this.instance.options._helper;
        if(inst.options.helper=="original")
        {
            this.instance.currentItem.css(
            {
                top:"auto",left:"auto"
            }
            )
        }
    }
    else
    {
        this.instance.cancelHelperRemoval=false;
        this.instance._trigger("deactivate",event,uiSortable)
    }
}
)
}
,drag:function(event,ui)
{
var inst=$(this).data("draggable"),self=this;
var checkPos=function(o)
{
    var dyClick=this.offset.click.top,dxClick=this.offset.click.left;
    var helperTop=this.positionAbs.top,helperLeft=this.positionAbs.left;
    var itemHeight=o.height,itemWidth=o.width;
    var itemTop=o.top,itemLeft=o.left;
    return $.ui.isOver(helperTop+dyClick,helperLeft+dxClick,itemTop,itemLeft,itemHeight,itemWidth)
};
$.each(inst.sortables,function(i)
{
    this.instance.positionAbs=inst.positionAbs;
    this.instance.helperProportions=inst.helperProportions;
    this.instance.offset.click=inst.offset.click;
    if(this.instance._intersectsWith(this.instance.containerCache))
    {
        if(!this.instance.isOver)
        {
            this.instance.isOver=1;
            this.instance.currentItem=$(self).clone().appendTo(this.instance.element).data("sortable-item",true);
            this.instance.options._helper=this.instance.options.helper;
            this.instance.options.helper=function()
            {
                return ui.helper[0]
            };
            event.target=this.instance.currentItem[0];
            this.instance._mouseCapture(event,true);
            this.instance._mouseStart(event,true,true);
            this.instance.offset.click.top=inst.offset.click.top;
            this.instance.offset.click.left=inst.offset.click.left;
            this.instance.offset.parent.left-=inst.offset.parent.left-this.instance.offset.parent.left;
            this.instance.offset.parent.top-=inst.offset.parent.top-this.instance.offset.parent.top;
            inst._trigger("toSortable",event);
            inst.dropped=this.instance.element;
            inst.currentItem=inst.element;
            this.instance.fromOutside=inst
        }
        if(this.instance.currentItem)
        {
            this.instance._mouseDrag(event)
        }
    }
    else
    {
        if(this.instance.isOver)
        {
            this.instance.isOver=0;
            this.instance.cancelHelperRemoval=true;
            this.instance.options.revert=false;
            this.instance._trigger("out",event,this.instance._uiHash(this.instance));
            this.instance._mouseStop(event,true);
            this.instance.options.helper=this.instance.options._helper;
            this.instance.currentItem.remove();
            if(this.instance.placeholder)
            {
                this.instance.placeholder.remove()
            }
            inst._trigger("fromSortable",event);
            inst.dropped=false
        }
    }
}
)
}
}
);
$.ui.plugin.add("draggable","cursor",
{
start:function(event,ui)
{
var t=$("body"),o=$(this).data("draggable").options;
if(t.css("cursor"))
{
    o._cursor=t.css("cursor")
}
t.css("cursor",o.cursor)
}
,stop:function(event,ui)
{
var o=$(this).data("draggable").options;
if(o._cursor)
{
    $("body").css("cursor",o._cursor)
}
}
}
);
$.ui.plugin.add("draggable","iframeFix",
{
start:function(event,ui)
{
var o=$(this).data("draggable").options;
$(o.iframeFix===true?"iframe":o.iframeFix).each(function()
{
    $('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css(
    {
        width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1000
    }
    ).css($(this).offset()).appendTo("body")
}
)
}
,stop:function(event,ui)
{
$("div.ui-draggable-iframeFix").each(function()
{
    this.parentNode.removeChild(this)
}
)
}
}
);
$.ui.plugin.add("draggable","opacity",
{
start:function(event,ui)
{
var t=$(ui.helper),o=$(this).data("draggable").options;
if(t.css("opacity"))
{
    o._opacity=t.css("opacity")
}
t.css("opacity",o.opacity)
}
,stop:function(event,ui)
{
var o=$(this).data("draggable").options;
if(o._opacity)
{
    $(ui.helper).css("opacity",o._opacity)
}
}
}
);
$.ui.plugin.add("draggable","scroll",
{
start:function(event,ui)
{
var i=$(this).data("draggable");
if(i.scrollParent[0]!=document&&i.scrollParent[0].tagName!="HTML")
{
    i.overflowOffset=i.scrollParent.offset()
}
}
,drag:function(event,ui)
{
var i=$(this).data("draggable"),o=i.options,scrolled=false;
if(i.scrollParent[0]!=document&&i.scrollParent[0].tagName!="HTML")
{
    if(!o.axis||o.axis!="x")
    {
        if((i.overflowOffset.top+i.scrollParent[0].offsetHeight)-event.pageY<o.scrollSensitivity)
        {
            i.scrollParent[0].scrollTop=scrolled=i.scrollParent[0].scrollTop+o.scrollSpeed
        }
        else
        {
            if(event.pageY-i.overflowOffset.top<o.scrollSensitivity)
            {
                i.scrollParent[0].scrollTop=scrolled=i.scrollParent[0].scrollTop-o.scrollSpeed
            }
        }
    }
    if(!o.axis||o.axis!="y")
    {
        if((i.overflowOffset.left+i.scrollParent[0].offsetWidth)-event.pageX<o.scrollSensitivity)
        {
            i.scrollParent[0].scrollLeft=scrolled=i.scrollParent[0].scrollLeft+o.scrollSpeed
        }
        else
        {
            if(event.pageX-i.overflowOffset.left<o.scrollSensitivity)
            {
                i.scrollParent[0].scrollLeft=scrolled=i.scrollParent[0].scrollLeft-o.scrollSpeed
            }
        }
    }
}
else
{
    if(!o.axis||o.axis!="x")
    {
        if(event.pageY-$(document).scrollTop()<o.scrollSensitivity)
        {
            scrolled=$(document).scrollTop($(document).scrollTop()-o.scrollSpeed)
        }
        else
        {
            if($(window).height()-(event.pageY-$(document).scrollTop())<o.scrollSensitivity)
            {
                scrolled=$(document).scrollTop($(document).scrollTop()+o.scrollSpeed)
            }
        }
    }
    if(!o.axis||o.axis!="y")
    {
        if(event.pageX-$(document).scrollLeft()<o.scrollSensitivity)
        {
            scrolled=$(document).scrollLeft($(document).scrollLeft()-o.scrollSpeed)
        }
        else
        {
            if($(window).width()-(event.pageX-$(document).scrollLeft())<o.scrollSensitivity)
            {
                scrolled=$(document).scrollLeft($(document).scrollLeft()+o.scrollSpeed)
            }
        }
    }
}
if(scrolled!==false&&$.ui.ddmanager&&!o.dropBehaviour)
{
    $.ui.ddmanager.prepareOffsets(i,event)
}
}
}
);
$.ui.plugin.add("draggable","snap",
{
start:function(event,ui)
{
var i=$(this).data("draggable"),o=i.options;
i.snapElements=[];
$(o.snap.constructor!=String?(o.snap.items||":data(draggable)"):o.snap).each(function()
{
    var $t=$(this);
    var $o=$t.offset();
    if(this!=i.element[0])
    {
        i.snapElements.push(
        {
            item:this,width:$t.outerWidth(),height:$t.outerHeight(),top:$o.top,left:$o.left
        }
        )
    }
}
)
}
,drag:function(event,ui)
{
var inst=$(this).data("draggable"),o=inst.options;
var d=o.snapTolerance;
var x1=ui.offset.left,x2=x1+inst.helperProportions.width,y1=ui.offset.top,y2=y1+inst.helperProportions.height;
for(var i=inst.snapElements.length-1;i>=0;i--)
{
    var l=inst.snapElements[i].left,r=l+inst.snapElements[i].width,t=inst.snapElements[i].top,b=t+inst.snapElements[i].height;
    if(!((l-d<x1&&x1<r+d&&t-d<y1&&y1<b+d)||(l-d<x1&&x1<r+d&&t-d<y2&&y2<b+d)||(l-d<x2&&x2<r+d&&t-d<y1&&y1<b+d)||(l-d<x2&&x2<r+d&&t-d<y2&&y2<b+d)))
    {
        if(inst.snapElements[i].snapping)
        {
            (inst.options.snap.release&&inst.options.snap.release.call(inst.element,event,$.extend(inst._uiHash(),
            {
                snapItem:inst.snapElements[i].item
            }
            )))
        }
        inst.snapElements[i].snapping=false;
        continue
    }
    if(o.snapMode!="inner")
    {
        var ts=Math.abs(t-y2)<=d;
        var bs=Math.abs(b-y1)<=d;
        var ls=Math.abs(l-x2)<=d;
        var rs=Math.abs(r-x1)<=d;
        if(ts)
        {
            ui.position.top=inst._convertPositionTo("relative",
            {
                top:t-inst.helperProportions.height,left:0
            }
            ).top-inst.margins.top
        }
        if(bs)
        {
            ui.position.top=inst._convertPositionTo("relative",
            {
                top:b,left:0
            }
            ).top-inst.margins.top
        }
        if(ls)
        {
            ui.position.left=inst._convertPositionTo("relative",
            {
                top:0,left:l-inst.helperProportions.width
            }
            ).left-inst.margins.left
        }
        if(rs)
        {
            ui.position.left=inst._convertPositionTo("relative",
            {
                top:0,left:r
            }
            ).left-inst.margins.left
        }
    }
    var first=(ts||bs||ls||rs);
    if(o.snapMode!="outer")
    {
        var ts=Math.abs(t-y1)<=d;
        var bs=Math.abs(b-y2)<=d;
        var ls=Math.abs(l-x1)<=d;
        var rs=Math.abs(r-x2)<=d;
        if(ts)
        {
            ui.position.top=inst._convertPositionTo("relative",
            {
                top:t,left:0
            }
            ).top-inst.margins.top
        }
        if(bs)
        {
            ui.position.top=inst._convertPositionTo("relative",
            {
                top:b-inst.helperProportions.height,left:0
            }
            ).top-inst.margins.top
        }
        if(ls)
        {
            ui.position.left=inst._convertPositionTo("relative",
            {
                top:0,left:l
            }
            ).left-inst.margins.left
        }
        if(rs)
        {
            ui.position.left=inst._convertPositionTo("relative",
            {
                top:0,left:r-inst.helperProportions.width
            }
            ).left-inst.margins.left
        }
    }
    if(!inst.snapElements[i].snapping&&(ts||bs||ls||rs||first))
    {
        (inst.options.snap.snap&&inst.options.snap.snap.call(inst.element,event,$.extend(inst._uiHash(),
        {
            snapItem:inst.snapElements[i].item
        }
        )))
    }
    inst.snapElements[i].snapping=(ts||bs||ls||rs||first)
}
}
}
);
$.ui.plugin.add("draggable","stack",
{
start:function(event,ui)
{
var o=$(this).data("draggable").options;
var group=$.makeArray($(o.stack.group)).sort(function(a,b)
{
    return(parseInt($(a).css("zIndex"),10)||o.stack.min)-(parseInt($(b).css("zIndex"),10)||o.stack.min)
}
);
$(group).each(function(i)
{
    this.style.zIndex=o.stack.min+i
}
);
this[0].style.zIndex=o.stack.min+group.length
}
}
);
$.ui.plugin.add("draggable","zIndex",
{
start:function(event,ui)
{
var t=$(ui.helper),o=$(this).data("draggable").options;
if(t.css("zIndex"))
{
    o._zIndex=t.css("zIndex")
}
t.css("zIndex",o.zIndex)
}
,stop:function(event,ui)
{
var o=$(this).data("draggable").options;
if(o._zIndex)
{
    $(ui.helper).css("zIndex",o._zIndex)
}
}
}
)
}
)(jQuery);














///////////////////////////////////////////////////////////////////////////




(function($)
{
    $.popUpsStack=
    {
        constants:
        {
            dataKey:"EfPopUpData"
        }
        ,_activeZIndex:1100,getActiveZIndex:function()
        {
            return $.popUpsStack._activeZIndex
        }
        ,_activePopUps:null,registerActivePopUp:function(popUpData)
        {
            var _popUpData=$.extend(
            {
            }
            ,
            {
                popUpObj:null,zIndex:this._activeZIndex
            }
            ,popUpData||
            {
            }
            );
            this._activeZIndex=_popUpData.zIndex;
            if(!this._activePopUps)
            {
                this._activePopUps=_popUpData.popUpObj
            }
            else
            {
                this._activePopUps=this._activePopUps.add(_popUpData.popUpObj)
            }
        }
        ,unRegisterActivePopUp:function(popUpObj)
        {
            if(this._activePopUps)
            {
                this._activePopUps=this._activePopUps.not(popUpObj)
            }
        }
        ,getCoordinatesOfActivePopUpByGroupName:function(groupName)
        {
            var coordinates=
            {
                left:0,top:0
            };
            var groupPopUp=null;
            if(this._activePopUps)
            {
this._activePopUps.each(function(i,popUpWindow)
{
    var _popUp=$(popUpWindow);
    var _data=_popUp.data($.popUpsStack.constants.dataKey);
    if(_data.settings.groupName==groupName)
    {
        groupPopUp=_popUp
    }
}
)
}
if(groupPopUp)
{
coordinates=groupPopUp.offset(
{
    scroll:false
}
)
}
return coordinates
}
,keyup:function(e)
{
var code=e.keyCode||-1;
if(code==keyCodes.escape)
{
if($.popUpsStack._activePopUps&&$.popUpsStack._activePopUps.length)
{
    var currentActiveZIndex=0,ind=0;
    $.each($.popUpsStack._activePopUps,function(index,elem)
    {
        var zi=$(elem).css("z-index");
        if(currentActiveZIndex<zi)
        {
            currentActiveZIndex=zi;
            ind=index
        }
    }
    );
    $.popUpsStack._activePopUps.eq(ind).data($.popUpsStack.constants.dataKey).self.discard()
}
}
}
};
$(document).bind("keyup.efPopUpKeyUpBind",$.popUpsStack.keyup)
}
)(jQuery);
(function($)
{
    $.fn.getObjectId=function()
    {
        return"objectId_"+this.data("")
    }
}
)(jQuery);
(function($)
{
    if(typeof $.efTemplates=="undefined")
    {
        $.efTemplates=
        {
        }
    }
    if(typeof $.efTemplates.popUps=="undefined")
    {
        $.efTemplates.popUps=
        {
        }
    }
    if(typeof $.popUpsStack=="undefined"||typeof $.fn.getObjectId=="undefined")
    {
        throw new Error("$.efTemplates.popUps.abstractPopUp requires $.popUpsStack and $.generateObjectId. Initialization failed.")
    }
    $.efTemplates.popUps._templateSettings=
    {
        cssClasses:
        {
            common:
            {
                closeButton:"pclose_point",closeButton_selectorPopUp:"pclose_point_selectorPopUp",contentContainerBaseClass:"popUpContentContainer",isDraggable:"isDraggable",topGapClass:"popUpTopGap",lateralBottomGapClass:"popUpLateralBottomGap"
            }
            ,colorClasses:
            {
                baseColorContainer:"relaxingGreenContainer",topContainer:"grtop_grad cc",leftTopCorner:"grltcrn",rightTopCorner:"grrtcrn",leftBorderContent:"grl_grad",rightBorderContent:"grr_grad",bottomContainer:"grbtm_grad cc",leftBottomCorner:"grlbcrn",rightBottomCorner:"grrbcrn"
            }
        }
        ,colors:
        {
            green:null,orange:
            {
                colorClasses:
                {
                    baseColorContainer:"coolOrangeContainer",topContainer:"ortop_grad cc",leftTopCorner:"orltcrn",rightTopCorner:"orrtcrn",leftBorderContent:"orl_grad",rightBorderContent:"orr_grad",bottomContainer:"orbtm_grad cc",leftBottomCorner:"orlbcrn",rightBottomCorner:"orrbcrn"
                }
            }
            ,pink:
            {
                colorClasses:
                {
                    baseColorContainer:"handbagPinkContainer",topContainer:"pktop_grad cc",leftTopCorner:"pkltcrn",rightTopCorner:"pkrtcrn",leftBorderContent:"pkl_grad",rightBorderContent:"pkr_grad",bottomContainer:"pkbtm_grad cc",leftBottomCorner:"pklbcrn",rightBottomCorner:"pkrbcrn"
                }
            }
            ,grey:
            {
                colorClasses:
                {
                    baseColorContainer:"simpleGreyContainer"
                }
            }
            ,gradient_grey:
            {
                colorClasses:
                {
                    baseColorContainer:"simpleGreyContainer",topContainer:"grey_top_grad cc",leftTopCorner:"grey_ltcrn",rightTopCorner:"grey_rtcrn",leftBorderContent:"grey_l_grad cc",rightBorderContent:"grey_r_grad cc",bottomContainer:"grey_btm_grad cc",leftBottomCorner:"grey_lbcrn",rightBottomCorner:"grey_rbcrn"
                }
            }
        }
        ,constants:
        {
            fadeDuration:400
        }
    };
    $.each($.efTemplates.popUps._templateSettings.colors,function(colorName,val)
    {
        $.efTemplates.popUps._templateSettings.colors[colorName]=
        {
            name:colorName,colorClasses:(val&&val.colorClasses)?val.colorClasses:
            {
            }
        }
    }
    );
    $.efTemplates.popUps.displayTypes=
    {
        inViewedScreen:"inViewedScreen",relativeToParrent:"relativeToParrent"
    };
    $.efTemplates.popUps.dataKey="parentEfPopUp";
    $.efTemplates.popUps.selectorPopUpGroupName="efSelectorPopUp";
    $.efTemplates.popUps._closePopUpEventName="closePopUp";
    _defaultSettings=
    {
        color:$.efTemplates.popUps._templateSettings.colors.green.name,_baseClass:"",additionalBaseClasses:"",groupName:"efAbstractPopUp",showCloseButton:true,contentContainerClasses:"",innerElements:null,onCloseCallback:null,cascadingDisplay:false,gradientBackground:true,draggable:true,displaySettings:
        {
            calculatedPosition:false,type:$.efTemplates.popUps.displayTypes.inViewedScreen,positionToAdd:
            {
                top:50,left:0
            }
            ,effects:true
        }
        ,removeOnDiscard:false,oneInstanceInGroupOnPage:false,topGap:false,lateralBottomGap:false
    };
    $.efTemplates.popUps.abstractPopUp=function APPU_create(params)
    {
        var displaySettings=$.extend(
        {
        }
        ,_defaultSettings.displaySettings,params&&params.displaySettings?params.displaySettings:
        {
        }
        );
        var settings=$.extend(
        {
        }
        ,_defaultSettings,params||
        {
        }
        );
        settings.displaySettings=$.extend(settings.displaySettings,displaySettings);
        var currentPopUp=this;
        var currentTemplate=
        {
            commonClasses:$.efTemplates.popUps._templateSettings.cssClasses.common
        };
        currentTemplate.colorClasses=$.extend(
        {
        }
        ,$.efTemplates.popUps._templateSettings.cssClasses.colorClasses,$.efTemplates.popUps._templateSettings.colors[settings.color].colorClasses);
        var popUpBaseContainer=$("<div/>").addClass(currentTemplate.colorClasses.baseColorContainer).addClass(settings._baseClass+" "+settings.additionalBaseClasses).css("position","absolute");
        settings.draggable=settings.draggable&&typeof popUpBaseContainer.draggable!="undefined";
        var closeButton=null;
        if(settings.showCloseButton)
        {
closeButton=$("<span/>").attr("className",currentTemplate.commonClasses.closeButton).text("Close").click(function()
{
    currentPopUp.discard()
}
);
if(!settings.draggable)
{
    closeButton.addClass(currentTemplate.commonClasses.closeButton_selectorPopUp)
}
}
var contentContainer=$("<div/>").addClass(currentTemplate.commonClasses.contentContainerBaseClass).addClass(settings.contentContainerClasses);
if(settings.topGap)
{
contentContainer.addClass(currentTemplate.commonClasses.topGapClass)
}
if(settings.lateralBottomGap)
{
contentContainer.addClass(currentTemplate.commonClasses.lateralBottomGapClass)
}
if(settings.innerElements)
{
contentContainer.append(settings.innerElements)
}
if(settings.gradientBackground)
{
var topContainer=$("<div/>").attr("className",currentTemplate.colorClasses.topContainer);
if(settings.draggable)
{
    topContainer.addClass(currentTemplate.commonClasses.isDraggable)
}
var leftTopCorner=$("<div/>").attr("className",currentTemplate.colorClasses.leftTopCorner);
var rightTopCorner=$("<div/>").attr("className",currentTemplate.colorClasses.rightTopCorner);
topContainer.append(leftTopCorner).append(rightTopCorner).appendTo(popUpBaseContainer);
var leftBorderContent=$("<div/>").attr("className",currentTemplate.colorClasses.leftBorderContent);
var rightBorderContent=$("<div/>").attr("className",currentTemplate.colorClasses.rightBorderContent);
if(closeButton)
{
    rightBorderContent.append(closeButton)
}
leftBorderContent.append(rightBorderContent.append(contentContainer)).appendTo(popUpBaseContainer);
var bottomContainer=$("<div/>").attr("className",currentTemplate.colorClasses.bottomContainer);
if(settings.draggable)
{
    bottomContainer.addClass(currentTemplate.commonClasses.isDraggable)
}
var leftBottomCorner=$("<div/>").attr("className",currentTemplate.colorClasses.leftBottomCorner);
var rightBottomCorner=$("<div/>").attr("className",currentTemplate.colorClasses.rightBottomCorner);
bottomContainer.append(leftBottomCorner).append(rightBottomCorner).appendTo(popUpBaseContainer)
}
else
{
if(closeButton)
{
    popUpBaseContainer.append(closeButton)
}
popUpBaseContainer.append(contentContainer)
}
popUpBaseContainer.data($.popUpsStack.constants.dataKey,
{
settings:settings,self:this
}
);
if(settings.draggable)
{
popUpBaseContainer.draggable(
{
    cancel:"input, textarea, button, select, option, a, .pclose_point",snap:"."+settings._baseClass,snapTolerance:15
}
)
}
function getWindowTop()
{
    var top_prew_marg;
    if(window.innerWidth)
    {
        top_prew_marg=window.pageYOffset
    }
    else
    {
        if(document.documentElement&&document.documentElement.clientWidth)
        {
            top_prew_marg=document.documentElement.scrollTop
        }
        else
        {
            if(document.body.clientWidth)
            {
                top_prew_marg=document.body.scrollTop
            }
        }
    }
    return top_prew_marg
}
this.isDisplayed=false;
this.elementsContainer=contentContainer;
this.display=function APPU_display(positionToAdd,callback)
{
    if(this.isDisplayed||!popUpBaseContainer||!popUpBaseContainer.length)
    {
        return this.makeActivePopUp(false,positionToAdd&&positionToAdd.top?positionToAdd.top:0)
    }
    this.isDisplayed=true;
    if($.isFunction(positionToAdd))
    {
        callback=positionToAdd;
        positionToAdd=
        {
        }
    }
    var _settings=popUpBaseContainer.data($.popUpsStack.constants.dataKey).settings;
    var _displaySettings=_settings.displaySettings;
    _displaySettings.positionToAdd=$.extend(_displaySettings.positionToAdd,positionToAdd);
    popUpBaseContainer.css(
    {
        top:"",left:($(window).width()-popUpBaseContainer.width())/2,zIndex:""
    }
    );
    PageHTMLFixes.HideElements();
    if(_displaySettings.calculatedPosition)
    {
        switch(_displaySettings.type)
        {
            case $.efTemplates.popUps.displayTypes.inViewedScreen:var top_prew_marg=getWindowTop();
            popUpBaseContainer.css(
            {
                top:top_prew_marg+_displaySettings.positionToAdd.top
            }
            );
            break;
            case $.efTemplates.popUps.displayTypes.relativeToParrent:var pos=_displaySettings.positionToAdd;
            popUpBaseContainer.css(
            {
                left:pos.left,top:pos.top
            }
            );
            break
        }
    }
    if(_settings.cascadingDisplay)
    {
        var coordonates=$.popUpsStack.getCoordinatesOfActivePopUpByGroupName(_settings.groupName);
        if(coordonates.top&&coordonates.left)
        {
            popUpBaseContainer.css(
            {
                top:coordonates.top+50,left:coordonates.left+50,zIndex:""
            }
            )
        }
    }
    var normalizeZIndex=true;
    this.makeActivePopUp(normalizeZIndex);
    if($.browser.msie&&parseInt($.browser.version,10)<=6||!_displaySettings.effects)
    {
        popUpBaseContainer.show();
        if(callback)
        {
            callback()
        }
    }
    else
    {
        popUpBaseContainer.fadeIn($.efTemplates.popUps._templateSettings.constants.fadeDuration,callback)
    }
    return this
};
this.discard=function APPU_discard(removeFromDom)
{
    if(!this.isDisplayed||!popUpBaseContainer||!popUpBaseContainer.length)
    {
        return this
    }
    this.isDisplayed=false;
    var data=popUpBaseContainer.data($.popUpsStack.constants.dataKey);
    var _settings=data.settings;
    var callBackAll=function()
    {
        if(_settings.onCloseCallback)
        {
            _settings.onCloseCallback()
        }
        if(settings.removeOnDiscard||removeFromDom)
        {
            if(settings.oneInstanceInGroupOnPage)
            {
                $(document).unbind($.efTemplates.popUps._closePopUpEventName+"."+settings.groupName+popUpBaseContainer.getObjectId())
            }
            popUpBaseContainer.remove();
            popUpBaseContainer=null
        }
    };
    PageHTMLFixes.ShowElements();
    makePassivePopUp();
    if($.browser.msie&&parseInt($.browser.version,10)<=6||!_settings.displaySettings.effects)
    {
        popUpBaseContainer.hide();
        if(callBackAll)
        {
            callBackAll()
        }
    }
    else
    {
        popUpBaseContainer.fadeOut($.efTemplates.popUps._templateSettings.constants.fadeDuration,callBackAll)
    }
    return this
};
this.makeActivePopUp=function APPU_makeActivePopUp(normalizeZIndex,addToTop)
{
    if(!this.isDisplayed||!popUpBaseContainer||!popUpBaseContainer.length)
    {
        return this
    }
    if(settings.oneInstanceInGroupOnPage)
    {
        $(document).trigger($.efTemplates.popUps._closePopUpEventName,[popUpBaseContainer.getObjectId()])
    }
    else
    {
        $.efTemplates.popUps.closeSelectorPopUps()
    }
    if(!popUpBaseContainer||!popUpBaseContainer.length)
    {
        EF.Utils.EmailLogger.log("popUpBaseContainer is null, trigger worked for current pop up.");
        return this
    }
    var currentZIndex=popUpBaseContainer.css("z-index");
    var activeZIndex=$.popUpsStack.getActiveZIndex();
    if(isNaN(currentZIndex)||currentZIndex<activeZIndex-1||normalizeZIndex)
    {
        popUpBaseContainer.css(
        {
            "z-index":activeZIndex++
        }
        );
        $.popUpsStack.registerActivePopUp(
        {
            popUpObj:popUpBaseContainer,zIndex:activeZIndex
        }
        )
    }
    if(addToTop)
    {
        var top_prew_marg=getWindowTop();
        popUpBaseContainer.css(
        {
            top:top_prew_marg+addToTop
        }
        )
    }
    return this
};
if(settings.oneInstanceInGroupOnPage)
{
    var currentObjId=popUpBaseContainer.getObjectId();
    $(document).bind($.efTemplates.popUps._closePopUpEventName+"."+settings.groupName+currentObjId,function(e,popUpBaseContainerIdToDisplay,additional)
    {
        if(popUpBaseContainerIdToDisplay!=currentObjId)
        {
            currentPopUp.discard()
        }
    }
    )
}
var makePassivePopUp=function AbsP_makePassivePopUp()
{
    $.popUpsStack.unRegisterActivePopUp(popUpBaseContainer)
};
popUpBaseContainer.mousedown(function()
{
    currentPopUp.makeActivePopUp()
}
);
popUpBaseContainer.hide().appendTo("body");
var unsupportedMethors=["show","hide","find","css","attr","data","parents"];
$.each(unsupportedMethors,function()
{
    var methodName=this;
    currentPopUp[methodName]=function()
    {
        throw new Error("Method "+methodName+" is not supported by pop up")
    }
}
);
return this
};
$.efTemplates.popUps.closeSelectorPopUps=function AB_closeSelectorPopUps()
{
$(document).trigger($.efTemplates.popUps._closePopUpEventName)
}
}
)(jQuery);
(function($)
{
    if(typeof $.efTemplates=="undefined")
    {
        $.efTemplates=
        {
        }
    }
    if(typeof $.efTemplates.popUps=="undefined")
    {
        $.efTemplates.popUps=
        {
        }
    }
    if(typeof $.efTemplates.popUps.abstractPopUp=="undefined")
    {
        throw new Error("$.efTemplates.popUps.window requires $.efTemplates.popUps.abstractPopUp. Initialization failed.")
    }
    $.efTemplates.popUps._windowPopUpDefaultSettings=
    {
        color:$.efTemplates.popUps._templateSettings.colors.green.name,_baseClass:"popUpWindowBase",additionalBaseClasses:"",groupName:"efWindowPopUp",contentContainerClasses:"",innerElements:null,onCloseCallback:null,cascadingDisplay:false,gradientBackground:true,draggable:true,displaySettings:
        {
            calculatedPosition:false,type:$.efTemplates.popUps.displayTypes.inViewedScreen,positionToAdd:
            {
                top:50,left:0
            }
        }
    };
    var windowPopUp=function(params)
    {
        var displaySettings=$.extend(
        {
        }
        ,$.efTemplates.popUps._windowPopUpDefaultSettings.displaySettings,params&&params.displaySettings?params.displaySettings:
        {
        }
        );
        var settings=$.extend(
        {
        }
        ,$.efTemplates.popUps._windowPopUpDefaultSettings,params||
        {
        }
        );
        settings.displaySettings=$.extend(settings.displaySettings,displaySettings);
        windowPopUp.prototype.superclass.call(this,settings);
        return this
    };
    windowPopUp.prototype.superclass=$.efTemplates.popUps.abstractPopUp;
    $.efTemplates.popUps.window=windowPopUp
}
)(jQuery);
(function($)
{
    if(typeof $.efTemplates=="undefined")
    {
        $.efTemplates=
        {
        }
    }
    if(typeof $.efTemplates.popUps=="undefined")
    {
        $.efTemplates.popUps=
        {
        }
    }
    if(typeof $.efTemplates.popUps.abstractPopUp=="undefined")
    {
        throw new Error("$.efTemplates.popUps.selector requires $.efTemplates.popUps.abstractPopUp. Initialization failed.")
    }
    _selectorPopUpDefaultSettings=
    {
        color:$.efTemplates.popUps._templateSettings.colors.pink.name,_baseClass:"selectorPopUpBase",additionalBaseClasses:"",showCloseButton:true,contentContainerClasses:"",innerElements:null,onCloseCallback:null,cascadingDisplay:false,groupName:$.efTemplates.popUps.selectorPopUpGroupName,gradientBackground:false,draggable:false,displaySettings:
        {
            calculatedPosition:true,type:$.efTemplates.popUps.displayTypes.relativeToParrent,positionToAdd:
            {
                top:0,left:0
            }
            ,effects:false
        }
        ,removeOnDiscard:true,oneInstanceInGroupOnPage:true,topGap:false
    };
    var selectorPopUp=function(params)
    {
        var displaySettings=$.extend(
        {
        }
        ,_selectorPopUpDefaultSettings.displaySettings,params&&params.displaySettings?params.displaySettings:
        {
        }
        );
        var settings=$.extend(
        {
        }
        ,_selectorPopUpDefaultSettings,params||
        {
        }
        );
        settings.displaySettings=$.extend(settings.displaySettings,displaySettings);
        selectorPopUp.prototype.superclass.call(this,settings);
        return this
    };
    selectorPopUp.prototype.superclass=$.efTemplates.popUps.abstractPopUp;
    $.efTemplates.popUps.selector=selectorPopUp
}
)(jQuery);
(function($)
{
    var themes=
    {
        pink:"pink",blue:"blue"
    };
    $.efTooltipSettings=
    {
        tooltipInitiatedKey:"tooltipInitiated",infoIconData:"efIIconData",infoIconCoordinates:"efIIconParentCoordinates",activeZIndex:1600,popUpContentKey:"popUpContent"
    };
    var defaults=
    {
        theme:themes.pink,useBaseContainer:true,offsetTop:0,offsetLeftforLeftArrow:0,offsetLeftforRightArrow:0,rightSideTooltipOffsetLeft:0,avatarHoverMode:false,oneAtTheSameTime:false
    };
    var bubble_top='<p class="bln9pix">&nbsp;</p><p class="bln7pix">&nbsp;</p><p class="bln5pix">&nbsp;</p><p class="bln4pix">&nbsp;</p><p class="bln3pix">&nbsp;</p><p class="bln2pix">&nbsp;</p><p class="bln1pix">&nbsp;</p>';
    var bubble_bottom='<p class="bln1pix">&nbsp;</p><p class="bln2pix">&nbsp;</p><p class="bln3pix">&nbsp;</p><p class="bln4pix">&nbsp;</p><p class="bln5pix">&nbsp;</p><p class="bln7pix">&nbsp;</p><p class="bln9pix">&nbsp;</p>';
    var settings;
    $.fn.efTooltip=function fn_efTooltip(params)
    {
        settings=$.extend(
        {
        }
        ,defaults,params||
        {
        }
        );
        var toolTipArray=this;
this.each(function(i,infoIconElem)
{
    var infoIconElemExt=$(infoIconElem);
    if(infoIconElemExt.data($.efTooltipSettings.tooltipInitiatedKey))
    {
        return
    }
    infoIconElemExt.efShowTooltip=efShowTooltip;
    infoIconElemExt.efHideTooltip=efHideTooltip;
    infoIconElemExt.toolTipLinksArray=toolTipArray;
    infoIconElemExt.bind("mouseenter",function()
    {
        infoIconElemExt.efShowTooltip()
    }
    ).bind("mouseleave",function()
    {
        infoIconElemExt.efHideTooltip()
    }
    );
    var infoIconTooltip=infoIconElemExt.children();
    infoIconTooltip.bind("mouseenter",function()
    {
        infoIconElemExt.efShowTooltip()
    }
    ).bind("mouseleave",function()
    {
        infoIconElemExt.efHideTooltip()
    }
    );
    infoIconElemExt.data($.efTooltipSettings.tooltipInitiatedKey,true)
}
);
return this
};
var efShowTooltip=function EFT_efShowTooltip()
{
this.show=true;
if(this.closeTimeoutInProcess)
{
    return
}
PageHTMLFixes.HideElements();
var infoIcon=$(this);
if(settings.parentOnHoverClass)
{
    infoIcon.addClass(settings.parentOnHoverClass)
}
var infoIconCoordinates=infoIcon.offset();
if(!this.tooltipInitiated)
{
    var tooltipContainer=$("<div />").addClass("tooltipContainerEverywhere").css(
    {
        "z-index":$.efTooltipSettings.activeZIndex++,top:infoIconCoordinates.top+infoIcon.height()+settings.offsetTop
    }
    );
    if(infoIcon.is(".avatar_left_bubble"))
    {
        infoIcon.find(".contributors-bubble").css("left",settings.rightSideTooltipOffsetLeft);
        tooltipContainer.css(
        {
            left:infoIconCoordinates.left+settings.offsetLeftforRightArrow
        }
        )
    }
    else
    {
        tooltipContainer.css(
        {
            left:infoIconCoordinates.left+settings.offsetLeftforLeftArrow
        }
        )
    }
    tooltipContainer.appendTo("body");
    infoIcon.data("popUpContent",tooltipContainer);
    var tooltipContainerBs=$("<div />");
    if(!settings.useBaseContainer)
    {
        tooltipContainerBs.append(infoIcon.children().not(".avatar_img")).addClass("tooltipContainer")
    }
    else
    {
        tooltipContainerBs.append(infoIcon.children()).addClass("tooltipContainer")
    }
    tooltipContainerBs.appendTo(tooltipContainer);
    tooltipContainerBs.find(".bln_content").before(bubble_top).after(bubble_bottom);
    if(settings.theme==themes.blue)
    {
        tooltipContainerBs.addClass("blue_theme")
    }
    infoIcon.data($.efTooltipSettings.infoIconData,tooltipContainer);
    infoIcon.data($.efTooltipSettings.infoIconCoordinates,infoIconCoordinates);
    this.tooltipInitiated=true
}
else
{
    var position=
    {
        top:infoIconCoordinates.top+infoIcon.height()+settings.offsetTop,left:infoIconCoordinates.left+settings.offsetLeftforLeftArrow
    };
    if(infoIcon.is(".avatar_left_bubble"))
    {
        position.left=infoIconCoordinates.left+settings.offsetLeftforRightArrow
    }
    var prevCoordinates=infoIcon.data($.efTooltipSettings.infoIconCoordinates);
    if(prevCoordinates.top!=infoIconCoordinates.top||prevCoordinates.left!=infoIconCoordinates.left)
    {
        infoIcon.data($.efTooltipSettings.infoIconData).css(
        {
            top:position.top,left:position.left
        }
        );
        infoIcon.data($.efTooltipSettings.infoIconCoordinates,infoIconCoordinates)
    }
}
var tooltipCont=infoIcon.data($.efTooltipSettings.infoIconData);
var currentZIndex=tooltipCont.css("z-index");
var activeZIndex=(currentZIndex<$.efTooltipSettings.activeZIndex)?++$.efTooltipSettings.activeZIndex:currentZIndex;
infoIcon.data($.efTooltipSettings.infoIconData).css("z-index",activeZIndex).show();
if(!settings.useBaseContainer)
{
    infoIcon.data($.efTooltipSettings.infoIconData).find("div.bln_blk").show();
    infoIcon.data($.efTooltipSettings.infoIconData).find("img.popup_tail").show()
}
if(settings.oneAtTheSameTime)
{
this.toolTipLinksArray.each(function(i,toolTipItem)
{
    var toolTipblock=$(toolTipItem);
    try
    {
        if(toolTipblock.data($.efTooltipSettings.infoIconData)!=infoIcon.data($.efTooltipSettings.infoIconData))
        {
            toolTipblock.data($.efTooltipSettings.infoIconData).hide();
            if(settings.parentOnHoverClass)
            {
                toolTipblock.removeClass(settings.parentOnHoverClass)
            }
        }
    }
    catch(e)
    {
    }
}
)
}
};
var efHideTooltip=function EFT_efHideTooltip()
{
var bln_cnt=this;
bln_cnt.show=false;
bln_cnt.closeTimeoutInProcess=true;
setTimeout(function()
{
    try
    {
        if(!bln_cnt.show)
        {
            $(bln_cnt).data($.efTooltipSettings.infoIconData).hide();
            if(settings.parentOnHoverClass)
            {
                bln_cnt.removeClass(settings.parentOnHoverClass)
            }
            PageHTMLFixes.ShowElements()
        }
        bln_cnt.closeTimeoutInProcess=false
    }
    catch(e)
    {
    }
}
,500)
}
}
)(jQuery);
(function($)
{
    $.fn.getClassNames=function()
    {
        var classNames=name=this.attr("className");
        if(classNames)
        {
            return name.split(/\s+/)
        }
        if(!classNames)
        {
            return[]
        }
    }
}
)(jQuery);









////////////////////////////////////////////////////////////////////////////////////////////



(function($)
{
    $.fn.backgroundNumbers=function(params)
    {
        this.bkSettings=$.extend(
        {
            digitcommonclass:".hd_digit",prefixclass:".num_"
        }
        ,params||
        {
        }
        );
        this.bkSettings.bkDigits=this.children(this.bkSettings.digitcommonclass);
        this.getNumber=getNumber;
        this.setNumber=setNumber;
        return this
    };
    var getNumber=function()
    {
        var number=0;
        var bkSettings=this.bkSettings;
bkSettings.bkDigits.each(function(ind,elem)
{
    var cssClasses=$(elem).getClassNames();
    jQuery.each(cssClasses,function()
    {
        var currentClass=this.toString();
        var reDigitClass=new RegExp(bkSettings.prefixclass.substring(1)+"[0-9]{1}");
        if(reDigitClass.test(currentClass))
        {
            var reDigit=new RegExp("[0-9]{1}");
            var digit=reDigit.exec(currentClass);
            number=parseInt(digit,10)+number*10
        }
    }
    )
}
);
return number
};
var setNumber=function(numberToSet)
{
var NumberDigits=[];
if(!numberToSet)
{
    NumberDigits.push(0)
}
else
{
    var _numberToSet=numberToSet;
    var digit;
    while(_numberToSet)
    {
        digit=_numberToSet%10;
        _numberToSet=Math.floor(_numberToSet/10);
        NumberDigits.push(digit)
    }
}
var bkSettings=this.bkSettings;
bkSettings.bkDigits.each(function(ind,elem)
{
    var currElem=$(elem);
    var cssClasses=currElem.getClassNames();
    jQuery.each(cssClasses,function()
    {
        var reDigitClass=new RegExp(bkSettings.prefixclass.substring(1));
        var hasDigitClass=reDigitClass.test(this);
        if(hasDigitClass)
        {
            currElem.removeClass(this)
        }
    }
    );
    var countDigitsContainers=bkSettings.bkDigits.length;
    var indexDigitsArray=countDigitsContainers-ind-1;
    if(indexDigitsArray<NumberDigits.length)
    {
        var digitToDisplay=NumberDigits[indexDigitsArray];
        currElem.addClass(bkSettings.prefixclass.substring(1)+digitToDisplay);
        currElem.show()
    }
    else
    {
        currElem.hide()
    }
}
)
}
}
)(jQuery);
jQuery.fn.toggleVal=function(focusClass)
{
this.each(function()
{
$(this).focus(function()
{
    if($(this).val()==this.defaultValue)
    {
        $(this).val("")
    }
    if(focusClass)
    {
        $(this).addClass(focusClass)
    }
}
).blur(function()
{
    if($(this).val()=="")
    {
        $(this).val(this.defaultValue)
    }
    if(focusClass)
    {
        $(this).removeClass(focusClass)
    }
}
)
}
)
};
var sections=
{
vieweditems:1,previewbox:2,comparison:4,prodListing_grid:8,prodListing_list:16,prodListing_dynamic:32,cart:64,productpage:128,otherproducts:256,alsosuggest:512,corporateServiceListing:1024,requiredproduct:2048,reviews_hp_best_value_product:4096,wishList_product:8192,wishList_tab:16384,lingerieProductPage:32768,review_page_product:65536,reviewCategoryProducts:131072,cartTabPromoProducts:262144,productPageFantasyIncludedProducts:524288,productPageKitProducts:1048576,productPageDealsProducts:2097152,productsCompareWith:4194304,productPageTape:8388608,searchResultsProducts:16777216,companiesUpcommingProducts:33554432
};
var sectionsSelectorPopUpsPositionClasses=
{
};
sectionsSelectorPopUpsPositionClasses[sections.alsosuggest]=
{
variationSelector:
{
cssClass:"also_sugget_var_selector",position:
{
    top:140,left:30
}
}
};
sectionsSelectorPopUpsPositionClasses[sections.otherproducts]=
{
variationSelector:
{
cssClass:"similar_item_var_selector",position:
{
    top:70,left:40
}
}
};
sectionsSelectorPopUpsPositionClasses[sections.prodListing_grid|sections.prodListing_dynamic]=
{
variationSelector:
{
cssClass:"col_thumbs_grid_selector",position:
{
    top:85,left:-17
}
}
};
sectionsSelectorPopUpsPositionClasses[sections.prodListing_grid]=sectionsSelectorPopUpsPositionClasses[sections.prodListing_grid|sections.prodListing_dynamic];
sectionsSelectorPopUpsPositionClasses[sections.prodListing_list|sections.prodListing_dynamic]=
{
variationSelector:
{
cssClass:"col_thumbs_list_selector",position:
{
    top:74,left:-45
}
}
};
sectionsSelectorPopUpsPositionClasses[sections.prodListing_list]=sectionsSelectorPopUpsPositionClasses[sections.prodListing_list|sections.prodListing_dynamic];
sectionsSelectorPopUpsPositionClasses[sections.vieweditems]=
{
variationSelector:
{
cssClass:"vieweditems_selector_popup",position:
{
    top:34,left:40
}
}
};
sectionsSelectorPopUpsPositionClasses[sections.vieweditems]=
{
variationSelector:
{
cssClass:"vieweditems_selector_popup",position:
{
    top:34,left:40
}
}
};
var salePriceCssClassBySection=
{
};
salePriceCssClassBySection[sections.prodListing_dynamic]="lst_prod_price_sale";
salePriceCssClassBySection[sections.prodListing_dynamic|sections.prodListing_grid]=salePriceCssClassBySection[sections.prodListing_dynamic|sections.prodListing_list]=salePriceCssClassBySection[sections.prodListing_list]=salePriceCssClassBySection[sections.prodListing_grid]=salePriceCssClassBySection[sections.prodListing_dynamic];
var PROMOTION_TYPE=
{
NONE:0,GIFT_CERTIFICATE:1,FREE_SHIPPING:2,CONTRIBUTOR_BUYOUT_ASSIGNMENT:7,SALE:100,DEAL:101,KIT:102,FANTASY_BASKET:103,AFFILIATE_PARTNER_CODE:104
};
var PromotionConstants=
{
ManyPromotionsIdentifier:-999
};
var HeaderTabsExecInterface=
{
ParamNames:
{
Operation:"op",Pid:"pid",ThumbSize:"thumbSize",CartItemId:"cartItemId",MarketingGroupId:"mktgrid",PromotionIncludedProducts:"incprods"
}
,Operations:
{
AddItem:"ai",RemoveItem:"ri",GetVariations:"gv",GetCartData:"gc",ClearHistory:"ch",ViewdItems:"vi",GetOneVariationData:"vd",IncrementItem:"ii",DecrementItem:"di",AddGiftRegistryItem:"aigr",GetTodaysDeals:"gtd",GetPromoVariations:"gpromo_var",RemovePromotion:"promo_rem",IncPromotion:"promo_inc",DecPromotion:"promo_dec",TestCartPromotion:"tcp"
}
};
var Requests=
{
headerExecUrl:"/ajax/htabs/exec.asp",promoExecUrl:"/ajax/pp.asp",CartTabAjax:null,CartTabAjaxAbort:function()
{
this.CartTabAjax.abort();
this.CartTabAjax=null;
HTabs.loadings.cart.hide()
}
,CartTabAjaxEnd:function()
{
this.CartTabAjax=null;
HTabs.loadings.cart.hide()
}
,ContactUsAjax:null,ContactUsAjaxEnd:function()
{
this.ContactUsAjax=null;
HTabs.loadings.contactus.hide()
}
,ContactUsAjaxAbort:function()
{
this.ContactUsAjax.abort();
this.ContactUsAjax=null;
HTabs.loadings.contactus.hide()
}
,WishListTabAjax:null,WishListTabAjaxEnd:function()
{
this.WishListTabAjax=null;
HTabs.loadings.wishlist.hide()
}
,WishListTabAjaxAbort:function()
{
this.WishListTabAjax.abort();
this.WishListTabAjax=null;
HTabs.loadings.wishlist.hide()
}
,VItemsTabAjax:null,VItemsTabAjaxAbort:function()
{
this.VItemsTabAjax.abort();
this.VItemsTabAjax=null;
HTabs.loadings.vieweditems.hide()
}
,VItemsTabAjaxEnd:function()
{
this.VItemsTabAjax=null;
HTabs.loadings.vieweditems.hide()
}
,TodaysDealsAjax:null,TodaysDealsAjaxEnd:function()
{
this.TodaysDealsAjax=null;
HTabs.loadings.todaysdeals.hide()
}
,TodaysDealsAjaxAbort:function()
{
this.TodaysDealsAjax.abort();
this.TodaysDealsAjax=null;
HTabs.loadings.todaysdeals.hide()
}
,GetVariationsAjax:null,GetVariationsAjaxAbort:function()
{
this.GetVariationsAjax.abort();
this.GetVariationsAjax=null
}
,CartRequestLink:function(url)
{
var result=false;
url=url.toString();
if(url.indexOf(Requests.headerExecUrl+"?op=ri")>-1||url.indexOf(Requests.headerExecUrl+"?op=ai")>-1||url.indexOf(Requests.headerExecUrl+"?op=gc")>-1)
{
    result=true
}
return result
}
,VItemsRequestLink:function(url)
{
var result=false;
url=url.toString();
if(url.indexOf(Requests.headerExecUrl+"?op=gv")>-1||url.indexOf(Requests.headerExecUrl+"?op=ch ")>-1)
{
    result=true
}
return result
}
,CompareRequestLink:function(url)
{
var result=false;
url=url.toString();
if(url.indexOf("/Slaves/ProductComparision.asp")>-1)
{
    result=true
}
return result
}
,WishListRequestLink:function(url)
{
var result=false;
url=url.toString();
if(url.indexOf("/ajax/WishList.asp?action=getWlItems")>-1)
{
    result=true
}
return result
}
};
var Icons=
{
Titles:
{
GetInfoTitle:function()
{
    return"Quick View"
}
,GetAddCompareTitle:function()
{
    return"Add to Compare"
}
,GetRemoveCompareTitle:function()
{
    return"Remove from Compare"
}
,GetAddCartTitle:function()
{
    return"Add to Cart"
}
,GetRemoveCartTitle:function()
{
    return"Remove from Cart"
}
,GetOOSTitle:function()
{
    return"Out of Stock"
}
,GetAddWishListTitle:function()
{
    return"Add to Wish list"
}
,GetRemoveWishListTitle:function()
{
    return"Remove from Wish list"
}
,GetAddToWishListTitle:function()
{
    return"Add to Wish list"
}
,GetAlreadyAddedWishListTitle:function()
{
    return"Add to another Wish list"
}
}
,WishListIconTypes:
{
AddToWishList:0,AlreadyAdded:1,Remove:2
}
,GetInfoIcon:function(Pid)
{
var iconId=Pid?"id='prod_preview_'"+Pid:"";
return"<div class='prev_info cart_prod_inf' "+iconId+" title='"+Icons.Titles.GetInfoTitle()+"'>&nbsp;</div>"
}
,GetCartIcon:function(Status,IsInCart)
{
var title=Icons.Titles.GetAddCartTitle();
var textreturn;
if(!ProductStatuses.isInStock(Status))
{
    textreturn="<div class='carticon oos_status' title='"+Icons.Titles.GetOOSTitle()+"'>&nbsp;</div>"
}
else
{
    if(IsInCart)
    {
        title=Icons.Titles.GetRemoveCartTitle()
    }
    var isInCartClass=IsInCart?"item_removefromcart":"item_addtocart";
    textreturn="<div class='carticon "+isInCartClass+"' title='"+title+"'>&nbsp;</div>"
}
return textreturn
}
,GetCompareIcon:function(IsInCompare)
{
var title=IsInCompare?Icons.Titles.GetRemoveCompareTitle():Icons.Titles.GetAddCompareTitle();
var isInCompareClass=IsInCompare?"item_removefromcompare":"item_addtocompare";
return"<div class='cmpricon "+isInCompareClass+"' title='"+title+"'>&nbsp;</div>"
}
,GetWishListIcon:function(iconType)
{
if(iconType==Icons.WishListIconTypes.Remove)
{
    return'<div class="rem_wish item_removefromwishlist" title="'+Icons.Titles.GetRemoveWishListTitle()+'">&nbsp;</div>'
}
else
{
    if(iconType==Icons.WishListIconTypes.AlreadyAdded)
    {
        return'<div class="added_wishlist item_addtowishlist" title="'+Icons.Titles.GetAlreadyAddedWishListTitle()+'">&nbsp;</div>'
    }
    else
    {
        return'<div class="add_wishlist item_addtowishlist" title="'+Icons.Titles.GetAddWishListTitle()+'">&nbsp;</div>'
    }
}
}
,GetALaCarteIcon:function()
{
return'<span class="prom_cart_btns ala_carte_btn btn item_addtocart" title="A la carte">&nbsp;</span>'
}
,GetPromotionCartIcon:function(isPromoInCart,promotionTypeId)
{
var iconTitle=isPromoInCart?Icons.Titles.GetRemoveCartTitle():Icons.Titles.GetAddCartTitle();
var iconClass;
if(promotionTypeId==PROMOTION_TYPE.SALE)
{
    iconClass=isPromoInCart?"remove_sale_btn":"item_addtocart";
    return'<div class="carticon prom_cart_btns '+iconClass+'" title="'+iconTitle+'">&nbsp;</div>'
}
else
{
    if(promotionTypeId==PROMOTION_TYPE.GIFT_CERTIFICATE)
    {
        return Icons.GetCartIcon(ProductStatuses.normal,isPromoInCart)
    }
    else
    {
        iconClass=isPromoInCart?" remove_btn item_removefromcart":" item_addtocart";
        return'<div class="prom_cart_btns r_btn_pos '+iconClass+'" title="'+iconTitle+'">&nbsp;</div>'
    }
}
}
};
var Cart=
{
bkCartCount:null,lblSubtotal:null,lblSavingsSubtotal:null,SavingsSubtotalCont:null,Subtotal:null,SavingsSubtotal:null,ItemsCount:null,CartSectionNeedUpdate:true,initSubtotal:function Cart_initSubtotal()
{
try
{
    this.lblSubtotal=$("#sub_htab1 span.crt_subt_price");
    this.SavingsSubtotalCont=$("span#promoSavingsTotal");
    this.lblSavingsSubtotal=$(this.SavingsSubtotalCont.find("span.basket_savings_val"))
}
catch(ex)
{
    this.Subtotal=0;
    this.SavingsSubtotal=0
}
}
,init:function Cart_init()
{
this.bkCartCount=HTabs.header_tabs_basecont.find("div.cart_items p.hd_tab_count").backgroundNumbers();
this.ItemsCount=this.bkCartCount.getNumber()
}
,removeLastLine:function Cart_removeLastLine(PID)
{
$("#cartprod_"+PID).addClass("no_border_cart").addClass("no_background")
}
,addPreviousLine:function Cart_addPreviousLine(PID)
{
for(var i=0;i<ProdCollection.proditems.length;i++)
{
    if((ProdCollection.proditems[i].GetPid()!=PID)&&(ProdCollection.proditems[i].IsInCart()))
    {
        $("#cartprod_"+ProdCollection.proditems[i].GetPid()).removeClass("no_border_cart").removeClass("no_background")
    }
}
}
,addproduct:function Cart_addproduct(citem,SlideEffect,isLast,promotionData)
{
var LiId="cartprod_"+citem.cartItemId;
var quantity=citem.quantity?citem.quantity:1;
var prodPrice=Cart.productPriceDiv(citem.cartItemId,citem.quantity,citem.perUnitPrice,citem.regularPrice);
var prodPriceCont;
var prodIcon;
var extraClass="";
if(!citem.cartItemGroupId)
{
    prodIcon=Icons.GetCartIcon(ProductStatuses.normal,true);
    prodPriceCont='<div class="cart_pr_price cc" id="product_price'+citem.cartItemId+'">'+prodPrice+"</div>"
}
else
{
    prodPriceCont='<div class="cart_pr_price cc">'+CartPromotions.GetProductPromoPriceHtml(promotionData.promotionTypeID)+'<div class="price_save" id="product_price'+citem.cartItemId+'">'+prodPrice+"</div></div>";
    prodIcon=Icons.GetPromotionCartIcon(true,promotionData.promotionTypeID);
    extraClass=" sale_promo"
}
var sb=new StringBuilder();
sb.add('<li class="cc c_prod disc_prod'+extraClass);
if(isLast)
{
    sb.add(" last_cart_item")
}
sb.add('" id="').add(LiId).add('"><div class="cart_prod_img"><a href="').add(citem.url).add('"><img class="cpix" width="50" height="50" alt="').add(citem.productName).add('" src="').add(citem.prodThumbSrc).add('"></a></div><div class="cart_prod_name"><a class="clnk" href="').add(citem.url).add('">').add(citem.productName).add('</a><div class="cart_prod_price">$').add(citem.regularPrice.toFixed(2)).add("</div>");
if(citem.variationPropertyName)
{
    sb.add('<div class="cart_prod_color">').add(citem.variationPropertyName).add(": ").add(citem.productNameSuffix).add("</div>")
}
sb.add("</div>").add('<div class="all_icons"><div class="cart_btns btns_layout">').add(Icons.GetInfoIcon()).add(Icons.GetCompareIcon(citem.isInCompare)).add("</div>");
var settings=
{
    itemID:citem.cartItemId,quantity:quantity,incrementFunction:"ProdCollection.IncrementItemInCart",decrementFunction:"ProdCollection.DecrementItemInCart",canModify:citem.productClass!=EF.Constants.ProductClass.GiftWraps&&citem.productClass!=EF.Constants.ProductClass.BasketWrap
};
sb.add(GetCartQuantitySelector(settings)).add(prodPriceCont).add('<div class="cart_btns">').add(Icons.GetWishListIcon(citem.isInWishList===true?Icons.WishListIconTypes.AlreadyAdded:Icons.WishListIconTypes.AddToWishList)).add(prodIcon).add("</div>").add("</div>");
var oneprodli=sb.toString();
var $oneprodli=$(oneprodli);
$oneprodli.slideDown=cartSlideDown;
if(SlideEffect=="slide")
{
    $oneprodli.hide().appendTo(HTabs.CartTab.prodslistcart).slideDown("normal")
}
else
{
    $oneprodli.appendTo(HTabs.CartTab.prodslistcart)
}
var prodli=$("#"+LiId);
var _compareIcon=prodli.find(".cmpricon");
var _cartPStatusIcon=prodli.find(".carticon");
var _infoIcon=prodli.find(".prev_info");
var wishListIcon=prodli.find(".item_addtowishlist");
var productParams=
{
    objitem:prodli,pid:citem.pid,masterpid:citem.masterPID,infoIcon:_infoIcon,compareIcon:_compareIcon,cartPStatusIcon:_cartPStatusIcon,quantity:quantity,price:citem.perUnitPrice,wishListIcon:wishListIcon,cartItemId:citem.cartItemId,cartItemGroupId:citem.cartItemGroupId
};
ProdCollection.addCartProduct(productParams)
}
,updateProductCount:function Cart_updateProductCount(citem)
{
var itemId=citem.cartItemId;
$("#p_quantity"+itemId).html(citem.quantity);
if((citem.quantity<=1)||(citem.productClass==EF.Constants.ProductClass.GiftWraps)||(citem.productClass==EF.Constants.ProductClass.BasketWrap))
{
    $("#q_minus"+itemId).css("display","none")
}
else
{
    $("#q_minus"+itemId).css("display","inline")
}
if((citem.quantity>=EF.Constants.Cart.MaxProductsCount)||(citem.productClass==EF.Constants.ProductClass.GiftWraps)||(citem.productClass==EF.Constants.ProductClass.BasketWrap))
{
    $("#q_plus"+itemId).css("display","none")
}
else
{
    $("#q_plus"+itemId).css("display","inline")
}
$("#product_price"+itemId).html(Cart.productPriceDiv(itemId,citem.quantity,citem.perUnitPrice,citem.regularPrice))
}
,updateCount:function Cart_updateCount(count)
{
this.ItemsCount=count;
this.bkCartCount.setNumber(count)
}
,updateSubtotal:function Cart_updateSubtotal(subtotal,savingsSubtotal)
{
this.Subtotal=parseFloat(subtotal.replace(",","").substring(1));
this.SavingsSubtotal=parseFloat(savingsSubtotal.replace(",","").substring(1));
if(this.lblSubtotal&&this.lblSubtotal.length)
{
    this.lblSubtotal.html(subtotal)
}
if(this.SavingsSubtotalCont&&this.SavingsSubtotalCont.length&&this.lblSavingsSubtotal&&this.lblSavingsSubtotal.length)
{
    if(this.SavingsSubtotal>0)
    {
        this.SavingsSubtotalCont.show();
        this.lblSavingsSubtotal.html(savingsSubtotal)
    }
    else
    {
        this.SavingsSubtotalCont.hide();
        this.lblSavingsSubtotal.html("&nbsp;")
    }
}
}
,productPriceDiv:function Cart_productPriceDiv(pid,quantity,perUnitPrice,regularPrice)
{
if(regularPrice<=perUnitPrice)
{
    return'<div class="cart_price">$'+(quantity*perUnitPrice).toFixed(2)+"</div>"
}
else
{
    return CartPromotions.PromotionPriceHtml(quantity,perUnitPrice,regularPrice)
}
}
,ItemExistsInCart:function Cart_ItemExistsInCart(pid)
{
var result=false;
ProdCollection.each(function(pitem,i)
{
    if((pitem.GetSection()&sections.cart)&&pitem.GetPid()==pid)
    {
        result=true
    }
}
);
return result
}
};
function ShippingPromotion(servicId,serviceName,promoName,subtotal)
{
    this.serviceId=serviceId;
    this.serviceName=serviceName
}
var FreeShippingPromotionsManager=
{
    updatePromotions:function(subtotal,freeShipping)
    {
        if(this.promotion==null)
        {
            this.initPromotion($("#preloadedSubtotal").val(),freeShipping)
        }
        if(freeShipping.minutesLeft)
        {
            $("#minutes_left").text(freeShipping.minutesLeft);
            $("#minutes_left_notice").show()
        }
        else
        {
            $("#minutes_left_notice").hide()
        }
        if(freeShipping.upsNextDay)
        {
            $(".ups_next_day_promo_name").text(freeShipping.upsNextDay.promoName);
            if(freeShipping.upsNextDay.minSubtotal<=subtotal)
            {
                this.gotNextDayFreeShipping();
                this.hide2ndDayPromotion();
                this.hideStandardPromotion();
                return
            }
            else
            {
                this.almostGotNextDayFreeShipping(freeShipping.upsNextDay.minSubtotal-subtotal)
            }
        }
        else
        {
            this.hideNextDayPromotion()
        }
        if(freeShipping.ups2ndDay)
        {
            $(".ups_2nd_day_promo_name").text(freeShipping.ups2ndDay.promoName);
            if(freeShipping.ups2ndDay.minSubtotal<=subtotal)
            {
                this.got2ndDayFreeShipping();
                this.hideStandardPromotion();
                return
            }
            else
            {
                this.almostGot2ndDayFreeShipping(freeShipping.ups2ndDay.minSubtotal-subtotal)
            }
        }
        else
        {
            this.hide2ndDayPromotion()
        }
        if(freeShipping.standard)
        {
            if(freeShipping.standard.minSubtotal<=subtotal)
            {
                this.gotStandardFreeShipping();
                return
            }
            else
            {
                this.almostGotStandardFreeShipping(freeShipping.standard.minSubtotal-subtotal)
            }
        }
        else
        {
            this.hideStandardPromotion()
        }
        this.testPromotionChanged("")
    }
    ,initPromotion:function(subtotal,freeShipping)
    {
        if(freeShipping.upsNextDay&&freeShipping.upsNextDay.minSubtotal<=subtotal)
        {
            this.promotion="upsNextDay";
            return
        }
        if(freeShipping.ups2ndDay&&freeShipping.ups2ndDay.minSubtotal<=subtotal)
        {
            this.promotion="ups2ndDay";
            return
        }
        if(freeShipping.standard&&freeShipping.standard.minSubtotal<=subtotal)
        {
            this.promotion="standard";
            return
        }
        this.promotion=""
    }
    ,promotion:null,hideStandardPromotion:function()
    {
        $("#get_standard_free_shipping").hide();
        $("#got_standard_free_shipping").hide()
    }
    ,hide2ndDayPromotion:function()
    {
        $("#get_ups_2nd_day_free_shipping").hide();
        $("#got_ups_2nd_day_free_shipping").hide()
    }
    ,hideNextDayPromotion:function()
    {
        $("#get_ups_next_day_free_shipping").hide();
        $("#got_ups_next_day_free_shipping").hide()
    }
    ,gotNextDayFreeShipping:function()
    {
        $("#got_ups_next_day_free_shipping").show();
        $("#get_ups_next_day_free_shipping").hide();
        this.testPromotionChanged("upsNextDay")
    }
    ,got2ndDayFreeShipping:function()
    {
        $("#got_ups_2nd_day_free_shipping").show();
        $("#get_ups_2nd_day_free_shipping").hide();
        this.testPromotionChanged("ups2ndDay")
    }
    ,gotStandardFreeShipping:function()
    {
        $("#got_standard_free_shipping").show();
        $("#get_standard_free_shipping").hide();
        this.testPromotionChanged("standard")
    }
    ,almostGotNextDayFreeShipping:function(addForFreeShipping)
    {
        $("#got_ups_next_day_free_shipping").hide();
        $("#add_for_ups_next_day_free_shipping").html(UTILS.Currency.formatAsCurrency(addForFreeShipping));
        $("#get_ups_next_day_free_shipping").show()
    }
    ,almostGot2ndDayFreeShipping:function(addForFreeShipping)
    {
        $("#got_ups_2nd_day_free_shipping").hide();
        $("#add_for_ups_2nd_day_free_shipping").html(UTILS.Currency.formatAsCurrency(addForFreeShipping));
        $("#get_ups_2nd_day_free_shipping").show()
    }
    ,almostGotStandardFreeShipping:function(addForFreeShipping)
    {
        $("#got_standard_free_shipping").hide();
        $("#add_for_standard_free_shipping").html(UTILS.Currency.formatAsCurrency(addForFreeShipping));
        $("#get_standard_free_shipping").show()
    }
    ,testPromotionChanged:function(newPromotion)
    {
        if(this.promotion!=newPromotion)
        {
            if(this.promotion!=null)
            {
                this.showCartTab()
            }
            this.promotion=newPromotion
        }
    }
    ,showCartTab:function()
    {
        if(HTabs.getCurrentTabIndex()!=HTabs.TabsIds.Cart)
        {
            HTabs.OpenTab(HTabs.TabsIds.Cart);
            window.scrollTo(0,0)
        }
    }
};
function GetCartQuantitySelector(params)
{
    var settings=
    {
        itemID:null,quantity:1,maxQuantity:EF.Constants.Cart.MaxProductsCount,incrementFunction:null,decrementFunction:null,canModify:true,idAddition:null
    };
    params=$.extend(settings,params);
    var objectId=params.idAddition+params.itemID;
    var sb=new StringBuilder();
    sb.add('<div class="quantify"><p class="q_plus" id="q_plus').add(objectId).add('" onclick="'+params.incrementFunction+"(").add(params.itemID).add(')"');
    if((params.quantity>=params.maxQuantity)||!params.canModify)
    {
        sb.add(' style="display:none"')
    }
    sb.add(">&nbsp;</p>").add('<p class="q_number q_bord"><span class="pr_quantity" id="p_quantity').add(objectId).add('">').add(params.quantity).add('</span></p><p class="q_minus" id="q_minus').add(objectId).add('" onclick="'+params.decrementFunction+"(").add(params.itemID).add(')"');
    if((params.quantity<=1)||!params.canModify)
    {
        sb.add(' style="display:none"')
    }
    sb.add(">&nbsp;</p></div>");
    return sb.toString()
};
function TabContent(objtabcaption,tabid)
{
    var _objtabcaption=objtabcaption;
    var _objtabcont=null;
    var _closeBtn=null;
    var _tabid=tabid;
    var CurrentTab=this;
_objtabcaption.find("a").click(function(ev)
{
    ev.preventDefault()
}
);
_objtabcaption.click(function TC__objtabcaption_click(ev)
{
    HTabs.OpenTab(_tabid)
}
);
this.SetTabCont=function TC_SetTabCont(objtabcont)
{
    _objtabcont=objtabcont;
    _objtabcont.slideToggle=customSlideToggle;
    _closeBtn=objtabcont.find(".btn_close_cont span:first");
_closeBtn.click(function()
{
    CurrentTab.Close("","showElements");
    HTabs.ResetTabOpenIndex()
}
)
};
this.Open=function TC_Open()
{
CurrentTab.ToggleCaption();
_objtabcont.slideToggle(HTabs.effectDuration,function()
{
    var ck_fst_cart=GetCookie("fst_cart");
    var fst_added=GetCookie("fst_wl");
    if(!ck_fst_cart&&_tabid==HTabs.TabsIds.Cart&&Cart.ItemsCount>=1)
    {
        SetCookie("fst_cart","fst_carted");
        var cartTabCont=HTabs.header_tabs_basecont.find("div#sub_htab1");
        var coords=cartTabCont.offset();
        var fstCartMsgPos=cartTabCont.height()+coords.top+11;
        $("body").append($('<div id="fst_carted_msg" class="fst_carted_msg"><div class="grtop_grad cc"><div class="grltcrn">&nbsp;</div><div class="grrtcrn">&nbsp;</div></div><div class="grl_grad"><div class="grr_grad"><p>You just added a product to the Shopping Cart.</p><p>If you are finished, click the <strong>Checkout</strong> button to continue.</p><p style="margin-top: 5px;">Any additional items you select will also appear here.</p><p>Review your selections at any time by accessing the Cart tab throughout the site.</p><p><strong>Enjoy Out Handbag!</strong></p></div></div><div class="grbtm_grad cc"><div class="grlbcrn">&nbsp;</div><div class="grrbcrn">&nbsp;</div></div></div>').css(
        {
            top:fstCartMsgPos
        }
        ))
    }
    else
    {
        if(!fst_added&&_tabid==HTabs.TabsIds.WishList&&WishList.ItemsCount>=1)
        {
            SetCookie("fst_wl","fst_wl_added")
        }
    }
}
);
return _tabid
};
this.Close=function TC_Close(noqueue,flagShowElements)
{
if(noqueue=="noqueue")
{
    _objtabcont.slideToggle(HTabs.effectDuration);
    CurrentTab.ToggleCaption()
}
else
{
    _objtabcont.slideToggle(HTabs.effectDuration,function()
    {
        CurrentTab.ToggleCaption()
    }
    )
}
var ck_fst_cart=GetCookie("fst_cart");
if(ck_fst_cart)
{
    $("div#fst_carted_msg").remove()
}
WishList.ClearPageOfPopup()
};
this.ToggleCaption=function TC_ToggleCaption()
{
_objtabcaption.toggleClass("clicked_el");
_objtabcaption.removeClass("hover")
}
}
var HTabs=
{
initiated:false,displayed_tab_index:-1,effectDuration:300,header_tabs_basecont:null,InitTicketPopUpHandlers:function()
{
var messageCont=$('<p class="supp_tick_mess_txt">In order to submit a support ticket please</p><div><a href="/CataLog/Member/Login.asp?referer=http://'+window.location.hostname+'/CataLog/Support/CreateTicketByCustWiz.asp">Login</a> or <a href="/CataLog/Member/CustomerRegistration.asp">Register</a></div>');
$("#contact_us_popup .submit_ticket_lnk").bind("click",function()
{
    var parentPosition=$(this).offset();
    var popUp=(new $.efTemplates.popUps.selector(
    {
        gradientBackground:true,additionalBaseClasses:"suppTicketpopup",innerElements:$("<div class='suppTicketContent'/>").append(messageCont),displaySettings:
        {
            positionToAdd:parentPosition
        }
    }
    )).display();
    return false
}
)
}
,ContactUsTab:
{
initiated:false,data:
{
    CustomerServiceId:12,ShippingLogisticId:16
}
,customer_service_button:null,customer_service_status:null,shipping_logistic_button:null,shipping_logistic_status:null,appendDomElements:function HT_CUS_appendDomElements()
{
    var sbContactUsTabCont=new StringBuilder();
    sbContactUsTabCont.add('<div class="contact_us" id="sub_htab0" style="display:none;">')
      .add('<div class="cc">')
      .add('<div class="space_shad">&nbsp;</div>')
      .add('<div class="cart_rt_corn">&nbsp;</div>')
      .add("</div>").add('<div class="lgrad_shad">')
      .add('<div class="rgrad_shad">')
      .add('<div class="btn_close_cont cc">')
      .add('<div class="contact_us_title">Contact us</div>')
      .add('<span id="btn_cart_cl1">Close</span>')
      .add("</div>").add('<div class="contact_us_cont">')
      .add('<div class="customer_service_title">Customer service</div>')
      .add('<div class="service_text st_top_delim">Toll free phone: <strong>')
      .add(EF.Config.CompanyInfo.companyPhones.customerService)
      .add("</strong> ").add(EF.Config.CompanyInfo.companyHoursOfOperation._default)
      .add('</div><div class="service_text">Submit a<a href="/CataLog/Support/CreateTicketByCustWiz.asp" class="submit_ticket_lnk">Support Ticket</a></div>')
      .add('<div class="live_support_title">Customer service live support</div>')
      .add('<div class="live_support_cont cc">')
      .add('<img src="/Images/Handbags/customer_service_avatar.gif" width="50" height="50" alt="Out Handbags">')
      .add('<div class="live_sup_text_cont">Customer service manager. I can help you with all order and shipping related questions.</div>')
      .add('<img src="/Images/Handbags/img-offline.gif" id="customer_service_status" class="user_status" width="28" height="26" alt="Out Handbags">')
      //.add('<input type="image" src="/Images/Handbags/btn-leave-msg.gif" id="customer_service_button" class="chat_pointer" onclick="return LC_blockUser(')
      .add('<a href="/CataLog/Support/ContactUs.asp"> <img src="/Images/Handbags/btn-leave-msg.gif" id="customer_service_button" class="chat_pointer(')
      .add(HTabs.ContactUsTab.data.CustomerServiceId)
      .add(')"/></a>')
      .add("</div>")
      .add('<div class="customer_service_title">Marketing and business development inquiries</div>')
      .add('<div class="service_text marketing_contact">Submit a<a href="/CataLog/Support/CreateTicketByCustWiz.asp" class="submit_ticket_lnk">Support Ticket</a></div>')
      .add('<div class="customer_service_title">Our address</div>')
      .add('<div class="handbags_color">Out<span> Handbag</span></div>')
      .add('<div class="handbags_address">')
      .add(EF.Config.CompanyInfo.companyAdress.companyName)
      .add("<br>")
      .add(EF.Config.CompanyInfo.companyAdress.firstLine)
      .add("<br>")
      .add(EF.Config.CompanyInfo.companyAdress.secondLine)
      .add("</div>")
      .add('<div class="handbags_phone_fax"><strong>Phone:</strong> ')
      .add(EF.Config.CompanyInfo.companyPhones.officePhone)
      .add(" ")
      .add(EF.Config.CompanyInfo.companyHoursOfOperation._default)
      .add("</div>")
      .add('<div class="handbags_phone_fax"><strong>Fax:</strong> ')
      .add(EF.Config.CompanyInfo.companyFaxes.mailOrder)
      .add("</div>")
      .add("</div>")
      .add("</div>")
      .add("</div>")
      .add('<div class="btm_shad cc">')
      .add('<div class="cart_lb_corn">&nbsp;</div>')
      .add('<div class="cart_rb_corn">&nbsp;</div>')
      .add("</div>")
      .add("</div>");


    var tab_cont=$(sbContactUsTabCont.toString());
    HTabs.header_contact_us.children("form").find("#contact_us_popup").append(tab_cont);
    if(!EF.Customer.IsLoggedIn())
    {
        HTabs.InitTicketPopUpHandlers()
    }
    HTabs.TabsColl[HTabs.TabsIds.ContactUs].SetTabCont(tab_cont);
    HTabs.ContactUsTab.initiated=true
}
}
,CartTab:
{
initiated:false,empty_cartitems_cont:null,cartitems_cont:null,prodslistcart:null,promotionSets:null,ShowCartProducts:function HT_CT_ShowCartProducts()
{
    if(HTabs.CartTab.empty_cartitems_cont&&HTabs.CartTab.cartitems_cont)
    {
        HTabs.CartTab.empty_cartitems_cont.hide();
        HTabs.CartTab.cartitems_cont.show()
    }
}
,ShowCartNoProductsMessage:function HT_CT_ShowCartNoProductsMessage()
{
    if(HTabs.CartTab.empty_cartitems_cont&&HTabs.CartTab.cartitems_cont)
    {
        HTabs.CartTab.cartitems_cont.hide();
        HTabs.CartTab.prodslistcart.empty();
        HTabs.CartTab.promotionSets.empty();
        HTabs.CartTab.empty_cartitems_cont.show()
    }
}
,NoProductsMessageCheck:function HT_CT_NoProductsMessageCheck()
{
    if(Cart.ItemsCount===0)
    {
        HTabs.CartTab.ShowCartNoProductsMessage()
    }
    else
    {
        HTabs.CartTab.ShowCartProducts()
    }
}
,appendDomElements:function HT_CT_appendDomElements()
{
    var sbCartTabContent=new StringBuilder();
    sbCartTabContent.add('<div class="cart_tab_cont1" id="sub_htab1">')
      .add('<div class="cc">')
      .add('<div class="mh htabs_spacer htabs_spacer_left">&nbsp;</div>')
      .add('<div class="cart_rt_corn">&nbsp;</div>')
      .add("</div>")
      .add('<div class="lgrad_shad">')
      .add('<div class="rgrad_shad">')
      .add('<div class="btn_close_cont"><span id="btn_cart_cl1">Close</span></div>')
      .add('<div id="cartitems_cont">')
      .add('<ul id="prodslistcart" class="separate_pr_list pr_list" ><li></li></ul>')
      .add('<div id="promotionSets" style="display:none;"></div>')
      .add('<div class="cart_subtotal_price">')
      .add('<span class="cart_subtotal_title">Subtotal:</span> <span class="crt_subt_price">&nbsp;</span>')
      .add('<span id="promoSavingsTotal" style="display:none;"><span class="basket_savings_ttl">Savings:</span> <span class="basket_savings_val">&nbsp;</span></span></div>')
      .add('<div class="cart_checkout_btn">')
      .add('<a href="')
      .add(EF.Constants.Links.Checkout)
      .add('"><img src="/Images/Handbags/btn-checkout1.gif" alt="Checkout"></a>')
      .add("</div>").add('<div class="free_shipping_container" ><div class="free_shipping_title">Free Shipping</div>')
      .add('<div class="shipping_promotion" id="get_ups_next_day_free_shipping">Get it by <b class="ups_next_day_promo_name">Weekend</b> with UPS Next Day - Add <b id="add_for_ups_next_day_free_shipping">$00.00</b> to your order</div>')
      .add('<div class="shipping_promotion" id="got_ups_next_day_free_shipping" style="display:none"><b>Place your order now and get it by <span class="ups_next_day_promo_name">Weekend</span> with Free UPS Next Day</b></div>')
      .add('<div class="shipping_promotion" id="get_ups_2nd_day_free_shipping">Get it by <b class="ups_2nd_day_promo_name">Weekend</b> with UPS 2nd Day - Add <b id="add_for_ups_2nd_day_free_shipping">$00.00</b> to your order</div>')
      .add('<div class="shipping_promotion" id="got_ups_2nd_day_free_shipping" style="display:none"><b>Place your order now and get it by <span class="ups_2nd_day_promo_name">Weekend</span> with Free UPS 2nd Day</b></div>')
      .add('<div class="shipping_promotion" id="get_standard_free_shipping">Get it in 3-5 days with Free standard - Add <b id="add_for_standard_free_shipping">$00.00</b> to your order</div>')
      .add('<div class="shipping_promotion" id="got_standard_free_shipping" style="display:none"><b>You\'ve got Free Standard shipping for this order</b></div>')
      .add('<div class="delivery_calc" onclick="javascript:ShippingCalendar.displayDialog()">Delivery date calculator</div>')
      .add('<div id="minutes_left_notice"><span>*</span> Only <b id="minutes_left">00</b> <b>minutes</b> left for express delivery</div>')
      .add("</div>")
      .add("</div>")
      .add('<div class="empty_cart_notif" id="empty_cartitems_cont">')
      .add("<p>The Cart is Empty</p>")
      .add('<p class="empty_instr">To place products to your shopping cart use the button</p>')
      .add('<div class="cart_bg">&nbsp;</div>')
      .add("</div>")
      .add("</div>")
      .add("</div>")
      .add('<div class="btm_shad cc">')
      .add('<div class="cart_lb_corn">&nbsp;</div>')
      .add('<div class="cart_rb_corn">&nbsp;</div>')
      .add("</div>")
      .add("</div>");
    var tab_cont=$(sbCartTabContent.toString());
    HTabs.header_tabs_basecont.append(tab_cont);
    HTabs.TabsColl[HTabs.TabsIds.Cart].SetTabCont(tab_cont);
    HTabs.CartTab.empty_cartitems_cont=HTabs.header_tabs_basecont.find("#empty_cartitems_cont");
    HTabs.CartTab.cartitems_cont=HTabs.header_tabs_basecont.find("#cartitems_cont");
    var baseListCont=$(HTabs.CartTab.cartitems_cont);
    HTabs.CartTab.prodslistcart=baseListCont.find("#prodslistcart");
    HTabs.CartTab.promotionSets=baseListCont.find("#promotionSets");
    Cart.initSubtotal();
    HTabs.CartTab.initiated=true
}
,emptyTab:function HT_CT_emptyTab()
{
    HTabs.CartTab.prodslistcart.empty();
    HTabs.CartTab.promotionSets.empty()
}
,CheckLastItemLine:function HT_CT_CheckLastItemLine()
{
    var all_items=HTabs.CartTab.prodslistcart.find("li");
all_items.each(function(i,item)
{
    var object=$(item);
    if(i!=all_items.length-1)
    {
        object.removeClass("last_cart_item")
    }
    else
    {
        object.addClass("last_cart_item")
    }
}
)
}
}
,ViewedItemsTab:
{
initiated:false,vieweditemslist_cont:null,empty_vieweditems_cont:null,view_more:null,view_less:null,more_cart_prods:null,displayed_count:5,appendDomElements:function HT_VI_appendDomElements()
{
var sbViewedItemsTabContent=new StringBuilder();
sbViewedItemsTabContent
  .add('<div class="cart_tab_cont2" id="sub_htab2">')
  .add('<div class="cc">')
  .add('<div class="mh htabs_spacer htabs_spacer_left">&nbsp;</div>')
  .add('<div class="cart_rt_corn">&nbsp;</div>')
  .add("</div>")
  .add('<div class="lgrad_shad">')
  .add('<div class="rgrad_shad">')
  .add('<div class="btn_close_cont"><span id="btn_cart_cl2">Close</span></div>')
  .add('<div class="fullitems_vwd" id="vieweditemslist_cont"></div>')
  .add('<div class="empty_vwd" id="empty_vieweditems_cont">The List is Empty</div>')
  .add("</div>")
  .add("</div>")
  .add('<div class="btm_shad cc">')
  .add('<div class="cart_lb_corn">&nbsp;</div>')
  .add('<div class="cart_rb_corn">&nbsp;</div>')
  .add("</div>")
  .add("</div>");
var tab_cont=$(sbViewedItemsTabContent.toString());
HTabs.header_tabs_basecont.append(tab_cont);
HTabs.TabsColl[HTabs.TabsIds.ViewedItems].SetTabCont(tab_cont);
HTabs.ViewedItemsTab.vieweditemslist_cont=HTabs.header_tabs_basecont.find("#vieweditemslist_cont");
HTabs.ViewedItemsTab.empty_vieweditems_cont=HTabs.header_tabs_basecont.find("#empty_vieweditems_cont")
}
}
,WishListTab:
{
initiated:false,empty_wishListItems_cont:null,wishList_cont:null,wishList_prodslist:null,commands_allitems:null,displayed_count:10,ViewMoreOpened:null,viewMoreBtn:null,last_line:null,ShowWishListProducts:function HT_WL_ShowWishListProducts()
{
if(HTabs.WishListTab.empty_wishListItems_cont&&HTabs.WishListTab.wishList_cont)
{
    HTabs.WishListTab.empty_wishListItems_cont.hide();
    HTabs.WishListTab.wishList_cont.show();
    if(!UserManager.IsLoggedIn())
    {
        HTabs.WishListTab.ShowSaveWishListMessage()
    }
    if(WishList.TotalItemsCount>HTabs.WishListTab.displayed_count&&!HTabs.WishListTab.ViewMoreOpened)
    {
        HTabs.WishListTab.viewMoreBtn.show();
        HTabs.WishListTab.ViewMoreOpened=false;
        HTabs.WishListTab.commands_allitems.hide();
        HTabs.WishListTab.last_line.show()
    }
    else
    {
        HTabs.WishListTab.commands_allitems.show();
        HTabs.WishListTab.viewMoreBtn.hide();
        HTabs.WishListTab.ViewMoreOpened=true;
        HTabs.WishListTab.last_line.hide()
    }
}
}
,ShowAllButtonsBlock:function HT_WL_ShowAllButtonsBlock()
{
HTabs.WishListTab.ViewMoreOpened=true;
HTabs.WishListTab.commands_allitems.show();
HTabs.WishListTab.viewMoreBtn.hide()
}
,ShowViewMoreButton:function()
{
}
,ShowWishListNoProducts:function HT_WL_ShowWishListNoProducts()
{
if(HTabs.WishListTab.empty_wishListItems_cont&&HTabs.WishListTab.wishList_cont)
{
    HTabs.WishListTab.empty_wishListItems_cont.show();
    HTabs.WishListTab.wishList_cont.hide()
}
}
,NoWishListProductsMessageCheck:function HT_WL_NoWishListProductsMessageCheck()
{
if(WishList.ItemsCount===0)
{
    HTabs.WishListTab.ShowWishListNoProducts()
}
else
{
    HTabs.WishListTab.ShowWishListProducts()
}
}
,ShowSaveWishListMessage:function HT_WL_ShowSaveWishListMessage()
{
if(!HTabs.WishListTab.wishList_cont.find("div.fst_carted_msg_two").length)
{
    var loginWithReturn=EF.Constants.Links.LoginUrl+"?referer="+escape(window.location);
    var sbMessageCont=new StringBuilder();
    sbMessageCont.add('<div class="fst_carted_msg_two">').add('<div class="grtop_grad cc"><div class="grltcrn"></div><div class="grrtcrn"></div></div>').add('<div class="grl_grad"><div class="grr_grad">').add('<div class="wish_list_attent_cnt cc">').add('<div class="wish_list_icon_attention">&nbsp;</div>').add('<div class="wish_list_msng"><a href="').add(loginWithReturn).add('"><span>Save</span></a></div>').add("</div>").add("</div></div>").add('<div class="grbtm_grad cc"><div class="grlbcrn"></div><div class="grrbcrn"></div></div>').add("</div>");
    var messageCont=$(sbMessageCont.toString());
    HTabs.WishListTab.wishList_cont.append(messageCont)
}
}
,AppendDomElements:function HT_WL_AppendDomElements()
{
var sbWishListTabCont=new StringBuilder();
sbWishListTabCont.add('<div class="cart_tab_cont3 cc">').add('<div class="cc" style="display: block;">').add('<div class="mh htabs_spacer htabs_spacer_left"></div><div class="cart_rt_corn"></div>').add("</div>").add('<div class="lgrad_shad">').add('<div class="rgrad_shad">').add('<div class="btn_close_cont"><span id="btn_cart_cl1">Close</span></div>').add('<div class="wish_list_header cc"><a href="').add(EF.Constants.Links.WishListBasePage).add('"><span>Manage lists</span></a>&nbsp;(Share with your partner, send to a friend and more)</div>').add('<div id="wishListItems_cont" style="display:none">').add('<ul id="wishList_prodList" class="cartd_prods_cont cartd_prods_cont3"></ul>').add('<div class="px_line">&nbsp;</div>').add('<div id="wl_view_more" class="wl_view_more" style="display:none;"><span class="moreviewed wl_view_more_inside" >More items</span></div>').add('<div id="commands_all" style="display:none;">').add('<div class="wi_li_sub_ctn cc">').add('<div class="wish_list_controls">').add('<ul class="wish_comand_list cc">').add('<li class="cc add_to_card w_list_left">').add('<input type="image" alt="Add all to cart" src="/Images/Handbags/Add_all_to_cart.gif" title="Add all to cart" />').add("</li>").add('<li class="cc compare_all w_list_center">').add('<input type="image" alt="Compare all" src="/Images/Handbags/Compare_all.gif" title="Compare all" />').add("</li>").add('<li class="cc remove_all w_list_right">').add('<input type="image" alt="Remove all" src="/Images/Handbags/Remove_all.gif" title="Remove all" />').add("</li>").add("</ul>").add("</div>").add("</div>").add("</div>").add("</div>").add('<div id="empty_wishListItems_cont" class="empty_cart_notif" style="display:none">').add("<p>You have not added any products in this session.</p>").add('<p class="empty_instr">To add the products to a wish list use<br>the button</p>').add('<div class="wishList_bg"></div>').add("</div>").add("</div>").add("</div>").add('<div class="btm_shad cc" style="display: block;"><div class="cart_lb_corn"></div><div class="cart_rb_corn"></div></div>').add("</div>");
var tab_cont=$(sbWishListTabCont.toString());
HTabs.header_tabs_basecont.append(tab_cont);
HTabs.TabsColl[HTabs.TabsIds.WishList].SetTabCont(tab_cont);
HTabs.WishListTab.empty_wishListItems_cont=HTabs.header_tabs_basecont.find("#empty_wishListItems_cont");
HTabs.WishListTab.wishList_cont=HTabs.header_tabs_basecont.find("#wishListItems_cont");
HTabs.WishListTab.wishList_prodslist=HTabs.header_tabs_basecont.find("ul#wishList_prodList");
HTabs.WishListTab.viewMoreBtn=HTabs.header_tabs_basecont.find("#wl_view_more");
HTabs.WishListTab.last_line=HTabs.header_tabs_basecont.find(".px_line");
HTabs.WishListTab.commands_allitems=HTabs.header_tabs_basecont.find("div#commands_all");
HTabs.WishListTab.viewMoreBtn.click(function()
{
    WishList.ShowMoreSessionItems()
}
);
var requestType="GET";
HTabs.WishListTab.commands_allitems.find("li.remove_all input").click(function()
{
    WishList.AllSessionAction(
    {
        action:"removeSession"
    }
    ,WishList.RemoveAllSessionResult,requestType)
}
);
HTabs.WishListTab.commands_allitems.find("li.compare_all input").click(function()
{
    WishList.AllSessionAction(
    {
        action:"compadd_seswl"
    }
    ,WishList.AddAllSessionToCompareResult,requestType)
}
);
HTabs.WishListTab.commands_allitems.find("li.add_to_card input").click(function()
{
    WishList.AllSessionAction(
    {
        action:"cai_sessionwl"
    }
    ,WishList.AddAllSessionToCartResult,requestType)
}
);
HTabs.WishListTab.initiated=true
}
,CheckLastItemLine:function HT_WL_CheckLastItemLine(lineToAll)
{
var all_items;
if(!lineToAll)
{
    all_items=HTabs.WishListTab.wishList_prodslist.find("li");
all_items.each(function(i,item)
{
    var object=$(item);
    if(i!=all_items.length-1)
    {
        object.removeClass("last")
    }
    else
    {
        object.addClass("last")
    }
}
)
}
else
{
all_items=HTabs.WishListTab.wishList_prodslist.find("li.last");
all_items.each(function(i,item)
{
    $(item).removeClass("last")
}
)
}
}
}
,TodaysDealsTab:
{
initiated:false,promoListCont:null,emptyPromoListMessage:null,appendDomElements:function HT_TD_appendDomElements()
{
var sbTodaysDealsTabContent=new StringBuilder();
sbTodaysDealsTabContent.add('<div class="cart_tab_cont_todays_deals">').add('<div class="cc">').add('<div class="mh htabs_spacer htabs_spacer_right">&nbsp;</div>').add('<div class="cart_lt_corn">&nbsp;</div>').add("</div>").add('<div class="lgrad_shad">').add('<div class="rgrad_shad">').add('<div class="btn_close_cont hdr_thinerClose"><span id="btn_cart_cl2">Close</span></div>').add('<h4 class="hdr_recentPromotions">Recent promotions</h4>').add('<div id="hdr_promoListCont"></div>').add('<div id="hdr_emptyPromoListMessage" class="empty_vwd">The List is Empty</div>').add('<div class="cc hdr_promoFooterCont">').add('<a href="').add(EF.Constants.Links.AllPromotions).add('" class="hdr_allPromos">All promotions</a>').add("</div>").add('<div class="btm_shad cc">').add('<div class="cart_lb_corn">&nbsp;</div>').add('<div class="cart_rb_corn">&nbsp;</div>').add("</div>").add("</div>");
var tab_cont=$(sbTodaysDealsTabContent.toString());
HTabs.header_tabs_basecont.append(tab_cont);
HTabs.TabsColl[HTabs.TabsIds.TodaysDeals].SetTabCont(tab_cont);
HTabs.TodaysDealsTab.promoListCont=HTabs.header_tabs_basecont.find("#hdr_promoListCont");
HTabs.TodaysDealsTab.emptyPromoListMessage=HTabs.header_tabs_basecont.find("#hdr_emptyPromoListMessage")
}
}
,DIVcaptions:[],TabsColl:[],TabsIds:
{
ContactUs:0,Cart:1,WishList:2,ViewedItems:3,TodaysDeals:4
}
,loadings:
{
}
,ResetTabOpenIndex:function HT_ResetTabOpenIndex()
{
HTabs.displayed_tab_index=-1
}
,init:function HT_init()
{
this.header_tabs_basecont=$("#header_tabs_basecont");
this.header_contact_us=$("#header_contact_us");
$("#header_contact_us #contact_us_btn").add("#header_tabs_basecont div.tab_has_content").each(function(index,element)
{
    var curr_tab_caption=$(element);
    HTabs.TabsColl.push(new TabContent(curr_tab_caption,index))
}
);
$("#contact_us_btn a img").hide();
$("#shoppingcart_header > div").eq(0).find("img").hide();
$("#header_contact_us #contact_us_btn").add("#shoppingcart_header > div").each(function(index,element)
{
    element.index=index;
    HTabs.DIVcaptions.push($(element))
}
).hover(function()
{
    try
    {
        var curr_caption=HTabs.DIVcaptions[this.index];
        if(!curr_caption.is(".clicked_el"))
        {
            curr_caption.addClass("hover")
        }
    }
    catch(ex)
    {
    }
}
,function()
{
    try
    {
        var curr_caption=HTabs.DIVcaptions[this.index];
        if(!curr_caption.is(".clicked_el"))
        {
            curr_caption.removeClass("hover")
        }
    }
    catch(ex)
    {
    }
}
);
HTabs.loadings.contactus=this.header_contact_us.find("#contact_us_btn span.contactus_loading");
HTabs.loadings.cart=this.header_tabs_basecont.find("div.cart_loading");
HTabs.loadings.vieweditems=this.header_tabs_basecont.find("div.vitems_loading");
HTabs.loadings.compare=this.header_tabs_basecont.find("div.compare_loading");
HTabs.loadings.wishlist=this.header_tabs_basecont.find("div.wishlist_loading");
HTabs.loadings.todaysdeals=this.header_tabs_basecont.find("div.tdeals_loading");
Cart.init();
Compare.init();
this.header_tabs_basecont.find("div.experthelp").click(function()
{
    window.open(EF.Constants.Links.LiveChatEnterPage,"_blank","toolbar=yes,location=yes,directories=yes,resizable=no,scrollbars=yes,width=640,height=480");
    return false
}
);
if(typeof _InitBaseProduct!="undefined")
{
    _InitBaseProduct()
}
HTabs.initiated=true
}
,OpenTab:function HT_OpenTab(TabId)
{
$.efTemplates.popUps.closeSelectorPopUps();
if(Requests.ContactUsAjax)
{
    Requests.ContactUsAjaxAbort()
}
if(Requests.CartTabAjax)
{
    Requests.CartTabAjaxAbort()
}
if(Requests.VItemsTabAjax)
{
    Requests.VItemsTabAjaxAbort()
}
if(Requests.WishListTabAjax)
{
    Requests.WishListTabAjaxAbort()
}
if(Requests.TodaysDealsAjax)
{
    Requests.TodaysDealsAjaxAbort()
}
if(HTabs.displayed_tab_index<0)
{
    HTabs.UpdateOpenTab(TabId)
}
else
{
    if(HTabs.displayed_tab_index==TabId)
    {
        HTabs.TabsColl[TabId].Close("","showElements");
        HTabs.ResetTabOpenIndex()
    }
    else
    {
        HTabs.TabsColl[HTabs.displayed_tab_index].Close("noqueue");
        HTabs.UpdateOpenTab(TabId)
    }
}
}
,UpdateOpenTab:function HT_UpdateOpenTab(TabId)
{
if(TabId===HTabs.TabsIds.ContactUs)
{
    if(!HTabs.ContactUsTab.initiated)
    {
        HTabs.ContactUsTab.appendDomElements()
    }
    if(!HTabs.ContactUsTab.customer_service_button)
    {
        HTabs.ContactUsTab.customer_service_button=$("#customer_service_button");
        HTabs.ContactUsTab.customer_service_status=$("#customer_service_status");
        HTabs.ContactUsTab.shipping_logistic_button=$("#shipping_logistic_button");
        HTabs.ContactUsTab.shipping_logistic_status=$("#shipping_logistic_status")
    }
    HTabs.loadings.contactus.show();
    Requests.ContactUsAjax=$.ajax(
    {
        type:"GET",url:"/LiveSupport/GetStatus.asp",dataType:"text",cache:false,data:
        {
            op:"cu"
        }
        ,success:function HT_UpdateOpenTab_ContactUsAjax_success(data)
        {
            try
            {
                var R=[];
                R=data.split(";");
                var nR=parseInt(R[0],10);
                for(var i=0;i<nR;i++)
                {
                    var userid=R[1+i*2];
                    var status=R[2+i*2];
                    if(userid==HTabs.ContactUsTab.data.CustomerServiceId)
                    {
                        HTabs.ContactUsTab.customer_service_status.attr(
                        {
                            src:(status=="0")?"/Images/Handbags/img-offline.gif":"/Images/img-online.gif"
                        }
                        );
                        HTabs.ContactUsTab.customer_service_button.attr(
                        {
                            src:(status=="0")?"/Images/btn-leave-msg.gif":"/Images/btn-chat-now.gif"
                        }
                        )
                    }
                    else
                    {
                        if(userid==HTabs.ContactUsTab.data.ShippingLogisticId)
                        {
                            HTabs.ContactUsTab.shipping_logistic_status.attr(
                            {
                                src:(status=="0")?"/Images/Handbags/img-offline.gif":"/Images/img-online.gif"
                            }
                            );
                            HTabs.ContactUsTab.shipping_logistic_button.attr(
                            {
                                src:(status=="0")?"/Images/btn-leave-msg.gif":"/Images/btn-chat-now.gif"
                            }
                            )
                        }
                    }
                }
            }
            catch(e)
            {
                e.log("HT_UpdateOpenTab_ContactUsAjax_success failed ")
            }
        }
        ,complete:function HT_UpdateOpenTab_ContactUsAjax_complete(data)
        {
            HTabs.TabsColl[TabId].Open();
            HTabs.displayed_tab_index=TabId;
            Requests.ContactUsAjaxEnd()
        }
    }
    )
}
else
{
    if(TabId===HTabs.TabsIds.Cart&&Cart.CartSectionNeedUpdate)
    {
        if(!HTabs.CartTab.initiated)
        {
            HTabs.CartTab.appendDomElements()
        }
        ProdCollection.RemoveCartItemsFromCollection();
        PromoCollection.removeCartTabPromotion();
        HTabs.loadings.cart.show();
        var data=
        {
        };
        data[HeaderTabsExecInterface.ParamNames.Operation]=HeaderTabsExecInterface.Operations.GetCartData;
        data.t=(new Date()).getTime();
        Requests.CartTabAjax=$.getJSON(Requests.headerExecUrl,data,function HT_CartTab_success(data)
        {
            var cartitemscount=data.shortCartInfoData.productsCount;
            Cart.updateCount(cartitemscount);
            if(cartitemscount>0)
            {
                HTabs.CartTab.ShowCartProducts();
                Cart.updateSubtotal(data.shortCartInfoData.subtotal,data.shortCartInfoData.savingsSubtotal);
                FreeShippingPromotionsManager.updatePromotions(Cart.Subtotal,data.freeShipping);
                HTabs.CartTab.emptyTab();
                var promotionsCount=data.cartPromotions.length;
                if(promotionsCount>0)
                {
                    CartPromotions.CreatePromotionsHtml(data.cartPromotions)
                }
                for(var j=0;j<data.cartItems.length;j++)
                {
                    var citem=data.cartItems[j];
                    if(!citem.cartItemGroupId)
                    {
                        Cart.addproduct(citem,"",false)
                    }
                    else
                    {
                        if(PromoCollection.IsGroupTypePromotion(citem.cartItemGroupId))
                        {
                            CartPromotions.AppendItemToPromotion(citem,"")
                        }
                        else
                        {
                            var promoData=CartPromotions.GetPromotionData(data.cartPromotions,citem.cartItemGroupId);
                            Cart.addproduct(citem,"",j==data.cartItems.length-1,promoData)
                        }
                    }
                }
                HTabs.CartTab.CheckLastItemLine()
            }
            else
            {
                HTabs.CartTab.ShowCartNoProductsMessage()
            }
            if(HTabs.displayed_tab_index!=TabId)
            {
                HTabs.TabsColl[TabId].Open();
                HTabs.displayed_tab_index=TabId
            }
            Requests.CartTabAjaxEnd();
            Cart.CartSectionNeedUpdate=false
        }
        )
    }
    else
    {
        if(TabId===HTabs.TabsIds.WishList&&WishList.WishListSectionNeedUpdate)
        {
            if(!HTabs.WishListTab.initiated)
            {
                HTabs.WishListTab.AppendDomElements()
            }
            ProdCollection.RemoveWlTabItemsFromCollection(null);
            HTabs.loadings.wishlist.show();
            var params=
            {
                action:"getWlItems",time:(new Date()).getTime()
            };
            if(HTabs.WishListTab.ViewMoreOpened)
            {
                params=$.extend(params,
                {
                    useLimit:false
                }
                )
            }
            Requests.WishListTabAjax=$.getJSON("/ajax/wishlists.asp",params,function HT_WishListTab_success(result)
            {
                var items=result.wishListItemInfo;
                WishList.ItemsCount=items.length;
                WishList.TotalItemsCount=result.totalItemsCount;
                if(items.length>0)
                {
                    HTabs.WishListTab.wishList_prodslist.empty();
                    for(var j=0;j<items.length;j++)
                    {
                        var wlItem=items[j];
                        WishList.addproduct(wlItem,"",j==items.length-1)
                    }
                    HTabs.WishListTab.ShowWishListProducts()
                }
                else
                {
                    HTabs.WishListTab.ShowWishListNoProducts()
                }
                HTabs.TabsColl[TabId].Open();
                HTabs.displayed_tab_index=TabId;
                WishList.WishListSectionNeedUpdate=false;
                Requests.WishListTabAjaxEnd()
            }
            )
        }
        else
        {
            if(TabId==HTabs.TabsIds.ViewedItems&&!HTabs.ViewedItemsTab.initiated)
            {
                HTabs.ViewedItemsTab.appendDomElements();
                var data=
                {
                };
                data[HeaderTabsExecInterface.ParamNames.Operation]=HeaderTabsExecInterface.Operations.ViewdItems;
                data.t=(new Date()).getTime();
                HTabs.loadings.vieweditems.show();
                Requests.VItemsTabAjax=$.getJSON(Requests.headerExecUrl,data,function HT_VItemsTabAjax_success(ViewedItemsCollection)
                {
                    var vieweditemscount=ViewedItemsCollection.length;
                    if(vieweditemscount>0)
                    {
                        HTabs.ViewedItemsTab.vieweditemslist_cont.show();
                        HTabs.ViewedItemsTab.empty_vieweditems_cont.hide();
                        var viewedprods_ul=$('<ul class="cartd_prods_cont"></ul>');
                        var viewedprods_ul_more=$('<ul id="more_cart_prods" class="cartd_prods_cont hidd_cart_prods"></ul>');
                        for(var j=0;j<vieweditemscount;j++)
                        {
                            var vitem=ViewedItemsCollection[j];
                            var LiId="viewprod_"+vitem.pid;
                            var oneprodli='<li class="cc no_border_cart no_background" id="'+LiId+'"><div class="cart_prod_img"><a href="'+vitem.url+'"><img width="50" height="50" alt="Out Handbags"src="'+vitem.prodThumbSrc+'"></a></div><div class="cart_prod_name"><a href="'+vitem.url+'">'+vitem.productName+'</a><span class="cart_prod_price">$'+vitem.regularPrice.toFixed(2)+"</span>";
                            if(vitem.variationPropertyName)
                            {
                                oneprodli+='<p class="hasvariations">'+vitem.variationPropertyName+": <span>"+vitem.productNameSuffix+'</span></p><p class="linklike">Select '+vitem.variationPropertyName.toString().toLowerCase()+"</p>"
                            }
                            oneprodli+='</div><div class="cart_btns">'+Icons.GetInfoIcon()+Icons.GetCompareIcon(vitem.isInCompare)+Icons.GetWishListIcon(vitem.isInWishList===true?Icons.WishListIconTypes.AlreadyAdded:Icons.WishListIconTypes.AddToWishList)+Icons.GetCartIcon(vitem.stockStatus,vitem.isInCart)+"</div></li>";
                            var $oneprodli=$(oneprodli);
                            if(j<HTabs.ViewedItemsTab.displayed_count)
                            {
                                $oneprodli.appendTo(viewedprods_ul)
                            }
                            else
                            {
                                $oneprodli.appendTo(viewedprods_ul_more)
                            }
                            var section=sections.vieweditems;
                            var infoIcon=$oneprodli.find(".prev_info");
                            var compareIcon=$oneprodli.find(".cmpricon");
                            var cartPStatusIcon=$oneprodli.find(".carticon");
                            if(cartPStatusIcon.length===0)
                            {
                                cartPStatusIcon=$oneprodli.find(".oos_status")
                            }
                            var wishListIcon=$oneprodli.find(".item_addtowishlist");
                            var price=vitem.regularPrice;
                            var hasvariations=$oneprodli.find(".hasvariations");
                            var prodnamesuffix=hasvariations.find("span");
                            var varpropchange=hasvariations.next();
                            var thumbnail=$oneprodli.find("img").get(0);
                            var priceobj=$oneprodli.find(".cart_prod_price");
                            var productParams=
                            {
                                objitem:$oneprodli,section:section,pid:vitem.pid,masterpid:vitem.masterPID,infoIcon:infoIcon,compareIcon:compareIcon,cartPStatusIcon:cartPStatusIcon,price:price,thumbnail:$(thumbnail),prodnamesuffix:prodnamesuffix,varpropchange:varpropchange,priceobj:priceobj,wishListIcon:wishListIcon
                            };
                            ProdCollection.addPageProduct(productParams)
                        }
                        HTabs.ViewedItemsTab.vieweditemslist_cont.append(viewedprods_ul);
                        if(vieweditemscount>HTabs.ViewedItemsTab.displayed_count)
                        {
                            HTabs.ViewedItemsTab.vieweditemslist_cont.append('<span id="view_more" class="moreviewed">More viewed items</span>').append(viewedprods_ul_more).append('<br class="ie_less_fix"/><span id="view_less" class="lessviewed">Collapse viewed items</span>');
                            HTabs.view_more=HTabs.ViewedItemsTab.vieweditemslist_cont.find("#view_more");
                            HTabs.view_less=HTabs.ViewedItemsTab.vieweditemslist_cont.find("#view_less");
                            HTabs.more_cart_prods=viewedprods_ul_more;
                            HTabs.more_cart_prods.slideDown=moreCollapseSlideDown;
                            HTabs.more_cart_prods.slideUp=moreCollapseSlideUp;
                            HTabs.view_more.bind("click",function()
                            {
                                HTabs.view_more.hide();
                                HTabs.view_less.show();
                                HTabs.more_cart_prods.slideDown("fast")
                            }
                            );
                            HTabs.view_less.bind("click",function()
                            {
                                HTabs.view_less.hide();
                                HTabs.view_more.show();
                                HTabs.more_cart_prods.slideUp("fast")
                            }
                            )
                        }
var $clear=$('<span class="clearviewed">Clear</span>').click(function()
{
    var data=
    {
    };
    data[HeaderTabsExecInterface.ParamNames.Operation]=HeaderTabsExecInterface.Operations.ClearHistory;
    HTabs.loadings.vieweditems.show();
    $.getJSON(Requests.headerExecUrl,data,function(data)
    {
        ProdCollection.RemoveViewedItemsFromCollection();
        HTabs.ViewedItemsTab.vieweditemslist_cont.hide();
        HTabs.ViewedItemsTab.empty_vieweditems_cont.show();
        HTabs.loadings.vieweditems.hide()
    }
    )
}
);
var $clearcont=$('<div class="num_carted_cnt cc"></div>').append($clear);
HTabs.ViewedItemsTab.vieweditemslist_cont.append($clearcont)
}
else
{
HTabs.ViewedItemsTab.vieweditemslist_cont.hide();
HTabs.ViewedItemsTab.empty_vieweditems_cont.show()
}
HTabs.TabsColl[TabId].Open();
HTabs.displayed_tab_index=TabId;
HTabs.ViewedItemsTab.initiated=true;
Requests.VItemsTabAjaxEnd()
}
)
}
else
{
if(TabId==HTabs.TabsIds.TodaysDeals&&!HTabs.TodaysDealsTab.initiated)
{
HTabs.TodaysDealsTab.appendDomElements();
HTabs.loadings.todaysdeals.show();
var data=
{
};
data[HeaderTabsExecInterface.ParamNames.Operation]=HeaderTabsExecInterface.Operations.GetTodaysDeals;
Requests.TodaysDealsAjax=$.ajax(
{
type:"GET",data:data,url:Requests.headerExecUrl,dataType:"json",cache:false,success:function HT_TDT_success(data)
{
    if(data.status==ajaxResultStatus.success)
    {
        if(data.todaysDeals.length)
        {
            var sbPromoList=new StringBuilder();
            sbPromoList.add('<ul class="hdr_promoList">');
            var squareCssClass;
            $.each(data.todaysDeals,function(i)
            {
                switch(this.promoTypeID)
                {
                    case PROMOTION_TYPE.KIT:squareCssClass="hdr_kitSquare";
                    break;
                    case PROMOTION_TYPE.DEAL:squareCssClass="hdr_dealSquare";
                    break;
                    case PROMOTION_TYPE.SALE:squareCssClass="hdr_saleSquare";
                    break;
                    default:squareCssClass="hdr_kitSquare";
                    break
                }
                sbPromoList.add('<li class="hdr_promoItem');
                if(i==data.todaysDeals.length-1)
                {
                    sbPromoList.add(" hdr_promoLastItem")
                }
                sbPromoList.add('"><span class="hdr_squareCont ').add(squareCssClass).add('"><span class="mh hdr_promoSquare">&nbsp;</span>').add(this.name).add(":</span> ").add(this.actionTitleWithLink).add("</li>")
            }
            );
            sbPromoList.add("</ul>");
            HTabs.TodaysDealsTab.promoListCont.append(sbPromoList.toString());
            HTabs.TodaysDealsTab.emptyPromoListMessage.hide()
        }
    }
}
,complete:function HT_TDT_complete()
{
    HTabs.TodaysDealsTab.initiated=true;
    HTabs.TabsColl[TabId].Open();
    HTabs.displayed_tab_index=TabId;
    HTabs.loadings.todaysdeals.hide();
    Requests.TodaysDealsAjaxEnd()
}
}
)
}
else
{
HTabs.TabsColl[TabId].Open();
HTabs.displayed_tab_index=TabId
}
}
}
}
}
}
,getCurrentTabIndex:function HT_getCurrentTabIndex()
{
return HTabs.displayed_tab_index
}
};











//////////////////////////////////////////////////////////////////////////////////////




var SearchManager=
{
    init:function(id,searchText)
    {
        try
        {
            var _objsearch;
            if(id)
            {
                _objsearch=$("#"+id)
            }
            else
            {
                searchText=EF.Utils.JSData.get("SiteSearchText");
                _objsearch=$("#inputHeaderSearch")
            }
            if(_objsearch.length)
            {
                var _objsearchInput=_objsearch.get(0);
                var defValue=_objsearchInput.defaultValue;
                var _customtext=defValue?defValue:searchText;
                _objsearch.val(_customtext);
                _objsearchInput.defaultValue=searchText;
                _objsearch.toggleVal()
            }
        }
        catch(ex)
        {
            ex.log("Failed to initiate SearchManager")
        }
    }
};
$(document).ready(function SearchManager_defInit_doc_ready()
{
    SearchManager.init()
}
);
var Compare=
{
    bkCompareCount:null,init:function CMP_init()
    {
        HTabs.header_tabs_basecont.find("div.compare_items").click(Compare.RedirectToComparePage);
        this.bkCompareCount=HTabs.header_tabs_basecont.find("div.compare_items p.hd_tab_count").backgroundNumbers()
    }
    ,add:function CMP_add(pid,fnCallback)
    {
        HTabs.loadings.compare.show();
        return $.getJSON("/Default.asp",
        {
            action:"add",pid:pid,_:(new Date().getTime())
        }
        ,function(json)
        {
            Compare._changeStatusCallBack(pid,json,true,fnCallback)
        }
        )
    }
    ,remove:function CMP_remove(pid,fnCallback)
    {
        HTabs.loadings.compare.show();
        return $.getJSON("/Default.asp",
        {
            action:"remove",pid:pid,_:(new Date().getTime())
        }
        ,function(json)
        {
            Compare._changeStatusCallBack(pid,json,false,fnCallback)
        }
        )
    }
    ,getcount:function CMP_getcount()
    {
        $.getJSON("/Default.asp",
        {
            action:"count",time:(new Date()).getTime()
        }
        ,function(json)
        {
            var compcount=json.pcount.toString();
            Compare.UpdateCount(compcount)
        }
        )
    }
    ,_changeStatusCallBack:function CMP__changeStatusCallBack(pid,json,newCompareStatus,fnCallback)
    {
        var compcount=json.pcount.toString();
        Compare.UpdateCount(compcount);
        Compare.UpdateProdsFlags(pid,newCompareStatus);
        HTabs.loadings.compare.hide();
        if(fnCallback)
        {
            fnCallback()
        }
        if(Compare.IsComparisonPage()&&Compare.GetComparisonPageCurrentView()==Compare._comparisonPageView.internalSavedList)
        {
            Compare.RedirectToComparePage()
        }
    }
    ,UpdateCount:function CMP_UpdateCount(compcount)
    {
        this.bkCompareCount.setNumber(compcount)
    }
    ,UpdateProdsFlags:function CMP_UpdateProdsFlags(pid,flag)
    {
        ProdCollection.markCompared(pid,flag)
    }
    ,RedirectToComparePage:function CMP_RedirectToComparePage()
    {
        RedirectTo(EF.Constants.Links.ProductsCompare)
    }
    ,_comparisonPageDataInit:function CMP__comparisonPageDataInit()
    {
        var pcData=FJSON.parse(EF.Utils.JSData.get("jsdComparisonPageData"))||
        {
        };
        this._isComparisonPage=parseBoolean(pcData.isComparisonPage);
        this._comparisonPageCurrentView=pcData.comparisonView||""
    }
    ,_comparisonPageView:
    {
        internalSavedList:"InternalSavedList",externalList:"ExternalList"
    }
    ,_comparisonPageCurrentView:null,GetComparisonPageCurrentView:function CMP_GetComparisonPageCurrentView()
    {
        if(this._comparisonPageCurrentView==null)
        {
            Compare._comparisonPageDataInit()
        }
        return this._comparisonPageCurrentView
    }
    ,_isComparisonPage:null,IsComparisonPage:function CMP_IsComparisonPage()
    {
        if(this._isComparisonPage==null)
        {
            Compare._comparisonPageDataInit()
        }
        return this._isComparisonPage
    }
};
var WishList=
{
    WishListSectionNeedUpdate:true,ItemsCount:null,TotalItemsCount:null,WishListAddPopup:null,addproduct:function(wlItem,SlideEffect,isLast,afterAddFnCallBack)
    {
        var LiId="wlprod_"+wlItem.wishListItemID;
        var sb=new StringBuilder();
        sb.add('<li class="cc');
        if(isLast)
        {
            sb.add(" last")
        }
        sb.add('" id="').add(LiId).add('">').add('<div class="cart_prod_img"><a href="').add(wlItem.url).add('"><img width="50" height="50" src="').add(wlItem.prodThumbSrc).add('" alt="').add(wlItem.productName).add('" /></a></div><div class="cart_prod_name"><a href="').add(wlItem.url).add('" >').add(wlItem.productName).add('</a><div class="cart_prod_price">').add(wlItem.productPrice!=0?"$"+wlItem.productPrice:"Not available for purchase").add("</div>");
        if(wlItem.variationPropertyName)
        {
            sb.add('<div class="header_name_tex">').add(wlItem.variationPropertyName).add(": ").add(wlItem.variationSuffix).add("</div>")
        }
        if(wlItem.lastComment)
        {
            sb.add('<div class="wish_list_caption">Comment:</div><p class="wish_list_comment_cnt">').add(wlItem.lastComment).add("</p>")
        }
        else
        {
            sb.add('<div class="wish_li_add_comm">Add comment</div>').add('<div class="wish_list_send_cont" style="display:none">').add('<textarea class="wish_textarea" rows="10" cols="30">Enter comment</textarea>').add('<span class="error_text" style="display:none"></span>').add('<div class="wish_btn_save">').add('<input type="image" alt="Save" src="/Images/Handbags/saveBtnGreen.gif" class="wl_save_comment"/>').add('<input type="image" alt="Cancel" src="/Images/Handbags/cancelBtnGrey.gif" class="wl_cancel_btn" />').add("</div></div>")
        }
        sb.add('</div><div class="all_icons cc"><div class="cart_btns">').add(Icons.GetInfoIcon()).add(Icons.GetCompareIcon(wlItem.isInCompare)).add(Icons.GetCartIcon(wlItem.productStatus,wlItem.isInCart)).add('</div><div class="wish_list_destinat"><a href="'+EF.Constants.Links.WishListBasePage+"?"+EF.Constants.KeyNames.WISH_LIST_ID_PARAM+"=").add(wlItem.wishListID).add('" >').add(wlItem.wishListName).add("</a>").add("</div>").add(Icons.GetWishListIcon(Icons.WishListIconTypes.Remove)).add("</div></li>");
        var oneprodli=$(sb.toString());
        oneprodli.slideDown=cartSlideDown;
        if(SlideEffect=="slide")
        {
            if(isLast)
            {
                oneprodli.hide().appendTo(HTabs.WishListTab.wishList_prodslist).slideDown("normal",function()
                {
                    if(afterAddFnCallBack)
                    {
                        afterAddFnCallBack()
                    }
                }
                )
            }
            else
            {
                if($.browser.msie&&parseInt($.browser.version,10)==6)
                {
                    oneprodli.prependTo(HTabs.WishListTab.wishList_prodslist)
                }
                else
                {
                    oneprodli.hide().prependTo(HTabs.WishListTab.wishList_prodslist).slideDown("normal",function()
                    {
                        oneprodli.removeAttr("style");
                        if(afterAddFnCallBack)
                        {
                            afterAddFnCallBack()
                        }
                    }
                    )
                }
            }
        }
        else
        {
            if(SlideEffect=="slideDown")
            {
                oneprodli.hide().appendTo(HTabs.WishListTab.wishList_prodslist).slideDown("normal",function()
                {
                    oneprodli.removeAttr("style");
                    if(afterAddFnCallBack)
                    {
                        afterAddFnCallBack()
                    }
                }
                )
            }
            else
            {
                oneprodli.appendTo(HTabs.WishListTab.wishList_prodslist)
            }
        }
oneprodli.find("div.cart_prod_name div.wish_li_add_comm").click(function()
{
$("div#header_tabs_basecont div.cart_tab_cont3 div.wish_li_add_comm").each(function(index,element)
{
    $(element).show().next().hide().find("span.error_text").hide()
}
);
$(this).hide().next().show()
}
);
oneprodli.find("div.cart_prod_name div.wish_btn_save input.wl_save_comment").click(function()
{
    WishList.AddItemComment($(this),wlItem.wishListItemID)
}
);
oneprodli.find("div.cart_prod_name div.wish_btn_save input.wl_cancel_btn").click(function()
{
    $(this).parent().parent().hide().prev().show()
}
);
oneprodli.find("div.cart_prod_name div.wish_list_send_cont textarea").focus(function()
{
    var el=$(this);
    if(el.val()==="Enter comment")
    {
        el.val("")
    }
}
);
oneprodli.find("div.cart_prod_name div.wish_list_send_cont textarea").blur(function()
{
    var el=$(this);
    if(el.val()==="")
    {
        el.val("Enter comment")
    }
}
);
var prodli=$("#"+LiId);
var compareIcon=prodli.find(".cmpricon");
var cartPStatusIcon=prodli.find(".carticon");
var infoIcon=prodli.find(".prev_info");
var wishListIcon=prodli.find(".item_removefromwishlist");
var productParams=
{
    objitem:prodli,pid:wlItem.pid,infoIcon:infoIcon,compareIcon:compareIcon,cartPStatusIcon:cartPStatusIcon,wishListIcon:wishListIcon,wlId:wlItem.wishListID
};
ProdCollection.addWishListTabProduct(productParams)
}
,enterNewWishList:
{
getBlock:function()
{
    var enterWLBlock=$('<div class="add_wl_name_bl"></div>').append('<span class="new_wl_head">Enter wish list name:</span>').append('<input type="text" value="" class="wish_list_name_input">').append("&nbsp;").append('<input type="image" src="/Images/Handbags/add_btn.gif" class="add_wish_list_btn">').append('<span style="display:none" class="error_text"></span>');
enterWLBlock.find("input.wish_list_name_input").keypress(function(e)
{
    if(e.which==keyCodes.enter)
    {
        $(this).next().click()
    }
}
);
return enterWLBlock
}
}
,getAddWishListsPopup:function(params)
{
var defaultSettings=
{
data:null,pid:null,wishListNameClickFn:null,newWishListAddFn:null,position:null
};
var settings=$.extend(
{
}
,defaultSettings,params||
{
}
);
var wl_popUpContainer=$("<div />");
var newWLBlock=this.enterNewWishList.getBlock();
if(settings.data.length)
{
wl_popUpContainer.append('<span class="list_header">Select wish list:</span>');
var listsCont=$('<ul class="wish_list_1col"></ul>');
var lielem;
for(var i=0;i<settings.data.length;i++)
{
    var grClass="";
    if(settings.data[i].isGiftRegistryList)
    {
        grClass=" gift_reg_list"
    }
    if(settings.data[i].isInWihsList)
    {
        lielem=$('<li class="'+grClass+'">'+settings.data[i].wishListName+"&nbsp;<span>(added)</span></li>")
    }
    else
    {
        lielem=$('<li class="not_added'+grClass+'" id="wlSelector_'+settings.data[i].wishListID+'"><a href="#">'+settings.data[i].wishListName+"</a></li>");
lielem.children("a").click(function()
{
    var wlId=$(this).parent().attr("id").split("_")[1];
    if(settings.wishListNameClickFn)
    {
        settings.wishListNameClickFn(settings.pid,wlId,$(this))
    }
    else
    {
        WishList.AddItemToSelectedWL(settings.pid,wlId,$(this))
    }
    return false
}
)
}
listsCont.append(lielem)
}
wl_popUpContainer.append(listsCont);
wl_popUpContainer.append('<a class="add_wish_list" href="#">Add wish list</a>').append(newWLBlock.attr("style","display:none"));
wl_popUpContainer.find("a.add_wish_list").click(function()
{
    $(this).hide().next().show().find("input.wish_list_name_input").focus();
    return false
}
)
}
else
{
wl_popUpContainer.append('<ul class="wish_list_1col"></ul>').append(newWLBlock.addClass("empty_cont"))
}
wl_popUpContainer.find("div.add_wl_name_bl input.add_wish_list_btn").click(function()
{
    if(settings.newWishListAddFn)
    {
        settings.newWishListAddFn($(this),settings.pid)
    }
    else
    {
        WishList.CreateWLAddItem($(this),settings.pid)
    }
    return false
}
);
var wl_popUp=new $.efTemplates.popUps.selector(
{
    additionalBaseClasses:"solid_pop_up size225 add-to-wish-list-popup-container",onCloseCallback:function()
    {
        WishList._resetPopUp()
    }
    ,innerElements:wl_popUpContainer,displaySettings:
    {
        positionToAdd:settings.position
    }
}
);
return wl_popUp
}
,AddItemToSelectedWL:function(pid,wlId,button)
{
$.ajax(
{
    url:"/Default.asp",async:false,type:"GET",cache:false,data:
    {
        action:"addItem",pid:pid,wlid:wlId
    }
    ,dataType:"json",success:function(result)
    {
        WishList.preparePageAfterAdd(result,pid,button,false)
    }
}
)
}
,CreateWLAddItem:function(button,pid)
{
$.ajax(
{
    url:"/Default.asp",async:false,type:"POST",dataType:"json",data:
    {
        action:"btnCreateNewWishList",pid:pid,txtWishlistName:URLEncode(button.prev().val())
    }
    ,success:function(result)
    {
        if(result.propertyName)
        {
            button.parents("div.solid_pop_up").find("span.error_text").text(result.description).show();
            button.prev().focus()
        }
        else
        {
            WishList.preparePageAfterAdd(result,pid,button,true)
        }
    }
    ,error:function()
    {
    }
}
)
}
,preparePageAfterAdd:function(result,pid,button,isCreate)
{
WishList.ItemsCount++;
WishList.TotalItemsCount=result.totalItemsCount;
HTabs.WishListTab.NoWishListProductsMessageCheck();
if(HTabs.displayed_tab_index===HTabs.TabsIds.WishList)
{
    if(WishList.TotalItemsCount>HTabs.WishListTab.displayed_count&&!HTabs.WishListTab.ViewMoreOpened)
    {
        var items=HTabs.WishListTab.wishList_prodslist.find("li");
        $(items[items.length-1]).remove();
        HTabs.WishListTab.CheckLastItemLine();
        WishList.ItemsCount--
    }
    if(WishList.ItemsCount>1)
    {
        WishList.addproduct(result.wishListItemInfo[0],"slide",false,null)
    }
    else
    {
        WishList.addproduct(result.wishListItemInfo[0],"slide",false,HTabs.WishListTab.CheckLastItemLine)
    }
}
else
{
    WishList.WishListSectionNeedUpdate=true;
    var fst_added=GetCookie("fst_wl");
    if(!fst_added)
    {
        HTabs.OpenTab(HTabs.TabsIds.WishList);
        window.scrollTo(0,0)
    }
}
ProdCollection.MarkWishListIcon(pid,null,"add",true);
if(isCreate)
{
    var mainCont=button.parent().parent().find("ul.wish_list_1col");
    mainCont.append($('<li class="already_added"></li>').text(button.prev().val()).append("&nbsp;<span>(added)</span>"));
    button.parent().remove()
}
else
{
    var liCont=button.parent();
    liCont.removeClass("not_added").addClass("already_added");
    var wlName=button.text();
    button.remove();
    liCont.text(wlName).append("&nbsp;<span>(added)</span>")
}
var time_out;
time_out=setTimeout(function()
{
    WishList.ClearPageOfPopup();
    clearTimeout(time_out)
}
,1000)
}
,addItem:function(params)
{
var defaultSettings=
{
    pid:null,endWLrequestDelegate:null,SelectWLFn:null,newWishListAddFn:null,position:null
};
var settings=$.extend(
{
}
,defaultSettings,params||
{
}
);
WishList.ClearPageOfPopup();
var requestData=
{
    action:"getList"
};
if(settings.pid)
{
    requestData=$.extend(requestData,
    {
        pid:settings.pid
    }
    )
}
$.ajax(
{
    url:"/Default.asp",async:false,type:"GET",cache:false,data:requestData,dataType:"json",success:function(result)
    {
        var wishListAddParams=
        {
            data:result,pid:settings.pid,wishListNameClickFn:settings.SelectWLFn,newWishListAddFn:settings.newWishListAddFn,position:settings.position
        };
        WishList.WishListAddPopup=WishList.getAddWishListsPopup(wishListAddParams);
        if(settings.endWLrequestDelegate)
        {
            settings.endWLrequestDelegate()
        }
    }
    ,error:function()
    {
    }
    ,complete:function(result)
    {
    }
}
)
}
,removeItem:function(pid,wlId,endWlrequestDelegate,showNext)
{
HTabs.loadings.wishlist.show();
var params=
{
    action:"remove",pid:pid,wlid:wlId
};
if(!HTabs.WishListTab.ViewMoreOpened&&showNext)
{
    params=$.extend(params,
    {
        getNext:true
    }
    )
}
$.ajax(
{
    url:"/Default.asp",async:false,type:"GET",cache:false,data:params,dataType:"json",success:function(result)
    {
        WishList.TotalItemsCount=result.totalItemsCount;
        var isInWishList=result.wishListItemInfo[0].isInWishList;
        WishList.ItemsCount--;
        WishList.WishListSectionNeedUpdate=true;
        HTabs.WishListTab.NoWishListProductsMessageCheck();
        if(result.wishListItemInfo.length>1)
        {
            WishList.addproduct(result.wishListItemInfo[1],"slide",true,HTabs.WishListTab.CheckLastItemLine)
        }
        ProdCollection.MarkWishListIcon(pid,wlId,"remove",isInWishList);
        if(endWlrequestDelegate)
        {
            endWlrequestDelegate()
        }
    }
    ,error:function()
    {
    }
    ,complete:function()
    {
        HTabs.loadings.wishlist.hide()
    }
}
)
}
,AllSessionAction:function(requestdata,successFunction,RequestType)
{
HTabs.loadings.wishlist.show();
$.ajax(
{
    url:"/Default.asp",async:false,type:RequestType,cache:false,data:requestdata,dataType:"json",success:function(result)
    {
        successFunction(result)
    }
    ,error:function()
    {
    }
    ,complete:function()
    {
        HTabs.loadings.wishlist.hide()
    }
}
)
}
,RemoveAllSessionResult:function(result)
{
for(var j=0;j<result.length;j++)
{
    ProdCollection.MarkWishListIcon(result[j].pid,null,"remove",result[j].isInWishList)
}
WishList.WishListSectionNeedUpdate=true;
WishList.ItemsCount=0;
HTabs.WishListTab.NoWishListProductsMessageCheck()
}
,AddAllSessionToCartResult:function(result)
{
Cart.CartSectionNeedUpdate=true;
HTabs.TabsColl[HTabs.displayed_tab_index].Close("","showElements");
HTabs.ResetTabOpenIndex();
HTabs.OpenTab(HTabs.TabsIds.Cart);
for(var i=0;i<result.length;i++)
{
    ProdCollection.MarkCartIcon(result[i],0,true)
}
}
,AddAllSessionToCompareResult:function(result)
{
Compare.RedirectToComparePage()
}
,AddItemComment:function(button,wlItemId)
{
var originalText=button.parents("div.wish_list_send_cont").find("textarea").val();
var commentText=URLEncode(originalText);
HTabs.loadings.wishlist.show();
$.ajax(
{
    url:"/Default.asp",async:false,type:"POST",cache:false,data:
    {
        action:"btnAddComment",wlItemId:wlItemId,txtWishListItemComment:commentText
    }
    ,dataType:"json",success:function(result)
    {
        if(result=="ok")
        {
            var comCont=button.parents("div.cart_prod_name").find(" div.wish_list_caption");
            if(!comCont.length)
            {
                var cont=$('<p class="wish_list_comment_cnt"></p>');
                cont.text(originalText);
                button.parents("div.cart_prod_name").append('<div class="wish_list_caption">Comment:</div>').append(cont)
            }
            else
            {
                comCont.parent().append('<p class="wish_list_comment_cnt"></p>').text(originalText)
            }
            var adCom=button.parent().parent().prev();
            button.parent().parent().remove();
            adCom.remove()
        }
        else
        {
            if(result.length)
            {
                button.parent().parent().find("span.error_text").text(result[0].description).show()
            }
            else
            {
                button.parent().parent().find("span.error_text").text(result.description).show()
            }
        }
    }
    ,error:function()
    {
    }
    ,complete:function(result)
    {
        HTabs.loadings.wishlist.hide()
    }
}
)
}
,_resetPopUp:function()
{
if(WishList.WishListAddPopup)
{
    WishList.WishListAddPopup=null
}
}
,ClearPageOfPopup:function()
{
if(WishList.WishListAddPopup)
{
    WishList.WishListAddPopup.discard();
    WishList._resetPopUp()
}
}
,ShowMoreSessionItems:function()
{
$.ajax(
{
    url:"/Default.asp",async:false,type:"POST",cache:false,data:
    {
        action:"getMoreItems",viewdItems:WishList.GetItemsInTab()
    }
    ,dataType:"json",success:function(result)
    {
        if(result.length)
        {
            WishList.ItemsCount+=result.length;
            HTabs.WishListTab.CheckLastItemLine(true);
            HTabs.WishListTab.last_line.hide();
            for(var i=0;i<result.length;i++)
            {
                WishList.addproduct(result[i],"slideDown",i==result.length-1,null)
            }
            HTabs.WishListTab.ShowAllButtonsBlock()
        }
    }
}
)
}
,GetItemsInTab:function()
{
var wlitems=[];
HTabs.WishListTab.wishList_prodslist.find("li").each(function(i,item)
{
    wlitems.push($(this).attr("id").split("_")[1])
}
);
return wlitems.join(",")
}
};
var UserManager=
{
_isLoggedIn:null,IsLoggedIn:function()
{
if(!UserManager._isLoggedIn)
{
    UserManager._isLoggedIn=$("div#header_contact_us input#headbtnSignOut").length>0
}
return UserManager._isLoggedIn
}
};
var PromotionSections=
{
cartTab:1,productPage:2
};
function PromotionObject(params)
{
    var defaultParams=
    {
        promotionObject:null,section:null,promotionId:0,cartItemGroupID:0,promotionTypeID:0,promotionIcon:null,baseProdId:0,basePromotionMarketingGroupId:0,promotionIncludedProducts:"",subtotalObject:null,objApplyPromotionInformation:null,shipsFreeLabel:null
    };
    var _params=$.extend(
    {
    }
    ,defaultParams,params);
    EF.Utils.StringUtils.restoreIntTypeForObjectProperties(defaultParams,_params);
    var _promotionObject=_params.promotionObject;
    var _section=_params.section;
    var _promotionId=_params.promotionId;
    var _promotionIcon=_params.promotionIcon;
    var _promotionTypeID=_params.promotionTypeID;
    var _shipsFreeLabel=_params.shipsFreeLabel;
    var THIS=this;
    var promoProducts=[];
    this.GetSection=function()
    {
        return _section
    };
    this.GetPromotionID=function()
    {
        return _promotionId
    };
    this.GetCartItemGroupID=function()
    {
        return _params.cartItemGroupID
    };
    this.CartItemGroupIdExists=function()
    {
        return _params.cartItemGroupID>0
    };
    this.GetPromotionTypeID=function()
    {
        return _promotionTypeID
    };
    this.GetPromoProducts=function()
    {
        return promoProducts
    };
    this.IsPromoInCart=function()
    {
        return THIS.CartItemGroupIdExists()
    };
    var promotionIconExists=function()
    {
        return _promotionIcon&&_promotionIcon.length
    };
    var promotionObjectExists=function()
    {
        return _promotionObject&&_promotionObject.length
    };
    this.Remove=function(fnCallBack)
    {
        if(!promotionObjectExists())
        {
            return
        }
        var LiItem=_promotionObject;
        _promotionObject.slideUp("normal",function()
        {
            LiItem.removeAttr("id").remove();
            if(fnCallBack)
            {
                fnCallBack()
            }
        }
        )
    };
    this.EnableAddToCart=function()
    {
        if(promotionIconExists())
        {
            _params.promotionIcon.removeClass("disabled_cart_button")
        }
    };
    this.DisableAddToCart=function()
    {
        if(promotionIconExists())
        {
            _params.promotionIcon.addClass("disabled_cart_button")
        }
    };
    this.AddToCartIsDisabled=function()
    {
        return _params.promotionIcon.is(".disabled_cart_button")
    };
    this.SwitchPromoCart=function()
    {
        if(!HTabs.initiated||THIS.AddToCartIsDisabled())
        {
            return
        }
        if(THIS.IsPromoInCart())
        {
            if(_params.cartItemGroupID)
            {
                CartPromotions.RemovePromotionFromCart(_params.cartItemGroupID)
            }
            else
            {
                EF.Utils.EmailLogger.error("Trying to remove from cart promotion with base product id %i, included products %s, and promotion type %i, but cartItemGroupID is not set",_params.baseProdId,_params.promotionIncludedProducts,_promotionTypeID)
            }
        }
        else
        {
            var parameters=
            {
            };
            parameters[HeaderTabsExecInterface.ParamNames.Operation]=HeaderTabsExecInterface.Operations.AddItem;
            parameters[HeaderTabsExecInterface.ParamNames.Pid]=_params.baseProdId;
            parameters[HeaderTabsExecInterface.ParamNames.MarketingGroupId]=_params.basePromotionMarketingGroupId;
            parameters[HeaderTabsExecInterface.ParamNames.PromotionIncludedProducts]=_params.promotionIncludedProducts;
            CartPromotions.AddPromoToCart(parameters,THIS)
        }
    };
    this.MarkFreeShipping=function(free)
    {
        if(_shipsFreeLabel)
        {
            if(free)
            {
                _shipsFreeLabel.removeClass("hidden")
            }
            else
            {
                _shipsFreeLabel.addClass("hidden")
            }
        }
    };
    this.MarkPromoCart=function(isPromoInCart,cartItemGroupId)
    {
        if(promotionIconExists())
        {
            var messageInCart;
            if(isPromoInCart)
            {
                _promotionIcon.addClass("item_removefromcart").removeClass("item_addtocart").attr("title",Icons.Titles.GetRemoveCartTitle());
                if(_section&PromotionSections.productPage)
                {
                    var buttoncartparent=_promotionIcon.parent();
                    messageInCart=buttoncartparent.prev();
                    _promotionIcon.nextAll(".addToCartBigShipsFree").addClass("hidden");
                    _promotionIcon.nextAll(".expires_block").hide();
                    if(!messageInCart.is("strong.addToCartItemInCartText"))
                    {
                        var ItemInCartText="This item is in your cart";
                        switch(_params.promotionTypeID)
                        {
                            case PROMOTION_TYPE.SALE:ItemInCartText="This item is in your cart";
                            break;
                            case PROMOTION_TYPE.DEAL:ItemInCartText="This deal is in your cart";
                            break;
                            case PROMOTION_TYPE.KIT:ItemInCartText="This kit is in your cart";
                            break;
                            case PROMOTION_TYPE.FANTASY_BASKET:ItemInCartText="This basket is in your cart";
                            break;
                            default:ItemInCartText="This item is in your cart";
                            break
                        }
                        var sbAddToCartItemInCartText=new StringBuilder();
                        sbAddToCartItemInCartText.add('<strong class="addToCartItemInCartText">').add(ItemInCartText).add("</strong>");
                        buttoncartparent.before(sbAddToCartItemInCartText.toString());
                        _promotionIcon.after("<a href='"+EF.Constants.Links.Checkout+'\' class="addToCartButtonBigCheckout">Checkout</a>')
                    }
                    else
                    {
                        messageInCart.show();
                        _promotionIcon.nextAll(".addToCartButtonBigCheckout").show()
                    }
                }
            }
            else
            {
                _promotionIcon.addClass("item_addtocart").removeClass("item_removefromcart").attr("title",Icons.Titles.GetAddCartTitle());
                if(_section&PromotionSections.productPage)
                {
                    messageInCart=_promotionIcon.parent().prev();
                    if(messageInCart.is("strong.addToCartItemInCartText"))
                    {
                        messageInCart.hide();
                        _promotionIcon.nextAll(".addToCartBigShipsFree").removeClass("hidden");
                        _promotionIcon.nextAll(".expires_block").show();
                        _promotionIcon.nextAll(".addToCartButtonBigCheckout").hide()
                    }
                }
            }
        }
        _params.cartItemGroupID=isPromoInCart?cartItemGroupId:0
    };
    this.AddPromoProduct=function(pid)
    {
        if(!this.ProductExistsInPromo(pid))
        {
            promoProducts.push(pid)
        }
    };
    this.RemovePromoProduct=function(pid)
    {
    };
    this.eachProduct=function(fn)
    {
        for(var i=0;i<promoProducts.length;i++)
        {
            fn(promoProducts[i],i)
        }
    };
    this.ProductExistsInPromo=function(pid)
    {
        var result=false;
this.eachProduct(function(promoPid,i)
{
    if(promoPid==pid)
    {
        result=true
    }
}
);
return result
};
if(promotionObjectExists())
{
_promotionObject.slideUp=cartSlideUp
}
this.Equals=function(objPromotionObject)
{
return objPromotionObject&&(THIS.CartItemGroupIdExists()&&objPromotionObject.CartItemGroupIdExists&&objPromotionObject.CartItemGroupIdExists()&&objPromotionObject.GetCartItemGroupID&&THIS.GetCartItemGroupID()===objPromotionObject.GetCartItemGroupID()||THIS===objPromotionObject)
};
this.UpdateData=function(params)
{
var defParams=
{
    baseProdId:0,basePromotionMarketingGroupId:0,promotionIncludedProducts:""
};
params=$.extend(
{
}
,defParams,_params,params);
if(params.baseProdId)
{
    _params.baseProdId=params.baseProdId
}
if(params.basePromotionMarketingGroupId)
{
    _params.basePromotionMarketingGroupId=params.basePromotionMarketingGroupId
}
if(params.promotionIncludedProducts)
{
    _params.promotionIncludedProducts=params.promotionIncludedProducts
}
};
this.GetCartInfoFromServer=function()
{
var requestData=
{
};
requestData[HeaderTabsExecInterface.ParamNames.Operation]=HeaderTabsExecInterface.Operations.TestCartPromotion;
requestData[HeaderTabsExecInterface.ParamNames.Pid]=_params.baseProdId;
requestData[HeaderTabsExecInterface.ParamNames.MarketingGroupId]=_params.basePromotionMarketingGroupId;
requestData[HeaderTabsExecInterface.ParamNames.PromotionIncludedProducts]=_params.promotionIncludedProducts;
var THIS=this;
$.ajax(
{
    type:"POST",url:Requests.headerExecUrl,cache:false,data:requestData,dataType:"json",success:function(data)
    {
        THIS.BuildPromotionSubtotal(data.promotionPrice,data.promotionValue,data.promotionSavings);
        THIS.MarkPromoCart(data.isInCart,data.cartItemGroupId);
        THIS.MarkFreeShipping(data.shipsFree)
    }
}
)
};
this.BuildPromotionSubtotal=function(promoPrice,promoValue,savings)
{
if(_promotionTypeID==PROMOTION_TYPE.DEAL)
{
    _params.subtotalObject.text("$"+promoPrice.toFixed(2))
}
else
{
    if(_promotionTypeID==PROMOTION_TYPE.KIT)
    {
        _params.subtotalObject.find(".price_val").text("$"+promoPrice.toFixed(2));
        _params.subtotalObject.find(".k_v_val").text("$"+promoValue.toFixed(2));
        _params.subtotalObject.find(".save_val").text("$"+savings.toFixed(2));
        _params.subtotalObject.show();
        if(_params.objApplyPromotionInformation)
        {
            _params.objApplyPromotionInformation.hide()
        }
    }
}
};
if(promotionIconExists())
{
_promotionIcon.click(function(e)
{
    e.preventDefault();
    THIS.SwitchPromoCart()
}
)
}
}
var PromoCollection=
{
promoItems:[],addPromotion:function(params)
{
var promoObj=new PromotionObject(params);
this.promoItems.push(promoObj);
return promoObj
}
,addCartTabPromotion:function(params)
{
params=$.extend(params,
{
    section:PromotionSections.cartTab
}
);
this.addPromotion(params)
}
,addProductPagePromo:function(params)
{
params=$.extend(params,
{
    section:PromotionSections.productPage
}
);
return this.addPromotion(params)
}
,removeCartTabPromotion:function(cartItemGroupID)
{
var promotions=[];
this.each(function(pitem,i)
{
    if(!(pitem.GetSection()&PromotionSections.cartTab&&(cartItemGroupID?pitem.GetCartItemGroupID()==cartItemGroupID:true)))
    {
        promotions.push(pitem)
    }
}
);
this.promoItems=promotions
}
,MarkPromotionIcon:function(cartItemID,isPromoInCart,addedPromotionToCart)
{
var promoObj=addedPromotionToCart?addedPromotionToCart:new PromotionObject(
{
    cartItemGroupID:cartItemID
}
);
this.each(function(pitem,i)
{
    if(pitem.Equals(promoObj))
    {
        if(pitem.GetSection()&PromotionSections.cartTab&&!isPromoInCart&&HTabs.displayed_tab_index===HTabs.TabsIds.Cart)
        {
            pitem.Remove();
            PromoCollection.removeCartTabPromotion(cartItemID)
        }
        else
        {
            pitem.MarkPromoCart(isPromoInCart,cartItemID)
        }
    }
}
)
}
,ChangePromotionData:function(promoObj,params)
{
var promoIndex=$.inArray(promoObj,PromoCollection.promoItems);
if(promoIndex>=0)
{
    PromoCollection.promoItems[promoIndex].UpdateData(params)
}
PromoCollection.promoItems[promoIndex].GetCartInfoFromServer()
}
,GetPromotion:function(cartItemGroupID)
{
var promoObj=null;
this.each(function(promo,i)
{
    if(promo.GetCartItemGroupID()==cartItemGroupID)
    {
        promoObj=promo
    }
}
);
return promoObj
}
,GetPromotionTypeID:function(cartItemGroupId)
{
var promoTypeID=null;
this.each(function(promo,i)
{
    if(promo.GetCartItemGroupID()==cartItemGroupId)
    {
        promoTypeID=promo.GetPromotionTypeID()
    }
}
);
return promoTypeID
}
,IsGroupTypePromotion:function(cartItemGroupId)
{
var typeId=PromoCollection.GetPromotionTypeID(cartItemGroupId);
if(typeId===PROMOTION_TYPE.DEAL||typeId===PROMOTION_TYPE.FANTASY_BASKET||typeId===PROMOTION_TYPE.KIT)
{
    return true
}
return false
}
,each:function(fn)
{
for(var i=0;i<this.promoItems.length;i++)
{
    fn(this.promoItems[i],i)
}
}
};
var CartPromotions=
{
GetPromotionTypeName:function(typeId)
{
switch(typeId)
{
    case PROMOTION_TYPE.FANTASY_BASKET:return"Fantasy basket";
    case PROMOTION_TYPE.DEAL:return"Deal";
    case PROMOTION_TYPE.KIT:return"Kit";
    case PROMOTION_TYPE.SALE:return"Sale";
    case PROMOTION_TYPE.GIFT_CERTIFICATE:return"Discount";
    default:return""
}
}
,CreatePromotionsHtml:function(promotions)
{
for(var i=0;i<promotions.length;i++)
{
    CartPromotions.CreateOnePromotionHtml(promotions[i])
}
}
,CreateOnePromotionHtml:function(promo)
{
var sb=new StringBuilder();
var params;
if(promo.promotionTypeID==PROMOTION_TYPE.DEAL||promo.promotionTypeID==PROMOTION_TYPE.FANTASY_BASKET||promo.promotionTypeID==PROMOTION_TYPE.KIT)
{
    sb.add('<li class="prom_total cc"><div class="prom_summ cc">').add('<div class="b_val"><p class="inf_line"><span class="prom_title">').add(CartPromotions.GetPromotionTypeName(promo.promotionTypeID)).add(':</span><span class="prom_moto"> ').add(promo.generalTitle).add("</span></p>").add('<p class="inf_line"><span class="val_ttl">Value: </span><span class="val_data">$').add(promo.regularPrice).add("</span></p></div>");
    var settings=
    {
        itemID:promo.cartItemGroupID,quantity:promo.promotionQuantity,incrementFunction:"CartPromotions.IncrementPromoInCart",decrementFunction:"CartPromotions.DecrementPromoInCart"
    };
    sb.add(GetCartQuantitySelector(settings)).add('</div><div class="fin_price" id="').add("promo_price_"+promo.cartItemGroupID).add('">').add(CartPromotions.PromotionPriceHtml(promo.promotionQuantity,promo.price,promo.regularPrice)).add("</div>").add(Icons.GetPromotionCartIcon(true,promo.promotionTypeID)).add("</li>");
    var promoObject=$("<ul></ul>").attr("id","promo_"+promo.cartItemGroupID);
    var promoTotal=$(sb.toString());
    switch(promo.promotionTypeID)
    {
        case PROMOTION_TYPE.DEAL:promoObject.addClass("deal_pr_list pr_list");
        break;
        case PROMOTION_TYPE.KIT:promoObject.addClass("kit_pr_list pr_list");
        break;
        case PROMOTION_TYPE.FANTASY_BASKET:promoObject.addClass("basket_pr_list pr_list");
        break
    }
    promoObject.append(promoTotal);
    HTabs.CartTab.promotionSets.append(promoObject).show();
    var promoCartIcon=$(promoObject.find("li.prom_total div.prom_cart_btns"));
    params=
    {
        promotionObject:promoObject,promotionId:promo.promotionID,cartItemGroupID:promo.cartItemGroupID,promotionTypeID:promo.promotionTypeID,promotionIcon:promoCartIcon
    };
    PromoCollection.addCartTabPromotion(params)
}
}
,AppendItemsToPromotions:function(itemCollection,SlideEffect)
{
for(var i=0;i<itemCollection.length;i++)
{
    if(itemCollection[i].promotionID!==null)
    {
        CartPromotions.AppendItemToPromotion(itemCollection[i],SlideEffect)
    }
}
}
,AppendItemToPromotion:function(cartItem,SlideEffect)
{
var quantity=cartItem.quantity?cartItem.quantity:1;
var elId=cartItem.cartItemGroupId+"_"+cartItem.pid;
var wlIconType=cartItem.isInWishList===true?Icons.WishListIconTypes.AlreadyAdded:Icons.WishListIconTypes.AddToWishList;
var sb=new StringBuilder();
sb.add('<li class="cc c_prod" id="promoprod_').add(elId).add('"><div class="cart_prod_img"><a href="').add(cartItem.url).add('"><img class="cpix" width="50" height="50" alt="').add(cartItem.productName).add('" src="').add(cartItem.prodThumbSrc).add('"></a></div>').add('<div class="cart_prod_name"><a class="clnk" href="').add(cartItem.url).add('">').add(cartItem.productName).add('</a><div class="cart_prod_price">$').add(cartItem.regularPrice.toFixed(2)).add("</div>");
if(cartItem.variationPropertyName)
{
    sb.add('<div class="cart_prod_color">').add(cartItem.variationPropertyName).add(": ").add(cartItem.productNameSuffix).add("</div>")
}
sb.add('</div><div class="all_icons"><div class="product_controls">');
sb.add('<div class="alacarte_cont_'+cartItem.pid+'">');
if(!cartItem.isInCart&&cartItem.productClass!=EF.Constants.ProductClass.GiftWraps&&cartItem.productClass!=EF.Constants.ProductClass.BasketWrap)
{
    sb.add(Icons.GetALaCarteIcon())
}
sb.add("</div>").add('<div class="cart_btns">').add(Icons.GetInfoIcon()).add(Icons.GetCompareIcon(cartItem.isInCompare)).add("</div></div>").add('<div class="quantify"><p class="q_number"><span class="pr_quantity" id="promo_quantity_').add(elId).add('">').add(quantity).add('</span></p></div><div class="cart_btns">').add(Icons.GetWishListIcon(wlIconType)).add("</div></div></li>");
var oneprodli=$(sb.toString());
var totalCont=$(HTabs.CartTab.cartitems_cont.find("ul#promo_"+cartItem.cartItemGroupId+" li.prom_total"));
oneprodli.slideDown=cartSlideDown;
if(SlideEffect=="slide")
{
    oneprodli.hide();
    totalCont.before(oneprodli);
    oneprodli.slideDown("normal")
}
else
{
    totalCont.before(oneprodli)
}
var prodli=$("#promoprod_"+elId);
var _cartIcon=prodli.find(".ala_carte_btn");
var _compareIcon=prodli.find(".cmpricon");
var _infoIcon=prodli.find(".prev_info");
var wishListIcon=prodli.find(".item_addtowishlist");
var productParams=
{
    objitem:prodli,pid:cartItem.pid,masterpid:cartItem.masterPID,cartPStatusIcon:_cartIcon,infoIcon:_infoIcon,compareIcon:_compareIcon,quantity:quantity,price:cartItem.perUnitPrice,wishListIcon:wishListIcon,cartItemId:cartItem.cartItemId,cartItemGroupId:cartItem.cartItemGroupId
};
ProdCollection.addCartTabPromoProduct(productParams);
var promoObj=PromoCollection.GetPromotion(cartItem.cartItemGroupId);
if(promoObj)
{
    promoObj.AddPromoProduct(cartItem.pid)
}
}
,IncrementPromoInCart:function(cartItemID)
{
var params=
{
};
params[HeaderTabsExecInterface.ParamNames.CartItemId]=cartItemID;
params[HeaderTabsExecInterface.ParamNames.Operation]=HeaderTabsExecInterface.Operations.IncPromotion;
CartPromotions.PromotionAction(params)
}
,DecrementPromoInCart:function(cartItemID)
{
var params=
{
};
params[HeaderTabsExecInterface.ParamNames.CartItemId]=cartItemID;
params[HeaderTabsExecInterface.ParamNames.Operation]=HeaderTabsExecInterface.Operations.DecPromotion;
CartPromotions.PromotionAction(params)
}
,AddPromoToCart:function(params,addedPromotionToCart)
{
if(!addedPromotionToCart)
{
    throw new Error("Could not add to cart if 'addedPromotionToCart' not set.")
}
CartPromotions.PromotionAction(params,addedPromotionToCart)
}
,RemovePromotionFromCart:function(cartItemID)
{
var params=
{
};
params[HeaderTabsExecInterface.ParamNames.CartItemId]=cartItemID;
params[HeaderTabsExecInterface.ParamNames.Operation]=HeaderTabsExecInterface.Operations.RemovePromotion;
CartPromotions.PromotionAction(params)
}
,PromotionAction:function PRM_Coll_PromotionAction(parameters,addedPromotionToCart)
{
if(ProdCollection._cartrequest==1)
{
    return
}
ProdCollection._cartrequest=1;
HTabs.loadings.cart.show();
$.ajax(
{
    type:"GET",url:Requests.headerExecUrl,cache:false,data:parameters,dataType:"json",success:function PromotionAction_success(data)
    {
        Cart.CartSectionNeedUpdate=true;
        if(data.status==ajaxResultStatus.error)
        {
            return
        }
        var ck_fst_cart=GetCookie("fst_cart");
        if(ck_fst_cart)
        {
            $("div#fst_carted_msg").remove()
        }
        else
        {
            HTabs.OpenTab(HTabs.TabsIds.Cart);
            window.scrollTo(0,0)
        }
        var _cartInfoData;
        var IsInCart=true;
        if(parameters[HeaderTabsExecInterface.ParamNames.Operation]===HeaderTabsExecInterface.Operations.RemovePromotion)
        {
            _cartInfoData=data.shortCartInfo;
            IsInCart=false
        }
        else
        {
            _cartInfoData=data.shortCartInfoData
        }
        if(parameters[HeaderTabsExecInterface.ParamNames.Operation]===HeaderTabsExecInterface.Operations.RemovePromotion||parameters[HeaderTabsExecInterface.ParamNames.Operation]===HeaderTabsExecInterface.Operations.AddItem)
        {
            PromoCollection.MarkPromotionIcon(data.addedCartItem?data.addedCartItem.cartItemId:parameters[HeaderTabsExecInterface.ParamNames.CartItemId],IsInCart,addedPromotionToCart)
        }
        Cart.updateCount(_cartInfoData.productsCount);
        Cart.updateSubtotal(_cartInfoData.subtotal,_cartInfoData.savingsSubtotal);
        FreeShippingPromotionsManager.updatePromotions(Cart.Subtotal,data.freeShipping);
        HTabs.CartTab.NoProductsMessageCheck();
        if(HTabs.displayed_tab_index===HTabs.TabsIds.Cart)
        {
            switch(parameters[HeaderTabsExecInterface.ParamNames.Operation])
            {
                case HeaderTabsExecInterface.Operations.AddItem:HTabs.UpdateOpenTab(HTabs.TabsIds.Cart);
                break;
                case HeaderTabsExecInterface.Operations.RemovePromotion:ProdCollection.RemoveCartPromoItemsFromCollection(parameters[HeaderTabsExecInterface.ParamNames.CartItemId]);
                break;
                case HeaderTabsExecInterface.Operations.IncPromotion:case HeaderTabsExecInterface.Operations.DecPromotion:CartPromotions.UpdatePromotionCount(data.cartPromotions[0]);
                break
            }
        }
    }
    ,complete:function PromotionAction_complete()
    {
        HTabs.loadings.cart.hide();
        ProdCollection.CartRequestFree()
    }
}
)
}
,UpdatePromotionCount:function(promo)
{
var itemID=promo.cartItemGroupID;
var quantity=promo.promotionQuantity;
$("#p_quantity"+itemID).html(quantity);
if(quantity<=1)
{
    $("#q_minus"+itemID).css("display","none")
}
else
{
    $("#q_minus"+itemID).css("display","inline")
}
if(quantity>=EF.Constants.Cart.MaxProductsCount)
{
    $("#q_plus"+itemID).css("display","none")
}
else
{
    $("#q_plus"+itemID).css("display","inline")
}
$("#promo_price_"+itemID).html(CartPromotions.PromotionPriceHtml(quantity,promo.price,promo.regularPrice));
var promoObj=PromoCollection.GetPromotion(itemID);
var promoProducts=promoObj.GetPromoProducts();
for(var i=0;i<promoProducts.length;i++)
{
    $("#promo_quantity_"+itemID+"_"+promoProducts[i]).text(quantity)
}
}
,PromotionPriceHtml:function(quantity,perUnitPrice,regularPrice)
{
return'<span class="cart_price act_price">$'+(quantity*perUnitPrice).toFixed(2)+'</span><span>save </span><span class="cart_price disc_val">$'+((regularPrice-perUnitPrice)*quantity).toFixed(2)+"</span>"
}
,PromotionExistsInCart:function(cartItemGroupId)
{
var result=false;
PromoCollection.each(function(pitem,i)
{
    if((pitem.GetSection()&PromotionSections.cartTab)&&pitem.GetCartItemGroupID()==cartItemGroupId)
    {
        result=true
    }
}
);
return result
}
,GetProductPromoPriceHtml:function(promotionTypeId)
{
var promoTypeDiv="";
if(promotionTypeId==PROMOTION_TYPE.SALE)
{
    promoTypeDiv='<div class="sale_ttl">Sale</div>'
}
else
{
    if(promotionTypeId==PROMOTION_TYPE.GIFT_CERTIFICATE||promotionTypeId==PROMOTION_TYPE.CONTRIBUTOR_BUYOUT_ASSIGNMENT)
    {
        promoTypeDiv='<div class="disc_ttl">Discount</div>'
    }
    else
    {
        return
    }
}
return'<div class="disc_price cc">'+promoTypeDiv+"</div>"
}
,GetPromotionData:function(promotionsList,cartItemGroupID)
{
for(var i=0;i<promotionsList.length;i++)
{
    if(promotionsList[i].cartItemGroupID==cartItemGroupID)
    {
        return promotionsList[i]
    }
}
}
};





//////////////////////////////////////////////////////////////////////////////////////







(function($)
{
    $.PrevBox=
    {
        ids:
        {
            prevBox:"prodPrevBox",contentContainer:"preview",data:"QuickInfoPopUpData"
        }
        ,make_tmpl:function(pid,section,fnCallback)
        {
            var settings=
            {
                fnCallBack:fnCallback,pid:pid
            };
            var tmp=new StringBuilder();
            tmp.add('<div><div class="prew_img_blk">').add('<a href="#"></a>').add('<div class="pp">&nbsp;</div>').add('<img alt="Out Handbags" src="/Images/p.gif" height="250">').add('<div class="ppoint_pos cart_btns"></div>').add("</div>").add('<div class="prew_prod_right_blk">').add('<div class="prew_prod_descr_blk">').add('<div class="prev_price cc">').add("<div>Price:</div>").add("<strong>&nbsp;</strong>").add("</div>").add('<div class="stock">&nbsp;</div>').add('<div class="cc">').add("<div>Rating</div>").add('<span class="rating">&nbsp;</span>').add("</div>").add("<div>&nbsp;</div>").add('<div class="short_descr">&nbsp;</div>').add("<p class='preview_prod_props'>&nbsp;</p>").add('<a class="full_descr" href="#">Full description</a>').add("</div>").add('<div class="prew_addn"><a class="ped_auth" href="#">Editorial reviev by DevilBlueDress</a>').add('<div class="rating">&nbsp;</div>').add('<div class="cc pinds_cnt">').add('<div class="cc pvroom_cnt">').add("<div>Vroom:</div>").add('<div class="comm_vroom_ind">&nbsp;</div>').add('<div class="inds_descr">[<a href="#">?<span>descr 1</span></a>]</div>').add("</div>").add('<div class="cc pbee_cnt">').add("<div>Bee:</div>").add('<div class="comm_bee_ind">&nbsp;</div>').add('<div class="inds_descr">[<a href="#">?<span>descr 2</span></a>]</div>').add("</div>").add("</div>").add("</div>").add("</div></div>");
            var elements=$(tmp.toString());
            var quickInfoPopUp=new $.efTemplates.popUps.window(
            {
                additionalBaseClasses:"quick-info",groupName:$.PrevBox.ids.prevBox,contentContainerClasses:"prew_cont cc",innerElements:elements,onCloseCallback:function()
                {
                    elements.data($.PrevBox.ids.data).self.hidePrev()
                }
                ,cascadingDisplay:true,displaySettings:
                {
                    calculatedPosition:true,type:$.efTemplates.popUps.displayTypes.inViewedScreen,positionToAdd:
                    {
                        top:100
                    }
                }
            }
            );
            var prew_img=elements.find("div.prew_img_blk");
            var prew_descr=elements.find("div.prew_prod_descr_blk");
            var prew_addns=elements.find("div.prew_addn");
            elements.FillContent=FillContent;
            elements.Displaying=Displaying;
            elements.hidePrev=hidePrev;
            elements.executeFnCallBack=executeFnCallBack;
            elements.data($.PrevBox.ids.data,
            {
                self:elements,quickInfoPopUp:quickInfoPopUp,settings:settings,baseElements:
                {
                    prew_img:prew_img,prew_descr:prew_descr,prew_addns:prew_addns
                }
                ,displayed:false,readyToDisplay:false
            }
            );
            $.ajax(
            {
                type:"POST",url:"/Default.asp",data:
                {
                    pid:pid,section:section
                }
                ,dataType:"json",success:function()
                {
                    elements.FillContent();
                    elements.Displaying();
                    var _settings=elements.data($.PrevBox.ids.data);
                    _settings.readyToDisplay=true;
                    elements.data($.PrevBox.ids.data,_settings)
                }
            }
            );
            return elements
        }
    };
    this.FillContent=function()
    {
        var quickInfoCurrentData=this.data($.PrevBox.ids.data);
        var prew_img=quickInfoCurrentData.baseElements.prew_img;
        var prew_descr=quickInfoCurrentData.baseElements.prew_descr;
        var prew_addns=quickInfoCurrentData.baseElements.prew_addns;
        prew_img.find("a").attr(
        {
            href:prod_preview.url
        }
        );
        prew_img.find("a").html(prod_preview.name);
        prew_img.find("div.pp").html(prod_preview.manufact);
        prew_img.find("img").attr(
        {
            src:prod_preview.imageUrl,alt:prod_preview.title,title:prod_preview.title,width:(prod_preview._class==6?"175":"250")
        }
        );
        prew_descr.find("div.prev_price > strong").html(prod_preview.price);
        if(prod_preview.regularPrice&&prod_preview.regularPrice!=prod_preview.price)
        {
            var prCont=prew_descr.find("div.prev_price");
            prCont.find("strong").addClass("qi_prev_sale_price");
            prCont.append("<div>&nbsp;</div>");
            prCont.append('<strong class="qi_prev_regular_price">'+prod_preview.regularPrice+"</strong>")
        }
        var icons_cont=prew_img.find(".cart_btns");
        var compareIcon=$(Icons.GetCompareIcon(prod_preview.isInCompare));
        icons_cont.append(compareIcon);
        var cartPStatusIcon=null;
        if(ProductStatuses.isInStock(prod_preview.status)&&!ProductTargetStatuses.notAvailableForPurchase(prod_preview.targetStatus))
        {
            prew_descr.find("div.stock").html("In stock").css(
            {
                color:"#90B718"
            }
            );
            prew_img.find("input").css(
            {
                display:"block"
            }
            );
            cartPStatusIcon=$(Icons.GetCartIcon(ProductStatuses.normal,prod_preview.isInCart))
        }
        else
        {
            if(ProductTargetStatuses.notAvailableForPurchase(prod_preview.targetStatus))
            {
                prew_descr.find("div.stock").html("Not available for purchase")
            }
            else
            {
                prew_descr.find("div.stock").html("Out of stock")
            }
            prew_img.find("input").css(
            {
                display:"none"
            }
            );
            cartPStatusIcon=$(Icons.GetCartIcon(ProductStatuses.oos))
        }
        icons_cont.append(cartPStatusIcon);
        var productParams=
        {
            pid:prod_preview.pid,compareIcon:compareIcon,cartPStatusIcon:cartPStatusIcon
        };
        ProdCollection.addPrevProduct(productParams);
        prew_descr.find("div.short_descr").html(prod_preview.short_descr);
        prew_descr.find("a").attr(
        {
            href:prod_preview.url
        }
        );
        if(prod_preview.rating>0)
        {
            prew_descr.find("div > span").addClass("star_rating_"+prod_preview.rating)
        }
        else
        {
            prew_descr.find("div > span").parent().hide()
        }
        var preview_prod_props=prew_descr.find("p.preview_prod_props").html("");
        var i=1;
        for(prop in prod_preview.prod_props)
        {
            var pr_value=document.createElement("div");
            $(pr_value).addClass("cc");
            if(i%2!=0)
            {
                $(pr_value).addClass("row_bg")
            }
            prod_property=prod_preview.prod_props[prop];
            prod_name=prop+":";
            $(pr_value).html("<div>"+prod_name+"</div>"+prod_property);
            preview_prod_props.append(pr_value);
            i++
        }
        if(!prod_preview.review_info)
        {
            prew_addns.hide()
        }
        else
        {
            prew_addns.find("a.ped_auth").html("Editorial review by "+prod_preview.review_info.author).attr(
            {
                href:prod_preview.review_info.url
            }
            );
            prew_addns.find("div.rating").addClass("star_rating_"+prod_preview.review_info.rating);
            if(prod_preview.review_info.vroom>0)
            {
                prew_addns.find("div.comm_vroom_ind").addClass("vrind_pos_"+prod_preview.review_info.vroom);
                prew_addns.find("div.pvroom_cnt span").html(prod_preview.review_info.vroom_text)
            }
            else
            {
                prew_addns.find("div.pvroom_cnt").hide()
            }
            if(prod_preview.review_info.bee>0)
            {
                prew_addns.find("div.comm_bee_ind").addClass("beeind_pos_"+prod_preview.review_info.bee);
                prew_addns.find("div.pbee_cnt span").html(prod_preview.review_info.bee_text)
            }
            else
            {
                prew_addns.find("div.pbee_cnt").hide()
            }
        }
    };
    this.Displaying=function()
    {
        var quickInfoCurrentData=this.data($.PrevBox.ids.data);
        if(quickInfoCurrentData.displayed)
        {
            quickInfoCurrentData.quickInfoPopUp.makeActivePopUp();
            return
        }
        quickInfoCurrentData.quickInfoPopUp.display();
        quickInfoCurrentData.displayed=true;
        quickInfoCurrentData.self.executeFnCallBack();
        this.data($.PrevBox.ids.data,quickInfoCurrentData)
    };
    this.hidePrev=function()
    {
        var quickInfoCurrentData=this.data($.PrevBox.ids.data);
        quickInfoCurrentData.self.executeFnCallBack();
        quickInfoCurrentData.displayed=false;
        this.data($.PrevBox.ids.data,quickInfoCurrentData)
    };
    this.executeFnCallBack=function()
    {
        var quickInfoCurrentData=this.data($.PrevBox.ids.data);
        if(quickInfoCurrentData.settings.fnCallBack)
        {
            quickInfoCurrentData.settings.fnCallBack()
        }
    }
}
)(jQuery);
var ShippingCalendar=
{
    infoContainer:null,dialogWindow:null,onCloseCallback:null,inputZipCode:null,deliv_loading:null,reqData:null,ids:
    {
        contentId:"dc-contentBox",popUpWindowId:"dc-popUpWindow"
    }
    ,init:function()
    {
        ShippingCalendar.bindClicks();
        if(window.location.hash.toLowerCase()=="#delivery-date-calculator")
        {
            this.displayDialog()
        }
    }
    ,bindClicks:function()
    {
        ShippingCalendar.infoContainer=$("#header_datecalc_cnt");
        var calc_icn_event=$("#calc_icn_event").click(ShippingCalendar.displayDialog);
        ShippingCalendar.deliv_loading=calc_icn_event.next()
    }
    ,displayDialog:function()
    {
        if(!ShippingCalendar.deliv_loading)
        {
            ShippingCalendar.deliv_loading=$([])
        }
        if(!ShippingCalendar.dialogWindow)
        {
            ShippingCalendar.loadWindow(showSDCPopUp)
        }
        else
        {
            showSDCPopUp()
        }
    }
    ,reqDataEnd:function()
    {
        this.reqData=null;
        ShippingCalendar.deliv_loading.hide()
    }
    ,loadWindow:function(fnCallback)
    {
        if(ShippingCalendar.reqData)
        {
            return
        }
        ShippingCalendar.deliv_loading.show();
        ShippingCalendar.reqData=$.ajax(
        {
            type:"GET",url:"/CataLog/Support/DeliveryDatecalc.asp",cache:false,dataType:"html",success:function(data)
            {
                container=$("<div/>").attr("id",ShippingCalendar.ids.contentId);
                container.html(data);
                ShippingCalendar.dialogWindow=new $.efTemplates.popUps.window(
                {
                    groupName:ShippingCalendar.ids.popUpWindowId,additionalBaseClasses:"deliv_calend",contentContainerClasses:"deliv_calend_cnt",innerElements:container,onCloseCallback:function()
                    {
                        hideSDCPopUp()
                    }
                    ,removeOnDiscard:true
                }
                );
container.find("input[type=text]").keypress(function(e)
{
    var evt=e?e:window.event;
    var keyCode=evt.keyCode||evt.which;
    if(keyCode==keyCodes.enter)
    {
        container.find("input.btn_go").click();
        return false
    }
}
);
ShippingCalendar.inputZipCode=container.find("input.zip_txt");
container.find("#calendar_icon").date_input_calendar(
{
    inputDateId:"#orderDate_inp",createIndependentBox:true
}
);
if(fnCallback)
{
    fnCallback()
}
}
,complete:function()
{
ShippingCalendar.reqDataEnd()
}
}
)
}
};
var naMessage="Not available";
function showSDCPopUp()
{
ShippingCalendar.dialogWindow.display(function()
{
    ShippingCalendar.inputZipCode.focus()
}
);
var date=new Date()
}
function hideSDCPopUp()
{
    $("div.deliv_calend.grtop_grad").hide();
    $("table.dc_deliv_date").hide();
    $("#zipCode_inp").val("");
    initServicesValues("");
    $("div.zip_txt").removeClass("sdc_field_error");
    $("div.ord_txt").removeClass("sdc_field_error");
    if(ShippingCalendar.onCloseCallback)
    {
        ShippingCalendar.onCloseCallback()
    }
    ShippingCalendar.dialogWindow=null
}
function initServicesValues(value)
{
    $("#uspsShipp_lbl").text(value);
    $("#uspsCutoff_lbl").text(value);
    $("#uspsDeliv_lbl").text(value);
    $("#upsGroundShipp_lbl").text(value);
    $("#upsGrCutoff_lbl").text(value);
    $("#upsGroundDeliv_lbl").text(value);
    $("#ups2ndDayShipp_lbl").text(value);
    $("#ups2ndDayCutoff_lbl").text(value);
    $("#ups2ndDayDeliv_lbl").text(value);
    $("#upsNextDayShipp_lbl").text(value);
    $("#upsNextDayCutoff_lbl").text(value);
    $("#upsNextDayDeliv_lbl").text(value)
}
function validateData(orderDate,zipCode)
{
    var isValid=true;
    if(zipCode=="")
    {
        $("div.zip_txt").addClass("sdc_field_error");
        ShippingCalendar.inputZipCode.focus();
        isValid=false
    }
    if(!isValidDate(orderDate))
    {
        $("div.ord_txt").addClass("sdc_field_error");
        isValid=false
    }
    return isValid
}
function isValidDate(orderDate)
{
    if(orderDate!=""&&!isNaN(Date.parse(orderDate)))
    {
        if(orderDate.split("/").length==3)
        {
            return true
        }
        else
        {
            return false
        }
    }
    else
    {
        return false
    }
}
function requestSDC()
{
    var orderDate=$("#orderDate_inp").val();
    var zipCode=$("#zipCode_inp").val();
    if(validateData(orderDate,zipCode))
    {
        $("div.zip_txt").removeClass("sdc_field_error");
        $("div.ord_txt").removeClass("sdc_field_error");
        $("div.sdc_progress").show();
        $.ajax(
        {
            url:"/Default.asp",type:"GET",data:"op=sdd&od="+orderDate+"&zc="+zipCode,dataType:"json",success:function(result)
            {
                $("table.dc_deliv_date").show();
                $("#uspsShipp_lbl").text(result.uspsShipping!=null?result.uspsShipping:naMessage);
                $("#uspsCutoff_lbl").text(result.uspsCutoffTime!=null?result.uspsCutoffTime:naMessage);
                $("#uspsDeliv_lbl").text(result.uspsDelivery!=null?result.uspsDelivery:naMessage);
                $("#upsGroundShipp_lbl").text(result.upsGroundShipping!=null?result.upsGroundShipping:naMessage);
                $("#upsGrCutoff_lbl").text(result.upsGroundCutoffTime!=null?result.upsGroundCutoffTime:naMessage);
                $("#upsGroundDeliv_lbl").text(result.upsGroundDelivery!=null?result.upsGroundDelivery:naMessage);
                $("#ups2ndDayShipp_lbl").text(result.ups2ndDayShipping!=null?result.ups2ndDayShipping:naMessage);
                $("#ups2ndDayCutoff_lbl").text(result.ups2ndDayCutoffTime!=null?result.ups2ndDayCutoffTime:naMessage);
                $("#ups2ndDayDeliv_lbl").text(result.ups2ndDayDelivery!=null?result.ups2ndDayDelivery:naMessage);
                $("#upsNextDayShipp_lbl").text(result.upsNextDayShipping!=null?result.upsNextDayShipping:naMessage);
                $("#upsNextDayCutoff_lbl").text(result.upsNextDayCutoffTime!=null?result.upsNextDayCutoffTime:naMessage);
                $("#upsNextDayDeliv_lbl").text(result.upsNextDayDelivery!=null?result.upsNextDayDelivery:naMessage);
                $("#fedExSmartPostShipp_lbl").text(result.fedExSmartPostShipping!=null?result.fedExSmartPostShipping:naMessage);
                $("#fedExSmartPostCutoff_lbl").text(result.fedExSmartPostCutoffTime!=null?result.fedExSmartPostCutoffTime:naMessage);
                $("#fedExSmartPostDeliv_lbl").text(result.fedExSmartPostDelivery!=null?result.fedExSmartPostDelivery:naMessage)
            }
            ,error:function()
            {
                initServicesValues("Not available")
            }
            ,complete:function()
            {
                $("div.sdc_progress").hide()
            }
        }
        )
    }
}
var ExpressDeliveryTooltip=
{
    list:null,init:function()
    {
        $("<ul id='promo_popup'/>").appendTo("body");
        $("#promo_popup").hide();
        list=$("#promo_popup")[0]
    }
    ,setPromotions:function(promos,minutesLeft)
    {
        $(list).empty();
        for(var i in promos)
        {
            $("<li class='promo_item'><p>"+promos[i]+"</p></li>").appendTo(list)
        }
        if(minutesLeft&&minutesLeft<60)
        {
            $("<li class='notice'><p>Only <b>"+minutesLeft+" minutes</b> left for express delivery</p></li>").appendTo(list)
        }
        $("<li class='promo_item last'><p>Always FREE 3-5 days shipping Orders $59+</p></li>").appendTo(list)
    }
    ,show:function()
    {
        $("#promo_popup").show()
    }
    ,hide:function()
    {
        $("#promo_popup").hide()
    }
};
$(document).ready(function()
{
    var isExpressDeliveryPromotion=$("#lbl_free_express");
    if(!isExpressDeliveryPromotion)
    {
        return
    }
    var s=$("#lbl_free_express").val();
    if(s)
    {
        $("div.free_express").html("<a href='/CataLog/Member/CustomerRegistrationWholesale.asp?GO=Wholesale'>Up 75%! <span>"+s+"</span>&nbsp;<img src='/Images/Handbags/pink-arrow.gif' alt='' width='4' height='7'></a>")
    }
    ExpressDeliveryTooltip.init();
$("div.free_express").hover(function()
{
    var elem=this;
    elem.mouse_is_still_over=true;
    if(elem.lastAjaxReq)
    {
        elem.lastAjaxReq.abort()
    }
    elem.lastAjaxReq=$.ajax(
    {
        url:"/Default.asp",type:"GET",data:"op=edp",dataType:"json",cache:false,success:function(result)
        {
            ExpressDeliveryTooltip.setPromotions(result.promos,result.minLeft);
            if(elem.mouse_is_still_over)
            {
                ExpressDeliveryTooltip.show()
            }
        }
        ,complete:function()
        {
            elem.lastAjaxReq=null
        }
    }
    )
}
,function()
{
    this.mouse_is_still_over=false;
    ExpressDeliveryTooltip.hide()
}
)
}
);
function LC_getCookie(c_name)
{
    if(document.cookie.length>0)
    {
        c_start=document.cookie.indexOf(c_name+"=");
        if(c_start!=-1)
        {
            c_start=c_start+c_name.length+1;
            c_end=document.cookie.indexOf(";",c_start);
            if(c_end==-1)
            {
                c_end=document.cookie.length
            }
            return unescape(document.cookie.substring(c_start,c_end))
        }
    }
    return null
}
function LC_blockUser(userid)
{
    if(LC_getCookie("usrbl")!=null)
    {
        return false
    }
    else
    {
        LC_xlaALSrequest(userid);
        return false
    }
}
function LC_xlaALSrequest(userid)
{
    var w=640,h=480;
    if(document.all||document.layers)
    {
        w=screen.availWidth;
        h=screen.availHeight
    }
    var leftPos=(w-640)/2,topPos=(h-480)/2;
    xlaALSwindow=window.open("/CataLog/Support/UserPreChat.asp?ref=&d=&u="+userid+"&bypass=","ALSRoom","toolbar=0,location=0,status=0,menubar=0,scrollbars=1,resizable=1,width=640,height=480,top="+topPos+",left="+leftPos);
    xlaALSwindow.focus()
};
EF.Customer=
{
    IsLoggedIn:function ef_C_IsLoggedIn()
    {
        return this.getCid()
    }
    ,_cid:0,getCid:function()
    {
        return _cid
    }
    ,setCid:function(cid)
    {
        try
        {
            _cid=cid?parseInt(cid.toString(),10):0
        }
        catch(e)
        {
            _cid=0
        }
    }
};
$(document).ready(function()
{
    EF.Customer.setCid(EF.Utils.JSData.get("CustomerData"))
}
);






/////////////////////////////////////////////////////////////////////////////////////

if(typeof sections=="undefined")
{
    throw new Error("Prod collection requires sections object. Initialization failed.")
}
if(typeof PROMOTION_TYPE=="undefined")
{
    throw new Error("Prod collection requires PROMOTION_TYPE object. Initialization failed.")
}
var ProductStatuses=
{
    normal:"Normal",oos:"OutOfStock",isInStock:function ps_isInStock(status)
    {
        return(status===this.normal||status===0)
    }
};
var ProductTargetStatuses=
{
    none:"None",viewOnly:"ViewOnly",readyForReview:"ReadyForReview",availableForReview:"AvailableForReview",readyForSale:"ReadyForSale",deleted:"Deleted",notAvailableForPurchase:function p_notAvailableForPurchase(targetStatus)
    {
        var availablePurchase=true;
        if(!targetStatus||targetStatus==this.none)
        {
            availablePurchase=true
        }
        else
        {
            availablePurchase=targetStatus==this.readyForSale
        }
        return !availablePurchase
    }
};
function ProductFlags(parameters)
{
    var defaultProductParams=
    {
        objitem:null,section:null,pid:0,masterpid:0,promotionMarketingGroupId:null,infoIcon:null,compareIcon:null,cartPStatusIcon:null,quantity:1,price:0,thumbnail:null,prodnamesuffix:null,varpropchange:null,varchangecallback:null,priceobj:null,yousaveobj:null,wishListIcon:null,wlId:null,wlCounter:null,cartItemId:0,cartItemGroupId:0
    };
    var params=$.extend(
    {
    }
    ,defaultProductParams,parameters);
    EF.Utils.StringUtils.restoreIntTypeForObjectProperties(defaultProductParams,params);
    var _objitem=params.objitem;
    var _section=params.section;
    var _thumbSize="50";
    if(_section&sections.prodListing_grid||_section&sections.prodListing_list||_section&sections.reviewCategoryProducts)
    {
        _thumbSize="150"
    }
    if(_section&sections.otherproducts||_section&sections.alsosuggest)
    {
        _thumbSize="100"
    }
    var _pid=params.pid;
    var _masterpid=params.masterpid;
    var _promotionMarketingGroupId=EF.Utils.StringUtils.getInt(params.promotionMarketingGroupId);
    var _infoIcon=params.infoIcon;
    var _compareIcon=params.compareIcon;
    var _isInCompare=!_compareIcon?false:_compareIcon.is(".item_removefromcompare");
    var _cartPStatusIcon=params.cartPStatusIcon;
    var _isInCart=!_cartPStatusIcon?false:_cartPStatusIcon.is(".item_removefromcart")||_cartPStatusIcon.is(".remove_sale_btn");
    var _quantity=params.quantity;
    var _price=params.price;
    var _status=!_cartPStatusIcon?ProductStatuses.normal:_cartPStatusIcon.is(".oos_status")?ProductStatuses.oos:ProductStatuses.normal;
    var _wlId=params.wlId;
    var _wishListIcon=params.wishListIcon;
    var _isWlRemove=!_wishListIcon?false:_wishListIcon.is(".item_removefromwishlist");
    var _wlCounter=params.wlCounter;
    var _cartItemId=params.cartItemId;
    var _cartItemGroupId=params.cartItemGroupId;
    var _thumbnail=params.thumbnail;
    var _prodnamesuffix=params.prodnamesuffix;
    var _varpropchange=params.varpropchange;
    var _priceobj=params.priceobj;
    var _regularPriceObj=params.regularPriceObj;
    var _yousaveobj=params.yousaveobj;
    var THIS=this;
function objItemExists()
{
    return _objitem&&_objitem.length
}
function infoIconExists()
{
    return _infoIcon&&_infoIcon.length
}
function compareIconExists()
{
    return _compareIcon&&_compareIcon.length
}
function cartPStatusExists()
{
    return _cartPStatusIcon&&_cartPStatusIcon.length
}
function wishlistIconExists()
{
    return _wishListIcon&&_wishListIcon.length
}
function wishlistCounterExists()
{
    return _wlCounter&&_wlCounter.length
}
function wishListIdExists()
{
    return _wlId&&(_wlId>0)
}
function thumbailExists()
{
    return _thumbnail&&_thumbnail.length
}
function prodnamesuffixExists()
{
    return _prodnamesuffix&&_prodnamesuffix.length
}
function varpropchangeExists()
{
    return _varpropchange&&_varpropchange.length
}
function priceobjExists()
{
    return _priceobj&&_priceobj.length
}
function regularPriceObjExists()
{
    return _regularPriceObj&&_regularPriceObj.length
}
function yousaveobjExists()
{
    return _yousaveobj&&_yousaveobj.length
}
function cartItemGroupIdExists()
{
    return _cartItemGroupId&&_cartItemGroupId>0
}
this.CartItemGroupIdExists=cartItemGroupIdExists;
var _hasvariations=(prodnamesuffixExists())?true:false;
var _varprods=null;
var _varIsImageList=null;
var _cartrequest=null;
var _comparerequest=null;
var _wishlistrequest=null;
if(objItemExists())
{
    _objitem.slideUp=cartSlideUp
}
this.Hide=function Prd_Hide()
{
    if(!objItemExists())
    {
        return
    }
    _objitem.slideUp()
};
this.Remove=function Prd_Remove(fnCallBack)
{
    if(!objItemExists())
    {
        return
    }
    var LiItem=_objitem;
    _objitem.slideUp("normal",function()
    {
        LiItem.removeAttr("id");
        LiItem.remove();
        if(fnCallBack)
        {
            fnCallBack()
        }
    }
    )
};
this.GetSection=function()
{
    return _section
};
this.GetPid=function()
{
    return _pid
};
this.GetMasterPid=function()
{
    return _masterpid
};
this.GetPromotionMarketingGroupId=function()
{
    return _promotionMarketingGroupId
};
this.IsPromotionProduct=function Prd_IsPromotionProduct()
{
    return _promotionMarketingGroupId>0
};
this.Equals=function Prd_Equals(objProductFlags)
{
    return objProductFlags&&(objProductFlags.GetPid&&objProductFlags.GetPid()===THIS.GetPid())
};
this.IsInCompare=function()
{
    return _isInCompare
};
this.IsInCart=function()
{
    return _isInCart
};
this.IsWlRemove=function()
{
    return _isWlRemove
};
this.GetWishListID=function()
{
    return _wlId
};
this.GetQuantity=function()
{
    return _quantity
};
this.GetPrice=function()
{
    return _price
};
this.GetCartItemID=function()
{
    return _cartItemId
};
this.GetCartItemGroupID=function()
{
    return _cartItemGroupId
};
this.SetPrice=function Prd_SetPrice(prodprice)
{
    if(!priceobjExists())
    {
        return
    }
    _priceobj.text("$"+prodprice.toFixed(2));
    _price=prodprice
};
this.SetRegularPrice=function Prd_SetRegularPrice(prodprice,regularPrice)
{
    if(!regularPriceObjExists())
    {
        return
    }
    var priceSaleCssClass=salePriceCssClassBySection[_section]||"";
    if(prodprice&&regularPrice&&prodprice!=regularPrice)
    {
        _regularPriceObj.text("$"+regularPrice.toFixed(2)).show();
        _priceobj.addClass(priceSaleCssClass)
    }
    else
    {
        _regularPriceObj.hide();
        _priceobj.removeClass(priceSaleCssClass)
    }
};
this.SetYouSave=function Prd_SetYouSave(yousave)
{
    if(!yousaveobjExists())
    {
        return
    }
    params.yousaveobj.text("$"+yousave.toFixed(2))
};
this.SetThumbnailSRC=function Prd_SetThumbnailSRC(prodThumbSrc)
{
    if(!thumbailExists())
    {
        return
    }
    _thumbnail.attr("src",prodThumbSrc)
};
this.SetThumbnailBorder=function Prd_SetThumbnailBorder(onOff)
{
    if(thumbailExists()&&((this.GetSection()&sections.prodListing_grid)||(this.GetSection()&sections.prodListing_list)||(this.GetSection()&sections.reviewCategoryProducts)))
    {
        if(onOff)
        {
            _thumbnail.addClass("in_cart")
        }
        else
        {
            _thumbnail.removeClass("in_cart")
        }
    }
};
this.SetProdNameSuffix=function Prd_SetProdNameSuffix(prodnamesuff)
{
    if(!prodnamesuffixExists())
    {
        return
    }
    _prodnamesuffix.html(prodnamesuff)
};
this.HasVariations=function()
{
    return _hasvariations
};
this.InfoShowLoading=function()
{
    _infoIcon.addClass("cart_prod_inf_loading").removeClass("cart_prod_inf")
};
this.InfoHideLoading=function()
{
    _infoIcon.addClass("cart_prod_inf").removeClass("cart_prod_inf_loading")
};
this.AddToCompare=function Prd_AddToCompare()
{
    if(_comparerequest)
    {
        return
    }
    _comparerequest=Compare.add(_pid,THIS.CompareRequestFree)
};
this.RemoveFromCompare=function Prd_RemoveFromCompare()
{
    if(_comparerequest)
    {
        return
    }
    _comparerequest=Compare.remove(_pid,THIS.CompareRequestFree)
};
this.CompareRequestFree=function()
{
    _comparerequest=null
};
this.SwitchCompare=function Prd_SwitchCompare()
{
    if(!HTabs.initiated)
    {
        return
    }
    if(_isInCompare)
    {
        this.RemoveFromCompare()
    }
    else
    {
        this.AddToCompare()
    }
};
this.MarkCompared=function Prd_MarkCompared(isCompared)
{
    if(compareIconExists())
    {
        if(isCompared)
        {
            _compareIcon.addClass("item_removefromcompare").removeClass("item_addtocompare").attr("title",Icons.Titles.GetRemoveCompareTitle())
        }
        else
        {
            _compareIcon.addClass("item_addtocompare").removeClass("item_removefromcompare").attr("title",Icons.Titles.GetAddCompareTitle())
        }
    }
    _isInCompare=isCompared
};
this.AddToCart=function Prd_AddToCart(PID)
{
    var params=
    {
    };
    params[HeaderTabsExecInterface.ParamNames.Pid]=PID?PID:_pid;
    params[HeaderTabsExecInterface.ParamNames.Operation]=HeaderTabsExecInterface.Operations.AddItem;
    if(wishListIdExists())
    {
        params=$.extend(params,
        {
            WLId:_wlId
        }
        )
    }
    ProdCollection.AddProductToCart(params)
};
this.RemoveFromCart=function Prd_RemoveFromCart(cartItemID,PID)
{
    var ciID=cartItemID?cartItemID:_cartItemId;
    var prodid=PID?PID:_pid;
    ProdCollection.RemoveItemFromCart(ciID,prodid,_masterpid)
};
this.MarkCart=function Prd_MarkCart(IsInCart)
{
    this.SetThumbnailBorder(IsInCart);
    if(_section&sections.cartTabPromoProducts)
    {
        if(IsInCart)
        {
            if(cartPStatusExists())
            {
                _cartPStatusIcon.remove()
            }
        }
        else
        {
            var iconCont=_objitem.find("div.alacarte_cont_"+_pid);
            iconCont.empty().html(Icons.GetALaCarteIcon());
            _cartPStatusIcon=$(iconCont.find(".ala_carte_btn"));
            THIS.bindCartIconClick(_cartPStatusIcon)
        }
        _isInCart=IsInCart;
        return
    }
    if(!ProductStatuses.isInStock(_status)||!cartPStatusExists())
    {
        return
    }
    var messageInCart;
    if(IsInCart)
    {
        _cartPStatusIcon.addClass("item_removefromcart").removeClass("item_addtocart").attr("title",Icons.Titles.GetRemoveCartTitle());
        if(_section==sections.productpage)
        {
            var buttoncartparent=_cartPStatusIcon.parent();
            messageInCart=buttoncartparent.prev();
            _cartPStatusIcon.nextAll(".addToCartBigShipsFree").addClass("hidden");
            _cartPStatusIcon.nextAll(".expires_block").hide();
            if(!messageInCart.is("strong.addToCartItemInCartText"))
            {
                buttoncartparent.before('<strong class="addToCartItemInCartText">This item is in your cart</strong>');
                _cartPStatusIcon.after("<a href='"+EF.Constants.Links.Checkout+'\' class="addToCartButtonBigCheckout">Checkout</a>')
            }
            else
            {
                messageInCart.show();
                _cartPStatusIcon.nextAll(".addToCartButtonBigCheckout").show()
            }
        }
    }
    else
    {
        _cartPStatusIcon.addClass("item_addtocart").removeClass("item_removefromcart").attr("title",Icons.Titles.GetAddCartTitle());
        if(_section==sections.productpage)
        {
            messageInCart=_cartPStatusIcon.parent().prev();
            if(messageInCart.is("strong.addToCartItemInCartText"))
            {
                messageInCart.hide();
                _cartPStatusIcon.nextAll(".addToCartBigShipsFree").removeClass("hidden");
                _cartPStatusIcon.nextAll(".expires_block").show();
                _cartPStatusIcon.nextAll(".addToCartButtonBigCheckout").hide()
            }
        }
    }
    _isInCart=IsInCart
};
this.SetStatus=function Prd_SetStatus(pstatus,targetStatus)
{
    if(!cartPStatusExists()||ProductTargetStatuses.notAvailableForPurchase(targetStatus))
    {
        return
    }
    if(!ProductStatuses.isInStock(pstatus))
    {
        _status=ProductStatuses.oos;
        _cartPStatusIcon.removeClass("item_removefromcart").removeClass("item_addtocart").addClass("oos_status").attr("title",Icons.Titles.GetOOSTitle());
        if(this.GetSection()&sections.productpage)
        {
            _cartPStatusIcon.parent().parent().hide()
        }
    }
    else
    {
        _status=ProductStatuses.normal;
        _cartPStatusIcon.removeClass("oos_status");
        if(this.GetSection()&sections.productpage)
        {
            _cartPStatusIcon.parent().parent().show()
        }
    }
};
this.SetManufacturerData=function Prd_SetManufacturerData(proddata)
{
    var msrpBox=$("#dMSRP");
    if(proddata.manufacturerSuggestedRetailPrice!=0)
    {
        if(msrpBox.hasClass("hidden"))
        {
            msrpBox.removeClass("hidden")
        }
        $("#product_msrp").text(UTILS.Currency.formatAsCurrency(proddata.manufacturerSuggestedRetailPrice))
    }
    else
    {
        if(!msrpBox.hasClass("hidden"))
        {
            msrpBox.addClass("hidden")
        }
    }
    var releaseBox=$("#dMRD");
    if(proddata.manufacturerReleaseDate!="")
    {
        if(releaseBox.hasClass("hidden"))
        {
            releaseBox.removeClass("hidden")
        }
        $("#product_mrd").text(proddata.manufacturerReleaseDate)
    }
    else
    {
        if(!releaseBox.hasClass("hidden"))
        {
            releaseBox.addClass("hidden")
        }
    }
};
this.SwitchCart=function Prd_SwitchCart()
{
    if(!HTabs.initiated||!ProductStatuses.isInStock(_status))
    {
        return
    }
    if(_isInCart)
    {
        this.RemoveFromCart()
    }
    else
    {
        this.AddToCart()
    }
};
this.AddToWishList=function Prd_AddToWishList(PID)
{
    if(_wishlistrequest)
    {
        return
    }
    var prodId=PID?PID:_pid;
    if(this.GetSection()&sections.lingerieProductPage)
    {
        prodId=ProdPage.data.pid
    }
    var coordinates=_wishListIcon.parent().offset();
    var position=
    {
        left:coordinates.left-40,top:coordinates.top+_wishListIcon.parent().height()
    };
    var WL_addItemParams=
    {
        pid:prodId,endWLrequestDelegate:THIS.WishListRequestFree,showNewWlSection:null,SelectWLFn:null,position:position
    };
    _wishlistrequest=WishList.addItem(WL_addItemParams);
    WishList.WishListAddPopup.display().elementsContainer.find("div.add_wl_name_bl .wish_list_name_input").focus()
};
this.RemoveFromWishList=function Prd_RemoveFromWishList(PID,WLID)
{
    if(_wishlistrequest)
    {
        return
    }
    _wishlistrequest=WishList.removeItem(PID?PID:_pid,WLID?WLID:_wlId,THIS.WishListRequestFree,this.GetSection()&sections.wishList_tab)
};
this.WishListRequestFree=function()
{
    _wishlistrequest=null
};
this.MarkWishListAdd=function Prd_MarkWishListAdd(alreadyAdded)
{
    if(!wishlistIconExists())
    {
        return
    }
    if(alreadyAdded)
    {
        _wishListIcon.removeClass("add_wishlist").addClass("added_wishlist")
    }
    else
    {
        _wishListIcon.removeClass("added_wishlist").addClass("add_wishlist")
    }
};
this.SwitchWishList=function Prd_SwitchWishList()
{
    if(_isWlRemove)
    {
        this.RemoveFromWishList()
    }
    else
    {
        this.AddToWishList()
    }
};
this.SetWishListCounter=function Prd_SetWishListCounter(wlCount)
{
    if(!wishlistCounterExists())
    {
        return
    }
    if(wlCount>0)
    {
        var ends=wlCount>1?"s":"";
        _wlCounter.text("( "+wlCount+" user"+ends+" added this item )")
    }
    else
    {
        _wlCounter.text("")
    }
};
this.VariationSelector=
{
    varSelector:null,elementsContainer:null,addElement:function PR_VarSelector_addElement(element)
    {
        if(this.elementsContainer)
        {
            this.elementsContainer.append(element)
        }
    }
    ,reset:function PR_VarSelector_reset()
    {
        if(this.varSelector)
        {
            this.varSelector=null
        }
    }
};
this.SaveVarProds=function(varprods)
{
    _varprods=varprods
};
this.SetVarIsImageList=function(isimagelist)
{
    _varIsImageList=isimagelist
};
this.OpenVariations=function Prd_OpenVariations()
{
    if(!HTabs.initiated||THIS.VariationSelector.varSelector)
    {
        return
    }
    if(Requests.GetVariationsAjax)
    {
        Requests.GetVariationsAjaxAbort()
    }
    HTabs.loadings.vieweditems.show();
    var objItemCoordinates=_objitem.offset();
    var data=
    {
    };
    var requestOperation=HeaderTabsExecInterface.Operations.GetVariations;
    var requestUrl=Requests.headerExecUrl;
    if((this.GetSection()&sections.productPageKitProducts||this.GetSection()&sections.productPageDealsProducts)&&_promotionMarketingGroupId)
    {
        requestOperation=HeaderTabsExecInterface.Operations.GetPromoVariations;
        data.pmgrid=_promotionMarketingGroupId;
        requestUrl=Requests.promoExecUrl
    }
    data[HeaderTabsExecInterface.ParamNames.Operation]=requestOperation;
    data[HeaderTabsExecInterface.ParamNames.Pid]=_masterpid;
    data[HeaderTabsExecInterface.ParamNames.ThumbSize]=_thumbSize;
    data.t=(new Date()).getTime();
    Requests.GetVariationsAjax=$.getJSON(requestUrl,data,function(data)
    {
        if(THIS.VariationSelector.varSelector)
        {
            return
        }
        var propName=data.varPropertyName.toString().toLowerCase();
        var arrVarPropertyImage=[1,2,101,109,111,112,126,132,151];
        var IsImageList=$.inArray(data.varPropertyId,arrVarPropertyImage)>-1;
        THIS.SaveVarProds(data.varProducts);
        THIS.SetVarIsImageList(IsImageList);
        var varSelectorCont=$("<div />");
        var selectorPosClass=$.extend(
        {
            cssClass:"",position:
            {
                top:0,left:0
            }
        }
        ,sectionsSelectorPopUpsPositionClasses[_section]&&sectionsSelectorPopUpsPositionClasses[_section].variationSelector?sectionsSelectorPopUpsPositionClasses[_section].variationSelector:
        {
        }
        );
        THIS.VariationSelector.varSelector=new $.efTemplates.popUps.selector(
        {
            additionalBaseClasses:"col_thumbs "+selectorPosClass.cssClass,onCloseCallback:function()
            {
                THIS.VariationSelector.reset()
            }
            ,innerElements:varSelectorCont,displaySettings:
            {
                positionToAdd:
                {
                    top:objItemCoordinates.top+selectorPosClass.position.top,left:objItemCoordinates.left+selectorPosClass.position.left
                }
            }
        }
        );
        THIS.VariationSelector.elementsContainer=varSelectorCont;
        var var_propname=$('<div class="prod_instr">Click to select '+propName+":</div>");
        var varpropname_close_cont=$('<div class="cc varpropname_closecont"></div>');
        varpropname_close_cont.append(var_propname);
        THIS.VariationSelector.addElement(varpropname_close_cont);
        var var_list;
        if(IsImageList)
        {
            var_list=$('<ul class="cc"></ul>')
        }
        else
        {
            var_list=$('<ul class="cc vert_variat"></ul>')
        }
        for(var counter=0;counter<data.varProducts.length;counter++)
        {
            var varProduct=data.varProducts[counter];
            var isCurrentProd=varProduct.pid==_pid;
            var varStatusNormal=ProductStatuses.isInStock(varProduct.stockStatus);
            var varoneprod_cont=$('<li class="cond_col"></li>');
            var imgcursorclass=isCurrentProd?' class="varcurrimage" ':"";
            if(IsImageList)
            {
                var var_image=$('<img src="'+varProduct.selectorProdThumbSrc+'"alt="Out Handbags" width="50" height="50"'+imgcursorclass+'varindex="'+counter+'">');
                if(!isCurrentProd)
                {
var_image.click(function()
{
    THIS.ChangeCurrentProdFromVariation(this.getAttribute("varindex"))
}
)
}
var_image.appendTo(varoneprod_cont)
}
var varprodname;
if(isCurrentProd)
{
varprodname=$('<span class="selected_col">'+varProduct.productNameSuffix+"</span>")
}
else
{
varprodname=$('<span varindex="'+counter+'">'+varProduct.productNameSuffix+"</span>");
varprodname.click(function()
{
    THIS.ChangeCurrentProdFromVariation(this.getAttribute("varindex"))
}
)
}
varprodname.appendTo(varoneprod_cont);
if(!varStatusNormal)
{
$('<strong class="oos_colr">out of stock</strong>').appendTo(varoneprod_cont)
}
var_list.append(varoneprod_cont)
}
THIS.VariationSelector.addElement(var_list);
THIS.VariationSelector.varSelector.display();
Requests.GetVariationsAjax=null;
HTabs.loadings.vieweditems.hide()
}
)
};
this.CloseVariations=function Prd_CloseVariations()
{
if(THIS.VariationSelector.varSelector)
{
THIS.VariationSelector.varSelector.discard()
}
};
this.ChangeCurrentProdFromVariation=function Prd_ChangeCurrentProdFromVariation(varprodindex)
{
THIS.CloseVariations();
var vprod=_varprods[varprodindex];
THIS.ChangeCurrentProd(vprod);
if(params.varchangecallback)
{
params.varchangecallback(vprod)
}
};
this.ChangeCurrentProd=function Prd_ChangeCurrentProd(proddata)
{
_pid=EF.Utils.StringUtils.getInt(proddata.pid);
THIS.MarkCompared(proddata.isInCompare);
THIS.SetSale(proddata.salePromotion);
THIS.SetStatus(proddata.stockStatus,proddata.targetStatus);
THIS.MarkCart(proddata.isInCart);
THIS.MarkWishListAdd(proddata.isInWishList);
THIS.SetManufacturerData(proddata);
if(this.GetSection()&sections.productpage)
{
THIS.SetWishListCounter(proddata.wishListCounter)
}
if((this.GetSection()&sections.productPageKitProducts))
{
THIS.SetPrice(proddata.regularPrice)
}
else
{
if((this.GetSection()&sections.productPageDealsProducts))
{
THIS.SetPrice(proddata.perUnitPrice);
THIS.SetRegularPrice(proddata.perUnitPrice,proddata.regularPrice);
THIS.SetYouSave(proddata.regularPrice-proddata.perUnitPrice)
}
else
{
THIS.SetPrice(proddata.perUnitPrice);
THIS.SetRegularPrice(proddata.perUnitPrice,proddata.regularPrice)
}
}
THIS.SetProdNameSuffix(proddata.productNameSuffix);
if(_varIsImageList)
{
THIS.SetThumbnailSRC(proddata.prodThumbSrc)
}
};
this.SetSale=function(sale)
{
};
this.bindCartIconClick=function(cartIcon)
{
if(cartIcon&&cartIcon.length)
{
cartIcon.click(function(e)
{
    e.preventDefault();
    THIS.SwitchCart()
}
)
}
};
if(compareIconExists())
{
_compareIcon.click(function(e)
{
    e.preventDefault();
    THIS.SwitchCompare()
}
)
}
THIS.bindCartIconClick(_cartPStatusIcon);
if(wishlistIconExists())
{
_wishListIcon.click(function(e)
{
    e.preventDefault();
    THIS.SwitchWishList()
}
)
}
if(_hasvariations)
{
_varpropchange.click(function(e)
{
    e.preventDefault();
    THIS.OpenVariations()
}
)
}
var _quickInfoPopUp=null;
if(infoIconExists())
{
_infoIcon.click(function(e)
{
    e.preventDefault();
    if(_quickInfoPopUp&&!_quickInfoPopUp.data($.PrevBox.ids.data).readyToDisplay)
    {
        return
    }
    if(_quickInfoPopUp)
    {
        _quickInfoPopUp.Displaying()
    }
    else
    {
        THIS.InfoShowLoading();
        _quickInfoPopUp=$.PrevBox.make_tmpl(THIS.GetPid(),THIS.GetSection(),THIS.InfoHideLoading)
    }
}
)
}
}
var ProdCollection=
{
proditems:[],_cartrequest:null,_PageProductObj:null,init:function()
{
}
,add:function PrdColl_add(parameters)
{
var prodFlags=new ProductFlags(parameters);
this.proditems.push(prodFlags);
return prodFlags
}
,addCartProduct:function PrdColl_addCartProduct(parameters)
{
var params=$.extend(parameters,
{
    section:sections.cart
}
);
this.add(params)
}
,addPageProduct:function PrdColl_addPageProduct(parameters)
{
this.add(parameters)
}
,addPrevProduct:function PrdColl_addPrevProduct(parameters)
{
var params=$.extend(parameters,
{
    section:sections.previewbox
}
);
this.add(params)
}
,addComparisonProduct:function PrdColl_addComparisonProduct(parameters)
{
var params=$.extend(parameters,
{
    section:sections.comparison
}
);
this.add(params)
}
,addOnePageProduct:function PrdColl_addOnePageProduct(parameters)
{
var params=$.extend(parameters,
{
    section:sections.productpage
}
);
this._PageProductObj=this.add(params)
}
,addRequiredProduct:function PrdColl_addRequiredProduct(parameters)
{
var params=$.extend(parameters,
{
    section:sections.requiredproduct
}
);
this.add(params)
}
,addCartStatusProduct:function PrdColl_addCartStatusProduct(parameters)
{
this.add(parameters)
}
,addWishListProduct:function PrdColl_addWishListProduct(parameters)
{
var params=$.extend(parameters,
{
    section:sections.wishList_product
}
);
this.add(params)
}
,addWishListTabProduct:function PrdColl_addWishListTabProduct(parameters)
{
var params=$.extend(parameters,
{
    section:sections.wishList_tab
}
);
this.add(params)
}
,addLingerieProduct:function PrdColl_addLingerieProduct(parameters)
{
var params=$.extend(parameters,
{
    section:sections.lingerieProductPage
}
);
this.add(params)
}
,addReviewPageProduct:function PrdColl_addReviewPageProduct(parameters)
{
var params=$.extend(parameters,
{
    section:sections.review_page_product
}
);
this.add(params)
}
,addReviewCategoryProduct:function PrdColl_addReviewCategoryProduct(parameters)
{
var params=$.extend(parameters,
{
    section:sections.reviewCategoryProducts
}
);
this.add(params)
}
,addSearchResultProduct:function PrdColl_addSearchResultProduct(parameters)
{
var params=$.extend(parameters,
{
    section:sections.searchResultsProducts
}
);
this.add(params)
}
,addCompanyUpcommingProduct:function PrdColl_addCompanyUpcommingProduct(parameters)
{
var params=$.extend(parameters,
{
    section:sections.companiesUpcommingProducts
}
);
this.add(params)
}
,addCartTabPromoProduct:function PrdColl_addCartTabPromoProduct(parameters)
{
parameters=$.extend(parameters,
{
    section:sections.cartTabPromoProducts
}
);
this.add(parameters)
}
,addProductPageFantasyBasketIncludedProducts:function PrdColl_addProductPageFantasyBasketIncludedProducts(parameters)
{
parameters=$.extend(parameters,
{
    section:sections.productPageFantasyIncludedProducts
}
);
this.add(parameters)
}
,addProductPageDealsIncludedProducts:function PrdColl_addProductPageDealsIncludedProducts(parameters)
{
parameters=$.extend(parameters,
{
    section:sections.productPageDealsProducts
}
);
this.add(parameters)
}
,addProductPageProductsCompareWith:function PrdColl_addProductPageProductsCompareWith(parameters)
{
parameters=$.extend(parameters,
{
    section:sections.productsCompareWith
}
);
this.add(parameters)
}
,markCompared:function PrdColl_markCompared(Pid,isCompared)
{
var changedProduct=new ProductFlags(
{
    pid:Pid
}
);
this.each(function(pitem,i)
{
    if(pitem.Equals(changedProduct))
    {
        pitem.MarkCompared(isCompared)
    }
}
)
}
,MarkCartIcon:function PrdColl_MarkCartIcon(Pid,MasterPid,IsInCart)
{
var changedProduct=new ProductFlags(
{
    pid:Pid,masterpid:MasterPid
}
);
var indexToRemove=-1;
this.each(function(pitem,i)
{
    if(pitem.Equals(changedProduct))
    {
        if(pitem.GetSection()&sections.cart)
        {
            if(!IsInCart)
            {
                indexToRemove=i;
                if(HTabs.displayed_tab_index===HTabs.TabsIds.Cart)
                {
                    ProdCollection.proditems[i].Remove(HTabs.CartTab.CheckLastItemLine)
                }
            }
        }
        else
        {
            pitem.MarkCart(IsInCart)
        }
        if((pitem.GetSection()&sections.wishList_product)&&WishListAction)
        {
            WishListAction.MarkGiftRegistryIcon(IsInCart,Pid)
        }
    }
}
);
if(indexToRemove>-1)
{
    ProdCollection.RemoveItemFromCollection(indexToRemove)
}
}
,MarkWishListIcon:function PrdColl_MarkWishListIcon(pid,wishListId,action,isInWishList,fnCallBak)
{
var changedProduct=new ProductFlags(
{
    pid:pid
}
);
if(action=="remove")
{
    var pitem;
    for(var i=0;i<this.proditems.length;i++)
    {
        pitem=this.proditems[i];
        if(pitem.Equals(changedProduct))
        {
            if(!(pitem.GetSection()&sections.wishList_tab)&&!(pitem.GetSection()&sections.wishList_product))
            {
                ProdCollection.proditems[i].MarkWishListAdd(isInWishList)
            }
            else
            {
                if(wishListId===null||(wishListId!==null&&pitem.GetWishListID()==wishListId))
                {
                    if(HTabs.displayed_tab_index===HTabs.TabsIds.WishList&&pitem.GetSection()&sections.wishList_tab)
                    {
ProdCollection.proditems[i].Remove(function()
{
    HTabs.WishListTab.CheckLastItemLine()
}
)
}
else
{
if(fnCallBak)
{
    ProdCollection.proditems[i].Remove(fnCallBak)
}
else
{
    if(WishListAction!="undefined")
    {
ProdCollection.proditems[i].Remove(function()
{
    WishListAction.wl_items_count--;
    WishListAction.CheckListLastItem();
    WishListAction.WishListPrepare("This wish list is empty, please add an item to wish list.",pid)
}
)
}
else
{
ProdCollection.proditems[i].Remove()
}
}
}
ProdCollection.RemoveItemFromCollection(i);
i--
}
}
}
}
}
else
{
if(action=="add")
{
this.each(function(pitem,i)
{
    if(pitem.Equals(changedProduct)&&!(pitem.GetSection()&sections.wishList_tab)&&!(pitem.GetSection()&sections.wishList_product))
    {
        ProdCollection.proditems[i].MarkWishListAdd(isInWishList)
    }
}
)
}
}
}
,RemoveItemFromCollection:function PrdColl_RemoveItemFromCollection(itemindex)
{
var itemsupd=[];
this.each(function(pitem,i)
{
    if(i!=itemindex)
    {
        itemsupd.push(pitem)
    }
    else
    {
        pitem=null
    }
}
);
this.proditems=itemsupd
}
,RemoveCartItemsFromCollection:function PrdColl_RemoveCartItemsFromCollection()
{
var itemsupd=[];
this.each(function(pitem,i)
{
    if(pitem.GetSection()!=sections.cart)
    {
        itemsupd.push(pitem)
    }
}
);
this.proditems=itemsupd
}
,RemoveViewedItemsFromCollection:function PrdColl_RemoveViewedItemsFromCollection()
{
var itemsupd=[];
this.each(function(pitem,i)
{
    if(pitem.GetSection()!=sections.vieweditems)
    {
        itemsupd.push(pitem)
    }
}
);
this.proditems=itemsupd
}
,RemovePrevProductsItemsFromCollection:function PrdColl_RemovePrevProductsItemsFromCollection(pid)
{
var itemsupd=[];
this.each(function(pitem,i)
{
    if(pid)
    {
        if(pitem.GetSection()!=sections.previewbox||pitem.GetSection()==sections.previewbox&&pitem.GetPid()!=pid)
        {
            itemsupd.push(pitem)
        }
    }
    else
    {
        if(pitem.GetSection()!=sections.previewbox)
        {
            itemsupd.push(pitem)
        }
    }
}
);
this.proditems=itemsupd
}
,RemoveDynamicListingProductsFromCollection:function PrdColl_RemoveDynamicListingProductsFromCollection()
{
var itemsupd=[];
this.each(function(pitem,i)
{
    if(!(pitem.GetSection()&sections.prodListing_dynamic))
    {
        itemsupd.push(pitem)
    }
}
);
this.proditems=itemsupd
}
,RemoveSectionItemsFromCollection:function PrdColl_RemoveSectionItemsFromCollection(section)
{
var itemsupd=[];
this.each(function(pitem,i)
{
    if(!(pitem.GetSection()&section))
    {
        itemsupd.push(pitem)
    }
}
);
this.proditems=itemsupd
}
,RemoveWLItemsFromCollection:function PrdColl_RemoveWLItemsFromCollection(pid)
{
var itemsupd=[];
this.each(function(pitem,i)
{
    if(pitem.GetSection()&sections.wishList_product)
    {
        if(pid!==null&&pitem.GetPid()!=pid)
        {
            itemsupd.push(pitem)
        }
    }
    else
    {
        itemsupd.push(pitem)
    }
}
);
this.proditems=itemsupd
}
,RemoveWlTabItemsFromCollection:function PrdColl_RemoveWlTabItemsFromCollection()
{
var itemsupd=[];
this.each(function(pitem,i)
{
    if(!(pitem.GetSection()&sections.wishList_tab))
    {
        itemsupd.push(pitem)
    }
}
);
this.proditems=itemsupd
}
,RemoveCartPromoItemsFromCollection:function PrdColl_RemoveCartPromoItemsFromCollection(cartItemGroupId)
{
var itemsupd=[];
this.each(function(pitem,i)
{
    if(!(pitem.GetSection()&sections.cartTabPromoProducts)||pitem.GetCartItemGroupID()!=cartItemGroupId)
    {
        itemsupd.push(pitem)
    }
}
);
this.proditems=itemsupd
}
,ChangePageProduct:function PrdColl_ChangePageProduct(data)
{
if(!this._PageProductObj)
{
    return
}
var pageProductIndex=$.inArray(this._PageProductObj,this.proditems);
if(pageProductIndex>=0)
{
    this.proditems[pageProductIndex].ChangeCurrentProd(data)
}
}
,each:function PrdColl_each(fn)
{
for(var i=0;i<this.proditems.length;i++)
{
    fn(this.proditems[i],i)
}
}
,IncrementItemInCart:function PrdColl_IncrementItemInCart(cartItemID)
{
var params=
{
    cartItemId:cartItemID,op:HeaderTabsExecInterface.Operations.IncrementItem
};
ProdCollection.CartAction(params)
}
,DecrementItemInCart:function PrdColl_DecrementItemInCart(cartItemID)
{
var params=
{
};
params[HeaderTabsExecInterface.ParamNames.CartItemId]=cartItemID;
params[HeaderTabsExecInterface.ParamNames.Operation]=HeaderTabsExecInterface.Operations.DecrementItem;
ProdCollection.CartAction(params)
}
,CartAction:function PrdColl_CartAction(preparedParams)
{
if(ProdCollection._cartrequest==1)
{
    return
}
ProdCollection._cartrequest=1;
HTabs.loadings.cart.show();
$.ajax(
{
    type:"GET",url:Requests.headerExecUrl,cache:false,data:preparedParams,dataType:"json",success:function PRColl_CartAction_success(data)
    {
        var ck_fst_cart=GetCookie("fst_cart");
        if(ck_fst_cart)
        {
            $("div#fst_carted_msg").remove()
        }
        else
        {
            HTabs.OpenTab(HTabs.TabsIds.Cart);
            window.scrollTo(0,0)
        }
        ProdCollection.MarkCartIcon(data.addedCartItem.pid,0,true);
        Cart.updateCount(data.shortCartInfoData.productsCount);
        Cart.updateSubtotal(data.shortCartInfoData.subtotal,data.shortCartInfoData.savingsSubtotal);
        FreeShippingPromotionsManager.updatePromotions(Cart.Subtotal,data.freeShipping);
        HTabs.CartTab.NoProductsMessageCheck();
        if(HTabs.displayed_tab_index===HTabs.TabsIds.Cart)
        {
            if((preparedParams.op===HeaderTabsExecInterface.Operations.AddItem||preparedParams.op===HeaderTabsExecInterface.Operations.AddGiftRegistryItem)&&!Cart.ItemExistsInCart(data.addedCartItem.pid))
            {
                Cart.addproduct(data.addedCartItem,"slide",true,data.cartItemPromotion);
                HTabs.CartTab.CheckLastItemLine()
            }
            else
            {
                Cart.updateProductCount(data.addedCartItem)
            }
        }
        Cart.CartSectionNeedUpdate=true;
        HTabs.loadings.cart.hide();
        ProdCollection.CartRequestFree()
    }
}
)
}
,AddProductToCart:function PrdColl_AddProductToCart(parameters)
{
var defaultParams=
{
};
defaultParams[HeaderTabsExecInterface.ParamNames.Pid]=null;
defaultParams[HeaderTabsExecInterface.ParamNames.Operation]=HeaderTabsExecInterface.Operations.AddItem;
var additionalParams=
{
};
additionalParams[HeaderTabsExecInterface.ParamNames.Operation]=HeaderTabsExecInterface.Operations.AddItem;
parameters=$.extend(defaultParams,parameters,additionalParams);
ProdCollection.CartAction(parameters)
}
,RemoveItemFromCart:function PrdColl_RemoveItemFromCart(cartItemID,PID,masterpid)
{
if(ProdCollection._cartrequest==1)
{
    return
}
var requestData=
{
};
requestData[HeaderTabsExecInterface.ParamNames.Operation]=HeaderTabsExecInterface.Operations.RemoveItem;
requestData.t=(new Date()).getTime();
var additionalParams=
{
};
if(cartItemID)
{
    additionalParams[HeaderTabsExecInterface.ParamNames.CartItemId]=cartItemID
}
else
{
    additionalParams[HeaderTabsExecInterface.ParamNames.Pid]=PID
}
requestData=$.extend(requestData,additionalParams);
ProdCollection._cartrequest=1;
HTabs.loadings.cart.show();
$.getJSON(Requests.headerExecUrl,requestData,function PrdColl_RemoveItemFromCart_success(data)
{
    Cart.CartSectionNeedUpdate=true;
    Cart.updateCount(data.shortCartInfo.productsCount);
    Cart.updateSubtotal(data.shortCartInfo.subtotal,data.shortCartInfo.savingsSubtotal);
    FreeShippingPromotionsManager.updatePromotions(Cart.Subtotal,data.freeShipping);
    HTabs.CartTab.NoProductsMessageCheck();
    var ck_fst_cart=GetCookie("fst_cart");
    if(ck_fst_cart)
    {
        $("div#fst_carted_msg").remove()
    }
    ProdCollection.MarkCartIcon(PID,masterpid,false);
    HTabs.loadings.cart.hide();
    ProdCollection.CartRequestFree()
}
)
}
,CartRequestFree:function PrdColl_CartRequestFree()
{
ProdCollection._cartrequest=null
}
};
function customSlideToggle(speed,fnCallback)
{
    var currtab=$(this),onOpenZIndex,h,ht;
    if(this.isOpen)
    {
        PageHTMLFixes.ShowElements();
        h=currtab.height();
        currtab.css(
        {
            height:h,"z-index":7,"border-top-color":"#fff"
        }
        ).animate(
        {
            height:1
        }
        ,speed,function()
        {
            if(fnCallback)
            {
                fnCallback()
            }
            var thistab=$(this);
            thistab.hide();
            thistab.find(" > * ").hide()
        }
        );
        this.isOpen=false
    }
    else
    {
        PageHTMLFixes.HideElements();
        onOpenZIndex=currtab.is(".htcontent_underCaptions")?6:8;
        currtab.css(
        {
            "z-index":onOpenZIndex,"border-top-color":"#fff",height:""
        }
        ).hide();
        currtab.find(" > * ").show();
        ht=currtab.height();
        currtab.css("height",1).animate(
        {
            height:ht
        }
        ,speed,function()
        {
            if(fnCallback)
            {
                fnCallback()
            }
            currtab.css(
            {
                height:"auto","border-top-color":""
            }
            )
        }
        );
        this.isOpen=true
    }
}
function cartSlideUp(speed,fnCallback)
{
    var curritem=$(this);
    if($.browser.msie&&parseInt($.browser.version,10)<=7)
    {
        curritem.hide();
        if(fnCallback)
        {
            fnCallback()
        }
    }
    else
    {
        var h=curritem.height();
        curritem.height(h).animate(
        {
            height:1,marginTop:"-15px",opacity:0
        }
        ,speed,function()
        {
            $(this).hide();
            if(fnCallback)
            {
                fnCallback()
            }
        }
        )
    }
}
function cartSlideDown(speed,fnCallback)
{
    var curritem=$(this);
    if($.browser.msie&&parseInt($.browser.version,10)<=7)
    {
        curritem.show();
        if(fnCallback)
        {
            fnCallback()
        }
    }
    else
    {
        var h=curritem.height();
        curritem.css("opacity",0);
        curritem.css("height",1);
        if($.browser.msie)
        {
            h+=11
        }
        curritem.animate(
        {
            height:h,opacity:1
        }
        ,speed,function()
        {
            if(fnCallback)
            {
                fnCallback()
            }
        }
        )
    }
}
function moreCollapseSlideUp(speed,fnCallback)
{
    var currsection=$(this);
    var h=currsection.height();
    currsection.css("height",h);
    currsection.animate(
    {
        height:1,opacity:0
    }
    ,speed,function()
    {
        $(this).hide();
        if(fnCallback)
        {
            fnCallback()
        }
    }
    )
}
function moreCollapseSlideDown(speed,fnCallback)
{
    var currsection=$(this);
    currsection.hide().css("height","");
    var h=currsection.height();
    currsection.css("height",1);
    currsection.animate(
    {
        height:h,opacity:1
    }
    ,speed,function()
    {
        if(fnCallback)
        {
            fnCallback()
        }
    }
    )
}
$(document).ready(function HT_Manager_doc_ready()
{
    ShippingCalendar.init();
    HTabs.init();
    ProdCollection.init();
$("#lnkblog").click(function()
{
    window.open("/")
}
);
$("#lnkforum").click(function()
{
    RedirectTo(EF.Constants.Links.BagForum)
}
);
$("#lnkInterviews").click(function()
{
    RedirectTo(EF.Constants.Links.InterviewsHP)
}
);
$("#lnkliberator").click(function()
{
    RedirectTo("/bags-for-couples/")
}
)
}
);






////////////////////////////////////////////////////////////////////////////////////////

if(typeof EF.Utils.JSData=="undefined"||typeof EF.Utils.StringUtils=="undefined")
{
    throw new Error("JS Internal links requires EF.Utils.JSData and EF.Utils.StringUtils. Initialization failed.")
}
$(document).ready(function initJsLinks_doc_ready()
{
    var pseudoLinkPrefix="CULink_";
    var linkDataPrefix="CULinkData_";
    var targetBlankClass="target_blank";
    var pseudolinks=$("span[id^='"+pseudoLinkPrefix+"']");
pseudolinks.click(function jsPseudoLinkClick()
{
    var psLink=$(this);
    var sufix=psLink.attr("id").toString().substring(pseudoLinkPrefix.length);
    var endodedUrl=EF.Utils.JSData.get(linkDataPrefix+sufix);
    var decodedLink=EF.Utils.StringUtils.decodeLink(endodedUrl);
    if(!$(this).hasClass(targetBlankClass))
    {
        RedirectTo(decodedLink)
    }
    else
    {
        OpenNewWindow(decodedLink)
    }
}
)
}
);

$(document).ready(function()
{
    var headerGiftCardsBanner=new StringBuilder();
    headerGiftCardsBanner.add('<a href="/CataLog/Support/ContactUs.asp" class="gift-cards-url">&nbsp;</a>');
    var html=headerGiftCardsBanner.toString();
    $("#gift-cards-box").append(html)
}
);













///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////




(function($)
{
    var ThumbnailTooltipDefaults=
    {
        hideDelay:500,ttLeftOffset:-10,ttTopOffset:57
    };
    var maxzIndex=100;
    $.fn.ThumbnailTooltip=function(options)
    {
        $('<div class="upc_tooltips_cont" />').appendTo("body");
        settings=$.extend(
        {
        }
        ,ThumbnailTooltipDefaults,options||
        {
        }
        );
        var toolTipsArray=$(this);
this.each(function(index,currentTtContainer)
{
    var currentTooltip=$(this);
    var curretnTooltipBody=currentTooltip.find(".tt_cont");
    var thumbnailPosition=currentTooltip.offset();
    currentTooltip.data("ttBody",curretnTooltipBody);
    curretnTooltipBody.appendTo(".upc_tooltips_cont");
    if(currentTooltip.data("isInit"))
    {
        return
    }
    curretnTooltipBody.setPosition=setTooltipPosition;
    curretnTooltipBody.setPosition(thumbnailPosition);
    currentTooltip.showTooltip=showTT;
    currentTooltip.hideTooltip=hideTT;
    currentTooltip.bind("mouseenter",function()
    {
        currentTooltip.showTooltip()
    }
    ).bind("mouseleave",function()
    {
        currentTooltip.hideTooltip()
    }
    );
    curretnTooltipBody.bind("mouseenter",function()
    {
        currentTooltip.showTooltip()
    }
    ).bind("mouseleave",function()
    {
        currentTooltip.hideTooltip()
    }
    );
    currentTooltip.data("isInit",true)
}
);
$(window).resize(function()
{
toolTipsArray.each(function()
{
    var toolTipItem=$(this);
    var thumbnailPosition=toolTipItem.offset();
    toolTipItem.data("ttBody").setPosition(thumbnailPosition)
}
)
}
);
return this
};
var setTooltipPosition=function(thumbnailPosition)
{
var curretnTooltipBody=$(this);
var maxWidth=$("body").width();
curretnTooltipBody.css(
{
top:thumbnailPosition.top+settings.ttTopOffset,"z-index":maxzIndex--
}
);
if(maxWidth-thumbnailPosition.left>300)
{
curretnTooltipBody.css(
{
    left:thumbnailPosition.left+settings.ttLeftOffset
}
)
}
else
{
curretnTooltipBody.css(
{
    left:thumbnailPosition.left-240
}
)
}
};
var showTT=function()
{
var TooltipContainer=$(this);
$(".upc_tooltips_cont .tt_cont").hide();
$("#upcom_prods .prod_item .hovered").removeClass("hovered");
TooltipContainer.addClass("hovered");
if(TooltipContainer.data("Timer"))
{
clearTimeout(TooltipContainer.data("Timer"));
TooltipContainer.data("Timer",null)
}
$(this).data("ttBody").show()
};
var hideTT=function()
{
var TooltipContainer=$(this);
var ttBody=TooltipContainer.data("ttBody");
var tm=setTimeout(function()
{
    ttBody.hide();
    TooltipContainer.removeClass("hovered")
}
,ThumbnailTooltipDefaults.hideDelay);
TooltipContainer.data("Timer",tm)
}
}
)(jQuery);
$(function homePageCompaniesCorner_doc_ready()
{
    var loading=$("div[id^=CompanyCornerLoading]").removeClass("hdi");
    $.ajax(
    {
        cache:false,url:"/Default.asp",dataType:"json",success:function homePageCompaniesCorner_success(data)
        {
            if(data.status==ajaxResultStatus.success)
            {
                $("#hp_companies_corner").append(data.html);
                $("#upcom_prods .prod_tt").ThumbnailTooltip()
            }
        }
        ,complete:function homePageCompaniesCorner_complete()
        {
            loading.addClass("hdi")
        }
    }
    )
}
);
function HomePageTabTitles(arrTitles,activeTabIndex,itemAdditionalCssClass)
{
    activeTabIndex=activeTabIndex||1;
    this.getHtml=function HPTT_getHtml()
    {
        if(!arrTitles||!arrTitles.length)
        {
            return""
        }
        var resultTabs=new StringBuilder();
        resultTabs.add('<ul class="bot_tabs cc ').add(HomePageTabTitles.getTabBaseClass()).add('">');
        for(var i=0;i<arrTitles.length;i++)
        {
            resultTabs.add('<li class="');
            if(i==0)
            {
                resultTabs.add(" frst_tab")
            }
            if(i+1==activeTabIndex)
            {
                resultTabs.add(" active")
            }
            if(itemAdditionalCssClass)
            {
                resultTabs.add(" ").add(itemAdditionalCssClass)
            }
            resultTabs.add('">').add("<div");
            if(i==0)
            {
                resultTabs.add(' class="brd_right_pink"')
            }
            resultTabs.add(">");
            if(i+1!=activeTabIndex)
            {
                resultTabs.add('<a href="#" onclick="return false">').add(arrTitles[i].toString()).add("</a>")
            }
            else
            {
                resultTabs.add('<span class="bottom_arrow">&nbsp;</span>').add("<h3>").add(arrTitles[i].toString()).add("</h3>")
            }
            resultTabs.add("</div>").add("</li>")
        }
        resultTabs.add("</ul>");
        return resultTabs.toString()
    }
}
HomePageTabTitles.getTabBaseClass=function HPTT_getTabBaseClass()
{
    return"hptabs"
};
banner=function banner(obj,tbGroupName,tbIndex)
{
    var obanner=obj;
    var banid=obanner.attr("id");
    this.sameHeightTagGroup=obanner.is(".sameHeightTabGroup");
    this.sameHeightTagGroupContent=obanner.is(".sameHeightTabGroupContent");
    this.tabGroupName=function()
    {
        return tbGroupName
    };
    this.getHeight=function()
    {
        return obanner.find(".gd_cont_body").height()
    };
    this.setHeight=function(height)
    {
        obanner.find(".gd_cont_body").height(height)
    };
    this.getMaxHeightContent=function()
    {
        return obanner.find(".tabContentContainer").height()
    };
    this.setHeightContent=function(height)
    {
        obanner.find(".sameHeightTabContent").height(height-15)
    };
    this.tabIndex=function()
    {
        return tbIndex
    };
    this.Hide=function()
    {
        obanner.hide()
    };
    this.Show=function()
    {
        obanner.show()
    };
    this.GetId=function()
    {
        return banid
    }
};
bannavig=function bannavig(navItem,Index,TabSetName)
{
    var navitem=navItem;
    var tabSetName=TabSetName;
    var index=Index;
    this.GetIndex=function()
    {
        return index
    };
    this.ActivateTab=function()
    {
        Tabs.showTab(tabSetName,index)
    };
    navitem.onclick=this.ActivateTab
};
function Tabs()
{
}
Tabs.tabSets=
{
};
Tabs.tabSetIndex=
{
};
Tabs.AddBanner=function(tabsetname,obj)
{
    Tabs.tabSets[tabsetname].push(obj)
};
Tabs.showTab=function tbs_showTab(tabsetname,index)
{
    if(typeof Tabs.tabSetIndex[tabsetname]==="undefined")
    {
        Tabs.tabSetIndex[tabsetname]=0
    }
    activeIndex=Tabs.tabSetIndex[tabsetname];
    if(activeIndex==index)
    {
        return
    }
    Tabs.tabSets[tabsetname][activeIndex].Hide();
    Tabs.tabSets[tabsetname][index].Show();
    Tabs.tabSetIndex[tabsetname]=index
};
Array.max=function(array)
{
    return Math.max.apply(Math,array)
};
Array.min=function(array)
{
    return Math.min.apply(Math,array)
};
Tabs.getBanners=function TB_getBanners(tabsetname)
{
    var idPrefixOfTab="tab_"+tabsetname+"_";
    var tabs=$("div[id^='"+idPrefixOfTab+"']");
    return tabs
};
function inittabs(tabsetname)
{
    Tabs.tabSets[tabsetname]=[];
    var tabs=Tabs.getBanners(tabsetname);
    var tabsnumber=tabs.length;
tabs.each(function(i,elem)
{
    var bannertmp=$(elem);
    var bannerNavig=bannertmp.find("ul.hptabs li");
    var navig=[];
    for(var k=0;k<bannerNavig.length;k++)
    {
        navig[k]=new bannavig(bannerNavig[k],k,tabsetname)
    }
    obanner=new banner(bannertmp,tabsetname,i);
    Tabs.AddBanner(tabsetname,obanner)
}
);
if(tabsnumber<=0)
{
    return
}
if(Tabs.tabSets[tabsetname][0].sameHeightTagGroup)
{
    var Heights=[];
    $.each(Tabs.tabSets[tabsetname],function()
    {
        Heights.push(this.getHeight())
    }
    );
    var MaxHeight=Array.max(Heights);
    $.each(Tabs.tabSets[tabsetname],function()
    {
        this.setHeight(MaxHeight)
    }
    )
}
if(Tabs.tabSets[tabsetname][0].sameHeightTagGroupContent)
{
    var Heights=[];
    $.each(Tabs.tabSets[tabsetname],function()
    {
        Heights.push(this.getMaxHeightContent())
    }
    );
    var MaxHeight=Array.max(Heights);
    $.each(Tabs.tabSets[tabsetname],function()
    {
        this.setHeightContent(MaxHeight)
    }
    )
}
for(var j=1;j<tabsnumber;j++)
{
    Tabs.tabSets[tabsetname][j].Hide()
}
return tabs
}
initGuaranties=function initGuaranties()
{
var popUpElements=new Array("All US orders get $5.95 flat standard shipping on either UPS Ground or USPS Priority regardless order's size.","We ship in plain brown boxes. And we charge under WM so nobody will know whose charge on your banking statement.","We will provide you with Return shipping label for Free.");
var ourGuarElements=$("div.our_garanties_base div.guar_pos div.pop_up_link");
for(var i=0;i<popUpElements.length;i++)
{
$(ourGuarElements[i]).append('<span class="guar_term">'+popUpElements[i]+"</span>").children("img").hover(function()
{
    try
    {
        $(this).prev().css(
        {
            backgroundColor:"#f0c"
        }
        );
        $(this).next().show()
    }
    catch(e)
    {
    }
}
,function()
{
    try
    {
        $(this).prev().css(
        {
            backgroundColor:"#9c0"
        }
        );
        $(this).next().hide()
    }
    catch(e)
    {
    }
}
)
}
};

initMainBannerLinks=function initMainBannerLinks()
{
$("#outhandbag-off-link").click(function()
{
    RedirectTo("/CataLog/Product/Product.asp")
}
);
$("#designers-imports-link").click(function()
{
    RedirectTo("/CataLog/Product/Product.asp?CategoryID=1&SID=8")
}
);
$("#gift-handbag-link").click(function()
{
    RedirectTo("/CataLog/Product/Product.asp")
}
);
$("#fleshlight_masturbator_link").click(function()
{
    RedirectTo("/CataLog/Product/Product.asp")
}
);
$("#cock_rings_link").click(function()
{
    RedirectTo("/CataLog/Product/Product.asp")
}
);
$("#cock_rings_link2").click(function()
{
    RedirectTo("/CataLog/Product/Product.asp")
}
);
$("#lnkhpTabPromos_See_all").click(function()
{
    RedirectTo(EF.Constants.Links.AllPromotions)
}
);
$("#light_bdsm_link").click(function()
{
    RedirectTo("/CataLog/Product/Product.asp")
}
);
$("#lnk_guide_materials").click(function()
{
    RedirectTo("/CataLog/Product/Product.asp")
}
);
$("#lnk_guide_vibrators_type").click(function()
{
    RedirectTo("/CataLog/Product/Product.asp")
}
);
$("#lnk_guide_vibrators_care").click(function()
{
    RedirectTo("/CataLog/Product/Product.asp")
}
);
$("#lnk_guide_anal_beads").click(function()
{
    RedirectTo("/CataLog/Product/Product.asp")
}
);
$("#lnk_guide_anal_prostate").click(function()
{
    RedirectTo("/CataLog/Product/Product.asp")
}
);
$("#lnk_guide_anal_lubes").click(function()
{
    RedirectTo("/CataLog/Product/Product.asp")
}
);
$("#lnk_gifts_her").click(function()
{
    RedirectTo("/CataLog/Product/Product.asp")
}
);
$("#lnk_gifts_him").click(function()
{
    RedirectTo("/CataLog/Product/Product.asp")
}
);
$("#lnk_romantic_nights").click(function()
{
    RedirectTo("/CataLog/Product/Product.asp")
}
)
};
function initHPTabs()
{
    inittabs("banner");
    inittabs("bottom");
    var communityTabsName="community";
    var interviewsNeedLoad=parseBoolean(EF.Utils.JSData.get("jsdInterviewsTabNeedLoad"));
    if(interviewsNeedLoad)
    {
        var communityLoading=$("#hpCommunityLoadingCont").show();
        var communityTabs=Tabs.getBanners(communityTabsName);
        communityTabs.hide();
function processError(logError)
{
    communityTabs.show();
    inittabs(communityTabsName)
}
$.ajax(
{
    url:"/Default.asp",dataType:"json",cache:false,success:function hpTabInterviews_success(data)
    {
        if(data.status==ajaxResultStatus.error)
        {
            processError()
        }
        else
        {
            var additionalTabTitlesClass="comm_updt_tab";
            var interviewsTabTitles=new HomePageTabTitles(data.scTabsTitles,1,additionalTabTitlesClass);
            var interviewsTabContent=new StringBuilder();
            interviewsTabContent.add('<div id="tab_community_0" class="comm_updt">').add(interviewsTabTitles.getHtml()).add(data.interviewsHtml).add("</div>");
            var $interviewsTabContent=$(interviewsTabContent.toString()).hide();
            var hpCommunityBaseContainer=$("#hpCommunityBaseContainer");
            hpCommunityBaseContainer.prepend($interviewsTabContent);
communityTabs.each(function(i,tab)
{
    var tabTitles=new HomePageTabTitles(data.scTabsTitles,i+2,additionalTabTitlesClass);
    var currTab=$(tab);
    currTab.find("ul."+HomePageTabTitles.getTabBaseClass()).remove();
    currTab.prepend(tabTitles.getHtml())
}
);
var communityLoadedTabs=inittabs(communityTabsName);
communityLoadedTabs.eq(0).show();
$(document).trigger(EF.CommentForm.eventNames.bindOnClick,[hpCommunityBaseContainer])
}
}
,error:function hpTabInterviews_error()
{
processError()
}
,complete:function hpTabInterviews_complete()
{
communityLoading.hide()
}
}
)
}
else
{
inittabs(communityTabsName)
}
}
$(document).ready(function index_doc_ready()
{
    initMainBannerLinks();
    initGuaranties();
    initHPTabs();
$("#BestForm div.bestsellprods div").hover(function()
{
    $(this).css("z-index","2");
    $(this).children("p").css("border","1px solid #9CCE00");
    $(this).find(".desc").css("display","block")
}
,function()
{
    $(this).css("z-index","1");
    $(this).children("p").css("border","1px solid #FFF");
    $(this).find(".desc").css("display","none")
}
);
var bannerContent=$("#banner-content");
var bannerBox=$("#banner-box");
if(bannerBox.width()>700)
{
    bannerContent.parents("#banner-box").addClass("wide")
}
if(bannerBox.width()>900)
{
    bannerContent.parents("#banner-box").addClass("wider")
}
}
);
var SpotLight=
{
data:
{
}
,bannersPerPage:4,current_position:0,precacheBanners:function()
{
    SpotLight.precachedImages=[];
    var bnr;
    for(var i=0;i<this.data.banners.length;i++)
    {
        bnr=new Image();
        bnr.src=this.data.banners[i].imageRelUrl;
        SpotLight.precachedImages.push(bnr)
    }
}
,updatePrevNextLinks:function(prev_next_cont)
{
    var prev=prev_next_cont.find(".prev");
    var next=prev_next_cont.find(".next");
    var activeClass="active";
    next.add(prev).addClass(activeClass);
    if(!(SpotLight.current_position<SpotLight.data.banners.length-SpotLight.bannersPerPage))
    {
        prev.removeClass(activeClass)
    }
    if(!(SpotLight.current_position>0))
    {
        next.removeClass(activeClass)
    }
}
,redrawBanners:function(spotlight_cont,prev_next_cont)
{
    for(var i=1;i<=SpotLight.bannersPerPage;i++)
    {
        var currBnr=spotlight_cont.find(".banner"+i);
        var bnrData=SpotLight.data.banners[SpotLight.current_position+i-1];
        if(bnrData)
        {
            var navUrl=bnrData.navigateRelUrl;
            var img=currBnr.get(0);
            if(img)
            {
(function()
{
    var url=navUrl;
    img.onclick=function()
    {
        if(url)
        {
            window.location=url
        }
        return false
    };
    img.src=bnrData.imageRelUrl;
    img.alt=bnrData.alternateText
}
)()
}
}
}
SpotLight.updatePrevNextLinks(prev_next_cont)
}
,init:function(data)
{
this.data=data;
this.precacheBanners();
this.current_position=this.data.banners.length-this.bannersPerPage;
var spotlight=$("div.spotlight");
var prev_next_cont=spotlight.find(".prev-next-cont");
var bnrs=spotlight.find(".bnrs");
SpotLight.redrawBanners(spotlight,prev_next_cont);
var seeAllNavUrl=SpotLight.data.seeAll.navigateUrl;
if(seeAllNavUrl)
{
spotlight.find(".see-all").click(function()
{
    window.location=seeAllNavUrl
}
)
}
prev_next_cont.find(".next").click(function()
{
    if(SpotLight.current_position>0)
    {
        SpotLight.current_position--;
        SpotLight.redrawBanners(spotlight,prev_next_cont)
    }
    return false
}
);
prev_next_cont.find(".prev").click(function()
{
    if(SpotLight.current_position<SpotLight.data.banners.length-SpotLight.bannersPerPage)
    {
        SpotLight.current_position++;
        SpotLight.redrawBanners(spotlight,prev_next_cont)
    }
    return false
}
)
}
};
$(function()
{
    $.ajax(
    {
        type:"GET",cache:false,url:"/hpControls/SpotLight/DataLoader.ashx",dataType:"json",success:function(data)
        {
            if(data)
            {
                SpotLight.init(data)
            }
        }
    }
    )
}
);
EF.CommentForm=
{
    eventNames:
    {
        bindOnClick:"bindOnClickEventName"
    }
};
$(document).bind(EF.CommentForm.eventNames.bindOnClick,function EfCommentForm_bindOnClick(ev,context)
{
$("input.hdn_comm_form_link",context).each(function(item)
{
    var url=EF.Utils.StringUtils.decodeLink($(this).val());
    var hdnId=$(this).attr("id");
    var elemToBind="lnk"+hdnId.substring(3);
$("#"+elemToBind).click(function()
{
    if(url)
    {
        window.location=url
    }
}
)
}
)
}
).ready(function efCommentForm_doc_ready()
{
    $(document).trigger(EF.CommentForm.eventNames.bindOnClick);
$("input.comm_form_ctrl_id").each(function()
{
    $("#"+$(this).val()+"_bln_cnt").efTooltip()
}
);
setScrollPosition()
}
);
function filterResults(n_win,n_docel,n_body)
{
    var n_result=n_win?n_win:0;
    if(n_docel&&(!n_result||(n_result>n_docel)))
    {
        n_result=n_docel
    }
    return n_body&&(!n_result||(n_result>n_body))?n_body:n_result
}
function saveScrollPosition()
{
    var scrollY=filterResults(window.pageYOffset?window.pageYOffset:0,document.documentElement?document.documentElement.scrollTop:0,document.body?document.body.scrollTop:0);
    $("#hdnScrollPosition").val(scrollY)
}
function setScrollPosition()
{
    window.scrollTo(0,$("#hdnScrollPosition").val())
}
function validateUserInput(controlId,checkFeedbackEmptyFields)
{
    saveScrollPosition();
    if(checkFeedbackEmptyFields)
    {
        if(!checkFeedbackEmptyFileds())
        {
            return false
        }
    }
    if($("#"+controlId+"_hdnValidateClient").val()=="1")
    {
        var iframe=document.getElementById(controlId+"usayti");
        var textArea=$("#"+controlId);
        var userInput=textArea.val();
        var r=new RegExp("</?\\w[\\w\\d]*[^>]*>");
        if(iframe!=null)
        {
            iframe.contentWindow.document.body.innerText=userInput
        }
        if(r.exec(userInput)==null&&userInput.indexOf("<")<0)
        {
            return true
        }
        else
        {
            $("span.cf_error_lbl").hide();
            $("span.cf_error_lbl").html("<br>Tags are not permitted.");
            $("span.cf_error_lbl").show();
            return false
        }
    }
    else
    {
        return true
    }
}
function changeSpellStatus(controlId)
{
    if(validateUserInput(controlId.id))
    {
        if($("#"+controlId.id+"_cbSpellChecker").attr("checked"))
        {
            $("#"+controlId.id+"_hdnSpellStatus").val("1")
        }
        else
        {
            $("#"+controlId.id+"_hdnSpellStatus").val("0")
        }
        saveScrollPosition();
        $("#"+controlId.id+"_isSpellPostback").val("1");
        $("div#comment_form_"+controlId.id).parents("form").submit()
    }
    else
    {
        if($("#"+controlId.id+"_cbSpellChecker").attr("checked"))
        {
            $("#"+controlId.id+"_cbSpellChecker").attr("checked",false)
        }
        else
        {
            $("#"+controlId.id+"_cbSpellChecker").attr("checked",true)
        }
    }
}
function checkFeedbackEmptyFileds()
{
    var r=true;
    if($("#txtName").length&&$.trim($("#txtName").val())=="")
    {
        $("#lblNameRequired").show();
        r=false
    }
    else
    {
        $("#lblNameRequired").hide()
    }
    if($("#commentForm").length&&$.trim($("#commentForm").val())=="")
    {
        $("span.cf_error_lbl").show();
        $("span.cf_error_lbl").html("<br>Comment is required.");
        r=false
    }
    else
    {
        $("span.cf_error_lbl").hide()
    }
    return r
};