tag:blogger.com,1999:blog-80420240315485479872024-03-21T09:56:26.866-07:00STORYMATICTRABAJOS de STORYBOARD y ANIMATIC .Una SOLUCIÓN para PRODUCCIONES DE CINE , AUDIOVISUAL y PUBLICIDADMarcia Verahttp://www.blogger.com/profile/03989137855348015975noreply@blogger.comBlogger4125tag:blogger.com,1999:blog-8042024031548547987.post-75763568346683036612016-02-05T10:48:00.000-08:002016-04-24T16:43:42.312-07:00MUESTRAS STORYBOARD ESCALA DE GRISES<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>
<style type="text/css">
/*Make sure your page contains a valid doctype at the top*/
#simplegallery1{ //CSS for Simple Gallery Example 1
position: relative; /*keep this intact*/
visibility: hidden; /*keep this intact*/
border: 1px solid #666;
}
#simplegallery1 .gallerydesctext{ //CSS for description DIV of Example 1 (if defined)
text-align: left;
padding: 2px 5px;
font: 10px normal verdana, arial;
}
</style>
<script type="text/javascript" >
var simpleGallery_navpanel={
loadinggif: 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcjr4MuIJ63T6ZKVCg0RUO0kdGIWl5MXUWASJzcKyGBWx6DSUZkVsvpYoEiqDRjdxlDJonZnB9nhyoXxw8TlSTPo6oZbHT8aw7k_hvNzw5TpPQ3GMr2DdS6RXof8m7XA0HgqSwd28CpDM/s400/ajaxload.gif', //full path or URL to loading gif image
panel: {height:'45px', opacity:0.5, paddingTop:'5px', fontStyle:'bold 11px Verdana'}, //customize nav panel container
images: [ 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK_OfCxe_FJCN3cupdHdkkLIM02nPAu7eUmcGZUODb9UR9uSN82g9MOp9Sf9IEvmr_9X9IsGU5fLr4v9Uf9DfQUllmccYASdIXl_HSNBkuOl3h2UJl9utNtv-uYeRUfrBDpMJqIzYoRfw/s400/left.gif', 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh51KdkpmtYvdFnZG2hQqxx9tPs6XpWJ2Yo2t0mFYH9GDOdUjGfuA-I-VklZSMwBv4L31w9PWU9ToFRREsZ86s7idgQJIezUxAEGuNXDcVC2qwqHejInsPoMyd5X58oX-A5hBaDofPllg/s400/play.gif', 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYYk6oVUyKcpuhX0j_MIvsecx8LX6RCMqhexVOxxhIjkTr-NGCRK0u78gcQBElJYrZWFELfqpxUZy596SYXV802cwgyERvMCboxr7JRbGcKxZ5_bsJ9AO4Y0MuS5U8fyp8-49z4U5y1-8/s400/right.gif', 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHYdIVFKyJBdZhgFoazEA_jD3vqGoPhX2msO6WBp0hX71LjKHHPxGRx9B-A_eR4ZXWttEGaE0sqGLavw-ntYgzU-cVdYkMm9sGk4hLnFxPfkJfBgJqZHQqlNS5lMYDmoNso79CwkHdHXM/s400/pause.gif'], //nav panel images (in that order)
imageSpacing: {offsetTop:[-4, 0, -4], spacing:10}, //top offset of left, play, and right images, PLUS spacing between the 3 images
slideduration: 500 //duration of slide up animation to reveal panel
}
function simpleGallery(settingarg){
this.setting=settingarg
settingarg=null
var setting=this.setting
setting.panelheight=(parseInt(setting.navpanelheight)>5)? parseInt(setting.navpanelheight) : parseInt(simpleGallery_navpanel.panel.height)
setting.fadeduration=parseInt(setting.fadeduration)
setting.curimage=(setting.persist)? simpleGallery.routines.getCookie("gallery-"+setting.wrapperid) : 0
setting.curimage=setting.curimage || 0 //account for curimage being null if cookie is empty
setting.preloadfirst=(!jQuery.Deferred)? false : (typeof setting.preloadfirst!="undefined")? setting.preloadfirst : true //Boolean on whether to preload all images before showing gallery
setting.ispaused=!setting.autoplay[0] //ispaused reflects current state of gallery, autoplay[0] indicates whether gallery is set to auto play
setting.currentstep=0 //keep track of # of slides slideshow has gone through
setting.totalsteps=setting.imagearray.length*setting.autoplay[2] //Total steps limit: # of images x # of user specified cycles
setting.fglayer=0, setting.bglayer=1 //index of active and background layer (switches after each change of slide)
setting.oninit=setting.oninit || function(){}
setting.onslide=setting.onslide || function(){}
var preloadimages=[], longestdesc=null, loadedimages=0
var dfd = (setting.preloadfirst)? jQuery.Deferred() : {resolve:function(){}, done:function(f){f()}} //create real deferred object unless preloadfirst setting is false or browser doesn't support it
setting.longestdesc="" //get longest description of all slides. If no desciptions defined, variable contains ""
setting.$loadinggif=(function(){ //preload and ref ajax loading gif
var loadgif=new Image()
loadgif.src=simpleGallery_navpanel.loadinggif
return jQuery(loadgif).css({verticalAlign:'middle'}).wrap('<div style="position:absolute;text-align:center;width:100%;height:100%" />').parent()
})()
for (var i=0; i<setting.imagearray.length; i++){ //preload slideshow images
preloadimages[i]=new Image()
preloadimages[i].src=setting.imagearray[i][0]
if (setting.imagearray[i][3] && setting.imagearray[i][3].length>setting.longestdesc.length)
setting.longestdesc=setting.imagearray[i][3]
jQuery(preloadimages[i]).bind('load error', function(){
loadedimages++
if (loadedimages==setting.imagearray.length){
dfd.resolve() //indicate all images have been loaded
}
})
}
var slideshow=this
jQuery(document).ready(function($){
var setting=slideshow.setting
setting.$wrapperdiv=$('#'+setting.wrapperid).css({position:'relative', visibility:'visible', background:'black', overflow:'hidden', width:setting.dimensions[0], height:setting.dimensions[1]}).empty() //main gallery DIV
if (setting.$wrapperdiv.length==0){ //if no wrapper DIV found
alert("Error: DIV with ID \""+setting.wrapperid+"\" not found on page.")
return
}
setting.$gallerylayers=$('<div class="gallerylayer"></div><div class="gallerylayer"></div>') //two stacked DIVs to display the actual slide
.css({position:'absolute', left:0, top:0})
.appendTo(setting.$wrapperdiv)
setting.$loadinggif.css({top:setting.dimensions[1]/2-30}).appendTo(setting.$wrapperdiv) //30 is assumed height of ajax loading gif
setting.gallerylayers=setting.$gallerylayers.get() //cache stacked DIVs as DOM objects
setting.navbuttons=simpleGallery.routines.addnavpanel(setting) //get 4 nav buttons DIVs as DOM objects
if (setting.longestdesc!="") //if at least one slide contains a description (feature is enabled)
setting.descdiv=simpleGallery.routines.adddescpanel(setting)
$(setting.navbuttons).filter('img.navimages').css({opacity:0.8})
.bind('mouseover mouseout', function(e){
$(this).css({opacity:(e.type=="mouseover")? 1 : 0.8})
})
.bind('click', function(e){
var keyword=e.target.title.toLowerCase()
slideshow.navigate(keyword) //assign behavior to nav images
})
dfd.done(function(){ //execute when all images have loaded
setting.$loadinggif.remove()
setting.$wrapperdiv.bind('mouseenter', function(){slideshow.showhidenavpanel('show')})
setting.$wrapperdiv.bind('mouseleave', function(){slideshow.showhidenavpanel('hide')})
slideshow.showslide(setting.curimage) //show initial slide
setting.oninit.call(slideshow) //trigger oninit() event
$(window).bind('unload', function(){ //clean up and persist
$(slideshow.setting.navbuttons).unbind()
if (slideshow.setting.persist) //remember last shown image's index
simpleGallery.routines.setCookie("gallery-"+setting.wrapperid, setting.curimage)
jQuery.each(slideshow.setting, function(k){
if (slideshow.setting[k] instanceof Array){
for (var i=0; i<slideshow.setting[k].length; i++){
if (slideshow.setting[k][i].tagName=="DIV") //catches 2 gallerylayer divs, gallerystatus div
slideshow.setting[k][i].innerHTML=null
slideshow.setting[k][i]=null
}
}
if (slideshow.setting[k].innerHTML) //catch gallerydesctext div
slideshow.setting[k].innerHTML=null
slideshow.setting[k]=null
})
slideshow=slideshow.setting=null
})
}) //end deferred code
}) //end jQuery domload
}
simpleGallery.prototype={
navigate:function(keyword){
clearTimeout(this.setting.playtimer)
this.setting.totalsteps=100000 //if any of the nav buttons are clicked on, set totalsteps limit to an "unreachable" number
if (!isNaN(parseInt(keyword))){
this.showslide(parseInt(keyword))
}
else if (/(prev)|(next)/i.test(keyword)){
this.showslide(keyword.toLowerCase())
}
else{ //if play|pause button
var slideshow=this
var $playbutton=$(this.setting.navbuttons).eq(1)
if (!this.setting.ispaused){ //if pause Gallery
this.setting.autoplay[0]=false
$playbutton.attr({title:'Play', src:simpleGallery_navpanel.images[1]})
}
else if (this.setting.ispaused){ //if play Gallery
this.setting.autoplay[0]=true
this.setting.playtimer=setTimeout(function(){slideshow.showslide('next')}, this.setting.autoplay[1])
$playbutton.attr({title:'Pause', src:simpleGallery_navpanel.images[3]})
}
slideshow.setting.ispaused=!slideshow.setting.ispaused
}
},
showslide:function(keyword){
var slideshow=this
var setting=slideshow.setting
var totalimages=setting.imagearray.length
var imgindex=(keyword=="next")? (setting.curimage<totalimages-1? setting.curimage+1 : 0)
: (keyword=="prev")? (setting.curimage>0? setting.curimage-1 : totalimages-1)
: Math.min(keyword, totalimages-1)
setting.gallerylayers[setting.bglayer].innerHTML=simpleGallery.routines.getSlideHTML(setting.imagearray[imgindex])
setting.$gallerylayers.eq(setting.bglayer).css({zIndex:1000, opacity:0}) //background layer becomes foreground
.stop().css({opacity:0}).animate({opacity:1}, setting.fadeduration, function(){ //Callback function after fade animation is complete:
clearTimeout(setting.playtimer)
setting.gallerylayers[setting.bglayer].innerHTML=null //empty bglayer (previously fglayer before setting.fglayer=setting.bglayer was set below)
try{
setting.onslide.call(slideshow, setting.gallerylayers[setting.fglayer], setting.curimage)
}catch(e){
alert("Simple Controls Gallery: An error has occured somwhere in your code attached to the \"onslide\" event: "+e)
}
setting.currentstep+=1
if (setting.autoplay[0]){
if (setting.currentstep<=setting.totalsteps)
setting.playtimer=setTimeout(function(){slideshow.showslide('next')}, setting.autoplay[1])
else
slideshow.navigate("play/pause")
}
}) //end callback function
setting.gallerylayers[setting.fglayer].style.zIndex=999 //foreground layer becomes background
setting.fglayer=setting.bglayer
setting.bglayer=(setting.bglayer==0)? 1 : 0
setting.curimage=imgindex
setting.navbuttons[3].innerHTML=(setting.curimage+1) + '/' + setting.imagearray.length
if (setting.imagearray[imgindex][3]){ //if this slide contains a description
setting.$descpanel.css({visibility:'visible'})
setting.descdiv.innerHTML=setting.imagearray[imgindex][3]
}
else if (setting.longestdesc!=""){ //if at least one slide contains a description (feature is enabled)
setting.descdiv.innerHTML=null
setting.$descpanel.css({visibility:'hidden'})
}
},
showhidenavpanel:function(state){
var setting=this.setting
var endpoint=(state=="show")? setting.dimensions[1]-setting.panelheight : this.setting.dimensions[1]
setting.$navpanel.stop().animate({top:endpoint}, simpleGallery_navpanel.slideduration)
if (setting.longestdesc!="") //if at least one slide contains a description (feature is enabled)
this.showhidedescpanel(state)
},
showhidedescpanel:function(state){
var setting=this.setting
var endpoint=(state=="show")? 0 : -setting.descpanelheight
setting.$descpanel.stop().animate({top:endpoint}, simpleGallery_navpanel.slideduration)
}
}
simpleGallery.routines={
getSlideHTML:function(imgelement){
var layerHTML=(imgelement[1])? '<a href="'+imgelement[1]+'" target="'+imgelement[2]+'">\n' : '' //hyperlink slide?
layerHTML+='<img src="'+imgelement[0]+'" style="border-width:0" />'
layerHTML+=(imgelement[1])? '</a>' : ''
return layerHTML //return HTML for this layer
},
addnavpanel:function(setting){
var interfaceHTML=''
for (var i=0; i<3; i++){
var imgstyle='position:relative; border:0; cursor:hand; cursor:pointer; top:'+simpleGallery_navpanel.imageSpacing.offsetTop[i]+'px; margin-right:'+(i!=2? simpleGallery_navpanel.imageSpacing.spacing+'px' : 0)
var title=(i==0? 'Prev' : (i==1)? (setting.ispaused? 'Play' : 'Pause') : 'Next')
var imagesrc=(i==1)? simpleGallery_navpanel.images[(setting.ispaused)? 1 : 3] : simpleGallery_navpanel.images[i]
interfaceHTML+='<img class="navimages" title="' + title + '" src="'+ imagesrc +'" style="'+imgstyle+'" /> '
}
interfaceHTML+='<div class="gallerystatus" style="margin-top:1px">' + (setting.curimage+1) + '/' + setting.imagearray.length + '</div>'
setting.$navpanel=$('<div class="navpanellayer"></div>')
.css({position:'absolute', width:'100%', height:setting.panelheight, left:0, top:setting.dimensions[1], font:simpleGallery_navpanel.panel.fontStyle, zIndex:'1001'})
.appendTo(setting.$wrapperdiv)
$('<div class="navpanelbg"></div><div class="navpanelfg"></div>') //create inner nav panel DIVs
.css({position:'absolute', left:0, top:0, width:'100%', height:'100%'})
.eq(0).css({background:'black', opacity:simpleGallery_navpanel.panel.opacity}).end() //"navpanelbg" div
.eq(1).css({paddingTop:simpleGallery_navpanel.panel.paddingTop, textAlign:'center', color:'white'}).html(interfaceHTML).end() //"navpanelfg" div
.appendTo(setting.$navpanel)
return setting.$navpanel.find('img.navimages, div.gallerystatus').get() //return 4 nav related images and DIVs as DOM objects
},
adddescpanel:function(setting){
setting.$descpanel=$('<div class="gallerydesc"><div class="gallerydescbg"></div><div class="gallerydescfg"><div class="gallerydesctext"></div></div></div>')
.css({position:'absolute', width:'100%', left:0, top:-1000, zIndex:'1001'})
.find('div').css({position:'absolute', left:0, top:0, width:'100%'})
.eq(0).css({background:'black', opacity:simpleGallery_navpanel.panel.opacity}).end() //"gallerydescbg" div
.eq(1).css({color:'white'}).end() //"gallerydescfg" div
.eq(2).html(setting.longestdesc).end().end()
.appendTo(setting.$wrapperdiv)
var $gallerydesctext=setting.$descpanel.find('div.gallerydesctext')
setting.descpanelheight=$gallerydesctext.outerHeight()
setting.$descpanel.css({top:-setting.descpanelheight, height:setting.descpanelheight}).find('div').css({height:'100%'})
return setting.$descpanel.find('div.gallerydesctext').get(0) //return gallery description DIV as a DOM object
},
getCookie:function(Name){
var re=new RegExp(Name+"=[^;]+", "i"); //construct RE to search for target name/value pair
if (document.cookie.match(re)) //if cookie found
return document.cookie.match(re)[0].split("=")[1] //return its value
return null
},
setCookie:function(name, value){
document.cookie = name+"=" + value + ";path=/"
}
}
</script>
<script type="text/javascript">
var mygallery=new simpleGallery({
wrapperid: "simplegallery1", //ID of main gallery container,
dimensions: [710, 400], //width/height of gallery in pixels. Should reflect dimensions of the images exactly
imagearray: [
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFuuOcyG-ZrH35eV8LM9TnicBkja1nAdQsADdTTKMY3yZLD_otEh4otYwmvUgEh8NpED6oMeLVP9rJPJjOWnV9SXceybXbjpblcRjdWmu2YizDseHom1zc9sj-q0UqoxScD9yj1V7uGOCh/s1600/armado+story+jumbo+celular+1+paint.jpg", "https://picasaweb.google.com/103040874580540559184/STORYBOARD_GRISES#6247878888970429138", "_new", "story invitación 1 "],
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0BfViCcBN94CM6q-Yzw0XMyN1BQRCGFnju-U-Wq2Y_RbDSbcdnEqKSnZcHsaaoj442L-c4Lcsn2sW0XeeyA8WDF-1n5w6VE_TXVyXALKT05dV3tXaeryQyG9TKMxq3_omtjerbxbQP0Yt/s1600/armado+story+jumbo+celular+2+paint.jpg", "https://picasaweb.google.com/103040874580540559184/STORYBOARD_GRISES#6247879011014635906", "_new", "invitación 2 "],
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiM8Ydz1AYuhNcKSmF1UyBg1siwGkHgHKKORu90UQRJ8TqNi1r-ZuMyy759mTflwRBIvbJKsTypfz3ztTICWy6VmElg0rPe4bXGKIptDJgydO-NuiQ0KYTB0GyZ4b9TC0wQSP4XEzhADk4T/s1600/armado+story+jumbo+celular+3+paint.jpg","https://picasaweb.google.com/103040874580540559184/STORYBOARD_GRISES#6247879106228604850", "_new", "invitación 3 "],
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyaPDuyvxYBNDNyQCcsVw8eBkIHH95lI0IDGzvcrTc8W5TE7ejpPV6JQLNa3XrcaRHLtYHqitFFYvu1uQ2045o_c-G42JpiRoHzdYjljRe7XgvYcdhyphenhyphencImIbmf_67BztLc5bOMp56w3bow/s1600/armado+story+jumbo+celular+4+paint.jpg", "https://picasaweb.google.com/103040874580540559184/STORYBOARD_GRISES#6247879213141061986", "_new", "invitación 4 "],
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwcprKypmNTJCr1Z-vDBZ8rsCkQ-RlQmMYkVQxhlCl_Jm4-fqpCfR5bayhgnLTvUmewmEAfoljZO4q0XgLcqMjKjO5e5nqlpgXj-pUQketTBSIVLJxr621XGX3Jwy062b8kLgWknizhNx-/s1600/armado+story+jumbo+celular+5+paint.jpg", "https://picasaweb.google.com/103040874580540559184/STORYBOARD_GRISES#6247879304523697218", "_new", "invitación 5 "],
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKVVs8lQEX6q8Qef_vRmHmZVEs7Gpq9zg_tlf9-hyAxOAL22U2UpvSk1L7Tq6zv-fjwQEs6BkgzqzVhT49oxp7P0pC1bZB6iVQYC5q56prNIBJRRYz5LxP2pjfuhXZlnPtYS8rGjbbhsGL/s1600/armado+story+campa%25C3%25B1a+invierno1_paint.jpg", "#", "_new", "campaña de invierno1 "],
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUEnSDfYHKeUyUdmjp3mTpD-MeD0kDwfJdsc-EmHR39XG_r8c1oJZYIprc117mT5Jweb5dJC1sMDxPZR_4vJ00gb9PL-JC-9sRZ-KHdaXXbdDF9EVqH3OcIDz6LeMKSamSAMVSKdSR4P5Z/s1600/armado+story+campa%25C3%25B1a+invierno2_paint.jpg", "#", "_new", "campaña de invierno2 "],
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhejbM7SP42Hc-Sid5An7kpXcmwSPFGmX55X1CEK1ptIbtAOoqWMD3X0C5-hXn5cpZbU32o__55I65OxUouYvIT-aXmYHo1Us550NIZzkTsuXt7IsT54sRk1fw_ijS1dF_rT-WLGPm6u0kr/s1600/armado+story+campa%25C3%25B1a+invierno3_paint.jpg", "#", "_new", "campaña de invierno3 "],
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWQwr2CvgcNl-jeUVwMjWBQynzOnovHCRXEzoqvpKCbvEgAT8lTlA0Qe4D_3cXdMcPuH5PTmC0reM369xXOJ4HHhFEb0ajVhk4vWGHlnLcyD_-u7zDYz4VLkdVT4scBvGgwzl6ixwuZK0N/s1600/armado+story+campa%25C3%25B1a+invierno4_paint.jpg", "#", "_new", "campaña de invierno4 "],
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuZFfZywyPHbjk45ymReTejGCekei7YrFIqRkeUm5pm5ptQUQgH0c-ZNrgqrAfU1NXXyGYs6c6q_qeGmQoD5SgVZNSX2UsFTW9eEB_Q3HpAJ9STUxLQmAtQcz-8UFi5p37A4SSkd8NFonL/s1600/armado+story+campa%25C3%25B1a+invierno5_paint.jpg", "#", "_new", "campaña de invierno5 "],
],
autoplay: [true, 3000, 20], //[auto_play_boolean, delay_btw_slide_millisec, cycles_before_stopping_int]
persist: false, //remember last viewed slide and recall within same session?
fadeduration: 500, //transition duration (milliseconds)
oninit:function(){ //event that fires when gallery has initialized/ ready to run
//Keyword "this": references current gallery instance (ie: try this.navigate("play/pause"))
},
onslide:function(curslide, i){ //event that fires after each slide is shown
//Keyword "this": references current gallery instance
//curslide: returns DOM reference to current slide's DIV (ie: try alert(curslide.innerHTML)
//i: integer reflecting current image within collection being shown (0=1st image, 1=2nd etc)
}
})
</script>
<div id="simplegallery1"></div>Marcia Verahttp://www.blogger.com/profile/03989137855348015975noreply@blogger.com0tag:blogger.com,1999:blog-8042024031548547987.post-66207886462044115772016-01-20T08:24:00.002-08:002016-01-21T11:38:12.035-08:00MUESTRAS STORYBOARD DE ANIMACIÓN<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>
<style type="text/css">
/*Make sure your page contains a valid doctype at the top*/
#simplegallery1{ //CSS for Simple Gallery Example 1
position: relative; /*keep this intact*/
visibility: hidden; /*keep this intact*/
border: 1px solid #666;
}
#simplegallery1 .gallerydesctext{ //CSS for description DIV of Example 1 (if defined)
text-align: left;
padding: 2px 5px;
font: 10px normal verdana, arial;
}
</style>
<script type="text/javascript" >
var simpleGallery_navpanel={
loadinggif: 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcjr4MuIJ63T6ZKVCg0RUO0kdGIWl5MXUWASJzcKyGBWx6DSUZkVsvpYoEiqDRjdxlDJonZnB9nhyoXxw8TlSTPo6oZbHT8aw7k_hvNzw5TpPQ3GMr2DdS6RXof8m7XA0HgqSwd28CpDM/s400/ajaxload.gif', //full path or URL to loading gif image
panel: {height:'45px', opacity:0.5, paddingTop:'5px', fontStyle:'bold 11px Verdana'}, //customize nav panel container
images: [ 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK_OfCxe_FJCN3cupdHdkkLIM02nPAu7eUmcGZUODb9UR9uSN82g9MOp9Sf9IEvmr_9X9IsGU5fLr4v9Uf9DfQUllmccYASdIXl_HSNBkuOl3h2UJl9utNtv-uYeRUfrBDpMJqIzYoRfw/s400/left.gif', 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh51KdkpmtYvdFnZG2hQqxx9tPs6XpWJ2Yo2t0mFYH9GDOdUjGfuA-I-VklZSMwBv4L31w9PWU9ToFRREsZ86s7idgQJIezUxAEGuNXDcVC2qwqHejInsPoMyd5X58oX-A5hBaDofPllg/s400/play.gif', 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYYk6oVUyKcpuhX0j_MIvsecx8LX6RCMqhexVOxxhIjkTr-NGCRK0u78gcQBElJYrZWFELfqpxUZy596SYXV802cwgyERvMCboxr7JRbGcKxZ5_bsJ9AO4Y0MuS5U8fyp8-49z4U5y1-8/s400/right.gif', 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHYdIVFKyJBdZhgFoazEA_jD3vqGoPhX2msO6WBp0hX71LjKHHPxGRx9B-A_eR4ZXWttEGaE0sqGLavw-ntYgzU-cVdYkMm9sGk4hLnFxPfkJfBgJqZHQqlNS5lMYDmoNso79CwkHdHXM/s400/pause.gif'], //nav panel images (in that order)
imageSpacing: {offsetTop:[-4, 0, -4], spacing:10}, //top offset of left, play, and right images, PLUS spacing between the 3 images
slideduration: 500 //duration of slide up animation to reveal panel
}
function simpleGallery(settingarg){
this.setting=settingarg
settingarg=null
var setting=this.setting
setting.panelheight=(parseInt(setting.navpanelheight)>5)? parseInt(setting.navpanelheight) : parseInt(simpleGallery_navpanel.panel.height)
setting.fadeduration=parseInt(setting.fadeduration)
setting.curimage=(setting.persist)? simpleGallery.routines.getCookie("gallery-"+setting.wrapperid) : 0
setting.curimage=setting.curimage || 0 //account for curimage being null if cookie is empty
setting.preloadfirst=(!jQuery.Deferred)? false : (typeof setting.preloadfirst!="undefined")? setting.preloadfirst : true //Boolean on whether to preload all images before showing gallery
setting.ispaused=!setting.autoplay[0] //ispaused reflects current state of gallery, autoplay[0] indicates whether gallery is set to auto play
setting.currentstep=0 //keep track of # of slides slideshow has gone through
setting.totalsteps=setting.imagearray.length*setting.autoplay[2] //Total steps limit: # of images x # of user specified cycles
setting.fglayer=0, setting.bglayer=1 //index of active and background layer (switches after each change of slide)
setting.oninit=setting.oninit || function(){}
setting.onslide=setting.onslide || function(){}
var preloadimages=[], longestdesc=null, loadedimages=0
var dfd = (setting.preloadfirst)? jQuery.Deferred() : {resolve:function(){}, done:function(f){f()}} //create real deferred object unless preloadfirst setting is false or browser doesn't support it
setting.longestdesc="" //get longest description of all slides. If no desciptions defined, variable contains ""
setting.$loadinggif=(function(){ //preload and ref ajax loading gif
var loadgif=new Image()
loadgif.src=simpleGallery_navpanel.loadinggif
return jQuery(loadgif).css({verticalAlign:'middle'}).wrap('<div style="position:absolute;text-align:center;width:100%;height:100%" />').parent()
})()
for (var i=0; i<setting.imagearray.length; i++){ //preload slideshow images
preloadimages[i]=new Image()
preloadimages[i].src=setting.imagearray[i][0]
if (setting.imagearray[i][3] && setting.imagearray[i][3].length>setting.longestdesc.length)
setting.longestdesc=setting.imagearray[i][3]
jQuery(preloadimages[i]).bind('load error', function(){
loadedimages++
if (loadedimages==setting.imagearray.length){
dfd.resolve() //indicate all images have been loaded
}
})
}
var slideshow=this
jQuery(document).ready(function($){
var setting=slideshow.setting
setting.$wrapperdiv=$('#'+setting.wrapperid).css({position:'relative', visibility:'visible', background:'black', overflow:'hidden', width:setting.dimensions[0], height:setting.dimensions[1]}).empty() //main gallery DIV
if (setting.$wrapperdiv.length==0){ //if no wrapper DIV found
alert("Error: DIV with ID \""+setting.wrapperid+"\" not found on page.")
return
}
setting.$gallerylayers=$('<div class="gallerylayer"></div><div class="gallerylayer"></div>') //two stacked DIVs to display the actual slide
.css({position:'absolute', left:0, top:0})
.appendTo(setting.$wrapperdiv)
setting.$loadinggif.css({top:setting.dimensions[1]/2-30}).appendTo(setting.$wrapperdiv) //30 is assumed height of ajax loading gif
setting.gallerylayers=setting.$gallerylayers.get() //cache stacked DIVs as DOM objects
setting.navbuttons=simpleGallery.routines.addnavpanel(setting) //get 4 nav buttons DIVs as DOM objects
if (setting.longestdesc!="") //if at least one slide contains a description (feature is enabled)
setting.descdiv=simpleGallery.routines.adddescpanel(setting)
$(setting.navbuttons).filter('img.navimages').css({opacity:0.8})
.bind('mouseover mouseout', function(e){
$(this).css({opacity:(e.type=="mouseover")? 1 : 0.8})
})
.bind('click', function(e){
var keyword=e.target.title.toLowerCase()
slideshow.navigate(keyword) //assign behavior to nav images
})
dfd.done(function(){ //execute when all images have loaded
setting.$loadinggif.remove()
setting.$wrapperdiv.bind('mouseenter', function(){slideshow.showhidenavpanel('show')})
setting.$wrapperdiv.bind('mouseleave', function(){slideshow.showhidenavpanel('hide')})
slideshow.showslide(setting.curimage) //show initial slide
setting.oninit.call(slideshow) //trigger oninit() event
$(window).bind('unload', function(){ //clean up and persist
$(slideshow.setting.navbuttons).unbind()
if (slideshow.setting.persist) //remember last shown image's index
simpleGallery.routines.setCookie("gallery-"+setting.wrapperid, setting.curimage)
jQuery.each(slideshow.setting, function(k){
if (slideshow.setting[k] instanceof Array){
for (var i=0; i<slideshow.setting[k].length; i++){
if (slideshow.setting[k][i].tagName=="DIV") //catches 2 gallerylayer divs, gallerystatus div
slideshow.setting[k][i].innerHTML=null
slideshow.setting[k][i]=null
}
}
if (slideshow.setting[k].innerHTML) //catch gallerydesctext div
slideshow.setting[k].innerHTML=null
slideshow.setting[k]=null
})
slideshow=slideshow.setting=null
})
}) //end deferred code
}) //end jQuery domload
}
simpleGallery.prototype={
navigate:function(keyword){
clearTimeout(this.setting.playtimer)
this.setting.totalsteps=100000 //if any of the nav buttons are clicked on, set totalsteps limit to an "unreachable" number
if (!isNaN(parseInt(keyword))){
this.showslide(parseInt(keyword))
}
else if (/(prev)|(next)/i.test(keyword)){
this.showslide(keyword.toLowerCase())
}
else{ //if play|pause button
var slideshow=this
var $playbutton=$(this.setting.navbuttons).eq(1)
if (!this.setting.ispaused){ //if pause Gallery
this.setting.autoplay[0]=false
$playbutton.attr({title:'Play', src:simpleGallery_navpanel.images[1]})
}
else if (this.setting.ispaused){ //if play Gallery
this.setting.autoplay[0]=true
this.setting.playtimer=setTimeout(function(){slideshow.showslide('next')}, this.setting.autoplay[1])
$playbutton.attr({title:'Pause', src:simpleGallery_navpanel.images[3]})
}
slideshow.setting.ispaused=!slideshow.setting.ispaused
}
},
showslide:function(keyword){
var slideshow=this
var setting=slideshow.setting
var totalimages=setting.imagearray.length
var imgindex=(keyword=="next")? (setting.curimage<totalimages-1? setting.curimage+1 : 0)
: (keyword=="prev")? (setting.curimage>0? setting.curimage-1 : totalimages-1)
: Math.min(keyword, totalimages-1)
setting.gallerylayers[setting.bglayer].innerHTML=simpleGallery.routines.getSlideHTML(setting.imagearray[imgindex])
setting.$gallerylayers.eq(setting.bglayer).css({zIndex:1000, opacity:0}) //background layer becomes foreground
.stop().css({opacity:0}).animate({opacity:1}, setting.fadeduration, function(){ //Callback function after fade animation is complete:
clearTimeout(setting.playtimer)
setting.gallerylayers[setting.bglayer].innerHTML=null //empty bglayer (previously fglayer before setting.fglayer=setting.bglayer was set below)
try{
setting.onslide.call(slideshow, setting.gallerylayers[setting.fglayer], setting.curimage)
}catch(e){
alert("Simple Controls Gallery: An error has occured somwhere in your code attached to the \"onslide\" event: "+e)
}
setting.currentstep+=1
if (setting.autoplay[0]){
if (setting.currentstep<=setting.totalsteps)
setting.playtimer=setTimeout(function(){slideshow.showslide('next')}, setting.autoplay[1])
else
slideshow.navigate("play/pause")
}
}) //end callback function
setting.gallerylayers[setting.fglayer].style.zIndex=999 //foreground layer becomes background
setting.fglayer=setting.bglayer
setting.bglayer=(setting.bglayer==0)? 1 : 0
setting.curimage=imgindex
setting.navbuttons[3].innerHTML=(setting.curimage+1) + '/' + setting.imagearray.length
if (setting.imagearray[imgindex][3]){ //if this slide contains a description
setting.$descpanel.css({visibility:'visible'})
setting.descdiv.innerHTML=setting.imagearray[imgindex][3]
}
else if (setting.longestdesc!=""){ //if at least one slide contains a description (feature is enabled)
setting.descdiv.innerHTML=null
setting.$descpanel.css({visibility:'hidden'})
}
},
showhidenavpanel:function(state){
var setting=this.setting
var endpoint=(state=="show")? setting.dimensions[1]-setting.panelheight : this.setting.dimensions[1]
setting.$navpanel.stop().animate({top:endpoint}, simpleGallery_navpanel.slideduration)
if (setting.longestdesc!="") //if at least one slide contains a description (feature is enabled)
this.showhidedescpanel(state)
},
showhidedescpanel:function(state){
var setting=this.setting
var endpoint=(state=="show")? 0 : -setting.descpanelheight
setting.$descpanel.stop().animate({top:endpoint}, simpleGallery_navpanel.slideduration)
}
}
simpleGallery.routines={
getSlideHTML:function(imgelement){
var layerHTML=(imgelement[1])? '<a href="'+imgelement[1]+'" target="'+imgelement[2]+'">\n' : '' //hyperlink slide?
layerHTML+='<img src="'+imgelement[0]+'" style="border-width:0" />'
layerHTML+=(imgelement[1])? '</a>' : ''
return layerHTML //return HTML for this layer
},
addnavpanel:function(setting){
var interfaceHTML=''
for (var i=0; i<3; i++){
var imgstyle='position:relative; border:0; cursor:hand; cursor:pointer; top:'+simpleGallery_navpanel.imageSpacing.offsetTop[i]+'px; margin-right:'+(i!=2? simpleGallery_navpanel.imageSpacing.spacing+'px' : 0)
var title=(i==0? 'Prev' : (i==1)? (setting.ispaused? 'Play' : 'Pause') : 'Next')
var imagesrc=(i==1)? simpleGallery_navpanel.images[(setting.ispaused)? 1 : 3] : simpleGallery_navpanel.images[i]
interfaceHTML+='<img class="navimages" title="' + title + '" src="'+ imagesrc +'" style="'+imgstyle+'" /> '
}
interfaceHTML+='<div class="gallerystatus" style="margin-top:1px">' + (setting.curimage+1) + '/' + setting.imagearray.length + '</div>'
setting.$navpanel=$('<div class="navpanellayer"></div>')
.css({position:'absolute', width:'100%', height:setting.panelheight, left:0, top:setting.dimensions[1], font:simpleGallery_navpanel.panel.fontStyle, zIndex:'1001'})
.appendTo(setting.$wrapperdiv)
$('<div class="navpanelbg"></div><div class="navpanelfg"></div>') //create inner nav panel DIVs
.css({position:'absolute', left:0, top:0, width:'100%', height:'100%'})
.eq(0).css({background:'black', opacity:simpleGallery_navpanel.panel.opacity}).end() //"navpanelbg" div
.eq(1).css({paddingTop:simpleGallery_navpanel.panel.paddingTop, textAlign:'center', color:'white'}).html(interfaceHTML).end() //"navpanelfg" div
.appendTo(setting.$navpanel)
return setting.$navpanel.find('img.navimages, div.gallerystatus').get() //return 4 nav related images and DIVs as DOM objects
},
adddescpanel:function(setting){
setting.$descpanel=$('<div class="gallerydesc"><div class="gallerydescbg"></div><div class="gallerydescfg"><div class="gallerydesctext"></div></div></div>')
.css({position:'absolute', width:'100%', left:0, top:-1000, zIndex:'1001'})
.find('div').css({position:'absolute', left:0, top:0, width:'100%'})
.eq(0).css({background:'black', opacity:simpleGallery_navpanel.panel.opacity}).end() //"gallerydescbg" div
.eq(1).css({color:'white'}).end() //"gallerydescfg" div
.eq(2).html(setting.longestdesc).end().end()
.appendTo(setting.$wrapperdiv)
var $gallerydesctext=setting.$descpanel.find('div.gallerydesctext')
setting.descpanelheight=$gallerydesctext.outerHeight()
setting.$descpanel.css({top:-setting.descpanelheight, height:setting.descpanelheight}).find('div').css({height:'100%'})
return setting.$descpanel.find('div.gallerydesctext').get(0) //return gallery description DIV as a DOM object
},
getCookie:function(Name){
var re=new RegExp(Name+"=[^;]+", "i"); //construct RE to search for target name/value pair
if (document.cookie.match(re)) //if cookie found
return document.cookie.match(re)[0].split("=")[1] //return its value
return null
},
setCookie:function(name, value){
document.cookie = name+"=" + value + ";path=/"
}
}
</script>
<script type="text/javascript">
var mygallery=new simpleGallery({
wrapperid: "simplegallery1", //ID of main gallery container,
dimensions: [710, 400], //width/height of gallery in pixels. Should reflect dimensions of the images exactly
imagearray: [
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMkBCENpuH43WWg2_IBe1Hly0n-ganMclOZDynH3UbOHzzJIJcLGKbrEUwvgqJrLyiUv0JRRltxphl_IJPHIbSu5Nqrg5cOOaGNlx9G9YuJ44kNqcx0pTNVIM8JThpcwRup0gzVZq96WPJ/s1600/pachapulai+esc10+sec12+a+paint.jpg", "https://picasaweb.google.com/103040874580540559184/STORYBOARDANIMACION#6241912607171190162", "_new", "pachapulai esc10 sec12 a"],
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqqm-CgZtFr9IKTIOVKVOer4MaP7DBUAlVZU8qMeU4_3KZmCP1AHhBooX4-fCdqlriBdClGtOIa20tLPrkzkysSBnAyV8oKMqERIc1HCHtWBk6nqWzTjqi-5af0IXuAghrZuBNNt7E1K9D/s1600/pachapulai+esc10+sec12+b+paint.jpg", "https://picasaweb.google.com/103040874580540559184/STORYBOARDANIMACION#6241913223145967538", "_new", "pachapulai esc10 sec12 b"],
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgQzQeJOFJJAYQqOhpTUZmc4ksopxXDgYelzr48HX-eYBJyiquBelYa2g7z-zdK8cJkms8LHgnYLSXqdrWMXun86HD4Gu4Zim4IqstJ2ANHzusExW0xJiNuE3BTFFfrcAIdEQ1aKZAhSvQ/s1600/pachapulai+esc10+sec12+c+paint.jpg", "https://picasaweb.google.com/103040874580540559184/STORYBOARDANIMACION#6241912818746371490", "_new", "pachapulai esc10 sec12 c"],
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGAkIGAM-hy0PD3C29n33GSzXLUwPkXyUeDWTJvAYoxuWakb4E2peNjt9nMNVR4swYSopJM-VhfTDnKh68RLyTuHWXr54mgn1sct4vWsEjbi8ScvqPMbuhIjbg0rUGQ5G5p6GlpJJodhnD/s1600/pachapulai+esc10+sec12+d+paint.jpg", "https://picasaweb.google.com/103040874580540559184/STORYBOARDANIMACION#6241913108345564978", "_new", "pachapulai esc10 sec12 d"],
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQzkuAO2V0EkYHv-qnsRswTQfeS630Tx1PyrFM7IIPIDSDTMqnnk2j6KpEg6ejM8-9dOS44-UaHuF2REzFDUF-yaZVoyrz2feXTxaBMRHq7j54btPCXAX8T_qtQ7Y8PG2sVQiLlqdNzyab/s1600/pachapulai+esc10+sec12+e+paint.jpg", "https://picasaweb.google.com/103040874580540559184/STORYBOARDANIMACION#6241913480202343314", "_new", "pachapulai esc10 sec12 e"],
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcY7aYfwu3DQtY4lo0BfDdJ_b8_skkxl9ueDr6yq5T2tYYt7pkrwtX9nwMfPRIGAXw3KZREvxim8XYcnIj5kMiMwJ2Gya22H1eatkSbCfVV3t90oxUXh8R-cNO-sIJf7DznV65gAmsZRNe/s1600/pachapulai+esc10+sec12+f+paint.jpg", "https://picasaweb.google.com/103040874580540559184/STORYBOARDANIMACION#6241913978474446258", "_new", "pachapulai esc10 sec12 f"],
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUZxfhm-w1QmSoml0uFJx4YbBQcPWUhbEFqOwyHhJ04NIZB2CqMOOZrXVQojScd7jKBmGeK5Bt-WF4OmffFn6Z-s6BcFmzQWId0AWzre3mVlctgiHUl-J1QuruCL9bXAJ3mczVAHNl3ARK/s1600/pachapulai+esc10+sec12+g+paint.jpg", "https://picasaweb.google.com/103040874580540559184/STORYBOARDANIMACION#6241913844750255202", "_new", "pachapulai esc10 sec12 g"],
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNNcnlR_rsii4UAPHCYLRXj3CiyUTnrhMJpXpVv7IQxteWxaTF-w5bTqvA8Bv57lmwQbF7vrd9Wp_m9x3shUgAT_1U6BOBZQXXa7Sn2RgEaNj3rd-ili-HIBEWQtpoHvHpomYW1SO_iSpg/s1600/pachapulai+esc10+sec12+h+paint.jpg", "https://picasaweb.google.com/103040874580540559184/STORYBOARDANIMACION#6241914194618190322", "_new", "pachapulai esc10 sec12 h"],
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZIwqv2nsZhOy6C-UfWG9LUUoLNkxqJQL9TbjjIUMAg8zHV9vmg5iu0iWDWoqQWSBnDotnu-BWFoQu_ipCUSHGlkVGnj4xez_SxfXLzyT00NnXZbSP-izwawT0-v2PwnsXLJ4OqYRBqMNj/s1600/story+pachpulai+cap13+sec1_1paint.jpg", "https://picasaweb.google.com/103040874580540559184/STORYBOARDANIMACION#6242324597406012162", "_new", "story pachpulai cap13 sec1_1 "],
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTw-uDbIqzocRd0uSxAZDAi7e8JuHhr1Th7W65Q-VbcJqMOulW2WoNke2IRGmsnD8DPTR2tTvHodYZ4CToXtA6OBIMvYvP4vVXSVhvneD07uVC4Fqwz4ThKqkZGvYFG20rOGr7cN6zN8Uw/s1600/story+pachpulai+cap13+sec1_2+paint.jpg", "https://picasaweb.google.com/103040874580540559184/STORYBOARDANIMACION#6242324846262173714", "_new", "story pachpulai cap13 sec1_2 "],
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjctv-bupf1dyJ7yUi5L1YWBXthZZtxvIrXklr3WA3fkR4Gzl-EIXOgSHLyhICmBUJl41eHjiN68ojPeFGzrMU2pAKBzqbqebA-J-0c0myQF6tukyPcE3wZogEm8c5P1WZ9NblM309lGUBs/s1600/story+pachpulai+cap13+sec1_3+paint.jpg", "https://picasaweb.google.com/103040874580540559184/STORYBOARDANIMACION#6242325025030549970", "_new", "story pachpulai cap13 sec1_3 "],
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtsa8P2NNlSZUz5HV_Z5vkw0fpHdGJgpsEOFUSs2z03sf1qx-IHUZ2Q-Uymz8qIteIpci-t8fhSHtKuC8stEZ8DjTDEtvjUEA8FBIR00MkN4k59TgHiRyFMET9Vr9BEcIOJ5oodOYoRSWj/s1600/story+pachpulai+cap13+sec1_4+paint.jpg", "https://picasaweb.google.com/103040874580540559184/STORYBOARDANIMACION#6242325190337997906", "_new", "story pachpulai cap13 sec1_4 "],
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQyAmiypdGpMRd5jUA-1CSWV_hIrAGzInxespz3W21U4qbWJQVtNynZb8xoSAQrREMWvmoJhasSic0qVEpgSlqUj0sl9oSIMZuBMnN2hAwIfUntb3vEahKSy4PRtpfRqTpcz_85VhHl5iH/s1600/story+pachpulai+cap13+sec1_5+paint.jpg", "https://picasaweb.google.com/103040874580540559184/STORYBOARDANIMACION#6242325365518401618", "_new", "story pachpulai cap13 sec1_5 "],
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhip1aa-Duae2SZv_PaXMCy4ozh4IQsXtS0ahaKysLz_56mOrCCi6aoqUZt9hpFFPlhIi9YkSBIM82lN10po7lcdVc0u4fFF65QpeRbvMo6E6-SOCwLyBWKcVAbpPmenlq3EXslBIeOxpTf/s1600/story+pachpulai+cap13+sec1_6+paint.jpg", "https://picasaweb.google.com/103040874580540559184/STORYBOARDANIMACION#6242325512698633730", "_new", "story pachpulai cap13 sec1_6"],
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjsXdlP_BpvAAOnae7pZgeokjKh8K-rpVhKljNvtSnqx-2BQ9oM9ba-gEDurmbCJJ3O7Wh-DTH0OGR8o0kwDeC9sgjEe_O5Y8pZH76xWkG_F-xi2w1M5Gbw0LNDg0GwX5bjTaHd5t0luYx/s1600/story+pachpulai+cap13+sec1_7+paint.jpg", "https://picasaweb.google.com/103040874580540559184/STORYBOARDANIMACION#6242325658887279090", "_new", "story pachpulai cap13 sec1_7 "],
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiNh_HdiFKhzfOqVWbhLafT0yw-7u_od9tnG6mVe_qWeOvf3oRfVFNdpyegR72xvUoOpqvyJwc_-XQo99zTj3Dse-UfXU7mcuqbPUQHYU0529vhF7PU62LXsXlgYX-cezEyVPUS8U3UiP5/s1600/story+pachpulai+cap13+sec1_8+paint.jpg", "https://picasaweb.google.com/103040874580540559184/STORYBOARDANIMACION#6242325819013912226", "_new", "story pachpulai cap13 sec1_8 "],
],
autoplay: [true, 3000, 20], //[auto_play_boolean, delay_btw_slide_millisec, cycles_before_stopping_int]
persist: false, //remember last viewed slide and recall within same session?
fadeduration: 500, //transition duration (milliseconds)
oninit:function(){ //event that fires when gallery has initialized/ ready to run
//Keyword "this": references current gallery instance (ie: try this.navigate("play/pause"))
},
onslide:function(curslide, i){ //event that fires after each slide is shown
//Keyword "this": references current gallery instance
//curslide: returns DOM reference to current slide's DIV (ie: try alert(curslide.innerHTML)
//i: integer reflecting current image within collection being shown (0=1st image, 1=2nd etc)
}
})
</script>
<div id="simplegallery1"></div>Marcia Verahttp://www.blogger.com/profile/03989137855348015975noreply@blogger.com0tag:blogger.com,1999:blog-8042024031548547987.post-35599062635544563692016-01-18T14:33:00.000-08:002016-01-18T15:07:34.020-08:00MUESTRAS STORYBOARD LINEAL <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>
<style type="text/css">
/*Make sure your page contains a valid doctype at the top*/
#simplegallery1{ //CSS for Simple Gallery Example 1
position: relative; /*keep this intact*/
visibility: hidden; /*keep this intact*/
border: 1px solid #666;
}
#simplegallery1 .gallerydesctext{ //CSS for description DIV of Example 1 (if defined)
text-align: left;
padding: 2px 5px;
font: 10px normal verdana, arial;
}
</style>
<script type="text/javascript" >
var simpleGallery_navpanel={
loadinggif: 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcjr4MuIJ63T6ZKVCg0RUO0kdGIWl5MXUWASJzcKyGBWx6DSUZkVsvpYoEiqDRjdxlDJonZnB9nhyoXxw8TlSTPo6oZbHT8aw7k_hvNzw5TpPQ3GMr2DdS6RXof8m7XA0HgqSwd28CpDM/s400/ajaxload.gif', //full path or URL to loading gif image
panel: {height:'45px', opacity:0.5, paddingTop:'5px', fontStyle:'bold 11px Verdana'}, //customize nav panel container
images: [ 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK_OfCxe_FJCN3cupdHdkkLIM02nPAu7eUmcGZUODb9UR9uSN82g9MOp9Sf9IEvmr_9X9IsGU5fLr4v9Uf9DfQUllmccYASdIXl_HSNBkuOl3h2UJl9utNtv-uYeRUfrBDpMJqIzYoRfw/s400/left.gif', 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh51KdkpmtYvdFnZG2hQqxx9tPs6XpWJ2Yo2t0mFYH9GDOdUjGfuA-I-VklZSMwBv4L31w9PWU9ToFRREsZ86s7idgQJIezUxAEGuNXDcVC2qwqHejInsPoMyd5X58oX-A5hBaDofPllg/s400/play.gif', 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYYk6oVUyKcpuhX0j_MIvsecx8LX6RCMqhexVOxxhIjkTr-NGCRK0u78gcQBElJYrZWFELfqpxUZy596SYXV802cwgyERvMCboxr7JRbGcKxZ5_bsJ9AO4Y0MuS5U8fyp8-49z4U5y1-8/s400/right.gif', 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHYdIVFKyJBdZhgFoazEA_jD3vqGoPhX2msO6WBp0hX71LjKHHPxGRx9B-A_eR4ZXWttEGaE0sqGLavw-ntYgzU-cVdYkMm9sGk4hLnFxPfkJfBgJqZHQqlNS5lMYDmoNso79CwkHdHXM/s400/pause.gif'], //nav panel images (in that order)
imageSpacing: {offsetTop:[-4, 0, -4], spacing:10}, //top offset of left, play, and right images, PLUS spacing between the 3 images
slideduration: 500 //duration of slide up animation to reveal panel
}
function simpleGallery(settingarg){
this.setting=settingarg
settingarg=null
var setting=this.setting
setting.panelheight=(parseInt(setting.navpanelheight)>5)? parseInt(setting.navpanelheight) : parseInt(simpleGallery_navpanel.panel.height)
setting.fadeduration=parseInt(setting.fadeduration)
setting.curimage=(setting.persist)? simpleGallery.routines.getCookie("gallery-"+setting.wrapperid) : 0
setting.curimage=setting.curimage || 0 //account for curimage being null if cookie is empty
setting.preloadfirst=(!jQuery.Deferred)? false : (typeof setting.preloadfirst!="undefined")? setting.preloadfirst : true //Boolean on whether to preload all images before showing gallery
setting.ispaused=!setting.autoplay[0] //ispaused reflects current state of gallery, autoplay[0] indicates whether gallery is set to auto play
setting.currentstep=0 //keep track of # of slides slideshow has gone through
setting.totalsteps=setting.imagearray.length*setting.autoplay[2] //Total steps limit: # of images x # of user specified cycles
setting.fglayer=0, setting.bglayer=1 //index of active and background layer (switches after each change of slide)
setting.oninit=setting.oninit || function(){}
setting.onslide=setting.onslide || function(){}
var preloadimages=[], longestdesc=null, loadedimages=0
var dfd = (setting.preloadfirst)? jQuery.Deferred() : {resolve:function(){}, done:function(f){f()}} //create real deferred object unless preloadfirst setting is false or browser doesn't support it
setting.longestdesc="" //get longest description of all slides. If no desciptions defined, variable contains ""
setting.$loadinggif=(function(){ //preload and ref ajax loading gif
var loadgif=new Image()
loadgif.src=simpleGallery_navpanel.loadinggif
return jQuery(loadgif).css({verticalAlign:'middle'}).wrap('<div style="position:absolute;text-align:center;width:100%;height:100%" />').parent()
})()
for (var i=0; i<setting.imagearray.length; i++){ //preload slideshow images
preloadimages[i]=new Image()
preloadimages[i].src=setting.imagearray[i][0]
if (setting.imagearray[i][3] && setting.imagearray[i][3].length>setting.longestdesc.length)
setting.longestdesc=setting.imagearray[i][3]
jQuery(preloadimages[i]).bind('load error', function(){
loadedimages++
if (loadedimages==setting.imagearray.length){
dfd.resolve() //indicate all images have been loaded
}
})
}
var slideshow=this
jQuery(document).ready(function($){
var setting=slideshow.setting
setting.$wrapperdiv=$('#'+setting.wrapperid).css({position:'relative', visibility:'visible', background:'black', overflow:'hidden', width:setting.dimensions[0], height:setting.dimensions[1]}).empty() //main gallery DIV
if (setting.$wrapperdiv.length==0){ //if no wrapper DIV found
alert("Error: DIV with ID \""+setting.wrapperid+"\" not found on page.")
return
}
setting.$gallerylayers=$('<div class="gallerylayer"></div><div class="gallerylayer"></div>') //two stacked DIVs to display the actual slide
.css({position:'absolute', left:0, top:0})
.appendTo(setting.$wrapperdiv)
setting.$loadinggif.css({top:setting.dimensions[1]/2-30}).appendTo(setting.$wrapperdiv) //30 is assumed height of ajax loading gif
setting.gallerylayers=setting.$gallerylayers.get() //cache stacked DIVs as DOM objects
setting.navbuttons=simpleGallery.routines.addnavpanel(setting) //get 4 nav buttons DIVs as DOM objects
if (setting.longestdesc!="") //if at least one slide contains a description (feature is enabled)
setting.descdiv=simpleGallery.routines.adddescpanel(setting)
$(setting.navbuttons).filter('img.navimages').css({opacity:0.8})
.bind('mouseover mouseout', function(e){
$(this).css({opacity:(e.type=="mouseover")? 1 : 0.8})
})
.bind('click', function(e){
var keyword=e.target.title.toLowerCase()
slideshow.navigate(keyword) //assign behavior to nav images
})
dfd.done(function(){ //execute when all images have loaded
setting.$loadinggif.remove()
setting.$wrapperdiv.bind('mouseenter', function(){slideshow.showhidenavpanel('show')})
setting.$wrapperdiv.bind('mouseleave', function(){slideshow.showhidenavpanel('hide')})
slideshow.showslide(setting.curimage) //show initial slide
setting.oninit.call(slideshow) //trigger oninit() event
$(window).bind('unload', function(){ //clean up and persist
$(slideshow.setting.navbuttons).unbind()
if (slideshow.setting.persist) //remember last shown image's index
simpleGallery.routines.setCookie("gallery-"+setting.wrapperid, setting.curimage)
jQuery.each(slideshow.setting, function(k){
if (slideshow.setting[k] instanceof Array){
for (var i=0; i<slideshow.setting[k].length; i++){
if (slideshow.setting[k][i].tagName=="DIV") //catches 2 gallerylayer divs, gallerystatus div
slideshow.setting[k][i].innerHTML=null
slideshow.setting[k][i]=null
}
}
if (slideshow.setting[k].innerHTML) //catch gallerydesctext div
slideshow.setting[k].innerHTML=null
slideshow.setting[k]=null
})
slideshow=slideshow.setting=null
})
}) //end deferred code
}) //end jQuery domload
}
simpleGallery.prototype={
navigate:function(keyword){
clearTimeout(this.setting.playtimer)
this.setting.totalsteps=100000 //if any of the nav buttons are clicked on, set totalsteps limit to an "unreachable" number
if (!isNaN(parseInt(keyword))){
this.showslide(parseInt(keyword))
}
else if (/(prev)|(next)/i.test(keyword)){
this.showslide(keyword.toLowerCase())
}
else{ //if play|pause button
var slideshow=this
var $playbutton=$(this.setting.navbuttons).eq(1)
if (!this.setting.ispaused){ //if pause Gallery
this.setting.autoplay[0]=false
$playbutton.attr({title:'Play', src:simpleGallery_navpanel.images[1]})
}
else if (this.setting.ispaused){ //if play Gallery
this.setting.autoplay[0]=true
this.setting.playtimer=setTimeout(function(){slideshow.showslide('next')}, this.setting.autoplay[1])
$playbutton.attr({title:'Pause', src:simpleGallery_navpanel.images[3]})
}
slideshow.setting.ispaused=!slideshow.setting.ispaused
}
},
showslide:function(keyword){
var slideshow=this
var setting=slideshow.setting
var totalimages=setting.imagearray.length
var imgindex=(keyword=="next")? (setting.curimage<totalimages-1? setting.curimage+1 : 0)
: (keyword=="prev")? (setting.curimage>0? setting.curimage-1 : totalimages-1)
: Math.min(keyword, totalimages-1)
setting.gallerylayers[setting.bglayer].innerHTML=simpleGallery.routines.getSlideHTML(setting.imagearray[imgindex])
setting.$gallerylayers.eq(setting.bglayer).css({zIndex:1000, opacity:0}) //background layer becomes foreground
.stop().css({opacity:0}).animate({opacity:1}, setting.fadeduration, function(){ //Callback function after fade animation is complete:
clearTimeout(setting.playtimer)
setting.gallerylayers[setting.bglayer].innerHTML=null //empty bglayer (previously fglayer before setting.fglayer=setting.bglayer was set below)
try{
setting.onslide.call(slideshow, setting.gallerylayers[setting.fglayer], setting.curimage)
}catch(e){
alert("Simple Controls Gallery: An error has occured somwhere in your code attached to the \"onslide\" event: "+e)
}
setting.currentstep+=1
if (setting.autoplay[0]){
if (setting.currentstep<=setting.totalsteps)
setting.playtimer=setTimeout(function(){slideshow.showslide('next')}, setting.autoplay[1])
else
slideshow.navigate("play/pause")
}
}) //end callback function
setting.gallerylayers[setting.fglayer].style.zIndex=999 //foreground layer becomes background
setting.fglayer=setting.bglayer
setting.bglayer=(setting.bglayer==0)? 1 : 0
setting.curimage=imgindex
setting.navbuttons[3].innerHTML=(setting.curimage+1) + '/' + setting.imagearray.length
if (setting.imagearray[imgindex][3]){ //if this slide contains a description
setting.$descpanel.css({visibility:'visible'})
setting.descdiv.innerHTML=setting.imagearray[imgindex][3]
}
else if (setting.longestdesc!=""){ //if at least one slide contains a description (feature is enabled)
setting.descdiv.innerHTML=null
setting.$descpanel.css({visibility:'hidden'})
}
},
showhidenavpanel:function(state){
var setting=this.setting
var endpoint=(state=="show")? setting.dimensions[1]-setting.panelheight : this.setting.dimensions[1]
setting.$navpanel.stop().animate({top:endpoint}, simpleGallery_navpanel.slideduration)
if (setting.longestdesc!="") //if at least one slide contains a description (feature is enabled)
this.showhidedescpanel(state)
},
showhidedescpanel:function(state){
var setting=this.setting
var endpoint=(state=="show")? 0 : -setting.descpanelheight
setting.$descpanel.stop().animate({top:endpoint}, simpleGallery_navpanel.slideduration)
}
}
simpleGallery.routines={
getSlideHTML:function(imgelement){
var layerHTML=(imgelement[1])? '<a href="'+imgelement[1]+'" target="'+imgelement[2]+'">\n' : '' //hyperlink slide?
layerHTML+='<img src="'+imgelement[0]+'" style="border-width:0" />'
layerHTML+=(imgelement[1])? '</a>' : ''
return layerHTML //return HTML for this layer
},
addnavpanel:function(setting){
var interfaceHTML=''
for (var i=0; i<3; i++){
var imgstyle='position:relative; border:0; cursor:hand; cursor:pointer; top:'+simpleGallery_navpanel.imageSpacing.offsetTop[i]+'px; margin-right:'+(i!=2? simpleGallery_navpanel.imageSpacing.spacing+'px' : 0)
var title=(i==0? 'Prev' : (i==1)? (setting.ispaused? 'Play' : 'Pause') : 'Next')
var imagesrc=(i==1)? simpleGallery_navpanel.images[(setting.ispaused)? 1 : 3] : simpleGallery_navpanel.images[i]
interfaceHTML+='<img class="navimages" title="' + title + '" src="'+ imagesrc +'" style="'+imgstyle+'" /> '
}
interfaceHTML+='<div class="gallerystatus" style="margin-top:1px">' + (setting.curimage+1) + '/' + setting.imagearray.length + '</div>'
setting.$navpanel=$('<div class="navpanellayer"></div>')
.css({position:'absolute', width:'100%', height:setting.panelheight, left:0, top:setting.dimensions[1], font:simpleGallery_navpanel.panel.fontStyle, zIndex:'1001'})
.appendTo(setting.$wrapperdiv)
$('<div class="navpanelbg"></div><div class="navpanelfg"></div>') //create inner nav panel DIVs
.css({position:'absolute', left:0, top:0, width:'100%', height:'100%'})
.eq(0).css({background:'black', opacity:simpleGallery_navpanel.panel.opacity}).end() //"navpanelbg" div
.eq(1).css({paddingTop:simpleGallery_navpanel.panel.paddingTop, textAlign:'center', color:'white'}).html(interfaceHTML).end() //"navpanelfg" div
.appendTo(setting.$navpanel)
return setting.$navpanel.find('img.navimages, div.gallerystatus').get() //return 4 nav related images and DIVs as DOM objects
},
adddescpanel:function(setting){
setting.$descpanel=$('<div class="gallerydesc"><div class="gallerydescbg"></div><div class="gallerydescfg"><div class="gallerydesctext"></div></div></div>')
.css({position:'absolute', width:'100%', left:0, top:-1000, zIndex:'1001'})
.find('div').css({position:'absolute', left:0, top:0, width:'100%'})
.eq(0).css({background:'black', opacity:simpleGallery_navpanel.panel.opacity}).end() //"gallerydescbg" div
.eq(1).css({color:'white'}).end() //"gallerydescfg" div
.eq(2).html(setting.longestdesc).end().end()
.appendTo(setting.$wrapperdiv)
var $gallerydesctext=setting.$descpanel.find('div.gallerydesctext')
setting.descpanelheight=$gallerydesctext.outerHeight()
setting.$descpanel.css({top:-setting.descpanelheight, height:setting.descpanelheight}).find('div').css({height:'100%'})
return setting.$descpanel.find('div.gallerydesctext').get(0) //return gallery description DIV as a DOM object
},
getCookie:function(Name){
var re=new RegExp(Name+"=[^;]+", "i"); //construct RE to search for target name/value pair
if (document.cookie.match(re)) //if cookie found
return document.cookie.match(re)[0].split("=")[1] //return its value
return null
},
setCookie:function(name, value){
document.cookie = name+"=" + value + ";path=/"
}
}
</script>
<script type="text/javascript">
var mygallery=new simpleGallery({
wrapperid: "simplegallery1", //ID of main gallery container,
dimensions: [710, 400], //width/height of gallery in pixels. Should reflect dimensions of the images exactly
imagearray: [
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCB781SBlMneNzaE38OaiPh6-xKKEygdh3RLMshJ3EXIekTGICfjGjZf5IdvJSXE1s6QbMMPNtb0wbx5zHbVM_FawL77M1lmN0HMS1CtKzLNSWJdz-bKDJ-38wfWibKCH5WeF67XAC67hp/s1600/story+jumbo+huevitos+1+paint.jpg", "#", "_new", "griego1"],
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqj8KebGC7J0P4M7MDgCa_LO6IhWqdsl_wa98hjjoEyohQnS91kS-DqeKQFyKM1zzWXN4MXObkU83s1F0O0Q1bGOa-MBYdI5sf_IXf4uZ30fmQl25wkC5T37Rj6YxjfBxBH-hpIQ6vPvAJ/s1600/story+jumbo+huevitos2.png", "#", "_new", "griego2 "],
["PONER URL DE LA IMAGEN 3", "#", "_new", "LA DESCRIPCION "],
],
autoplay: [true, 3000, 20], //[auto_play_boolean, delay_btw_slide_millisec, cycles_before_stopping_int]
persist: false, //remember last viewed slide and recall within same session?
fadeduration: 500, //transition duration (milliseconds)
oninit:function(){ //event that fires when gallery has initialized/ ready to run
//Keyword "this": references current gallery instance (ie: try this.navigate("play/pause"))
},
onslide:function(curslide, i){ //event that fires after each slide is shown
//Keyword "this": references current gallery instance
//curslide: returns DOM reference to current slide's DIV (ie: try alert(curslide.innerHTML)
//i: integer reflecting current image within collection being shown (0=1st image, 1=2nd etc)
}
})
</script>
<div id="simplegallery1"></div>
Marcia Verahttp://www.blogger.com/profile/03989137855348015975noreply@blogger.com0tag:blogger.com,1999:blog-8042024031548547987.post-73652889132201062162016-01-09T05:48:00.002-08:002016-01-12T11:02:54.478-08:00MUESTRAS STORYBOARD COLOR<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>
<style type="text/css">
/*Make sure your page contains a valid doctype at the top*/
#simplegallery1{ //CSS for Simple Gallery Example 1
position: relative; /*keep this intact*/
visibility: hidden; /*keep this intact*/
border: 1px solid #666;
}
#simplegallery1 .gallerydesctext{ //CSS for description DIV of Example 1 (if defined)
text-align: left;
padding: 2px 5px;
font: 10px normal verdana, arial;
}
</style>
<script type="text/javascript" >
var simpleGallery_navpanel={
loadinggif: 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcjr4MuIJ63T6ZKVCg0RUO0kdGIWl5MXUWASJzcKyGBWx6DSUZkVsvpYoEiqDRjdxlDJonZnB9nhyoXxw8TlSTPo6oZbHT8aw7k_hvNzw5TpPQ3GMr2DdS6RXof8m7XA0HgqSwd28CpDM/s400/ajaxload.gif', //full path or URL to loading gif image
panel: {height:'45px', opacity:0.5, paddingTop:'5px', fontStyle:'bold 11px Verdana'}, //customize nav panel container
images: [ 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK_OfCxe_FJCN3cupdHdkkLIM02nPAu7eUmcGZUODb9UR9uSN82g9MOp9Sf9IEvmr_9X9IsGU5fLr4v9Uf9DfQUllmccYASdIXl_HSNBkuOl3h2UJl9utNtv-uYeRUfrBDpMJqIzYoRfw/s400/left.gif', 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh51KdkpmtYvdFnZG2hQqxx9tPs6XpWJ2Yo2t0mFYH9GDOdUjGfuA-I-VklZSMwBv4L31w9PWU9ToFRREsZ86s7idgQJIezUxAEGuNXDcVC2qwqHejInsPoMyd5X58oX-A5hBaDofPllg/s400/play.gif', 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYYk6oVUyKcpuhX0j_MIvsecx8LX6RCMqhexVOxxhIjkTr-NGCRK0u78gcQBElJYrZWFELfqpxUZy596SYXV802cwgyERvMCboxr7JRbGcKxZ5_bsJ9AO4Y0MuS5U8fyp8-49z4U5y1-8/s400/right.gif', 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHYdIVFKyJBdZhgFoazEA_jD3vqGoPhX2msO6WBp0hX71LjKHHPxGRx9B-A_eR4ZXWttEGaE0sqGLavw-ntYgzU-cVdYkMm9sGk4hLnFxPfkJfBgJqZHQqlNS5lMYDmoNso79CwkHdHXM/s400/pause.gif'], //nav panel images (in that order)
imageSpacing: {offsetTop:[-4, 0, -4], spacing:10}, //top offset of left, play, and right images, PLUS spacing between the 3 images
slideduration: 500 //duration of slide up animation to reveal panel
}
function simpleGallery(settingarg){
this.setting=settingarg
settingarg=null
var setting=this.setting
setting.panelheight=(parseInt(setting.navpanelheight)>5)? parseInt(setting.navpanelheight) : parseInt(simpleGallery_navpanel.panel.height)
setting.fadeduration=parseInt(setting.fadeduration)
setting.curimage=(setting.persist)? simpleGallery.routines.getCookie("gallery-"+setting.wrapperid) : 0
setting.curimage=setting.curimage || 0 //account for curimage being null if cookie is empty
setting.preloadfirst=(!jQuery.Deferred)? false : (typeof setting.preloadfirst!="undefined")? setting.preloadfirst : true //Boolean on whether to preload all images before showing gallery
setting.ispaused=!setting.autoplay[0] //ispaused reflects current state of gallery, autoplay[0] indicates whether gallery is set to auto play
setting.currentstep=0 //keep track of # of slides slideshow has gone through
setting.totalsteps=setting.imagearray.length*setting.autoplay[2] //Total steps limit: # of images x # of user specified cycles
setting.fglayer=0, setting.bglayer=1 //index of active and background layer (switches after each change of slide)
setting.oninit=setting.oninit || function(){}
setting.onslide=setting.onslide || function(){}
var preloadimages=[], longestdesc=null, loadedimages=0
var dfd = (setting.preloadfirst)? jQuery.Deferred() : {resolve:function(){}, done:function(f){f()}} //create real deferred object unless preloadfirst setting is false or browser doesn't support it
setting.longestdesc="" //get longest description of all slides. If no desciptions defined, variable contains ""
setting.$loadinggif=(function(){ //preload and ref ajax loading gif
var loadgif=new Image()
loadgif.src=simpleGallery_navpanel.loadinggif
return jQuery(loadgif).css({verticalAlign:'middle'}).wrap('<div style="position:absolute;text-align:center;width:100%;height:100%" />').parent()
})()
for (var i=0; i<setting.imagearray.length; i++){ //preload slideshow images
preloadimages[i]=new Image()
preloadimages[i].src=setting.imagearray[i][0]
if (setting.imagearray[i][3] && setting.imagearray[i][3].length>setting.longestdesc.length)
setting.longestdesc=setting.imagearray[i][3]
jQuery(preloadimages[i]).bind('load error', function(){
loadedimages++
if (loadedimages==setting.imagearray.length){
dfd.resolve() //indicate all images have been loaded
}
})
}
var slideshow=this
jQuery(document).ready(function($){
var setting=slideshow.setting
setting.$wrapperdiv=$('#'+setting.wrapperid).css({position:'relative', visibility:'visible', background:'black', overflow:'hidden', width:setting.dimensions[0], height:setting.dimensions[1]}).empty() //main gallery DIV
if (setting.$wrapperdiv.length==0){ //if no wrapper DIV found
alert("Error: DIV with ID \""+setting.wrapperid+"\" not found on page.")
return
}
setting.$gallerylayers=$('<div class="gallerylayer"></div><div class="gallerylayer"></div>') //two stacked DIVs to display the actual slide
.css({position:'absolute', left:0, top:0})
.appendTo(setting.$wrapperdiv)
setting.$loadinggif.css({top:setting.dimensions[1]/2-30}).appendTo(setting.$wrapperdiv) //30 is assumed height of ajax loading gif
setting.gallerylayers=setting.$gallerylayers.get() //cache stacked DIVs as DOM objects
setting.navbuttons=simpleGallery.routines.addnavpanel(setting) //get 4 nav buttons DIVs as DOM objects
if (setting.longestdesc!="") //if at least one slide contains a description (feature is enabled)
setting.descdiv=simpleGallery.routines.adddescpanel(setting)
$(setting.navbuttons).filter('img.navimages').css({opacity:0.8})
.bind('mouseover mouseout', function(e){
$(this).css({opacity:(e.type=="mouseover")? 1 : 0.8})
})
.bind('click', function(e){
var keyword=e.target.title.toLowerCase()
slideshow.navigate(keyword) //assign behavior to nav images
})
dfd.done(function(){ //execute when all images have loaded
setting.$loadinggif.remove()
setting.$wrapperdiv.bind('mouseenter', function(){slideshow.showhidenavpanel('show')})
setting.$wrapperdiv.bind('mouseleave', function(){slideshow.showhidenavpanel('hide')})
slideshow.showslide(setting.curimage) //show initial slide
setting.oninit.call(slideshow) //trigger oninit() event
$(window).bind('unload', function(){ //clean up and persist
$(slideshow.setting.navbuttons).unbind()
if (slideshow.setting.persist) //remember last shown image's index
simpleGallery.routines.setCookie("gallery-"+setting.wrapperid, setting.curimage)
jQuery.each(slideshow.setting, function(k){
if (slideshow.setting[k] instanceof Array){
for (var i=0; i<slideshow.setting[k].length; i++){
if (slideshow.setting[k][i].tagName=="DIV") //catches 2 gallerylayer divs, gallerystatus div
slideshow.setting[k][i].innerHTML=null
slideshow.setting[k][i]=null
}
}
if (slideshow.setting[k].innerHTML) //catch gallerydesctext div
slideshow.setting[k].innerHTML=null
slideshow.setting[k]=null
})
slideshow=slideshow.setting=null
})
}) //end deferred code
}) //end jQuery domload
}
simpleGallery.prototype={
navigate:function(keyword){
clearTimeout(this.setting.playtimer)
this.setting.totalsteps=100000 //if any of the nav buttons are clicked on, set totalsteps limit to an "unreachable" number
if (!isNaN(parseInt(keyword))){
this.showslide(parseInt(keyword))
}
else if (/(prev)|(next)/i.test(keyword)){
this.showslide(keyword.toLowerCase())
}
else{ //if play|pause button
var slideshow=this
var $playbutton=$(this.setting.navbuttons).eq(1)
if (!this.setting.ispaused){ //if pause Gallery
this.setting.autoplay[0]=false
$playbutton.attr({title:'Play', src:simpleGallery_navpanel.images[1]})
}
else if (this.setting.ispaused){ //if play Gallery
this.setting.autoplay[0]=true
this.setting.playtimer=setTimeout(function(){slideshow.showslide('next')}, this.setting.autoplay[1])
$playbutton.attr({title:'Pause', src:simpleGallery_navpanel.images[3]})
}
slideshow.setting.ispaused=!slideshow.setting.ispaused
}
},
showslide:function(keyword){
var slideshow=this
var setting=slideshow.setting
var totalimages=setting.imagearray.length
var imgindex=(keyword=="next")? (setting.curimage<totalimages-1? setting.curimage+1 : 0)
: (keyword=="prev")? (setting.curimage>0? setting.curimage-1 : totalimages-1)
: Math.min(keyword, totalimages-1)
setting.gallerylayers[setting.bglayer].innerHTML=simpleGallery.routines.getSlideHTML(setting.imagearray[imgindex])
setting.$gallerylayers.eq(setting.bglayer).css({zIndex:1000, opacity:0}) //background layer becomes foreground
.stop().css({opacity:0}).animate({opacity:1}, setting.fadeduration, function(){ //Callback function after fade animation is complete:
clearTimeout(setting.playtimer)
setting.gallerylayers[setting.bglayer].innerHTML=null //empty bglayer (previously fglayer before setting.fglayer=setting.bglayer was set below)
try{
setting.onslide.call(slideshow, setting.gallerylayers[setting.fglayer], setting.curimage)
}catch(e){
alert("Simple Controls Gallery: An error has occured somwhere in your code attached to the \"onslide\" event: "+e)
}
setting.currentstep+=1
if (setting.autoplay[0]){
if (setting.currentstep<=setting.totalsteps)
setting.playtimer=setTimeout(function(){slideshow.showslide('next')}, setting.autoplay[1])
else
slideshow.navigate("play/pause")
}
}) //end callback function
setting.gallerylayers[setting.fglayer].style.zIndex=999 //foreground layer becomes background
setting.fglayer=setting.bglayer
setting.bglayer=(setting.bglayer==0)? 1 : 0
setting.curimage=imgindex
setting.navbuttons[3].innerHTML=(setting.curimage+1) + '/' + setting.imagearray.length
if (setting.imagearray[imgindex][3]){ //if this slide contains a description
setting.$descpanel.css({visibility:'visible'})
setting.descdiv.innerHTML=setting.imagearray[imgindex][3]
}
else if (setting.longestdesc!=""){ //if at least one slide contains a description (feature is enabled)
setting.descdiv.innerHTML=null
setting.$descpanel.css({visibility:'hidden'})
}
},
showhidenavpanel:function(state){
var setting=this.setting
var endpoint=(state=="show")? setting.dimensions[1]-setting.panelheight : this.setting.dimensions[1]
setting.$navpanel.stop().animate({top:endpoint}, simpleGallery_navpanel.slideduration)
if (setting.longestdesc!="") //if at least one slide contains a description (feature is enabled)
this.showhidedescpanel(state)
},
showhidedescpanel:function(state){
var setting=this.setting
var endpoint=(state=="show")? 0 : -setting.descpanelheight
setting.$descpanel.stop().animate({top:endpoint}, simpleGallery_navpanel.slideduration)
}
}
simpleGallery.routines={
getSlideHTML:function(imgelement){
var layerHTML=(imgelement[1])? '<a href="'+imgelement[1]+'" target="'+imgelement[2]+'">\n' : '' //hyperlink slide?
layerHTML+='<img src="'+imgelement[0]+'" style="border-width:0" />'
layerHTML+=(imgelement[1])? '</a>' : ''
return layerHTML //return HTML for this layer
},
addnavpanel:function(setting){
var interfaceHTML=''
for (var i=0; i<3; i++){
var imgstyle='position:relative; border:0; cursor:hand; cursor:pointer; top:'+simpleGallery_navpanel.imageSpacing.offsetTop[i]+'px; margin-right:'+(i!=2? simpleGallery_navpanel.imageSpacing.spacing+'px' : 0)
var title=(i==0? 'Prev' : (i==1)? (setting.ispaused? 'Play' : 'Pause') : 'Next')
var imagesrc=(i==1)? simpleGallery_navpanel.images[(setting.ispaused)? 1 : 3] : simpleGallery_navpanel.images[i]
interfaceHTML+='<img class="navimages" title="' + title + '" src="'+ imagesrc +'" style="'+imgstyle+'" /> '
}
interfaceHTML+='<div class="gallerystatus" style="margin-top:1px">' + (setting.curimage+1) + '/' + setting.imagearray.length + '</div>'
setting.$navpanel=$('<div class="navpanellayer"></div>')
.css({position:'absolute', width:'100%', height:setting.panelheight, left:0, top:setting.dimensions[1], font:simpleGallery_navpanel.panel.fontStyle, zIndex:'1001'})
.appendTo(setting.$wrapperdiv)
$('<div class="navpanelbg"></div><div class="navpanelfg"></div>') //create inner nav panel DIVs
.css({position:'absolute', left:0, top:0, width:'100%', height:'100%'})
.eq(0).css({background:'black', opacity:simpleGallery_navpanel.panel.opacity}).end() //"navpanelbg" div
.eq(1).css({paddingTop:simpleGallery_navpanel.panel.paddingTop, textAlign:'center', color:'white'}).html(interfaceHTML).end() //"navpanelfg" div
.appendTo(setting.$navpanel)
return setting.$navpanel.find('img.navimages, div.gallerystatus').get() //return 4 nav related images and DIVs as DOM objects
},
adddescpanel:function(setting){
setting.$descpanel=$('<div class="gallerydesc"><div class="gallerydescbg"></div><div class="gallerydescfg"><div class="gallerydesctext"></div></div></div>')
.css({position:'absolute', width:'100%', left:0, top:-1000, zIndex:'1001'})
.find('div').css({position:'absolute', left:0, top:0, width:'100%'})
.eq(0).css({background:'black', opacity:simpleGallery_navpanel.panel.opacity}).end() //"gallerydescbg" div
.eq(1).css({color:'white'}).end() //"gallerydescfg" div
.eq(2).html(setting.longestdesc).end().end()
.appendTo(setting.$wrapperdiv)
var $gallerydesctext=setting.$descpanel.find('div.gallerydesctext')
setting.descpanelheight=$gallerydesctext.outerHeight()
setting.$descpanel.css({top:-setting.descpanelheight, height:setting.descpanelheight}).find('div').css({height:'100%'})
return setting.$descpanel.find('div.gallerydesctext').get(0) //return gallery description DIV as a DOM object
},
getCookie:function(Name){
var re=new RegExp(Name+"=[^;]+", "i"); //construct RE to search for target name/value pair
if (document.cookie.match(re)) //if cookie found
return document.cookie.match(re)[0].split("=")[1] //return its value
return null
},
setCookie:function(name, value){
document.cookie = name+"=" + value + ";path=/"
}
}
</script>
<script type="text/javascript">
var mygallery=new simpleGallery({
wrapperid: "simplegallery1", //ID of main gallery container,
dimensions: [700, 410], //width/height of gallery in pixels. Should reflect dimensions of the images exactly
imagearray: [
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDwfgw6OZ7r-oHAzf-zezQF9OONBV_DgwO_tmScNiswg0kiMztfUcTZZqbws4L5ycZs1_gAMJ1buykn0Gb8HqZfOIAkSwHqrrFZU_sYIBQFQLiav9VRK2sz1s0O6ALB1naa04R9dPnJzIy/s1600/story_griego1.png", "https://picasaweb.google.com/103040874580540559184/STORYBOARDCOLOR#6238948123788823522", "_new", "comercial griego1"],
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizrQOFbYFRCghSMgCyXd8MI3_rDJSIoZNh0NJ0SVdoi11Ot77JgRVZL0K9rjnpeOIKqycBmmI3pDQEdKUfrZXXoXAKZ73GBIcV6RpKVKcs1t14zS273ohvQc_LrCEV_JMfaw6ERUOnohLo/s1600/story_griego2.png", "https://picasaweb.google.com/103040874580540559184/STORYBOARDCOLOR#6238948686087053314", "_new", "comercial griego2 "],
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-hHwkH2hCDzW2DCEr_BoyiGMoJ46oiTQx4xPXYHJVCNisycuHCP1yYuPtt0btrQZR2M-gtVPvINUzfqUdfZFIGwjz70WZF_5_wWFB0gWPcxkb7fmKIyuV81eY7WuK6TtCg1sL7c1F72tx/s1600/story_griego3.png", "https://picasaweb.google.com/103040874580540559184/STORYBOARDCOLOR#6238948162632347666", "_new", "comercial griego3 "],
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3QtSf5cd3r45j7WEgAfKcXFfUDIyc5ih_-1tyEuzV4lIACyekCi_xpaTgKhqIWrfosKv-DXFjoz8PayeiYe3BieWqhoyKdibn4pKEN_lePcMmf5oQywJUfXH_mtDbXDvZSfQMtaCy7fia/s1600/story_griego4.png", "https://picasaweb.google.com/103040874580540559184/STORYBOARDCOLOR#6238948714792533634", "_new", "comercial griego4 "],
["https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr6_aBj-wzhWW6H_3gV4hPDIeKzwQYqkgdV-p0bZsjx8rGxPCC2Nl983Qxz2gHzGHG1Zj4U1ylUxDdEoTlIjBRwW3sRphPDA0g8XSBwnPwYZGvUoRhj9skswNbo7D19TYMxCJfaBBeewyg/s1600/story_griego+visionario.png", "https://picasaweb.google.com/103040874580540559184/STORYBOARDCOLOR#6238952433993784082", "_new", "comercial griego visionario"],
["PONER URL DE LA IMAGEN 6", "#", "_new", "LA DESCRIPCION "],
],
autoplay: [true, 4000, 20], //[auto_play_boolean, delay_btw_slide_millisec, cycles_before_stopping_int]
persist: false, //remember last viewed slide and recall within same session?
fadeduration: 500, //transition duration (milliseconds)
oninit:function(){ //event that fires when gallery has initialized/ ready to run
//Keyword "this": references current gallery instance (ie: try this.navigate("play/pause"))
},
onslide:function(curslide, i){ //event that fires after each slide is shown
//Keyword "this": references current gallery instance
//curslide: returns DOM reference to current slide's DIV (ie: try alert(curslide.innerHTML)
//i: integer reflecting current image within collection being shown (0=1st image, 1=2nd etc)
}
})
</script>
<div id="simplegallery1"></div>
<b><b></b></b>Marcia Verahttp://www.blogger.com/profile/03989137855348015975noreply@blogger.com0