
(function($){$.fn.extend({putCarousel:function(options){var settings={};var id_counter=0;var objAddData={}
var arrItemsForEvent=[];var responseMessage="Error loading carousel , please check the CMS url.";if(!options)var options={};var defaults={url_server:"admin/gallery.php",catid:'',preset:'',event_onInit:null,event_onLoad:null,event_onItemClick:null,event_onItemMouseOver:null,event_onItemMouseOut:null,event_onFrontItemChange:null};var final_options={};$.extend(final_options,defaults,options);var cssUrl=final_options["url_server"]+"?action=getcss";if(final_options.preset)
cssUrl+="&preset="+final_options.preset;loadCssFile(cssUrl);this.each(function(){var t=this;$(t).html("");$(document).ready(function(){var reqData={};if(final_options.catid)
reqData.catid=final_options.catid;if(final_options.preset)
reqData.preset=final_options.preset;$.ajax({url:final_options["url_server"],global:false,type:"POST",data:reqData,dataType:"html",async:true,success:function(response){var objResponse=eval("("+response+")");if(!objResponse.success||objResponse.success!=true){var message="";if(objResponse.message)
message=objResponse.message;errorOutput(t,message);return(false);}
settings=objResponse.settings;id_counter++;var car_id="gallery_carousel_"+id_counter;var html=generateCarouselHtml(objResponse.items,car_id);$(t).html(html);setButtonsEvents(car_id);startCarousel(t,car_id);},error:function(){errorOutput(t);}})});});function setButtonEvents(prefix){$(prefix+id_counter).mouseover(function(){$(this).hide();$("#"+this.id+"_over").show();});$(prefix+id_counter+"_over").mouseout(function(){$(this).hide();$("#"+this.id.replace("_over","")).show();});}
function setButtonsEvents(){if(settings.button_type!="disabled"&&settings.buttons_mouseover=="true"){setButtonEvents("#carousel_left_but_");setButtonEvents("#carousel_right_but_");}}
function startCarousel(container,carouselID){var container_caption=null;var container_desc=null;if(settings.enable_caption=="true")
container_caption=$("#carousel_caption_"+id_counter);if(settings.enable_desc=="true")
container_desc=$("#carousel_desc_"+id_counter);var left_button=null;var right_button=null;var left_button_alt=null;var right_button_alt=null;if(settings.button_type!="disabled"){if(settings.buttons_mouseover=="true"){left_button="#carousel_left_but_"+id_counter+"_over";right_button="#carousel_right_but_"+id_counter+"_over";left_button_alt="#carousel_left_but_"+id_counter;right_button_alt="#carousel_right_but_"+id_counter;}
else{left_button="#carousel_left_but_"+id_counter;right_button="#carousel_right_but_"+id_counter;}}
$("#"+carouselID).CloudCarousel({xPos:Number(settings.xpos),yPos:Number(settings.ypos),reflOpacity:Number(settings.reflection_opacity),reflHeight:Number(settings.reflection_height),reflGap:Number(settings.reflection_gap),yRadius:Number(settings.y_radius),xRadius:Number(settings.x_radius),minScale:Number(settings.min_scale),speed:Number(settings.speed),mouseWheel:false,FPS:Number(settings.fps),autoRotate:settings.auto_rotate,autoRotateDelay:Number(settings.auto_rotate_delay),bringToFront:eval(settings.bring_to_front),buttonLeft:left_button,buttonRight:right_button,buttonLeft_alt:left_button_alt,buttonRight_alt:right_button_alt,altBox:container_desc,titleBox:container_caption,textShowFrontSpeed:Number(settings.text_back_to_front_delay),setOpacityByScale:eval(settings.set_opacity_by_scale),setTextOnMouseOver:eval(settings.text_set_on_mouseover),buttonsAppearFadeIn:eval(settings.buttons_appear_fadein),linksFrontOnly:eval(settings.link_front_only),func_generateImageUrl:generateImageUrl,url_server:final_options["url_server"],objAddData:objAddData,event_onImagesLoaded:onImagesLoaded,enableLinks:eval(settings.enable_links),reverseControls:eval(settings.button_reverse_dir),event_onItemClick:final_options.event_onItemClick,event_onItemMouseOver:final_options.event_onItemMouseOver,event_onItemMouseOut:final_options.event_onItemMouseOut,event_onFrontItemChange:final_options.event_onFrontItemChange});}
function onImagesLoaded(arrItems,objCarousel){var container=$("#gallery_carousel_"+id_counter).get(0);if(typeof final_options.event_onLoad=="function")
final_options.event_onLoad(container,arrItems,objCarousel);removePreloader();}
function removePreloader(){if(settings.preloader_type!="disabled"){var preloader=$('#carousel_preloader_'+id_counter);if(settings.preloader_fadeout=="true")
preloader.fadeOut(Number(settings.preloader_fadeout_speed),function(){$(this).remove()});else
preloader.remove();}}
function errorOutput(container,message){var outputMessage;if(message)
outputMessage=message;else
outputMessage=responseMessage;var html="<span style='color:#DD290D;'>"+outputMessage+"</span>"
$(container).html(html);}
function loadCssFile(url){var fileref=document.createElement("link");fileref.setAttribute("rel","stylesheet");fileref.setAttribute("type","text/css");fileref.setAttribute("href",url);document.getElementsByTagName("head")[0].appendChild(fileref);}
function generateDownloadUrl(base,filename){var url=base+"?action=download&img="+filename;return(url);}
function generateImageUrl(base,filename,width,height,exact){var url=base+"?img="+filename;if(width&&width>0)url+="&w="+width;if(height&&height>0)url+="&h="+height;if(exact==true)url+="&t=exact";return(url);}
function generateItemHtml(item){var title=item.title;var description=item.description;if(title==null)
title="";else
title=title.replace(/"/g,'\'');if(description==null)
description="";else
description=description.replace(/"/g,'\'');var filename=item.filename;var link=item.link;if(link=="")link=null;var html="";var imageUrl=generateImageUrl(final_options.url_server,filename,settings.image_width,settings.image_height,eval(settings.images_exact));objAddData[String(item.id)]={filename:filename};if(typeof final_options.event_onInit=="function"){arrItemsForEvent.push({id:item.id,title:title,description:description,link:link,filename:filename});}
if(link!=null){var target="";if(settings.link_open_type=="new")target="_blank";html+='<a class="cloudcarousel_link" target="'+target+'" href="'+link+'"><img id="carousel_image_'+item.id+'" style="opacity:0;filter:alpha(opacity=0)" class="cloudcarousel" src="'+imageUrl+'" alt="'+description+'" title="'+title+'"/></a>';}
else
html+='<img id="carousel_image_'+item.id+'" class="cloudcarousel" style="opacity:0;filter:alpha(opacity=0)" src="'+imageUrl+'" alt="'+description+'" title="'+title+'" />';return(html);}
function getHtmlHeader(carouselID){var html="";html+='<table cellpadding="0" cellspacing="0"><tr><td>';html+='<div class="carousel_wrapper" id="'+carouselID+'" style="width:'+settings.carousel_width+'px;height:'+settings.carousel_height+'px;';if(settings.carousel_enable_background=="true")
html+='background-color:'+settings.caruosel_bgcolor+";";html+='">';return(html);}
function getHtmlFooter(){var html='</div></table></tr></td>';return(html);}
function generateEmptyGalleryHtml(carouselID){var html=getHtmlHeader(carouselID);if(settings.enable_emptytext=="true"){var textPosY=Math.floor(settings.carousel_height/2-20);html+="<div class='empty_gallery_text' style='text-align:center;padding-top:"+textPosY+"'>Empty gallery!!!</div>";}
html+=getHtmlFooter();return(html);}
function generateCarouselHtml(objItems,carouselID){if(objItems.length==0)return(generateEmptyGalleryHtml(objItems,carouselID));var html="";html=getHtmlHeader(carouselID);for(var i=0;i<objItems.length;i++){html+=generateItemHtml(objItems[i]);}
if(typeof final_options.event_onInit=="function")
final_options.event_onInit(arrItemsForEvent);if(settings.preloader_type!="disabled"){var preloaderY=Math.floor((settings.carousel_height/2)-40+Number(settings.preloader_posy_tuning));html+='<div class="carousel_preloader" align="center" style="position:absolute;top:'+preloaderY+'px;left:0px;width:'+settings.carousel_width+'px;" id="carousel_preloader_'+id_counter+'">';if(settings.preloader_type=="default")
html+='<img src="'+settings.images_admin_url+'loader.gif"></img>';else
html+='<img src="'+settings.preloader_image+'"></img>';html+='</div>';}
if(settings.enable_caption=="true"){switch(settings.text_caption_alignx){case"center":html+="<div class='carousel_caption' id='carousel_caption_"+id_counter+"' style='position:absolute;text-align:center;width:"+settings.carousel_width+"px;left:0px;top:"+settings.text_caption_ypos+"px;'></div>";break;case"left":html+="<div class='carousel_caption' id='carousel_caption_"+id_counter+"' style='position:absolute;left:"+settings.text_caption_xpos+"px;top:"+settings.text_caption_ypos+"px;'></div>";break;case"right":var textWidth=Number(settings.carousel_width)-Number(settings.text_caption_xpos);html+="<div class='carousel_caption' id='carousel_caption_"+id_counter+"' style='position:absolute;text-align:right;width:"+textWidth+"px;top:"+settings.text_caption_ypos+"px;'></div>";break;}}
if(settings.enable_desc=="true"){switch(settings.text_desc_alignx){case"center":html+="<div class='carousel_description' id='carousel_desc_"+id_counter+"' style='position:absolute;text-align:center;width:"+settings.carousel_width+"px;left:0px;top:"+settings.text_desc_ypos+"px;'></div>";break;case"left":html+="<div class='carousel_description' id='carousel_desc_"+id_counter+"' style='position:absolute;left:"+settings.text_desc_xpos+"px;top:"+settings.text_desc_ypos+"px;'></div>";break;case"right":var textWidth=Number(settings.carousel_width)-Number(settings.text_desc_xpos);html+="<div class='carousel_description' id='carousel_desc_"+id_counter+"' style='position:absolute;text-align:right;width:"+textWidth+"px;top:"+settings.text_desc_ypos+"px;'></div>";break;}}
if(settings.button_type!="disabled"){if(settings.buttons_images_default=="true"){html+="<img style='display:none' class='carousel_left_button' src='"+settings.images_admin_url+"button_left.png' id='carousel_left_but_"+id_counter+"' alt='left'>";html+="<img style='display:none' class='carousel_right_button' src='"+settings.images_admin_url+"button_right.png' id='carousel_right_but_"+id_counter+"' alt='right'>";if(settings.buttons_mouseover=="true"){html+="<img style='display:none' class='carousel_left_button_over' src='"+settings.images_admin_url+"button_left_over.png' style='display:none;' id='carousel_left_but_"+id_counter+"_over' alt='left'>";html+="<img style='display:none' class='carousel_right_button_over' src='"+settings.images_admin_url+"button_right_over.png' style='display:none;' id='carousel_right_but_"+id_counter+"_over' alt='left'>";}}
else{html+="<img style='display:none' class='carousel_left_button' src='"+settings.button_left_url+"' id='carousel_left_but_"+id_counter+"' alt='left'>";html+="<img style='display:none' class='carousel_right_button' src='"+settings.button_right_url+"' id='carousel_right_but_"+id_counter+"' alt='right'>";if(settings.buttons_mouseover=="true"){html+="<img style='display:none' class='carousel_left_button_over' src='"+settings.button_left_over_url+"' style='display:none;' id='carousel_left_but_"+id_counter+"_over' alt='left'>";html+="<img style='display:none' class='carousel_right_button_over' src='"+settings.button_right_over_url+"' style='display:none;' id='carousel_right_but_"+id_counter+"_over' alt='right'>";}}}
html+=getHtmlFooter();return(html);}
return(this);}});})(jQuery);
