function layer_media_init_func(layerid,params){
var $curlayer=$('#'+layerid), _duration = -1;
$('#wp-media-image_'+layerid).off('mouseover').mouseover(function (event) {
if($curlayer.data('wopop_effects') && $curlayer.hasClass('now_effecting')){
return;
}
var effect=$curlayer.data('wopop_imgeffects');
var $this=$(this);
var running=$this.data('run');
if(effect && running!=1){
var effectrole = effect['effectrole'];
var dset = effect['dset'];
var effectel=$curlayer;
if(effectrole=='dantu' && effect['effect']=="effect.rotation"){
$curlayer.data('iseffectrotate',true);
effectel=$curlayer.find('.wp-media_content');
}else if(effectrole !='dantu' && dset && dset['effect']=="effect.rotation"){
$curlayer.data('iseffectrotate',true);
effectel=$curlayer.find('.wp-media_content');
}else if(effect['effect_on_img'] && effectrole=='dantu' && effect['effect']=="effect.zoomin"){
effectel=$curlayer.find('img');
}
effectel.setimgEffects(true,effect,1);
if(effectrole !='dantu' && typeof(dset)!="undefined"){
// fixed bug#5949
if ($curlayer.hasClass('now_effecting')) {
_duration = dset.duration;
$curlayer.wopop_effect_command('stop');
}
var temp_effect = {};
temp_effect['type'] = effect['type'];
temp_effect['effectrole'] = 'dantu';
temp_effect['effect'] = effect['dset']['effect'];
temp_effect['duration'] = effect['dset']['duration'];
effectel.setimgEffects(true,temp_effect,1);
}
}
});
// fixed bug#5949
$curlayer.mouseleave(function(e){
var $target = $(this), _tt = parseInt(_duration);
if (!isNaN(_tt) && _tt >= 0 && !$target.hasClass('now_effecting')) {
var timer = setTimeout(function(){
$target.showEffects();
_duration = -1;
clearTimeout(timer);
}, _tt);
}
});
var imgover=$('#wp-media-image_'+layerid).closest('.img_over');
imgover.children('.imgloading').width(imgover.width()).height(imgover.height());
imgover.css('position','relative');
$('#'+layerid).layer_ready(function(){
layer_img_lzld(layerid);
});
if(!params.isedit && !params.has_effects){
if ($('#'+$('#'+layerid).attr('fatherid')).attr('type') == 'pop_up') {
$('#wp-media-image_'+layerid).attr('src',params.img_src);
$('#wp-media-image_'+layerid).parents('.img_over:first').children('.imgloading').remove();
}
}
};
function wp_getdefaultHoverCss(layer_id)
{
var getli='';
var geta='';
var cssstyle='';
var navStyle = wp_get_navstyle(layer_id,'datasty_');
if(navStyle.length > 0)
{
var patt1 = new RegExp("#nav_layer[0-9|a-z|A-Z]+\\s+li\.wp_subtop:\\s*hover\\s*{[^}]+}",'i');
var tmp = patt1.exec(navStyle);
if(tmp)
{
var tmp1 = tmp[0].match(/{[^}]+}/)[0];
tmp1=tmp1.replace('{','').replace('}','');
getli=getli+tmp1;
}
patt1 = new RegExp("#nav_layer[0-9|a-z|A-Z]+\\s+li\.wp_subtop>a:\\s*hover\\s*{[^}]+}",'i');
tmp = patt1.exec(navStyle);
if(tmp)
{
var tmp2 = tmp[0].match(/{[^}]+}/)[0];
tmp2=tmp2.replace('{','').replace('}','');
geta=geta+tmp2;
}
}
navStyle = wp_get_navstyle(layer_id,'datastys_');
var getlia='';
if(navStyle.length > 0)
{
var layidlow=('#nav_'+layer_id+' li.wp_subtop>a:hover').toLowerCase();
if( ('a'+navStyle).toLowerCase().indexOf(layidlow)>0){
var parstr="#nav_"+ layer_id +" li.wp_subtop>a:hover";
getlia = navStyle.split(new RegExp(parstr,"i"));
var combilestr='';
for(key in getlia){
var ervervalue='';
if(('a'+getlia[key]).indexOf('{')<3 && ('a'+getlia[key]).indexOf('{')>0 ){
var parvalue=getlia[key].split('{');
if(('a'+parvalue[1]).indexOf('}')>0){
ervervalue=parvalue[1].split('}')[0];
}
}
combilestr=combilestr+ervervalue;
}
geta=geta+combilestr;
}
layidlow=('#nav_'+layer_id+' li.wp_subtop:hover').toLowerCase();
if( ('a'+navStyle).toLowerCase().indexOf(layidlow)>0){
var parstr="#nav_"+ layer_id +" li.wp_subtop:hover";
getlia = navStyle.split(new RegExp(parstr,"i"));
var combilestrs='';
for(var key in getlia){
var ervervalue='';
if(('a'+getlia[key]).indexOf('{')<3 && ('a'+getlia[key]).indexOf('{')>0 ){
var parvalue=getlia[key].split('{');
if(('a'+parvalue[1]).indexOf('}')>0){
ervervalue=parvalue[1].split('}')[0];
}
}
combilestrs=combilestrs+ervervalue;
}
getli=getli+combilestrs;
}
}
if(getli.length>0){
getli="#"+layer_id+" li.lihover{"+getli+"} ";
}
if(geta.length>0){
geta="#"+layer_id+" li>a.ahover{"+geta+"} ";
}
cssstyle=getli+geta;
if(cssstyle.length>0 ){
cssstyle=""+cssstyle+"";
cssstyle=cssstyle.replace(/[\r\n]/g, " ").replace(/\s+/g, " ");
var doms=$('#'+layer_id);
var oldcssstyle=doms.data('get_layer_hover_css');
if(oldcssstyle != cssstyle){
$("#hover"+layer_id+"").text(""+cssstyle+"");
doms.data('get_layer_hover_css',cssstyle);
get_plugin_css("H"+ layer_id +"H",cssstyle);
}
}
}
function wp_showdefaultHoverCss(layer_id){
var layertype=$('#'+layer_id).attr('type');
if(layertype && window['wp_showdefaultHoverCss_'+layertype]){
return window['wp_showdefaultHoverCss_'+layertype](layer_id);
}
return false;
}
function wp_showdefaultHoverCss_new_navigation(layer_id)
{
var plugin_name=$("#"+layer_id).attr('type');
var hover=$("#"+layer_id).find('.nav1').attr('hover');
if(hover!=1){ return;}
wp_getdefaultHoverCss(layer_id);
var n=0;
var rootpid=0;
if(plugin_name=='new_navigation'){
var page_id=$("#page_id").val();
rootpid=$("#page_id").attr("rpid")*1;
}else{
var page_id=$('#'+layer_id+'').find(".default_pid").html();
if(page_id==0 || page_id.length==0){
page_id=$('#nav_'+layer_id+'').children('li:first').attr('pid');
}
}
$('#nav_'+layer_id+'').children('li').each(function(){
var type_pid=$(this).attr('pid');
if( (type_pid==page_id ) && plugin_name=='new_navigation' ){
$(this).addClass("lihover").children('a').addClass("ahover");
}
if(type_pid==rootpid && rootpid>0){
$(this).addClass('rootlihover');
}
var t_bool = false;
var whref = window.location.href.replace(/^https?:/,'').replace(/&brd=1$/,'');;
var t_href= $(this).find("a").attr("href").replace(/^https?:/,'').replace(/&brd=1$/,'');;
var $nav1 = $('#'+layer_id).children('.wp-new_navigation_content').children('.nav1');
var sethomeurl = $nav1.attr("sethomeurl");
if(sethomeurl) sethomeurl = sethomeurl.replace(/^https?:/,'');
var cururl = window.location.href.replace(/^https?:/,'');
if( (whref.indexOf("&menu_id=")>0 && t_href.indexOf("id=")>0 && whref.indexOf(t_href)>-1) || t_href == sethomeurl && sethomeurl.indexOf(cururl)>-1 ){
t_bool = true;
}
if(whref == t_href || whref== t_href+"&brd=1" || t_bool){ $(this).addClass("lihover").children('a').addClass("ahover"); }
n++;
});
if(!$('#nav_'+layer_id+'').children('li.lihover').length){
$('#nav_'+layer_id+'').children('li.rootlihover:first').addClass("lihover").children('a').addClass("ahover");
}
$('#nav_'+layer_id+' .rootlihover').removeClass('rootlihover');
}
function wp_nav_addMoreButton(layer_id)
{
var type_style=$("#"+layer_id).find('.wp-new_navigation_content').attr('type');
var index=0;
var exec=false;
var func=function(){
if(!$('#scroll_container #'+layer_id+':visible').length){
$("#"+layer_id).unbind('more_button_event').bind('more_button_event',function(){
index=0;
func();
})
if(index<=20){
setTimeout(func,500);
index++;
}
return;
}
if(exec) return;
$("#"+layer_id).unbind('more_button_event');
exec=true;
var firstLiTop = 0;
var hasMore = false;
$('#scroll_container #nav_'+layer_id).children('li.wp_subtop').each(function(i){
if(i == 0) {firstLiTop = $(this).offset().top;return true;}
if($(this).offset().top > firstLiTop)
{
if(i==1){
var twice=$("#"+layer_id).data('twiced');
if(!twice){
$("#"+layer_id).data('twiced',true);
setTimeout(func,1500);
return false;
}
}
if(type_style==2){
$(this).remove();
}else{
$('#'+layer_id).data('hasMore','yes');//配置逻辑获取
var more = $.trim($('#'+layer_id).children('.wp-new_navigation_content').children('.nav1').attr('more'));
var doms = $(this).prev().prev().nextAll().clone();
var objA = $(this).prev().children('a');
if(objA.children('span').length > 0) objA.children('span').html(more);
else objA.html(more);
if(objA.hasClass('sub'))
{
objA.next('ul').empty();
doms.appendTo(objA.next('ul'));
}
else
{
objA.after('
');
doms.appendTo(objA.next('ul'));
objA.addClass('sub');
}
objA.addClass('nav_more_link');
$(this).prev().nextAll().remove();
objA.next('ul').children('li').removeClass('wp_subtop').removeClass('lihover').children('a').removeClass("ahover");
hasMore = true;
objA.attr('href','javascript:void(0);');
//点击"更多"弹出全站导航
if($("#"+layer_id).find('.nav1').attr('moreshow') == 1)
{
$(document).undelegate("#"+layer_id+" .nav_more_link",'click').delegate("#"+layer_id+" .nav_more_link",'click',function (e){
var func=function(){
$('#'+layer_id).find('#basic-modal-content_'+layer_id).modal({
containerId:'wp-new_navigation-simplemodal-container_'+layer_id,
zIndex:9999,
close:false,
onOpen:function(dialog){
dialog.overlay.fadeIn('slow', function(){
dialog.container.slideDown('slow',function(){
dialog.data.fadeIn('slow','swing',function(){
$('.wp_menus').not('.wp_thirdmenu0').each(function(){
var left = $(this).parent().parent().children('a').eq(0).outerWidth()+5;
$(this).css({position:'relative',left:left+'px'});
});
});
});
});
},
onClose:function(dialog){
dialog.data.fadeOut('slow',function (){
dialog.container.slideUp('slow', function () {
dialog.overlay.fadeOut('slow', function () {
$.modal.close();
});
});
});
}
});
}
if($('#'+layer_id).find('#basic-modal-content_'+layer_id).length){
func();
}else{
var morediv=$('#'+layer_id).find('.navigation_more');
var more_color=morediv.attr('data-more');
var typeval=morediv.attr('data-typeval');
var menudata=morediv.attr('data-menudata');
$.ajax({
type: "POST",
url: parseToURL("new_navigation", "windowpopup"),
data: {layer_id:layer_id,color:more_color,typeval:typeval,menudata:menudata},
success: function (response) {
if (response == 'Session expired')
window.location.href = getSessionExpiredUrl();
morediv.replaceWith(response);
func();
},
error: function (xhr, textStatus, errorThrown) {
wp_alert(xhr.readyState + ',' + xhr.status + ' - ' + (errorThrown || textStatus) + "(get nav).
" + translate("Request failed!"));
return false;
}
});
}
return false;
});
}
return false;
}
}
});
if(!hasMore) $('#'+layer_id).data('hasMore','no');
wp_showdefaultHoverCss(layer_id);
};
func();
}
//编辑模式水平拖动动态刷新修改More按钮
function wp_updateMoreButton(layer_id)
{
var $layer = $('#'+layer_id);
var $nav1 = $layer.children('.wp-new_navigation_content').children('.nav1');
var tmp_css = $.trim($("#datastys_"+layer_id).text());
var tmp_cssa = $.trim($("#datasty_"+layer_id).text());
$.post(parseToURL("new_navigation","refreshNavigator",{menustyle:$.trim($nav1.attr('skin')),saveCss:'yes',page_id:$("#page_id").val(),blockid:layer_id,typeval:$.trim($layer.find(".wp-new_navigation_content").attr('type')),colorstyle:$.trim($nav1.attr('colorstyle')),direction:$.trim($nav1.attr('direction')),more:$.trim($nav1.attr('more')),hover:$.trim($nav1.attr('hover')),hover_scr:$.trim($nav1.attr('hover_scr')),umenu:$.trim($nav1.attr('umenu')),dmenu:$.trim($nav1.attr('dmenu')),moreshow:$.trim($nav1.attr('moreshow')),morecolor:$.trim($nav1.attr('morecolor')),smcenter:$.trim($nav1.attr('smcenter'))}),{"addopts": $layer.mod_property("addopts")||{},menudata:$("#"+layer_id).data("menudata")},function(data){
$layer.find('.wp-new_navigation_content').html(data);
$("#datastys_"+layer_id).text(tmp_css);
get_plugin_css(layer_id,tmp_cssa+" "+tmp_css);
});
wp_showdefaultHoverCss(layer_id);
}
function wp_removeLoading(layer_id)
{
var $nav1 = $('#'+layer_id).find(".nav1");
var ishorizon=$nav1.attr("ishorizon");
if(ishorizon=='1'){
$("#"+layer_id).find('.wp-new_navigation_content').css({height:'auto',overflow:'hidden'});
}else{
$("#"+layer_id).find('.wp-new_navigation_content').css({width:'auto',overflow:'hidden'});
}
// 修复IE浏览器部分版本导航无法显示问题 2013/12/26
var temptimer = setTimeout(function(){
$("#"+layer_id).find('.wp-new_navigation_content').css("overflow", 'visible');
clearTimeout(temptimer);
}, 50);
}
function richtxt(layer_id)
{
var type=$("#"+layer_id).find('.wp-new_navigation_content').attr('type');
if(type==2){
var baseloop = 0;
$("#"+layer_id).find('.ddli').each(function(){
$(this).addClass("setdiff"+baseloop);
baseloop++;
});
}
}
function wp_createNavigationgetSubMenuHoverCssFunc(param){
var layer_id=param.layer_id;
var editmode=param.editmode;
function getSubMenuHoverCss(css_pro,type){
var typeval=type;
if(typeval==1){
var regex = "#nav_layer[0-9|a-z|A-Z]+\\s+ul+\\s+li+\\s+a:\\s*hover\\s*{\\s*"+css_pro+"\\s*:[^;]+";
}else{
var regex = "#nav_layer[0-9|a-z|A-Z]+\\s+li\.wp_subtop>a:\\s*hover\\s*{\\s*"+css_pro+"\\s*:[^;]+";
}
if(editmode){
var navStyle = $.trim($("#datastys_"+layer_id).text());
}else{
var navStyle = $.trim($("#"+layer_id).data("datastys_"));
}
if(navStyle.length > 0){
var patt1 =new RegExp(regex,'i');
var tmp = patt1.exec($.trim(navStyle));
if(tmp)
{
return $.trim((tmp[0].match(/{[^:]+:[^;]+/)[0]).match(/:[^;]+/)[0].replace(':',''));
}
}
if(editmode){
navStyle = $.trim($("#datasty_"+layer_id).text());
}else{
navStyle = $.trim($("#"+layer_id).data("datasty_"));
}
if(navStyle.length > 0)
{
if(typeval==1){
var patt1 = new RegExp("#nav_layer[0-9|a-z|A-Z]+\\s+ul+\\s+li+\\s+a:\\s*hover\\s*{[^}]+}",'i');
}else{
var patt1 = new RegExp("#nav_layer[0-9|a-z|A-Z]+\\s+li\.wp_subtop>a:\\s*hover\\s*{[^}]+}",'i');
}
var tmp = patt1.exec(navStyle);
if(tmp)
{
var tmp1 = tmp[0].match(/{[^}]+}/)[0];
var patt2 = new RegExp(css_pro+"\\s*:\\s*[^;]+;",'i');
tmp = patt2.exec(tmp1);
if(tmp) return $.trim(tmp[0].replace(/[^:]+:/,'').replace(';',''));
}
}
return $.trim($("#nav_"+layer_id+" ul li a").css(css_pro));
}
window[layer_id+'_getSubMenuHoverCss']=getSubMenuHoverCss;
}
function layer_new_navigation_content_func(params){
var layer_id = params['layer_id'];
$("#"+layer_id).find('.menu_hs11').css('visibility','hidden');
var contentfunc=function(){
if($("#"+layer_id).is(':visible')){
$("#"+layer_id).find('.wp-new_navigation_content').each(function(){
var wid = $(this).width();
var liwid = $(this).find('li:eq(0)');
var lipadd = parseInt(liwid.css('padding-right'))+parseInt(liwid.css('padding-left'));
var isEmptyMenu=false;
if($(this).find('li.wp_subtop').length==1){
var menulinktxt=$(this).find('li.wp_subtop a').text();
if(menulinktxt=='No menu!'){
isEmptyMenu=true;
}
}
if (!isEmptyMenu && $.inArray(params.menustyle, ['hs7','hs9','hs11','hs12']) != -1) {
var bwidth = parseFloat(liwid.css("borderRightWidth") || '0');
if(bwidth>0) bwidth=parseInt(bwidth + 0.1);
else bwidth =0;
if(bwidth > 0) $('li.wp_subtop', this).width(function(i, h){return h - bwidth - 1});
else if(!$("#canvas").data('changewidth_'+layer_id)){
$("#canvas").data('changewidth_'+layer_id,true);
if(params.menustyle=='hs12'){
$('li.wp_subtop', this).width(function(i, h){return h - 1})
}else{
var totalw=0;
$('li.wp_subtop', this).width(function(i, h){totalw+=h;return h})
var ulwidth=$(this).find('#nav_'+layer_id).width();
if(totalw>ulwidth){
for(var i=0;i(wid-lipadd)){
$(this).find('li.wp_subtop').css('width',wid-lipadd);
}
});
$("#"+layer_id).find('.menu_hs11,.menu_hs7,.menu_hs12').css('visibility','');
var contenth=$("#"+layer_id+" .wp-new_navigation_content").height();
if(contenth==0){
$("#"+layer_id+" .wp-new_navigation_content").css('height','');
}
}else{
setTimeout(contentfunc,60);
}
}
contentfunc();
if(params.isedit){$('#'+layer_id).mod_property({"addopts": params.addopts});}
if((params.addopts||[]).length > 0 && /^hs/i.test(params.menustyle)){$('#nav_'+layer_id+' li.wp_subtop:last').css("border-right", 'none');}
if(! params.isedit){
if($.inArray(params.menustyle, ['vertical_vs6','vertical_vs7']) != -1){
var $layer=$('#'+layer_id).find(".wp-new_navigation_content");
var vswidth=$layer.width();
var $ul=$layer.find('ul.navigation');
$ul.css({width:vswidth+'px'});
$ul.find("li.wp_subtop").css({width:(vswidth-14)+'px'});
}
}
};
function layer_new_navigation_hs9_func(params){
var layer_id = params['layer_id'],
menustyle = params.menustyle;
if($('#'+layer_id).find(".wp-new_navigation_content").length > 0){
$('#'+layer_id).find(".wp-new_navigation_content").css("height","auto");
}
window[layer_id+'_liHoverCallBack'] = function(){
$(".menu_"+menustyle+" #nav_"+layer_id+" li").hover(function(){
if(params.isedit){
var resizehandle = parseInt($('#'+layer_id).children('.ui-resizable-handle').css('z-index'));
if($(this).hasClass('wp_subtop')) $(this).parent().css('z-index',resizehandle+1);
var canvas_zindex = $('#canvas').css('z-index');
var $toolbar = $(".propblk[super='"+layer_id+"']");
if($toolbar.length > 0) $toolbar.css('z-index',canvas_zindex - 1);
}
$(this).children("ul").css("left", "0px").show();
},function(){
$(this).children("ul").hide();
if(params.isedit){
var resizehandle = parseInt($('#'+layer_id).children('.ui-resizable-handle').css('z-index'));
var isHover = true;
$('#nav_'+layer_id).find('ul').each(function(){
if($(this).css('display') != 'none') isHover = false;
return false;
});
if(isHover){
if(!($.browser.msie && $.browser.version < 9)) $(this).parent().css('z-index',resizehandle-1);
}
}
});
};
window[layer_id+'_getSubMenuHoverCss'] = function(css_pro,type){
var typeval=type;
if(typeval==1){
var regex = "#nav_layer[0-9|a-z|A-Z]+\\s+ul+\\s+li+\\s+a:\\s*hover\\s*{\\s*"+css_pro+"\\s*:[^;]+";
}else if(typeval == 2){
var regex = "#nav_layer[0-9|a-z|A-Z]+\\s+ul\\s+li\\s*{\\s*"+css_pro+"\\s*:[^;]+";
}else if(typeval == 3){
var regex = "#nav_layer[0-9|a-z|A-Z]+\\s+ul\\s+li\\s*:\\s*hover\\s*{\\s*"+css_pro+"\\s*:[^;]+";
}
else{
var regex = "#nav_layer[0-9|a-z|A-Z]+\\s+li\.wp_subtop>a:\\s*hover\\s*{\\s*"+css_pro+"\\s*:[^;]+";
}
var navStyle = wp_get_navstyle(layer_id, 'datastys_');
if(navStyle.length > 0)
{
var patt1 =new RegExp(regex,'i');
var tmp = patt1.exec($.trim(navStyle));
if(tmp)
{
return $.trim((tmp[0].match(/{[^:]+:[^;]+/)[0]).match(/:[^;]+/)[0].replace(':',''));
}
}
navStyle = wp_get_navstyle(layer_id, 'datasty_');
if(navStyle.length > 0)
{
if(typeval==1){
var patt1 = new RegExp("#nav_layer[0-9|a-z|A-Z]+\\s+ul+\\s+li+\\s+a:\\s*hover\\s*{[^}]+}",'i');
}else if(typeval == 2){
var patt1 = new RegExp("#nav_layer[0-9|a-z|A-Z]+\\s+ul\\s+li\\s*{[^}]+}",'i');
}else if(typeval == 3){
var patt1 = new RegExp("#nav_layer[0-9|a-z|A-Z]+\\s+ul\\s+li\\s*:\\s*hover\\s*{[^}]+}",'i');
}else{
var patt1 = new RegExp("#nav_layer[0-9|a-z|A-Z]+\\s+li\.wp_subtop>a:\\s*hover\\s*{[^}]+}",'i');
}
var tmp = patt1.exec(navStyle);
if(tmp)
{
var tmp1 = tmp[0].match(/{[^}]+}/)[0];
var patt2 = new RegExp(css_pro+"\\s*:\\s*[^;]+;",'i');
tmp = patt2.exec(tmp1);
if(tmp) return $.trim(tmp[0].replace(/[^:]+:/,'').replace(';',''));
}
}
return $.trim($("#nav_"+layer_id+" ul li a").css(css_pro));
};
$('#'+layer_id).layer_ready(function(){
window[layer_id+'_liHoverCallBack']();
//第三级即下级菜单随高度增加位置动态修改
$('#'+layer_id+' .menu_'+menustyle+' li').hover(function(){
$(this).children('ul').css('top',$(this).outerHeight());
});
$("#"+layer_id+" li").hover(function(){
var thisleft=$(this).offset().left;
var thiswidth=$(this).outerWidth();
//父中心点坐标
var thiswidthcenter=0;
//子中心点坐标
var thischildwidthcenter=0;
var orgleft = $("#"+layer_id).offset().left;
var orgright = $("#"+layer_id).outerWidth();
orgright=orgright+orgleft;
thiswidthcenter=thisleft+thiswidth/2;
//计算子菜单总宽度
var childlidom=$(this).children('ul').children('li');
var childliwidth=0;
childlidom.each(function(){
childliwidth=childliwidth+$(this).outerWidth();
});
thischildwidthcenter=childliwidth/2;
var chavalue=thiswidthcenter-thischildwidthcenter;
var charightvalue=thiswidthcenter+thischildwidthcenter;
var ulwidth=$("#"+layer_id).width();
if(chavalueorgright){
//超出边界不做处理
}else{
if(chavalue>orgleft && charightvalue0){
$(this).children("ul:eq(0)").css("width", (ulwidth-chavalue+orgleft)+"px");
}
}else{
if(chavalue>orgleft && charightvalue>orgright){
$(this).children("ul:eq(0)").css("padding-left", (ulwidth-childliwidth-2)+"px");
if(ulwidth>0){
if(childliwidth>ulwidth) childliwidth=ulwidth;
$(this).children("ul:eq(0)").css("width", (childliwidth+2)+"px");
}
}
}
}
if(!$(this).hasClass('wp_subtop'))
{
$(this).css('background-image',window[layer_id+'_getSubMenuHoverCss']('background-image',3));
$(this).css('background-repeat',window[layer_id+'_getSubMenuHoverCss']('background-repeat',3));
$(this).css('background-color',window[layer_id+'_getSubMenuHoverCss']('background-color',3));
$(this).css('background-position',window[layer_id+'_getSubMenuHoverCss']('background-position',3));
}
if($(this).children('ul').length > 0)
{
$(this).children('ul').css('background-image',window[layer_id+'_getSubMenuHoverCss']('background-image',2));
$(this).children('ul').css('background-repeat',window[layer_id+'_getSubMenuHoverCss']('background-repeat',2));
$(this).children('ul').css('background-color',window[layer_id+'_getSubMenuHoverCss']('background-color',2));
$(this).children('ul').css('background-position',window[layer_id+'_getSubMenuHoverCss']('background-position',2));
$(this).children('ul').children('li').css({'background-image':'none','background-color':'transparent'});
}
var type=$("#"+layer_id).find('.wp-new_navigation_content').attr('type');
if(type==2){
var self = $(this);
var pos = 0 ;
var loops = 0;
$('#nav_'+layer_id).find('li').each(function(){
if(loops == 1) return true;
if(self.html() == $(this).html()){
loops = 1;
return true;
}else{
pos = pos + $(this).outerWidth();
}
})
$("#"+layer_id).find('.ddli').hide();
var this_width = $('#nav_'+layer_id).outerWidth();
var thisul_left = $('#nav_'+layer_id).css("padding-left");
thisul_left = parseInt(thisul_left);
$(this).children('.ddli').outerWidth(this_width).css("margin-left","-"+(thisul_left+pos)+"px");
$(this).children('.ddli').eq(0).slideDown();
}
},function(){
if(!$(this).hasClass('wp_subtop'))
$(this).css({'background-color':'transparent','background-image':'none'});
$(this).children("ul:eq(0)").css("left", "-99999px").hide();
if(params.isedit){
var isHover=true;
$('#nav_'+layer_id).find('ul').each(function(){
if($(this).css('display') != 'none') {isHover = false;}
});
if(isHover){
var $toolbar = $(".propblk[super='"+layer_id+"']");
if($toolbar.length > 0) $toolbar.css('z-index','999');
}
}
var type=$("#"+layer_id).find('.wp-new_navigation_content').attr('type');
if(type==2){
$("#"+layer_id).find('.ddli').slideUp();
}
});
$('.menu_'+menustyle+' #nav_'+layer_id).find('li').hover(function(){
var direction=$("#"+layer_id).find('.nav1').attr('direction');
var height = parseInt($(this).outerHeight());
if(direction==1){
$(this).children('ul').css('top','auto').css('bottom',height + 'px');
}else{
$(this).children('ul').css('top',height+'px').css('bottom','auto');
}
if($(this).parent().hasClass('navigation'))
{
$(this).children('a').css({'font-family':window[layer_id+'_getSubMenuHoverCss']("font-family",0),'font-size':window[layer_id+'_getSubMenuHoverCss']("font-size",0),'color':window[layer_id+'_getSubMenuHoverCss']("color",0),'font-weight':window[layer_id+'_getSubMenuHoverCss']("font-weight",0),'font-style':window[layer_id+'_getSubMenuHoverCss']("font-style",0)});
}else{
$(this).children('a').css({'font-family':window[layer_id+'_getSubMenuHoverCss']("font-family",1),'font-size':window[layer_id+'_getSubMenuHoverCss']("font-size",1),'color':window[layer_id+'_getSubMenuHoverCss']("color",1),'font-weight':window[layer_id+'_getSubMenuHoverCss']("font-weight",1),'font-style':window[layer_id+'_getSubMenuHoverCss']("font-style",1)});
}
if($(this).parent().hasClass('navigation'))
{
$('#nav_'+layer_id+' .wp_subtop').removeClass("lihover").children('a').removeClass("ahover");
}
},function(){
if($(this).parent().hasClass('navigation'))
{
wp_showdefaultHoverCss(layer_id);
}
$(this).children('a').attr("style",'');
});
wp_showdefaultHoverCss(layer_id);
var is_exec=false;
var func=function(){
if(!is_exec){
wp_removeLoading(layer_id);
is_exec=true;
}
};
$(function(){
func();
});
});
};
function detectZoom (){
var ratio = 0,
screen = window.screen,
ua = navigator.userAgent.toLowerCase() || '';
if (window.devicePixelRatio !== undefined) {
ratio = window.devicePixelRatio;
}else if (~ua.indexOf('msie')) {
if (screen.deviceXDPI && screen.logicalXDPI) {
ratio = screen.deviceXDPI / screen.logicalXDPI;
}
}else if (window.outerWidth !== undefined && window.innerWidth !== undefined) {
ratio = window.outerWidth / window.innerWidth;
}
if (ratio){
ratio = Math.round(ratio * 100);
}
return ratio;
}
function layer_unslider_heightAdapt_func(dom,params){
var wsize=params.wsize;
if(params.unslideradapt!='1') return;
if(!wsize || !wsize.width) return;
if(params.editMode) return;
var lastW=dom.data('lastW');
var winW=dom.find('.wp-unslider_content').width();
dom.data('lastW',winW);
if(winW==lastW) return;
var curH=dom.height();
var editH=parseInt(wsize.height)
if(wsize.width>=winW && curH<=editH) return;
var curH=editH;
if(wsize.width right_boundray) return true;
if(dom.attr('id') == $(this).attr('id')) return true;//自己除外
//包在高度自适应模块外面的模块也要改变高度
if((tmp_left <= left_boundray && tmp_left+tmp_width >= right_boundray) && (tmp_top <= moduleTop && tmp_top+tmp_height >= moduleTop+moduleLayerHeight))
{
wrapList.push($(this).attr('id'));
return true;
}
}
if($(this).parent().hasClass('full_content') || $(this).parent().hasClass('footer_content') || $(this).parent().hasClass('drop_box')) return true;//通栏和底部元素暂时不考虑
if(tmp_top >= (moduleTop + moduleLayerHeight))
{
pressList.push($(this).attr('id'));
if(minTop == 0) {minTop = tmp_top;minId = $(this).attr('id');}
else
{
if(minTop > tmp_top) {minTop = tmp_top;minId = $(this).attr('id');}
}
}
});
//ceshi
offsetY = $("#"+minId).ab_pos_cnter('top') - (moduleTop + moduleLayerHeight);
if(pressList.length > 0 && (moduleTop + moduleHeight) >= minTop)
{
diffY = moduleTop + moduleHeight + offsetY - minTop;
for(var i = 0;i < pressList.length;i++)
{
var theel=$("#"+pressList[i]);
var eltop=parseInt(theel.ab_pos_cnter('top'))+diffY-sameTopDiff;
theel.css('top',eltop+'px');
//bug 5996 自适应导致模块style变化了,动画出错
if(theel.data('wopop_effect_oristyle')){
var style=theel.data('wopop_effect_oristyle');
style=style.replace(/((?:^|;)\s*top\s*:\s*)\d+px;/,'$1'+eltop+'px;');
theel.data('wopop_effect_oristyle',style);
}
var pressArrOld=theel.data('adaptpress');
if(!pressArrOld) pressArrOld=[];
var pressArr=[];
for(var j=0;j 0)
{
for(var i = 0;i < wrapList.length;i++)
{
var diffH=moduleHeight-moduleLayerHeight;
var theel=$("#"+wrapList[i]);
theel.height($("#"+wrapList[i]).height()+(diffH));
var wrapListPadding = parseInt(layer_first_div(theel).css('padding-top')) + parseInt(layer_first_div($("#"+wrapList[i])).css('padding-bottom'));
var wrapListBorder = parseInt(layer_first_div(theel).css('border-top-width')) + parseInt(layer_first_div($("#"+wrapList[i])).css('border-bottom-width'));
layer_first_div(theel).height(theel.height() - wrapListPadding - wrapListBorder);
var wrapArrOld=theel.data('adaptwrap');
if(!wrapArrOld) wrapArrOld=[];
var wrapArr=[];
for(var j=0;j zh) ? zw : zh;
var ratioX = zw / r;
var ratioY = zh / r;
cxt.translate(zx, zx);
cxt.scale(ratioX, ratioY);
cxt.beginPath();
cxt.arc(zw/ratioX, zh/ratioY, r, 0, 2 * Math.PI, true);
cxt.closePath();
cxt.restore();
if(fillcolor!='transparent') cxt.fillStyle=fillcolor;
cxt.strokeStyle=strcolor;
if(linepx!=0) cxt.lineWidth = linepx; //边框大小
if(fillcolor!='transparent') cxt.fill();
if(linepx!=0) cxt.stroke();
}
/*五角星*/
Shapes['pentagram']=function(){
cxt.save();
var r = (zw > zh) ? zh : zw;
cxt.translate(0, zx);
cxt.beginPath();
//设置是个顶点的坐标,根据顶点制定路径
for (var i = 0; i < 5; i++) {
cxt.lineTo(Math.cos((18+i*72)/180*Math.PI)*r+r+zx,
-Math.sin((18+i*72)/180*Math.PI)*r+r+zx);
cxt.lineTo(Math.cos((54+i*72)/180*Math.PI)*(r/2)+r+zx,
-Math.sin((54+i*72)/180*Math.PI)*(r/2)+r+zx);
}
cxt.closePath();
if(fillcolor!='transparent') cxt.fillStyle = fillcolor;
if(strcolor!='transparent') cxt.strokeStyle = strcolor;
if(linepx!=0) cxt.lineWidth =linepx;
if(fillcolor!='transparent') cxt.fill();
if(linepx!=0 && strcolor!='transparent') cxt.stroke();
cxt.restore();//返回原始状态
}
/*三角形--*/
Shapes['triangle']=function(){
cxt.save();
cxt.beginPath();
cxt.moveTo(zx*2, zh*2+zx);
cxt.lineTo(zw+zx, zx*2);
cxt.lineTo(zw*2,zh*2+zx);
cxt.closePath();
if(fillcolor!='transparent') cxt.fillStyle = fillcolor;
if(strcolor!='transparent') cxt.strokeStyle = strcolor;
if(linepx!=0) cxt.lineWidth =linepx;
if(fillcolor!='transparent') cxt.fill();
if(linepx!=0 && strcolor!='transparent') cxt.stroke();
}
/*平行四边形--*/
Shapes['parallelo']=function(){
cxt.save();
cxt.beginPath();
cxt.moveTo(zx*2, zh*2+zx);
cxt.lineTo(zw*1.4, zh*2+zx);
cxt.lineTo(zw*2, zx);
cxt.lineTo(zw*0.6+linepx, zx);
cxt.lineTo(zx*2, zh*2+zx);
cxt.closePath();
if(fillcolor!='transparent') cxt.fillStyle = fillcolor;
if(strcolor!='transparent') cxt.strokeStyle = strcolor;
if(linepx!=0) cxt.lineWidth =linepx;
if(fillcolor!='transparent') cxt.fill();
if(linepx!=0 && strcolor!='transparent') cxt.stroke();
}
/*梯形--*/
Shapes['trapezium']=function() {
cxt.save();
cxt.beginPath();
cxt.moveTo(zx*2, zh*2+zx);
cxt.lineTo(zw*2, zh*2+zx);
cxt.lineTo(zw*1.5+zx, zx);
cxt.lineTo(zw*0.5+zx, zx);
cxt.lineTo(zx*2, zh*2+zx);
cxt.closePath();
if(fillcolor!='transparent') cxt.fillStyle = fillcolor;
if(strcolor!='transparent') cxt.strokeStyle = strcolor;
if(linepx!=0) cxt.lineWidth =linepx;
if(fillcolor!='transparent') cxt.fill();
if(linepx!=0 && strcolor!='transparent') cxt.stroke();
}
/*提示框形__左*/
Shapes['roundtip_left']=function(){
var radius=parseInt(zw)*0.075; //圆角大小
if(radius<12){
radius=12;
} //圆角最小值
var rjh= zh*0.75;
cxt.beginPath();
cxt.arc( radius+zx, radius+zx, radius, Math.PI, Math.PI * 3 / 2);
cxt.lineTo(zw*2+zx - radius , zx);
cxt.arc(zw*2+zx - radius , radius +zx, radius, Math.PI * 3 / 2, Math.PI * 2);
cxt.lineTo(zw*2+zx , rjh*2 - radius);
cxt.arc(zw*2+zx - radius , rjh*2 - radius , radius, 0, Math.PI * 1 / 2);
cxt.lineTo(radius*2.2+zx , rjh*2); //左下箭头
cxt.lineTo(radius*0.9 +zx, rjh*2+radius); //左下箭头*/
cxt.arc(radius+zx , rjh*2- radius , radius, Math.PI * 1 / 2, Math.PI);
cxt.closePath();
if(fillcolor!='transparent') cxt.fillStyle = fillcolor;
if(strcolor!='transparent') cxt.strokeStyle = strcolor;
if(linepx!=0) cxt.lineWidth = linepx;
if(fillcolor!='transparent') cxt.fill();
if(linepx!=0 && strcolor!='transparent') cxt.stroke();
cxt.restore();//返回原始状态
}
/*提示框形__右*/
Shapes['roundtip_right']=function() {
var radius=parseInt(zw)*0.075; //圆角大小
if(radius<12){
radius=12;
} //圆角最小值
var rjh= zh*0.75;
cxt.beginPath();
cxt.arc( radius+zx, radius+zx, radius, Math.PI, Math.PI * 3 / 2);
cxt.lineTo(zw*2+zx - radius , zx);
cxt.arc(zw*2+zx - radius , radius +zx, radius, Math.PI * 3 / 2, Math.PI * 2);
cxt.lineTo(zw*2+zx , rjh*2 - radius);
cxt.arc(zw*2+zx - radius , rjh*2 - radius , radius, 0, Math.PI * 1 / 2);
cxt.lineTo(zw*2+zx-radius*0.9 , rjh*2+radius); //右下箭头
cxt.lineTo(zw*2+zx-radius*2.2 , rjh*2); //右下箭头
cxt.arc(radius+zx , rjh*2- radius , radius, Math.PI * 1 / 2, Math.PI);
cxt.closePath();
if(fillcolor!='transparent') cxt.fillStyle = fillcolor;
if(strcolor!='transparent') cxt.strokeStyle = strcolor;
if(linepx!=0) cxt.lineWidth = linepx;
if(fillcolor!='transparent') cxt.fill();
if(linepx!=0 && strcolor!='transparent') cxt.stroke();
cxt.restore();//返回原始状态
}
/*箭头--*/
Shapes['arrow']=function() {
cxt.save();
cxt.beginPath();
cxt.moveTo(zx, zh*0.65+zx);
cxt.lineTo(zx, zh*1.35+zx);
cxt.lineTo(zw*1.04, zh*1.35+zx);
cxt.lineTo(zw*1.04, zh*2);
cxt.lineTo(zw*2,zh+zx);
cxt.lineTo(zw*1.04, zx*2);
cxt.lineTo(zw*1.04,zh*0.65+zx);
cxt.closePath();
if(fillcolor!='transparent') cxt.fillStyle = fillcolor;
if(strcolor!='transparent') cxt.strokeStyle = strcolor;
if(linepx!=0) cxt.lineWidth =linepx;
if(fillcolor!='transparent') cxt.fill();
if(linepx!=0 && strcolor!='transparent') cxt.stroke();
}
/*钻石形--*/
Shapes['diamond']=function() {
cxt.save();
cxt.beginPath();
cxt.moveTo(zx*2, zh*0.9);
cxt.lineTo(zw+zx, zh*2);
cxt.lineTo(zw*2, zh*0.9);
cxt.lineTo(zw*1.55+zx,zh*0.38);
cxt.lineTo(zw*0.45+zx,zh*0.38);
cxt.closePath();
if(fillcolor!='transparent') cxt.fillStyle = fillcolor;
if(strcolor!='transparent') cxt.strokeStyle = strcolor;
if(linepx!=0) cxt.lineWidth =linepx;
if(fillcolor!='transparent') cxt.fill();
if(linepx!=0 && strcolor!='transparent') cxt.stroke();
}
/*正多边形*/
Shapes['isogon']=function(){
var ib=5;
if(shape_params.ib>2) ib=shape_params.ib;
var i,ang;
var dzw=zw+zx*1.8-linepx;
var dzh=zh+zx*1.8-linepx;
var r = (dzw > dzh) ? dzh : dzw;
ang = Math.PI*2/ib; //旋转的角度
cxt.save();//保存状态
cxt.translate(nw, nh);//原点移到x,y处,即要画的多边形中心
cxt.moveTo(0, -r);//据中心r距离处画点
cxt.beginPath();
for(i = 0;i < ib; i ++)
{
cxt.rotate(ang)//旋转
cxt.lineTo(0, -r);//据中心r距离处连线
}
cxt.closePath();
if(fillcolor!='transparent') cxt.fillStyle = fillcolor;
if(strcolor!='transparent') cxt.strokeStyle = strcolor;
if(linepx!=0) cxt.lineWidth = linepx;//设置线宽
if(fillcolor!='transparent') cxt.fill();
if(linepx!=0 && strcolor!='transparent') cxt.stroke();
cxt.restore();//返回原始状态
}
function ClearCanvas(){
cxt.clearRect(0, 0, nw*2, nh*2);
}
function layer_shapes_draw_func(params){
var layerid=params.layerid;
var shapetype=params.shape_type;
var canvasel=$('#'+layerid).find('canvas');
var w=$('#'+layerid).find('.wp-shapes_content').width();
var h=$('#'+layerid).find('.wp-shapes_content').height();
canvasel.attr('width',w);
canvasel.attr('height',h);
if(params.fillcolor) fillcolor=params.fillcolor;
if(params.strcolor) strcolor=params.strcolor;
if(params.borderline != null) linepx=parseFloat(params.borderline);
shape_params=params;
c = canvasel[0];
cxt = c.getContext("2d");
nw=parseFloat(w/2);
nh=parseFloat(h/2);
zw=nw-parseFloat(linepx/2); //减去边框后宽度
zh=nh-parseFloat(linepx/2); //减去边框后高度
zx=parseFloat(linepx/2); //减去边框顶点位置
ClearCanvas();
if(Shapes[shapetype]) Shapes[shapetype]();
}
window.layer_shapes_draw_func=layer_shapes_draw_func;
})();
;
var jeditMode = 0;
function layer_prdcat_setvar(params){
jeditMode = params.isedit;
if(jeditMode){
$(function(){
$("#"+params.layerid+" li a").removeAttr('onclick').click(function(){return false;});
});
}
}
function wp_getdefaultHoverCss(layer_id)
{
var getli='';
var geta='';
var cssstyle='';
if(jeditMode){
var navStyle = $.trim($("#datasty_"+layer_id).text());
}else{
var navStyle = $.trim($("#"+layer_id).data("datasty_"));
}
if(navStyle.length > 0)
{
var patt1 = new RegExp("#nav_layer[0-9|a-z|A-Z]+\\s+li\.wp_subtop:\\s*hover\\s*{[^}]+}",'i');
var tmp = patt1.exec(navStyle);
if(tmp)
{
var tmp1 = tmp[0].match(/{[^}]+}/)[0];
tmp1=tmp1.replace('{','').replace('}','');
getli=getli+tmp1;
}
patt1 = new RegExp("#nav_layer[0-9|a-z|A-Z]+\\s+li\.wp_subtop>a:\\s*hover\\s*{[^}]+}",'i');
tmp = patt1.exec(navStyle);
if(tmp)
{
var tmp2 = tmp[0].match(/{[^}]+}/)[0];
tmp2=tmp2.replace('{','').replace('}','');
geta=geta+tmp2;
}
}
if(jeditMode){
navStyle = $.trim($("#datastys_"+layer_id).text());
}else{
navStyle = $.trim($("#"+layer_id).data("datastys_"));
}
var getlia='';
if(navStyle.length > 0)
{
var layidlow=('#nav_'+layer_id+' li.wp_subtop>a:hover').toLowerCase();
if( ('a'+navStyle).toLowerCase().indexOf(layidlow)>0){
var parstr="#nav_"+ layer_id +" li.wp_subtop>a:hover";
getlia = navStyle.split(new RegExp(parstr,"i"));
var combilestr='';
for(key in getlia){
var ervervalue='';
if(('a'+getlia[key]).indexOf('{')<3 && ('a'+getlia[key]).indexOf('{')>0 ){
var parvalue=getlia[key].split('{');
if(('a'+parvalue[1]).indexOf('}')>0){
ervervalue=parvalue[1].split('}')[0];
}
}
combilestr=combilestr+ervervalue;
}
geta=geta+combilestr;
}
layidlow=('#nav_'+layer_id+' li.wp_subtop:hover').toLowerCase();
if( ('a'+navStyle).toLowerCase().indexOf(layidlow)>0){
var parstr="#nav_"+ layer_id +" li.wp_subtop:hover";
getlia = navStyle.split(new RegExp(parstr,"i"));
var combilestrs='';
for(key in getlia){
var ervervalue='';
if(('a'+getlia[key]).indexOf('{')<3 && ('a'+getlia[key]).indexOf('{')>0 ){
var parvalue=getlia[key].split('{');
if(('a'+parvalue[1]).indexOf('}')>0){
ervervalue=parvalue[1].split('}')[0];
}
}
combilestrs=combilestrs+ervervalue;
}
getli=getli+combilestrs;
}
}
if(getli.length>0){
getli="#"+layer_id+" li.lihover{"+getli+"} ";
}
if(geta.length>0){
geta="#"+layer_id+" li>a.ahover{"+geta+"} ";
}
cssstyle=getli+geta;
if(cssstyle.length>0){
cssstyle=""+cssstyle+"";
cssstyle=cssstyle.replace(/[\r\n]/g, " ").replace(/\s+/g, " ");
var doms=$('#'+layer_id);
var oldcssstyle=doms.data('get_layer_hover_css');
if(oldcssstyle != cssstyle){
if(jeditMode){
$("#hover"+layer_id+"").text(""+cssstyle+"");
}
doms.data('get_layer_hover_css',cssstyle);
get_plugin_css('H'+layer_id+'H',cssstyle);
}
}
}
function wp_createNavigationgetSubMenuHoverCssFunc(param){
var layer_id=param.layer_id;
var editmode=param.editmode;
function getSubMenuHoverCss(css_pro,type){
var typeval=type;
if(typeval==1){
var regex = "#nav_layer[0-9|a-z|A-Z]+\\s+ul+\\s+li+\\s+a:\\s*hover\\s*{\\s*"+css_pro+"\\s*:[^;]+";
}else{
var regex = "#nav_layer[0-9|a-z|A-Z]+\\s+li\.wp_subtop>a:\\s*hover\\s*{\\s*"+css_pro+"\\s*:[^;]+";
}
if(editmode){
var navStyle = $.trim($("#datastys_"+layer_id).text());
}else{
var navStyle = $.trim($("#"+layer_id).data("datastys_"));
}
if(navStyle.length > 0){
var patt1 =new RegExp(regex,'i');
var tmp = patt1.exec($.trim(navStyle));
if(tmp)
{
return $.trim((tmp[0].match(/{[^:]+:[^;]+/)[0]).match(/:[^;]+/)[0].replace(':',''));
}
}
if(editmode){
navStyle = $.trim($("#datasty_"+layer_id).text());
}else{
navStyle = $.trim($("#"+layer_id).data("datasty_"));
}
if(navStyle.length > 0)
{
if(typeval==1){
var patt1 = new RegExp("#nav_layer[0-9|a-z|A-Z]+\\s+ul+\\s+li+\\s+a:\\s*hover\\s*{[^}]+}",'i');
}else{
var patt1 = new RegExp("#nav_layer[0-9|a-z|A-Z]+\\s+li\.wp_subtop>a:\\s*hover\\s*{[^}]+}",'i');
}
var tmp = patt1.exec(navStyle);
if(tmp)
{
var tmp1 = tmp[0].match(/{[^}]+}/)[0];
var patt2 = new RegExp(css_pro+"\\s*:\\s*[^;]+;",'i');
tmp = patt2.exec(tmp1);
if(tmp) return $.trim(tmp[0].replace(/[^:]+:/,'').replace(';',''));
}
}
return $.trim($("#nav_"+layer_id+" ul li a").css(css_pro));
}
window[layer_id+'_getSubMenuHoverCss']=getSubMenuHoverCss;
}
function wp_createProductCategorygetSubMenuHoverCssFunc(param){
var layer_id=param.layer_id;
var editmode=param.editmode;
function getSubMenuHoverCss(css_pro,type)
{
var typeval=type;
if(typeval==1){
var regex = "#nav_layer[0-9|a-z|A-Z]+\\s+ul+\\s+li+\\s+a:\\s*hover\\s*{\\s*"+css_pro+"\\s*:[^;]+";
}else if(typeval == 2){
var regex = "#nav_layer[0-9|a-z|A-Z]+\\s+ul\\s+li\\s*{\\s*"+css_pro+"\\s*:[^;]+";
}else if(typeval == 3){
var regex = "#nav_layer[0-9|a-z|A-Z]+\\s+ul\\s+li\\s*:\\s*hover\\s*{\\s*"+css_pro+"\\s*:[^;]+";
}
else{
var regex = "#nav_layer[0-9|a-z|A-Z]+\\s+li\.wp_subtop>a:\\s*hover\\s*{\\s*"+css_pro+"\\s*:[^;]+";
}
if(editmode){
var navStyle = $.trim($("#datastys_"+layer_id).text());
}else{
var navStyle = $.trim($("#"+layer_id).data("datastys_"));
}
if(navStyle.length > 0)
{
var patt1 =new RegExp(regex,'i');
var tmp = patt1.exec($.trim(navStyle));
if(tmp)
{
return $.trim((tmp[0].match(/{[^:]+:[^;]+/)[0]).match(/:[^;]+/)[0].replace(':',''));
}
}
if(editmode){
navStyle = $.trim($("#datasty_"+layer_id).text());
}else{
navStyle = $.trim($("#"+layer_id).data("datasty_"));
}
if(navStyle.length > 0)
{
if(typeval==1){
var patt1 = new RegExp("#nav_layer[0-9|a-z|A-Z]+\\s+ul+\\s+li+\\s+a:\\s*hover\\s*{[^}]+}",'i');
}else if(typeval == 2){
var patt1 = new RegExp("#nav_layer[0-9|a-z|A-Z]+\\s+ul\\s+li\\s*{[^}]+}",'i');
}else if(typeval == 3){
var patt1 = new RegExp("#nav_layer[0-9|a-z|A-Z]+\\s+ul\\s+li\\s*:\\s*hover\\s*{[^}]+}",'i');
}else{
var patt1 = new RegExp("#nav_layer[0-9|a-z|A-Z]+\\s+li\.wp_subtop>a:\\s*hover\\s*{[^}]+}",'i');
}
var tmp = patt1.exec(navStyle);
if(tmp)
{
var tmp1 = tmp[0].match(/{[^}]+}/)[0];
var patt2 = new RegExp(css_pro+"\\s*:\\s*[^;]+;",'i');
tmp = patt2.exec(tmp1);
if(tmp) return $.trim(tmp[0].replace(/[^:]+:/,'').replace(';',''));
}
}
return $.trim($("#nav_"+layer_id+" ul li a").css(css_pro));
}
window[layer_id+'_getSubMenuHoverCss']=getSubMenuHoverCss;
}
function wp_showdefaultHoverCss(layer_id){
var layertype=$('#'+layer_id).attr('type');
if(layertype && window['wp_showdefaultHoverCss_'+layertype]){
return window['wp_showdefaultHoverCss_'+layertype](layer_id);
}
return false;
}
function wp_showdefaultHoverCss_product_category(layer_id)
{
var plugin_name=$("#"+layer_id).attr('type');
var hover=$("#"+layer_id).find('.nav1').attr('hover');
if(hover!=1){ return;}
wp_getdefaultHoverCss(layer_id);
var n=0;
if(plugin_name=='new_navigation'){
var page_id=$("#page_id").val();
var rootpid=$("#page_id").attr("rpid")*1;
}else{
var page_id=$('#'+layer_id+'').find(".default_pid").html();
if(page_id==0 || page_id.length==0){
page_id=$('#nav_'+layer_id+'').children('li:first').attr('pid');
}
}
$('#nav_'+layer_id+'').children('li').each(function(){
var type_pid=$(this).attr('pid');
if(type_pid==page_id){
$(this).addClass("lihover").children('a').addClass("ahover");
}else if(type_pid==rootpid){
$(this).addClass("lihover").children('a').addClass("ahover");
}
if(window.location.href == $(this).find("a").attr("href") || window.location.href == $(this).find("a").attr("href")+"&brd=1"){ $(this).addClass("lihover").children('a').addClass("ahover"); }
n++;
});
if(!$('#nav_'+layer_id+'').children('li.lihover').length){
$('#nav_'+layer_id+' ul').children('li').each(function(){
var lochref=window.location.href.replace(/^https?:/,'').replace(/&brd=1$/,'');
var subahref= $(this).find('a').attr("href").replace(/^https?:/,'').replace(/&brd=1$/,'');
if(lochref == subahref || lochref ==subahref+"&brd=1"){
$(this).parents(".wp_subtop").addClass("lihover").children('a').addClass("ahover");
return;
}
})
}
}
function wp_addMoreButton(layer_id){
var layertype=$('#'+layer_id).attr('type');
if(layertype && window['wp_addMoreButton_'+layertype]){
return window['wp_addMoreButton_'+layertype](layer_id);
}
return false;
}
function wp_addMoreButton_product_category(layer_id)
{
var firstLiTop = 0;
var hasMore = false;
$('#nav_'+layer_id).children('li.wp_subtop').each(function(i){
if(i == 0) {firstLiTop = $(this).offset().top;return true;}
if($(this).offset().top > firstLiTop)
{
$('#'+layer_id).data('hasMore','yes');//配置逻辑获取
var more = $.trim($('#'+layer_id).children('.wp-product_category_content').children('.nav1').attr('more'));
var doms = $(this).prev().prev().nextAll().clone();
var objA = $(this).prev().children('a');
if(objA.children('span').length > 0) objA.children('span').html(more);
else objA.html(more);
if(objA.hasClass('sub'))
{
objA.next('ul').empty();
doms.appendTo(objA.next('ul'));
}
else
{
objA.after('');
doms.appendTo(objA.next('ul'));
objA.addClass('sub');
}
$(this).prev().nextAll().remove();
objA.next('ul').children('li').removeClass('wp_subtop');
hasMore = true;
objA.attr('href','javascript:void(0);');
//点击"更多"弹出全站导航
if($("#"+layer_id).find('.nav1').attr('moreshow') == 1)
{
objA.click(function (e){
$('#'+layer_id).find('#basic-modal-content_'+layer_id).modal({
containerId:'wp-product_category-simplemodal-container_'+layer_id,
zIndex:9999,
close:false,
onOpen:function(dialog){
dialog.overlay.fadeIn('slow', function(){
dialog.container.slideDown('slow',function(){
dialog.data.fadeIn('slow','swing',function(){
$('.wp_menus').not('.wp_thirdmenu0').each(function(){
var left = $(this).parent().parent().children('a').eq(0).outerWidth()+5;
$(this).css({position:'relative',left:left+'px'});
});
});
});
});
},
onClose:function(dialog){
dialog.data.fadeOut('slow',function (){
dialog.container.slideUp('slow', function () {
dialog.overlay.fadeOut('slow', function () {
$.modal.close();
});
});
});
}
});
return false;
});
}
return false;
}
});
if(!hasMore) $('#'+layer_id).data('hasMore','no');
wp_showdefaultHoverCss(layer_id);
}
//编辑模式水平拖动动态刷新修改More按钮
function wp_updateMoreButton(layer_id)
{
var $layer = $('#'+layer_id);
var $nav1 = $layer.children('.wp-product_category_content').children('.nav1');
var tmp_css = $.trim($("#datastys_"+layer_id).text());
var tmp_cssa = $.trim($("#datasty_"+layer_id).text());
$.post(parseToURL("product_category","refreshNavigator",{menustyle:$.trim($nav1.attr('skin')),saveCss:'yes',page_id:$("#page_id").val(),blockid:layer_id,typeval:$.trim($layer.find(".wp-product_category_content").attr('type')),colorstyle:$.trim($nav1.attr('colorstyle')),direction:$.trim($nav1.attr('direction')),more:$.trim($nav1.attr('more')),hover:$.trim($nav1.attr('hover')),moreshow:$.trim($nav1.attr('moreshow')),morecolor:$.trim($nav1.attr('morecolor'))}),function(data){
$layer.find('.wp-product_category_content').html(data);
$("#datastys_"+layer_id).text(tmp_css);
var setcss=$("#page_set_css").html();
setcss=setcss.replace(/');
});
wp_showdefaultHoverCss(layer_id);
}
function wp_removeLoading(layer_id)
{
var $nav1 = $('#'+layer_id).find(".nav1");
var ishorizon=$nav1.attr("ishorizon");
if(ishorizon=='1'){
$("#"+layer_id).find('.wp-new_navigation_content').css({height:'auto',overflow:'hidden'});
}else{
$("#"+layer_id).find('.wp-new_navigation_content').css({width:'auto',overflow:'hidden'});
}
// 修复IE浏览器部分版本导航无法显示问题 2013/12/26
var temptimer = setTimeout(function(){
$("#"+layer_id).find('.wp-new_navigation_content').css("overflow", 'visible');
clearTimeout(temptimer);
}, 50);
}