Advertisement
Guest User

Untitled

a guest
Dec 22nd, 2014
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.47 KB | None | 0 0
  1. jQuery(document).ready(function() {
  2.  
  3. $('.eu-cookie .close').click(function(e) {
  4. $.cookie('eucookie', true, { expires: 730 });
  5. });
  6.  
  7. $('.testimonial-hero').click(function(){
  8. window.location.href='/testimonials';
  9. });
  10.  
  11. $('.show-address').click(function() {
  12. var rel = $(this).attr('rel');
  13. $(this).hide();
  14. $('#address_'+rel).show();
  15. });
  16.  
  17. $('.news a').click(function(e) {
  18. var rel = $(this).attr('rel');
  19. e.preventDefault();
  20. if ($('#news_desc_' + rel).is(':visible')) {
  21. $('#news_desc_' + rel).slideUp();
  22. } else {
  23. $('#news_desc_' + rel).slideDown();
  24. }
  25. });
  26.  
  27. $('.login_alert').click(function(e) {
  28. e.preventDefault();
  29. if (confirm("Login is required before this can be purchased. Proceed?")) {
  30. window.location.replace('/extensions/buyer/login');
  31. } else {
  32. return false;
  33. }
  34.  
  35. });
  36.  
  37. download_hide('v6');
  38. download_hide('v5');
  39. download_hide('v4');
  40. download_hide('v3');
  41.  
  42. $('select.jump').bind('change', function() {
  43. var url = $(this).val(); // get selected value
  44. if (url) { // require a URL
  45. window.location = url; // redirect
  46. }
  47. return false;
  48. });
  49.  
  50. var cw = $('.ribbon-wrapper').width();
  51. $('.ribbon-wrapper').css({
  52. 'height': cw + 'px'
  53. });
  54. $('.ribbon-wrapper img').css({
  55. 'max-height': (cw - 2) + 'px'
  56. });
  57.  
  58. var cwl = $('.ribbon-wrapper-large').width();
  59. $('.ribbon-wrapper-large').css({
  60. 'height': cwl + 'px'
  61. });
  62. $('.ribbon-wrapper-large img').css({
  63. 'max-height': (cwl - 2) + 'px'
  64. });
  65.  
  66. $(".chosen-select").chosen();
  67.  
  68. $('select.submit').change(function() {
  69. $(this).closest('form').trigger('submit');
  70. });
  71.  
  72. $.validator.setDefaults({
  73. errorElement: 'small'
  74. });
  75.  
  76. $.validator.addMethod('filesize', function(value, element, param) {
  77. // param = size (in bytes)
  78. // element = element to validate (<input>)
  79. // value = value of the element (file name)
  80. return this.optional(element) || (element.files[0].size <= param)
  81. });
  82.  
  83. $.validator.addMethod('lessThan', function(value, element, param) {
  84. return this.optional(element) || parseInt(value) < parseInt($(param).val());
  85. }, "The value {0} must be less than {1}");
  86.  
  87. $.validator.addMethod('yyyymmdd', function(date, element) {
  88. return this.optional(element) || date.match(/^\d{4}-((0\d)|(1[012]))-(([012]\d)|3[01])$/);
  89. }, "Please specify a valid date (YYYY-MM-DD).");
  90.  
  91. // Accept a value from a file input based on a required mimetype
  92. $.validator.addMethod("accept", function(value, element, param) {
  93. // Split mime on commas in case we have multiple types we can accept
  94. var typeParam = typeof param === "string" ? param.replace(/\s/g, "").replace(/,/g, "|") : "image/*",
  95. optionalValue = this.optional(element),
  96. i, file;
  97.  
  98. // Element is optional
  99. if (optionalValue) {
  100. return optionalValue;
  101. }
  102.  
  103. if ($(element).attr("type") === "file") {
  104. // If we are using a wildcard, make it regex friendly
  105. typeParam = typeParam.replace(/\*/g, ".*");
  106.  
  107. // Check if the element has a FileList before checking each file
  108. if (element.files && element.files.length) {
  109. for (i = 0; i < element.files.length; i++) {
  110. file = element.files[i];
  111.  
  112. // Grab the mimetype from the loaded file, verify it matches
  113. if (!file.type.match(new RegExp(".?(" + typeParam + ")$", "i"))) {
  114. return false;
  115. }
  116. }
  117. }
  118. }
  119.  
  120. // Either return true because we've validated each file, or because the
  121. // browser does not support element.files and the FileList feature
  122. return true;
  123. }, $.validator.format("Please enter a value with a valid mimetype."));
  124.  
  125. var offset = 220;
  126. var duration = 500;
  127. jQuery(window).scroll(function() {
  128. if (jQuery(this).scrollTop() > offset) {
  129. jQuery('.back-to-top').fadeIn(duration);
  130. } else {
  131. jQuery('.back-to-top').fadeOut(duration);
  132. }
  133. });
  134.  
  135. jQuery('.back-to-top').click(function(event) {
  136. event.preventDefault();
  137. jQuery('html, body').animate({
  138. scrollTop: 0
  139. }, duration);
  140. return false;
  141. })
  142.  
  143. $('a.confirm').click(function() {
  144. var message = $(this).attr('title');
  145. if (message != '') {
  146. return confirm(message.replace(/\\n/ig, "\n"));
  147. }
  148. });
  149.  
  150. $('.ribbon-wrapper').mouseenter(function() {
  151. $(".prod-name.prod-slide", this).fadeIn('fast');
  152. });
  153. $('.ribbon-wrapper').mouseout(function() {
  154. $(".prod-name.prod-slide", this).fadeOut('slow');
  155. });
  156.  
  157. // START VALIDATION
  158. $("#sales_dates").validate({
  159. rules: {
  160. 'from': {
  161. required: true,
  162. yyyymmdd: true
  163. },
  164. 'to': {
  165. required: true,
  166. yyyymmdd: true
  167. }
  168. },
  169. messages: {
  170. 'from': {
  171. required: 'Please enter a start date.'
  172. },
  173. 'to': {
  174. required: 'Please enter an end date.'
  175. }
  176. }
  177. });
  178.  
  179. $("#profile").validate({
  180. rules: {
  181. 'nickname': {
  182. required: true
  183. }
  184. },
  185. messages: {
  186. 'nickname': {
  187. required: 'Please enter a nickname.'
  188. }
  189. }
  190. });
  191.  
  192. $("#livestores").validate({
  193. rules: {
  194. 'store_name': {
  195. required: true
  196. },
  197. 'store_version': {
  198. required: true
  199. },
  200. 'store_url': {
  201. required: true,
  202. url: true
  203. },
  204. 'name': {
  205. required: true
  206. },
  207. 'email': {
  208. required: true,
  209. email: true
  210. }
  211. },
  212. messages: {
  213. 'store_name': {
  214. required: 'Please enter a store name.'
  215. },
  216. 'store_version': {
  217. required: 'Please select a store version.'
  218. },
  219. 'store_url': {
  220. required: 'Please enter a store URL.',
  221. url: 'Please enter a valid store URL.'
  222. },
  223. 'name': {
  224. required: 'Please enter your name.'
  225. },
  226. 'email': {
  227. required: 'Please enter an email address.',
  228. email: 'Please enter a valid email address.'
  229. }
  230. }
  231. });
  232.  
  233. $("#store_reg_form").validate({
  234. rules: {
  235. 'store_name': {
  236. required: true
  237. },
  238. 'password': {
  239. required: true,
  240. minlength: 6
  241. },
  242. 'password_conf': {
  243. equalTo: "#password"
  244. },
  245. 'email': {
  246. required: true,
  247. email: true
  248. }
  249. },
  250. messages: {
  251. 'store_name': {
  252. required: 'Please enter a store name.'
  253. },
  254. 'email': {
  255. required: 'Please enter a valid email address.'
  256. },
  257. 'password': {
  258. required: 'Please enter a password.'
  259. },
  260. 'password_conf': {
  261. equalTo: 'Please enter matching passwords.'
  262. }
  263. }
  264. });
  265.  
  266. $('#price').focusout(function() {
  267. if (+$(this).val() > 0) {
  268. $('#licence').val('Commercial');
  269. } else {
  270. $('#licence').val('Free');
  271. }
  272. });
  273.  
  274. $('#category').focusout(function() {
  275. var id = +$(this).val();
  276.  
  277. if (typeof(download_state) == 'object') {
  278. var state = download_state[id];
  279. } else {
  280. state==1;
  281. }
  282.  
  283. if (state==1) {
  284. $('#files_box').removeClass('blur');
  285. $("input[name='file'], input[name='use_tokens']").prop( "disabled",false);
  286. } else {
  287. $('#files_box').addClass('blur');
  288. $("input[name='file'], input[name='use_tokens']").prop( "disabled",true);
  289. }
  290. });
  291.  
  292. $("#add_app").validate({
  293. rules: {
  294. 'name': {
  295. required: true
  296. },
  297. 'category': {
  298. required: true
  299. },
  300. 'licence': {
  301. required: true
  302. },
  303. 'price': {
  304. required: true,
  305. number: true
  306. },
  307. 'sale_price': {
  308. number: true,
  309. lessThan: "#price"
  310. },
  311. 'currency': {
  312. required: true
  313. },
  314. 'file': {
  315. required: true,
  316. //accept: 'zip',
  317. filesize: 10000000
  318. },
  319. 'master_image': {
  320. accept: 'png|jpe?g|gif',
  321. filesize: 200000
  322. }
  323.  
  324. },
  325. messages: {
  326. 'name': {
  327. required: 'Please enter a name for your app.'
  328. },
  329. 'category': {
  330. required: 'Please select a category.'
  331. },
  332. 'licence': {
  333. required: 'Please choose a license type.'
  334. },
  335. 'price': {
  336. required: 'Please enter a valid price e.g. 39.99 or 0.00 for free',
  337. number: 'Please enter a valid price e.g. 39.99 or 0.00 for free'
  338. },
  339. 'sale_price': {
  340. number: 'Please enter a valid sale price e.g. 29.99',
  341. lessThan: 'Sale price must be less than price or empty.'
  342. },
  343. 'currency': {
  344. required: 'Please select a currency.'
  345. },
  346. 'file': {
  347. required: 'Please select your app zip file to upload.',
  348. accept: 'File must be in zip format only.',
  349. filesize: 'File must be 10Mb or less.'
  350. },
  351. 'master_image': {
  352. required: 'Please select a master image.',
  353. accept: 'Main image must be in png, jpg or gif format.',
  354. filesize: 'Main image must be 200Kb or less.'
  355. }
  356. }
  357. });
  358.  
  359. $("#edit_app").validate({
  360. rules: {
  361. 'name': {
  362. required: true
  363. },
  364. 'category': {
  365. required: true
  366. },
  367. 'licence': {
  368. required: true
  369. },
  370. 'price': {
  371. required: true,
  372. number: true
  373. },
  374. 'sale_price': {
  375. number: true,
  376. lessThan: "#price"
  377. },
  378. 'currency': {
  379. required: true
  380. },
  381. 'file': {
  382. accept: 'zip',
  383. filesize: 10000000
  384. },
  385. 'master_image': {
  386. accept: 'png|jpe?g|gif',
  387. filesize: 200000
  388. }
  389.  
  390. },
  391. messages: {
  392. 'name': {
  393. required: 'Please enter a name for your app.'
  394. },
  395. 'category': {
  396. required: 'Please select a category.'
  397. },
  398. 'licence': {
  399. required: 'Please choose a license type.'
  400. },
  401. 'price': {
  402. required: 'Please enter a valid price e.g. 39.99 or 0.00 for free',
  403. number: 'Please enter a valid price e.g. 39.99 or 0.00 for free'
  404. },
  405. 'sale_price': {
  406. number: 'Please enter a valid sale price e.g. 29.99',
  407. lessThan: 'Sale price must be less than price or empty.'
  408. },
  409. 'currency': {
  410. required: 'Please select a currency.'
  411. },
  412. 'file': {
  413. accept: 'File must be in zip format only.',
  414. filesize: 'File must be 10Mb or less.'
  415. },
  416. 'master_image': {
  417. accept: 'Main image must be in png, jpg or gif format.',
  418. filesize: 'Main image must be 200Kb or less.'
  419. }
  420. }
  421. });
  422.  
  423. $("#store_login_form").validate({
  424. rules: {
  425. 'password': {
  426. required: true
  427. }
  428. },
  429. messages: {
  430. 'password': {
  431. required: 'Please enter a password.'
  432. }
  433. }
  434. });
  435.  
  436. $("#store_acc_form").validate({
  437. rules: {
  438. 'store_name': {
  439. required: true
  440. },
  441. 'email': {
  442. required: true,
  443. email: true
  444. },
  445. 'password': {
  446. minlength: 6
  447. },
  448. 'password_conf': {
  449. equalTo: "#password"
  450. },
  451. },
  452. messages: {
  453. 'store_name': {
  454. required: 'Please enter a store name.'
  455. },
  456. 'email': {
  457. required: 'Please enter a valid email address.'
  458. },
  459. 'password_conf': {
  460. equalTo: 'Please enter matching passwords.'
  461. }
  462. }
  463. });
  464. // END VALIDATION
  465. });
  466. tinymce.init({
  467. selector: 'textarea.tinymce',
  468. menubar: false,
  469. height: 275,
  470. extended_valid_elements : "i[class]",
  471. plugins: 'link image code table',
  472. toolbar1: 'undo redo | cut copy paste | code',
  473. toolbar2: 'styleselect bold italic | alignleft aligncenter alignright | bullist numlist | link image table',
  474. relative_urls: false,
  475. convert_urls: false,
  476. remove_script_host: false
  477. });
  478.  
  479. function download_hide(ul_id) {
  480. size_li = $("#" + ul_id + " li").size();
  481. x = 5;
  482. $('#' + ul_id + ' li:lt(' + x + ')').show();
  483.  
  484. if (size_li <= x) {
  485. $('#' + ul_id + ' .showAll').hide();
  486. }
  487. $('#' + ul_id + ' div.showAll').click(function() {
  488. $(this).hide();
  489. $('#' + ul_id + ' li').show();
  490. });
  491. }
  492.  
  493. $(window).load(function() {
  494. $('.flexslider').flexslider({
  495. animation: "slide"
  496. });
  497. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement