').addClass("formErrorContent").html(promptText).appendTo(prompt);
// create the css arrow pointing at the field
// note that there is no triangle on max-checkbox and radio
if (options.showArrow) {
var arrow = $('
').addClass("formErrorArrow");
//prompt positioning adjustment support. Usage: positionType:Xshift,Yshift (for ex.: bottomLeft:+20 or bottomLeft:-20,+10)
var positionType=field.data("promptPosition") || options.promptPosition;
if (typeof(positionType)=='string')
{
var pos=positionType.indexOf(":");
if(pos!=-1)
positionType=positionType.substring(0,pos);
}
switch (positionType) {
case "bottomLeft":
case "bottomRight":
prompt.find(".formErrorContent").before(arrow);
arrow.addClass("formErrorArrowBottom").html('
');
break;
case "topLeft":
case "topRight":
arrow.html('
');
prompt.append(arrow);
break;
}
}
// Modify z-indexes for jquery ui
if (field.closest('.ui-dialog').length)
prompt.addClass('formErrorInsideDialog');
prompt.css({
"opacity": 0,
'position':'absolute'
});
field.before(prompt);
var pos = methods._calculatePosition(field, prompt, options);
prompt.css({
"top": pos.callerTopPosition,
"left": pos.callerleftPosition,
"marginTop": pos.marginTopSize,
"opacity": 0
}).data("callerField", field);
if (options.autoHidePrompt) {
setTimeout(function(){
prompt.animate({
"opacity": 0
},function(){
prompt.closest('.formErrorOuter').remove();
prompt.remove();
});
}, options.autoHideDelay);
}
return prompt.animate({
"opacity": 0.87
});
},
/**
* Updates the prompt text field - the field for which the prompt
* @param {jqObject} field
* @param {String} promptText html text to display type
* @param {String} type the type of bubble: 'pass' (green), 'load' (black) anything else (red)
* @param {boolean} ajaxed - use to mark fields than being validated with ajax
* @param {Map} options user options
*/
_updatePrompt: function(field, prompt, promptText, type, ajaxed, options, noAnimation) {
if (prompt) {
if (typeof type !== "undefined") {
if (type == "pass")
prompt.addClass("greenPopup");
else
prompt.removeClass("greenPopup");
if (type == "load")
prompt.addClass("blackPopup");
else
prompt.removeClass("blackPopup");
}
if (ajaxed)
prompt.addClass("ajaxed");
else
prompt.removeClass("ajaxed");
prompt.find(".formErrorContent").html(promptText);
var pos = methods._calculatePosition(field, prompt, options);
var css = {"top": pos.callerTopPosition,
"left": pos.callerleftPosition,
"marginTop": pos.marginTopSize};
if (noAnimation)
prompt.css(css);
else
prompt.animate(css);
}
},
/**
* Closes the prompt associated with the given field
*
* @param {jqObject}
* field
*/
_closePrompt: function(field) {
var prompt = methods._getPrompt(field);
if (prompt)
prompt.fadeTo("fast", 0, function() {
prompt.parent('.formErrorOuter').remove();
prompt.remove();
});
},
closePrompt: function(field) {
return methods._closePrompt(field);
},
/**
* Returns the error prompt matching the field if any
*
* @param {jqObject}
* field
* @return undefined or the error prompt (jqObject)
*/
_getPrompt: function(field) {
var formId = $(field).closest('form').attr('id');
var className = methods._getClassName(field.attr("id")) + "formError";
var match = $("." + methods._escapeExpression(className) + '.parentForm' + formId)[0];
if (match)
return $(match);
},
/**
* Returns the escapade classname
*
* @param {selector}
* className
*/
_escapeExpression: function (selector) {
return selector.replace(/([#;&,\.\+\*\~':"\!\^$\[\]\(\)=>\|])/g, "\\$1");
},
/**
* returns true if we are in a RTLed document
*
* @param {jqObject} field
*/
isRTL: function(field)
{
var $document = $(document);
var $body = $('body');
var rtl =
(field && field.hasClass('rtl')) ||
(field && (field.attr('dir') || '').toLowerCase()==='rtl') ||
$document.hasClass('rtl') ||
($document.attr('dir') || '').toLowerCase()==='rtl' ||
$body.hasClass('rtl') ||
($body.attr('dir') || '').toLowerCase()==='rtl';
return Boolean(rtl);
},
/**
* Calculates prompt position
*
* @param {jqObject}
* field
* @param {jqObject}
* the prompt
* @param {Map}
* options
* @return positions
*/
_calculatePosition: function (field, promptElmt, options) {
var promptTopPosition, promptleftPosition, marginTopSize;
var fieldWidth = field.width();
var fieldLeft = field.position().left;
var fieldTop = field.position().top;
var fieldHeight = field.height();
var promptHeight = promptElmt.height();
// is the form contained in an overflown container?
promptTopPosition = promptleftPosition = 0;
// compensation for the arrow
marginTopSize = -promptHeight;
//prompt positioning adjustment support
//now you can adjust prompt position
//usage: positionType:Xshift,Yshift
//for example:
// bottomLeft:+20 means bottomLeft position shifted by 20 pixels right horizontally
// topRight:20, -15 means topRight position shifted by 20 pixels to right and 15 pixels to top
//You can use +pixels, - pixels. If no sign is provided than + is default.
var positionType=field.data("promptPosition") || options.promptPosition;
var shift1="";
var shift2="";
var shiftX=0;
var shiftY=0;
if (typeof(positionType)=='string') {
//do we have any position adjustments ?
if (positionType.indexOf(":")!=-1) {
shift1=positionType.substring(positionType.indexOf(":")+1);
positionType=positionType.substring(0,positionType.indexOf(":"));
//if any advanced positioning will be needed (percents or something else) - parser should be added here
//for now we use simple parseInt()
//do we have second parameter?
if (shift1.indexOf(",") !=-1) {
shift2=shift1.substring(shift1.indexOf(",") +1);
shift1=shift1.substring(0,shift1.indexOf(","));
shiftY=parseInt(shift2);
if (isNaN(shiftY)) shiftY=0;
};
shiftX=parseInt(shift1);
if (isNaN(shift1)) shift1=0;
};
};
switch (positionType) {
default:
case "topRight":
promptleftPosition += fieldLeft + fieldWidth - 30;
promptTopPosition += fieldTop;
break;
case "topLeft":
promptTopPosition += fieldTop;
promptleftPosition += fieldLeft;
break;
case "centerRight":
promptTopPosition = fieldTop+4;
marginTopSize = 0;
promptleftPosition= fieldLeft + field.outerWidth(true)+5;
break;
case "centerLeft":
promptleftPosition = fieldLeft - (promptElmt.width() + 2);
promptTopPosition = fieldTop+4;
marginTopSize = 0;
break;
case "bottomLeft":
promptTopPosition = fieldTop + field.height() + 5;
marginTopSize = 0;
promptleftPosition = fieldLeft;
break;
case "bottomRight":
promptleftPosition = fieldLeft + fieldWidth - 30;
promptTopPosition = fieldTop + field.height() + 5;
marginTopSize = 0;
};
//apply adjusments if any
promptleftPosition += shiftX;
promptTopPosition += shiftY;
return {
"callerTopPosition": promptTopPosition + "px",
"callerleftPosition": promptleftPosition + "px",
"marginTopSize": marginTopSize + "px"
};
},
/**
* Saves the user options and variables in the form.data
*
* @param {jqObject}
* form - the form where the user option should be saved
* @param {Map}
* options - the user options
* @return the user options (extended from the defaults)
*/
_saveOptions: function(form, options) {
// is there a language localisation ?
if ($.validationEngineLanguage)
var allRules = $.validationEngineLanguage.allRules;
else
$.error("jQuery.validationEngine rules are not loaded, plz add localization files to the page");
// --- Internals DO NOT TOUCH or OVERLOAD ---
// validation rules and i18
$.validationEngine.defaults.allrules = allRules;
var userOptions = $.extend(true,{},$.validationEngine.defaults,options);
form.data('jqv', userOptions);
return userOptions;
},
/**
* Removes forbidden characters from class name
* @param {String} className
*/
_getClassName: function(className) {
if(className)
return className.replace(/:/g, "_").replace(/\./g, "_");
},
/**
* Escape special character for jQuery selector
* http://totaldev.com/content/escaping-characters-get-valid-jquery-id
* @param {String} selector
*/
_jqSelector: function(str){
return str.replace(/([;&,\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g, '\\$1');
},
/**
* Conditionally required field
*
* @param {jqObject} field
* @param {Array[String]} rules
* @param {int} i rules index
* @param {Map}
* user options
* @return an error string if validation failed
*/
_condRequired: function(field, rules, i, options) {
var idx, dependingField;
for(idx = (i + 1); idx < rules.length; idx++) {
dependingField = jQuery("#" + rules[idx]).first();
/* Use _required for determining wether dependingField has a value.
* There is logic there for handling all field types, and default value; so we won't replicate that here
*/
if (dependingField.length && methods._required(dependingField, ["required"], 0, options) == undefined) {
/* We now know any of the depending fields has a value,
* so we can validate this field as per normal required code
*/
return methods._required(field, ["required"], 0, options);
}
}
}
};
/**
* Plugin entry point.
* You may pass an action as a parameter or a list of options.
* if none, the init and attach methods are being called.
* Remember: if you pass options, the attached method is NOT called automatically
*
* @param {String}
* method (optional) action
*/
$.fn.validationEngine = function(method) {
var form = $(this);
if(!form[0]) return form; // stop here if the form does not exist
if (typeof(method) == 'string' && method.charAt(0) != '_' && methods[method]) {
// make sure init is called once
if(method != "showPrompt" && method != "hide" && method != "hideAll")
methods.init.apply(form);
return methods[method].apply(form, Array.prototype.slice.call(arguments, 1));
} else if (typeof method == 'object' || !method) {
// default constructor with or without arguments
methods.init.apply(form, arguments);
return methods.attach.apply(form);
} else {
$.error('Method ' + method + ' does not exist in jQuery.validationEngine');
}
};
// LEAK GLOBAL OPTIONS
$.validationEngine= {fieldIdCounter: 0,defaults:{
// Name of the event triggering field validation
validationEventTrigger: "blur",
// Automatically scroll viewport to the first error
scroll: true,
// Focus on the first input
focusFirstField:true,
// Opening box position, possible locations are: topLeft,
// topRight, bottomLeft, centerRight, bottomRight
promptPosition: "topRight",
bindMethod:"bind",
// internal, automatically set to true when it parse a _ajax rule
inlineAjax: false,
// if set to true, the form data is sent asynchronously via ajax to the form.action url (get)
ajaxFormValidation: false,
// The url to send the submit ajax validation (default to action)
ajaxFormValidationURL: false,
// HTTP method used for ajax validation
ajaxFormValidationMethod: 'get',
// Ajax form validation callback method: boolean onComplete(form, status, errors, options)
// retuns false if the form.submit event needs to be canceled.
onAjaxFormComplete: $.noop,
// called right before the ajax call, may return false to cancel
onBeforeAjaxFormValidation: $.noop,
// Stops form from submitting and execute function assiciated with it
onValidationComplete: false,
// Used when you have a form fields too close and the errors messages are on top of other disturbing viewing messages
doNotShowAllErrosOnSubmit: false,
// Object where you store custom messages to override the default error messages
custom_error_messages:{},
// true if you want to vind the input fields
binded: true,
// set to true, when the prompt arrow needs to be displayed
showArrow: true,
// did one of the validation fail ? kept global to stop further ajax validations
isError: false,
// Limit how many displayed errors a field can have
maxErrorsPerField: false,
// Caches field validation status, typically only bad status are created.
// the array is used during ajax form validation to detect issues early and prevent an expensive submit
ajaxValidCache: {},
// Auto update prompt position after window resize
autoPositionUpdate: false,
InvalidFields: [],
onFieldSuccess: false,
onFieldFailure: false,
onFormSuccess: false,
onFormFailure: false,
addSuccessCssClassToField: false,
addFailureCssClassToField: false,
// Auto-hide prompt
autoHidePrompt: true,
// Delay before auto-hide
autoHideDelay: 5000,
// Fade out duration while hiding the validations
fadeDuration: 0.3,
// Use Prettify select library
prettySelect: false,
// Custom ID uses prefix
usePrefix: "",
// Custom ID uses suffix
useSuffix: "",
// Only show one message per error prompt
showOneMessage: false
}};
$(function(){$.validationEngine.defaults.promptPosition = methods.isRTL()?'topRight':"topRight"});
})(jQuery);
jQuery(document).ready(function(){
jQuery(".number").keypress(function(event){
var controlKeys = [8, 9, 13, 35, 36, 37, 39];
// IE doesn't support indexOf
var isControlKey = controlKeys.join(",").match(new RegExp(event.which));
// Some browsers just don't raise events for control keys. Easy.
// e.g. Safari backspace.
if (!event.which || // Control keys in most browsers. e.g. Firefox tab is 0
(48 <= event.which && event.which <= 57) || // Always 1 through 9
isControlKey) { // Opera assigns values for control keys.
return;
} else {
event.preventDefault();
}
});
jQuery.support.placeholder != (function(){
//if browser doesn't support placeholder fix
jQuery('input[type="text"]:visible').each(function(){
var title = jQuery(this).attr("placeholder");
if(jQuery(this).val()==""){
jQuery(this).val(title);
}
});
jQuery('input[type="text"]').keydown(function(){
var title = jQuery(this).attr("placeholder");
if(jQuery(this).val()==title){
jQuery(this).val("");
}
});
jQuery('input[type="text"]').hover(function(){
if(jQuery(this).val()==jQuery(this).attr("placeholder")){
jQuery(this).val("");
}
}, function(){
var title = jQuery(this).attr("placeholder");
if(jQuery(this).val()==""){
jQuery(this).val(title);
}
});
})();
});
jQuery.fn.extend({
plc: function () {
//if browser doesn't support placeholder fix
jQuery('input[type="text"]:visible').each(function(){
var title = jQuery(this).attr("placeholder");
if(jQuery(this).val()==""){
jQuery(this).val(title);
}
});
jQuery('input[type="text"]').keydown(function(){
var title = jQuery(this).attr("placeholder");
if(jQuery(this).val()==title){
jQuery(this).val("");
}
});
jQuery('input[type="text"]').hover(function(){
if(jQuery(this).val()==jQuery(this).attr("placeholder")){
jQuery(this).val("");
}
}, function(){
var title = jQuery(this).attr("placeholder");
if(jQuery(this).val()==""){
jQuery(this).val(title);
}
});
}
});(function ($) {
"use strict";
var bootsnav = {
initialize: function() {
this.event();
this.hoverDropdown();
this.navbarSticky();
this.navbarScrollspy();
},
event : function(){
// ------------------------------------------------------------------------------ //
// Variable
// ------------------------------------------------------------------------------ //
var getNav = $("nav.navbar.bootsnav");
// ------------------------------------------------------------------------------ //
// Navbar Sticky
// ------------------------------------------------------------------------------ //
var navSticky = getNav.hasClass("navbar-sticky");
if( navSticky ){
// Wraped navigation
getNav.wrap("
");
}
// ------------------------------------------------------------------------------ //
// Navbar Center
// ------------------------------------------------------------------------------ //
if( getNav.hasClass("brand-center")){
var postsArr = new Array(),
index = $("nav.brand-center"),
$postsList = index.find('ul.navbar-nav');
//Create array of all posts in lists
index.find('ul.navbar-nav > li').each(function(){
postsArr.push($(this).html());
});
//Split the array at this point. The original array is altered.
var firstList = postsArr.splice(0, Math.round(postsArr.length / 2)),
secondList = postsArr,
ListHTML = '';
var createHTML = function(list){
ListHTML = '';
for (var i = 0; i < list.length; i++) {
ListHTML += '
' + list[i] + ''
}
}
//Generate HTML for first list
createHTML(firstList);
$postsList.html(ListHTML);
index.find("ul.nav").first().addClass("navbar-left");
//Generate HTML for second list
createHTML(secondList);
//Create new list after original one
$postsList.after('
').next().html(ListHTML);
index.find("ul.nav").last().addClass("navbar-right");
//Wrap navigation menu
index.find("ul.nav.navbar-left").wrap("
");
index.find("ul.nav.navbar-right").wrap("
");
//Selection Class
index.find('ul.navbar-nav > li').each(function(){
var dropDown = $("ul.dropdown-menu", this),
megaMenu = $("ul.megamenu-content", this);
dropDown.closest("li").addClass("dropdown");
megaMenu.closest("li").addClass("megamenu-fw");
});
}
// ------------------------------------------------------------------------------ //
// Navbar Sidebar
// ------------------------------------------------------------------------------ //
if( getNav.hasClass("navbar-sidebar")){
// Add Class to body
$("body").addClass("wrap-nav-sidebar");
getNav.wrapInner("
");
}else{
$(".bootsnav").addClass("on");
}
// ------------------------------------------------------------------------------ //
// Menu Center
// ------------------------------------------------------------------------------ //
if( getNav.find("ul.nav").hasClass("navbar-center")){
getNav.addClass("menu-center");
}
// ------------------------------------------------------------------------------ //
// Navbar Full
// ------------------------------------------------------------------------------ //
if( getNav.hasClass("navbar-full")){
// Add Class to body
$("nav.navbar.bootsnav").find("ul.nav").wrap("");
$(".wrap-full-menu").wrap("
");
$("ul.nav.navbar-nav").prepend("");
}else if( getNav.hasClass("navbar-mobile")){
getNav.removeClass("no-full");
}else{
getNav.addClass("no-full");
}
// ------------------------------------------------------------------------------ //
// Navbar Mobile
// ------------------------------------------------------------------------------ //
if( getNav.hasClass("navbar-mobile")){
// Add Class to body
$('.navbar-collapse').on('shown.bs.collapse', function() {
$("body").addClass("side-right");
});
$('.navbar-collapse').on('hide.bs.collapse', function() {
$("body").removeClass("side-right");
});
$(window).on("resize", function(){
$("body").removeClass("side-right");
});
}
// ------------------------------------------------------------------------------ //
// Navbar Fixed
// ------------------------------------------------------------------------------ //
if( getNav.hasClass("no-background")){
$(window).on("scroll", function(){
var scrollTop = $(window).scrollTop();
if(scrollTop >34){
$(".navbar-fixed").removeClass("no-background");
}else {
$(".navbar-fixed").addClass("no-background");
}
});
}
// ------------------------------------------------------------------------------ //
// Navbar Fixed
// ------------------------------------------------------------------------------ //
if( getNav.hasClass("navbar-transparent")){
$(window).on("scroll", function(){
var scrollTop = $(window).scrollTop();
if(scrollTop >34){
$(".navbar-fixed").removeClass("navbar-transparent");
}else {
$(".navbar-fixed").addClass("navbar-transparent");
}
});
}
// ------------------------------------------------------------------------------ //
// Button Cart
// ------------------------------------------------------------------------------ //
$(".btn-cart").on("click", function(e){
e.stopPropagation();
});
// ------------------------------------------------------------------------------ //
// Toggle Search
// ------------------------------------------------------------------------------ //
$("nav.navbar.bootsnav .attr-nav").each(function(){
$("li.search > a", this).on("click", function(e){
e.preventDefault();
$(".top-search").slideToggle();
});
});
$(".input-group-addon.close-search").on("click", function(){
$(".top-search").slideUp();
});
// ------------------------------------------------------------------------------ //
// Toggle Side Menu
// ------------------------------------------------------------------------------ //
$("nav.navbar.bootsnav .attr-nav").each(function(){
$("li.side-menu > a", this).on("click", function(e){
e.preventDefault();
$("nav.navbar.bootsnav > .side").toggleClass("on");
$("body").toggleClass("on-side");
});
});
$(".side .close-side").on("click", function(e){
e.preventDefault();
$("nav.navbar.bootsnav > .side").removeClass("on");
$("body").removeClass("on-side");
});
// ------------------------------------------------------------------------------ //
// Wrapper
// ------------------------------------------------------------------------------ //
$("body").wrapInner( "
");
},
// ------------------------------------------------------------------------------ //
// Change dropdown to hover on dekstop
// ------------------------------------------------------------------------------ //
hoverDropdown : function(){
var getNav = $("nav.navbar.bootsnav"),
getWindow = $(window).width(),
getHeight = $(window).height(),
getIn = getNav.find("ul.nav").data("in"),
getOut = getNav.find("ul.nav").data("out");
if( getWindow < 981 ){
// Height of scroll navigation sidebar
$(".scroller").css("height", "auto");
// Disable mouseenter event
$("nav.navbar.bootsnav ul.nav").find("li.dropdown").off("mouseenter");
$("nav.navbar.bootsnav ul.nav").find("li.dropdown").off("mouseleave");
$("nav.navbar.bootsnav ul.nav").find(".title").off("mouseenter");
$("nav.navbar.bootsnav ul.nav").off("mouseleave");
$(".navbar-collapse").removeClass("animated");
// Enable click event
$("nav.navbar.bootsnav ul.nav").each(function(){
$(".dropdown-menu", this).addClass("animated");
$(".dropdown-menu", this).removeClass(getOut);
// Dropdown Fade Toggle
$("a.dropdown-toggle", this).off('click');
$("a.dropdown-toggle", this).on('click', function (e) {
e.stopPropagation();
$(this).closest("li.dropdown").find(".dropdown-menu").first().stop().fadeToggle().toggleClass(getIn);
$(this).closest("li.dropdown").first().toggleClass("on");
return false;
});
// Hidden dropdown action
$('li.dropdown', this).each(function () {
$(this).find(".dropdown-menu").stop().fadeOut();
$(this).on('hidden.bs.dropdown', function () {
$(this).find(".dropdown-menu").stop().fadeOut();
});
return false;
});
// Megamenu style
$(".megamenu-fw", this).each(function(){
$(".col-menu", this).each(function(){
$(".content", this).addClass("animated");
$(".content", this).stop().fadeOut();
$(".title", this).off("click");
$(".title", this).on("click", function(){
$(this).closest(".col-menu").find(".content").stop().fadeToggle().addClass(getIn);
$(this).closest(".col-menu").toggleClass("on");
return false;
});
$(".content", this).on("click", function(e){
e.stopPropagation();
});
});
});
});
// Hidden dropdown
var cleanOpen = function(){
$('li.dropdown', this).removeClass("on");
$(".dropdown-menu", this).stop().fadeOut();
$(".dropdown-menu", this).removeClass(getIn);
$(".col-menu", this).removeClass("on");
$(".col-menu .content", this).stop().fadeOut();
$(".col-menu .content", this).removeClass(getIn);
}
// Hidden om mouse leave
$("nav.navbar.bootsnav").on("mouseleave", function(){
cleanOpen();
});
// Enable click atribute navigation
$("nav.navbar.bootsnav .attr-nav").each(function(){
$(".dropdown-menu", this).removeClass("animated");
$("li.dropdown", this).off("mouseenter");
$("li.dropdown", this).off("mouseleave");
$("a.dropdown-toggle", this).off('click');
$("a.dropdown-toggle", this).on('click', function (e) {
e.stopPropagation();
$(this).closest("li.dropdown").find(".dropdown-menu").first().stop().fadeToggle();
$(".navbar-toggle").each(function(){
$(".fa", this).removeClass("fa-times");
$(".fa", this).addClass("fa-bars");
$(".navbar-collapse").removeClass("in");
$(".navbar-collapse").removeClass("on");
});
});
$(this).on("mouseleave", function(){
$(".dropdown-menu", this).stop().fadeOut();
$("li.dropdown", this).removeClass("on");
return false;
});
});
// Toggle Bars
$(".navbar-toggle").each(function(){
$(this).off("click");
$(this).on("click", function(){
$(".fa", this).toggleClass("fa-bars");
$(".fa", this).toggleClass("fa-times");
cleanOpen();
});
});
}else if( getWindow > 981 ){
// Height of scroll navigation sidebar
$(".scroller").css("height", getHeight + "px");
// Navbar Sidebar
if( getNav.hasClass("navbar-sidebar")){
// Hover effect Sidebar Menu
$("nav.navbar.bootsnav ul.nav").each(function(){
$("a.dropdown-toggle", this).off('click');
$("a.dropdown-toggle", this).on('click', function (e) {
e.stopPropagation();
});
$(".dropdown-menu", this).addClass("animated");
$("li.dropdown", this).on("mouseenter", function(){
$(".dropdown-menu", this).eq(0).removeClass(getOut);
$(".dropdown-menu", this).eq(0).stop().fadeIn().addClass(getIn);
$(this).addClass("on");
return false;
});
$(".col-menu").each(function(){
$(".content", this).addClass("animated");
$(".title", this).on("mouseenter", function(){
$(this).closest(".col-menu").find(".content").stop().fadeIn().addClass(getIn);
$(this).closest(".col-menu").addClass("on");
return false;
});
});
$(this).on("mouseleave", function(){
$(".dropdown-menu", this).stop().removeClass(getIn);
$(".dropdown-menu", this).stop().addClass(getOut).fadeOut();
$(".col-menu", this).find(".content").stop().fadeOut().removeClass(getIn);
$(".col-menu", this).removeClass("on");
$("li.dropdown", this).removeClass("on");
return false;
});
});
}else{
// Hover effect Default Menu
$("nav.navbar.bootsnav ul.nav").each(function(){
$("a.dropdown-toggle", this).off('click');
$("a.dropdown-toggle", this).on('click', function (e) {
e.stopPropagation();
});
$(".megamenu-fw", this).each(function(){
$(".title", this).off("click");
$("a.dropdown-toggle", this).off("click");
$(".content").removeClass("animated");
});
$(".dropdown-menu", this).addClass("animated");
$("li.dropdown", this).on("mouseenter", function(){
$(".dropdown-menu", this).eq(0).removeClass(getOut);
$(".dropdown-menu", this).eq(0).stop().fadeIn().addClass(getIn);
$(this).addClass("on");
return false;
});
$("li.dropdown", this).on("mouseleave", function(){
$(".dropdown-menu", this).eq(0).removeClass(getIn);
$(".dropdown-menu", this).eq(0).stop().fadeOut().addClass(getOut);
$(this).removeClass("on");
});
$(this).on("mouseleave", function(){
$(".dropdown-menu", this).removeClass(getIn);
$(".dropdown-menu", this).eq(0).stop().fadeOut().addClass(getOut);
$("li.dropdown", this).removeClass("on");
return false;
});
});
}
// ------------------------------------------------------------------------------ //
// Hover effect Atribute Navigation
// ------------------------------------------------------------------------------ //
$("nav.navbar.bootsnav .attr-nav").each(function(){
$("a.dropdown-toggle", this).off('click');
$("a.dropdown-toggle", this).on('click', function (e) {
e.stopPropagation();
});
$(".dropdown-menu", this).addClass("animated");
$("li.dropdown", this).on("mouseenter", function(){
$(".dropdown-menu", this).eq(0).removeClass(getOut);
$(".dropdown-menu", this).eq(0).stop().fadeIn().addClass(getIn);
$(this).addClass("on");
return false;
});
$("li.dropdown", this).on("mouseleave", function(){
$(".dropdown-menu", this).eq(0).removeClass(getIn);
$(".dropdown-menu", this).eq(0).stop().fadeOut().addClass(getOut);
$(this).removeClass("on");
});
$(this).on("mouseleave", function(){
$(".dropdown-menu", this).removeClass(getIn);
$(".dropdown-menu", this).eq(0).stop().fadeOut().addClass(getOut);
$("li.dropdown", this).removeClass("on");
return false;
});
});
}
// ------------------------------------------------------------------------------ //
// Menu Fullscreen
// ------------------------------------------------------------------------------ //
if( getNav.hasClass("navbar-full")){
var windowHeight = $(window).height(),
windowWidth = $(window).width();
$(".nav-full").css("height", windowHeight + "px");
$(".wrap-full-menu").css("height", windowHeight + "px");
$(".wrap-full-menu").css("width", windowWidth + "px");
$(".navbar-collapse").addClass("animated");
$(".navbar-toggle").each(function(){
var getId = $(this).data("target");
$(this).off("click");
$(this).on("click", function(e){
e.preventDefault();
$(getId).removeClass(getOut);
$(getId).addClass("in");
$(getId).addClass(getIn);
return false;
});
$("li.close-full-menu").on("click", function(e){
e.preventDefault();
$(getId).addClass(getOut);
setTimeout(function(){
$(getId).removeClass("in");
$(getId).removeClass(getIn);
}, 500);
return false;
});
});
}
},
// ------------------------------------------------------------------------------ //
// Navbar Sticky
// ------------------------------------------------------------------------------ //
navbarSticky : function(){
var getNav = $("nav.navbar.bootsnav"),
navSticky = getNav.hasClass("navbar-sticky");
if( navSticky ){
// Set Height Navigation
var getHeight = getNav.height();
$(".wrap-sticky").height(getHeight);
// Windown on scroll
var getOffset = $(".wrap-sticky").offset().top;
$(window).on("scroll", function(){
var scrollTop = $(window).scrollTop();
if(scrollTop > getOffset){
getNav.addClass("sticked");
}else {
getNav.removeClass("sticked");
}
});
}
},
// ------------------------------------------------------------------------------ //
// Navbar Scrollspy
// ------------------------------------------------------------------------------ //
navbarScrollspy : function(){
var navScrollSpy = $(".navbar-scrollspy"),
$body = $('body'),
getNav = $('nav.navbar.bootsnav'),
offset = getNav.outerHeight();
if( navScrollSpy.length ){
$body.scrollspy({target: '.navbar', offset: offset });
// Animation Scrollspy
$('.scroll').on('click', function(event) {
event.preventDefault();
// Active link
$('.scroll').removeClass("active");
$(this).addClass("active");
// Remove navbar collapse
$(".navbar-collapse").removeClass("in");
// Toggle Bars
$(".navbar-toggle").each(function(){
$(".fa", this).removeClass("fa-times");
$(".fa", this).addClass("fa-bars");
});
// Scroll
var scrollTop = $(window).scrollTop(),
$anchor = $(this).find('a'),
$section = $($anchor.attr('href')).offset().top,
$window = $(window).width(),
$minusDesktop = getNav.data("minus-value-desktop"),
$minusMobile = getNav.data("minus-value-mobile"),
$speed = getNav.data("speed");
if( $window > 992 ){
var $position = $section - $minusDesktop;
}else{
var $position = $section - $minusMobile;
}
$('html, body').stop().animate({
scrollTop: $position
}, $speed);
});
// Activate Navigation
var fixSpy = function() {
var data = $body.data('bs.scrollspy');
if (data) {
offset = getNav.outerHeight();
data.options.offset = offset;
$body.data('bs.scrollspy', data);
$body.scrollspy('refresh');
}
}
// Activate Navigation on resize
var resizeTimer;
$(window).on('resize', function() {
clearTimeout(resizeTimer);
var resizeTimer = setTimeout(fixSpy, 200);
});
}
}
};
// Initialize
$(document).ready(function(){
bootsnav.initialize();
});
// Reset on resize
$(window).on("resize", function(){
bootsnav.hoverDropdown();
$(".top-search").slideUp();
setTimeout(function(){
bootsnav.navbarSticky();
}, 500);
// Toggle Bars
$(".navbar-toggle").each(function(){
$(".fa", this).removeClass("fa-times");
$(".fa", this).addClass("fa-bars");
$(this).removeClass("fixed");
});
$(".navbar-collapse").removeClass("in");
$(".navbar-collapse").removeClass("on");
$(".navbar-collapse").removeClass("bounceIn");
});
}(jQuery));
function loadbasket(){
$("#basketcontent").children().remove();
$.ajax({
type: "POST",
url: "/basket",
cache: false,
success: function(response){
$("#basketcontent").html(response);
}
});
}
$(document).ready(function(){
$("#spreplata").trigger("click");
$(document).on("change keyup", "#prenume", function(){
$("#prenume_f").val($(this).val());
});
$(document).on("change keyup", "#nume", function(){
$("#nume_f").val($(this).val());
});
$(document).on("click", ".cookieagree", function(){
$.cookie("cookie", 1, { expires: 90, path: '/' });
$("#cookiebar").remove();
});
$("#kulcs, #kulcs2, #gfx_check").attr("autocomplete","off");
$('#top-link').topLink({
min: 400,
fadeSpeed: 500
});
$('#top-link').click(function(e) {
e.preventDefault();
$.scrollTo(0,300);
});
$(document).on("mouseover","#dologin",function(){
$("#loginform").show();
$("#emailform").focus();
return false;
});
$(document).on("mouseleave","#loginform",function(){
$("#loginform").hide();
return false;
});
$(".lightgallery").lightGallery();
$(document).on("click", ".picsl img", function(){
var src = $(this).attr("data-bigimage");
var color = $(this).attr("data-color");
$(".bigimage").attr("src",src).attr("data-color",color);
return false;
});
$(".picsl img:first").trigger("click");
$(document).on("click", ".bigimage", function(){
var src = $(this).attr("src");
var color = $(this).attr("data-color");
$("#color"+color+" img").each(function(){
var ez = $(this);
if (ez.attr("data-bigimage")==src) {
ez.trigger("click");
}
});
return false;
});
$("#kulcs").keyup(function(){
var entered = $(this).val();
if(entered.length>2){
$("#searchresults").show().children().remove();
$.ajax({
type: "POST",
url: "/ajaxsearch",
data: "kulcs="+entered,
cache: false,
success: function(data){
$("#searchresults").html(data);
}
});
}
}).focus(function(){
$("#searchresults").show();
});
$(document).on("mouseleave","#searchresults", function(){
$(this).hide();
});
$(document).on("click", ".searchkat", function(){
var kat = $(this).attr("cat");
$("#onlycat").val(kat);
$("#search form").submit();
return false;
});
$(document).on("click",".deletebasket",function(){
var ok = confirm("Eşti sigur că vrei să ştergi produsul din coş?");
if(ok){
$(this).parent().submit();
}
return false;
});
loadbasket();
$(document).on("mouseover", "#bsk", function(){
$("#basketcontent").show();
});
$(document).on("mouseleave", "#bsk", function(){
$("#basketcontent").hide();
});
$(document).on("click",".showallpromos", function(){
$(this).hide();
var rell = $(this).attr("rel");
$("."+rell).each(function(){
$(this).removeClass("hidden");
});
return false;
});
$(document).on("click", "#bsk", function(){
window.location="/checkout";
});
$(document).on("mouseleave","#basketcontent",function(){
$(this).hide();
});
$(document).on("change","#selectlivrare",function(){
var obj = $(this);
if(obj.val()!==""){
$.ajax({
type: "POST",
url: "/users.php",
cache: false,
data: "op=selectlivrare&id="+obj.val(),
success: function(data){
$("#tmpl").children().remove();
$("#tmpl").html(data);
}
});
}else{
$("#nume").val("");
$("#prenume").val("");
$("#tel").val("");
$("#street").val("");
$("#zip").val("");
$("#region").val("").trigger("change");
}
});
$(document).on("change","#selectfacturare",function(){
var obj = $(this);
if(obj.val()!==""){
$.ajax({
url: "/users.php",
cache: false,
data: "op=selectfacturare&id="+obj.val(),
success: function(data){
$("#tmpl2").children().remove();
$("#tmpl2").html(data);
}
});
}else{
$("#ppcheck").html($("#pf").html());
$("#pp2").removeAttr("checked");
$("#pp1").attr("checked","checked");
$(".nume_f").val("");
$(".prenume_f").val("");
$(".serie_f").val("");
$(".nr_f").val("");
$(".cnp_f").val("");
$(".cui_j").val("");
$(".nume_j").val("");
$(".street_j").val("");
$(".nreg_j").val("");
$(".iban_j").val("");
$(".banca_j").val("");
$(".web_j").val("");
$(".tel_j").val("");
$(".fax_j").val("");
}
});
$(document).on("click", "#posta_romana", function(){
$(".transportf").val("1");
$("#checkoutform").submit();
});
$(document).on("click", "#fan_courier", function(){
$(".transportf").val("2");
$("#checkoutform").submit();
});
$("#posta_romana").trigger("click");
$(document).on("click","#showdefault",function(){
$("#selectlivrare option:first").prop("selected", true).trigger("change");
});
$(document).on("click","#showdefault2",function(){
$("#selectfacturare option:first").prop("selected", true).trigger("change");
$("#pp1").prop("checked",true).trigger("change");
$("#prenume_f").val($("#prenume").val());
$("#nume_f").val($("#nume").val());
});
$(document).on("click", ".fa-trash", function(){
var ok = confirm("Eşti sigur că vrei să ştergi produsul din coş?");
if(ok){
$(this).parent().parent().find(".cant").val("0");
$("#checkoutform").submit();
}
});
$(document).on("change","#pp1",function(){
$("#ppcheck").children().remove();
$("#ppcheck").html($("#pf").html());
$("#selectfacturare").val("");
});
$(document).on("change","#pp2",function(){
$("#ppcheck").children().remove();
$("#ppcheck").html($("#pj").html());
$("#selectfacturare").val("");
});
$("#ppcheck").html($("#pf").html());
$(document).on("click", ".fa-plus", function(){
var val = parseInt($(this).parent().parent().find(".cant").val());
$(this).parent().parent().find(".cant").val(val+1);
$("#checkoutform").submit();
});
$(document).on("click", ".fa-minus", function(){
var val = parseInt($(this).parent().parent().find(".cant").val());
if(val!=0){
$(this).parent().parent().find(".cant").val(val-1);
$("#checkoutform").submit();
}
});
$(document).on("click","#terms",function(){
$("#myModal").modal("show");
$("#myModalLabel").html("Termeni si conditii");
$("#myModal .modal-body").children().remove();
$("#myModal .modal-body").html("Vă rugăm aşteptaţi").load("/terms.htm");
return false;
});
$(".sortproducts").change(function(){
$.cookie("productsort", $(this).val());
location.reload();
});
$(document).on("click", ".cumpara", function(){
var id = $(this).attr("id").replace("prod","");
$("#myModal").modal("show");
$("#myModal .modal-body").children().remove();
$.ajax({
type: "POST",
url: "/cos.php",
data: {do:"addcos", prod: id, color: $("ul.colors .active").attr("data-color"), size: $("ul.sizes .active").attr("data-size"), qty: parseInt($("#qty").val())},
success: function(){
$("#myModal").modal("show");
$("#myModal .modal-body").children().remove();
$("#myModal .modal-body").load("/modal.php?prod="+id);
loadbasket();
}
});
return false;
});
$(document).on("click", ".cumparacat", function(){
var id = $(this).attr("id").replace("prod","");
var color = $(this).attr("data-color");
var size = $(this).attr("data-size");
$("#myModal").modal("show");
$("#myModal .modal-body").children().remove();
$.ajax({
type: "POST",
url: "/cos.php",
data: {do:"addcos", prod: id, color: color, size: size, qty: 1},
success: function(){
$("#myModal").modal("show");
$("#myModal .modal-body").children().remove();
$("#myModal .modal-body").load("/modal.php?&prod="+id);
loadbasket();
}
});
return false;
});
$(document).on("click", ".sizes li", function(){
var nostocktext = $(".nostocktext").html();
var stocktext = $(".stocktext").html();
var reducere = parseInt($(".redperc").text());
var obj = $(this);
if(!obj.hasClass("disabled")){
var size = obj.attr("data-size");
var color = $(".colors li.active").attr("data-color");
var finalprice=$("#finalprice").html();
$(".sizes li").removeClass("active");
obj.addClass("active");
$(".series").each(function(){
if($(this).find("span.color").text()==color && $(this).find("span.size").text()==size){
var price = 0;
$("#seriesdescription").children().remove();
var descr = $(this).find("div.description").html();
if(descr===""){
$("#seriesdescription").html("").hide();
}else{
$("#seriesdescription").html(descr).show();
}
if(finalprice != $(this).find("span.price").html() && $(this).find("span.price").html()!="0.00"){
$("#displayprice").html($(this).find("span.price").html());
price = parseFloat($(this).find("span.price").html());
$(".strike").html((price+(price*reducere/100)).toFixed(2));
}else{
price = parseFloat($(this).find("span.price").html());
$(".strike").html((price+(price*reducere/100)).toFixed(2));
$("#displayprice").html(finalprice);
}
if($(this).find("span.stock").text()=="0"){
obj.addClass("nostock");
$(".stocdisplay").html(nostocktext).removeClass("bg-success").addClass("bg-danger");
}else{
obj.removeClass("nostock");
$(".stocdisplay").html(stocktext).removeClass("bg-danger").addClass("bg-success");
}
}
});
}
});
$(document).on("click",".colors li", function(){
var obj = $(this);
var color = obj.attr("data-color");
$(".colorimages").hide();
$(".color_"+color).show();
$(".colors li").removeClass("active");
obj.addClass("active");
var c=0;
$(".sizes li").each(function(){
var size=$(this);
size.addClass("disabled").removeClass("active").removeClass("nostock");
var sizetext=size.attr("data-size");
$(".series").each(function(){
if($(this).find("span.color").text()==color && $(this).find("span.size").text()==sizetext){
size.removeClass("disabled");
if(c===0){
size.trigger("click");
}
if($(this).find("span.stock").text()=="0"){
size.addClass("nostock");
}
c++;
}
});
});
$(".picsl:visible img:first").trigger("click");
return false;
});
$(".colors li:first").trigger("click");
$(document).on("click",".closemodal", function(){
$("#myModal").modal("hide");
});
$("#contactbottom").validationEngine();
// $('iframe').each(function() {
// var obj = $(this);
// if(obj.attr("title")!="AddThis utility frame"){
// var url = obj.attr("src");
// var char = "?";
// if(url.indexOf("?") != -1){
// var char = "&";
// }
// obj.attr("src",url+char+"wmode=transparent");
// }
// });
$('#top-link').topLink({
min: 400,
fadeSpeed: 500
});
$(document).on("click","#filterswitch", function(){
var target = $(".cat_filters");
if(target.hasClass("hidden-xs")){
target.removeClass("hidden-xs");
}else{
target.addClass("hidden-xs");
}
});
//smoothscroll
$('#top-link').click(function(e) {
e.preventDefault();
$.scrollTo(0,300);
});
function blink() {
$( "a.BFTOP" ).fadeTo(100, 0.1).fadeTo(200, 1.0);
}
setInterval(function(){
blink();
}, 1000);
});/*!
* Bootstrap v3.3.7 (http://getbootstrap.com)
* Copyright 2011-2016 Twitter, Inc.
* Licensed under the MIT license
*/
if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){if(a(b.target).is(this))return b.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.7",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a("#"===f?[]:f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.7",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c).prop(c,!0)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c).prop(c,!1))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target).closest(".btn");b.call(d,"toggle"),a(c.target).is('input[type="radio"], input[type="checkbox"]')||(c.preventDefault(),d.is("input,button")?d.trigger("focus"):d.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(a>this.$items.length-1||a<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.7",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.7",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j
document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);if(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),!c.isInStateTrue())return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-m