/**
 * Nivo Slider with CMS
 * This plugin is a helper plugin for the Nivo Slider jQuery plugin: ver.2.5.1 http://nivo.dev7studios.com/
 * @author: MediaCM - http://www.mediacm.com
 * @version: 1.1
 * @date: March 25 2011
 * @category: jQuery plugin
 * @copyright (c) 2011 MediaCM Group
 */

(function($){$.fn.extend({putSlider:function(options){var settings={};var id_counter=0;var objAddData={}
var arrItemsForEvent=[];var responseMessage="Error loading slider , please check the CMS url.";var g_htmlDesc="";if(!options)var options={};var defaults={url_server:"admin/gallery.php",catid:'',preset:'',event_beforeChange:function(){},event_afterChange:function(){},event_slideshowEnd:function(){},event_lastSlide:function(){},event_afterLoad:function(){}};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 html=generateSliderHtml(objResponse.items);$(t).html(html);if(objResponse.items.length>0)
startSlider(t);},error:function(){errorOutput(t);}})});});function startSlider(container){var sliderID=getSliderID();var enable_bullets=(settings.bullets_type!="disabled")?true:false;var enable_thumbs=(settings.bullets_type=="thumbs")?true:false;$("#"+sliderID).nivoSlider({effect:settings.effect,slices:Number(settings.num_slices),animSpeed:Number(settings.anim_speed),pauseTime:Number(settings.delay_time),startSlide:Number(settings.start_slide),directionNav:eval(settings.direction_arrows),directionNavHide:!eval(settings.direction_always_on),controlNav:enable_bullets,controlNavThumbs:enable_thumbs,controlNavThumbsFromRel:enable_thumbs,keyboardNav:eval(settings.enable_keyboard),pauseOnHover:eval(settings.pause_onover),manualAdvance:false,captionOpacity:Number(settings.caption_opacity),beforeChange:final_options.event_beforeChange,afterChange:final_options.event_afterChange,slideshowEnd:final_options.event_slideshowEnd,lastSlide:final_options.event_lastSlide,afterLoad:final_options.event_afterLoad});}
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="";if(description==null)
description="";var filename=item.filename;var link=item.link;var id=item.id;if(link=="")link=null;filename=escape(filename);var imageTitle="";if(settings.enable_caption=="true"&&description!=""){g_htmlDesc+="<div id='desc_"+id+"' class='nivo-html-caption' style='display:none;'>"+description+"</div>";imageTitle=" title='#desc_"+id+"'";}
var imageUrl=generateImageUrl(final_options.url_server,filename,settings.slider_width,settings.slider_height,true);var imageRel="";if(settings.bullets_type=="thumbs"){var imageThumb=generateImageUrl(final_options.url_server,filename,50,50,true);imageRel="rel='"+imageThumb+"'";}
objAddData[String(item.id)]={filename:filename};var html='<img src="'+imageUrl+'" alt="" '+imageRel+' '+imageTitle+' />';if(settings.enable_links=="true"&&link!=null){var target="";if(settings.link_open_type=="new")target="_blank";html='<a target="'+target+'" href="'+link+'">'+html+'</a>';}
return(html);}
function getSliderID(){var sliderID="nivo_slider_"+id_counter;return(sliderID);}
function getHtmlHeader(){var sliderID=getSliderID();var html="";html+='<div id="'+sliderID+'" style="width:'+settings.slider_width+'px;height:'+settings.slider_height+'px;">';return(html);}
function getHtmlFooter(){var html='</div>';return(html);}
function generateEmptyGalleryHtml(){var html=getHtmlHeader();if(settings.enable_emptytext=="true"){var textPosY=Math.floor(settings.slider_height/2-20);html+="<div class='"+settings.emptytext_class+"' style='text-align:center;padding-top:"+textPosY+"'>"+settings.emptytext_text+"</div>";}
html+=getHtmlFooter();return(html);}
function generateSliderHtml(objItems){if(objItems.length==0)return(generateEmptyGalleryHtml(objItems));var html="";html=getHtmlHeader();for(var i=0;i<objItems.length;i++)
html+=generateItemHtml(objItems[i]);html+=getHtmlFooter();html+=g_htmlDesc;return(html);}
return(this);}});})(jQuery);
