$(function() {
$(".win-homepage").click(function() {
if (document.all) {
document.body.style.behavior = "url(#default#homepage)";
document.body.setHomePage(document.URL)
} else {
alert("设置首页失败,请手动设置!")
}
});
$(".win-favorite").click(function() {
var sURL = document.URL;
var sTitle = document.title;
try {
window.external.addFavorite(sURL, sTitle)
} catch (e) {
try {
window.sidebar.addPanel(sTitle, sURL, "")
} catch (e) {
alert("加入收藏失败,请使用Ctrl+D进行添加")
}
}
});
$(".win-forward").click(function() {
window.history.forward(1)
});
$(".win-back").click(function() {
window.history.back(-1)
});
$(".win-backtop").click(function() {
$("body,html").animate({
scrollTop: 0
}, 1000);
return false
});
$(".win-refresh").click(function() {
window.location.reload()
});
$(".win-print").click(function() {
window.print()
});
$(".win-close").click(function() {
window.close()
});
$(".checkall").click(function() {
var e = $(this);
var name = e.attr("name");
var checkfor = e.attr("checkfor");
var type;
if (checkfor != "" && checkfor != null && checkfor != undefined) {
type = e.closest("form").find("input[name='" + checkfor + "']")
} else {
type = e.closest("form").find("input[type='checkbox']")
}
if (name == "checkall") {
$(type).each(function(index, element) {
element.checked = true
});
e.attr("name", "ok")
} else {
$(type).each(function(index, element) {
element.checked = false
});
e.attr("name", "checkall")
}
});
$(".dropdown-toggle").click(function() {
$(this).closest(".button-group, .drop").addClass("open")
});
$(".dropdown-hover").hover(function() {
$(".button-group, .drop").removeClass("open");
$(this).closest(".button-group, .drop").addClass("open")
}, function() {});
$(document).bind("click", function(e) {
if ($(e.target).closest(".button-group.open, .drop.open").length == 0) {
$(".button-group, .drop").removeClass("open")
}
});
$checkplaceholder = function() {
var input = document.createElement("input");
return "placeholder" in input
};
$placeholder = function placeholder(element) {
if ($(element).val() == "" && ($(element).attr("placeholder") || $emptyplaceholder(element))) {
$(element).val($(element).attr("placeholder"));
$(element).data("pintuerholder", $(element).css("color"));
$(element).css("color", "rgb(169,169,169)");
$(element).focus(function() {
$hideplaceholder($(this))
});
$(element).blur(function() {
$showplaceholder($(this))
})
}
};
if (!$checkplaceholder()) {
$("textarea[placeholder], input[placeholder]").each(function(index, element) {
$placeholder(element)
})
}
$emptyplaceholder = function(element) {
var $content = $(element).val();
return ($content.length === 0) || $content == $(element).attr("placeholder")
};
$showplaceholder = function(element) {
if (($(element).val().length === 0 || $(element).val() == $(element).attr("placeholder")) && $(
element).attr("type") != "password") {
$(element).val($(element).attr("placeholder"));
$(element).data("pintuerholder", $(element).css("color"));
$(element).css("color", "rgb(169,169,169)")
}
};
$hideplaceholder = function(element) {
if ($(element).data("pintuerholder")) {
$(element).val("");
$(element).css("color", $(element).data("pintuerholder"));
$(element).removeData("pintuerholder")
}
};
$("textarea, input, select").blur(function() {
var e = $(this);
if (e.attr("data-validate")) {
e.closest(".field").find(".input-help").remove();
var $checkdata = e.attr("data-validate").split(",");
var $checkvalue = e.val();
var $checkstate = true;
var $checktext = "";
if (e.attr("placeholder") == $checkvalue) {
$checkvalue = ""
}
if ($checkvalue != "" || e.attr("data-validate").indexOf("required") >= 0) {
for (var i = 0; i < $checkdata.length; i++) {
var $checktype = $checkdata[i].split(":");
if (!$pintuercheck(e, $checktype[0], $checkvalue)) {
$checkstate = false;
$checktext = $checktext + "
" + $checktype[1] + ""
}
}
}
if ($checkstate) {
e.closest(".form-group").removeClass("check-error");
e.parent().find(".input-help").remove();
e.closest(".form-group").addClass("check-success")
} else {
e.closest(".form-group").removeClass("check-success");
e.closest(".form-group").addClass("check-error");
e.closest(".field").append('")
}
}
if (!$checkplaceholder()) {
$placeholder(e)
}
});
$pintuercheck = function(element, type, value) {
$pintu = value.replace(/(^\s*)|(\s*$)/g, "");
switch (type) {
case "required":
return /[^(^\s*)|(\s*$)]/.test($pintu);
break;
case "chinese":
return /^[\u0391-\uFFE5]+$/.test($pintu);
break;
case "number":
return /^([+-]?)\d*\.?\d+$/.test($pintu);
break;
case "integer":
return /^-?[1-9]\d*$/.test($pintu);
break;
case "plusinteger":
return /^[1-9]\d*$/.test($pintu);
break;
case "unplusinteger":
return /^-[1-9]\d*$/.test($pintu);
break;
case "znumber":
return /^[1-9]\d*|0$/.test($pintu);
break;
case "fnumber":
return /^-[1-9]\d*|0$/.test($pintu);
break;
case "double":
return /^[-\+]?\d+(\.\d+)?$/.test($pintu);
break;
case "plusdouble":
return /^[+]?\d+(\.\d+)?$/.test($pintu);
break;
case "unplusdouble":
return /^-[1-9]\d*\.\d*|-0\.\d*[1-9]\d*$/.test($pintu);
break;
case "english":
return /^[A-Za-z]+$/.test($pintu);
break;
case "username":
return /^[a-z]\w{3,}$/i.test($pintu);
break;
case "mobile":
return /^\s*(15\d{9}|13\d{9}|14\d{9}|17\d{9}|18\d{9})\s*$/.test($pintu);
break;
case "phone":
return /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/.test(
$pintu);
break;
case "tel":
return /^((\(\d{3}\))|(\d{3}\-))?13[0-9]\d{8}?$|15[89]\d{8}?$|170\d{8}?$|147\d{8}?$/.test(
$pintu) ||
/^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/.test(
$pintu);
break;
case "email":
return /^[^@]+@[^@]+\.[^@]+$/.test($pintu);
break;
case "url":
return /^https:|http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/.test(
$pintu);
break;
case "ip":
return /^[\d\.]{7,15}$/.test($pintu);
break;
case "qq":
return /^[1-9]\d{4,10}$/.test($pintu);
break;
case "currency":
return /^\d+(\.\d+)?$/.test($pintu);
break;
case "zipcode":
return /^[1-9]\d{5}$/.test($pintu);
break;
case "chinesename":
return /^[\u0391-\uFFE5]{2,15}$/.test($pintu);
break;
case "englishname":
return /^[A-Za-z]{1,161}$/.test($pintu);
break;
case "age":
return /^[1-99]?\d*$/.test($pintu);
break;
case "date":
return /^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$/
.test($pintu);
break;
case "datetime":
return /^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d$/
.test($pintu);
break;
case "idcard":
return /^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/.test($pintu);
break;
case "bigenglish":
return /^[A-Z]+$/.test($pintu);
break;
case "smallenglish":
return /^[a-z]+$/.test($pintu);
break;
case "color":
return /^#[0-9a-fA-F]{6}$/.test($pintu);
break;
case "ascii":
return /^[\x00-\xFF]+$/.test($pintu);
break;
case "md5":
return /^([a-fA-F0-9]{32})$/.test($pintu);
break;
case "zip":
return /(.*)\.(rar|zip|7zip|tgz)$/.test($pintu);
break;
case "img":
return /(.*)\.(jpg|gif|ico|jpeg|png)$/.test($pintu);
break;
case "doc":
return /(.*)\.(doc|xls|docx|xlsx|pdf)$/.test($pintu);
break;
case "mp3":
return /(.*)\.(mp3)$/.test($pintu);
break;
case "video":
return /(.*)\.(rm|rmvb|wmv|avi|mp4|3gp|mkv)$/.test($pintu);
break;
case "flash":
return /(.*)\.(swf|fla|flv)$/.test($pintu);
break;
case "radio":
var radio = element.closest("form").find('input[name="' + element.attr("name") +
'"]:checked').length;
return eval(radio == 1);
break;
default:
var $test = type.split("#");
if ($test.length > 1) {
switch ($test[0]) {
case "compare":
return eval(Number($pintu) + $test[1]);
break;
case "regexp":
return new RegExp($test[1], "gi").test($pintu);
break;
case "length":
var $length;
if (element.attr("type") == "checkbox") {
$length = element.closest("form").find('input[name="' + element.attr("name") +
'"]:checked').length
} else {
$length = $pintu.replace(/[\u4e00-\u9fa5]/g, "***").length
}
return eval($length + $test[1]);
break;
case "ajax":
var $getdata;
var $url = $test[1] + $pintu;
$.ajaxSetup({
async: false
});
$.getJSON($url, function(data) {
$getdata = data.getdata
});
if ($getdata == "true") {
return true
}
break;
case "repeat":
return $pintu == jQuery('input[name="' + $test[1] + '"]').eq(0).val();
break;
default:
return true;
break
}
break
} else {
return true
}
}
};
$("form").submit(function() {
$(this).find("input[data-validate],textarea[data-validate],select[data-validate]").trigger(
"blur");
$(this).find("input[placeholder],textarea[placeholder]").each(function() {
$hideplaceholder($(this))
});
var numError = $(this).find(".check-error").length;
if (numError) {
$(this).find(".check-error").first().find(
"input[data-validate],textarea[data-validate],select[data-validate]").first().focus()
.select();
return false
}
});
$(".form-reset").click(function() {
$(this).closest("form").find(".input-help").remove();
$(this).closest("form").find(".form-submit").removeAttr("disabled");
$(this).closest("form").find(".form-group").removeClass("check-error");
$(this).closest("form").find(".form-group").removeClass("check-success")
});
$(".tab .tab-nav li").each(function() {
var e = $(this);
var trigger = e.closest(".tab").attr("data-toggle");
if (trigger == "hover") {
e.mouseover(function() {
$showtabs(e)
});
e.click(function() {
return false
})
} else {
e.click(function() {
$showtabs(e);
return false
})
}
});
$(".slidemenu .icon-slidemenu").click(function() {
$(".slidemenu .slidemenu-left,.slidemenu .slidemenu-right").toggle("slow")
});
$.fn.ajaxSubmit = function(fn) {
$(this).find("input[data-validate],textarea[data-validate],select[data-validate]").trigger("blur");
$(this).find("input[placeholder],textarea[placeholder]").each(function() {
$hideplaceholder($(this))
});
var numError = $(this).find(".check-error").length;
if (numError) {
$(this).find(".check-error").first().find(
"input[data-validate],textarea[data-validate],select[data-validate]").first().focus().select();
return false
}
if (fn && typeof fn == "function") {
fn()
}
};
$showtabs = function(e) {
var detail = e.children("a").attr("href");
e.closest(".tab .tab-nav").find("li").removeClass("active");
e.closest(".tab").find(".tab-body .tab-panel").removeClass("active");
e.addClass("active");
$(detail).addClass("active")
};
$(".dialogs").each(function() {
var e = $(this);
var trigger = e.attr("data-toggle");
if (trigger == "hover") {
e.mouseover(function() {
$showdialogs(e)
})
} else {
if (trigger == "click") {
e.click(function() {
$showdialogs(e)
})
}
}
});
$showdialogs = function(e) {
var trigger = e.attr("data-toggle");
var getid = e.attr("data-target");
var data = e.attr("data-url");
var mask = e.attr("data-mask");
var width = e.attr("data-width");
var detail = "";
var masklayout = $('');
var temp = "";
if (width == null) {
width = "80%"
}
if (mask == "1") {
$("body").append(masklayout)
}
detail = '';
if (getid != null) {
detail = detail + $(getid).html();
temp = $(getid).detach()
}
if (data != null) {
detail = detail + $.ajax({
url: data,
async: false
}).responseText
}
detail = detail + "
";
var win = $(detail);
win.find(".dialog").addClass("open");
$("body").append(win);
var x = parseInt($(window).width() - win.outerWidth()) / 2;
var y = parseInt($(window).height() - win.outerHeight()) / 2;
if (y <= 10) {
y = 10
}
win.css({
"left": x,
"top": y
});
win.find(".dialog-close,.close").each(function() {
$(this).click(function() {
win.remove();
$(".dialog-mask").remove();
$("body").prepend(temp)
})
});
masklayout.click(function() {
win.remove();
$(this).remove();
$("body").prepend(temp)
})
};
$(".tips").each(function() {
var e = $(this);
var title = e.attr("title");
var trigger = e.attr("data-toggle");
e.attr("title", "");
if (trigger == "" || trigger == null) {
trigger = "hover"
}
if (trigger == "hover") {
e.mouseover(function() {
$showtips(e, title)
})
} else {
if (trigger == "click") {
e.click(function() {
$showtips(e, title)
})
} else {
if (trigger == "show") {
e.ready(function() {
$showtips(e, title)
})
}
}
}
});
$showtips = function(e, title) {
var trigger = e.attr("data-toggle");
var place = e.attr("data-place");
var width = e.attr("data-width");
var css = e.attr("data-style");
var image = e.attr("data-image");
var content = e.attr("content");
var getid = e.attr("data-target");
var data = e.attr("data-url");
var x = 0;
var y = 0;
var html = "";
var detail = "";
if (image != null) {
detail = detail + ''
}
if (content != null) {
detail = detail + '' + content + "
"
}
if (getid != null) {
detail = detail + $(getid).html()
}
if (data != null) {
detail = detail + $.ajax({
url: data,
async: false
}).responseText
}
if (title != null && title != "") {
if (detail != null && detail != "") {
detail = '' + title + "
" + detail
} else {
detail = '' + title + "
"
}
e.attr("title", "")
}
detail = '' + detail + "
";
html = $(detail);
$("body").append(html);
if (width != null) {
html.css("width", width)
}
if (place == "" || place == null) {
place = "top"
}
if (place == "left") {
x = e.offset().left - html.outerWidth() - 5;
y = e.offset().top - html.outerHeight() / 2 + e.outerHeight() / 2
} else {
if (place == "top") {
x = e.offset().left - html.outerWidth() / 2 + e.outerWidth() / 2;
y = e.offset().top - html.outerHeight() - 5
} else {
if (place == "right") {
x = e.offset().left + e.outerWidth() + 5;
y = e.offset().top - html.outerHeight() / 2 + e.outerHeight() / 2
} else {
if (place == "bottom") {
x = e.offset().left - html.outerWidth() / 2 + e.outerWidth() / 2;
y = e.offset().top + e.outerHeight() + 5
}
}
}
}
if (css != "") {
html.addClass(css)
}
html.css({
"left": x + "px",
"top": y + "px",
"position": "absolute"
});
if (trigger == "hover" || trigger == "click" || trigger == null) {
e.mouseout(function() {
html.remove();
e.attr("title", title)
})
}
};
$(".alert .close").each(function() {
$(this).click(function() {
$(this).closest(".alert").remove()
})
});
$(".radio label").each(function() {
var e = $(this);
e.click(function() {
e.closest(".radio").find("label").removeClass("active");
e.addClass("active")
})
});
$(".checkbox label").each(function() {
var e = $(this);
e.click(function() {
if (e.find("input").is(":checked")) {
e.addClass("active")
} else {
e.removeClass("active")
}
})
});
$(".collapse .panel-head").each(function() {
var e = $(this);
e.click(function() {
e.closest(".collapse").find(".panel").removeClass("active");
e.closest(".panel").addClass("active")
})
});
$(".collapse-toggle .panel-head").each(function() {
var e = $(this);
e.click(function() {
e.closest(".panel").toggleClass("active")
})
});
$(".icon-navicon").each(function() {
var e = $(this);
var target = e.attr("data-target");
e.click(function() {
$(target).toggleClass("nav-navicon")
})
});
$(".banner").each(function() {
var e = $(this);
var pointer = e.attr("data-pointer");
var interval = e.attr("data-interval");
var style = e.attr("data-style");
var items = e.attr("data-item");
var items_s = e.attr("data-small");
var items_m = e.attr("data-middle");
var items_b = e.attr("data-big");
var num = e.find(".carousel .item").length;
var win = $(window).width();
var i = 1;
if (interval == null) {
interval = 5
}
if (items == null || items < 1) {
items = 1
}
if (items_s != null && win > 760) {
items = items_s
}
if (items_m != null && win > 1000) {
items = items_m
}
if (items_b != null && win > 1200) {
items = items_b
}
var itemWidth = Math.ceil(e.outerWidth() / items);
var page = Math.ceil(num / items);
e.find(".carousel .item").css("width", itemWidth + "px");
e.find(".carousel").css("width", itemWidth * num + "px");
var carousel = function() {
i++;
if (i > page) {
i = 1
}
$showbanner(e, i, items, num)
};
var play = setInterval(carousel, interval * 600);
e.mouseover(function() {
clearInterval(play)
});
e.mouseout(function() {
play = setInterval(carousel, interval * 600)
});
if (pointer != 0 && page > 1) {
var point = '';
for (var j = 1; j < page; j++) {
point = point + ' '
}
point = point + "
";
var pager = $(point);
if (style != null) {
pager.addClass(style)
}
e.append(pager);
pager.css("left", e.outerWidth() * 0.5 - pager.outerWidth() * 0.5 + "px");
pager.find("li").click(function() {
$showbanner(e, $(this).val(), items, num)
});
var lefter = $('');
var righter = $('');
if (style != null) {
lefter.addClass(style);
righter.addClass(style)
}
e.append(lefter);
e.append(righter);
lefter.click(function() {
i--;
if (i < 1) {
i = page
}
$showbanner(e, i, items, num)
});
righter.click(function() {
i++;
if (i > page) {
i = 1
}
$showbanner(e, i, items, num)
})
}
});
$showbanner = function(e, i, items, num) {
var after = 0,
leftx = 0;
leftx = -Math.ceil(e.outerWidth() / items) * (items) * (i - 1);
if (i * items > num) {
after = i * items - num;
leftx = -Math.ceil(e.outerWidth() / items) * (num - items)
}
e.find(".carousel").stop(true, true).animate({
"left": leftx + "px"
}, 800);
e.find(".pointer li").removeClass("active");
e.find(".pointer li").eq(i - 1).addClass("active")
};
$(".spy a").each(function() {
var e = $(this);
var t = e.closest(".spy");
var target = t.attr("data-target");
var top = t.attr("data-offset-spy");
var thistarget = "";
var thistop = "";
if (top == null) {
top = 0
}
if (target == null) {
thistarget = $(window)
} else {
thistarget = $(target)
}
thistarget.bind("scroll", function() {
if (target == null) {
thistop = $(e.attr("href")).offset().top - $(window).scrollTop() - parseInt(top)
} else {
thistop = $(e.attr("href")).offset().top - thistarget.offset().top - parseInt(
top)
}
if (thistop < 0) {
t.find("li").removeClass("active");
e.parents("li").addClass("active")
}
})
});
$(".fixed").each(function() {
var e = $(this);
var style = e.attr("data-style");
var top = e.attr("data-offset-fixed");
if (top == null) {
top = e.offset().top
} else {
top = e.offset().top - parseInt(top)
}
if (style == null) {
style = "fixed-top"
}
$(window).bind("scroll", function() {
var thistop = top - $(window).scrollTop();
if (style == "fixed-top" && thistop < 0) {
e.addClass("fixed-top")
} else {
e.removeClass("fixed-top")
}
var thisbottom = top - $(window).scrollTop() - $(window).height();
if (style == "fixed-bottom" && thisbottom > 0) {
e.addClass("fixed-bottom")
} else {
e.removeClass("fixed-bottom")
}
})
});
$(".wx-share-btn").click(function() {
$(".wx-share").show()
});
$(".wx-share").click(function() {
$(this).hide()
});
$(".wx-comments-input").keydown(function() {
var txt_num = (120 - parseInt($(this).val().length));
$(".wx-comments-num").html(txt_num)
})
});