
/*!
 * jQuery.filer
 * Copyright (c) 2015 CreativeDream
 * Website: https://github.com/CreativeDream/jquery.filer
 * Version: 1.0.4 (03-Nov-2015)
 * Requires: jQuery v1.7.1 or later
 */
(function($) {
	"use strict";
	$.fn.filer = function(q) {
		return this.each(function(t, r) {
			var s = $(r),
				b = '.jFiler',
				p = $(),
				o = $(),
				l = $(),
				sl = [],
				n = $.extend(true, {}, $.fn.filer.defaults, q),
				f = {
					init: function() {
						s.wrap('<div class="jFiler"></div>');
						s.prop("jFiler").boxEl = p = s.closest(b);
						f._changeInput();
					},
					_bindInput: function() {
						if(n.changeInput && o.size() > 0) {
							o.bind("click", f._clickHandler);
						}
						s.on({
							"focus": function() {
								o.addClass('focused');
							},
							"blur": function() {
								o.removeClass('focused');
							},
							"change": function() {
								f._onChange();
							}
						});
						if(n.dragDrop) {
							(o.length > 0 ? o : s)
							.bind("drop", f._dragDrop.drop)
								.bind("dragover", f._dragDrop.dragEnter)
								.bind("dragleave", f._dragDrop.dragLeave);
						}
						if(n.uploadFile && n.clipBoardPaste) {
							$(window)
								.on("paste", f._clipboardPaste);
						}
					},
					_unbindInput: function() {
						if(n.changeInput && o.size() > 0) {
							o.unbind("click", f._clickHandler);
						}
					},
					_clickHandler: function() {
						s.click()
					},
					_applyAttrSettings: function() {
						var d = ["name", "limit", "maxSize", "extensions", "changeInput", "showThumbs", "appendTo", "theme", "addMore", "excludeName", "files", "options"];
						for(var k in d) {
							var j = "data-jfiler-" + d[k];
							if(f._assets.hasAttr(j)) {
								switch(d[k]) {
									case "changeInput":
									case "showThumbs":
									case "addMore":
										n[d[k]] = (["true", "false"].indexOf(s.attr(j)) > -1 ? s.attr(j) == "true" : s.attr(j));
										break;
									case "extensions":
										n[d[k]] = s.attr(j)
											.replace(/ /g, '')
											.split(",");
										break;
									case "files":
									case "options":
										n[d[k]] = JSON.parse(s.attr(j));
										break;
									default:
										n[d[k]] = s.attr(j);
								}
								s.removeAttr(j);
							}
						}
					},
					_changeInput: function() {
						f._applyAttrSettings();
						n.beforeRender != null && typeof n.beforeRender == "function" ? n.beforeRender(p, s) : null;
						if(n.theme) {
							p.addClass('jFiler-theme-' + n.theme);
						}
						if(s.get(0)
							.tagName.toLowerCase() != "input" && s.get(0)
							.type != "file") {
							o = s;
							s = $("<input type=\"file\" name=\"" + n.name + "\" />");
							s.css({
								position: "absolute",
								left: "-9999px",
								top: "-9999px",
								"z-index": "-9999"
							});
							p.prepend(s);
							f._isGn = s;
						} else {
							if(n.changeInput) {
								switch(typeof n.changeInput) {
									case "boolean":
										o = $('<div class="jFiler-input"><div class="jFiler-input-caption"><span>' + n.captions.feedback + '</span></div><div class="jFiler-input-button">' + n.captions.button + '</div></div>"');
										break;
									case "string":
									case "object":
										o = $(n.changeInput);
										break;
									case "function":
										o = $(n.changeInput(p, s, n));
										break;
								}
								s.after(o);
								s.css({
									position: "absolute",
									left: "-9999px",
									top: "-9999px",
									"z-index": "-9999"
								});
							}
						}
						s.prop("jFiler").newInputEl = o;
						if(!n.limit || (n.limit && n.limit >= 2)) {
							s.attr("multiple", "multiple");
							s.attr("name")
								.slice(-2) != "[]" ? s.attr("name", s.attr("name") + "[]") : null;
						}
						f._bindInput();
						if(n.files) {
							f._append(false, {
								files: n.files
							});
						}
						n.afterRender != null && typeof n.afterRender == "function" ? n.afterRender(l, p, o, s) : null;
					},
					_clear: function() {
						f.files = null;
						s.prop("jFiler")
							.files = null;
						if(!n.uploadFile && !n.addMore) {
							f._reset();
						}
						f._set('feedback', (f._itFl && f._itFl.length > 0 ? f._itFl.length + ' ' + n.captions.feedback2 : n.captions.feedback));
						n.onEmpty != null && typeof n.onEmpty == "function" ? n.onEmpty(p, o, s) : null
					},
					_reset: function(a) {
						if(!a) {
							if(!n.uploadFile && n.addMore) {
								for(var i = 0; i < sl.length; i++) {
									sl[i].remove();
								}
								sl = [];
								f._unbindInput();
								if(f._isGn) {
									s = f._isGn;
								} else {
									s = $(r);
								}
								f._bindInput();
							}
							f._set('input', '');
						}
						f._itFl = [];
						f._itFc = null;
						f._ajFc = 0;
						s.prop("jFiler")
							.files_list = f._itFl;
						s.prop("jFiler")
							.current_file = f._itFc;
						if(!f._prEr) {
							f._itFr = [];
							p.find("input[name^='jfiler-items-exclude-']:hidden")
								.remove();
						}
						l.fadeOut("fast", function() {
							$(this)
								.remove();
						});
						s.prop("jFiler").listEl = l = $();
					},
					_set: function(element, value) {
						switch(element) {
							case 'input':
								s.val("");
								break;
							case 'feedback':
								if(o.length > 0) {
									o.find('.jFiler-input-caption span')
										.html(value);
								}
								break;
						}
					},
					_filesCheck: function() {
						var s = 0;
						if(n.limit && f.files.length + f._itFl.length > n.limit) {
							alert(f._assets.textParse(n.captions.errors.filesLimit));
							return false
						}
						for(var t = 0; t < f.files.length; t++) {
							var x = f.files[t].name.split(".")
								.pop()
								.toLowerCase(),
								file = f.files[t],
								m = {
									name: file.name,
									size: file.size,
									size2: f._assets.bytesToSize(file.size),
									type: file.type,
									ext: x
								};
							if(n.extensions != null && $.inArray(x, n.extensions) == -1) {
								alert(f._assets.textParse(n.captions.errors.filesType, m));
								return false;
								break
							}
							if(n.maxSize != null && f.files[t].size > n.maxSize * 1048576) {
								alert(f._assets.textParse(n.captions.errors.filesSize, m));
								return false;
								break
							}
							if(file.size == 4096 && file.type.length == 0) {
								return false;
								break
							}
							s += f.files[t].size
						}
						if(n.maxSize != null && s >= Math.round(n.maxSize * 1048576)) {
							alert(f._assets.textParse(n.captions.errors.filesSizeAll));
							return false
						}
						if((n.addMore || n.uploadFile)) {
							var m = f._itFl.filter(function(a, b) {
								if(a.file.name == file.name && a.file.size == file.size && a.file.type == file.type && (file.lastModified ? a.file.lastModified == file.lastModified : true)) {
									return true;
								}
							});
							if(m.length > 0) {
								return false
							}
						}
						return true;
					},
					_thumbCreator: {
						create: function(i) {
							var file = f.files[i],
								id = (f._itFc ? f._itFc.id : i),
								name = file.name,
								size = file.size,
								type = file.type.split("/", 1)
								.toString()
								.toLowerCase(),
								ext = name.indexOf(".") != -1 ? name.split(".")
								.pop()
								.toLowerCase() : "",
								progressBar = n.uploadFile ? '<div class="jFiler-jProgressBar">' + n.templates.progressBar + '</div>' : '',
								opts = {
									id: id,
									name: name,
									size: size,
									size2: f._assets.bytesToSize(size),
									type: type,
									extension: ext,
									icon: f._assets.getIcon(ext, type),
									icon2: f._thumbCreator.generateIcon({
										type: type,
										extension: ext
									}),
									image: '<div class="jFiler-item-thumb-image fi-loading"></div>',
									progressBar: progressBar,
									_appended: file._appended
								},
								html = "";
							if(file.opts) {
								opts = $.extend({}, file.opts, opts);
							}
							html = $(f._thumbCreator.renderContent(opts))
								.attr("data-jfiler-index", id);
							html.get(0)
								.jfiler_id = id;
							f._thumbCreator.renderFile(file, html, opts);
							if(file.forList) {
								return html;
							}
							f._itFc.html = html;
							html.hide()[n.templates.itemAppendToEnd ? "appendTo" : "prependTo"](l.find(n.templates._selectors.list))
								.show();
							if(!file._appended) {
								f._onSelect(i);
							}
						},
						renderContent: function(opts) {
							return f._assets.textParse((opts._appended ? n.templates.itemAppend : n.templates.item), opts);
						},
						renderFile: function(file, html, opts) {
							if(html.find('.jFiler-item-thumb-image')
								.size() == 0) {
								return false;
							}
							if(file.file && opts.type == "image") {
								var g = '<img src="' + file.file + '" draggable="false" />',
									m = html.find('.jFiler-item-thumb-image.fi-loading');
								$(g)
									.error(function() {
										g = f._thumbCreator.generateIcon(opts);
										html.addClass('jFiler-no-thumbnail');
										m.removeClass('fi-loading')
											.html(g);
									})
									.load(function() {
										m.removeClass('fi-loading')
											.html(g);
									});
								return true;
							}
							if(window.File && window.FileList && window.FileReader && opts.type == "image" && opts.size < 6e+6) {
								var y = new FileReader;
								y.onload = function(e) {
									var g = '<img src="' + e.target.result + '" draggable="false" />',
										m = html.find('.jFiler-item-thumb-image.fi-loading');
									$(g)
										.error(function() {
											g = f._thumbCreator.generateIcon(opts);
											html.addClass('jFiler-no-thumbnail');
											m.removeClass('fi-loading')
												.html(g);
										})
										.load(function() {
											m.removeClass('fi-loading')
												.html(g);
										});
								};
								y.readAsDataURL(file);
							} else {
								var g = f._thumbCreator.generateIcon(opts),
									m = html.find('.jFiler-item-thumb-image.fi-loading');
								html.addClass('jFiler-no-thumbnail');
								m.removeClass('fi-loading')
									.html(g);
							}
						},
						generateIcon: function(obj) {
							var m = new Array(3);
							if(obj && obj.type && obj.extension) {
								switch(obj.type) {
									case "image":
										m[0] = "f-image";
										m[1] = "<i class=\"icon-jfi-file-image\"></i>"
										break;
									case "video":
										m[0] = "f-video";
										m[1] = "<i class=\"icon-jfi-file-video\"></i>"
										break;
									case "audio":
										m[0] = "f-audio";
										m[1] = "<i class=\"icon-jfi-file-audio\"></i>"
										break;
									default:
										m[0] = "f-file f-file-ext-" + obj.extension;
										m[1] = (obj.extension.length > 0 ? "." + obj.extension : "");
										m[2] = 1
								}
							} else {
								m[0] = "f-file";
								m[1] = (obj.extension && obj.extension.length > 0 ? "." + obj.extension : "");
								m[2] = 1
							}
							var el = '<span class="jFiler-icon-file ' + m[0] + '">' + m[1] + '</span>';
							if(m[2] == 1) {
								var c = f._assets.text2Color(obj.extension);
								if(c) {
									var j = $(el)
										.appendTo("body"),
										h = j.css("box-shadow");
									h = c + h.substring(h.replace(/^.*(rgba?\([^)]+\)).*$/, '$1')
										.length, h.length);
									j.css({
											'-webkit-box-shadow': h,
											'-moz-box-shadow': h,
											'box-shadow': h
										})
										.attr('style', '-webkit-box-shadow: ' + h + '; -moz-box-shadow: ' + h + '; box-shadow: ' + h + ';');
									el = j.prop('outerHTML');
									j.remove();
								}
							}
							return el;
						},
						_box: function(params) {
							if(n.beforeShow != null && typeof n.beforeShow == "function" ? !n.beforeShow(f.files, l, p, o, s) : false) {
								return false
							}
							if(l.length < 1) {
								if(n.appendTo) {
									var appendTo = $(n.appendTo);
								} else {
									var appendTo = p;
								}
								appendTo.find('.jFiler-items')
									.remove();
								l = $('<div class="jFiler-items jFiler-row"></div>');
								s.prop("jFiler").listEl = l;
								l.append(f._assets.textParse(n.templates.box))
									.appendTo(appendTo);
								l.on('click', n.templates._selectors.remove, function(e) {
									e.preventDefault();
									var cf = n.templates.removeConfirmation ? confirm(n.captions.removeConfirmation) : true;
									if(cf) {
										f._remove(params ? params.remove.event : e, params ? params.remove.el : $(this)
											.closest(n.templates._selectors.item));
									}
								});
							}
							for(var i = 0; i < f.files.length; i++) {
								if(!f.files[i]._appended) f.files[i]._choosed = true;
								f._addToMemory(i);
								f._thumbCreator.create(i);
							}
						}
					},
					_upload: function(i) {
						var el = f._itFc.html,
							formData = new FormData();
						formData.append(s.attr('name'), f._itFc.file, (f._itFc.file.name ? f._itFc.file.name : false));
						if(n.uploadFile.data != null && $.isPlainObject(n.uploadFile.data)) {
							for(var k in n.uploadFile.data) {
								formData.append(k, n.uploadFile.data[k])
							}
						}
						f._ajax.send(el, formData, f._itFc);
					},
					_ajax: {
						send: function(el, formData, c) {
							c.ajax = $.ajax({
								url: n.uploadFile.url,
								data: formData,
								type: n.uploadFile.type,
								enctype: n.uploadFile.enctype,
								xhr: function() {
									var myXhr = $.ajaxSettings.xhr();
									if(myXhr.upload) {
										myXhr.upload.addEventListener("progress", function(e) {
											f._ajax.progressHandling(e, el)
										}, false)
									}
									return myXhr
								},
								complete: function(jqXHR, textStatus) {
									c.ajax = false;
									f._ajFc++;
									if(f._ajFc >= f.files.length) {
										f._ajFc = 0;
										n.uploadFile.onComplete != null && typeof n.uploadFile.onComplete == "function" ? n.uploadFile.onComplete(l, p, o, s, jqXHR, textStatus) : null;
									}
								},
								beforeSend: function(jqXHR, settings) {
									return n.uploadFile.beforeSend != null && typeof n.uploadFile.beforeSend == "function" ? n.uploadFile.beforeSend(el, l, p, o, s, c.id, jqXHR, settings) : true;
								},
								success: function(data, textStatus, jqXHR) {
									c.uploaded = true;
									n.uploadFile.success != null && typeof n.uploadFile.success == "function" ? n.uploadFile.success(data, el, l, p, o, s, c.id, textStatus, jqXHR) : null
								},
								error: function(jqXHR, textStatus, errorThrown) {
									c.uploaded = false;
									n.uploadFile.error != null && typeof n.uploadFile.error == "function" ? n.uploadFile.error(el, l, p, o, s, c.id, jqXHR, textStatus, errorThrown) : null
								},
								statusCode: n.uploadFile.statusCode,
								cache: false,
								contentType: false,
								processData: false
							});
							return c.ajax;
						},
						progressHandling: function(e, el) {
							if(e.lengthComputable) {
								var t = Math.round(e.loaded * 100 / e.total)
									.toString();
								n.uploadFile.onProgress != null && typeof n.uploadFile.onProgress == "function" ? n.uploadFile.onProgress(t, el, l, p, o, s) : null;
								el.find('.jFiler-jProgressBar')
									.find(n.templates._selectors.progressBar)
									.css("width", t + "%")
							}
						}
					},
					_dragDrop: {
						dragEnter: function(e) {
							e.preventDefault();
							e.stopPropagation();
							p.addClass('dragged');
							f._set('feedback', n.captions.drop);
							n.dragDrop.dragEnter != null && typeof n.dragDrop.dragEnter == "function" ? n.dragDrop.dragEnter(e, o, s, p) : null;
						},
						dragLeave: function(e) {
							e.preventDefault();
							e.stopPropagation();
							if(!f._dragDrop._dragLeaveCheck(e)) {
								return false
							}
							p.removeClass('dragged');
							f._set('feedback', n.captions.feedback);
							n.dragDrop.dragLeave != null && typeof n.dragDrop.dragLeave == "function" ? n.dragDrop.dragLeave(e, o, s, p) : null;
						},
						drop: function(e) {
							e.preventDefault();
							p.removeClass('dragged');
							if(!e.originalEvent.dataTransfer.files || e.originalEvent.dataTransfer.files.length <= 0) {
								return;
							}
							f._set('feedback', n.captions.feedback);
							f._onChange(e, e.originalEvent.dataTransfer.files);
							n.dragDrop.drop != null && typeof n.dragDrop.drop == "function" ? n.dragDrop.drop(e.originalEvent.dataTransfer.files, e, o, s, p) : null;
						},
						_dragLeaveCheck: function(e) {
							var related = e.relatedTarget,
								inside = false;
							if(related !== o) {
								if(related) {
									inside = $.contains(o, related);
								}
								if(inside) {
									return false;
								}
							}
							return true;
						}
					},
					_clipboardPaste: function(e, fromDrop) {
						if(!fromDrop && (!e.originalEvent.clipboardData && !e.originalEvent.clipboardData.items)) {
							return
						}
						if(fromDrop && (!e.originalEvent.dataTransfer && !e.originalEvent.dataTransfer.items)) {
							return
						}
						if(f._clPsePre) {
							return
						}
						var items = (fromDrop ? e.originalEvent.dataTransfer.items : e.originalEvent.clipboardData.items),
							b64toBlob = function(b64Data, contentType, sliceSize) {
								contentType = contentType || '';
								sliceSize = sliceSize || 512;
								var byteCharacters = atob(b64Data);
								var byteArrays = [];
								for(var offset = 0; offset < byteCharacters.length; offset += sliceSize) {
									var slice = byteCharacters.slice(offset, offset + sliceSize);
									var byteNumbers = new Array(slice.length);
									for(var i = 0; i < slice.length; i++) {
										byteNumbers[i] = slice.charCodeAt(i);
									}
									var byteArray = new Uint8Array(byteNumbers);
									byteArrays.push(byteArray);
								}
								var blob = new Blob(byteArrays, {
									type: contentType
								});
								return blob;
							};
						if(items) {
							for(var i = 0; i < items.length; i++) {
								if(items[i].type.indexOf("image") !== -1 || items[i].type.indexOf("text/uri-list") !== -1) {
									if(fromDrop) {
										try {
											window.atob(e.originalEvent.dataTransfer.getData("text/uri-list")
												.toString()
												.split(',')[1]);
										} catch(e) {
											return;
										}
									}
									var blob = (fromDrop ? b64toBlob(e.originalEvent.dataTransfer.getData("text/uri-list")
										.toString()
										.split(',')[1], "image/png") : items[i].getAsFile());
									blob.name = Math.random()
										.toString(36)
										.substring(5);
									blob.name += blob.type.indexOf("/") != -1 ? "." + blob.type.split("/")[1].toString()
										.toLowerCase() : ".png";
									f._onChange(e, [blob]);
									f._clPsePre = setTimeout(function() {
										delete f._clPsePre
									}, 1000);
								}
							}
						}
					},
					_onSelect: function(i) {
						if(n.uploadFile && !$.isEmptyObject(n.uploadFile)) {
							f._upload(i)
						}
						n.onSelect != null && typeof n.onSelect == "function" ? n.onSelect(f.files[i], f._itFc.html, l, p, o, s) : null;
						if(i + 1 >= f.files.length) {
							n.afterShow != null && typeof n.afterShow == "function" ? n.afterShow(l, p, o, s) : null
						}
					},
					_onChange: function(e, d) {
						if(!d) {
							if(!s.get(0)
								.files || typeof s.get(0)
								.files == "undefined" || s.get(0)
								.files.length == 0) {
								if(!n.uploadFile && !n.addMore) {
									f._set('input', '');
									f._clear();
								}
								return false
							}
							f.files = s.get(0)
								.files;
						} else {
							if(!d || d.length == 0) {
								f._set('input', '');
								f._clear();
								return false
							}
							f.files = d;
						}
						if(!n.uploadFile && !n.addMore) {
							f._reset(true);
						}
						s.prop("jFiler")
							.files = f.files;
						if(!f._filesCheck() || (n.beforeSelect != null && typeof n.beforeSelect == "function" ? !n.beforeSelect(f.files, l, p, o, s) : false)) {
							f._set('input', '');
							f._clear();
							return false
						}
						f._set('feedback', f.files.length + f._itFl.length + ' ' + n.captions.feedback2);
						if(n.showThumbs) {
							f._thumbCreator._box();
						} else {
							for(var i = 0; i < f.files.length; i++) {
								f.files[i]._choosed = true;
								f._addToMemory(i);
								f._onSelect(i);
							}
						}
						if(!n.uploadFile && n.addMore) {
							var elem = $('<input type="file" />');
							var attributes = s.prop("attributes");
							$.each(attributes, function() {
								elem.attr(this.name, this.value);
							});
							s.after(elem);
							f._unbindInput();
							sl.push(elem);
							s = elem;
							f._bindInput();
						}
					},
					_append: function(e, data) {
						var files = (!data ? false : data.files);
						if(!files || files.length <= 0) {
							return;
						}
						f.files = files;
						s.prop("jFiler")
							.files = f.files;
						if(n.showThumbs) {
							for(var i = 0; i < f.files.length; i++) {
								f.files[i]._appended = true;
							}
							f._thumbCreator._box();
						}
					},
					_getList: function(e, data) {
						var files = (!data ? false : data.files);
						if(!files || files.length <= 0) {
							return;
						}
						f.files = files;
						s.prop("jFiler")
							.files = f.files;
						if(n.showThumbs) {
							var returnData = [];
							for(var i = 0; i < f.files.length; i++) {
								f.files[i].forList = true;
								returnData.push(f._thumbCreator.create(i));
							}
							if(data.callback) {
								data.callback(returnData, l, p, o, s);
							}
						}
					},
					_retryUpload: function(e, data) {
						var id = parseInt(typeof data == "object" ? data.attr("data-jfiler-index") : data),
							obj = f._itFl.filter(function(value, key) {
								return value.id == id;
							});
						if(obj.length > 0) {
							if(n.uploadFile && !$.isEmptyObject(n.uploadFile) && !obj[0].uploaded) {
								f._itFc = obj[0];
								s.prop("jFiler")
									.current_file = f._itFc;
								f._upload(id);
								return true;
							}
						} else {
							return false;
						}
					},
					_remove: function(e, el) {
						if(el.binded) {
							if(typeof(el.data.id) != "undefined") {
								el = l.find(n.templates._selectors.item + "[data-jfiler-index='" + el.data.id + "']");
								if(el.size() == 0) {
									return false
								}
							}
							if(el.data.el) {
								el = el.data.el;
							}
						}
						var attrId = el.get(0)
							.jfiler_id || el.attr('data-jfiler-index'),
							id = null,
							excl_input = function(id) {
								var input = p.find("input[name^='jfiler-items-exclude-']:hidden")
									.first(),
									item = f._itFl[id],
									val = [];
								if(input.size() == 0) {
									input = $('<input type="hidden" name="jfiler-items-exclude-' + (n.excludeName ? n.excludeName : (s.attr("name")
										.slice(-2) != "[]" ? s.attr("name") : s.attr("name")
										.substring(0, s.attr("name")
											.length - 2)) + "-" + t) + '">');
									input.appendTo(p);
								}
								if(item.file._choosed || item.file._appended || item.uploaded) {
									f._prEr = true;
									f._itFr.push(item);
									if(n.addMore) {
										var current_input = item.input,
											count_same_input = 0;
										f._itFl.filter(function(val, index) {
											if(val.file._choosed && val.input.get(0) == current_input.get(0)) count_same_input++;
										});
										if(count_same_input == 1) {
											f._itFr = f._itFr.filter(function(val, index) {
												return val.file._choosed ? val.input.get(0) != current_input.get(0) : true;
											});
											current_input.val("");
											f._prEr = false;
										}
									}
									for(var i = 0; i < f._itFr.length; i++) {
										val.push(f._itFr[i].file.name);
									}
									val = JSON.stringify(val);
									input.val(val);
								}
							},
							callback = function(el, id) {
								excl_input(id);
								f._itFl.splice(id, 1);
								if(f._itFl.length < 1) {
									f._reset();
									f._clear();
								} else {
									f._set('feedback', f._itFl.length + ' ' + n.captions.feedback2);
								}
								el.fadeOut("fast", function() {
									$(this)
										.remove();
								});
							};
						for(var key in f._itFl) {
							if(key === 'length' || !f._itFl.hasOwnProperty(key)) continue;
							if(f._itFl[key].id == attrId) {
								id = key;
							}
						}
						if(!f._itFl.hasOwnProperty(id)) {
							return false
						}
						if(f._itFl[id].ajax) {
							f._itFl[id].ajax.abort();
							callback(el, id);
							return;
						}
						n.onRemove != null && typeof n.onRemove == "function" ? n.onRemove(el, f._itFl[id].file, id, l, p, o, s) : null;
						callback(el, id);
					},
					_addToMemory: function(i) {
						f._itFl.push({
							id: f._itFl.length,
							file: f.files[i],
							html: $(),
							ajax: false,
							uploaded: false,
						});
						if(n.addMore && !f.files[i]._appended) f._itFl[f._itFl.length - 1].input = s;
						f._itFc = f._itFl[f._itFl.length - 1];
						s.prop("jFiler")
							.files_list = f._itFl;
						s.prop("jFiler")
							.current_file = f._itFc;
					},
					_assets: {
						bytesToSize: function(bytes) {
							if(bytes == 0) return '0 Byte';
							var k = 1000;
							var sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
							var i = Math.floor(Math.log(bytes) / Math.log(k));
							return(bytes / Math.pow(k, i))
								.toPrecision(3) + ' ' + sizes[i];
						},
						hasAttr: function(attr, el) {
							var el = (!el ? s : el),
								a = el.attr(attr);
							if(!a || typeof a == "undefined") {
								return false;
							} else {
								return true;
							}
						},
						getIcon: function(ext, type) {
							var types = ["audio", "image", "text", "video"];
							if($.inArray(type, types) > -1) {
								return '<i class="icon-jfi-file-' + type + ' jfi-file-ext-' + ext + '"></i>';
							}
							return '<i class="icon-jfi-file-o jfi-file-type-' + type + ' jfi-file-ext-' + ext + '"></i>';
						},
						textParse: function(text, opts) {
							opts = $.extend({}, {
								limit: n.limit,
								maxSize: n.maxSize,
								extensions: n.extensions ? n.extensions.join(',') : null,
							}, (opts && $.isPlainObject(opts) ? opts : {}), n.options);
							switch(typeof(text)) {
								case "string":
									return text.replace(/\{\{fi-(.*?)\}\}/g, function(match, a) {
										a = a.replace(/ /g, '');
										if(a.match(/(.*?)\|limitTo\:(\d+)/)) {
											return a.replace(/(.*?)\|limitTo\:(\d+)/, function(match, a, b) {
												var a = (opts[a] ? opts[a] : ""),
													str = a.substring(0, b);
												str = (a.length > str.length ? str.substring(0, str.length - 3) + "..." : str);
												return str;
											});
										} else {
											return(opts[a] ? opts[a] : "");
										}
									});
									break;
								case "function":
									return text(opts);
									break;
								default:
									return text;
							}
						},
						text2Color: function(str) {
							if(!str || str.length == 0) {
								return false
							}
							for(var i = 0, hash = 0; i < str.length; hash = str.charCodeAt(i++) + ((hash << 5) - hash));
							for(var i = 0, colour = "#"; i < 3; colour += ("00" + ((hash >> i++ * 2) & 0xFF)
									.toString(16))
								.slice(-2));
							return colour;
						}
					},
					files: null,
					_itFl: [],
					_itFc: null,
					_itFr: [],
					_ajFc: 0,
					_prEr: false
				}
			s.prop("jFiler", {
				options: n,
				listEl: l,
				boxEl: p,
				newInputEl: o,
				inputEl: s,
				files: f.files,
				files_list: f._itFl,
				current_file: f._itFc,
				append: function(data) {
					return f._append(false, {
						files: [data]
					});
				},
				remove: function(id) {
					f._remove(null, {
						binded: true,
						data: {
							id: id
						}
					});
					return true;
				},
				reset: function() {
					f._reset();
					f._clear();
					return true;
				},
				retry: function(data) {
					return f._retryUpload(data);
				}
			}).on("filer.append", function(e, data) {
				f._append(e, data)
			}).on("filer.remove", function(e, data) {
				data.binded = true;
				f._remove(e, data);
			}).on("filer.reset", function(e) {
				f._reset();
				f._clear();
				return true;
			}).on("filer.generateList", function(e, data) {
				return f._getList(e, data)
			}).on("filer.retry", function(e, data) {
				return f._retryUpload(e, data)
			});
			f.init();
			return this;
		});
	};
	$.fn.filer.defaults = {
		limit: null,
		maxSize: null,
		extensions: null,
		changeInput: true,
		showThumbs: false,
		appendTo: null,
		theme: 'default',
		templates: {
			box: '<ul class="jFiler-items-list jFiler-items-default"></ul>',
			item: '<li class="jFiler-item"><div class="jFiler-item-container"><div class="jFiler-item-inner"><div class="jFiler-item-icon pull-left">{{fi-icon}}</div><div class="jFiler-item-info pull-left"><div class="jFiler-item-title" title="{{fi-name}}">{{fi-name | limitTo:30}}</div><div class="jFiler-item-others"><span>{{fi-size2}}</span><span></span><span class="jFiler-item-status">{{fi-progressBar}}</span></div><div class="jFiler-item-assets"><ul class="list-inline"><li><a class="icon-jfi-trash jFiler-item-trash-action"></a></li></ul></div></div></div></div></li>',
			itemAppend: '<li class="jFiler-item"><div class="jFiler-item-container"><div class="jFiler-item-inner"><div class="jFiler-item-icon pull-left">{{fi-icon}}</div><div class="jFiler-item-info pull-left"><div class="jFiler-item-title">{{fi-name | limitTo:35}}</div><div class="jFiler-item-others"><span>{{fi-size2}}</span><span></span><span class="jFiler-item-status"></span></div><div class="jFiler-item-assets"><ul class="list-inline"><li><a class="icon-jfi-trash jFiler-item-trash-action"></a></li></ul></div></div></div></div></li>',
			progressBar: '<div class="bar"></div>',
			itemAppendToEnd: false,
			removeConfirmation: false,
			_selectors: {
				list: '.jFiler-items-list',
				item: '.jFiler-item',
				progressBar: '.bar',
				remove: '.jFiler-item-trash-action'
			}
		},
		files: null,
		uploadFile: null,
		dragDrop: null,
		addMore: false,
		clipBoardPaste: true,
		excludeName: null,
		beforeRender: null,
		afterRender: null,
		beforeShow: null,
		beforeSelect: null,
		onSelect: null,
		afterShow: null,
		onRemove: null,
		onEmpty: null,
		options: null,
		captions: {
			button: "Choose Files",
			feedback: "Choose files To Upload",
			feedback2: "files were chosen",
			drop: "Drop file here to Upload",
			removeConfirmation: "Are you sure you want to remove this file?",
			errors: {
				filesLimit: "Only {{fi-limit}} files are allowed to be uploaded.",
				filesType: "Only Images are allowed to be uploaded.",
				filesSize: "{{fi-name}} is too large! Please upload file up to {{fi-maxSize}} MB.",
				filesSizeAll: "Files you've choosed are too large! Please upload files up to {{fi-maxSize}} MB."
			}
		}
	}
})(jQuery);
$(document).ready(function() {

    var awCaptions = {
        button: awSelect,
        removeConfirmation: awRemove,
        feedback: "",
        feedback2: awChoosen,
        errors: {
            filesType: awType,
            filesSize: awSize,
            filesLimit: awLimit
        }
    };

    function uploadSuccess (data, el){
        var parent = el.find(".jFiler-jProgressBar").parent();
        data = JSON.parse(data);
        if (data.status == "error") {
            el.find(".jFiler-jProgressBar").fadeOut("slow", function(){
                $("<div class=\"jFiler-item-others text-success\"><i class=\"icon-jfi-minus-circle\"></i> " + data.message +"</div>").hide().appendTo(parent).fadeIn("slow");
                alert(data.message);
                el.find('a').click();
            });
        }
        else {
            el.find(".jFiler-jProgressBar").fadeOut("slow", function(){
                $("<div class=\"jFiler-item-others text-success\"><i class=\"icon-jfi-check-circle\"></i> " + awSuccess + "</div>").hide().appendTo(parent).fadeIn("slow");
            });
        }

    }

    function uploadError(el){
        var parent = el.find(".jFiler-jProgressBar").parent();
        el.find(".jFiler-jProgressBar").fadeOut("slow", function(){
            $("<div class=\"jFiler-item-others text-error\"><i class=\"icon-jfi-minus-circle\"></i> " + awError + "</div>").hide().appendTo(parent).fadeIn("slow");
            alert(awError);
            el.find('a').click();
        });
    }

    function removeFileDocs (itemEl, file, id, listEl, boxEl, newInputEl, inputEl){
        var file = file.name;
        $.post(awRemoveUrl, {file: file});
    }


    var awUploadFile = {
        url: awUploadUrl,
        data: null,
        type: 'POST',
        enctype: 'multipart/form-data',
        beforeSend: function(){},
        success: uploadSuccess,
        error: uploadError,
        statusCode: null,
        onProgress: null,
        onComplete: null
    };

    var awUploadFileDocs = jQuery.extend(true, {}, awUploadFile);
    awUploadFileDocs.url = awUploadUrl;



    $('#docs').filer({
        limit: 1,
        maxSize: awMaxFileSize,
        showThumbs: true,
        extensions: awExtensions,
        captions: awCaptions,
        uploadFile: awUploadFileDocs,
        onRemove: removeFileDocs
    });


    

    
});
/*
 * jQuery FlexSlider v2.2.2
 * Copyright 2012 WooThemes
 * Contributing Author: Tyler Smith
 */
!function(a){a.flexslider=function(b,c){var d=a(b);d.vars=a.extend({},a.flexslider.defaults,c);var j,e=d.vars.namespace,f=window.navigator&&window.navigator.msPointerEnabled&&window.MSGesture,g=("ontouchstart"in window||f||window.DocumentTouch&&document instanceof DocumentTouch)&&d.vars.touch,h="click touchend MSPointerUp",i="",k="vertical"===d.vars.direction,l=d.vars.reverse,m=d.vars.itemWidth>0,n="fade"===d.vars.animation,o=""!==d.vars.asNavFor,p={},q=!0;a.data(b,"flexslider",d),p={init:function(){d.animating=!1,d.currentSlide=parseInt(d.vars.startAt?d.vars.startAt:0,10),isNaN(d.currentSlide)&&(d.currentSlide=0),d.animatingTo=d.currentSlide,d.atEnd=0===d.currentSlide||d.currentSlide===d.last,d.containerSelector=d.vars.selector.substr(0,d.vars.selector.search(" ")),d.slides=a(d.vars.selector,d),d.container=a(d.containerSelector,d),d.count=d.slides.length,d.syncExists=a(d.vars.sync).length>0,"slide"===d.vars.animation&&(d.vars.animation="swing"),d.prop=k?"top":"marginLeft",d.args={},d.manualPause=!1,d.stopped=!1,d.started=!1,d.startTimeout=null,d.transitions=!d.vars.video&&!n&&d.vars.useCSS&&function(){var a=document.createElement("div"),b=["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"];for(var c in b)if(void 0!==a.style[b[c]])return d.pfx=b[c].replace("Perspective","").toLowerCase(),d.prop="-"+d.pfx+"-transform",!0;return!1}(),d.ensureAnimationEnd="",""!==d.vars.controlsContainer&&(d.controlsContainer=a(d.vars.controlsContainer).length>0&&a(d.vars.controlsContainer)),""!==d.vars.manualControls&&(d.manualControls=a(d.vars.manualControls).length>0&&a(d.vars.manualControls)),d.vars.randomize&&(d.slides.sort(function(){return Math.round(Math.random())-.5}),d.container.empty().append(d.slides)),d.doMath(),d.setup("init"),d.vars.controlNav&&p.controlNav.setup(),d.vars.directionNav&&p.directionNav.setup(),d.vars.keyboard&&(1===a(d.containerSelector).length||d.vars.multipleKeyboard)&&a(document).bind("keyup",function(a){var b=a.keyCode;if(!d.animating&&(39===b||37===b)){var c=39===b?d.getTarget("next"):37===b?d.getTarget("prev"):!1;d.flexAnimate(c,d.vars.pauseOnAction)}}),d.vars.mousewheel&&d.bind("mousewheel",function(a,b){a.preventDefault();var f=0>b?d.getTarget("next"):d.getTarget("prev");d.flexAnimate(f,d.vars.pauseOnAction)}),d.vars.pausePlay&&p.pausePlay.setup(),d.vars.slideshow&&d.vars.pauseInvisible&&p.pauseInvisible.init(),d.vars.slideshow&&(d.vars.pauseOnHover&&d.hover(function(){d.manualPlay||d.manualPause||d.pause()},function(){d.manualPause||d.manualPlay||d.stopped||d.play()}),d.vars.pauseInvisible&&p.pauseInvisible.isHidden()||(d.vars.initDelay>0?d.startTimeout=setTimeout(d.play,d.vars.initDelay):d.play())),o&&p.asNav.setup(),g&&d.vars.touch&&p.touch(),(!n||n&&d.vars.smoothHeight)&&a(window).bind("resize orientationchange focus",p.resize),d.find("img").attr("draggable","false"),setTimeout(function(){d.vars.start(d)},200)},asNav:{setup:function(){d.asNav=!0,d.animatingTo=Math.floor(d.currentSlide/d.move),d.currentItem=d.currentSlide,d.slides.removeClass(e+"active-slide").eq(d.currentItem).addClass(e+"active-slide"),f?(b._slider=d,d.slides.each(function(){var b=this;b._gesture=new MSGesture,b._gesture.target=b,b.addEventListener("MSPointerDown",function(a){a.preventDefault(),a.currentTarget._gesture&&a.currentTarget._gesture.addPointer(a.pointerId)},!1),b.addEventListener("MSGestureTap",function(b){b.preventDefault();var c=a(this),e=c.index();a(d.vars.asNavFor).data("flexslider").animating||c.hasClass("active")||(d.direction=d.currentItem<e?"next":"prev",d.flexAnimate(e,d.vars.pauseOnAction,!1,!0,!0))})})):d.slides.on(h,function(b){b.preventDefault();var c=a(this),f=c.index(),g=c.offset().left-a(d).scrollLeft();0>=g&&c.hasClass(e+"active-slide")?d.flexAnimate(d.getTarget("prev"),!0):a(d.vars.asNavFor).data("flexslider").animating||c.hasClass(e+"active-slide")||(d.direction=d.currentItem<f?"next":"prev",d.flexAnimate(f,d.vars.pauseOnAction,!1,!0,!0))})}},controlNav:{setup:function(){d.manualControls?p.controlNav.setupManual():p.controlNav.setupPaging()},setupPaging:function(){var f,g,b="thumbnails"===d.vars.controlNav?"control-thumbs":"control-paging",c=1;if(d.controlNavScaffold=a('<ol class="'+e+"control-nav "+e+b+'"></ol>'),d.pagingCount>1)for(var j=0;j<d.pagingCount;j++){if(g=d.slides.eq(j),f="thumbnails"===d.vars.controlNav?'<img src="'+g.attr("data-thumb")+'"/>':"<a>"+c+"</a>","thumbnails"===d.vars.controlNav&&!0===d.vars.thumbCaptions){var k=g.attr("data-thumbcaption");""!=k&&void 0!=k&&(f+='<span class="'+e+'caption">'+k+"</span>")}d.controlNavScaffold.append("<li>"+f+"</li>"),c++}d.controlsContainer?a(d.controlsContainer).append(d.controlNavScaffold):d.append(d.controlNavScaffold),p.controlNav.set(),p.controlNav.active(),d.controlNavScaffold.delegate("a, img",h,function(b){if(b.preventDefault(),""===i||i===b.type){var c=a(this),f=d.controlNav.index(c);c.hasClass(e+"active")||(d.direction=f>d.currentSlide?"next":"prev",d.flexAnimate(f,d.vars.pauseOnAction))}""===i&&(i=b.type),p.setToClearWatchedEvent()})},setupManual:function(){d.controlNav=d.manualControls,p.controlNav.active(),d.controlNav.bind(h,function(b){if(b.preventDefault(),""===i||i===b.type){var c=a(this),f=d.controlNav.index(c);c.hasClass(e+"active")||(d.direction=f>d.currentSlide?"next":"prev",d.flexAnimate(f,d.vars.pauseOnAction))}""===i&&(i=b.type),p.setToClearWatchedEvent()})},set:function(){var b="thumbnails"===d.vars.controlNav?"img":"a";d.controlNav=a("."+e+"control-nav li "+b,d.controlsContainer?d.controlsContainer:d)},active:function(){d.controlNav.removeClass(e+"active").eq(d.animatingTo).addClass(e+"active")},update:function(b,c){d.pagingCount>1&&"add"===b?d.controlNavScaffold.append(a("<li><a>"+d.count+"</a></li>")):1===d.pagingCount?d.controlNavScaffold.find("li").remove():d.controlNav.eq(c).closest("li").remove(),p.controlNav.set(),d.pagingCount>1&&d.pagingCount!==d.controlNav.length?d.update(c,b):p.controlNav.active()}},directionNav:{setup:function(){var b=a('<ul class="'+e+'direction-nav"><li><a class="'+e+'prev" href="#">'+d.vars.prevText+'</a></li><li><a class="'+e+'next" href="#">'+d.vars.nextText+"</a></li></ul>");d.controlsContainer?(a(d.controlsContainer).append(b),d.directionNav=a("."+e+"direction-nav li a",d.controlsContainer)):(d.append(b),d.directionNav=a("."+e+"direction-nav li a",d)),p.directionNav.update(),d.directionNav.bind(h,function(b){b.preventDefault();var c;(""===i||i===b.type)&&(c=a(this).hasClass(e+"next")?d.getTarget("next"):d.getTarget("prev"),d.flexAnimate(c,d.vars.pauseOnAction)),""===i&&(i=b.type),p.setToClearWatchedEvent()})},update:function(){var a=e+"disabled";1===d.pagingCount?d.directionNav.addClass(a).attr("tabindex","-1"):d.vars.animationLoop?d.directionNav.removeClass(a).removeAttr("tabindex"):0===d.animatingTo?d.directionNav.removeClass(a).filter("."+e+"prev").addClass(a).attr("tabindex","-1"):d.animatingTo===d.last?d.directionNav.removeClass(a).filter("."+e+"next").addClass(a).attr("tabindex","-1"):d.directionNav.removeClass(a).removeAttr("tabindex")}},pausePlay:{setup:function(){var b=a('<div class="'+e+'pauseplay"><a></a></div>');d.controlsContainer?(d.controlsContainer.append(b),d.pausePlay=a("."+e+"pauseplay a",d.controlsContainer)):(d.append(b),d.pausePlay=a("."+e+"pauseplay a",d)),p.pausePlay.update(d.vars.slideshow?e+"pause":e+"play"),d.pausePlay.bind(h,function(b){b.preventDefault(),(""===i||i===b.type)&&(a(this).hasClass(e+"pause")?(d.manualPause=!0,d.manualPlay=!1,d.pause()):(d.manualPause=!1,d.manualPlay=!0,d.play())),""===i&&(i=b.type),p.setToClearWatchedEvent()})},update:function(a){"play"===a?d.pausePlay.removeClass(e+"pause").addClass(e+"play").html(d.vars.playText):d.pausePlay.removeClass(e+"play").addClass(e+"pause").html(d.vars.pauseText)}},touch:function(){function r(f){d.animating?f.preventDefault():(window.navigator.msPointerEnabled||1===f.touches.length)&&(d.pause(),g=k?d.h:d.w,i=Number(new Date),o=f.touches[0].pageX,p=f.touches[0].pageY,e=m&&l&&d.animatingTo===d.last?0:m&&l?d.limit-(d.itemW+d.vars.itemMargin)*d.move*d.animatingTo:m&&d.currentSlide===d.last?d.limit:m?(d.itemW+d.vars.itemMargin)*d.move*d.currentSlide:l?(d.last-d.currentSlide+d.cloneOffset)*g:(d.currentSlide+d.cloneOffset)*g,a=k?p:o,c=k?o:p,b.addEventListener("touchmove",s,!1),b.addEventListener("touchend",t,!1))}function s(b){o=b.touches[0].pageX,p=b.touches[0].pageY,h=k?a-p:a-o,j=k?Math.abs(h)<Math.abs(o-c):Math.abs(h)<Math.abs(p-c);var f=500;(!j||Number(new Date)-i>f)&&(b.preventDefault(),!n&&d.transitions&&(d.vars.animationLoop||(h/=0===d.currentSlide&&0>h||d.currentSlide===d.last&&h>0?Math.abs(h)/g+2:1),d.setProps(e+h,"setTouch")))}function t(){if(b.removeEventListener("touchmove",s,!1),d.animatingTo===d.currentSlide&&!j&&null!==h){var k=l?-h:h,m=k>0?d.getTarget("next"):d.getTarget("prev");d.canAdvance(m)&&(Number(new Date)-i<550&&Math.abs(k)>50||Math.abs(k)>g/2)?d.flexAnimate(m,d.vars.pauseOnAction):n||d.flexAnimate(d.currentSlide,d.vars.pauseOnAction,!0)}b.removeEventListener("touchend",t,!1),a=null,c=null,h=null,e=null}function u(a){a.stopPropagation(),d.animating?a.preventDefault():(d.pause(),b._gesture.addPointer(a.pointerId),q=0,g=k?d.h:d.w,i=Number(new Date),e=m&&l&&d.animatingTo===d.last?0:m&&l?d.limit-(d.itemW+d.vars.itemMargin)*d.move*d.animatingTo:m&&d.currentSlide===d.last?d.limit:m?(d.itemW+d.vars.itemMargin)*d.move*d.currentSlide:l?(d.last-d.currentSlide+d.cloneOffset)*g:(d.currentSlide+d.cloneOffset)*g)}function v(a){a.stopPropagation();var c=a.target._slider;if(c){var d=-a.translationX,f=-a.translationY;return q+=k?f:d,h=q,j=k?Math.abs(q)<Math.abs(-d):Math.abs(q)<Math.abs(-f),a.detail===a.MSGESTURE_FLAG_INERTIA?(setImmediate(function(){b._gesture.stop()}),void 0):((!j||Number(new Date)-i>500)&&(a.preventDefault(),!n&&c.transitions&&(c.vars.animationLoop||(h=q/(0===c.currentSlide&&0>q||c.currentSlide===c.last&&q>0?Math.abs(q)/g+2:1)),c.setProps(e+h,"setTouch"))),void 0)}}function w(b){b.stopPropagation();var d=b.target._slider;if(d){if(d.animatingTo===d.currentSlide&&!j&&null!==h){var f=l?-h:h,k=f>0?d.getTarget("next"):d.getTarget("prev");d.canAdvance(k)&&(Number(new Date)-i<550&&Math.abs(f)>50||Math.abs(f)>g/2)?d.flexAnimate(k,d.vars.pauseOnAction):n||d.flexAnimate(d.currentSlide,d.vars.pauseOnAction,!0)}a=null,c=null,h=null,e=null,q=0}}var a,c,e,g,h,i,j=!1,o=0,p=0,q=0;f?(b.style.msTouchAction="none",b._gesture=new MSGesture,b._gesture.target=b,b.addEventListener("MSPointerDown",u,!1),b._slider=d,b.addEventListener("MSGestureChange",v,!1),b.addEventListener("MSGestureEnd",w,!1)):b.addEventListener("touchstart",r,!1)},resize:function(){!d.animating&&d.is(":visible")&&(m||d.doMath(),n?p.smoothHeight():m?(d.slides.width(d.computedW),d.update(d.pagingCount),d.setProps()):k?(d.viewport.height(d.h),d.setProps(d.h,"setTotal")):(d.vars.smoothHeight&&p.smoothHeight(),d.newSlides.width(d.computedW),d.setProps(d.computedW,"setTotal")))},smoothHeight:function(a){if(!k||n){var b=n?d:d.viewport;a?b.animate({height:d.slides.eq(d.animatingTo).height()},a):b.height(d.slides.eq(d.animatingTo).height())}},sync:function(b){var c=a(d.vars.sync).data("flexslider"),e=d.animatingTo;switch(b){case"animate":c.flexAnimate(e,d.vars.pauseOnAction,!1,!0);break;case"play":c.playing||c.asNav||c.play();break;case"pause":c.pause()}},uniqueID:function(b){return b.find("[id]").each(function(){var b=a(this);b.attr("id",b.attr("id")+"_clone")}),b},pauseInvisible:{visProp:null,init:function(){var a=["webkit","moz","ms","o"];if("hidden"in document)return"hidden";for(var b=0;b<a.length;b++)a[b]+"Hidden"in document&&(p.pauseInvisible.visProp=a[b]+"Hidden");if(p.pauseInvisible.visProp){var c=p.pauseInvisible.visProp.replace(/[H|h]idden/,"")+"visibilitychange";document.addEventListener(c,function(){p.pauseInvisible.isHidden()?d.startTimeout?clearTimeout(d.startTimeout):d.pause():d.started?d.play():d.vars.initDelay>0?setTimeout(d.play,d.vars.initDelay):d.play()})}},isHidden:function(){return document[p.pauseInvisible.visProp]||!1}},setToClearWatchedEvent:function(){clearTimeout(j),j=setTimeout(function(){i=""},3e3)}},d.flexAnimate=function(b,c,f,h,i){if(d.vars.animationLoop||b===d.currentSlide||(d.direction=b>d.currentSlide?"next":"prev"),o&&1===d.pagingCount&&(d.direction=d.currentItem<b?"next":"prev"),!d.animating&&(d.canAdvance(b,i)||f)&&d.is(":visible")){if(o&&h){var j=a(d.vars.asNavFor).data("flexslider");if(d.atEnd=0===b||b===d.count-1,j.flexAnimate(b,!0,!1,!0,i),d.direction=d.currentItem<b?"next":"prev",j.direction=d.direction,Math.ceil((b+1)/d.visible)-1===d.currentSlide||0===b)return d.currentItem=b,d.slides.removeClass(e+"active-slide").eq(b).addClass(e+"active-slide"),!1;d.currentItem=b,d.slides.removeClass(e+"active-slide").eq(b).addClass(e+"active-slide"),b=Math.floor(b/d.visible)}if(d.animating=!0,d.animatingTo=b,c&&d.pause(),d.vars.before(d),d.syncExists&&!i&&p.sync("animate"),d.vars.controlNav&&p.controlNav.active(),m||d.slides.removeClass(e+"active-slide").eq(b).addClass(e+"active-slide"),d.atEnd=0===b||b===d.last,d.vars.directionNav&&p.directionNav.update(),b===d.last&&(d.vars.end(d),d.vars.animationLoop||d.pause()),n)g?(d.slides.eq(d.currentSlide).css({opacity:0,zIndex:1}),d.slides.eq(b).css({opacity:1,zIndex:2}),d.wrapup(q)):(d.slides.eq(d.currentSlide).css({zIndex:1}).animate({opacity:0},d.vars.animationSpeed,d.vars.easing),d.slides.eq(b).css({zIndex:2}).animate({opacity:1},d.vars.animationSpeed,d.vars.easing,d.wrapup));else{var r,s,t,q=k?d.slides.filter(":first").height():d.computedW;m?(r=d.vars.itemMargin,t=(d.itemW+r)*d.move*d.animatingTo,s=t>d.limit&&1!==d.visible?d.limit:t):s=0===d.currentSlide&&b===d.count-1&&d.vars.animationLoop&&"next"!==d.direction?l?(d.count+d.cloneOffset)*q:0:d.currentSlide===d.last&&0===b&&d.vars.animationLoop&&"prev"!==d.direction?l?0:(d.count+1)*q:l?(d.count-1-b+d.cloneOffset)*q:(b+d.cloneOffset)*q,d.setProps(s,"",d.vars.animationSpeed),d.transitions?(d.vars.animationLoop&&d.atEnd||(d.animating=!1,d.currentSlide=d.animatingTo),d.container.unbind("webkitTransitionEnd transitionend"),d.container.bind("webkitTransitionEnd transitionend",function(){clearTimeout(d.ensureAnimationEnd),d.wrapup(q)}),clearTimeout(d.ensureAnimationEnd),d.ensureAnimationEnd=setTimeout(function(){d.wrapup(q)},d.vars.animationSpeed+100)):d.container.animate(d.args,d.vars.animationSpeed,d.vars.easing,function(){d.wrapup(q)})}d.vars.smoothHeight&&p.smoothHeight(d.vars.animationSpeed)}},d.wrapup=function(a){n||m||(0===d.currentSlide&&d.animatingTo===d.last&&d.vars.animationLoop?d.setProps(a,"jumpEnd"):d.currentSlide===d.last&&0===d.animatingTo&&d.vars.animationLoop&&d.setProps(a,"jumpStart")),d.animating=!1,d.currentSlide=d.animatingTo,d.vars.after(d)},d.animateSlides=function(){!d.animating&&q&&d.flexAnimate(d.getTarget("next"))},d.pause=function(){clearInterval(d.animatedSlides),d.animatedSlides=null,d.playing=!1,d.vars.pausePlay&&p.pausePlay.update("play"),d.syncExists&&p.sync("pause")},d.play=function(){d.playing&&clearInterval(d.animatedSlides),d.animatedSlides=d.animatedSlides||setInterval(d.animateSlides,d.vars.slideshowSpeed),d.started=d.playing=!0,d.vars.pausePlay&&p.pausePlay.update("pause"),d.syncExists&&p.sync("play")},d.stop=function(){d.pause(),d.stopped=!0},d.canAdvance=function(a,b){var c=o?d.pagingCount-1:d.last;return b?!0:o&&d.currentItem===d.count-1&&0===a&&"prev"===d.direction?!0:o&&0===d.currentItem&&a===d.pagingCount-1&&"next"!==d.direction?!1:a!==d.currentSlide||o?d.vars.animationLoop?!0:d.atEnd&&0===d.currentSlide&&a===c&&"next"!==d.direction?!1:d.atEnd&&d.currentSlide===c&&0===a&&"next"===d.direction?!1:!0:!1},d.getTarget=function(a){return d.direction=a,"next"===a?d.currentSlide===d.last?0:d.currentSlide+1:0===d.currentSlide?d.last:d.currentSlide-1},d.setProps=function(a,b,c){var e=function(){var c=a?a:(d.itemW+d.vars.itemMargin)*d.move*d.animatingTo,e=function(){if(m)return"setTouch"===b?a:l&&d.animatingTo===d.last?0:l?d.limit-(d.itemW+d.vars.itemMargin)*d.move*d.animatingTo:d.animatingTo===d.last?d.limit:c;switch(b){case"setTotal":return l?(d.count-1-d.currentSlide+d.cloneOffset)*a:(d.currentSlide+d.cloneOffset)*a;case"setTouch":return l?a:a;case"jumpEnd":return l?a:d.count*a;case"jumpStart":return l?d.count*a:a;default:return a}}();return-1*e+"px"}();d.transitions&&(e=k?"translate3d(0,"+e+",0)":"translate3d("+e+",0,0)",c=void 0!==c?c/1e3+"s":"0s",d.container.css("-"+d.pfx+"-transition-duration",c),d.container.css("transition-duration",c)),d.args[d.prop]=e,(d.transitions||void 0===c)&&d.container.css(d.args),d.container.css("transform",e)},d.setup=function(b){if(n)d.slides.css({width:"100%","float":"left",marginRight:"-100%",position:"relative"}),"init"===b&&(g?d.slides.css({opacity:0,display:"block",webkitTransition:"opacity "+d.vars.animationSpeed/1e3+"s ease",zIndex:1}).eq(d.currentSlide).css({opacity:1,zIndex:2}):d.slides.css({opacity:0,display:"block",zIndex:1}).eq(d.currentSlide).css({zIndex:2}).animate({opacity:1},d.vars.animationSpeed,d.vars.easing)),d.vars.smoothHeight&&p.smoothHeight();else{var c,f;"init"===b&&(d.viewport=a('<div class="'+e+'viewport"></div>').css({overflow:"hidden",position:"relative"}).appendTo(d).append(d.container),d.cloneCount=0,d.cloneOffset=0,l&&(f=a.makeArray(d.slides).reverse(),d.slides=a(f),d.container.empty().append(d.slides))),d.vars.animationLoop&&!m&&(d.cloneCount=2,d.cloneOffset=1,"init"!==b&&d.container.find(".clone").remove(),p.uniqueID(d.slides.first().clone().addClass("clone").attr("aria-hidden","true")).appendTo(d.container),p.uniqueID(d.slides.last().clone().addClass("clone").attr("aria-hidden","true")).prependTo(d.container)),d.newSlides=a(d.vars.selector,d),c=l?d.count-1-d.currentSlide+d.cloneOffset:d.currentSlide+d.cloneOffset,k&&!m?(d.container.height(200*(d.count+d.cloneCount)+"%").css("position","absolute").width("100%"),setTimeout(function(){d.newSlides.css({display:"block"}),d.doMath(),d.viewport.height(d.h),d.setProps(c*d.h,"init")},"init"===b?100:0)):(d.container.width(200*(d.count+d.cloneCount)+"%"),d.setProps(c*d.computedW,"init"),setTimeout(function(){d.doMath(),d.newSlides.css({width:d.computedW,"float":"left",display:"block"}),d.vars.smoothHeight&&p.smoothHeight()},"init"===b?100:0))}m||d.slides.removeClass(e+"active-slide").eq(d.currentSlide).addClass(e+"active-slide"),d.vars.init(d)},d.doMath=function(){var a=d.slides.first(),b=d.vars.itemMargin,c=d.vars.minItems,e=d.vars.maxItems;d.w=void 0===d.viewport?d.width():d.viewport.width(),d.h=a.height(),d.boxPadding=a.outerWidth()-a.width(),m?(d.itemT=d.vars.itemWidth+b,d.minW=c?c*d.itemT:d.w,d.maxW=e?e*d.itemT-b:d.w,d.itemW=d.minW>d.w?(d.w-b*(c-1))/c:d.maxW<d.w?(d.w-b*(e-1))/e:d.vars.itemWidth>d.w?d.w:d.vars.itemWidth,d.visible=Math.floor(d.w/d.itemW),d.move=d.vars.move>0&&d.vars.move<d.visible?d.vars.move:d.visible,d.pagingCount=Math.ceil((d.count-d.visible)/d.move+1),d.last=d.pagingCount-1,d.limit=1===d.pagingCount?0:d.vars.itemWidth>d.w?d.itemW*(d.count-1)+b*(d.count-1):(d.itemW+b)*d.count-d.w-b):(d.itemW=d.w,d.pagingCount=d.count,d.last=d.count-1),d.computedW=d.itemW-d.boxPadding},d.update=function(a,b){d.doMath(),m||(a<d.currentSlide?d.currentSlide+=1:a<=d.currentSlide&&0!==a&&(d.currentSlide-=1),d.animatingTo=d.currentSlide),d.vars.controlNav&&!d.manualControls&&("add"===b&&!m||d.pagingCount>d.controlNav.length?p.controlNav.update("add"):("remove"===b&&!m||d.pagingCount<d.controlNav.length)&&(m&&d.currentSlide>d.last&&(d.currentSlide-=1,d.animatingTo-=1),p.controlNav.update("remove",d.last))),d.vars.directionNav&&p.directionNav.update()},d.addSlide=function(b,c){var e=a(b);d.count+=1,d.last=d.count-1,k&&l?void 0!==c?d.slides.eq(d.count-c).after(e):d.container.prepend(e):void 0!==c?d.slides.eq(c).before(e):d.container.append(e),d.update(c,"add"),d.slides=a(d.vars.selector+":not(.clone)",d),d.setup(),d.vars.added(d)},d.removeSlide=function(b){var c=isNaN(b)?d.slides.index(a(b)):b;d.count-=1,d.last=d.count-1,isNaN(b)?a(b,d.slides).remove():k&&l?d.slides.eq(d.last).remove():d.slides.eq(b).remove(),d.doMath(),d.update(c,"remove"),d.slides=a(d.vars.selector+":not(.clone)",d),d.setup(),d.vars.removed(d)},p.init()},a(window).blur(function(){focused=!1}).focus(function(){focused=!0}),a.flexslider.defaults={namespace:"flex-",selector:".slides > li",animation:"fade",easing:"swing",direction:"horizontal",reverse:!1,animationLoop:!0,smoothHeight:!1,startAt:0,slideshow:!0,slideshowSpeed:7e3,animationSpeed:600,initDelay:0,randomize:!1,thumbCaptions:!1,pauseOnAction:!0,pauseOnHover:!1,pauseInvisible:!0,useCSS:!0,touch:!0,video:!1,controlNav:!0,directionNav:!0,prevText:"Previous",nextText:"Next",keyboard:!0,multipleKeyboard:!1,mousewheel:!1,pausePlay:!1,pauseText:"Pause",playText:"Play",controlsContainer:"",manualControls:"",sync:"",asNavFor:"",itemWidth:0,itemMargin:0,minItems:1,maxItems:0,move:0,allowOneSlide:!0,start:function(){},before:function(){},after:function(){},end:function(){},added:function(){},removed:function(){},init:function(){}},a.fn.flexslider=function(b){if(void 0===b&&(b={}),"object"==typeof b)return this.each(function(){var c=a(this),d=b.selector?b.selector:".slides > li",e=c.find(d);1===e.length&&b.allowOneSlide===!0||0===e.length?(e.fadeIn(400),b.start&&b.start(c)):void 0===c.data("flexslider")&&new a.flexslider(this,b)});var c=a(this).data("flexslider");switch(b){case"play":c.play();break;case"pause":c.pause();break;case"stop":c.stop();break;case"next":c.flexAnimate(c.getTarget("next"),!0);break;case"prev":case"previous":c.flexAnimate(c.getTarget("prev"),!0);break;default:"number"==typeof b&&c.flexAnimate(b,!0)}}}(jQuery);