1<!-- 2 3var addthis_config = { 4 ui_delay: 2000, 5 ui_hover_direction: 1, 6 ui_language: "fr", 7 ui_offset_top: -10, 8 ui_header_color: "#0b5966", 9 ui_header_background: "#FFF" 10}; 11 12function centerbg() { 13 // Centrage du background 14 15 var moon=$("moon").attr("src"); 16 17 $('#moon').error(function(){$("moon").attr("src",moon);}); 18 19 var b=$("body").offset(); 20 var c=$("#content").offset(); 21 var e=(c.left-b.left-980) ; 22 $("div#subheader").css('left',e+'px'); 23 24// e=$("div#promos").height(); 25 f=$("body").height(); 26 g=$("#moon").height(); 27// f=f-e-275; 28 f=f-579; 29 30 if( f > g && g > 500 ) f = g ; 31 32 $("div#subheader").css('height',f+'px'); 33} 34 35var nrectangles = 0; 36 37function drawrectangles() { 38 var con=$("#content").offset(); 39 40 if(!nrectangles) { 41 $("div.agendaheader, div.newsheader").each(function(){ 42 pos=$(this).offset(); 43 $("body").prepend("<div id=\"rect" + nrectangles++ + "\" class=\"rectangle\" style=\"top: " + (pos.top+20) + "px; left: " + (pos.left-con.left-4) + "px;\"></div>\n" ); 44 }); 45 46 $("div.rngheader").each(function(){ 47 pos=$(this).offset(); 48 $("body").prepend("<div id=\"rect" + nrectangles++ + "\" class=\"rectangleblack\" style=\"top: " + (pos.top+20) + "px; left: " + (pos.left-con.left-4) + "px;\"></div>\n" ); 49 }); 50 51 $("div.rect").each(function(){ 52 pos=$(this).offset(); 53 $("body").prepend("<div id=\"rect" + nrectangles++ + "\" class=\"rectangle2\" style=\"top: " + (pos.top) + "px; left: " + (pos.left-con.left-4) + "px;\"></div>\n" ); 54 }); 55 56 $("div.rect2").each(function(){ 57 pos=$(this).offset(); 58 $("body").prepend("<div id=\"rect" + nrectangles++ + "\" class=\"rectangleblack2\" style=\"top: " + (pos.top) + "px; left: " + (pos.left-con.left-4) + "px;\"></div>\n" ); 59 }); 60 } 61 else { 62 n = 0 ; 63 $("div.agendaheader, div.newsheader").each(function(){ 64 pos=$(this).offset(); 65 rect="#rect"+n++; 66 $(rect).css("top", (pos.top+20)); 67 }); 68 $("div.rngheader").each(function(){ 69 pos=$(this).offset(); 70 rect="#rect"+n++; 71 $(rect).css("top", (pos.top+20)); 72 }); 73 $("div.rect").each(function(){ 74 pos=$(this).offset(); 75 rect="#rect"+n++; 76 $(rect).css("top", (pos.top)); 77 }); 78 $("div.rect2").each(function(){ 79 pos=$(this).offset(); 80 rect="#rect"+n++; 81 $(rect).css("top", (pos.top)); 82 }); 83 } 84} 85 86function SideBar() { 87 var $sidebar = $("#sidebar"), 88 $leftcol = $("#rightcol"), 89 $window = $(window), 90 offset = $sidebar.offset(), 91 topPadding = 15, 92 maxMargin = 0; 93 94 if( $leftcol.height()>$sidebar.height() && $sidebar.height() >= 0 ) maxMargin = $leftcol.height() - $sidebar.height(); 95 96 $window.unbind('scroll'); 97 $window.scroll(function() { 98 if ( ($window.scrollTop() > offset.top - topPadding) && $window.scrollTop() < offset.top - topPadding + maxMargin ) { 99 $sidebar.stop().animate({ 100 marginTop: $window.scrollTop() - offset.top + topPadding 101 },400,'easeOutQuad',drawrectangles); 102 } else if( $window.scrollTop() <= offset.top ){ 103 $sidebar.stop().animate({ 104 marginTop: 0 105 },400,'easeOutQuad',drawrectangles); 106 } 107 else { 108 $sidebar.stop().animate({ 109 marginTop: maxMargin 110 },400,'easeOutQuad',drawrectangles); 111 } 112 drawrectangles(); 113 }); 114 115} 116 117 118var msie ; 119var trigger=0; 120 121$(document).ready(function () 122{ 123 msie=$.browser.msie; 124 centerbg(); 125 setTimeout('drawrectangles();', 2000); 126 127 // ombres 128 129 jQuery.each(jQuery.browser, function(i, val) { 130 if(i=="mozilla" && jQuery.browser.version.substr(0,5)=="1.9.0") trigger=1; 131 else { 132 if(i=="mozilla" && jQuery.browser.version.substr(0,3)!="1.9") trigger=1; 133 } 134// $("div#footerlinks").append("<p>Value '"+i+"'='"+val+"' / '"+jQuery.browser.version+"';" + trigger + "</p>"); 135 }); 136 137 if( trigger ) $("link#fontface").attr("href","styles/entrepot2010-ff.css"); 138 139 // Mouseovers 140 141 $("img.myspace").mouseover(function(){$(this).attr("src","img/icon-myspacehover.png");}).mouseout(function(){$(this).attr("src","img/icon-myspace.png");});
142 $("img.youtube").mouseover(function(){$(this).attr("src","img/icon-youtubehover.png");}).mouseout(function(){$(this).attr("src","img/icon-youtube.png");}); 143 $("img.facebook").mouseover(function(){$(this).attr("src","img/icon-facebookhover.png");}).mouseout(function(){$(this).attr("src","img/icon-facebook.png");}); 144 $("img.rss").mouseover(function(){$(this).attr("src","img/rss.png");}).mouseout(function(){$(this).attr("src","img/rsso.png");}); 145 146 $("img.socmyspace").mouseover(function(){$(this).attr("src","img/soc-myspaceh.png");}).mouseout(function(){$(this).attr("src","img/soc-myspace.png");}); 147 $("img.socyoutube").mouseover(function(){$(this).attr("src","img/soc-youtubeh.png");}).mouseout(function(){$(this).attr("src","img/soc-youtube.png");}); 148 $("img.socfacebook").mouseover(function(){$(this).attr("src","img/soc-facebookh.png");}).mouseout(function(){$(this).attr("src","img/soc-facebook.png");}); 149 $("img.socflickr").mouseover(function(){$(this).attr("src","img/soc-flickrh.png");}).mouseout(function(){$(this).attr("src","img/soc-flickr.png");}); 150 $("img.socdailymotion").mouseover(function(){$(this).attr("src","img/soc-dailymotionh.png");}).mouseout(function(){$(this).attr("src","img/soc-dailymotion.png");}); 151 $("img.socvimeo").mouseover(function(){$(this).attr("src","img/soc-facebookh.png");}).mouseout(function(){$(this).attr("src","img/soc-facebook.png");}); 152 $("img.socentrepot").mouseover(function(){$(this).attr("src","img/soc-entrepoth.png");}).mouseout(function(){$(this).attr("src","img/soc-entrepot.png");}); 153 $("img.socofficial").mouseover(function(){$(this).attr("src","img/soc-officialh.png");}).mouseout(function(){$(this).attr("src","img/soc-official.png");}); 154 $("img.soctwitter").mouseover(function(){$(this).attr("src","img/soc-twitterh.png");}).mouseout(function(){$(this).attr("src","img/soc-twitter.png");}); 155 $("img.soclastfm").mouseover(function(){$(this).attr("src","img/soc-lastfmh.png");}).mouseout(function(){$(this).attr("src","img/soc-lastfm.png");}); 156 157 $("img.mocom").mouseover(function(){$(this).attr("src","img/mocomhover.png");}).mouseout(function(){$(this).attr("src","img/mocom.png");}); 158 $("img.fnac").mouseover(function(){$(this).attr("src","img/fnachover.png");}).mouseout(function(){$(this).attr("src","img/fnac.png");}); 159 160 161 // Remove link on the last item of the Path 162 163 $("#path a").last().wrapInner("<span></span>"); 164 $("#path a span").unwrap(); 165 166 $("#logo").click(function(){document.location='index.php';return false;}); 167 168 $("a[rel='external']").click(function(){window.open(this.href);return false;}); 169 170 // Navigation 171 172 var varleft=$("#curnav").position(); 173 var varwidth=$("#curnav").width()-4; 174 if (varleft == null) { 175 varleft = 0; 176 } 177 varleft=varleft.left+23; 178 179 $("div#navoverline").animate({width: (varwidth),left: (varleft)}, 500, "easeOutElastic" ); 180 181 $("div.snav:not(#scurnav)").fadeOut("0"); 182 183 $("div.nav1").hover(function(){ 184 varleft=$(this).position(); 185 varleft=varleft.left+23; 186 varwidth=$(this).width()-5; 187 snavid=$(this).attr("id"); 188 snavid="div#s"+snavid; 189 $("div.snav").fadeOut("50"); 190 $(snavid).fadeIn("500"); 191 $("div#navoverline").stop().animate({width: (varwidth), left: (varleft)}, 500, "easeOutElastic" ); 192 },function(){}); 193 194 $("div#nav").mouseleave(function(){ 195 varleft=$("#curnav").position(); 196 varleft=varleft.left+23; 197 varwidth=$("#curnav").width()-5; 198 $("div.snav:not(#scurnav)").fadeOut("50"); 199 $("div#scurnav").fadeIn("500"); 200 $("div#navoverline").animate({width: (varwidth),left: (varleft)}, 500, "easeOutElastic" ); 201 }); 202 203 // animation cadre preview 204 205 var npromos=$(".promo").size(); 206 207 if(npromos) 208 { 209 var promoh=$("#promos").css("max-height"); 210 211 $("#promos").css("width","940px").css("height",promoh); 212 213 $('#promosin').cycle({ 214 fx: 'fade', 215 timeout: 10000, 216 pause: true 217 }); 218 219 $('.promosq0').click(function() {$('#promosin').cycle(0);return false;}); 220 $('.promosqa0').click(function() {$('#promosin').cycle(0);return false;}); 221 $('.promosq1').click(function() {$('#promosin').cycle(1);return false;}); 222 $('.promosqa1').click(function() {$('#promosin').cycle(1);return false;}); 223 $('.promosq2').click(function() {$('#promosin').cycle(2);return false;}); 224 $('.promosqa2').click(function() {$('#promosin').cycle(2);return false;}); 225 $('.promosq3').click(function() {$('#promosin').cycle(3);return false;}); 226 $('.promosqa3').click(function() {$('#promosin').cycle(3);return false;}); 227 $('.promosq4').click(function() {$('#promosin').cycle(4);return false;}); 228 $('.promosqa4').click(function() {$('#promosin').cycle(4);return false;}); 229 230 centerbg(); 231 drawrectangles(); 232 } 233 234 // animation cadre preview 235 236 var nyoutube=$("#rngyoutube").size(); 237 238 if(nyoutube) 239 { 240 $("img#rngtvprev").mouseover(function(){$(this).attr("src","img/larrhover.png");}).mouseout(function(){$(this).attr("src","img/larr.png");}).click(function() {$('#rngyoutube').cycle("prev");return false;}); 241 $("img#rngtvnext").mouseover(function(){$(this).attr("src","img/rarrhover.png");}).mouseout(function(){$(this).attr("src","img/rarr.png");}).click(function() {$('#rngyoutube').cycle("next");return false;}); 242 243 $('#rngyoutube').cycle({ 244 fx: 'fade', 245 timeout: 10000, 246 pause: true 247 }); 248 } 249 250 // ----------- 251 if($("form#artistesearch").length){ 252 253 $("form#artistesearch input").click( function(){ 254 this.value=''; 255 $("form#artistesearch img").click(function(){$("form#artistesearch").trigger("submit");}); 256 $(this).unbind('click');} 257 ); 258 } 259 260 if($("form#search").length){ 261 262 $("form#search input").click( function(){ 263 this.value=''; 264 $("form#search img").click(function(){$("form#search").trigger("submit");}); 265 $(this).unbind('click');} 266 ); 267 } 268 269 if($("form#newsletter").length){ 270 271 $("form#newsletter input").click( function(){ 272 this.value=''; 273 $("form#newsletter img").click(function(){$("form#newsletter").trigger("submit");}); 274 $(this).unbind('click');} 275 ); 276 } 277 278 // ----------- 279 var nflickr=$(".flickr").size(); 280 281 if(nflickr) 282 { 283 $(".flickr").each(function(){ 284 var flickrset=$(this).attr('set'); 285 var flickruser=$(this).attr('user'); 286 var flickrgalid=$(this).attr('galid'); 287 $(this).jflickrfeed({ 288 feedapi: 'photoset.gne', 289 limit: 6, 290 qstrings: { 291 set: flickrset, 292 nsid: flickruser, 293 format: 'json', 294 lang: 'fr-fr' 295 }, 296 itemTemplate: '<div style="float: left; margin: 0px 6px 4px 0px;"><a href="photos.php?id=' + flickrgalid + '" rel="flickr' + flickrset + '" style=\"\"><img src="{{image_s}}" alt="{{title}}" style="width: 90px; height: 90px;" class="withborderred" /></a></div>' 297 }); 298 }); 299 } 300 301 // ----------- 302 var nflickr2=$(".flickr2").size(); 303 304 if(nflickr2) 305 { 306 $(".flickr2").each(function(){ 307 var flickrset=$(this).attr('set'); 308 var flickruser=$(this).attr('user'); 309 var flickrgalid=$(this).attr('galid'); 310 $(this).jflickrfeed({ 311 feedapi: 'photoset.gne', 312 limit: 1, 313 qstrings: { 314 set: flickrset, 315 nsid: flickruser, 316 format: 'json', 317 lang: 'fr-fr' 318 }, 319 itemTemplate: '<a href="photos.php?id=' + flickrgalid + '"><img src="{{image}}" alt="{{title}}" style="margin: -10px; min-width: 210px; min-height: 210px; max-width: 285px; max-height: 285px;" /></a>' 320 }); 321 }); 322 } 323 324 // ----------- 325 var nflickr3=$(".flickr3").size(); 326 327 if(nflickr3) 328 { 329 $(".flickr3").each(function(){ 330 var flickrset=$(this).attr('set'); 331 var flickruser=$(this).attr('user'); 332 $(this).jflickrfeed({ 333 feedapi: 'photoset.gne', 334 limit: 12, 335 qstrings: { 336 set: flickrset, 337 nsid: flickruser, 338 format: 'json', 339 lang: 'fr-fr' 340 }, 341 itemTemplate: '<div style="float: left; background-color: #000000; margin: 0px 5px 5px 0px;"><div style="margin: 15px; width: 190px; max-width: 190px; height: 190px; max-height: 190px; overflow: hidden;"><a href="{{image}}" class="fancybox' + flickrset + '" rel="flickr' + flickrset + '"><img src="{{image}}" alt="{{title}}" style="margin: -10px; min-width: 210px; min-height: 210px; max-width: 285px; max-height: 285px;" /></a></div></div>' 342 }, function(data) { 343 $('a.fancybox' + flickrset).fancybox({ 344 'type' : 'image', 345 'transitionIn' : 'elastic', 346 'transitionOut' : 'elastic', 347 'titlePosition' : 'outside', 348 'cyclic' : 'true', 349 'titleFormat' : function(title, currentArray, currentIndex, currentOpts) { 350 return '<span id="fancybox-title-wrap"><span id="fancybox-title-left"></span><span id="fancybox-title-main">' + ( title ) + ' (' + (currentIndex + 1) + ' / ' + currentArray.length + ')</span><span id="fancybox-title-right"></span></span>'; 351 } 352 }); 353 }); 354 }); 355 } 356 357 // ----------- 358 var nflickr4=$(".flickr4").size(); 359 360 if(nflickr4) 361 { 362 $(".flickr4").each(function(){ 363 var flickrset=$(this).attr('set'); 364 var flickruser=$(this).attr('user'); 365 var flickrgalid=$(this).attr('galid'); 366 $(this).jflickrfeed({ 367 feedapi: 'photoset.gne', 368 limit: 1, 369 qstrings: { 370 set: flickrset, 371 nsid: flickruser, 372 format: 'json', 373 lang: 'fr-fr' 374 }, 375 itemTemplate: '<a href="photos.php?id=' + flickrgalid + '"><img src="{{image_s}}" alt="{{title}}" style="min-width: 55px; min-height: 55px; max-width: 55px; max-height: 55px;" /></a>' 376 }); 377 }); 378 } 379 380 // ----------- 381 $("a[rel=fancybox], a.fancybox").fancybox({ 382 'type' : 'image', 383 'transitionIn' : 'elastic', 384 'transitionOut' : 'elastic', 385 'titlePosition' : 'outside', 386 'cyclic' : 'true', 387 'titleFormat' : function(title, currentArray, currentIndex, currentOpts) { 388 return '<span id="fancybox-title-wrap"><span id="fancybox-title-left"></span><span id="fancybox-title-main">Image ' + (currentIndex + 1) + ' / ' + currentArray.length + '</span><span id="fancybox-title-right"></span></span>'; 389 } 390 }); 391 392 $("a.fancytube").fancybox({ 393 'type' : 'swf', 394 'swf' : { 'wmode' : 'transparent', 'allowfullscreen' : 'true' }, 395// 'padding' : 0, 396 'overlayOpacity' : 0.8, 397 'autoScale' : 'false', 398 'zoomSpeedIn' : 300, 399 'zoomSpeedOut' : 300, 400 'transitionIn' : 'elastic', 401 'transitionOut' : 'elastic', 402 'width' : 680, 403 'height' : 495, 404 'onStart' : function() {if(nyoutube) $('#rngyoutube').cycle('toggle');}, 405 'onClosed' : function() {if(nyoutube) $('#rngyoutube').cycle('resume');}, 406 'titleShow' : 'false', 407 'showNavArrows' : 'false', 408 'titleFormat' : function(title, currentArray, currentIndex, currentOpts) { 409 return '<span id="fancybox-title-wrap"><span id="fancybox-title-left"></span><span id="fancybox-title-main">Rock\'n Gaume TV</span><span id="fancybox-title-right"></span></span>'; 410 } 411 }); 412 413 $("a.fancysoctube").fancybox({ 414 'type' : 'swf', 415 'swf' : { 'wmode' : 'transparent', 'allowfullscreen' : 'true' }, 416// 'padding' : 0, 417 'overlayOpacity' : 0.8, 418 'autoScale' : 'false', 419 'zoomSpeedIn' : 300, 420 'zoomSpeedOut' : 300, 421 'transitionIn' : 'elastic', 422 'transitionOut' : 'elastic', 423 'width' : 680, 424 'height' : 495, 425 'onStart' : function() {if(nyoutube) $('#rngyoutube').cycle('toggle');}, 426 'onClosed' : function() {if(nyoutube) $('#rngyoutube').cycle('resume');}, 427 'titleShow' : 'false', 428 'showNavArrows' : 'false', 429 'titleFormat' : function(title, currentArray, currentIndex, currentOpts) { 430 return '<span id="fancybox-title-wrap"><span id="fancybox-title-left"></span><span id="fancybox-title-main">Youtube</span><span id="fancybox-title-right"></span></span>'; 431 } 432 }); 433 434 if($(".addthis").length){$.addthis('zapkiller');} 435 436 //FB.init("7529f04014f9a443c31aeb14880d3854"); 437 // ----------- 438 if($("#sidebar").length){SideBar() ;setTimeout('SideBar() ;', 2000);} 439 440 setTimeout('drawrectangles();', 2000); 441 setTimeout('drawrectangles();', 10000); 442 443 window.fbAsyncInit = function() { 444 FB.init({ 445 appId : "160193811057659", // App ID 446 //channelUrl : 'http://entrepot.losange.net/channel.php', // Channel File 447 status : true, // check login status 448 cookie : true, // enable cookies to allow the server to access the session 449 xfbml : true // parse XFBML 450 }); 451 452 // Additional initialization code here 453 454 $('.see_comments').each(function (i) { 455 var e = $(this); 456 FB.api('/?id=http%3A%2f%2fentrepot.losange.net%2f'+encodeURIComponent(e.attr('href').replace('#comments', '')), function(response) { 457 if (response.hasOwnProperty('comments')) 458 { 459 e.html('voir les commentaires ('+response.comments+')'); 460 } 461 else 462 { 463 e.html('voir les commentaires (0)'); 464 } 465 }); 466 }); 467 }; 468 469 // Load the SDK asynchronously 470 (function(d, s, id){ 471 var js, fjs = d.getElementsByTagName(s)[0]; 472 if (d.getElementById(id)) {return;} 473 js = d.createElement(s); js.id = id; 474 js.src = "//connect.facebook.net/fr_FR/all.js"; 475 fjs.parentNode.insertBefore(js, fjs); 476 }(document, 'script', 'facebook-jssdk')); 477 478 /* 479 // Load the SDK Asynchronously 480 (function(d){ 481 var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;} 482 js = d.createElement('script'); js.id = id; js.async = true; 483 js.src = "//connect.facebook.net/fr_FR/all.js#xfbml=1"; 484 d.getElementsByTagName('head')[0].appendChild(js); 485 }(document));*/ 486}); 487 488$(function() {drawrectangles();}); 489 490$(window).resize(function() {centerbg();drawrectangles();}); 491 492 function openFancybox(url) 493 { $.fancybox({ 494 'href' : '' + url + '', 495 'width' : 800, 496 'height' : 600, 497 'autoScale' : false, 498 'transitionIn' : 'none', 499 'transitionOut' : 'none', 500 'type' : 'iframe' 501 }); 502 } 503 504(function(global) { 505 function serialize(form){if(!form||form.nodeName!=="FORM"){return }var i,j,q=[];for(i=form.elements.length-1;i>=0;i=i-1){if(form.elements[i].name===""){continue}switch(form.elements[i].nodeName){case"INPUT":switch(form.elements[i].type){case"text":case"hidden":case"password":case"button":case"reset":case"submit":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value));break;case"checkbox":case"radio":if(form.elements[i].checked){q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value))}break;case"file":break}break;case"TEXTAREA":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value));break;case"SELECT":switch(form.elements[i].type){case"select-one":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value));break;case"select-multiple":for(j=form.elements[i].options.length-1;j>=0;j=j-1){if(form.elements[i].options[j].selected){q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].options[j].value))}}break}break;case"BUTTON":switch(form.elements[i].type){case"reset":case"submit":case"button":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value));break}break}}return q.join("&")}; 506 507 508 function extend(destination, source) { 509 for (var prop in source) { 510 destination[prop] = source[prop]; 511 } 512 } 513 514 if (!Mimi) var Mimi = {}; 515 if (!Mimi.Signups) Mimi.Signups = {}; 516 517 Mimi.Signups.EmbedValidation = function() { 518 this.initialize(); 519 520 var _this = this; 521 if (document.addEventListener) { 522 this.form.addEventListener('submit', function(e){
523 _this.onFormSubmit(e); 524 }); 525 } else { 526 this.form.attachEvent('onsubmit', function(e){ 527 _this.onFormSubmit(e); 528 }); 529 } 530 }; 531 532 extend(Mimi.Signups.EmbedValidation.prototype, { 533 initialize: function() { 534 this.form = document.getElementById('ema_signup_form'); 535 this.submit = document.getElementById('webform_submit_button'); 536 this.callbackName = 'jsonp_callback_' + Math.round(100000 * Math.random()); 537 this.validEmail = /.+@.+\..+/ 538 }, 539 540 onFormSubmit: function(e) { 541 e.preventDefault(); 542 543 this.validate(); 544 if (this.isValid) { 545 this.submitForm(); 546 } else { 547 this.revalidateOnChange(); 548 } 549 }, 550 551 validate: function() { 552 this.isValid = true; 553 this.emailValidation(); 554 this.fieldAndListValidation(); 555 this.updateFormAfterValidation(); 556 }, 557 558 emailValidation: function() { 559 var email = document.getElementById('signup_email'); 560 561 if (this.validEmail.test(email.value)) { 562 this.removeTextFieldError(email); 563 } else { 564 this.textFieldError(email); 565 this.isValid = false; 566 } 567 }, 568 569 fieldAndListValidation: function() { 570 var fields = this.form.querySelectorAll('.mimi_field.required'); 571 572 for (var i = 0; i < fields.length; ++i) { 573 var field = fields[i], 574 type = this.fieldType(field); 575 if (type === 'checkboxes' || type === 'radio_buttons') { 576 this.checkboxAndRadioValidation(field); 577 } else { 578 this.textAndDropdownValidation(field, type); 579 } 580 } 581 }, 582 583 fieldType: function(field) { 584 var type = field.querySelectorAll('.field_type'); 585 586 if (type.length) { 587 return type[0].getAttribute('data-field-type'); 588 } else if (field.className.indexOf('checkgroup') >= 0) { 589 return 'checkboxes'; 590 } else { 591 return 'text_field'; 592 } 593 }, 594 595 checkboxAndRadioValidation: function(field) { 596 var inputs = field.getElementsByTagName('input'), 597 selected = false; 598 599 for (var i = 0; i < inputs.length; ++i) { 600 var input = inputs[i]; 601 if((input.type === 'checkbox' || input.type === 'radio') && input.checked) { 602 selected = true; 603 } 604 } 605 606 if (selected) { 607 field.className = field.className.replace(/ invalid/g, ''); 608 } else { 609 if (field.className.indexOf('invalid') === -1) { 610 field.className += ' invalid'; 611 } 612 613 this.isValid = false; 614 } 615 }, 616 617 textAndDropdownValidation: function(field, type) { 618 var inputs = field.getElementsByTagName('input'); 619 620 for (var i = 0; i < inputs.length; ++i) { 621 var input = inputs[i]; 622 if (input.name.indexOf('signup') >= 0) { 623 if (type === 'text_field') { 624 this.textValidation(input); 625 } else { 626 this.dropdownValidation(field, input); 627 } 628 } 629 } 630 this.htmlEmbedDropdownValidation(field); 631 }, 632 633 textValidation: function(input) { 634 if (input.id === 'signup_email') return; 635 636 if (input.value) { 637 this.removeTextFieldError(input); 638 } else { 639 this.textFieldError(input); 640 this.isValid = false; 641 } 642 }, 643 644 dropdownValidation: function(field, input) { 645 if (input.value) { 646 field.className = field.className.replace(/ invalid/g, ''); 647 } else { 648 if (field.className.indexOf('invalid') === -1) field.className += ' invalid'; 649 this.onSelectCallback(input); 650 this.isValid = false; 651 } 652 }, 653 654 htmlEmbedDropdownValidation: function(field) { 655 var dropdowns = field.querySelectorAll('.mimi_html_dropdown'); 656 var _this = this; 657 658 for (var i = 0; i < dropdowns.length; ++i) { 659 var dropdown = dropdowns[i]; 660 661 if (dropdown.value) { 662 field.className = field.className.replace(/ invalid/g, ''); 663 } else { 664 if (field.className.indexOf('invalid') === -1) field.className += ' invalid'; 665 this.isValid = false; 666 dropdown.onchange = (function(){ _this.validate(); }); 667 } 668 } 669 }, 670 671 textFieldError: function(input) {
672 input.className = 'required invalid'; 673 input.placeholder = input.getAttribute('data-required-field'); 674 }, 675 676 removeTextFieldError: function(input) { 677 input.className = 'required'; 678 input.placeholder = ''; 679 }, 680 681 onSelectCallback: function(input) { 682 if (typeof Widget === 'undefined' || !Widget.BasicDropdown) return; 683 684 var dropdownEl = input.parentNode, 685 instances = Widget.BasicDropdown.instances, 686 _this = this; 687 688 for (var i = 0; i < instances.length; ++i) { 689 var instance = instances[i]; 690 if (instance.wrapperEl === dropdownEl) { 691 instance.onSelect = function(){ _this.validate() }; 692 } 693 } 694 }, 695 696 updateFormAfterValidation: function() { 697 this.form.className = this.setFormClassName(); 698 this.submit.value = this.submitButtonText(); 699 this.submit.disabled = !this.isValid; 700 this.submit.className = this.isValid ? 'submit' : 'disabled'; 701 }, 702 703 setFormClassName: function() { 704 var name = this.form.className; 705 706 if (this.isValid) { 707 return name.replace(/\s?mimi_invalid/, ''); 708 } else { 709 if (name.indexOf('mimi_invalid') === -1) { 710 return name += ' mimi_invalid'; 711 } else { 712 return name; 713 } 714 } 715 }, 716 717 submitButtonText: function() { 718 var invalidFields = document.querySelectorAll('.invalid'), 719 text; 720 721 if (this.isValid || !invalidFields) { 722 text = this.submit.getAttribute('data-default-text'); 723 } else { 724 if (invalidFields.length || invalidFields[0].className.indexOf('checkgroup') === -1) { 725 text = this.submit.getAttribute('data-invalid-text'); 726 } else { 727 text = this.submit.getAttribute('data-choose-list'); 728 } 729 } 730 return text; 731 }, 732 733 submitForm: function() { 734 this.formSubmitting(); 735 736 var _this = this; 737 window[this.callbackName] = function(response) { 738 delete window[this.callbackName]; 739 document.body.removeChild(script); 740 _this.onSubmitCallback(response); 741 }; 742 743 var script = document.createElement('script'); 744 script.src = this.formUrl('json'); 745 document.body.appendChild(script); 746 }, 747 748 formUrl: function(format) { 749 var action = this.form.action; 750 if (format === 'json') action += '.json'; 751 return action + '?callback=' + this.callbackName + '&' + serialize(this.form); 752 }, 753 754 formSubmitting: function() { 755 this.form.className += ' mimi_submitting'; 756 this.submit.value = this.submit.getAttribute('data-submitting-text'); 757 this.submit.disabled = true; 758 this.submit.className = 'disabled'; 759 }, 760 761 onSubmitCallback: function(response) { 762 if (response.success) { 763 this.onSubmitSuccess(response.result); 764 } else { 765 top.location.href = this.formUrl('html'); 766 } 767 }, 768 769 onSubmitSuccess: function(result) { 770 if (result.has_redirect) { 771 top.location.href = result.redirect; 772 } else if(result.single_opt_in || !result.confirmation_html) { 773 this.disableForm(); 774 this.updateSubmitButtonText(this.submit.getAttribute('data-thanks')); 775 } else { 776 this.showConfirmationText(result.confirmation_html); 777 } 778 }, 779 780 showConfirmationText: function(html) { 781 var fields = this.form.querySelectorAll('.mimi_field'); 782 783 for (var i = 0; i < fields.length; ++i) { 784 fields[i].style['display'] = 'none'; 785 } 786 787 (this.form.querySelectorAll('fieldset')[0] || this.form).innerHTML = html; 788 }, 789 790 disableForm: function() { 791 var elements = this.form.elements; 792 for (var i = 0; i < elements.length; ++i) { 793 elements[i].disabled = true; 794 } 795 }, 796 797 updateSubmitButtonText: function(text) { 798 this.submit.value = text; 799 }, 800 801 revalidateOnChange: function() { 802 var fields = this.form.querySelectorAll(".mimi_field.required"), 803 _this = this; 804 805 for (var i = 0; i < fields.length; ++i) { 806 var inputs = fields[i].getElementsByTagName('input'); 807 for (var j = 0; j < inputs.length; ++j) { 808 if (this.fieldType(fields[i]) === 'text_field') { 809 inputs[j].onkeyup = function() { 810 var input = this; 811 if (input.getAttribute('name') === 'signup[email]') { 812 if (_this.validEmail.test(input.value)) _this.validate(); 813 } else { 814 if (input.value.length === 1) _this.validate(); 815 } 816 } 817 } else { 818 inputs[j].onchange = function(){ _this.validate() }; 819 } 820 } 821 } 822 } 823 }); 824 825 if (document.addEventListener) { 826 document.addEventListener("DOMContentLoaded", function() { 827 new Mimi.Signups.EmbedValidation(); 828 });
829 } 830 else { 831 window.attachEvent('onload', function() { 832 new Mimi.Signups.EmbedValidation(); 833 }); 834 } 835})(this); 836 837 838-->
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.