parent
							
								
									7ef6438f81
								
							
						
					
					
						commit
						491e42a39a
					
				@ -1,617 +0,0 @@ | 
				
			||||
/*! | 
				
			||||
 * FullCalendar v1.6.4 Stylesheet | 
				
			||||
 * Docs & License: http://arshaw.com/fullcalendar/ | 
				
			||||
 * (c) 2013 Adam Shaw | 
				
			||||
 */ | 
				
			||||
 | 
				
			||||
 | 
				
			||||
.fc { | 
				
			||||
    direction: ltr; | 
				
			||||
    text-align: left; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc table { | 
				
			||||
    border-collapse: collapse; | 
				
			||||
    border-spacing: 0; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
html .fc, | 
				
			||||
.fc table { | 
				
			||||
    font-size: 1em; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc td, | 
				
			||||
.fc th { | 
				
			||||
    padding: 0; | 
				
			||||
    vertical-align: top; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
/* Header | 
				
			||||
------------------------------------------------------------------------*/ | 
				
			||||
 | 
				
			||||
.fc-header td { | 
				
			||||
    white-space: nowrap; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-header-left { | 
				
			||||
    width: 25%; | 
				
			||||
    text-align: left; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-header-center { | 
				
			||||
    text-align: center; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-header-right { | 
				
			||||
    width: 25%; | 
				
			||||
    text-align: right; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-header-title { | 
				
			||||
    display: inline-block; | 
				
			||||
    vertical-align: top; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-header-title h2 { | 
				
			||||
    margin-top: 0; | 
				
			||||
    white-space: nowrap;     | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc .fc-header-space { | 
				
			||||
    padding-left: 10px; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-header .fc-button { | 
				
			||||
    margin-bottom: 1em; | 
				
			||||
    vertical-align: top; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
/* buttons edges butting together */ | 
				
			||||
 | 
				
			||||
.fc-header .fc-button { | 
				
			||||
    margin-right: -1px; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-header .fc-corner-right,  /* non-theme */ | 
				
			||||
.fc-header .ui-corner-right { /* theme */ | 
				
			||||
    margin-right: 0; /* back to normal */ | 
				
			||||
} | 
				
			||||
 | 
				
			||||
/* button layering (for border precedence) */ | 
				
			||||
 | 
				
			||||
.fc-header .fc-state-hover, | 
				
			||||
.fc-header .ui-state-hover { | 
				
			||||
    z-index: 2; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-header .fc-state-down { | 
				
			||||
    z-index: 3; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-header .fc-state-active, | 
				
			||||
.fc-header .ui-state-active { | 
				
			||||
    z-index: 4; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
/* Content | 
				
			||||
------------------------------------------------------------------------*/ | 
				
			||||
 | 
				
			||||
.fc-content { | 
				
			||||
    clear: both; | 
				
			||||
    zoom: 1; /* for IE7, gives accurate coordinates for [un]freezeContentHeight */ | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-view { | 
				
			||||
    width: 100%; | 
				
			||||
    overflow: hidden; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
/* Cell Styles | 
				
			||||
------------------------------------------------------------------------*/ | 
				
			||||
 | 
				
			||||
.fc-widget-header,    /* <th>, usually */ | 
				
			||||
.fc-widget-content {  /* <td>, usually */ | 
				
			||||
    border: 1px solid #ddd; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-state-highlight { /* <td> today cell */ /* TODO: add .fc-today to <th> */ | 
				
			||||
    background: #fcf8e3; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-cell-overlay { /* semi-transparent rectangle while dragging */ | 
				
			||||
    background: #bce8f1; | 
				
			||||
    opacity: .3; | 
				
			||||
    filter: alpha(opacity=30); /* for IE */ | 
				
			||||
} | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
/* Buttons | 
				
			||||
------------------------------------------------------------------------*/ | 
				
			||||
 | 
				
			||||
.fc-button { | 
				
			||||
    display: inline-block; | 
				
			||||
    padding: 4px 9px; | 
				
			||||
    margin-bottom: 0; | 
				
			||||
    font-size: 12px; | 
				
			||||
    font-weight: normal; | 
				
			||||
    line-height: 1.428571429; | 
				
			||||
    text-align: center; | 
				
			||||
    white-space: nowrap; | 
				
			||||
    vertical-align: middle; | 
				
			||||
    cursor: pointer; | 
				
			||||
    background-image: none; | 
				
			||||
    border: 1px solid transparent; | 
				
			||||
    -webkit-user-select: none; | 
				
			||||
    -moz-user-select: none; | 
				
			||||
    -ms-user-select: none; | 
				
			||||
    -o-user-select: none; | 
				
			||||
    user-select: none; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-state-default { /* non-theme */ | 
				
			||||
    border: 1px solid; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-state-default.fc-corner-left { /* non-theme */ | 
				
			||||
    border-top-left-radius: 4px; | 
				
			||||
    border-bottom-left-radius: 4px; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-state-default.fc-corner-right { /* non-theme */ | 
				
			||||
    border-top-right-radius: 4px; | 
				
			||||
    border-bottom-right-radius: 4px; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
/* | 
				
			||||
        Our default prev/next buttons use HTML entities like ‹ › « » | 
				
			||||
        and we'll try to make them look good cross-browser. | 
				
			||||
*/ | 
				
			||||
 | 
				
			||||
.fc-text-arrow { | 
				
			||||
    margin: 0 .1em; | 
				
			||||
    font-size: 2em; | 
				
			||||
    font-family: "Courier New", Courier, monospace; | 
				
			||||
    vertical-align: baseline; /* for IE7 */ | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-button-prev .fc-text-arrow, | 
				
			||||
.fc-button-next .fc-text-arrow { /* for ‹ › */ | 
				
			||||
    font-weight: bold; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
/* icon (for jquery ui) */ | 
				
			||||
 | 
				
			||||
.fc-button .fc-icon-wrap { | 
				
			||||
    position: relative; | 
				
			||||
    float: left; | 
				
			||||
    top: 50%; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-button .ui-icon { | 
				
			||||
    position: relative; | 
				
			||||
    float: left; | 
				
			||||
    margin-top: -50%; | 
				
			||||
    *margin-top: 0; | 
				
			||||
    *top: -50%; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
/* | 
				
			||||
  button states | 
				
			||||
  borrowed from twitter bootstrap (http://twitter.github.com/bootstrap/) | 
				
			||||
*/ | 
				
			||||
 | 
				
			||||
.fc-state-default { | 
				
			||||
    background-color: #f5f5f5; | 
				
			||||
    background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); | 
				
			||||
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); | 
				
			||||
    background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); | 
				
			||||
    background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); | 
				
			||||
    background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); | 
				
			||||
    background-repeat: repeat-x; | 
				
			||||
    border-color: #e6e6e6 #e6e6e6 #bfbfbf; | 
				
			||||
    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); | 
				
			||||
    color: #333; | 
				
			||||
    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); | 
				
			||||
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-button.fc-state-default { | 
				
			||||
    border: 1px solid #d9dadc; | 
				
			||||
    border-bottom-color: #d3d5d7;   | 
				
			||||
    border-bottom-width: 2px; | 
				
			||||
    margin-left: 0px!important; | 
				
			||||
    background: #fafafa;     | 
				
			||||
    color: #666; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
 | 
				
			||||
.fc-state-hover, | 
				
			||||
.fc-state-down, | 
				
			||||
.fc-state-active, | 
				
			||||
.fc-state-disabled { | 
				
			||||
    color: #333333; | 
				
			||||
    background-color: #e6e6e6; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-state-hover { | 
				
			||||
    color: #333333; | 
				
			||||
    text-decoration: none; | 
				
			||||
    background-position: 0 -15px; | 
				
			||||
    -webkit-transition: background-position 0.1s linear; | 
				
			||||
    -moz-transition: background-position 0.1s linear; | 
				
			||||
    -o-transition: background-position 0.1s linear; | 
				
			||||
    transition: background-position 0.1s linear; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-state-down, | 
				
			||||
.fc-state-active { | 
				
			||||
    background-color: #cccccc; | 
				
			||||
    background-image: none; | 
				
			||||
    outline: 0; | 
				
			||||
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-state-disabled { | 
				
			||||
    cursor: default; | 
				
			||||
    background-image: none; | 
				
			||||
    opacity: 0.65; | 
				
			||||
    filter: alpha(opacity=65); | 
				
			||||
    box-shadow: none; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
/* Global Event Styles | 
				
			||||
------------------------------------------------------------------------*/ | 
				
			||||
 | 
				
			||||
.fc-event-container > * { | 
				
			||||
    z-index: 8; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-event-container > .ui-draggable-dragging, | 
				
			||||
.fc-event-container > .ui-resizable-resizing { | 
				
			||||
    z-index: 9; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-event { | 
				
			||||
    border: 1px solid #3a87ad; /* default BORDER color */ | 
				
			||||
    background-color: #3a87ad; /* default BACKGROUND color */ | 
				
			||||
    color: #fff;               /* default TEXT color */ | 
				
			||||
    font-size: .85em; | 
				
			||||
    cursor: default; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
a.fc-event { | 
				
			||||
    text-decoration: none; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
a.fc-event, | 
				
			||||
.fc-event-draggable { | 
				
			||||
    cursor: pointer; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-rtl .fc-event { | 
				
			||||
    text-align: right; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-event-inner { | 
				
			||||
    width: 100%; | 
				
			||||
    height: 100%; | 
				
			||||
    overflow: hidden; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-event-time, | 
				
			||||
.fc-event-title { | 
				
			||||
    padding: 0 1px; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc .ui-resizable-handle { | 
				
			||||
    display: block; | 
				
			||||
    position: absolute; | 
				
			||||
    z-index: 99999; | 
				
			||||
    overflow: hidden; /* hacky spaces (IE6/7) */ | 
				
			||||
    font-size: 300%;  /* */ | 
				
			||||
    line-height: 50%; /* */ | 
				
			||||
} | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
/* Horizontal Events | 
				
			||||
------------------------------------------------------------------------*/ | 
				
			||||
 | 
				
			||||
.fc-event-hori { | 
				
			||||
    border-width: 1px 0; | 
				
			||||
    margin-bottom: 1px; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-ltr .fc-event-hori.fc-event-start, | 
				
			||||
.fc-rtl .fc-event-hori.fc-event-end { | 
				
			||||
    border-left-width: 1px; | 
				
			||||
    border-top-left-radius: 3px; | 
				
			||||
    border-bottom-left-radius: 3px; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-ltr .fc-event-hori.fc-event-end, | 
				
			||||
.fc-rtl .fc-event-hori.fc-event-start { | 
				
			||||
    border-right-width: 1px; | 
				
			||||
    border-top-right-radius: 3px; | 
				
			||||
    border-bottom-right-radius: 3px; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
/* resizable */ | 
				
			||||
 | 
				
			||||
.fc-event-hori .ui-resizable-e { | 
				
			||||
    top: 0           !important; /* importants override pre jquery ui 1.7 styles */ | 
				
			||||
    right: -3px      !important; | 
				
			||||
    width: 7px       !important; | 
				
			||||
    height: 100%     !important; | 
				
			||||
    cursor: e-resize; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-event-hori .ui-resizable-w { | 
				
			||||
    top: 0           !important; | 
				
			||||
    left: -3px       !important; | 
				
			||||
    width: 7px       !important; | 
				
			||||
    height: 100%     !important; | 
				
			||||
    cursor: w-resize; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-event-hori .ui-resizable-handle { | 
				
			||||
    _padding-bottom: 14px; /* IE6 had 0 height */ | 
				
			||||
} | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
/* Reusable Separate-border Table | 
				
			||||
------------------------------------------------------------*/ | 
				
			||||
 | 
				
			||||
table.fc-border-separate { | 
				
			||||
    border-collapse: separate; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-border-separate th, | 
				
			||||
.fc-border-separate td { | 
				
			||||
    border-width: 1px 0 0 1px; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-border-separate th.fc-last, | 
				
			||||
.fc-border-separate td.fc-last { | 
				
			||||
    border-right-width: 1px; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-border-separate tr.fc-last th, | 
				
			||||
.fc-border-separate tr.fc-last td { | 
				
			||||
    border-bottom-width: 1px; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-border-separate tbody tr.fc-first td, | 
				
			||||
.fc-border-separate tbody tr.fc-first th { | 
				
			||||
    border-top-width: 0; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
/* Month View, Basic Week View, Basic Day View | 
				
			||||
------------------------------------------------------------------------*/ | 
				
			||||
 | 
				
			||||
.fc-grid th { | 
				
			||||
    text-align: center; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc .fc-week-number { | 
				
			||||
    width: 22px; | 
				
			||||
    text-align: center; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc .fc-week-number div { | 
				
			||||
    padding: 0 2px; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-grid .fc-day-number { | 
				
			||||
    float: right; | 
				
			||||
    padding: 0 2px; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-grid .fc-other-month .fc-day-number { | 
				
			||||
    opacity: 0.3; | 
				
			||||
    filter: alpha(opacity=30); /* for IE */ | 
				
			||||
    /* opacity with small font can sometimes look too faded | 
				
			||||
       might want to set the 'color' property instead | 
				
			||||
       making day-numbers bold also fixes the problem */ | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-grid .fc-day-content { | 
				
			||||
    clear: both; | 
				
			||||
    padding: 2px 2px 1px; /* distance between events and day edges */ | 
				
			||||
} | 
				
			||||
 | 
				
			||||
/* event styles */ | 
				
			||||
 | 
				
			||||
.fc-grid .fc-event-time { | 
				
			||||
    font-weight: bold; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
/* right-to-left */ | 
				
			||||
 | 
				
			||||
.fc-rtl .fc-grid .fc-day-number { | 
				
			||||
    float: left; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-rtl .fc-grid .fc-event-time { | 
				
			||||
    float: right; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
/* Agenda Week View, Agenda Day View | 
				
			||||
------------------------------------------------------------------------*/ | 
				
			||||
 | 
				
			||||
.fc-agenda table { | 
				
			||||
    border-collapse: separate; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-agenda-days th { | 
				
			||||
    text-align: center; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-agenda .fc-agenda-axis { | 
				
			||||
    width: 50px; | 
				
			||||
    padding: 0 4px; | 
				
			||||
    vertical-align: middle; | 
				
			||||
    text-align: right; | 
				
			||||
    white-space: nowrap; | 
				
			||||
    font-weight: normal; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-agenda .fc-week-number { | 
				
			||||
    font-weight: bold; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-agenda .fc-day-content { | 
				
			||||
    padding: 2px 2px 1px; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
/* make axis border take precedence */ | 
				
			||||
 | 
				
			||||
.fc-agenda-days .fc-agenda-axis { | 
				
			||||
    border-right-width: 1px; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-agenda-days .fc-col0 { | 
				
			||||
    border-left-width: 0; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
/* all-day area */ | 
				
			||||
 | 
				
			||||
.fc-agenda-allday th { | 
				
			||||
    border-width: 0 1px; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-agenda-allday .fc-day-content { | 
				
			||||
    min-height: 34px; /* TODO: doesnt work well in quirksmode */ | 
				
			||||
    _height: 34px; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
/* divider (between all-day and slots) */ | 
				
			||||
 | 
				
			||||
.fc-agenda-divider-inner { | 
				
			||||
    height: 2px; | 
				
			||||
    overflow: hidden; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-widget-header .fc-agenda-divider-inner { | 
				
			||||
    background: #eee; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
/* slot rows */ | 
				
			||||
 | 
				
			||||
.fc-agenda-slots th { | 
				
			||||
    border-width: 1px 1px 0; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-agenda-slots td { | 
				
			||||
    border-width: 1px 0 0; | 
				
			||||
    background: none; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-agenda-slots td div { | 
				
			||||
    height: 20px; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-agenda-slots tr.fc-slot0 th, | 
				
			||||
.fc-agenda-slots tr.fc-slot0 td { | 
				
			||||
    border-top-width: 0; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-agenda-slots tr.fc-minor th, | 
				
			||||
.fc-agenda-slots tr.fc-minor td { | 
				
			||||
    border-top-style: dotted; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-agenda-slots tr.fc-minor th.ui-widget-header { | 
				
			||||
    *border-top-style: solid; /* doesn't work with background in IE6/7 */ | 
				
			||||
} | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
/* Vertical Events | 
				
			||||
------------------------------------------------------------------------*/ | 
				
			||||
 | 
				
			||||
.fc-event-vert { | 
				
			||||
    border-width: 0 1px; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-event-vert.fc-event-start { | 
				
			||||
    border-top-width: 1px; | 
				
			||||
    border-top-left-radius: 3px; | 
				
			||||
    border-top-right-radius: 3px; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-event-vert.fc-event-end { | 
				
			||||
    border-bottom-width: 1px; | 
				
			||||
    border-bottom-left-radius: 3px; | 
				
			||||
    border-bottom-right-radius: 3px; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-event-vert .fc-event-time { | 
				
			||||
    white-space: nowrap; | 
				
			||||
    font-size: 10px; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-event-vert .fc-event-inner { | 
				
			||||
    position: relative; | 
				
			||||
    z-index: 2; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-event-vert .fc-event-bg { /* makes the event lighter w/ a semi-transparent overlay  */ | 
				
			||||
    position: absolute; | 
				
			||||
    z-index: 1; | 
				
			||||
    top: 0; | 
				
			||||
    left: 0; | 
				
			||||
    width: 100%; | 
				
			||||
    height: 100%; | 
				
			||||
    background: #fff; | 
				
			||||
    opacity: .25; | 
				
			||||
    filter: alpha(opacity=25); | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc .ui-draggable-dragging .fc-event-bg, /* TODO: something nicer like .fc-opacity */ | 
				
			||||
.fc-select-helper .fc-event-bg { | 
				
			||||
    display: none\9; /* for IE6/7/8. nested opacity filters while dragging don't work */ | 
				
			||||
} | 
				
			||||
 | 
				
			||||
/* resizable */ | 
				
			||||
 | 
				
			||||
.fc-event-vert .ui-resizable-s { | 
				
			||||
    bottom: 0        !important; /* importants override pre jquery ui 1.7 styles */ | 
				
			||||
    width: 100%      !important; | 
				
			||||
    height: 8px      !important; | 
				
			||||
    overflow: hidden !important; | 
				
			||||
    line-height: 8px !important; | 
				
			||||
    font-size: 11px  !important; | 
				
			||||
    font-family: monospace; | 
				
			||||
    text-align: center; | 
				
			||||
    cursor: s-resize; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.fc-agenda .ui-resizable-resizing { /* TODO: better selector */ | 
				
			||||
    _overflow: hidden; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
/* Custom calendar */ | 
				
			||||
.external-event { | 
				
			||||
    margin: 10px 0; | 
				
			||||
    padding: 3px 5px; | 
				
			||||
    border-radius: 2px; | 
				
			||||
    cursor: pointer; | 
				
			||||
    font-weight: 600; | 
				
			||||
    display: inline-block; | 
				
			||||
    margin: 0 5px 5px 0; | 
				
			||||
} | 
				
			||||
									
										
											File diff suppressed because it is too large
											Load Diff
										
									
								
							
						
									
										Binary file not shown.
									
								
							
						
									
										
											File diff suppressed because it is too large
											Load Diff
										
									
								
							
						@ -1,142 +0,0 @@ | 
				
			||||
/* Flot plugin for thresholding data. | 
				
			||||
 | 
				
			||||
Copyright (c) 2007-2013 IOLA and Ole Laursen. | 
				
			||||
Licensed under the MIT license. | 
				
			||||
 | 
				
			||||
The plugin supports these options: | 
				
			||||
 | 
				
			||||
	series: { | 
				
			||||
		threshold: { | 
				
			||||
			below: number | 
				
			||||
			color: colorspec | 
				
			||||
		} | 
				
			||||
	} | 
				
			||||
 | 
				
			||||
It can also be applied to a single series, like this: | 
				
			||||
 | 
				
			||||
	$.plot( $("#placeholder"), [{ | 
				
			||||
		data: [ ... ], | 
				
			||||
		threshold: { ... } | 
				
			||||
	}]) | 
				
			||||
 | 
				
			||||
An array can be passed for multiple thresholding, like this: | 
				
			||||
 | 
				
			||||
	threshold: [{ | 
				
			||||
		below: number1 | 
				
			||||
		color: color1 | 
				
			||||
	},{ | 
				
			||||
		below: number2 | 
				
			||||
		color: color2 | 
				
			||||
	}] | 
				
			||||
 | 
				
			||||
These multiple threshold objects can be passed in any order since they are | 
				
			||||
sorted by the processing function. | 
				
			||||
 | 
				
			||||
The data points below "below" are drawn with the specified color. This makes | 
				
			||||
it easy to mark points below 0, e.g. for budget data. | 
				
			||||
 | 
				
			||||
Internally, the plugin works by splitting the data into two series, above and | 
				
			||||
below the threshold. The extra series below the threshold will have its label | 
				
			||||
cleared and the special "originSeries" attribute set to the original series. | 
				
			||||
You may need to check for this in hover events. | 
				
			||||
 | 
				
			||||
*/ | 
				
			||||
 | 
				
			||||
(function ($) { | 
				
			||||
    var options = { | 
				
			||||
        series: { threshold: null } // or { below: number, color: color spec} | 
				
			||||
    }; | 
				
			||||
     | 
				
			||||
    function init(plot) { | 
				
			||||
        function thresholdData(plot, s, datapoints, below, color) { | 
				
			||||
            var ps = datapoints.pointsize, i, x, y, p, prevp, | 
				
			||||
                thresholded = $.extend({}, s); // note: shallow copy | 
				
			||||
 | 
				
			||||
            thresholded.datapoints = { points: [], pointsize: ps, format: datapoints.format }; | 
				
			||||
            thresholded.label = null; | 
				
			||||
            thresholded.color = color; | 
				
			||||
            thresholded.threshold = null; | 
				
			||||
            thresholded.originSeries = s; | 
				
			||||
            thresholded.data = []; | 
				
			||||
  | 
				
			||||
            var origpoints = datapoints.points, | 
				
			||||
                addCrossingPoints = s.lines.show; | 
				
			||||
 | 
				
			||||
            var threspoints = []; | 
				
			||||
            var newpoints = []; | 
				
			||||
            var m; | 
				
			||||
 | 
				
			||||
            for (i = 0; i < origpoints.length; i += ps) { | 
				
			||||
                x = origpoints[i]; | 
				
			||||
                y = origpoints[i + 1]; | 
				
			||||
 | 
				
			||||
                prevp = p; | 
				
			||||
                if (y < below) | 
				
			||||
                    p = threspoints; | 
				
			||||
                else | 
				
			||||
                    p = newpoints; | 
				
			||||
 | 
				
			||||
                if (addCrossingPoints && prevp != p && x != null | 
				
			||||
                    && i > 0 && origpoints[i - ps] != null) { | 
				
			||||
                    var interx = x + (below - y) * (x - origpoints[i - ps]) / (y - origpoints[i - ps + 1]); | 
				
			||||
                    prevp.push(interx); | 
				
			||||
                    prevp.push(below); | 
				
			||||
                    for (m = 2; m < ps; ++m) | 
				
			||||
                        prevp.push(origpoints[i + m]); | 
				
			||||
                     | 
				
			||||
                    p.push(null); // start new segment | 
				
			||||
                    p.push(null); | 
				
			||||
                    for (m = 2; m < ps; ++m) | 
				
			||||
                        p.push(origpoints[i + m]); | 
				
			||||
                    p.push(interx); | 
				
			||||
                    p.push(below); | 
				
			||||
                    for (m = 2; m < ps; ++m) | 
				
			||||
                        p.push(origpoints[i + m]); | 
				
			||||
                } | 
				
			||||
 | 
				
			||||
                p.push(x); | 
				
			||||
                p.push(y); | 
				
			||||
                for (m = 2; m < ps; ++m) | 
				
			||||
                    p.push(origpoints[i + m]); | 
				
			||||
            } | 
				
			||||
 | 
				
			||||
            datapoints.points = newpoints; | 
				
			||||
            thresholded.datapoints.points = threspoints; | 
				
			||||
             | 
				
			||||
            if (thresholded.datapoints.points.length > 0) { | 
				
			||||
                var origIndex = $.inArray(s, plot.getData()); | 
				
			||||
                // Insert newly-generated series right after original one (to prevent it from becoming top-most) | 
				
			||||
                plot.getData().splice(origIndex + 1, 0, thresholded); | 
				
			||||
            } | 
				
			||||
                 | 
				
			||||
            // FIXME: there are probably some edge cases left in bars | 
				
			||||
        } | 
				
			||||
         | 
				
			||||
        function processThresholds(plot, s, datapoints) { | 
				
			||||
            if (!s.threshold) | 
				
			||||
                return; | 
				
			||||
             | 
				
			||||
            if (s.threshold instanceof Array) { | 
				
			||||
                s.threshold.sort(function(a, b) { | 
				
			||||
                    return a.below - b.below; | 
				
			||||
                }); | 
				
			||||
                 | 
				
			||||
                $(s.threshold).each(function(i, th) { | 
				
			||||
                    thresholdData(plot, s, datapoints, th.below, th.color); | 
				
			||||
                }); | 
				
			||||
            } | 
				
			||||
            else { | 
				
			||||
                thresholdData(plot, s, datapoints, s.threshold.below, s.threshold.color); | 
				
			||||
            } | 
				
			||||
        } | 
				
			||||
         | 
				
			||||
        plot.hooks.processDatapoints.push(processThresholds); | 
				
			||||
    } | 
				
			||||
     | 
				
			||||
    $.plot.plugins.push({ | 
				
			||||
        init: init, | 
				
			||||
        options: options, | 
				
			||||
        name: 'threshold', | 
				
			||||
        version: '1.2' | 
				
			||||
    }); | 
				
			||||
})(jQuery); | 
				
			||||
									
										
											File diff suppressed because it is too large
											Load Diff
										
									
								
							
						
									
										
											File diff suppressed because it is too large
											Load Diff
										
									
								
							
						
									
										
											File diff suppressed because it is too large
											Load Diff
										
									
								
							
						@ -1,2 +0,0 @@ | 
				
			||||
.morris-hover{position:absolute;z-index:1090;}.morris-hover.morris-default-style{border-radius:10px;padding:6px;color:#444;background:rgba(255, 255, 255, 0.8);border:solid 2px rgba(230, 230, 230, 0.8);font-weight: 600;font-size:14px;text-align:center;}.morris-hover.morris-default-style .morris-hover-row-label{font-weight:bold;margin:0.25em 0;} | 
				
			||||
.morris-hover.morris-default-style .morris-hover-point{white-space:nowrap;margin:0.1em 0;} | 
				
			||||
@ -1,2 +0,0 @@ | 
				
			||||
.morris-hover{position:absolute;z-index:1090;}.morris-hover.morris-default-style{border-radius:10px;padding:6px;color:#444;background:rgba(255, 255, 255, 0.8);border:solid 2px rgba(230, 230, 230, 0.8);font-weight: 600;font-size:14px;text-align:center;}.morris-hover.morris-default-style .morris-hover-row-label{font-weight:bold;margin:0.25em 0;} | 
				
			||||
.morris-hover.morris-default-style .morris-hover-point{white-space:nowrap;margin:0.1em 0;} | 
				
			||||
									
										
											File diff suppressed because it is too large
											Load Diff
										
									
								
							
						@ -1,350 +0,0 @@ | 
				
			||||
/* jshint expr: true */ | 
				
			||||
!(function($, wysi) { | 
				
			||||
  'use strict'; | 
				
			||||
 | 
				
			||||
  var templates = function(key, locale, options) { | 
				
			||||
    return wysi.tpl[key]({locale: locale, options: options}); | 
				
			||||
  }; | 
				
			||||
 | 
				
			||||
  var Wysihtml5 = function(el, options) { | 
				
			||||
    this.el = el; | 
				
			||||
    var toolbarOpts = options || defaultOptions; | 
				
			||||
    for(var t in toolbarOpts.customTemplates) { | 
				
			||||
      wysi.tpl[t] = toolbarOpts.customTemplates[t]; | 
				
			||||
    } | 
				
			||||
    this.toolbar = this.createToolbar(el, toolbarOpts); | 
				
			||||
    this.editor =  this.createEditor(options); | 
				
			||||
 | 
				
			||||
    window.editor = this.editor; | 
				
			||||
 | 
				
			||||
    $('iframe.wysihtml5-sandbox').each(function(i, el){ | 
				
			||||
      $(el.contentWindow).off('focus.wysihtml5').on({ | 
				
			||||
        'focus.wysihtml5' : function(){ | 
				
			||||
          $('li.dropdown').removeClass('open'); | 
				
			||||
        } | 
				
			||||
      }); | 
				
			||||
    }); | 
				
			||||
  }; | 
				
			||||
 | 
				
			||||
  Wysihtml5.prototype = { | 
				
			||||
 | 
				
			||||
    constructor: Wysihtml5, | 
				
			||||
 | 
				
			||||
    createEditor: function(options) { | 
				
			||||
      options = options || {}; | 
				
			||||
 | 
				
			||||
      // Add the toolbar to a clone of the options object so multiple instances
 | 
				
			||||
      // of the WYISYWG don't break because 'toolbar' is already defined
 | 
				
			||||
      options = $.extend(true, {}, options); | 
				
			||||
      options.toolbar = this.toolbar[0]; | 
				
			||||
 | 
				
			||||
      var editor = new wysi.Editor(this.el[0], options); | 
				
			||||
 | 
				
			||||
      if(options && options.events) { | 
				
			||||
        for(var eventName in options.events) { | 
				
			||||
          editor.on(eventName, options.events[eventName]); | 
				
			||||
        } | 
				
			||||
      } | 
				
			||||
      return editor; | 
				
			||||
    }, | 
				
			||||
 | 
				
			||||
    createToolbar: function(el, options) { | 
				
			||||
      var self = this; | 
				
			||||
      var toolbar = $('<ul/>', { | 
				
			||||
        'class' : 'wysihtml5-toolbar', | 
				
			||||
        'style': 'display:none' | 
				
			||||
      }); | 
				
			||||
      var culture = options.locale || defaultOptions.locale || 'en'; | 
				
			||||
      for(var key in defaultOptions) { | 
				
			||||
        var value = false; | 
				
			||||
 | 
				
			||||
        if(options[key] !== undefined) { | 
				
			||||
          if(options[key] === true) { | 
				
			||||
            value = true; | 
				
			||||
          } | 
				
			||||
        } else { | 
				
			||||
          value = defaultOptions[key]; | 
				
			||||
        } | 
				
			||||
 | 
				
			||||
        if(value === true) { | 
				
			||||
          toolbar.append(templates(key, locale[culture], options)); | 
				
			||||
 | 
				
			||||
          if(key === 'html') { | 
				
			||||
            this.initHtml(toolbar); | 
				
			||||
          } | 
				
			||||
 | 
				
			||||
          if(key === 'link') { | 
				
			||||
            this.initInsertLink(toolbar); | 
				
			||||
          } | 
				
			||||
 | 
				
			||||
          if(key === 'image') { | 
				
			||||
            this.initInsertImage(toolbar); | 
				
			||||
          } | 
				
			||||
        } | 
				
			||||
      } | 
				
			||||
 | 
				
			||||
      if(options.toolbar) { | 
				
			||||
        for(key in options.toolbar) { | 
				
			||||
          toolbar.append(options.toolbar[key]); | 
				
			||||
        } | 
				
			||||
      } | 
				
			||||
 | 
				
			||||
      toolbar.find('a[data-wysihtml5-command="formatBlock"]').click(function(e) { | 
				
			||||
        var target = e.target || e.srcElement; | 
				
			||||
        var el = $(target); | 
				
			||||
        self.toolbar.find('.current-font').text(el.html()); | 
				
			||||
      }); | 
				
			||||
 | 
				
			||||
      toolbar.find('a[data-wysihtml5-command="foreColor"]').click(function(e) { | 
				
			||||
        var target = e.target || e.srcElement; | 
				
			||||
        var el = $(target); | 
				
			||||
        self.toolbar.find('.current-color').text(el.html()); | 
				
			||||
      }); | 
				
			||||
 | 
				
			||||
      this.el.before(toolbar); | 
				
			||||
 | 
				
			||||
      return toolbar; | 
				
			||||
    }, | 
				
			||||
 | 
				
			||||
    initHtml: function(toolbar) { | 
				
			||||
      var changeViewSelector = 'a[data-wysihtml5-action="change_view"]'; | 
				
			||||
      toolbar.find(changeViewSelector).click(function(e) { | 
				
			||||
        toolbar.find('a.btn').not(changeViewSelector).toggleClass('disabled'); | 
				
			||||
      }); | 
				
			||||
    }, | 
				
			||||
 | 
				
			||||
    initInsertImage: function(toolbar) { | 
				
			||||
      var self = this; | 
				
			||||
      var insertImageModal = toolbar.find('.bootstrap-wysihtml5-insert-image-modal'); | 
				
			||||
      var urlInput = insertImageModal.find('.bootstrap-wysihtml5-insert-image-url'); | 
				
			||||
      var insertButton = insertImageModal.find('a.btn-primary'); | 
				
			||||
      var initialValue = urlInput.val(); | 
				
			||||
      var caretBookmark; | 
				
			||||
 | 
				
			||||
      var insertImage = function() { | 
				
			||||
        var url = urlInput.val(); | 
				
			||||
        urlInput.val(initialValue); | 
				
			||||
        self.editor.currentView.element.focus(); | 
				
			||||
        if (caretBookmark) { | 
				
			||||
          self.editor.composer.selection.setBookmark(caretBookmark); | 
				
			||||
          caretBookmark = null; | 
				
			||||
        } | 
				
			||||
        self.editor.composer.commands.exec('insertImage', url); | 
				
			||||
      }; | 
				
			||||
 | 
				
			||||
      urlInput.keypress(function(e) { | 
				
			||||
        if(e.which == 13) { | 
				
			||||
          insertImage(); | 
				
			||||
          insertImageModal.modal('hide'); | 
				
			||||
        } | 
				
			||||
      }); | 
				
			||||
 | 
				
			||||
      insertButton.click(insertImage); | 
				
			||||
 | 
				
			||||
      insertImageModal.on('shown', function() { | 
				
			||||
        urlInput.focus(); | 
				
			||||
      }); | 
				
			||||
 | 
				
			||||
      insertImageModal.on('hide', function() { | 
				
			||||
        self.editor.currentView.element.focus(); | 
				
			||||
      }); | 
				
			||||
 | 
				
			||||
      toolbar.find('a[data-wysihtml5-command=insertImage]').click(function() { | 
				
			||||
        var activeButton = $(this).hasClass('wysihtml5-command-active'); | 
				
			||||
 | 
				
			||||
        if (!activeButton) { | 
				
			||||
          self.editor.currentView.element.focus(false); | 
				
			||||
          caretBookmark = self.editor.composer.selection.getBookmark(); | 
				
			||||
          insertImageModal.appendTo('body').modal('show'); | 
				
			||||
          insertImageModal.on('click.dismiss.modal', '[data-dismiss="modal"]', function(e) { | 
				
			||||
            e.stopPropagation(); | 
				
			||||
          }); | 
				
			||||
          return false; | 
				
			||||
        } | 
				
			||||
        else { | 
				
			||||
          return true; | 
				
			||||
        } | 
				
			||||
      }); | 
				
			||||
    }, | 
				
			||||
 | 
				
			||||
    initInsertLink: function(toolbar) { | 
				
			||||
      var self = this; | 
				
			||||
      var insertLinkModal = toolbar.find('.bootstrap-wysihtml5-insert-link-modal'); | 
				
			||||
      var urlInput = insertLinkModal.find('.bootstrap-wysihtml5-insert-link-url'); | 
				
			||||
      var targetInput = insertLinkModal.find('.bootstrap-wysihtml5-insert-link-target'); | 
				
			||||
      var insertButton = insertLinkModal.find('a.btn-primary'); | 
				
			||||
      var initialValue = urlInput.val(); | 
				
			||||
      var caretBookmark; | 
				
			||||
 | 
				
			||||
      var insertLink = function() { | 
				
			||||
        var url = urlInput.val(); | 
				
			||||
        urlInput.val(initialValue); | 
				
			||||
        self.editor.currentView.element.focus(); | 
				
			||||
        if (caretBookmark) { | 
				
			||||
          self.editor.composer.selection.setBookmark(caretBookmark); | 
				
			||||
          caretBookmark = null; | 
				
			||||
        } | 
				
			||||
 | 
				
			||||
        var newWindow = targetInput.prop('checked'); | 
				
			||||
        self.editor.composer.commands.exec('createLink', { | 
				
			||||
          'href' : url, | 
				
			||||
          'target' : (newWindow ? '_blank' : '_self'), | 
				
			||||
          'rel' : (newWindow ? 'nofollow' : '') | 
				
			||||
        }); | 
				
			||||
      }; | 
				
			||||
      var pressedEnter = false; | 
				
			||||
 | 
				
			||||
      urlInput.keypress(function(e) { | 
				
			||||
        if(e.which == 13) { | 
				
			||||
          insertLink(); | 
				
			||||
          insertLinkModal.modal('hide'); | 
				
			||||
        } | 
				
			||||
      }); | 
				
			||||
 | 
				
			||||
      insertButton.click(insertLink); | 
				
			||||
 | 
				
			||||
      insertLinkModal.on('shown', function() { | 
				
			||||
        urlInput.focus(); | 
				
			||||
      }); | 
				
			||||
 | 
				
			||||
      insertLinkModal.on('hide', function() { | 
				
			||||
        self.editor.currentView.element.focus(); | 
				
			||||
      }); | 
				
			||||
 | 
				
			||||
      toolbar.find('a[data-wysihtml5-command=createLink]').click(function() { | 
				
			||||
        var activeButton = $(this).hasClass('wysihtml5-command-active'); | 
				
			||||
 | 
				
			||||
        if (!activeButton) { | 
				
			||||
          self.editor.currentView.element.focus(false); | 
				
			||||
          caretBookmark = self.editor.composer.selection.getBookmark(); | 
				
			||||
          insertLinkModal.appendTo('body').modal('show'); | 
				
			||||
          insertLinkModal.on('click.dismiss.modal', '[data-dismiss="modal"]', function(e) { | 
				
			||||
            e.stopPropagation(); | 
				
			||||
          }); | 
				
			||||
          return false; | 
				
			||||
        } | 
				
			||||
        else { | 
				
			||||
          return true; | 
				
			||||
        } | 
				
			||||
      }); | 
				
			||||
    } | 
				
			||||
  }; | 
				
			||||
 | 
				
			||||
  // these define our public api
 | 
				
			||||
  var methods = { | 
				
			||||
    resetDefaults: function() { | 
				
			||||
      $.fn.wysihtml5.defaultOptions = $.extend(true, {}, $.fn.wysihtml5.defaultOptionsCache); | 
				
			||||
    }, | 
				
			||||
    bypassDefaults: function(options) { | 
				
			||||
      return this.each(function () { | 
				
			||||
        var $this = $(this); | 
				
			||||
        $this.data('wysihtml5', new Wysihtml5($this, options)); | 
				
			||||
      }); | 
				
			||||
    }, | 
				
			||||
    shallowExtend: function (options) { | 
				
			||||
      var settings = $.extend({}, $.fn.wysihtml5.defaultOptions, options || {}, $(this).data()); | 
				
			||||
      var that = this; | 
				
			||||
      return methods.bypassDefaults.apply(that, [settings]); | 
				
			||||
    }, | 
				
			||||
    deepExtend: function(options) { | 
				
			||||
      var settings = $.extend(true, {}, $.fn.wysihtml5.defaultOptions, options || {}); | 
				
			||||
      var that = this; | 
				
			||||
      return methods.bypassDefaults.apply(that, [settings]); | 
				
			||||
    }, | 
				
			||||
    init: function(options) { | 
				
			||||
      var that = this; | 
				
			||||
      return methods.shallowExtend.apply(that, [options]); | 
				
			||||
    } | 
				
			||||
  }; | 
				
			||||
 | 
				
			||||
  $.fn.wysihtml5 = function ( method ) { | 
				
			||||
    if ( methods[method] ) { | 
				
			||||
      return methods[method].apply( this, Array.prototype.slice.call( arguments, 1 )); | 
				
			||||
    } else if ( typeof method === 'object' || ! method ) { | 
				
			||||
      return methods.init.apply( this, arguments ); | 
				
			||||
    } else { | 
				
			||||
      $.error( 'Method ' +  method + ' does not exist on jQuery.wysihtml5' ); | 
				
			||||
    }    
 | 
				
			||||
  }; | 
				
			||||
 | 
				
			||||
  $.fn.wysihtml5.Constructor = Wysihtml5; | 
				
			||||
 | 
				
			||||
  var defaultOptions = $.fn.wysihtml5.defaultOptions = { | 
				
			||||
    'font-styles': true, | 
				
			||||
    'color': false, | 
				
			||||
    'emphasis': true, | 
				
			||||
    'lists': true, | 
				
			||||
    'html': false, | 
				
			||||
    'link': true, | 
				
			||||
    'image': true, | 
				
			||||
    events: {}, | 
				
			||||
    parserRules: { | 
				
			||||
      classes: { | 
				
			||||
        'wysiwyg-color-silver' : 1, | 
				
			||||
        'wysiwyg-color-gray' : 1, | 
				
			||||
        'wysiwyg-color-white' : 1, | 
				
			||||
        'wysiwyg-color-maroon' : 1, | 
				
			||||
        'wysiwyg-color-red' : 1, | 
				
			||||
        'wysiwyg-color-purple' : 1, | 
				
			||||
        'wysiwyg-color-fuchsia' : 1, | 
				
			||||
        'wysiwyg-color-green' : 1, | 
				
			||||
        'wysiwyg-color-lime' : 1, | 
				
			||||
        'wysiwyg-color-olive' : 1, | 
				
			||||
        'wysiwyg-color-yellow' : 1, | 
				
			||||
        'wysiwyg-color-navy' : 1, | 
				
			||||
        'wysiwyg-color-blue' : 1, | 
				
			||||
        'wysiwyg-color-teal' : 1, | 
				
			||||
        'wysiwyg-color-aqua' : 1, | 
				
			||||
        'wysiwyg-color-orange' : 1 | 
				
			||||
      }, | 
				
			||||
      tags: { | 
				
			||||
        'b':  {}, | 
				
			||||
        'i':  {}, | 
				
			||||
        'strong': {}, | 
				
			||||
        'em': {}, | 
				
			||||
        'p': {}, | 
				
			||||
        'br': {}, | 
				
			||||
        'ol': {}, | 
				
			||||
        'ul': {}, | 
				
			||||
        'li': {}, | 
				
			||||
        'h1': {}, | 
				
			||||
        'h2': {}, | 
				
			||||
        'h3': {}, | 
				
			||||
        'h4': {}, | 
				
			||||
        'h5': {}, | 
				
			||||
        'h6': {}, | 
				
			||||
        'blockquote': {}, | 
				
			||||
        'u': 1, | 
				
			||||
        'img': { | 
				
			||||
          'check_attributes': { | 
				
			||||
            'width': 'numbers', | 
				
			||||
            'alt': 'alt', | 
				
			||||
            'src': 'url', | 
				
			||||
            'height': 'numbers' | 
				
			||||
          } | 
				
			||||
        }, | 
				
			||||
        'a':  { | 
				
			||||
          check_attributes: { | 
				
			||||
            'href': 'url' // important to avoid XSS
 | 
				
			||||
          }, | 
				
			||||
          'set_attributes': { | 
				
			||||
            'target': '_blank', | 
				
			||||
            'rel': 'nofollow' | 
				
			||||
          } | 
				
			||||
        }, | 
				
			||||
        'span': 1, | 
				
			||||
        'div': 1, | 
				
			||||
        // to allow save and edit files with code tag hacks
 | 
				
			||||
        'code': 1, | 
				
			||||
        'pre': 1 | 
				
			||||
      } | 
				
			||||
    }, | 
				
			||||
    locale: 'en' | 
				
			||||
  }; | 
				
			||||
 | 
				
			||||
  if (typeof $.fn.wysihtml5.defaultOptionsCache === 'undefined') { | 
				
			||||
    $.fn.wysihtml5.defaultOptionsCache = $.extend(true, {}, $.fn.wysihtml5.defaultOptions); | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  var locale = $.fn.wysihtml5.locale = {}; | 
				
			||||
})(window.jQuery, window.wysihtml5); | 
				
			||||
									
										
											File diff suppressed because one or more lines are too long
										
									
								
							
						
									
										
											File diff suppressed because one or more lines are too long
										
									
								
							
						
									
										
											File diff suppressed because it is too large
											Load Diff
										
									
								
							
						
									
										
											File diff suppressed because it is too large
											Load Diff
										
									
								
							
						
									
										
											File diff suppressed because it is too large
											Load Diff
										
									
								
							
						@ -1,330 +0,0 @@ | 
				
			||||
/** | 
				
			||||
 * Additional styles for BraincraftedBootstrapBundle | 
				
			||||
 * (c) 2013 Florian Eckerstorfer (http://braincrafted.com) | 
				
			||||
 * http://bootstrap.braincrafted.com | 
				
			||||
 */ | 
				
			||||
.bootstrap-time { | 
				
			||||
  width: 100%; | 
				
			||||
} | 
				
			||||
.bootstrap-time select { | 
				
			||||
  display: inline-block; | 
				
			||||
  width: auto; | 
				
			||||
} | 
				
			||||
.bootstrap-date { | 
				
			||||
  width: 100%; | 
				
			||||
} | 
				
			||||
.bootstrap-date select { | 
				
			||||
  display: inline-block; | 
				
			||||
  width: auto; | 
				
			||||
  margin-right: 5px; | 
				
			||||
} | 
				
			||||
.bootstrap-datetime .bootstrap-time, | 
				
			||||
.bootstrap-datetime .bootstrap-date { | 
				
			||||
  display: inline-block; | 
				
			||||
  width: auto; | 
				
			||||
} | 
				
			||||
.form-group .bc-collection li + li { | 
				
			||||
  margin-top: 10px; | 
				
			||||
} | 
				
			||||
.form-inline .form-group { | 
				
			||||
  margin-left: 0; | 
				
			||||
  margin-right: 0; | 
				
			||||
} | 
				
			||||
.form-horizontal .col-lg-1 .col-1, | 
				
			||||
.form-horizontal .col-lg-2 .col-1, | 
				
			||||
.form-horizontal .col-lg-3 .col-1, | 
				
			||||
.form-horizontal .col-lg-4 .col-1, | 
				
			||||
.form-horizontal .col-lg-5 .col-1, | 
				
			||||
.form-horizontal .col-lg-6 .col-1, | 
				
			||||
.form-horizontal .col-lg-7 .col-1, | 
				
			||||
.form-horizontal .col-lg-8 .col-1, | 
				
			||||
.form-horizontal .col-lg-9 .col-1, | 
				
			||||
.form-horizontal .col-lg-10 .col-1, | 
				
			||||
.form-horizontal .col-lg-11 .col-1, | 
				
			||||
.form-horizontal .col-lg12 .col-1, | 
				
			||||
.form-horizontal .col-lg-1 .col-2, | 
				
			||||
.form-horizontal .col-lg-2 .col-2, | 
				
			||||
.form-horizontal .col-lg-3 .col-2, | 
				
			||||
.form-horizontal .col-lg-4 .col-2, | 
				
			||||
.form-horizontal .col-lg-5 .col-2, | 
				
			||||
.form-horizontal .col-lg-6 .col-2, | 
				
			||||
.form-horizontal .col-lg-7 .col-2, | 
				
			||||
.form-horizontal .col-lg-8 .col-2, | 
				
			||||
.form-horizontal .col-lg-9 .col-2, | 
				
			||||
.form-horizontal .col-lg-10 .col-2, | 
				
			||||
.form-horizontal .col-lg-11 .col-2, | 
				
			||||
.form-horizontal .col-lg12 .col-2, | 
				
			||||
.form-horizontal .col-lg-1 .col-3, | 
				
			||||
.form-horizontal .col-lg-2 .col-3, | 
				
			||||
.form-horizontal .col-lg-3 .col-3, | 
				
			||||
.form-horizontal .col-lg-4 .col-3, | 
				
			||||
.form-horizontal .col-lg-5 .col-3, | 
				
			||||
.form-horizontal .col-lg-6 .col-3, | 
				
			||||
.form-horizontal .col-lg-7 .col-3, | 
				
			||||
.form-horizontal .col-lg-8 .col-3, | 
				
			||||
.form-horizontal .col-lg-9 .col-3, | 
				
			||||
.form-horizontal .col-lg-10 .col-3, | 
				
			||||
.form-horizontal .col-lg-11 .col-3, | 
				
			||||
.form-horizontal .col-lg12 .col-3, | 
				
			||||
.form-horizontal .col-lg-1 .col-4, | 
				
			||||
.form-horizontal .col-lg-2 .col-4, | 
				
			||||
.form-horizontal .col-lg-3 .col-4, | 
				
			||||
.form-horizontal .col-lg-4 .col-4, | 
				
			||||
.form-horizontal .col-lg-5 .col-4, | 
				
			||||
.form-horizontal .col-lg-6 .col-4, | 
				
			||||
.form-horizontal .col-lg-7 .col-4, | 
				
			||||
.form-horizontal .col-lg-8 .col-4, | 
				
			||||
.form-horizontal .col-lg-9 .col-4, | 
				
			||||
.form-horizontal .col-lg-10 .col-4, | 
				
			||||
.form-horizontal .col-lg-11 .col-4, | 
				
			||||
.form-horizontal .col-lg12 .col-4, | 
				
			||||
.form-horizontal .col-lg-1 .col-5, | 
				
			||||
.form-horizontal .col-lg-2 .col-5, | 
				
			||||
.form-horizontal .col-lg-3 .col-5, | 
				
			||||
.form-horizontal .col-lg-4 .col-5, | 
				
			||||
.form-horizontal .col-lg-5 .col-5, | 
				
			||||
.form-horizontal .col-lg-6 .col-5, | 
				
			||||
.form-horizontal .col-lg-7 .col-5, | 
				
			||||
.form-horizontal .col-lg-8 .col-5, | 
				
			||||
.form-horizontal .col-lg-9 .col-5, | 
				
			||||
.form-horizontal .col-lg-10 .col-5, | 
				
			||||
.form-horizontal .col-lg-11 .col-5, | 
				
			||||
.form-horizontal .col-lg12 .col-5, | 
				
			||||
.form-horizontal .col-lg-1 .col-6, | 
				
			||||
.form-horizontal .col-lg-2 .col-6, | 
				
			||||
.form-horizontal .col-lg-3 .col-6, | 
				
			||||
.form-horizontal .col-lg-4 .col-6, | 
				
			||||
.form-horizontal .col-lg-5 .col-6, | 
				
			||||
.form-horizontal .col-lg-6 .col-6, | 
				
			||||
.form-horizontal .col-lg-7 .col-6, | 
				
			||||
.form-horizontal .col-lg-8 .col-6, | 
				
			||||
.form-horizontal .col-lg-9 .col-6, | 
				
			||||
.form-horizontal .col-lg-10 .col-6, | 
				
			||||
.form-horizontal .col-lg-11 .col-6, | 
				
			||||
.form-horizontal .col-lg12 .col-6, | 
				
			||||
.form-horizontal .col-lg-1 .col-7, | 
				
			||||
.form-horizontal .col-lg-2 .col-7, | 
				
			||||
.form-horizontal .col-lg-3 .col-7, | 
				
			||||
.form-horizontal .col-lg-4 .col-7, | 
				
			||||
.form-horizontal .col-lg-5 .col-7, | 
				
			||||
.form-horizontal .col-lg-6 .col-7, | 
				
			||||
.form-horizontal .col-lg-7 .col-7, | 
				
			||||
.form-horizontal .col-lg-8 .col-7, | 
				
			||||
.form-horizontal .col-lg-9 .col-7, | 
				
			||||
.form-horizontal .col-lg-10 .col-7, | 
				
			||||
.form-horizontal .col-lg-11 .col-7, | 
				
			||||
.form-horizontal .col-lg12 .col-7, | 
				
			||||
.form-horizontal .col-lg-1 .col-8, | 
				
			||||
.form-horizontal .col-lg-2 .col-8, | 
				
			||||
.form-horizontal .col-lg-3 .col-8, | 
				
			||||
.form-horizontal .col-lg-4 .col-8, | 
				
			||||
.form-horizontal .col-lg-5 .col-8, | 
				
			||||
.form-horizontal .col-lg-6 .col-8, | 
				
			||||
.form-horizontal .col-lg-7 .col-8, | 
				
			||||
.form-horizontal .col-lg-8 .col-8, | 
				
			||||
.form-horizontal .col-lg-9 .col-8, | 
				
			||||
.form-horizontal .col-lg-10 .col-8, | 
				
			||||
.form-horizontal .col-lg-11 .col-8, | 
				
			||||
.form-horizontal .col-lg12 .col-8, | 
				
			||||
.form-horizontal .col-lg-1 .col-9, | 
				
			||||
.form-horizontal .col-lg-2 .col-9, | 
				
			||||
.form-horizontal .col-lg-3 .col-9, | 
				
			||||
.form-horizontal .col-lg-4 .col-9, | 
				
			||||
.form-horizontal .col-lg-5 .col-9, | 
				
			||||
.form-horizontal .col-lg-6 .col-9, | 
				
			||||
.form-horizontal .col-lg-7 .col-9, | 
				
			||||
.form-horizontal .col-lg-8 .col-9, | 
				
			||||
.form-horizontal .col-lg-9 .col-9, | 
				
			||||
.form-horizontal .col-lg-10 .col-9, | 
				
			||||
.form-horizontal .col-lg-11 .col-9, | 
				
			||||
.form-horizontal .col-lg12 .col-9, | 
				
			||||
.form-horizontal .col-lg-1 .col-10, | 
				
			||||
.form-horizontal .col-lg-2 .col-10, | 
				
			||||
.form-horizontal .col-lg-3 .col-10, | 
				
			||||
.form-horizontal .col-lg-4 .col-10, | 
				
			||||
.form-horizontal .col-lg-5 .col-10, | 
				
			||||
.form-horizontal .col-lg-6 .col-10, | 
				
			||||
.form-horizontal .col-lg-7 .col-10, | 
				
			||||
.form-horizontal .col-lg-8 .col-10, | 
				
			||||
.form-horizontal .col-lg-9 .col-10, | 
				
			||||
.form-horizontal .col-lg-10 .col-10, | 
				
			||||
.form-horizontal .col-lg-11 .col-10, | 
				
			||||
.form-horizontal .col-lg12 .col-10, | 
				
			||||
.form-horizontal .col-lg-1 .col-11, | 
				
			||||
.form-horizontal .col-lg-2 .col-11, | 
				
			||||
.form-horizontal .col-lg-3 .col-11, | 
				
			||||
.form-horizontal .col-lg-4 .col-11, | 
				
			||||
.form-horizontal .col-lg-5 .col-11, | 
				
			||||
.form-horizontal .col-lg-6 .col-11, | 
				
			||||
.form-horizontal .col-lg-7 .col-11, | 
				
			||||
.form-horizontal .col-lg-8 .col-11, | 
				
			||||
.form-horizontal .col-lg-9 .col-11, | 
				
			||||
.form-horizontal .col-lg-10 .col-11, | 
				
			||||
.form-horizontal .col-lg-11 .col-11, | 
				
			||||
.form-horizontal .col-lg12 .col-11, | 
				
			||||
.form-horizontal .col-lg-1 .col-12, | 
				
			||||
.form-horizontal .col-lg-2 .col-12, | 
				
			||||
.form-horizontal .col-lg-3 .col-12, | 
				
			||||
.form-horizontal .col-lg-4 .col-12, | 
				
			||||
.form-horizontal .col-lg-5 .col-12, | 
				
			||||
.form-horizontal .col-lg-6 .col-12, | 
				
			||||
.form-horizontal .col-lg-7 .col-12, | 
				
			||||
.form-horizontal .col-lg-8 .col-12, | 
				
			||||
.form-horizontal .col-lg-9 .col-12, | 
				
			||||
.form-horizontal .col-lg-10 .col-12, | 
				
			||||
.form-horizontal .col-lg-11 .col-12, | 
				
			||||
.form-horizontal .col-lg12 .col-12, | 
				
			||||
.form-horizontal .col-lg-1 .col-sm-1, | 
				
			||||
.form-horizontal .col-lg-2 .col-sm-1, | 
				
			||||
.form-horizontal .col-lg-3 .col-sm-1, | 
				
			||||
.form-horizontal .col-lg-4 .col-sm-1, | 
				
			||||
.form-horizontal .col-lg-5 .col-sm-1, | 
				
			||||
.form-horizontal .col-lg-6 .col-sm-1, | 
				
			||||
.form-horizontal .col-lg-7 .col-sm-1, | 
				
			||||
.form-horizontal .col-lg-8 .col-sm-1, | 
				
			||||
.form-horizontal .col-lg-9 .col-sm-1, | 
				
			||||
.form-horizontal .col-lg-10 .col-sm-1, | 
				
			||||
.form-horizontal .col-lg-11 .col-sm-1, | 
				
			||||
.form-horizontal .col-lg12 .col-sm-1, | 
				
			||||
.form-horizontal .col-lg-1 .col-sm-2, | 
				
			||||
.form-horizontal .col-lg-2 .col-sm-2, | 
				
			||||
.form-horizontal .col-lg-3 .col-sm-2, | 
				
			||||
.form-horizontal .col-lg-4 .col-sm-2, | 
				
			||||
.form-horizontal .col-lg-5 .col-sm-2, | 
				
			||||
.form-horizontal .col-lg-6 .col-sm-2, | 
				
			||||
.form-horizontal .col-lg-7 .col-sm-2, | 
				
			||||
.form-horizontal .col-lg-8 .col-sm-2, | 
				
			||||
.form-horizontal .col-lg-9 .col-sm-2, | 
				
			||||
.form-horizontal .col-lg-10 .col-sm-2, | 
				
			||||
.form-horizontal .col-lg-11 .col-sm-2, | 
				
			||||
.form-horizontal .col-lg12 .col-sm-2, | 
				
			||||
.form-horizontal .col-lg-1 .col-sm-3, | 
				
			||||
.form-horizontal .col-lg-2 .col-sm-3, | 
				
			||||
.form-horizontal .col-lg-3 .col-sm-3, | 
				
			||||
.form-horizontal .col-lg-4 .col-sm-3, | 
				
			||||
.form-horizontal .col-lg-5 .col-sm-3, | 
				
			||||
.form-horizontal .col-lg-6 .col-sm-3, | 
				
			||||
.form-horizontal .col-lg-7 .col-sm-3, | 
				
			||||
.form-horizontal .col-lg-8 .col-sm-3, | 
				
			||||
.form-horizontal .col-lg-9 .col-sm-3, | 
				
			||||
.form-horizontal .col-lg-10 .col-sm-3, | 
				
			||||
.form-horizontal .col-lg-11 .col-sm-3, | 
				
			||||
.form-horizontal .col-lg12 .col-sm-3, | 
				
			||||
.form-horizontal .col-lg-1 .col-sm-4, | 
				
			||||
.form-horizontal .col-lg-2 .col-sm-4, | 
				
			||||
.form-horizontal .col-lg-3 .col-sm-4, | 
				
			||||
.form-horizontal .col-lg-4 .col-sm-4, | 
				
			||||
.form-horizontal .col-lg-5 .col-sm-4, | 
				
			||||
.form-horizontal .col-lg-6 .col-sm-4, | 
				
			||||
.form-horizontal .col-lg-7 .col-sm-4, | 
				
			||||
.form-horizontal .col-lg-8 .col-sm-4, | 
				
			||||
.form-horizontal .col-lg-9 .col-sm-4, | 
				
			||||
.form-horizontal .col-lg-10 .col-sm-4, | 
				
			||||
.form-horizontal .col-lg-11 .col-sm-4, | 
				
			||||
.form-horizontal .col-lg12 .col-sm-4, | 
				
			||||
.form-horizontal .col-lg-1 .col-sm-5, | 
				
			||||
.form-horizontal .col-lg-2 .col-sm-5, | 
				
			||||
.form-horizontal .col-lg-3 .col-sm-5, | 
				
			||||
.form-horizontal .col-lg-4 .col-sm-5, | 
				
			||||
.form-horizontal .col-lg-5 .col-sm-5, | 
				
			||||
.form-horizontal .col-lg-6 .col-sm-5, | 
				
			||||
.form-horizontal .col-lg-7 .col-sm-5, | 
				
			||||
.form-horizontal .col-lg-8 .col-sm-5, | 
				
			||||
.form-horizontal .col-lg-9 .col-sm-5, | 
				
			||||
.form-horizontal .col-lg-10 .col-sm-5, | 
				
			||||
.form-horizontal .col-lg-11 .col-sm-5, | 
				
			||||
.form-horizontal .col-lg12 .col-sm-5, | 
				
			||||
.form-horizontal .col-lg-1 .col-sm-6, | 
				
			||||
.form-horizontal .col-lg-2 .col-sm-6, | 
				
			||||
.form-horizontal .col-lg-3 .col-sm-6, | 
				
			||||
.form-horizontal .col-lg-4 .col-sm-6, | 
				
			||||
.form-horizontal .col-lg-5 .col-sm-6, | 
				
			||||
.form-horizontal .col-lg-6 .col-sm-6, | 
				
			||||
.form-horizontal .col-lg-7 .col-sm-6, | 
				
			||||
.form-horizontal .col-lg-8 .col-sm-6, | 
				
			||||
.form-horizontal .col-lg-9 .col-sm-6, | 
				
			||||
.form-horizontal .col-lg-10 .col-sm-6, | 
				
			||||
.form-horizontal .col-lg-11 .col-sm-6, | 
				
			||||
.form-horizontal .col-lg12 .col-sm-6, | 
				
			||||
.form-horizontal .col-lg-1 .col-sm-7, | 
				
			||||
.form-horizontal .col-lg-2 .col-sm-7, | 
				
			||||
.form-horizontal .col-lg-3 .col-sm-7, | 
				
			||||
.form-horizontal .col-lg-4 .col-sm-7, | 
				
			||||
.form-horizontal .col-lg-5 .col-sm-7, | 
				
			||||
.form-horizontal .col-lg-6 .col-sm-7, | 
				
			||||
.form-horizontal .col-lg-7 .col-sm-7, | 
				
			||||
.form-horizontal .col-lg-8 .col-sm-7, | 
				
			||||
.form-horizontal .col-lg-9 .col-sm-7, | 
				
			||||
.form-horizontal .col-lg-10 .col-sm-7, | 
				
			||||
.form-horizontal .col-lg-11 .col-sm-7, | 
				
			||||
.form-horizontal .col-lg12 .col-sm-7, | 
				
			||||
.form-horizontal .col-lg-1 .col-sm-8, | 
				
			||||
.form-horizontal .col-lg-2 .col-sm-8, | 
				
			||||
.form-horizontal .col-lg-3 .col-sm-8, | 
				
			||||
.form-horizontal .col-lg-4 .col-sm-8, | 
				
			||||
.form-horizontal .col-lg-5 .col-sm-8, | 
				
			||||
.form-horizontal .col-lg-6 .col-sm-8, | 
				
			||||
.form-horizontal .col-lg-7 .col-sm-8, | 
				
			||||
.form-horizontal .col-lg-8 .col-sm-8, | 
				
			||||
.form-horizontal .col-lg-9 .col-sm-8, | 
				
			||||
.form-horizontal .col-lg-10 .col-sm-8, | 
				
			||||
.form-horizontal .col-lg-11 .col-sm-8, | 
				
			||||
.form-horizontal .col-lg12 .col-sm-8, | 
				
			||||
.form-horizontal .col-lg-1 .col-sm-9, | 
				
			||||
.form-horizontal .col-lg-2 .col-sm-9, | 
				
			||||
.form-horizontal .col-lg-3 .col-sm-9, | 
				
			||||
.form-horizontal .col-lg-4 .col-sm-9, | 
				
			||||
.form-horizontal .col-lg-5 .col-sm-9, | 
				
			||||
.form-horizontal .col-lg-6 .col-sm-9, | 
				
			||||
.form-horizontal .col-lg-7 .col-sm-9, | 
				
			||||
.form-horizontal .col-lg-8 .col-sm-9, | 
				
			||||
.form-horizontal .col-lg-9 .col-sm-9, | 
				
			||||
.form-horizontal .col-lg-10 .col-sm-9, | 
				
			||||
.form-horizontal .col-lg-11 .col-sm-9, | 
				
			||||
.form-horizontal .col-lg12 .col-sm-9, | 
				
			||||
.form-horizontal .col-lg-1 .col-sm-10, | 
				
			||||
.form-horizontal .col-lg-2 .col-sm-10, | 
				
			||||
.form-horizontal .col-lg-3 .col-sm-10, | 
				
			||||
.form-horizontal .col-lg-4 .col-sm-10, | 
				
			||||
.form-horizontal .col-lg-5 .col-sm-10, | 
				
			||||
.form-horizontal .col-lg-6 .col-sm-10, | 
				
			||||
.form-horizontal .col-lg-7 .col-sm-10, | 
				
			||||
.form-horizontal .col-lg-8 .col-sm-10, | 
				
			||||
.form-horizontal .col-lg-9 .col-sm-10, | 
				
			||||
.form-horizontal .col-lg-10 .col-sm-10, | 
				
			||||
.form-horizontal .col-lg-11 .col-sm-10, | 
				
			||||
.form-horizontal .col-lg12 .col-sm-10, | 
				
			||||
.form-horizontal .col-lg-1 .col-sm-11, | 
				
			||||
.form-horizontal .col-lg-2 .col-sm-11, | 
				
			||||
.form-horizontal .col-lg-3 .col-sm-11, | 
				
			||||
.form-horizontal .col-lg-4 .col-sm-11, | 
				
			||||
.form-horizontal .col-lg-5 .col-sm-11, | 
				
			||||
.form-horizontal .col-lg-6 .col-sm-11, | 
				
			||||
.form-horizontal .col-lg-7 .col-sm-11, | 
				
			||||
.form-horizontal .col-lg-8 .col-sm-11, | 
				
			||||
.form-horizontal .col-lg-9 .col-sm-11, | 
				
			||||
.form-horizontal .col-lg-10 .col-sm-11, | 
				
			||||
.form-horizontal .col-lg-11 .col-sm-11, | 
				
			||||
.form-horizontal .col-lg12 .col-sm-11, | 
				
			||||
.form-horizontal .col-lg-1 .col-sm-12, | 
				
			||||
.form-horizontal .col-lg-2 .col-sm-12, | 
				
			||||
.form-horizontal .col-lg-3 .col-sm-12, | 
				
			||||
.form-horizontal .col-lg-4 .col-sm-12, | 
				
			||||
.form-horizontal .col-lg-5 .col-sm-12, | 
				
			||||
.form-horizontal .col-lg-6 .col-sm-12, | 
				
			||||
.form-horizontal .col-lg-7 .col-sm-12, | 
				
			||||
.form-horizontal .col-lg-8 .col-sm-12, | 
				
			||||
.form-horizontal .col-lg-9 .col-sm-12, | 
				
			||||
.form-horizontal .col-lg-10 .col-sm-12, | 
				
			||||
.form-horizontal .col-lg-11 .col-sm-12, | 
				
			||||
.form-horizontal .col-lg12 .col-sm-12 { | 
				
			||||
  padding-left: 0; | 
				
			||||
} | 
				
			||||
form .has-error ul.help-block { | 
				
			||||
  list-style: none; | 
				
			||||
  padding-left: 0; | 
				
			||||
} | 
				
			||||
form .alert ul { | 
				
			||||
  list-style: none; | 
				
			||||
  padding-left: 0; | 
				
			||||
} | 
				
			||||
									
										
											File diff suppressed because it is too large
											Load Diff
										
									
								
							
						@ -1,123 +0,0 @@ | 
				
			||||
/* ========================================================== | 
				
			||||
 * bc-bootstrap-collection.js | 
				
			||||
 * http://bootstrap.braincrafted.com
 | 
				
			||||
 * ========================================================== | 
				
			||||
 * Copyright 2013 Florian Eckerstorfer | 
				
			||||
 * | 
				
			||||
 * ========================================================== */ | 
				
			||||
 | 
				
			||||
 | 
				
			||||
!function ($) { | 
				
			||||
 | 
				
			||||
    "use strict"; // jshint ;_;
 | 
				
			||||
 | 
				
			||||
    /* COLLECTION CLASS DEFINITION | 
				
			||||
     * ====================== */ | 
				
			||||
 | 
				
			||||
    var addField = '[data-addfield="collection"]', | 
				
			||||
        removeField = '[data-removefield="collection"]', | 
				
			||||
        CollectionAdd = function (el) { | 
				
			||||
            $(el).on('click', addField, this.addField); | 
				
			||||
        }, | 
				
			||||
        CollectionRemove = function (el) { | 
				
			||||
            $(el).on('click', removeField, this.removeField); | 
				
			||||
        } | 
				
			||||
    ; | 
				
			||||
 | 
				
			||||
    CollectionAdd.prototype.addField = function (e) { | 
				
			||||
        var $this = $(this), | 
				
			||||
            selector = $this.attr('data-collection'), | 
				
			||||
            prototypeName = $this.attr('data-prototype-name') | 
				
			||||
        ; | 
				
			||||
 | 
				
			||||
        e && e.preventDefault(); | 
				
			||||
 | 
				
			||||
        var collection = $('#'+selector), | 
				
			||||
            list = collection.find('> ul'), | 
				
			||||
            count = list.find('li').size() | 
				
			||||
        ; | 
				
			||||
 | 
				
			||||
        var newWidget = collection.attr('data-prototype'); | 
				
			||||
 | 
				
			||||
        // Check if an element with this ID already exists.
 | 
				
			||||
        // If it does, increase the count by one and try again
 | 
				
			||||
        var newName = newWidget.match(/id="(.*?)"/); | 
				
			||||
        var re = new RegExp(prototypeName, "g"); | 
				
			||||
        while ($('#' + newName[1].replace(re, count)).size() > 0) { | 
				
			||||
            count++; | 
				
			||||
        } | 
				
			||||
        newWidget = newWidget.replace(re, count); | 
				
			||||
        newWidget = newWidget.replace(/__id__/g, newName[1].replace(re, count)); | 
				
			||||
        var newLi = $('<li></li>').html(newWidget); | 
				
			||||
        newLi.appendTo(list); | 
				
			||||
    }; | 
				
			||||
 | 
				
			||||
    CollectionRemove.prototype.removeField = function (e) { | 
				
			||||
        var $this = $(this), | 
				
			||||
            selector = $this.attr('data-field') | 
				
			||||
        ; | 
				
			||||
 | 
				
			||||
        e && e.preventDefault(); | 
				
			||||
 | 
				
			||||
        var listElement = $this.closest('li').remove(); | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
 | 
				
			||||
    /* COLLECTION PLUGIN DEFINITION | 
				
			||||
     * ======================= */ | 
				
			||||
 | 
				
			||||
    var oldAdd = $.fn.addField; | 
				
			||||
    var oldRemove = $.fn.removeField; | 
				
			||||
 | 
				
			||||
    $.fn.addField = function (option) { | 
				
			||||
        return this.each(function () { | 
				
			||||
            var $this = $(this), | 
				
			||||
                data = $this.data('addfield') | 
				
			||||
            ; | 
				
			||||
            if (!data) { | 
				
			||||
                $this.data('addfield', (data = new CollectionAdd(this))); | 
				
			||||
            } | 
				
			||||
            if (typeof option == 'string') { | 
				
			||||
                data[option].call($this); | 
				
			||||
            } | 
				
			||||
        }); | 
				
			||||
    }; | 
				
			||||
 | 
				
			||||
    $.fn.removeField = function (option) { | 
				
			||||
        return this.each(function() { | 
				
			||||
            var $this = $(this), | 
				
			||||
                data = $this.data('removefield') | 
				
			||||
            ; | 
				
			||||
            if (!data) { | 
				
			||||
                $this.data('removefield', (data = new CollectionRemove(this))); | 
				
			||||
            } | 
				
			||||
            if (typeof option == 'string') { | 
				
			||||
                data[option].call($this); | 
				
			||||
            } | 
				
			||||
        }); | 
				
			||||
    }; | 
				
			||||
 | 
				
			||||
    $.fn.addField.Constructor = CollectionAdd; | 
				
			||||
    $.fn.removeField.Constructor = CollectionRemove; | 
				
			||||
 | 
				
			||||
 | 
				
			||||
    /* COLLECTION NO CONFLICT | 
				
			||||
     * ================= */ | 
				
			||||
 | 
				
			||||
    $.fn.addField.noConflict = function () { | 
				
			||||
        $.fn.addField = oldAdd; | 
				
			||||
        return this; | 
				
			||||
    } | 
				
			||||
    $.fn.removeField.noConflict = function () { | 
				
			||||
        $.fn.removeField = oldRemove; | 
				
			||||
        return this; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
 | 
				
			||||
    /* COLLECTION DATA-API | 
				
			||||
     * ============== */ | 
				
			||||
 | 
				
			||||
    $(document).on('click.addfield.data-api', addField, CollectionAdd.prototype.addField); | 
				
			||||
    $(document).on('click.removefield.data-api', removeField, CollectionRemove.prototype.removeField); | 
				
			||||
 | 
				
			||||
 }(window.jQuery); | 
				
			||||
@ -1,217 +0,0 @@ | 
				
			||||
/* ======================================================================== | 
				
			||||
 * Bootstrap: carousel.js v3.0.3 | 
				
			||||
 * http://getbootstrap.com/javascript/#carousel
 | 
				
			||||
 * ======================================================================== | 
				
			||||
 * Copyright 2013 Twitter, Inc. | 
				
			||||
 * | 
				
			||||
 * Licensed under the Apache License, Version 2.0 (the "License"); | 
				
			||||
 * you may not use this file except in compliance with the License. | 
				
			||||
 * You may obtain a copy of the License at | 
				
			||||
 * | 
				
			||||
 * http://www.apache.org/licenses/LICENSE-2.0
 | 
				
			||||
 * | 
				
			||||
 * Unless required by applicable law or agreed to in writing, software | 
				
			||||
 * distributed under the License is distributed on an "AS IS" BASIS, | 
				
			||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
				
			||||
 * See the License for the specific language governing permissions and | 
				
			||||
 * limitations under the License. | 
				
			||||
 * ======================================================================== */ | 
				
			||||
 | 
				
			||||
 | 
				
			||||
+function ($) { "use strict"; | 
				
			||||
 | 
				
			||||
  // CAROUSEL CLASS DEFINITION
 | 
				
			||||
  // =========================
 | 
				
			||||
 | 
				
			||||
  var Carousel = function (element, options) { | 
				
			||||
    this.$element    = $(element) | 
				
			||||
    this.$indicators = this.$element.find('.carousel-indicators') | 
				
			||||
    this.options     = options | 
				
			||||
    this.paused      = | 
				
			||||
    this.sliding     = | 
				
			||||
    this.interval    = | 
				
			||||
    this.$active     = | 
				
			||||
    this.$items      = null | 
				
			||||
 | 
				
			||||
    this.options.pause == 'hover' && this.$element | 
				
			||||
      .on('mouseenter', $.proxy(this.pause, this)) | 
				
			||||
      .on('mouseleave', $.proxy(this.cycle, this)) | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Carousel.DEFAULTS = { | 
				
			||||
    interval: 5000 | 
				
			||||
  , pause: 'hover' | 
				
			||||
  , wrap: true | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Carousel.prototype.cycle =  function (e) { | 
				
			||||
    e || (this.paused = false) | 
				
			||||
 | 
				
			||||
    this.interval && clearInterval(this.interval) | 
				
			||||
 | 
				
			||||
    this.options.interval | 
				
			||||
      && !this.paused | 
				
			||||
      && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) | 
				
			||||
 | 
				
			||||
    return this | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Carousel.prototype.getActiveIndex = function () { | 
				
			||||
    this.$active = this.$element.find('.item.active') | 
				
			||||
    this.$items  = this.$active.parent().children() | 
				
			||||
 | 
				
			||||
    return this.$items.index(this.$active) | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Carousel.prototype.to = function (pos) { | 
				
			||||
    var that        = this | 
				
			||||
    var activeIndex = this.getActiveIndex() | 
				
			||||
 | 
				
			||||
    if (pos > (this.$items.length - 1) || pos < 0) return | 
				
			||||
 | 
				
			||||
    if (this.sliding)       return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) | 
				
			||||
    if (activeIndex == pos) return this.pause().cycle() | 
				
			||||
 | 
				
			||||
    return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos])) | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Carousel.prototype.pause = function (e) { | 
				
			||||
    e || (this.paused = true) | 
				
			||||
 | 
				
			||||
    if (this.$element.find('.next, .prev').length && $.support.transition.end) { | 
				
			||||
      this.$element.trigger($.support.transition.end) | 
				
			||||
      this.cycle(true) | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    this.interval = clearInterval(this.interval) | 
				
			||||
 | 
				
			||||
    return this | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Carousel.prototype.next = function () { | 
				
			||||
    if (this.sliding) return | 
				
			||||
    return this.slide('next') | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Carousel.prototype.prev = function () { | 
				
			||||
    if (this.sliding) return | 
				
			||||
    return this.slide('prev') | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Carousel.prototype.slide = function (type, next) { | 
				
			||||
    var $active   = this.$element.find('.item.active') | 
				
			||||
    var $next     = next || $active[type]() | 
				
			||||
    var isCycling = this.interval | 
				
			||||
    var direction = type == 'next' ? 'left' : 'right' | 
				
			||||
    var fallback  = type == 'next' ? 'first' : 'last' | 
				
			||||
    var that      = this | 
				
			||||
 | 
				
			||||
    if (!$next.length) { | 
				
			||||
      if (!this.options.wrap) return | 
				
			||||
      $next = this.$element.find('.item')[fallback]() | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    this.sliding = true | 
				
			||||
 | 
				
			||||
    isCycling && this.pause() | 
				
			||||
 | 
				
			||||
    var e = $.Event('slide.bs.carousel', { relatedTarget: $next[0], direction: direction }) | 
				
			||||
 | 
				
			||||
    if ($next.hasClass('active')) return | 
				
			||||
 | 
				
			||||
    if (this.$indicators.length) { | 
				
			||||
      this.$indicators.find('.active').removeClass('active') | 
				
			||||
      this.$element.one('slid.bs.carousel', function () { | 
				
			||||
        var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()]) | 
				
			||||
        $nextIndicator && $nextIndicator.addClass('active') | 
				
			||||
      }) | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    if ($.support.transition && this.$element.hasClass('slide')) { | 
				
			||||
      this.$element.trigger(e) | 
				
			||||
      if (e.isDefaultPrevented()) return | 
				
			||||
      $next.addClass(type) | 
				
			||||
      $next[0].offsetWidth // force reflow
 | 
				
			||||
      $active.addClass(direction) | 
				
			||||
      $next.addClass(direction) | 
				
			||||
      $active | 
				
			||||
        .one($.support.transition.end, function () { | 
				
			||||
          $next.removeClass([type, direction].join(' ')).addClass('active') | 
				
			||||
          $active.removeClass(['active', direction].join(' ')) | 
				
			||||
          that.sliding = false | 
				
			||||
          setTimeout(function () { that.$element.trigger('slid.bs.carousel') }, 0) | 
				
			||||
        }) | 
				
			||||
        .emulateTransitionEnd(600) | 
				
			||||
    } else { | 
				
			||||
      this.$element.trigger(e) | 
				
			||||
      if (e.isDefaultPrevented()) return | 
				
			||||
      $active.removeClass('active') | 
				
			||||
      $next.addClass('active') | 
				
			||||
      this.sliding = false | 
				
			||||
      this.$element.trigger('slid.bs.carousel') | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    isCycling && this.cycle() | 
				
			||||
 | 
				
			||||
    return this | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
 | 
				
			||||
  // CAROUSEL PLUGIN DEFINITION
 | 
				
			||||
  // ==========================
 | 
				
			||||
 | 
				
			||||
  var old = $.fn.carousel | 
				
			||||
 | 
				
			||||
  $.fn.carousel = function (option) { | 
				
			||||
    return this.each(function () { | 
				
			||||
      var $this   = $(this) | 
				
			||||
      var data    = $this.data('bs.carousel') | 
				
			||||
      var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option) | 
				
			||||
      var action  = typeof option == 'string' ? option : options.slide | 
				
			||||
 | 
				
			||||
      if (!data) $this.data('bs.carousel', (data = new Carousel(this, options))) | 
				
			||||
      if (typeof option == 'number') data.to(option) | 
				
			||||
      else if (action) data[action]() | 
				
			||||
      else if (options.interval) data.pause().cycle() | 
				
			||||
    }) | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  $.fn.carousel.Constructor = Carousel | 
				
			||||
 | 
				
			||||
 | 
				
			||||
  // CAROUSEL NO CONFLICT
 | 
				
			||||
  // ====================
 | 
				
			||||
 | 
				
			||||
  $.fn.carousel.noConflict = function () { | 
				
			||||
    $.fn.carousel = old | 
				
			||||
    return this | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
 | 
				
			||||
  // CAROUSEL DATA-API
 | 
				
			||||
  // =================
 | 
				
			||||
 | 
				
			||||
  $(document).on('click.bs.carousel.data-api', '[data-slide], [data-slide-to]', function (e) { | 
				
			||||
    var $this   = $(this), href | 
				
			||||
    var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
 | 
				
			||||
    var options = $.extend({}, $target.data(), $this.data()) | 
				
			||||
    var slideIndex = $this.attr('data-slide-to') | 
				
			||||
    if (slideIndex) options.interval = false | 
				
			||||
 | 
				
			||||
    $target.carousel(options) | 
				
			||||
 | 
				
			||||
    if (slideIndex = $this.attr('data-slide-to')) { | 
				
			||||
      $target.data('bs.carousel').to(slideIndex) | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    e.preventDefault() | 
				
			||||
  }) | 
				
			||||
 | 
				
			||||
  $(window).on('load', function () { | 
				
			||||
    $('[data-ride="carousel"]').each(function () { | 
				
			||||
      var $carousel = $(this) | 
				
			||||
      $carousel.carousel($carousel.data()) | 
				
			||||
    }) | 
				
			||||
  }) | 
				
			||||
 | 
				
			||||
}(jQuery); | 
				
			||||
@ -1,117 +0,0 @@ | 
				
			||||
/* ======================================================================== | 
				
			||||
 * Bootstrap: popover.js v3.0.3 | 
				
			||||
 * http://getbootstrap.com/javascript/#popovers
 | 
				
			||||
 * ======================================================================== | 
				
			||||
 * Copyright 2013 Twitter, Inc. | 
				
			||||
 * | 
				
			||||
 * Licensed under the Apache License, Version 2.0 (the "License"); | 
				
			||||
 * you may not use this file except in compliance with the License. | 
				
			||||
 * You may obtain a copy of the License at | 
				
			||||
 * | 
				
			||||
 * http://www.apache.org/licenses/LICENSE-2.0
 | 
				
			||||
 * | 
				
			||||
 * Unless required by applicable law or agreed to in writing, software | 
				
			||||
 * distributed under the License is distributed on an "AS IS" BASIS, | 
				
			||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
				
			||||
 * See the License for the specific language governing permissions and | 
				
			||||
 * limitations under the License. | 
				
			||||
 * ======================================================================== */ | 
				
			||||
 | 
				
			||||
 | 
				
			||||
+function ($) { "use strict"; | 
				
			||||
 | 
				
			||||
  // POPOVER PUBLIC CLASS DEFINITION
 | 
				
			||||
  // ===============================
 | 
				
			||||
 | 
				
			||||
  var Popover = function (element, options) { | 
				
			||||
    this.init('popover', element, options) | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js') | 
				
			||||
 | 
				
			||||
  Popover.DEFAULTS = $.extend({} , $.fn.tooltip.Constructor.DEFAULTS, { | 
				
			||||
    placement: 'right' | 
				
			||||
  , trigger: 'click' | 
				
			||||
  , content: '' | 
				
			||||
  , template: '<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>' | 
				
			||||
  }) | 
				
			||||
 | 
				
			||||
 | 
				
			||||
  // NOTE: POPOVER EXTENDS tooltip.js
 | 
				
			||||
  // ================================
 | 
				
			||||
 | 
				
			||||
  Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype) | 
				
			||||
 | 
				
			||||
  Popover.prototype.constructor = Popover | 
				
			||||
 | 
				
			||||
  Popover.prototype.getDefaults = function () { | 
				
			||||
    return Popover.DEFAULTS | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Popover.prototype.setContent = function () { | 
				
			||||
    var $tip    = this.tip() | 
				
			||||
    var title   = this.getTitle() | 
				
			||||
    var content = this.getContent() | 
				
			||||
 | 
				
			||||
    $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title) | 
				
			||||
    $tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content) | 
				
			||||
 | 
				
			||||
    $tip.removeClass('fade top bottom left right in') | 
				
			||||
 | 
				
			||||
    // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
 | 
				
			||||
    // this manually by checking the contents.
 | 
				
			||||
    if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide() | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Popover.prototype.hasContent = function () { | 
				
			||||
    return this.getTitle() || this.getContent() | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Popover.prototype.getContent = function () { | 
				
			||||
    var $e = this.$element | 
				
			||||
    var o  = this.options | 
				
			||||
 | 
				
			||||
    return $e.attr('data-content') | 
				
			||||
      || (typeof o.content == 'function' ? | 
				
			||||
            o.content.call($e[0]) : | 
				
			||||
            o.content) | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Popover.prototype.arrow = function () { | 
				
			||||
    return this.$arrow = this.$arrow || this.tip().find('.arrow') | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Popover.prototype.tip = function () { | 
				
			||||
    if (!this.$tip) this.$tip = $(this.options.template) | 
				
			||||
    return this.$tip | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
 | 
				
			||||
  // POPOVER PLUGIN DEFINITION
 | 
				
			||||
  // =========================
 | 
				
			||||
 | 
				
			||||
  var old = $.fn.popover | 
				
			||||
 | 
				
			||||
  $.fn.popover = function (option) { | 
				
			||||
    return this.each(function () { | 
				
			||||
      var $this   = $(this) | 
				
			||||
      var data    = $this.data('bs.popover') | 
				
			||||
      var options = typeof option == 'object' && option | 
				
			||||
 | 
				
			||||
      if (!data) $this.data('bs.popover', (data = new Popover(this, options))) | 
				
			||||
      if (typeof option == 'string') data[option]() | 
				
			||||
    }) | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  $.fn.popover.Constructor = Popover | 
				
			||||
 | 
				
			||||
 | 
				
			||||
  // POPOVER NO CONFLICT
 | 
				
			||||
  // ===================
 | 
				
			||||
 | 
				
			||||
  $.fn.popover.noConflict = function () { | 
				
			||||
    $.fn.popover = old | 
				
			||||
    return this | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
}(jQuery); | 
				
			||||
@ -1,386 +0,0 @@ | 
				
			||||
/* ======================================================================== | 
				
			||||
 * Bootstrap: tooltip.js v3.0.3 | 
				
			||||
 * http://getbootstrap.com/javascript/#tooltip
 | 
				
			||||
 * Inspired by the original jQuery.tipsy by Jason Frame | 
				
			||||
 * ======================================================================== | 
				
			||||
 * Copyright 2013 Twitter, Inc. | 
				
			||||
 * | 
				
			||||
 * Licensed under the Apache License, Version 2.0 (the "License"); | 
				
			||||
 * you may not use this file except in compliance with the License. | 
				
			||||
 * You may obtain a copy of the License at | 
				
			||||
 * | 
				
			||||
 * http://www.apache.org/licenses/LICENSE-2.0
 | 
				
			||||
 * | 
				
			||||
 * Unless required by applicable law or agreed to in writing, software | 
				
			||||
 * distributed under the License is distributed on an "AS IS" BASIS, | 
				
			||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
				
			||||
 * See the License for the specific language governing permissions and | 
				
			||||
 * limitations under the License. | 
				
			||||
 * ======================================================================== */ | 
				
			||||
 | 
				
			||||
 | 
				
			||||
+function ($) { "use strict"; | 
				
			||||
 | 
				
			||||
  // TOOLTIP PUBLIC CLASS DEFINITION
 | 
				
			||||
  // ===============================
 | 
				
			||||
 | 
				
			||||
  var Tooltip = function (element, options) { | 
				
			||||
    this.type       = | 
				
			||||
    this.options    = | 
				
			||||
    this.enabled    = | 
				
			||||
    this.timeout    = | 
				
			||||
    this.hoverState = | 
				
			||||
    this.$element   = null | 
				
			||||
 | 
				
			||||
    this.init('tooltip', element, options) | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Tooltip.DEFAULTS = { | 
				
			||||
    animation: true | 
				
			||||
  , placement: 'top' | 
				
			||||
  , selector: false | 
				
			||||
  , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>' | 
				
			||||
  , trigger: 'hover focus' | 
				
			||||
  , title: '' | 
				
			||||
  , delay: 0 | 
				
			||||
  , html: false | 
				
			||||
  , container: false | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Tooltip.prototype.init = function (type, element, options) { | 
				
			||||
    this.enabled  = true | 
				
			||||
    this.type     = type | 
				
			||||
    this.$element = $(element) | 
				
			||||
    this.options  = this.getOptions(options) | 
				
			||||
 | 
				
			||||
    var triggers = this.options.trigger.split(' ') | 
				
			||||
 | 
				
			||||
    for (var i = triggers.length; i--;) { | 
				
			||||
      var trigger = triggers[i] | 
				
			||||
 | 
				
			||||
      if (trigger == 'click') { | 
				
			||||
        this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this)) | 
				
			||||
      } else if (trigger != 'manual') { | 
				
			||||
        var eventIn  = trigger == 'hover' ? 'mouseenter' : 'focus' | 
				
			||||
        var eventOut = trigger == 'hover' ? 'mouseleave' : 'blur' | 
				
			||||
 | 
				
			||||
        this.$element.on(eventIn  + '.' + this.type, this.options.selector, $.proxy(this.enter, this)) | 
				
			||||
        this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this)) | 
				
			||||
      } | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    this.options.selector ? | 
				
			||||
      (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) : | 
				
			||||
      this.fixTitle() | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Tooltip.prototype.getDefaults = function () { | 
				
			||||
    return Tooltip.DEFAULTS | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Tooltip.prototype.getOptions = function (options) { | 
				
			||||
    options = $.extend({}, this.getDefaults(), this.$element.data(), options) | 
				
			||||
 | 
				
			||||
    if (options.delay && typeof options.delay == 'number') { | 
				
			||||
      options.delay = { | 
				
			||||
        show: options.delay | 
				
			||||
      , hide: options.delay | 
				
			||||
      } | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    return options | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Tooltip.prototype.getDelegateOptions = function () { | 
				
			||||
    var options  = {} | 
				
			||||
    var defaults = this.getDefaults() | 
				
			||||
 | 
				
			||||
    this._options && $.each(this._options, function (key, value) { | 
				
			||||
      if (defaults[key] != value) options[key] = value | 
				
			||||
    }) | 
				
			||||
 | 
				
			||||
    return options | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Tooltip.prototype.enter = function (obj) { | 
				
			||||
    var self = obj instanceof this.constructor ? | 
				
			||||
      obj : $(obj.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type) | 
				
			||||
 | 
				
			||||
    clearTimeout(self.timeout) | 
				
			||||
 | 
				
			||||
    self.hoverState = 'in' | 
				
			||||
 | 
				
			||||
    if (!self.options.delay || !self.options.delay.show) return self.show() | 
				
			||||
 | 
				
			||||
    self.timeout = setTimeout(function () { | 
				
			||||
      if (self.hoverState == 'in') self.show() | 
				
			||||
    }, self.options.delay.show) | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Tooltip.prototype.leave = function (obj) { | 
				
			||||
    var self = obj instanceof this.constructor ? | 
				
			||||
      obj : $(obj.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type) | 
				
			||||
 | 
				
			||||
    clearTimeout(self.timeout) | 
				
			||||
 | 
				
			||||
    self.hoverState = 'out' | 
				
			||||
 | 
				
			||||
    if (!self.options.delay || !self.options.delay.hide) return self.hide() | 
				
			||||
 | 
				
			||||
    self.timeout = setTimeout(function () { | 
				
			||||
      if (self.hoverState == 'out') self.hide() | 
				
			||||
    }, self.options.delay.hide) | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Tooltip.prototype.show = function () { | 
				
			||||
    var e = $.Event('show.bs.'+ this.type) | 
				
			||||
 | 
				
			||||
    if (this.hasContent() && this.enabled) { | 
				
			||||
      this.$element.trigger(e) | 
				
			||||
 | 
				
			||||
      if (e.isDefaultPrevented()) return | 
				
			||||
 | 
				
			||||
      var $tip = this.tip() | 
				
			||||
 | 
				
			||||
      this.setContent() | 
				
			||||
 | 
				
			||||
      if (this.options.animation) $tip.addClass('fade') | 
				
			||||
 | 
				
			||||
      var placement = typeof this.options.placement == 'function' ? | 
				
			||||
        this.options.placement.call(this, $tip[0], this.$element[0]) : | 
				
			||||
        this.options.placement | 
				
			||||
 | 
				
			||||
      var autoToken = /\s?auto?\s?/i | 
				
			||||
      var autoPlace = autoToken.test(placement) | 
				
			||||
      if (autoPlace) placement = placement.replace(autoToken, '') || 'top' | 
				
			||||
 | 
				
			||||
      $tip | 
				
			||||
        .detach() | 
				
			||||
        .css({ top: 0, left: 0, display: 'block' }) | 
				
			||||
        .addClass(placement) | 
				
			||||
 | 
				
			||||
      this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element) | 
				
			||||
 | 
				
			||||
      var pos          = this.getPosition() | 
				
			||||
      var actualWidth  = $tip[0].offsetWidth | 
				
			||||
      var actualHeight = $tip[0].offsetHeight | 
				
			||||
 | 
				
			||||
      if (autoPlace) { | 
				
			||||
        var $parent = this.$element.parent() | 
				
			||||
 | 
				
			||||
        var orgPlacement = placement | 
				
			||||
        var docScroll    = document.documentElement.scrollTop || document.body.scrollTop | 
				
			||||
        var parentWidth  = this.options.container == 'body' ? window.innerWidth  : $parent.outerWidth() | 
				
			||||
        var parentHeight = this.options.container == 'body' ? window.innerHeight : $parent.outerHeight() | 
				
			||||
        var parentLeft   = this.options.container == 'body' ? 0 : $parent.offset().left | 
				
			||||
 | 
				
			||||
        placement = placement == 'bottom' && pos.top   + pos.height  + actualHeight - docScroll > parentHeight  ? 'top'    : | 
				
			||||
                    placement == 'top'    && pos.top   - docScroll   - actualHeight < 0                         ? 'bottom' : | 
				
			||||
                    placement == 'right'  && pos.right + actualWidth > parentWidth                              ? 'left'   : | 
				
			||||
                    placement == 'left'   && pos.left  - actualWidth < parentLeft                               ? 'right'  : | 
				
			||||
                    placement | 
				
			||||
 | 
				
			||||
        $tip | 
				
			||||
          .removeClass(orgPlacement) | 
				
			||||
          .addClass(placement) | 
				
			||||
      } | 
				
			||||
 | 
				
			||||
      var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight) | 
				
			||||
 | 
				
			||||
      this.applyPlacement(calculatedOffset, placement) | 
				
			||||
      this.$element.trigger('shown.bs.' + this.type) | 
				
			||||
    } | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Tooltip.prototype.applyPlacement = function(offset, placement) { | 
				
			||||
    var replace | 
				
			||||
    var $tip   = this.tip() | 
				
			||||
    var width  = $tip[0].offsetWidth | 
				
			||||
    var height = $tip[0].offsetHeight | 
				
			||||
 | 
				
			||||
    // manually read margins because getBoundingClientRect includes difference
 | 
				
			||||
    var marginTop = parseInt($tip.css('margin-top'), 10) | 
				
			||||
    var marginLeft = parseInt($tip.css('margin-left'), 10) | 
				
			||||
 | 
				
			||||
    // we must check for NaN for ie 8/9
 | 
				
			||||
    if (isNaN(marginTop))  marginTop  = 0 | 
				
			||||
    if (isNaN(marginLeft)) marginLeft = 0 | 
				
			||||
 | 
				
			||||
    offset.top  = offset.top  + marginTop | 
				
			||||
    offset.left = offset.left + marginLeft | 
				
			||||
 | 
				
			||||
    $tip | 
				
			||||
      .offset(offset) | 
				
			||||
      .addClass('in') | 
				
			||||
 | 
				
			||||
    // check to see if placing tip in new offset caused the tip to resize itself
 | 
				
			||||
    var actualWidth  = $tip[0].offsetWidth | 
				
			||||
    var actualHeight = $tip[0].offsetHeight | 
				
			||||
 | 
				
			||||
    if (placement == 'top' && actualHeight != height) { | 
				
			||||
      replace = true | 
				
			||||
      offset.top = offset.top + height - actualHeight | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    if (/bottom|top/.test(placement)) { | 
				
			||||
      var delta = 0 | 
				
			||||
 | 
				
			||||
      if (offset.left < 0) { | 
				
			||||
        delta       = offset.left * -2 | 
				
			||||
        offset.left = 0 | 
				
			||||
 | 
				
			||||
        $tip.offset(offset) | 
				
			||||
 | 
				
			||||
        actualWidth  = $tip[0].offsetWidth | 
				
			||||
        actualHeight = $tip[0].offsetHeight | 
				
			||||
      } | 
				
			||||
 | 
				
			||||
      this.replaceArrow(delta - width + actualWidth, actualWidth, 'left') | 
				
			||||
    } else { | 
				
			||||
      this.replaceArrow(actualHeight - height, actualHeight, 'top') | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    if (replace) $tip.offset(offset) | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Tooltip.prototype.replaceArrow = function(delta, dimension, position) { | 
				
			||||
    this.arrow().css(position, delta ? (50 * (1 - delta / dimension) + "%") : '') | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Tooltip.prototype.setContent = function () { | 
				
			||||
    var $tip  = this.tip() | 
				
			||||
    var title = this.getTitle() | 
				
			||||
 | 
				
			||||
    $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title) | 
				
			||||
    $tip.removeClass('fade in top bottom left right') | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Tooltip.prototype.hide = function () { | 
				
			||||
    var that = this | 
				
			||||
    var $tip = this.tip() | 
				
			||||
    var e    = $.Event('hide.bs.' + this.type) | 
				
			||||
 | 
				
			||||
    function complete() { | 
				
			||||
      if (that.hoverState != 'in') $tip.detach() | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    this.$element.trigger(e) | 
				
			||||
 | 
				
			||||
    if (e.isDefaultPrevented()) return | 
				
			||||
 | 
				
			||||
    $tip.removeClass('in') | 
				
			||||
 | 
				
			||||
    $.support.transition && this.$tip.hasClass('fade') ? | 
				
			||||
      $tip | 
				
			||||
        .one($.support.transition.end, complete) | 
				
			||||
        .emulateTransitionEnd(150) : | 
				
			||||
      complete() | 
				
			||||
 | 
				
			||||
    this.$element.trigger('hidden.bs.' + this.type) | 
				
			||||
 | 
				
			||||
    return this | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Tooltip.prototype.fixTitle = function () { | 
				
			||||
    var $e = this.$element | 
				
			||||
    if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') { | 
				
			||||
      $e.attr('data-original-title', $e.attr('title') || '').attr('title', '') | 
				
			||||
    } | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Tooltip.prototype.hasContent = function () { | 
				
			||||
    return this.getTitle() | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Tooltip.prototype.getPosition = function () { | 
				
			||||
    var el = this.$element[0] | 
				
			||||
    return $.extend({}, (typeof el.getBoundingClientRect == 'function') ? el.getBoundingClientRect() : { | 
				
			||||
      width: el.offsetWidth | 
				
			||||
    , height: el.offsetHeight | 
				
			||||
    }, this.$element.offset()) | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) { | 
				
			||||
    return placement == 'bottom' ? { top: pos.top + pos.height,   left: pos.left + pos.width / 2 - actualWidth / 2  } : | 
				
			||||
           placement == 'top'    ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2  } : | 
				
			||||
           placement == 'left'   ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } : | 
				
			||||
        /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width   } | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Tooltip.prototype.getTitle = function () { | 
				
			||||
    var title | 
				
			||||
    var $e = this.$element | 
				
			||||
    var o  = this.options | 
				
			||||
 | 
				
			||||
    title = $e.attr('data-original-title') | 
				
			||||
      || (typeof o.title == 'function' ? o.title.call($e[0]) :  o.title) | 
				
			||||
 | 
				
			||||
    return title | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Tooltip.prototype.tip = function () { | 
				
			||||
    return this.$tip = this.$tip || $(this.options.template) | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Tooltip.prototype.arrow = function () { | 
				
			||||
    return this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow') | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Tooltip.prototype.validate = function () { | 
				
			||||
    if (!this.$element[0].parentNode) { | 
				
			||||
      this.hide() | 
				
			||||
      this.$element = null | 
				
			||||
      this.options  = null | 
				
			||||
    } | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Tooltip.prototype.enable = function () { | 
				
			||||
    this.enabled = true | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Tooltip.prototype.disable = function () { | 
				
			||||
    this.enabled = false | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Tooltip.prototype.toggleEnabled = function () { | 
				
			||||
    this.enabled = !this.enabled | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Tooltip.prototype.toggle = function (e) { | 
				
			||||
    var self = e ? $(e.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type) : this | 
				
			||||
    self.tip().hasClass('in') ? self.leave(self) : self.enter(self) | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  Tooltip.prototype.destroy = function () { | 
				
			||||
    this.hide().$element.off('.' + this.type).removeData('bs.' + this.type) | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
 | 
				
			||||
  // TOOLTIP PLUGIN DEFINITION
 | 
				
			||||
  // =========================
 | 
				
			||||
 | 
				
			||||
  var old = $.fn.tooltip | 
				
			||||
 | 
				
			||||
  $.fn.tooltip = function (option) { | 
				
			||||
    return this.each(function () { | 
				
			||||
      var $this   = $(this) | 
				
			||||
      var data    = $this.data('bs.tooltip') | 
				
			||||
      var options = typeof option == 'object' && option | 
				
			||||
 | 
				
			||||
      if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options))) | 
				
			||||
      if (typeof option == 'string') data[option]() | 
				
			||||
    }) | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
  $.fn.tooltip.Constructor = Tooltip | 
				
			||||
 | 
				
			||||
 | 
				
			||||
  // TOOLTIP NO CONFLICT
 | 
				
			||||
  // ===================
 | 
				
			||||
 | 
				
			||||
  $.fn.tooltip.noConflict = function () { | 
				
			||||
    $.fn.tooltip = old | 
				
			||||
    return this | 
				
			||||
  } | 
				
			||||
 | 
				
			||||
}(jQuery); | 
				
			||||
					Loading…
					
					
				
		Reference in new issue