Advertisement
Guest User

Untitled

a guest
Jun 12th, 2014
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var jCollage = null;
  2. $(document).ready(function() {
  3.     jCollage = new Collage("#collage");
  4.     jCollage.setBackgroundColor("#fff");
  5.    
  6.     //laag selecteren door click
  7.     $(".layers .layer").live("click", function() {
  8.         $(".layers .layer").removeClass("selected");
  9.         $(this).addClass("selected");
  10.         setSettings($(this).attr("id").substr(6));
  11.     });
  12.    
  13.     //achtergrond zichtbaar/onzichtbaar maken
  14.     $(".layers .background .visible").click(function() {
  15.         if ($(this).html() == "") {
  16.             jCollage.setBackgroundImage($(".layers .background img")[0]);
  17.             $(this).html("√");
  18.         } else {
  19.             jCollage.setBackgroundImage(null);
  20.             $(this).html("");
  21.         }
  22.     });
  23.    
  24.     //laag zichtbaar/onzichtbaar maken
  25.     $(".layers .layer .visible").live("click", function() {
  26.         if ($(this).html() == "") {
  27.             $(this).html("√");
  28.         } else {
  29.             $(this).html("");
  30.         }
  31.         jCollage.getLayer($(this).parent().attr("id").substr(6)).toggleVisible();
  32.         jCollage.redraw();
  33.     });
  34.    
  35.     //schaduw aan/uit zetten van geselecteerde laag
  36.     $(".options select[name=shadow]").change(function() {
  37.         if (getSelectedLayer() != null) {
  38.             if ($(".options select[name=shadow]").val() == "true") {
  39.                 getSelectedLayer().setShadow(true);
  40.             } else {
  41.                 getSelectedLayer().setShadow(false);
  42.             }
  43.             jCollage.redraw();
  44.         }
  45.     });
  46.    
  47.     //opacity wijzigen van geselecteerde laag
  48.     $(".options select[name=opacity]").change(function() {
  49.         if (getSelectedLayer() != null) {
  50.             getSelectedLayer().setOpacity($(".options select[name=opacity]").val());
  51.             jCollage.redraw();
  52.         }
  53.     });
  54.    
  55.     //geselecteerde laag verwijderen
  56.     $(".remove").click(function() {
  57.         if (getSelectedLayer() != null) {
  58.             jCollage.removeLayer($(".layers .selected").attr("id").substr(6));
  59.             updateLayers(jCollage.getLayers());
  60.         }
  61.     });
  62.    
  63.     //laag omhoog brengen
  64.     $(".up").click(function() {
  65.         if (getSelectedLayer() != null) {
  66.             var selectedLayer = $(".layers .selected").attr("id").substr(6);
  67.             if (jCollage.moveLayerUp(selectedLayer)) {
  68.                 updateLayers(jCollage.getLayers());
  69.                 $("#layer_" + (parseInt(selectedLayer) + 1)).addClass("selected");
  70.             }
  71.         }
  72.     });
  73.    
  74.     //laag naar beneden brengen
  75.     $(".down").click(function() {
  76.         if (getSelectedLayer() != null) {
  77.             var selectedLayer = $(".layers .selected").attr("id").substr(6);
  78.             if (jCollage.moveLayerDown(selectedLayer)) {
  79.                 updateLayers(jCollage.getLayers());
  80.                 $("#layer_" + (parseInt(selectedLayer) - 1)).addClass("selected");
  81.             }  
  82.         }
  83.     });
  84.    
  85.     //foto van flickr.com zoeken door zoekwoord
  86.     $(".search form.image-search").submit(function(){
  87.         $(".search li").remove();
  88.         $.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags="+$(".search input[name=q]").val()+"&tagmode=any&format=json&jsoncallback=?",
  89.             function(data) {
  90.             $.each(data.items, function(i,item) {
  91.                 var img = $("<img/>").attr("src", item.media.m);
  92.                 img.attr("title", item.title);
  93.                 $("<li></li>").append(img).appendTo(".search ul");
  94.                 if ( i == 8 ) return false;
  95.             });
  96.         });
  97.         return false;
  98.     });
  99.    
  100.     //afbeelding uploaden van pc met html input field
  101.     $("#uploader").change(function(e) {
  102.       var reader = new FileReader();
  103.       var title = e.target.value.replace(/.*[\\/]|(\.[^\.]+$)/g, "");
  104.       reader.onload = function(event){
  105.           var $img = $("<img/>").attr("src", event.target.result);
  106.           jCollage.addLayer($img.get(0)).setTitle(title);
  107.           updateLayers(jCollage.getLayers());
  108.           $("#layer_" + (jCollage.getLayers().length - 1)).addClass("selected");    
  109.       }
  110.       reader.readAsDataURL(e.target.files[0]);
  111.   });
  112.    
  113.     //textlaag toevoegen
  114.     $(".search form.text-layer").submit(function(){
  115.         var fontFamily = $('.search form.text-layer select[name=font-family]').val();
  116.         var fontColor = $('.search form.text-layer select[name=font-color]').val();
  117.         var fontSize = parseInt($('.search form.text-layer select[name=font-size]').val());
  118.         var text = $('.search form.text-layer input[name=text]').val();
  119.        
  120.         jCollage.addTextLayer(text, fontFamily, fontSize, fontColor);
  121.         updateLayers(jCollage.getLayers());
  122.        
  123.         $("#layer_" + (jCollage.getLayers().length - 1)).addClass("selected");
  124.        
  125.         return false;
  126.     });
  127. });
  128.  
  129. //laag selecteren
  130. function getSelectedLayer() {
  131.     if ($(".layers .selected").length == 0) {
  132.         return null;
  133.     }
  134.     return jCollage.getLayer($(".layers .selected").attr("id").substr(6))
  135. }
  136.  
  137. //opacity en schaduw regelen
  138. function setSettings(id) {
  139.     var layer = jCollage.getLayer(id);
  140.     $(".options select[name=opacity]").removeAttr("selected");
  141.     $(".options select[name=opacity] option[value="+layer.getOpacity()+"]").attr("selected", "selected");
  142.    
  143.     $(".options select[name=shadow]").removeAttr("selected");
  144.     $(".options select[name=shadow] option[value="+layer.hasShadow()+"]").attr("selected", "selected");
  145. }
  146.  
  147. // layers updaten
  148. function updateLayers(layers) {
  149.     $(".layers li.layer").remove();
  150.     for (i in layers) {
  151.         $(".layers > ul").prepend(createLayerRow(i, layers[i]));
  152.     }
  153. }
  154.  
  155. //de toegevoegde laag aanmaken in de layers class
  156. function createLayerRow(id, layer) {
  157.     var row = $("<li></li>").addClass("layer").attr("id", "layer_" + id);
  158.     if (layer instanceof Layer) {
  159.         var icon = $("<img/>").attr("src", layer.getImage().src);
  160.     }
  161.     var heading = $("<h3></h3>").text(layer.getTitle().substr(0,14));
  162.     var visible = $("<div></div>").addClass("visible");
  163.     if (layer.isVisible()) {
  164.         visible.html("&radic;");
  165.     }
  166.    
  167.     row.append(icon).append(heading).append(visible);
  168.    
  169.     return row;
  170. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement