var NcmMediaAlbum = $jq.createNcmClass({
      fields: {
         id: null,               /*Id of component*/
         simplefields:{},         /*Simple fields*/
         eventsLgetOneItemAisteners: {},      /*Events listeners of the component*/
         eventsListenersAdv: {},      /*Events listeners of the component*/
         triggers: {},            /*Triggers id's (who affects me)*/
         triggersMap: [],         /*Triggers map*/
         items: {},               /*Items of Media library*/
         itemsMap: [],            /*Relates index and id of item*/
         lastLoadedPage: null,      /*Current batch*/
         totalPages: 0,            /*Total of batches*/
         first: null,            /*Index of first visible item*/
         totalItems: null,         /*Number of items*/
         selectedIndex: null,      /*Selected index*/
         thumbnail: "",            /*Name of thumbnail field*/
         object: "",               /*Name of object field*/
         download: "",            /*Name of download field*/
         dsType: -1,               /*Data source type*/
         descrFields: [],         /*Description fields*/    
         descrThumbFields: [],  /*Description thumbnail fields*/
         lightBoxInited: false,  /*Is LightBox plugin initialized*/
         requestParams: [],         /*Request parameters*/
         scrollable: null,       /*Scrollable object*/
         autoPagerId: null,           /*Id of timer for auto-pager*/
         slideshowId: null,
         itpp: 4                  /*Items per page*/
      },
      prototype: {
         initComponent: function(jsonData) {
            this.itpp = ncm.intval(this.simplefields["NUMROWS"])?ncm.intval(this.simplefields["NUMROWS"]):4;
            this.initializeRequestParams();
            this.initAlbum(jsonData);
            this.initLiveEvents();
            this.initPagerEvents();
         },
       
         initLiveEvents: function(){
            var Me = this;
            if(!this.simplefields["NO_SCROLLABLE"]){
               this.initScrollable();
            }
            if(!this.simplefields["DETAILSPAGE"]){
             $jq(ncm.concat(this.getNavigationSelector()," li a.thumb_holder")).attr("href",this.getNavigationSelector()).liveLinkEvents(function(){
              var index = ncm.intval($jq(this).parent().attr("id").replace(new RegExp(ncm.concat("scrollitem_",Me.id,"_"),"ig"),""));
              if (Me.simplefields["POPUP_VIEWER"]){
                      centerDiv( ncm.concat("#viewer-info-holder-",Me.id), 422, 300 );      
                   $jq( ncm.concat("#viewer-info-holder-",Me.id) ).show();
              }
              if(Me.selectedIndex!==index){
                  Me.selectedIndex = index;
                  Me.createPreviewForIndex(Me.selectedIndex,true);
                  if(!Me.simplefields["NO_SCROLLABLE"]){
                     if(index+Me.itpp<Me.totalItems && !Me.itemsMap[index+Me.itpp]){
                      Me.getItemsBatch(function(json){
                       Me.lastLoadedPage = json.currentPage;
                       Me.addItemsBatch(json);
                       Me.drawItems(json.currentPage*Me.itpp,(json.currentPage+1)*Me.itpp-1);
                      },true,Me.getLoteNumber(index+Me.itpp));
                     }
                     if(index-Me.itpp>0 && !Me.itemsMap[index-Me.itpp]){
                      Me.getItemsBatch(function(json){
                       Me.lastLoadedPage = json.currentPage;
                       Me.addItemsBatch(json);
                       Me.drawItems(json.currentPage*Me.itpp,(json.currentPage+1)*Me.itpp-1);
                      },true,Me.getLoteNumber(index-Me.itpp));
                     }
                  }  
              }
              return false;
             });
            }
            $jq(ncm.concat("#slider-holder-",this.id," a.previous")).liveLinkEvents(function(){
               if(/*Me.scrollable && */Me.selectedIndex>0){
                  //Me.scrollable.click(Me.selectedIndex-1);
                  $jq(ncm.concat(Me.getNavigationSelector()," li#scrollitem_",Me.id,"_",(Me.selectedIndex-1)," a")).click();
               }
               return false;
            });
            $jq(ncm.concat("#slider-holder-",this.id," a.next")).liveLinkEvents(function(){
               if(/*Me.scrollable && */Me.selectedIndex<Me.totalItems-1){
                  //Me.scrollable.click(Me.selectedIndex+1);
                  $jq(ncm.concat(Me.getNavigationSelector()," li#scrollitem_",Me.id,"_",(Me.selectedIndex+1)," a")).click();
               }
               return false;
            });
            $jq(ncm.concat(this.getAlbumSelector()," #navnext",this.id)).liveLinkEvents(function(){          
                if(Me.scrollable){             
                  Me.scrollable.next();          
                }
            });
            $jq(ncm.concat(this.getAlbumSelector()," #viewernavprev",this.id)).liveLinkEvents(function(){
               //if(Me.scrollable){
                     var nextIndex = Me.selectedIndex-1<0?Me.totalItems-1:Me.selectedIndex-1;
                  //Me.scrollable.click(nextIndex);
                  $jq(ncm.concat(Me.getNavigationSelector()," li#scrollitem_",Me.id,"_",nextIndex," a")).click();
               //}
            });
            $jq(ncm.concat(this.getAlbumSelector()," #viewernavnext",this.id)).liveLinkEvents(function(){
               //if(Me.scrollable){
                     var nextIndex = Me.selectedIndex+1>Me.totalItems-1?0:Me.selectedIndex+1;
                  //Me.scrollable.click(nextIndex);
                  $jq(ncm.concat(Me.getNavigationSelector()," li#scrollitem_",Me.id,"_",nextIndex," a")).click();
               //}
            });
            if(this.simplefields["SLIDESHOW"]){
             var Me = this;
             $jq(this.getAlbumSelector()).mouseover(function(){
                Me.stopslideshow();
             }).mouseout(function(){
                Me.slideshow();
             });
          }
         },
       
         initScrollable: function(){
            var Me = this;
            var options = window[ncm.concat("options_scrollable_",Me.id)]?window[ncm.concat("options_scrollable_",Me.id)]:{};
            $jq.extend(options,{
               onBeforeSeek: function(event,index){
                  if(!Me.itemsMap[index]){
                     Me.getItemsBatch(function(json){
                        Me.lastLoadedPage = json.currentPage;
                        Me.addItemsBatch(json);
                        Me.drawItems(json.currentPage*Me.itpp,(json.currentPage+1)*Me.itpp-1);
                     },true,Me.getLoteNumber(index));
                  }
                  if(!Me.itemsMap[index+Me.itpp-1]){
                     Me.getItemsBatch(function(json){
                        Me.lastLoadedPage = json.currentPage;
                        Me.addItemsBatch(json);
                        Me.drawItems(json.currentPage*Me.itpp,(json.currentPage+1)*Me.itpp-1);
                     },true,Me.getLoteNumber(index+Me.itpp-1));
                  }
               },
               onSeek: function(event,index){
                  Me.first = index;
                  if(this.getPageIndex()>0 && !Me.itemsMap[(this.getPageIndex()-1)*Me.itpp]){
                     Me.getItemsBatch(function(json1){
                        Me.lastLoadedPage = json1.currentPage;
                        Me.addItemsBatch(json1);
                        Me.drawItems(json1.currentPage*Me.itpp,(json1.currentPage+1)*Me.itpp-1);
                     },true,this.getPageIndex()-1);
                  }
                  if(this.getPageIndex()<Me.totalPages-1 && !Me.itemsMap[(this.getPageIndex()+1)*Me.itpp]){
                     Me.getItemsBatch(function(json1){
                        Me.lastLoadedPage = json1.currentPage;
                        Me.addItemsBatch(json1);
                        Me.drawItems(json1.currentPage*Me.itpp,(json1.currentPage+1)*Me.itpp-1);
                     },true,this.getPageIndex()+1);
                  }
                  if(!Me.itemsMap[this.getPageIndex()*Me.itpp]){
                     Me.getItemsBatch(function(json1){
                        Me.lastLoadedPage = json1.currentPage;
                        Me.addItemsBatch(json1);
                        Me.drawItems(json1.currentPage*Me.itpp,(json1.currentPage+1)*Me.itpp-1);
                     },true,this.getPageIndex());
                  }
                  if(Me.selectedIndex!==this.getClickIndex()){
                     Me.selectedIndex = this.getClickIndex();
                     Me.createPreviewForIndex(Me.selectedIndex);
                  } else if(Me.selectedIndex<index && Me.simplefields["SELECTED_VISIBLE"]===1){
                     Me.selectedIndex = index;
                     Me.createPreviewForIndex(Me.selectedIndex);
                  } else if(Me.selectedIndex>(index+Me.itpp-1) && Me.simplefields["SELECTED_VISIBLE"]===1){
                     Me.selectedIndex = index+Me.itpp-1;
                     Me.createPreviewForIndex(Me.selectedIndex);
                  }
                  if(this.getPageIndex()!==ncm.intval(Me.getRequestParam(ncm.concat(Me.getPrefix(),"page")))){
                     Me.setRequestParam(ncm.concat(Me.getPrefix(),"page"),ncm.concat("",this.getPageIndex()));
                     Me.reloadPager();
                  }
               }
            });
            /*this.scrollable = $jq(this.getNavigationSelector()).scrollable(options).mousewheel({api:true,speed:100});*/
            this.scrollable = $jq(this.getNavigationSelector()).scrollable(options);
            if(this.selectedIndex>=this.itpp){
               this.scrollable.seekTo(this.selectedIndex);
            }
         },
       
         initPagerEvents: function(){
          if(this.simplefields["SHOW_PAGER"]){
           ncm.setPagerEvents(this,this.getAlbumSelector());
          }
          /*Initialize events for auto-pager*/
               if(this.simplefields["AUTO_PAGER"]){
                  var Me = this;
                  $jq(this.getAlbumSelector()).mouseover(function(){
                     Me.stopAutoPager();
                  }).mouseout(function(){
                     Me.autoPager();
                  });
               }
         },
       
         initAlbum: function(jsonData) {
            var Me = this;
            var m_initBatches = function(json){
               if(json){
                  Me.lastLoadedPage = json.currentPage;
                  Me.totalPages = json.totalPages;
                  Me.totalItems = json.totalItems;
                  Me.items = {};
                  Me.itemsMap = [];
                  for(var z=0;z<Me.totalItems;z+=1){
                     Me.itemsMap.push(null);
                  }
                  var srchObj = ncm.getParametersFromUrlAsObject();
                  Me.selectedIndex = Me.getRequestParam(ncm.concat(Me.getPrefix(),"selectedIndex"))?ncm.intval(Me.getRequestParam(ncm.concat(Me.getPrefix(),"selectedIndex"))):(srchObj[ncm.concat(Me.getPrefix(),"selectedIndex")]?ncm.intval(srchObj[ncm.concat(Me.getPrefix(),"selectedIndex")]):0);
                  Me.first = Me.itpp*Me.lastLoadedPage;
                  Me.thumbnail = json.thumbnail;
                  Me.object = json.object;
                  Me.download = json.download;
                  Me.dsType = json.dsType;
                  Me.descrFields = json.descrFields;
                  Me.descrThumbFields = json.descrThumbFields;
                  if(Me.simplefields["SHOW_SLIDER"]){
                     var m_correctMargin = function(ev,ui){
                        var w1 = $jq(Me.getSliderSelector()).width();
                        var w2 = $jq(ncm.concat(Me.getSliderSelector()," .ui-slider-handle")).width();
                        var m0 = ncm.intval(NcmMediaAlbum.getProperty("slider_handler_margin"));
                        var m = -(w2+2*m0)/w1*$jq(ui.handle).position().left+m0;
                        $jq(ui.handle).css("margin-left",m+"px");
                     };
                     $jq(Me.getSliderSelector()).slider({
                        min: 0,
                        max: Me.totalItems-1,
                        range: "min",
                        step: 1,
                        value: Me.selectedIndex,
                        change: function(ev,ui){
                           var diff = ui.value - Me.selectedIndex;
                           if(diff!==0){
                              if(Me.scrollable){
                                 //Me.scrollable.click(ui.value);
                                 $jq(ncm.concat(Me.getNavigationSelector()," li#scrollitem_",Me.id,"_",ui.value," a")).click();
                              }
                           }
                           m_correctMargin(ev,ui);
                        },
                        slide: function(ev,ui){
                           m_correctMargin(ev,ui);
                        }
                     });
                  }    
               }
            };
            var m_drawFirstBatch = function(json){
               var html = [];
               if(json && json["items"]){
                  var m_selindex = Me.selectedIndex;
                  var m_selpage = ncm.intval(Me.getRequestParam(ncm.concat(Me.getPrefix(),"page")));
                  if(m_selindex===0 && m_selpage>0){
                     m_selindex = m_selpage*Me.itpp;
                     Me.selectedIndex = m_selindex;
                  }
                  var m_selpos = m_selindex%Me.itpp;
                  var m_startindex = m_selindex - m_selpos;
                  var m_lote = m_startindex/Me.itpp;
                  html.push("<ul class=\"navigation\">");
                  for(var ii=0;ii<m_startindex;ii+=1){
                     html.push(ncm.concat("<li id=\"scrollitem_",Me.id,"_",ii,"\">&nbsp;<\/li>"));
                  }
                  $jq.each(json.items,function(index,val){
                     html.push(ncm.concat("<li id=\"scrollitem_",Me.id,"_",(index+m_startindex),"\">",Me.getOneItemA(this,index===m_selpos,m_lote,m_startindex),"<\/li>"));
                  });
                  for(var ii=m_startindex+json["items"].length;ii<Me.totalItems;ii+=1){
                     html.push(ncm.concat("<li id=\"scrollitem_",Me.id,"_",ii,"\">&nbsp;<\/li>"));
                  }
                  html.push("<\/ul>");
                  $jq(Me.getNavigationSelector()).html(html.join("")).show();
                  $jq(Me.getPrevSelector()).attr("class","nav-prev-disabled");
                  $jq(Me.getNextSelector()).attr("class",function(){
                     var isDisabled = json.items.length===Me.totalItems;
                     return ncm.concat("nav-next",isDisabled?"-disabled":"");
                  });
                  Me.createPreviewForIndex(m_selindex);
               } else {
                  $jq(Me.getNavigationSelector()).html("").hide();
                  Me.createPreviewForIndex(0);
               }
            };
            if(jsonData) {
               m_initBatches(jsonData);
               this.addItemsBatch(jsonData);
               if(this.itemsMap[this.selectedIndex]){
                  if(this.dsType===ncm.DS_TYPE_GDATA_YOUTUBE){
                     this.getPreviewHTML(this.items[this.itemsMap[this.selectedIndex]]);
                  }
                  this.createDownloadLink(this.itemsMap[this.selectedIndex]);
               }
               if(!this.simplefields["NO_SCROLLABLE"]){
                  if(this.lastLoadedPage>0){
                     this.getItemsBatch(function(json1){
                        Me.lastLoadedPage = json1.currentPage;
                        Me.addItemsBatch(json1);
                        Me.drawItems(json1.currentPage*Me.itpp,(json1.currentPage+1)*Me.itpp-1);
                     },true,this.lastLoadedPage-1);
                  }
                  if(this.lastLoadedPage<this.totalPages-1){
                     this.getItemsBatch(function(json1){
                        Me.lastLoadedPage = json1.currentPage;
                        Me.addItemsBatch(json1);
                        Me.drawItems(json1.currentPage*Me.itpp,(json1.currentPage+1)*Me.itpp-1);
                     },true,this.lastLoadedPage+1);
                  }
               }  
            } else {
               this.getItemsBatch(function(json){
                  m_initBatches(json);
                  Me.addItemsBatch(json);
                  m_drawFirstBatch(json);
               });    
            }
            //Initialize the events listeners
            ncm.bindCustomEvent(ncm.customEvents["ncmValueChange"],this.getAlbumSelector(),this,"reload");
         },
       
         initLightbox: function(){
            if(this.dsType===ncm.DS_TYPE_GDATA_YOUTUBE) return;
            if(this.lightBoxInited) return;
            $jq(ncm.concat("a.lightbox",this.id),this.getAlbumSelector()).lightBox(window["options_lightbox"]);
            this.lightBoxInited = true;
         },

         addItemsBatch: function(json) {
            var Me = this;
            if(json && json["items"]) {
               $jq.each(json.items,function(index,val){
                  Me.items[ncm.concat("item_",Me.id,"_",this.PROID)] = this;
                  Me.itemsMap[json.currentPage*Me.itpp+index]= ncm.concat("item_",Me.id,"_",this.PROID);
               });
            }
         },
       
         getRequiredPageNum: function(){
            var res = 0;
            var p = this.getRequestParam(ncm.concat(this.getPrefix(),"needLote"));
            if(p || p==="0"){
               res = ncm.intval(p);
            } else {
               var pi = this.getRequestParam(ncm.concat(this.getPrefix(),"selectedIndex"));
               if(pi){
                  res = this.getLoteNumber(ncm.intval(pi));
               } else {
                  if(this.lastLoadedPage!=null){
                     res = this.lastLoadedPage+1;
                  }    
               }
            }
            return (res>this.totalPages-1)?this.totalPages-1:(res<0?0:res);
         },
       
         getItemsBatch: function(callback,sync,pageNum){
            var jspfile = ncm.concat("components/albums/ncmalbum/ncmmediaalbum_",this.id,".jsp");
            var params = ncm.serializeJSONToObject(this["requestParams"]);
            var m_obj = {
               page: (pageNum || pageNum===0)?pageNum:this.getRequiredPageNum(),
               isDetails: this.isDetails()
            };
            m_obj[ncm.concat(this.getPrefix(),"page")] = m_obj["page"];
            $jq.extend(params,m_obj);
            $jq.ajax({
               async: !sync,
             type: "POST",
             url: jspfile,
             data: $jq.param(params),
              dataType: "json",
             error: function(request,msg,ex) {
                  ncm.showError(msg,ex,request,NcmMediaAlbum.inPreview,NcmMediaAlbum.jsp_utils);
             },
             success: function(json) {
                  if(callback && $jq.isFunction(callback)) {
                     callback(json);
                  }
             }
            });
         },
       
         drawItems: function(from,to){
            var Me = this;
            for(var i=from;i<=to;i+=1){
               var m_html = this.getOneItemA(this.items[this.itemsMap[i]],false,this.getLoteNumber(i),from);
               $jq(ncm.concat("#scrollitem_",Me.id,"_",i)).html(m_html);
            }
         },
       
         getOneItemA: function(jsonItem,selected,lotenum,from){
          var html = "";
          if(jsonItem && this.thumbnail){
           var thumbUrl = "";
           var thumbUrlZoom = "";
           var descr = [];
           var imageOptions=""; 
           if ( this.simplefields["THUMB_CROP"] ){        
              imageOptions=ncm.concat("&size=",this.simplefields["IMAGE_WIDTH"],"&crop=true");
           } else {
              if ( this.simplefields["THUMB_MODEL"]===0 ){
                 /* width parameter */
                 imageOptions=ncm.concat("&sizeX=",this.simplefields["IMAGE_WIDTH"],"&crop=false");
              }         
              if ( this.simplefields["THUMB_MODEL"]===1 ){
                 /* width and height parameter */
                 imageOptions=ncm.concat("&sizeX=",this.simplefields["IMAGE_WIDTH"],"&sizeY=",this.simplefields["IMAGE_HEIGHT"],"&crop=false");
              }         
              if ( this.simplefields["THUMB_MODEL"]===2 ){
                 /* height parameter */
                 imageOptions=ncm.concat("&sizeY=",this.simplefields["IMAGE_HEIGHT"],"&crop=false");
              }
           }
           if(this.descrThumbFields.length>0){
               $jq.each(this.descrThumbFields,function(ind,val){
                descr.push(jsonItem[val]);
               });
           }
           if(!jsonItem[this.thumbnail]["defThumbnail"]){
              /*thumbUrl = ncm.concat(NcmMediaAlbum.getProperty("jsp_getimage"),"?filename=",ncm.getPublishPath(),jsonItem[this.thumbnail]["thumbnail"],this.simplefields["THUMB_CROP"]?ncm.concat("&size=",this.simplefields["IMAGE_WIDTH"],"&crop=true"):(this.simplefields["THUMB_MODEL"]===0?ncm.concat("&sizeX=",this.simplefields["IMAGE_WIDTH"]):ncm.concat("&sizeX=",this.simplefields["IMAGE_WIDTH"],"&sizeY=",this.simplefields["IMAGE_HEIGHT"])),"&hq=true",this.simplefields["THUMB_BLUR"]>0?ncm.concat("&blur=",this.simplefields["THUMB_BLUR"]):"");*/
              thumbUrl = ncm.concat(NcmMediaAlbum.getProperty("jsp_getimage"),"?filename=",ncm.getPublishPath(),jsonItem[this.thumbnail]["thumbnail"],imageOptions,"&hq=true",this.simplefields["THUMB_BLUR"]>0?ncm.concat("&blur=",this.simplefields["THUMB_BLUR"]):"");
              thumbUrlZoom = ncm.concat(NcmMediaAlbum.getProperty("jsp_getimage"),"?filename=",ncm.getPublishPath(),jsonItem[this.thumbnail]["thumbnail"],"&crop=false&sizeX=800&hq=true",this.simplefields["THUMB_BLUR"]>0?ncm.concat("&blur=",this.simplefields["THUMB_BLUR"]):"");
           } else {
               thumbUrl = jsonItem[this.thumbnail]["thumbnail"];
           }
           /*html = ncm.concat("<a href=\"",this.simplefields["DETAILSPAGE"]?ncm.concat(this.simplefields["DETAILSPAGE"],"?",this.getPrefix(),"step=3","&",this.getPrefix(),"PROID=",jsonItem.PROID,"&",this.getPrefix(),"currentPage",this.id,"=",lotenum,"&",this.getPrefix(),"first",this.id,"=",from,"&refPage=",NcmMediaAlbum.pageUrl,"&refObj=",this.id):this.getNavigationSelector(),"\" title=\"\">","<img src=\"",thumbUrl,"\" alt=\"",jsonItem[this.thumbnail]["alt"],"\" title=\"",jsonItem[this.thumbnail]["title"],"\" id=\"item_",this.id,"_",jsonItem.PROID,"\" \/>",this.descrThumbFields.length>0?ncm.concat("<div style=\"width:",this.simplefields["IMAGE_WIDTH"],"px;\" class=\"",NcmMediaAlbum.getProperty("class_thumb_title"),"\"><span>",descr.join(" "),"<\/span><\/div>"):"","<\/a>");*/
           /*html = ncm.concat("<a href=\"",this.simplefields["DETAILSPAGE"]?ncm.concat(this.simplefields["DETAILSPAGE"],"?",this.getPrefix(),"step=3","&",this.getPrefix(),"PROID=",jsonItem.PROID,"&",this.getPrefix(),"currentPage",this.id,"=",lotenum,"&",this.getPrefix(),"first",this.id,"=",from,"&refPage=",NcmMediaAlbum.pageUrl,"&refObj=",this.id):this.getNavigationSelector(),"\"title=\"\">","<img src=\"",thumbUrl,"\" alt=\"",jsonItem[this.thumbnail]["alt"],"\" title=\"",jsonItem[this.thumbnail]["title"],"\" id=\"item_",this.id,"_",jsonItem.PROID,"\" \/>","<\/a>",this.descrThumbFields.length>0?ncm.concat("<div style=\"width:",this.simplefields["IMAGE_WIDTH"],"px;\" class=\"",NcmMediaAlbum.getProperty("class_thumb_title"),"\"><span>",descr.join(" "),"<\/span><\/div>"):"");*/

           var thumblink = undefined;

           if ( this.simplefields["SHOW_ZOOM_THUMB"] ){
             thumblink = "<div class='solartys-link rounded-corners' ><div class='top' ><div class='left'></div><div class='center' ></div><div class='right' ></div></div><div class='middle'><a href='"+thumbUrlZoom+"' class='lightbox"+this.id+"' title='Ampliar'>Ampliar</a></div><div class='bottom' ><div class='left'></div><div class='center' ></div><div class='right' ></div></div></div>";
           }           
 
           html = ncm.concat("<a class='thumb_holder' href=\"",this.simplefields["DETAILSPAGE"]?ncm.concat(this.simplefields["DETAILSPAGE"],"?",this.getPrefix(),"step=3","&",this.getPrefix(),"PROID=",jsonItem.PROID,"&",this.getPrefix(),"currentPage",this.id,"=",lotenum,"&",this.getPrefix(),"first",this.id,"=",from,"&refPage=",NcmMediaAlbum.pageUrl,"&refObj=",this.id):this.getNavigationSelector(),"\"title=\"\">","<img src=\"",thumbUrl,"\" alt=\"",jsonItem[this.thumbnail]["alt"],"\" title=\"",jsonItem[this.thumbnail]["title"],"\" id=\"item_",this.id,"_",jsonItem.PROID,"\" \/>","<\/a>",this.descrThumbFields.length>0?ncm.concat("<div style=\"width:",this.simplefields["IMAGE_WIDTH"],"px;\" class=\"",NcmMediaAlbum.getProperty("class_thumb_title"),"\"><span>",descr.join(" "),"<\/span>",thumblink,"<\/div>"):"");
          }
          return html;
         },
       
         getOneItemLi: function(jsonItem,selected,lotenum,from){
            var html = this.getOneItemA(jsonItem,selected,lotenum,from);
            if(html){
               html = ncm.concat("<li",(selected?" class=\"item-selected\"":""),">",html,"<\/li>");
            }
            return html;
         },
       
         getPreviewHTML: function(jsonItem) {
            if(jsonItem && this.object) {
               var jqViewer = $jq(this.getViewerSelector());
               var w = null;
               var h = null;
             if(window["jso"+this.id]){
              if(window["jso"+this.id][ncm.SIMPLE_FIELDS_JSO].length>0){
                 $jq.each(window["jso"+this.id][ncm.SIMPLE_FIELDS_JSO],function(ind,val){
                    if(this.name==="VIEWER_WIDTH"){
                       w = ncm.intval(this.value);
                    }       
                    if(this.name==="VIEWER_HEIGHT"){
                       h = ncm.intval(this.value);
                    }                
                 });
              }
             }
             if(this.dsType===ncm.DS_TYPE_GDATA_YOUTUBE){
                  this.embedYouTubeVideo(jsonItem,w,h);
               } else {
                  if(jsonItem[this.object]["isComplex"]){
                     try {
                        jqViewer.html(jsonItem[this.object]["value"]);
                     } catch(mErr){}
                     if(jsonItem["type"]==="VIDEO" || jsonItem["type"]==="AUDIO"){
                        try {
                           var player = $jq("a",this.getViewerSelector()).flowplayer(0);
                           player.unload();
                        } catch(mErr){}
                     }
                     if(jsonItem["type"]==="VIDEO" || jsonItem["type"]==="AUDIO"){
                        if(!window["flowplayer"]){
                           $jq("head").append(jsonItem[this.object]["head"]);
                        }
                     }
                     if(jsonItem["type"]==="FLASH"){
                        if(!window["swfobject"]){
                           $jq("head").append(jsonItem[this.object]["head"]);
                        }
                     }
                     eval(jsonItem[this.object]["onload"]);


                  } else {
                     var Me = this;
                     jqViewer.fadeTo("slow",0.3,function(){
                        var m_img = new Image();
                        var proportions="";
                        var viewer_model = Me.simplefields["VIEWER_RESIZE_MODEL"];
                        /*var m_url = ncm.concat(NcmMediaAlbum.getProperty("jsp_getimage"),"?filename=",ncm.getPublishPath(),jsonItem[Me.object]["object"],Me.simplefields["THUMB_CROP"]?ncm.concat("&size=",Me.simplefields["VIEWER_WIDTH"],"&crop=true"):(Me.simplefields["VIEWER_RESIZE_MODEL"]===0?ncm.concat("&sizeX=",Me.simplefields["VIEWER_WIDTH"]):ncm.concat("&sizeX=",Me.simplefields["VIEWER_WIDTH"],"&sizeY=",Me.simplefields["VIEWER_HEIGHT"])),"&hq=true",Me.simplefields["THUMB_BLUR"]>0?ncm.concat("&blur=",Me.simplefields["THUMB_BLUR"]):"");*/
                        var m_url = ncm.concat(NcmMediaAlbum.getProperty("jsp_getimage"),"?filename=",ncm.getPublishPath(),jsonItem[Me.object]["object"],Me.simplefields["VIEWER_RESIZE_MODEL"]===0?ncm.concat("&sizeX=",Me.simplefields["VIEWER_WIDTH"]):ncm.concat("&sizeX=",Me.simplefields["VIEWER_WIDTH"],"&sizeY=",Me.simplefields["VIEWER_HEIGHT"]),"&hq=true",Me.simplefields["THUMB_BLUR"]>0?ncm.concat("&blur=",Me.simplefields["THUMB_BLUR"]):"");
                        m_img.onload = function(){
                           jqViewer.html(ncm.concat("<img src=\"",m_url,"\" class=\"preview-image\" alt=\"\" title=\"\" \/>"));
                           jqViewer.fadeTo("slow",1,function(){
                              Me.previewVerticalAlign();
                           });
                        };
                        m_img.src = m_url;
                     });
                   
                  }    
               }    
            }
         },
       
         embedYouTubeVideo: function(jsonItem,w,h){
            var ytplayer = document.getElementById(ncm.concat("ytapiplayer",this.id));
            if(ytplayer) {
               ytplayer.stopVideo();
               ytplayer.clearVideo();
            var parent = $jq(ytplayer).parent();
            swfobject.removeSWF(ncm.concat("ytapiplayer",this.id));
            parent.html(ncm.concat("<div id=\"ytplayer",this.id,"\"><\/div>"));
            }
            var params = { allowScriptAccess: "always" };
          var atts = { id: ncm.concat("ytapiplayer",this.id) };
          swfobject.embedSWF(ncm.concat(jsonItem[this.object]["object"],"&enablejsapi=1&playerapiid=ytapiplayer",this.id),
                   ncm.concat("ytplayer",this.id), ""+w, ""+h, "8", null, null, params, atts);
         },
       
         getDescriptionField: function(fieldName){
            var res = null;
            if(window[ncm.concat("jso",this.id)]){
               if(window[ncm.concat("jso",this.id)][ncm.MEDIA_DESCR_FIELDS_JSO]){
                  $jq.each(window[ncm.concat("jso",this.id)][ncm.MEDIA_DESCR_FIELDS_JSO],function(ind,val){
                     var found = false;
                     $jq.each(this.simplefields,function(indj,valj){
                        if(this.name==="TITLE_ORG" && this.value===fieldName){
                           found = true;
                           return false;
                        }
                     });
                     if(found){
                        res = this;
                        return false;
                     }
                  });
               }
            }
            return res;
         },
       
         hasLabelDescriptionField: function(fieldName){
            var res = false;
            var fld = this.getDescriptionField(fieldName);
            if(fld){
               $jq.each(fld.simplefields,function(indj,valj){
                  if(this.name==="SHOWTITLE"){
                     res = this.value;
                     return false;
                  }
               });
            }
            return res;
         },
       
         getLabelDescriptionField: function(fieldName){
            var res = "";
            var fld = this.getDescriptionField(fieldName);
            if(fld){
               $jq.each(fld.simplefields,function(indj,valj){
                  if(this.name==="TITLE"){
                     res = this.value;
                     return false;
                  }
               });
            }
            return res;
         },
       
         getDescriptionHTML: function(jsonItem) {
            var res = [];
            var Me = this;
            var videoInfo = false;
            if ( jsonItem && jsonItem["type"]=="VIDEO" ){
               videoInfo = true;
            }
            if(jsonItem && this.descrFields.length>0) {
               res.push("<dl>");
               $jq.each(this.descrFields,function(arrIndex,value){
                  if(jsonItem[value]) {
                     res.push(ncm.concat("<dt>",Me.hasLabelDescriptionField(value)?Me.getLabelDescriptionField(value):"","<\/dt>"));
                     res.push(ncm.concat("<dd>",jsonItem[value],"<\/dd>"));
                  }
               });
               res.push("<\/dl>");
            }
            if ( videoInfo ){
             $jq( this.getInfoSelector() ).addClass("video-foot");
            } else {
             $jq( this.getInfoSelector() ).removeClass("video-foot");
            }
            return res.join("");
         },
       
         getViewerSelector: function() {
            return ncm.concat("#viewer",this.id);
         },
       
         getNavigationSelector: function(){
            return ncm.concat("#navlist",this.id);
         },
       
         getDescriptionSelector: function() {
            return ncm.concat("#info",this.id," .description");
         },
       
         getAlbumSelector: function() {
            return ncm.concat("#album",this.id);
         },
       
         getPrevSelector: function(){
            return ncm.concat("#navprev",this.id);
         },
       
         getNextSelector: function(){
            return ncm.concat("#navnext",this.id);
         },
       
         getInfoSelector: function(){
            return ncm.concat("#info",this.id);
         },
       
         getSliderSelector: function(){
            return ncm.concat("#slider-",this.id);
         },
       
         getCustomEventParams: function(mediaId){
            if(this.simplefields["SEND_PROID_FOR_CUSTOM_EVENT"]){
               if(mediaId && this.items[mediaId]) {
                  return this.processKeyParams(ncm.concat(this.getPrefix(),"PROID=",this.items[mediaId].PROID));
               } else {
                  return "";
               }
            } else {
               return this.processKeyParams(ncm.concat(this.getPrefix(),"selectedIndex=",this.selectedIndex,"&",this.getPrefix(),"first=",this.selectedIndex));
            }
         },
       
         createPreview: function(mediaId,wasClick) {
            var jqViewer = $jq(this.getViewerSelector());
            var Me = this;
            if(mediaId && this.items[mediaId]) {
               var jqDescription = $jq(this.getDescriptionSelector());
               if(jqViewer.length>0){
                  if(Me.dsType===ncm.DS_TYPE_GDATA_YOUTUBE){
                     window["auto-ytapiplayer"+Me.id] = true;
                  }
                  this.getPreviewHTML(this.items[mediaId]);
                  $jq(this.getInfoSelector()).show();
                  if(jqDescription.length>0){
                     jqDescription.html(this.getDescriptionHTML(this.items[mediaId]));
                  }
                  this.createDownloadLink(mediaId);
                  if(!$jq.isEmptyObject(this.eventsListeners)){
                     ncm.triggerCustomEvent(ncm.customEvents["ncmValueChange"],this,this.getCustomEventParams());
                  }
               } else {
                  if(wasClick && !$jq.isEmptyObject(this.eventsListeners)){
                     ncm.triggerCustomEvent(ncm.customEvents["ncmValueChange"],this,this.getCustomEventParams());
                     window.setTimeout(function(){
                        ncm.triggerEvent(ncm.customEvents["ncmValueChange"],["",Me.id]);
                     },1000);
                  }
               }    
               $jq("li",this.getNavigationSelector()).removeClass("item-selected").find("img#"+mediaId).parent().parent().addClass("item-selected");
               this.updateNavigationState();
            } else {
               if(jqViewer.length>0){
                  var txt = this.simplefields["LANG_NO_DATA"];
                  if(!txt || $jq.trim(txt)===""){
                     txt = NcmMediaAlbum.getProperty("lang_no_data");
                  }
                  jqViewer.html(ncm.concat("<p>",txt,"<\/p>"));
                  $jq(this.getInfoSelector()).hide();
               }    
            }
            if(this.simplefields["SHOW_SLIDER"]){
               $jq(this.getSliderSelector()).slider("value",this.selectedIndex);
            }
            return jqViewer.length===0 && this.eventsListeners==={};
         },
       
         createDownloadLink: function(mediaId){
            var Me = this;
            if(this.download && this.items[""+mediaId]){
               var downloadUrl = this.items[""+mediaId][this.download]["download"];
               var zoomUrl = "";
               /*if(this.dsType===ncm.DS_TYPE_FILESYSTEM || this.items[""+mediaId][this.download]["dsType"]===ncm.DS_TYPE_FILESYSTEM){*/
                  zoomUrl = ncm.concat(NcmMediaAlbum.getProperty("jsp_getimage"),"?filename=",downloadUrl,"&hq=true&sizeX=800");
               /*} else {
                  zoomUrl = downloadUrl;
               }*/
               var jqLink = $jq(ncm.concat("a.lightbox",this.id),this.getInfoSelector());
               if(this.items[""+mediaId]["type"]==="VIDEO" || this.items[""+mediaId]["type"]==="AUDIO" || this.items[""+mediaId]["type"]==="FLASH"){
                  jqLink.hide();
               } else if(this.items[""+mediaId]["type"]==="IMAGE"){
                  jqLink.show();
                  this.initLightbox();
               }
               jqLink.attr("href",zoomUrl).attr("title","").attr("target",function(){
                  return Me.download!==Me.object?"_blank":"_top";
               });
               if(this.simplefields["SHOW_DOWNLOAD"]){
                  $jq("ul.info-tools li.download a",this.getInfoSelector()).attr("href",downloadUrl.indexOf("http:")!=-1?downloadUrl:ncm.concat("components/albums/ncmalbum/ncmmediaalbumdownload.jsp?filePath=",downloadUrl));
               }
            }
         },
       
         createPreviewForIndex: function(index,wasClick) {
            this.createPreview(this.itemsMap[index],wasClick);
         },
       
         updateNavigationState: function(){
            var Me = this;
            $jq(ncm.concat("#viewernavprev",this.id),this.getAlbumSelector()).attr("class",function(){
               return ncm.concat("viewer-prev",Me.selectedIndex===0?"-disabled":"");
            });
            $jq(ncm.concat("#viewernavnext",this.id),this.getAlbumSelector()).attr("class",function(){
               return ncm.concat("viewer-next",(Me.selectedIndex===(Me.totalItems-1))?"-disabled":"");
            });
         },
       
         getLoteNumber: function(index){
            return (index-index%this.itpp)/this.itpp;
         },
       
         previewVerticalAlign: function(){
            var jqViewer = $jq(this.getViewerSelector());
            var hv = jqViewer.height();
            var jqImg = $jq("img",jqViewer);
            var hi = jqImg.height();
            var m = 0;
            if(hi>0){
               m = ((hv-hi)-(hv-hi)%2)/2;
            }    
            /*jqImg.css("margin-top",m+"px");*/
         },
       
         isDetails : function(){
            var res = false;
            var arrParams = this.getRequestParamsNames();
            if(arrParams){
             $jq.each(arrParams,function(index,value){
              if(value.indexOf(".PROID")!=-1){
                  res = true;
                  return false;
              }
             });
            }
            return res;
         },
       
         loadData: function(){
            var page = ncm.intval(this.getRequestParam(ncm.concat(this.getPrefix(),"page")));
            if(page>=0 && page<this.totalPages){
           if(this.simplefields["NO_SCROLLABLE"]){
              var Me = this;
              this.first = page*this.itpp;
              if(this.first<0) this.first=0;
              var last = this.first+this.itpp-1;
              if(last>this.totalItems-1) {
                  last = this.totalItems-1;
              }
              this.selectedIndex = this.first;
              if(!this.itemsMap[this.first] || !this.itemsMap[last]){
                        var needLote = this.getLoteNumber(last);
                        this.setRequestParam(ncm.concat(this.getPrefix(),"needLote"),ncm.concat("",needLote),false);
                        this.getItemsBatch(function(json){
                           Me.lastLoadedPage = json.currentPage;
                           Me.addItemsBatch(json);
                           Me.drawItems(Me.first,last);
                           if ( Me.simplefields["SHOW_ZOOM_THUMB"] ){
                           for ( var index=Me.first; index<= last; index++ ){            
                             $jq( "#scrollitem_"+Me.id+"_"+index+" .lightbox"+Me.id ).lightBox(window["options_lightbox"]);
                           }
                           }
                           $jq( Me.getNavigationSelector() + " li" ).removeClass("item-selected");
                           $jq( Me.getNavigationSelector() + " li#scrollitem_"+Me.id+"_"+Me.selectedIndex ).addClass("item-selected");
                           Me.createPreviewForIndex(Me.selectedIndex,true);
                        });
                     } else {
                        this.createPreviewForIndex(this.selectedIndex,true);
                     }
              $jq(ncm.concat(this.getNavigationSelector()," ul li[id^='scrollitem']")).each(function(index){
                 if(index>=Me.first && index<=last){
                    $jq(this).show();
                 } else {
                    $jq(this).hide();
                 }      
              });
           } else {
              if(this.scrollable){
                this.scrollable.setPage(page);
              }
           }
           this.reloadPager();
            }
         },

         reloadPager: function(){
            if(this.simplefields["SHOW_PAGER"]){
               var Me = this;
               var p = ncm.serializeJSONToObject(this["requestParams"]);
               $jq.post(ncm.concat("components/albums/ncmalbum/pager_",this.id,".jsp"),p,function(html){
                  $jq(ncm.concat("#pager-holder-",Me.id)).html(html);
                  ncm.setPagerEvents(Me,Me.getAlbumSelector());
               },"html");
            }
         },
       
         reload: function(params,reload){
            var Me = this;
            $jq.post(ncm.concat("sub_",this.id,".jsp"),ncm.transformParamsStringToObject(params),function(html){
               $jq(Me.getAlbumSelector()).html("").replaceWith(html);
               Me.updateRequestParams(params);
               var resJSON = null;
               try {
                  resJSON = $jq.evalJSON($jq(ncm.concat("input#resjson",Me.id)).val());
               } catch(mErr){}    
               Me.lastLoadedPage = null;
               Me.lightBoxInited = false;
               Me.initAlbum(resJSON);
               Me.initScrollable();
               Me.initPagerEvents();
            },"html");
         },
       
         autoPager: function(){
          var interval = ncm.intval(this.simplefields["AUTO_PAGER_INTERVAL"]);
          if(interval===0) interval=3000;
          var Me = this;
          this.autoPagerId = window.setInterval(function(){
              var ppage = ncm.intval(Me.getRequestParam(ncm.concat(Me.getPrefix(),"page")));
              ppage += 1;
              if(ppage>=Me.totalPages) ppage=0;
              Me.gotoPage(ppage);
          },interval);
         },
          
         stopAutoPager: function(){
          if(this.autoPagerId){
           window.clearInterval(this.autoPagerId);
           this.autoPagerId = null;
          }
         },
         
         slideshow: function(){
             var interval = ncm.intval(this.simplefields["SLIDESHOW_INTERVAL"]);
             if(interval===0) interval=3000;
             var Me = this;
          this.slideshowId = window.setInterval(function(){
              //if(Me.scrollable){
                  var nextIndex = Me.selectedIndex+1>Me.totalItems-1?0:Me.selectedIndex+1;
               //Me.scrollable.click(nextIndex);
               $jq(ncm.concat(Me.getNavigationSelector()," li#scrollitem_",Me.id,"_",nextIndex," a")).click();
              //}    
          },interval);
         },
         
         stopslideshow: function(){
             if(this.slideshowId){
           window.clearInterval(this.slideshowId);
           this.slideshowId = null;
          }
         }
    }
});

var NcmQueryResults = $jq.createNcmClass({
	fields: {
		id: null,						/*Id of component*/
		simplefields:{},				/*Simple fields*/
		requestParams:[],				/*Request parameters*/
		filterId: null,					/*Id of filter component*/
		isInTab:false,                  /*True if the query is inside an intranet tab*/
		triggers: {},					/*Triggers id's (who affects me)*/
		triggersMap: [],				/*Triggers map*/
		autoPagerId: null,  			/*Id of timer for auto-pager*/
		autoPagerHash: {},				/*Auto pager hash*/
		autoPagerLastCall: {},			/*Last calls hash for auto-pager */
		eventsListeners: {},			/*Events listeners of the component*/
		eventsListenersAdv: {},			/*Events listeners of the component*/
		hashAjax: {}					/*Hash of Ajax requests*/
	},
	prototype: {
		initComponent: function(jsonData) {
			/*Initialize request parameters*/
			this.initializeRequestParams();
			/*Search for filter component*/
			var jsoFilter = this.getComplexField("FILTER",0);
			if(jsoFilter && jsoFilter["dataid"]){
				this.filterId = jsoFilter["dataid"];
			}
			if(window[ncm.concat("jso",this.id)]){
				if(window[ncm.concat("jso",this.id)]["tabSet"]){
					this.isInTab = true;
				}
			}
			this.initLiveEvents();
			this.initEvents();
			this.updateTabSet();
		},
		
		initLiveEvents: function(){
			var Me = this;
			/*Initialize events for print and export button*/
			$jq(ncm.concat("div.utilities button#print",this.id)).liveLinkEvents(function(){
				Me.execPrintExport("0");
			});
			$jq(ncm.concat("div.utilities button#printall",this.id)).liveLinkEvents(function(){
				Me.execPrintExport("1");
			});
			$jq(ncm.concat("div.utilities button#export",this.id)).liveLinkEvents(function(){
				Me.execPrintExport("2");
			});
			/*Initialize events for go back option*/
			$jq(ncm.concat(this.getQrSelector()," div.goback a")).liveLinkEvents(function(){
				Me.goback();
				return false;
			});
			/*Initialize click events for related objects*/
			if (this.eventsListeners[ncm.customEvents["ncmValueChange"]]) {
				var pattern1 = new RegExp("DS[0-9]+\\.(PROID|CATID)=","i");
				var pattern2 = new RegExp("(PROID|CATID)=","i");
				$jq(ncm.concat(this.getQrSelector()," .item-href")).liveLinkEvents(function(){
					var href = $jq(this).attr("href");
					if(pattern1.test(href) || pattern2.test(href)){
						var m_params = href.split("\?")[1];
						m_params = Me.processKeyParams(m_params);
						ncm.triggerCustomEvent(ncm.customEvents["ncmValueChange"], Me, m_params);
						window.setTimeout(function(){
                            ncm.triggerEvent(ncm.customEvents["ncmValueChange"],["",Me.id]);
                        },1000);
						return false;
					} else {
						return true;
					}
				});
			}
			/*Initialize events for order by element*/
			$jq(ncm.concat("button#orderbybutton",this.id)).liveLinkEvents(function(){
				var fldName = $jq(ncm.concat("#orderbyfield",Me.id)).val();
				var fldOrder = $jq(ncm.concat("#orderbydir",Me.id)).val();
				Me.orderByField(fldName,fldOrder);
				return false;
			});
			/*Initialize timer for auto-refresh*/
			if(this.simplefields["ENABLE_AUTO_RELOAD"]){
				var interval = ncm.intval(this.simplefields["AUTO_RELOAD_INTERVAL"]);
				if(interval===0) interval=60000;
				window.setInterval(function(){
					Me.loadData();
				},interval);
			}
			$jq(ncm.concat("li#ticker",this.id," a")).liveLinkEvents(function(){
				Me.toggleAutoPager();
			});
		},
		
		initEvents: function(){
			var Me = this;
			/*Initialize events for pager*/
			ncm.setPagerEvents(this,this.getQrSelector());
			/*Initialize events for table header in the case of 'SKIN_TABLE'*/
			var arrFlds = this.getComplexFieldArray("FIELDS");
			if(arrFlds && arrFlds.length>0){
				$jq.each(arrFlds,function(index,val){
					var ftit = "";
					if(this["simplefields"]){
						$jq.each(this["simplefields"],function(j,valj){
							if(this.name==="TITLE_ORG"){
								ftit = this.value;
								return false;
							}
						});
					}
					$jq("table thead tr th",Me.getQrSelector()).eq(index).linkEvents(function(){
						Me.orderByField(ftit);
					});
				});
			}
			
			/*Initialize events for auto-pager*/
			if(this.simplefields["AUTO_PAGER"] && $jq(ncm.concat("#ticker",this.id)).length===0){
				$jq(this.getQrSelector()).mouseover(function(){
					Me.stopAutoPager();
				}).mouseout(function(){
					Me.autoPager();
				});
			}
			/*Disable submit for export button form*/
			var eFrm = document.getElementById(ncm.concat("form-export-button-",this.id));
			if(eFrm){
				$jq(eFrm).submit(function(){
					return false;
				});
			}
			/*Initialize the events listeners*/
			ncm.bindCustomEvent(ncm.customEvents["ncmValueChange"],this.getQrSelector(),this,"reload");
		},
		
		actionButton: function(button, btId, actionUrl, autocheck) {
			var Me = this;
			try {
				$jq.fck.update();	// force update RichText mask				
			}catch(err){}
			try {				
				ComboDouble.update(true);
			}catch(err){}

			var params = "";			
			if (autocheck) {
				$jq(this.getObjectsSelector()).each(function(i) {
					if (i > 0) {
						params += "|";
					}
					params += $jq(this).val();
				});				
			} else {
				$jq(this.getCheckedSelector()).each(function(i) {
					if (i > 0) {
						params += "|";
					}
					params += $jq(this).val();
				});
			}

			/* select the action to be executed */
			$jq("#bt"+btId).attr("value", "true");
			$jq("#bt"+btId+"-objects").attr("value", params);
			
			/* append every input in the query */
			var query = $jq(this.getContentSelector());			
			var form = $jq(this.getRequestSelector());
			var inputs = $jq(query).find(":input").clone();
			$jq(form).append(inputs);
			
			/* Process selects */
			$jq(query).find("select").each(function() {
				var name = $jq(this).attr("name");
				$jq(this).find("option:selected").each(function() {
					var value = $jq(this).val();
					$jq(form).find("[name='"+name+"'] option[value='"+$jq(this).val()+"']").each(function() {
						$jq(this).attr("selected", "selected");
					});					
				});				
			});
			/* Process textareas */
			$jq(query).find("textarea").each(function() {
				var name = $jq(this).attr("name");
				$jq(form).find("[name='"+name+"']").val($jq(this).val());
			});
			
			$jq(form).append($jq("#bt"+btId));
			$jq(form).append($jq("#bt"+btId+"-objects"));
			
			/* process the action */
			if (form) {
				if (actionUrl != null && actionUrl != "") {
					/* send the form */
					$jq(form).attr("action", actionUrl);
					$jq(form).attr("method", "post");
					$jq(form).submit();
				} else {
					/* reload the query */
					var strParams = $jq(form).serialize();
					this.updateRequestParams(strParams);
					this.loadData();
				}
			}			
		},		
		
		checkAll: function(check) {
			$jq("input[name='check-"+this.id+"']").each(function(i) {
				$jq(this).attr("checked", check);		
			});
		},
		
		getQrSelector: function(){
			return ncm.concat("div#query-results-",this.id);
		},
		
		getRequestSelector: function() {
			return ncm.concat("#initial-request-",this.id);
		},
		
		getContentSelector: function(){
			return ncm.concat("#query-results-content",this.id);
		},
		
		getCheckedSelector: function() {
			return this.getQrSelector() + " [name='check-" + this.id + "']:checked";	
		},
		
		getButtonSelector: function() {
			return this.getQrSelector() + " [name^='qbutton-']";	
		},
						
		getObjectsSelector: function() {
			return this.getQrSelector() + " input[name='OBJID']";	
		},

		autoPager: function(){
			var interval = ncm.intval(this.simplefields["AUTO_PAGER_INTERVAL"]);
			if(interval===0) interval=3000;
			var Me = this;
			this.autoPagerId = window.setInterval(function(){
				var ppage = ncm.intval(Me.getRequestParam(ncm.concat(Me.getPrefix(),"page")));
				var ptotal = ncm.intval($jq(ncm.concat("#autopager-total-",Me.id)).val());
				ppage += 1;
				if(ppage>ptotal-1) ppage=0;
				Me.gotoPage(ppage);
			},interval);
			this.updateTicker();	
		},
		
		stopAutoPager: function(){
			if(this.autoPagerId){
				window.clearInterval(this.autoPagerId);
				this.autoPagerId = null;
				this.updateTicker();
				$jq(this.getQrSelector()).parent(".fade-wrapper").fadeTo("slow",1);
			}
		},
		
		toggleAutoPager: function(){
			if(this.autoPagerId){
				this.stopAutoPager();
			} else {
				this.autoPager();
			}
		},
		
		updateTicker: function(){
			if(this.autoPagerId!=null){
				$jq(ncm.concat("#ticker",this.id," a")).removeClass("stopped").addClass("started").attr("title",NcmQueryResults.getProperty("lang_pause"));
			} else {
				$jq(ncm.concat("#ticker",this.id," a")).removeClass("started").addClass("stopped").attr("title",NcmQueryResults.getProperty("lang_play"));
			}
		},
		
		reload: function(params,reload){
			if (reload) {
				this.updateRequestParams(params);
				this.setRequestParam(ncm.concat(this.getPrefix(),"page"),"0");
				this.loadData();
			}
		},
		
		loadData: function(){
			var Me = this;
			var needAjax = true;
			if(this.simplefields["AUTO_PAGER"]){
				var ppage = this.getRequestParam(ncm.concat(this.getPrefix(),"page"));
				if(this.autoPagerLastCall[ppage]){
					var tnow = (new Date()).getTime();
					var tdiff = tnow - this.autoPagerLastCall[ppage];
					if(tdiff<2*60*1000 && this.autoPagerHash[ppage]){
						needAjax = false;
						var jqObj = $jq(this.getQrSelector());
						if(this.simplefields["USE_FADE_EFFECT"]){
							var jqParObj = jqObj.parent(".fade-wrapper");
							if(jqParObj.length===0){
								jqParObj = jqObj.wrap("<div class=\"fade-wrapper\"><\/div>").parent();
							}
							jqParObj.fadeTo("slow",0.3,function(){
								jqObj.replaceWith(this.autoPagerHash[ppage]);
								jqParObj.fadeTo("slow",1);
							});
						} else {
							jqObj.replaceWith(this.autoPagerHash[ppage]);
						}
					}
				}
			}
			if(needAjax){
				var m_paramsObj = ncm.serializeJSONToObject(this["requestParams"]);
				var m_paramsStr = $jq.param(m_paramsObj);
				if(this.simplefields["SHOW_AJAX_PROGRESS"]){
					$jq(this.getQrSelector()).prepend(this.getAjaxProgress());
				}
				ncm.exec(window,"showDisabledLayer");
				ncm.triggerEvent(ncm.customEvents["ncmBeforeLoadData"]);
				if(this.simplefields["NO_REPEAT_AJAX"] && this.hashAjax[m_paramsStr]){
					Me.afterAjaxPost(this.hashAjax[m_paramsStr]);
				} else {
					$jq.post(ncm.concat("sub_",this.id,".jsp"),m_paramsObj,function(html){
						Me.afterAjaxPost(html);
						if(Me.simplefields["NO_REPEAT_AJAX"]){
							Me.hashAjax[m_paramsStr] = html;
						}
					},"html");
				}	
			}	
		},
		
		afterAjaxPost: function(html){
			var Me = this;
			var m_postprocess = function(){
				/* reset the request parameters */
				Me.requestParams = [];
				var strParams = $jq(Me.getRequestSelector()).serialize();
				Me.updateRequestParams(strParams);
				Me.initEvents();
				if(Me.filterId && window["NcmQueryFilter"]){
					NcmQueryFilter.get(Me.filterId).initEvents();
				}
				if(!Me.simplefields["AUTO_PAGER"] && Me.simplefields["NOT_SCROLL"]){
					window.scrollTo($jq(Me.getQrSelector()).offset().left,$jq(Me.getQrSelector()).offset().top);
				}
				Me.updateTicker();
				$jq("div.js-code",Me.getQrSelector()).each(function(){
                    var m_code = $jq(this).html();
                    try {
                        eval(m_code);
                    } catch(mErr){}
                });
				Me.triggerEventAfterLoad();
				ncm.exec(window,"hideDisabledLayer");
				ncm.triggerEvent(ncm.customEvents["ncmAfterLoadData"]);
			      /*if(!Me.simplefields["AUTO_PAGER"] && !Me.simplefields["IGNORE_DHTML_HISTORY"]){
					ncm.saveSessionStateInHistory();
				}*/      
			};
			var jqObj = $jq(Me.getQrSelector());
			if(Me.simplefields["USE_FADE_EFFECT"]){
				var jqParObj = jqObj.parent(".fade-wrapper");
				if(jqParObj.length===0){
					jqParObj = jqObj.wrap("<div class=\"fade-wrapper\"><\/div>").parent();
				}
				jqParObj.fadeTo("slow",0.3,function(){
					jqObj.replaceWith(html);
					jqParObj.fadeTo("slow",1);
					m_postprocess();
				});
			} else {
				jqObj.replaceWith(html);
				m_postprocess();
			}
			if(Me.simplefields["AUTO_PAGER"]){
				Me.autoPagerHash[Me.getRequestParam(ncm.concat(Me.getPrefix(),"page"))]=html;
				Me.autoPagerLastCall[Me.getRequestParam(ncm.concat(Me.getPrefix(),"page"))]= (new Date()).getTime();
			}
		},
		
		execPrintExport: function(oper){
			if(oper==="0"){
				$jq(ncm.concat("div#print-params-",this.id)).html(this.getHiddenInputs());
			} else if(oper==="1") {
				var aExclude = [ncm.concat(this.getPrefix(),"page"),ncm.concat(this.getPrefix(),"itpp")];
				$jq(ncm.concat("div#printall-params-",this.id)).html(this.getHiddenInputs(aExclude));
	      	} else if(oper==="2") {
	      		$jq(ncm.concat("div#export-params-",this.id)).html(this.getHiddenInputs());
	      		ncm.showFixedDialog(ncm.concat("#export-",this.id),400);
		  	}
		},
		
		goback: function () {
			this.setRequestParam(ncm.concat(this.getPrefix(),"step"),"1");
			var jqForm = $jq("<form action=\"\" method=\"post\"><\/form>").html("<fieldset><\/fieldset>").appendTo("body");
			if(this["requestParams"]){
				$jq.each(this["requestParams"],function(index,val){
					$jq("fieldset",jqForm).append(ncm.concat("<input type=\"hidden\" name=\"",this.name,"\" value=\"",this.value,"\" \/>\n"));
				});
			}
			jqForm.each(function(index){
				this.submit();
			});
		},
		
		orderByField: function(val,ord) {
			if(!val) return;
			if(!ord){
				if(this.getRequestParam(ncm.concat(this.getPrefix(),"orderBy"))===val) {
			  		this.setRequestParam(ncm.concat(this.getPrefix(),"orderDir"),ncm.concat("",-1*parseInt(this.getRequestParam(ncm.concat(this.getPrefix(),"orderDir")))));
		      	}
			} else {
				this.setRequestParam(ncm.concat(this.getPrefix(),"orderDir"),ncm.concat("",ord));
			}	
			this.setRequestParam(ncm.concat(this.getPrefix(),"orderBy"),val);
      		this.loadData();	
		},
				
		triggerEventAfterLoad: function(){
			if(this.eventsListeners[ncm.customEvents["ncmValueChange"]]){
				var linkEl = $jq(ncm.concat(this.getQrSelector()," .item a[href*='PROID=']:first"))[0];
			      if(!linkEl){
				     linkEl = $jq(ncm.concat(this.getQrSelector()," .item a[href*='CATID=']:first"))[0];
			      }
				var pattern1 = new RegExp("DS[0-9]+\\.(PROID|CATID)=","i");
				var pattern2 = new RegExp("(PROID|CATID)=","i");
				var href = $jq(linkEl).attr("href");
				if(pattern1.test(href) || pattern2.test(href)){
					var m_params = href.split("\?")[1];
					ncm.triggerCustomEvent(ncm.customEvents["ncmValueChange"],this,m_params);
				} 
			}
			this.updateTabSet();
		},
		
		updateTabSet: function() {
			if(this.isInTab && window["NcmCevaTabSet"]) {
				var tabSetId = window[ncm.concat("jso",this.id)]["tabSet"]["tabSetId"];
				var tabId = window[ncm.concat("jso",this.id)]["tabSet"]["tabId"];				
				NcmCevaTabSet.getRegistered(tabSetId).updateTabParam(tabId, $jq(this.getRequestSelector()).serialize());
			}		
		},

		deleteRow: function(elem, sUrl) {
			var id = $jq(elem).parents("tr:first").find("[name='OBJID']").val();
			if (id && sUrl) {
				$jq.ajax({
					type:"POST",
					url:sUrl,
					data:(id),
					cache:false,
					success:function(data) {
						$jq(elem).parents("tr:first").remove();
					}
				});
			}
		},

		addRow: function(sUrl,qStr) {
			var Me = this;
			if (sUrl) {
				$jq.ajax({
					type: "POST",
					dataType:"json",
					url:sUrl,
					data:qStr,
					cache:false,
					success:function(json) {
						if(json.VALUES) {
							var id = json.VALUES[0].ID;
							var tbody = $jq(Me.getQrSelector() + " table tbody")
							var tr = tbody.children("tr:first").clone().appendTo(tbody).show();
							tr.find("input, select").each(
								function() {
									this.name = this.name.replace(/:0/gi,(':'+id));
									if (this.name == 'fields')
										this.value = this.value.replace(/:0/gi,(':'+id));
								}
							);
							tr.find("[name='OBJID']").attr("value",id);
						} else {
							alert('Error.');
						}
					}
				});
			}
		}		
	}
});
var NcmCalendarEvents = $jq.createNcmClass({
    fields: {
        id:null,
        requestParams:[],				/*Request parameters*/
        simplefields:{},                /*Simple fields*/
        queryPage:"",                   /*URL of events query page for calendar*/
        eventsListeners: {},            /*Events listeners*/
        eventsListenersAdv: {},			/*Events listeners of the component*/
        triggers:{},                    /*Values of triggers*/
        triggersMap:[],                 /*Triggers map*/
        eventsListenersPrefixes: {}     /*Prefixes for events listeners*/
    },
    prototype: {
        initComponent: function(jsonData) {
    		if(!(NcmCalendarEvents["months"])){
    			NcmCalendarEvents["months"] = NcmCalendarEvents.getProperty("lang_months").split(",");
    		}
            this.queryPage = this.simplefields["URL_QUERY"]?this.simplefields["URL_QUERY"]:"";
            this.initializeRequestParams();
            /*Initialize the events listeners*/
            ncm.bindCustomEvent(ncm.customEvents["ncmValueChange"],this.getBodySelector(),this,"onValueChange");
            /*Initialize events*/
            this.initLiveEvents();
            this.initEvents();
        },
        
        initLiveEvents: function(){
        	var Me = this;
        	var m_daydetails = function(domElem){
        		var m_key = $jq(domElem).attr("id").replace(new RegExp("calday"+Me.id+"_"),"");
                var a = m_key.split("_");
                Me.showDayDetails(a[2] ,a[1] ,a[0]);
        	};
			$jq(ncm.concat("#calendar_filter_",this.id," a.filter-year-back")).live("click",function(){
			    Me.changeYear(-1);
			    return false;
			}).live("keypress",function(){
			    Me.changeYear(-1);
			    return false;
			});
			$jq(ncm.concat("#calendar_filter_",this.id," a.filter-year-forward")).live("click",function(){
			    Me.changeYear(1);
			    return false;
			}).live("keypress",function(){
			    Me.changeYear(1);
			    return false;
			});
			$jq(ncm.concat(this.getBaseSelector()," .",NcmCalendarEvents.getProperty("calendar_month_class_back"))).live("click",function(){
			    Me.changeMonth(-1);
			    return false;
			}).live("keypress",function(){
			    Me.changeMonth(-1);
			    return false;
			});
			$jq(ncm.concat(this.getBaseSelector()," .",NcmCalendarEvents.getProperty("calmonth_class_details"))).live("click",function(){
				var pos = ncm.intval($jq(this).attr("id").replace(/monthindex_/ig,""));
			    Me.showCurrentMonthDetails(pos);
			    return false;
			}).live("keypress",function(){
			    var pos = ncm.intval($jq(this).attr("id").replace(/monthindex_/ig,""));
			    Me.showCurrentMonthDetails(pos);
			    return false;
			});
			$jq(ncm.concat(this.getBaseSelector()," .",NcmCalendarEvents.getProperty("calmonth_class_details")," a")).live("click",function(){
				var pos = ncm.intval($jq(this).parent().attr("id").replace(/monthindex_/ig,""));
			    Me.showCurrentMonthDetails(pos);
			    return false;
			}).live("keypress",function(){
			    var pos = ncm.intval($jq(this).parent().attr("id").replace(/monthindex_/ig,""));
			    Me.showCurrentMonthDetails(pos);
			    return false;
			});
			$jq(ncm.concat(this.getBaseSelector()," .",NcmCalendarEvents.getProperty("calendar_month_class_next"))).live("click",function(){
			    Me.changeMonth(1);
			    return false;
			}).live("keypress",function(){
			    Me.changeMonth(1);
			    return false;
			});
			$jq(ncm.concat("#calendar_",Me.id," #calendar_layout_",Me.id," table.calendar tbody tr td.",NcmCalendarEvents.getProperty("calendar_day_class_event"))).live("click",function(){
				m_daydetails(this);
			}).live("keypress",function(){
				m_daydetails(this);
			});
			$jq(ncm.concat("#calendar_",Me.id," #calendar_layout_",Me.id," table.calendar tbody tr td.",NcmCalendarEvents.getProperty("calendar_day_class_today_event"))).live("click",function(){
				m_daydetails(this);
			}).live("keypress",function(){
				m_daydetails(this);
			});
			$jq(ncm.concat("#calendar_",Me.id," #calendar_layout_",Me.id," div.",NcmCalendarEvents.getProperty("calendar_day_event_class")," a")).live("click",function(){
				m_daydetails($jq(this).parent().parent()[0]);
				return false;
			}).live("keypress",function(){
				m_daydetails($jq(this).parent().parent()[0]);
				return false;
			});
        },
        
        initEvents: function(){
        	var Me = this;
			$jq(ncm.concat("#calendar_filter_",this.id," select#",NcmCalendarEvents.getProperty("filter_month_name"),this.id)).change(function(){
			    Me.setMonth(this.options[this.selectedIndex].value);
			});
			$jq(ncm.concat("#calendar_filter_",this.id," select#",NcmCalendarEvents.getProperty("filter_calendar_type_name"),this.id)).change(function(){
			    Me.setCalendarType(this.options[this.selectedIndex].value);
			});
			$jq(ncm.concat("#calendar_filter_",this.id," select#",NcmCalendarEvents.getProperty("filter_event_name"),this.id)).change(function(){
			    Me.setCalendarEvent(this.options[this.selectedIndex].value);
			});
        },
                 
        getBaseSelector: function(){
            return ncm.concat("#calendar_layout_",this.id," table tr td table.",NcmCalendarEvents.getProperty("calendar_class"));
        },
     
        getBodySelector: function(){
            return ncm.concat(this.getBaseSelector()," tbody.",NcmCalendarEvents.getProperty("calendar_body_class"));
        },

        getStringParams: function(from,to,withoutPrefix) {
        	var prefix = withoutPrefix?"":this.getPrefix();
            var res = ncm.concat(prefix,"DATE_FROM=",from?from:this.getDateFrom(),"&",prefix,"DATE_TO=",to?to:this.getDateTo(),"&",prefix,"DATE_TYPE=0&",prefix,"DATE_LINK=0&",prefix,"CTID=",this.getRequestParam("ctid"),"&",prefix,"CTID_TYPE=0&",prefix,"CTID_LINK=0&",prefix,"EVID=",this.getRequestParam("evid"),"&",prefix,"EVID_TYPE=0&",prefix,"EVID_LINK=0");
            if(this["requestParams"]){
                res = ncm.concat(res,"&",$jq.param(ncm.serializeJSONToObject(this["requestParams"],true)));
            }
            return res;
        },
        
        getStringParamsForListeners: function(eventName,from,to){
        	if(!this.eventsListenersPrefixes[eventName]){
        		this.eventsListenersPrefixes[eventName] = this.getListenersPrefixes(eventName);
        		if(this.eventsListenersPrefixes[eventName].length===0){
        			this.eventsListenersPrefixes[eventName].push(this.getPrefix());
        		}
        	}
        	var Me = this;
        	var res = "";
        	$jq.each(this.eventsListenersPrefixes[eventName],function(index,prefix){
        		res = ncm.concat(res,res!==""?"&":"",prefix,"DATE_FROM=",from?from:Me.getDateFrom(),"&",prefix,"DATE_TO=",to?to:Me.getDateTo(),"&",prefix,"DATE_TYPE=0&",prefix,"DATE_LINK=0&",prefix,"CTID=",Me.getRequestParam("ctid"),"&",prefix,"CTID_TYPE=0&",prefix,"CTID_LINK=0&",prefix,"EVID=",Me.getRequestParam("evid"),"&",prefix,"EVID_TYPE=0&",prefix,"EVID_LINK=0");
        	});
        	if(this["requestParams"]){
                res = ncm.concat(res,"&",$jq.param(ncm.serializeJSONToObject(this["requestParams"],true)));
            }
        	return res;
        },
     
        getDateFrom : function() {
        	var mm = ncm.intval(this.getRequestParam("month"));
        	var yy = ncm.intval(this.getRequestParam("year"));
            return "01/"+(mm<9?"0":"")+(mm+1)+"/"+yy;
        },
     
        getDateTo: function() {
            var numDays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
            var shift =  ncm.intval(this.simplefields["NUMMONTHS"])-1;
            var mm = ncm.intval(this.getRequestParam("month"));
            var yy = ncm.intval(this.getRequestParam("year"));
            if(mm+shift>11) {
                mm += shift-12;
                yy+=1;
            } else {
                if(mm+shift<0) {
                    mm += shift+12;
                    yy-=1;
                } else {
                    mm += shift;
                }
            }
            if(this.checkLeapYear(yy))
                numDays[1]= 29;
            else
                numDays[1]= 28;
            return numDays[mm]+"/"+(mm<9?"0":"")+(mm+1)+"/"+yy;     
        },
     
        checkLeapYear: function (yyyy) {
            if(yyyy%4===0 && (yyyy%100!==0 || yyyy%400===0))
                return true;
            else
                return false;
        },
     
        onValueChange: function(params,reload) {
        	var Me = this;
            var pObj = ncm.transformParamsStringToObject(params);
            var pNames = ncm.getParametersNamesFromString(params);
            if(pObj[this.getPrefix()+"DATE_FROM_MONTH"]) {
                var mm = ncm.intval(pObj[this.getPrefix()+"DATE_FROM_MONTH"].charAt(0)=='0'?pObj[this.getPrefix()+"DATE_FROM_MONTH"].substr(1):pObj[this.getPrefix()+"DATE_FROM_MONTH"])-1;
                this.setRequestParam("month",""+mm);
            } else if(pObj["DATE_FROM_MONTH"]){
                var mm = ncm.intval(pObj["DATE_FROM_MONTH"].charAt(0)=='0'?pObj["DATE_FROM_MONTH"].substr(1):pObj["DATE_FROM_MONTH"])-1;
                this.setRequestParam("month",""+mm);
            }
            if(pObj[this.getPrefix()+"DATE_FROM_YEAR"]) {
                var yy = ncm.intval(pObj[this.getPrefix()+"DATE_FROM_YEAR"]);
                this.setRequestParam("year",""+yy);
            } else if(pObj["DATE_FROM_YEAR"]){
                var yy = ncm.intval(pObj["DATE_FROM_YEAR"]);
                this.setRequestParam("year",""+yy);
            }
            if(pObj[this.getPrefix()+"CTID"]) {
                var ctid = ncm.intval(pObj[this.getPrefix()+"CTID"]);
                this.setRequestParam("ctid",""+ctid);
            } else if(pObj["CTID"]){
                var ctid = ncm.intval(pObj["CTID"]);
                this.setRequestParam("ctid",""+ctid);
            }
            if(pObj[this.getPrefix()+"EVID"]) {
                var evid = ncm.intval(pObj[this.getPrefix()+"EVID"]);
                this.setRequestParam("evid",""+evid);
            } else if(pObj["EVID"]){
                var evid = ncm.intval(pObj["EVID"]);
                this.setRequestParam("evid",""+evid);
            }
            if(pNames){
                $jq.each(pNames,function(ind,val){
                	if(val===ncm.concat(Me.getPrefix(),"DATE_FROM")) return true;
                	if(val===ncm.concat(Me.getPrefix(),"DATE_FROM_DAY")) return true;
                	if(val===ncm.concat(Me.getPrefix(),"DATE_FROM_MONTH")) return true;
                	if(val===ncm.concat(Me.getPrefix(),"DATE_FROM_YEAR")) return true;
                	if(val===ncm.concat(Me.getPrefix(),"DATE_FROM_LINK")) return true;
                	if(val===ncm.concat(Me.getPrefix(),"DATE_FROM_TYPE")) return true;
                	if(val===ncm.concat(Me.getPrefix(),"DATE_TO")) return true;
                	if(val===ncm.concat(Me.getPrefix(),"DATE_TO_DAY")) return true;
                	if(val===ncm.concat(Me.getPrefix(),"DATE_TO_MONTH")) return true;
                	if(val===ncm.concat(Me.getPrefix(),"DATE_TO_YEAR")) return true;
                	if(val===ncm.concat(Me.getPrefix(),"DATE_TO_LINK")) return true;
                	if(val===ncm.concat(Me.getPrefix(),"DATE_TO_TYPE")) return true;
                	if(val===ncm.concat(Me.getPrefix(),"CTID")) return true;
                	if(val===ncm.concat(Me.getPrefix(),"CTID_LINK")) return true;
                	if(val===ncm.concat(Me.getPrefix(),"CTID_TYPE")) return true;
                	if(val===ncm.concat(Me.getPrefix(),"EVID")) return true;
                	if(val===ncm.concat(Me.getPrefix(),"EVID_LINK")) return true;
                	if(val===ncm.concat(Me.getPrefix(),"EVID_TYPE")) return true;
                	Me.setRequestParam(val,pObj[val]);
                });
            }
            this.loadData();
        },
          
  		loadData: function(){
  			var Me = this;
  			$jq.get(ncm.concat("sub_",this.id,".jsp"),this.getStringParams(),function(html){
  				$jq(ncm.concat("div#calendarholder",Me.id)).replaceWith(html);
  			    Me.initEvents();
  			    ncm.triggerCustomEvent(ncm.customEvents["ncmValueChange"],Me,Me.getStringParamsForListeners(ncm.customEvents["ncmValueChange"]));
  			},"html");
  		},

     
        getDataSourceId: function() {
            return this.simplefields["DATASOURCE"]!=null?parseInt(this.simplefields["DATASOURCE"]):-1;     
        },
     
        getPrefix: function() {
            return "DS"+this.getDataSourceId()+".";     
        },
     
        changeMonth: function(val) {
        	var mm = ncm.intval(this.getRequestParam("month"));
        	var yy = ncm.intval(this.getRequestParam("year"));
            if(mm+val>11) {
                mm += val-12;
                yy += 1;
            } else {
                if(mm+val<0) {
                    mm += val+12;
                    yy -= 1;
                } else {
                    mm += val;
                }
            }
            if((mm>=0 && mm<12)  && yy!==0) {
            	this.setRequestParam("month",""+mm);
            	this.setRequestParam("year",""+yy);
            	this.loadData();
            }
        },
     
        changeYear: function(val) {
        	var mm = ncm.intval(this.getRequestParam("month"));
        	var yy = ncm.intval(this.getRequestParam("year"));
            yy += val;
            if((mm>=0 && mm<12)  && yy!==0) {
            	this.setRequestParam("month",""+mm);
            	this.setRequestParam("year",""+yy);
            	this.loadData();
            }
        },
     
        setMonth: function(mm) {
        	var month = ncm.intval(this.getRequestParam("month"));
            var shift = mm-month;
            this.changeMonth(shift);
        },
     
        setCalendarType: function(calId) {
        	this.setRequestParam("ctid",""+calId);
        	this.setRequestParam("evid","-1");
        	var mm = ncm.intval(this.getRequestParam("month"));
        	var yy = ncm.intval(this.getRequestParam("year"));
            if((mm>=0 && mm<12)  && yy!==0) {
            	this.loadData();
            }
        },
     
        setCalendarEvent: function(evId) {
        	this.setRequestParam("evid",""+evId);
        	var mm = ncm.intval(this.getRequestParam("month"));
        	var yy = ncm.intval(this.getRequestParam("year"));
            if((mm>=0 && mm<12)  && yy!==0) {
            	this.loadData();
            }
        },
     
        showDayDetails: function(yyyy,mm,dd) {
            this.setSelectedDay(yyyy,mm,dd);
            if(this.queryPage!="") {
            	var params = this.getStringParams(ncm.concat(dd,"/",mm,"/",yyyy),ncm.concat(dd,"/",mm,"/",yyyy),true);
                window.location["href"] = ncm.concat(this.queryPage,"?",params);
            } else {
            	var params = this.getStringParamsForListeners(ncm.customEvents["ncmValueChange"],ncm.concat(dd,"/",mm,"/",yyyy),ncm.concat(dd,"/",mm,"/",yyyy));
                ncm.triggerCustomEvent(ncm.customEvents["ncmValueChange"],this,params);
            }
        },
     
        showCurrentMonthDetails: function(shift) {
            this.setSelectedDay(0,0,0);
            var numDays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
            var mm = ncm.intval(this.getRequestParam("month"));
            var yy = ncm.intval(this.getRequestParam("year"));
            if(!shift) shift=0;
            if(mm+shift>11) {
                mm += shift-12;
                yy += 1;
            } else {
                if(mm+shift<0) {
                    mm += shift+12;
                    yy -= 1;
                } else {
                    mm += shift;
                }
            }
            if(mm==1) {
                if(this.checkLeapYear(yy))
                    numDays[mm]=29;
                else
                    numDays[mm]=28;           
            }
            var from = ncm.concat("01/",((mm+1)<10?"0":""),(mm+1),"/",yy);
            var to = ncm.concat(numDays[mm],"/",((mm+1)<10?"0":""),(mm+1),"/",yy);
            if (this.queryPage != "") {
            	var params = this.getStringParams(from,to,true);
                window.location["href"] = ncm.concat(this.queryPage,"?",params);
            } else {
            	var params = this.getStringParamsForListeners(ncm.customEvents["ncmValueChange"],from,to);
                ncm.triggerCustomEvent(ncm.customEvents["ncmValueChange"],this,params);
            }                 
        },
     
        setSelectedDay: function(yyyy,mm,dd) {
            var Me = this;
            $jq(ncm.concat(this.getBodySelector()," tr.",NcmCalendarEvents.getProperty("calendar_daysrow_class")," td.",NcmCalendarEvents.getProperty("calendar_day_class_selected"))).attr("class",function(arr){
                var now = new Date();
                if(this.getAttribute("id")=="calday"+Me.id+"_"+now.getDate()+"_"+(now.getMonth()+1)+"_"+now.getFullYear()) {
                    return NcmCalendarEvents.getProperty("calendar_day_class_today_event");
                } else {
                    return NcmCalendarEvents.getProperty("calendar_day_class_event");
                }
            });
            $jq(ncm.concat("#calendar_layout_",this.id," #calday",this.id,"_",dd,"_",mm,"_",yyyy)).attr("class",NcmCalendarEvents.getProperty("calendar_day_class_selected"));
        }
    }
});/**
* Ceva form management class
* @author rmglez Nivaria Innova Team
*/

var NcmCevaForm = $jq.createNcmClass({
	fields: {
		id : null,
		simplefields : {},
		eventsListeners: {},        /*Events listeners*/
		eventsListenersAdv: {},		/*Events listeners of the component*/
		triggers: {},               /*Values of triggers*/
		triggersMap: []             /*Triggers map*/		
	},
	
	prototype: {
		initComponent: function(data) {
			this.initEvents();
		},
		
		initEvents: function() {
			ncm.bindCustomEvent(ncm.customEvents["ncmValueChange"],this.getFormSelector(),this,"reload");
		},

		actionButton: function(button, btId, validate) {
			var Me = this;	  
			if(window["showDisabledLayer"]){
				if($jq.isFunction(window["showDisabledLayer"])){
					showDisabledLayer();
				}
			}
			try {
				updateRTEs();		       
			}catch(err){}
			try {			      
				ComboDouble.update(true);
			}catch(err){}
			var frm = $jq(Me.getFormSelector());
			if (!validate || (validate && frm.valid())) {
				$jq("#bt" + btId).attr("value", "true");
				var dialog = $jq('#dialog_' + btId);
				if (dialog.length > 0) {
					openDialog('#dialog_' + btId);
				} else {
					frm.submit();
				}
				return false;
			} else {
				try {
					ComboDouble.update(false);
				} catch (err) {      }
				$jq(".error:first").focus();
			}
			if(window["hideDisabledLayer"]){
				if($jq.isFunction(window["hideDisabledLayer"])){
					hideDisabledLayer();
				}
			}
			return false;
		},
		
		submitForm: function() {
		      var frm = $jq(this.getFormSelector());
		      frm.submit();    
		},
		
		reload: function(params,reload){
			if (reload) {
				this.loadData(params);
			}
		},

		loadData: function(params){
			var Me = this;
			if(window["showDisabledLayer"]){
				if($jq.isFunction(window["showDisabledLayer"])){
					showDisabledLayer();
				}
			}
			$jq.post(ncm.concat("sub_",this.id,".jsp"),params,function(html){
				$jq(Me.getFormSelector()).replaceWith(html);
				Me.initEvents();
				if(window["hideDisabledLayer"]){
					if($jq.isFunction(window["hideDisabledLayer"])){
						hideDisabledLayer();
					}
				}
			},"html");
		},

		getButtonsSelector: function() {
			var selector = this.getFormContainerSelector();
			selector += " div.form-action button.btnSend";
			return selector;
		},

		getFormSelector: function() {
			var selector = "#FRM"+this.id;
			return selector;
		},

		getFormContainerSelector: function() {
			var selector="#form-content" + this.id;
			return selector;
		}
	}
});
var jso220901 = {"complexfields":[{"values":[{"complexfields":[{"values":[{"simplefields":[{"name":"DATAID","value":"220896"},{"name":"EVENTS","value":["ncmValueChange"]},{"name":"SOURCE_DATASOURCE"},{"name":"DEST_DATASOURCE"},{"name":"IGNOREPARAMS","value":false}],"datatype":"RELATION","dataid":220899}],"name":"RELATION"}],"datatype":"RELATIONS","dataid":220900}],"name":"RELATIONS"}],"datatype":"URL","dataid":220901};  
        
    jso220901["RELATIONS"] = [];    
        
	      
		    
		       
			  try {   
				var jso220899 = {"simplefields":[{"name":"DATAID","value":"220896"},{"name":"EVENTS","value":["ncmValueChange"]},{"name":"SOURCE_DATASOURCE"},{"name":"DEST_DATASOURCE"},{"name":"IGNOREPARAMS","value":false}]};   
				var jso_cf = [];   
				   
				jso220899["complexfields"] = jso_cf;   
				jso220901["RELATIONS"].push(jso220899);   
			  } catch(err) {alert(err);}   
			  if(!ncm.customEventsTriggers["220896"]){    
				ncm.customEventsTriggers["220896"] = [];    
			  }    
			  ncm.customEventsTriggers["220896"].push(220901);
var jso220877 = {"simplefields":[{"name":"SITE","value":"www.secartys.org"}],"complexfields":[{"values":[{"complexfields":[{"values":[{"simplefields":[{"name":"DATAID","value":"267723"},{"name":"EVENTS","value":[]},{"name":"SOURCE_DATASOURCE"},{"name":"DEST_DATASOURCE"},{"name":"IGNOREPARAMS","value":false}],"datatype":"RELATION","dataid":220875},{"simplefields":[{"name":"DATAID"},{"name":"EVENTS","value":[]},{"name":"SOURCE_DATASOURCE"},{"name":"DEST_DATASOURCE"},{"name":"IGNOREPARAMS","value":false}],"datatype":"RELATION","dataid":529359}],"name":"RELATION"}],"datatype":"RELATIONS","dataid":220876}],"name":"RELATIONS"}],"datatype":"GOOGLE_SITE_SEARCH","dataid":220877};  
        
    jso220877["RELATIONS"] = [];    
        
	      
		    
		       
			  try {   
				var jso220875 = {"simplefields":[{"name":"DATAID","value":"267723"},{"name":"EVENTS","value":[]},{"name":"SOURCE_DATASOURCE"},{"name":"DEST_DATASOURCE"},{"name":"IGNOREPARAMS","value":false}]};   
				var jso_cf = [];   
				   
				jso220875["complexfields"] = jso_cf;   
				jso220877["RELATIONS"].push(jso220875);   
			  } catch(err) {alert(err);}   
			  if(!ncm.customEventsTriggers["267723"]){    
				ncm.customEventsTriggers["267723"] = [];    
			  }    
			  ncm.customEventsTriggers["267723"].push(220877);    
		       
			  try {   
				var jso529359 = {"simplefields":[{"name":"DATAID"},{"name":"EVENTS","value":[]},{"name":"SOURCE_DATASOURCE"},{"name":"DEST_DATASOURCE"},{"name":"IGNOREPARAMS","value":false}]};   
				var jso_cf = [];   
				   
				jso529359["complexfields"] = jso_cf;   
				jso220877["RELATIONS"].push(jso529359);   
			  } catch(err) {alert(err);}   
			  if(!ncm.customEventsTriggers[""]){    
				ncm.customEventsTriggers[""] = [];    
			  }    
			  ncm.customEventsTriggers[""].push(220877);
var googleSiteSearchInitialized = false;  
    var searchControl = null;   
    function cseLoaded() {     
	  searchControl = new google.search.SearchControl();   
	  var siteSearch = new google.search.WebSearch();   
	  siteSearch.setSiteRestriction("www.secartys.org");   
	  var options = new google.search.SearcherOptions();   
	  options.setExpandMode(google.search.SearchControl.EXPAND_MODE_OPEN);   
	  searchControl.addSearcher(siteSearch,options);   
	  var drawOptions = new google.search.DrawOptions();   
	  drawOptions.setDrawMode( google.search.SearchControl.DRAW_MODE_LINEAR );  
	  var cse_helper = $jq(ncm.concat("<","div id='cse_helper'",">","<","\/div",">"));  
	  drawOptions.setSearchFormRoot(cse_helper[0]);  
	  searchControl.draw(document.getElementById("gsearch-results"),drawOptions);   
	  searchControl.execute(document.getElementById('fake-gsc-input').value);   
	  googleSiteSearchInitialized = true;   
    }
var jso220915 = {"simplefields":[{"name":"DATASOURCE","value":"4"},{"name":"DETAILSPAGE"},{"name":"SHOW_SLIDER","value":false},{"name":"SHOW_PAGER","value":false},{"name":"LANG_NO_DATA"},{"name":"SEND_PROID_FOR_CUSTOM_EVENT","value":false},{"name":"SHOW_DOWNLOAD","value":false},{"name":"THUMB_CROP","value":false},{"name":"AUTO_PAGER","value":true},{"name":"AUTO_PAGER_INTERVAL","value":"1000"},{"name":"NO_SCROLLABLE","value":false},{"name":"POPUP_VIEWER","value":false},{"name":"SLIDESHOW","value":true},{"name":"SLIDESHOW_INTERVAL","value":"5000"}],"datatype":"ALBUM_MEDIA_NIVARIA","properties":[{"name":"jsp_getimage","value":"product/getImage.jsp"},{"name":"lang_no_data","value":"No ha sido encontrado los ítems"},{"name":"class_thumb_title","value":"img-lower-button"},{"name":"slider_handler_margin","value":"-7"}],"dataid":220915};  
        
    jso220915["RELATIONS"] = [];
jso220915[ncm.SIMPLE_FIELDS_JSO].push({name:"NUMROWS",value:""+4*1});    
    jso220915[ncm.SIMPLE_FIELDS_JSO].push({name:"IMAGE_WIDTH",value:"96"});    
    jso220915[ncm.SIMPLE_FIELDS_JSO].push({name:"IMAGE_HEIGHT",value:"64"});   
    jso220915[ncm.SIMPLE_FIELDS_JSO].push({name:"VIEWER_WIDTH",value:"350"});    
    jso220915[ncm.SIMPLE_FIELDS_JSO].push({name:"VIEWER_HEIGHT",value:"262"});    
    jso220915[ncm.SIMPLE_FIELDS_JSO].push({name:"THUMB_CROP",value:false});   
    jso220915[ncm.SIMPLE_FIELDS_JSO].push({name:"THUMB_BLUR",value:2});    
    jso220915[ncm.SIMPLE_FIELDS_JSO].push({name:"THUMB_MODEL",value:1});
    jso220915[ncm.SIMPLE_FIELDS_JSO].push({name:"VIEWER_RESIZE_MODEL",value:0}); 
    jso220915[ncm.SIMPLE_FIELDS_JSO].push({name:"SELECTED_VISIBLE",value:0});   
    jso220915[ncm.SIMPLE_FIELDS_JSO].push({name:"SHOW_ZOOM_THUMB",value:false});
var options_lightbox = {  
	      overlayBgColor: "#000000",  
	      overlayOpacity: 0.8,  
	      imageLoading: "lib/jquery-lightbox-0.5/images/lightbox-ico-loading.gif",  
	      imageBtnClose: "lib/jquery-lightbox-0.5/images/lightbox-btn-close.gif",  
	      imageBtnPrev: "lib/jquery-lightbox-0.5/images/lightbox-btn-prev.gif",  
	      imageBtnNext: "lib/jquery-lightbox-0.5/images/lightbox-btn-next.gif",  
	      containerBorderSize: 10,  
	      containerResizeSpeed: 400,  
	      txtImage: "Imagen",  
	      txtOf: "de",  
	      imageBlank: "lib/jquery-lightbox-0.5/images/lightbox-blank.gif",  
	      keyToClose: "c",  
	      keyToPrev: "p",  
	      keyToNext: "n"  
	  };
var options_scrollable_220915 = {  
	  activeClass: "item-selected",  
	  api: false,  
	  clickable: true,  
	  disabledClass: "hidden",  
	  easing: "swing",  
	  hoverClass: "",  
	  items: ".navigation",  
	  loop: true,  
	  next: ".next",  
	  nextPage: ".nextPage",  
	  prev: ".prev",  
	  prevPage: ".prevPage",  
	  size: 4,  
	  speed: 400,  
	  vertical: false,
	  circular: true
    };
if(window["NcmMediaAlbum"]){   
    if(NcmMediaAlbum["instances"]==null){   
	  NcmMediaAlbum.initProperties($jq.extend({     
	      datatype: "ALBUM_MEDIA_NIVARIA",     
	      json: jso220915     
	  },page_options));     
    }   
}
var isHidden220947=false;
var jso220947 = {"simplefields":[{"name":"DATASOURCE","value":"205"},{"name":"AUTO_PAGER","value":false},{"name":"AUTO_PAGER_INTERVAL","value":"1000"},{"name":"SHOW_AJAX_PROGRESS","value":false},{"name":"NOT_SCROLL","value":false},{"name":"ENABLE_AUTO_RELOAD","value":false},{"name":"AUTO_RELOAD_INTERVAL","value":"1000"},{"name":"USE_FADE_EFFECT","value":false},{"name":"NO_REPEAT_AJAX","value":false},{"name":"IGNORE_DHTML_HISTORY","value":false}],"datatype":"QUERY_RESULT","properties":[{"name":"jsp_detailrelations","value":"components/queries/processobjectkeyrelations.jsp"},{"name":"lang_loading","value":"Cargando..."},{"name":"img_ajax_progress","value":"product/img/ajax-loader-arrows.gif"},{"name":"lang_play","value":"Play"},{"name":"lang_pause","value":"Pause"}],"dataid":220947};  
        
    jso220947["RELATIONS"] = [];
if(window["NcmQueryResults"]){   
    if(NcmQueryResults["instances"]==null){   
	  NcmQueryResults.initProperties($jq.extend({     
	      datatype: "QUERY_RESULT",     
	      json: jso220947     
	  },page_options));     
    }   
}
var jso221280 = {"simplefields":[{"name":"DATASOURCE","value":"217"},{"name":"NUMMONTHS","value":"1"},{"name":"URL_QUERY","value":"calendario_activiades.jsp"}],"datatype":"CALENDAR_EVENTS_AJAX","properties":[{"name":"calendar_class","value":"calendar"},{"name":"calendar_month_class_back","value":"calendar-month-back"},{"name":"calendar_month_class_next","value":"calendar-month-next"},{"name":"calendar_body_class","value":"calendar-body"},{"name":"calendar_daysrow_class","value":"calendar-body-row"},{"name":"calendar_day_class_event","value":"calendar-body-cell-event"},{"name":"calendar_day_class_today_event","value":"calendar-body-cell-today-event"},{"name":"calendar_day_class_selected","value":"calendar-body-cell-selected"},{"name":"calendar_day_event_class","value":"calendar-body-event"},{"name":"calmonth_class_details","value":"calendar-month-details"},{"name":"filter_month_name","value":"filter_month_"},{"name":"filter_calendar_type_name","value":"filter_ct_"},{"name":"filter_event_name","value":"filter_event_"},{"name":"lang_months","value":"Enero,Febrero,Marzo,Abril,Mayo,Junio,Julio,Agosto,Septiembre,Octubre,Noviembre,Diciembre"}],"dataid":221280};  
        
    jso221280["RELATIONS"] = [];
if(window["NcmCalendarEvents"]){   
    if(NcmCalendarEvents["instances"]==null){   
	  NcmCalendarEvents.initProperties($jq.extend({     
	      datatype: "CALENDAR_EVENTS_AJAX",     
	      json: jso221280     
	  },page_options));     
    }   
}
var isHidden220965=false;
var jso220965 = {"simplefields":[{"name":"DATASOURCE","value":"143"},{"name":"AUTO_PAGER","value":false},{"name":"AUTO_PAGER_INTERVAL","value":"1000"},{"name":"SHOW_AJAX_PROGRESS","value":false},{"name":"NOT_SCROLL","value":false},{"name":"ENABLE_AUTO_RELOAD","value":false},{"name":"AUTO_RELOAD_INTERVAL","value":"1000"},{"name":"USE_FADE_EFFECT","value":false},{"name":"NO_REPEAT_AJAX","value":false},{"name":"IGNORE_DHTML_HISTORY","value":false}],"datatype":"QUERY_RESULT","properties":[{"name":"jsp_detailrelations","value":"components/queries/processobjectkeyrelations.jsp"},{"name":"lang_loading","value":"Cargando..."},{"name":"img_ajax_progress","value":"product/img/ajax-loader-arrows.gif"},{"name":"lang_play","value":"Play"},{"name":"lang_pause","value":"Pause"}],"dataid":220965};  
        
    jso220965["RELATIONS"] = [];
var isHidden220990=false;
var jso220990 = {"simplefields":[{"name":"DATASOURCE","value":"119"},{"name":"AUTO_PAGER","value":false},{"name":"AUTO_PAGER_INTERVAL","value":"1000"},{"name":"SHOW_AJAX_PROGRESS","value":false},{"name":"NOT_SCROLL","value":false},{"name":"ENABLE_AUTO_RELOAD","value":false},{"name":"AUTO_RELOAD_INTERVAL","value":"1000"},{"name":"USE_FADE_EFFECT","value":false},{"name":"NO_REPEAT_AJAX","value":false},{"name":"IGNORE_DHTML_HISTORY","value":false}],"datatype":"QUERY_RESULT","properties":[{"name":"jsp_detailrelations","value":"components/queries/processobjectkeyrelations.jsp"},{"name":"lang_loading","value":"Cargando..."},{"name":"img_ajax_progress","value":"product/img/ajax-loader-arrows.gif"},{"name":"lang_play","value":"Play"},{"name":"lang_pause","value":"Pause"}],"dataid":220990};  
        
    jso220990["RELATIONS"] = [];
var jso220383 = {"simplefields":[{"name":"DATASOURCE","value":"203"}],"datatype":"FI_FORM","dataid":220383};  
        
    jso220383["RELATIONS"] = [];
if(window["NcmCevaForm"]){   
    if(NcmCevaForm["instances"]==null){   
	  NcmCevaForm.initProperties($jq.extend({     
	      datatype: "FI_FORM",     
	      json: jso220383     
	  },page_options));     
    }   
}
var jso298753 = {"complexfields":[{"values":[{"complexfields":[{"values":[{"simplefields":[{"name":"DATAID","value":"298754"},{"name":"EVENTS","value":["ncmValueChange"]},{"name":"SOURCE_DATASOURCE"},{"name":"DEST_DATASOURCE"},{"name":"IGNOREPARAMS","value":false}],"datatype":"RELATION","dataid":298759}],"name":"RELATION"}],"datatype":"RELATIONS","dataid":298757}],"name":"RELATIONS"}],"datatype":"URL","dataid":298753};  
        
    jso298753["RELATIONS"] = [];    
        
	      
		    
		       
			  try {   
				var jso298759 = {"simplefields":[{"name":"DATAID","value":"298754"},{"name":"EVENTS","value":["ncmValueChange"]},{"name":"SOURCE_DATASOURCE"},{"name":"DEST_DATASOURCE"},{"name":"IGNOREPARAMS","value":false}]};   
				var jso_cf = [];   
				   
				jso298759["complexfields"] = jso_cf;   
				jso298753["RELATIONS"].push(jso298759);   
			  } catch(err) {alert(err);}   
			  if(!ncm.customEventsTriggers["298754"]){    
				ncm.customEventsTriggers["298754"] = [];    
			  }    
			  ncm.customEventsTriggers["298754"].push(298753);
var jso220418 = {"simplefields":[{"name":"DATASOURCE","value":"154"}],"datatype":"FI_FORM","dataid":220418};  
        
    jso220418["RELATIONS"] = [];
$jq(function(){$jq("#main-menu-item-1389").addClass("selected");$jq("#main-menu-item-1389").addClass("over");$jq("#main-menu-item-").attr("class", "over");$jq("#secondary-menu-item-1389").addClass("selected");$jq("#secondary-menu-item-1389").addClass("over");$jq("#secondary-menu-item-").attr("class", "selected");});
if(jso220901["RELATIONS"].length>0){  
	      $jq(function(){  
		    $jq("#link220901").click(function(e){  
			  ncm.triggerEvent(ncm.customEvents["ncmValueChange"],["",220901,e]);  
			  e.preventDefault();  
			  return false;  
		    });  
	      });  
	  }
$jq(function(){   
	  $jq("div#cse form").submit(function(){   
	      if(window["google"] && window["google"]["search"]){   
		    if(!googleSiteSearchInitialized){   
			  cseLoaded();   
		    } else {  
			  searchControl.execute(document.getElementById('fake-gsc-input').value);  
		    }  
	      } else {   
		    google.load("search","1",{"callback":cseLoaded});   
	      }   
	      ncm.triggerEvent(ncm.customEvents["ncmValueChange"],["",220877]);  
	      return false;   
	  });   
	  $jq("div#cse input#fake-gsc-input").focus(function () {   
	      $jq(this).val("");   
	  });   
    });
$jq(function(){     
 
       
    if(window["NcmMediaAlbum"]) {     
        try {NcmMediaAlbum.register(220915,jso220915,jsoBatch220915);} catch(mErr) {}     
    }   
         
 
});
$jq(function(){$jq("#album220915 .album-viewer-holder .album-viewer").click( function(e){window.location='que_es_secartys.jsp';});$jq("#album220915 .home_media_album_foot").click( function(e){window.location='que_es_secartys.jsp';});$jq("#album220915 .album-info").click( function(e){window.location='que_es_secartys.jsp';});});
$jq(function(){$jq("#album220915 .album-viewer-holder .album-viewer").click( function(e){window.location='que_es_secartys.jsp';});$jq("#album220915 .home_media_album_foot").click( function(e){window.location='que_es_secartys.jsp';});$jq("#album220915 .album-info").click( function(e){window.location='que_es_secartys.jsp';});});
$jq(function(){$jq(".title-bar.is_closable").click(function(event) {if ( $jq(this).hasClass("is_closed") ){$jq(this).removeClass("is_closed");} else {$jq(this).addClass("is_closed");}var content = $jq(this).closest(".block").children(".block-content").first();if ( content.hasClass("closed") ){content.removeClass("closed");} else {content.addClass("closed");}});});
$jq(function(){  
            $jq("div.illustrated-text a[href^=http://]").attr("target","_blank");  
        });
$jq(function(){     
 
       
    if(window["NcmQueryResults"]) {     
        try {NcmQueryResults.register(220947,jso220947);} catch(mErr) {}     
    }   
         
 
});
$jq(function(){     
 
       
    if(window["NcmCalendarEvents"]) {     
        try {NcmCalendarEvents.register(221280,jso221280);} catch(mErr) {}     
    }   
         
 
});
$jq(function(){  
	      try {  
	          swfobject.embedSWF("Media/prolight.SWF","swfobject563241","230","185","9.0.0",null,{},{  
		        quality: "best",  
		        wmode:"opaque"  
	          },{id:"swfobject563241"});  
	      } catch(mErr){}  
        });
$jq(function(){     
 
       
    if(window["NcmQueryResults"]) {     
        try {NcmQueryResults.register(220965,jso220965);} catch(mErr) {}     
    }   
         
 
});
$jq(function(){     
 
       
    if(window["NcmQueryResults"]) {     
        try {NcmQueryResults.register(220990,jso220990);} catch(mErr) {}     
    }   
         
 
});
$jq(function(){  
		$jq("#roc267723 .floating-roc-close").click( function(e){  
			$jq(this).closest(".floating-roc").hide("slow");  
			  
		}  
	);  
	ncm.bindCustomEventForSelector(  
		ncm.customEvents["ncmValueChange"],  
		"#roc267723",  
		267723,  
		function(){  
			  
			  
		      $jq("#roc267723").show("slow");  
		});  
	});
$jq(function(){  
		$jq("#roc220896 .floating-roc-close").click( function(e){  
			$jq(this).closest(".floating-roc").hide("slow");  
			  
		}  
	);  
	ncm.bindCustomEventForSelector(  
		ncm.customEvents["ncmValueChange"],  
		"#roc220896",  
		220896,  
		function(params,e){  
			  
			placePopup("#roc220896",e);  
		      $jq("#roc220896").show("slow");  
		});  
	});
$jq(function(){     
 
       
    if(window["NcmCevaForm"]) {     
        try {NcmCevaForm.register(220383,jso220383);} catch(mErr) {}     
    }   
         
 
});
if(jso298753["RELATIONS"].length>0){  
	      $jq(function(){  
		    $jq("#link298753").click(function(e){  
			  ncm.triggerEvent(ncm.customEvents["ncmValueChange"],["",298753,e]);  
			  e.preventDefault();  
			  return false;  
		    });  
	      });  
	  }
$jq(function(){  
		$jq("#roc298754 .floating-roc-close").click( function(e){  
			$jq(this).closest(".floating-roc").hide("slow");  
			  
		}  
	);  
	ncm.bindCustomEventForSelector(  
		ncm.customEvents["ncmValueChange"],  
		"#roc298754",  
		298754,  
		function(params,e){  
			  
			placePopup("#roc298754",e);  
		      $jq("#roc298754").show("slow");  
		});  
	});
$jq(function(){     
 
       
    if(window["NcmCevaForm"]) {     
        try {NcmCevaForm.register(220418,jso220418);} catch(mErr) {}     
    }   
         
 
});
$jq(function(){
        dhtmlHistory.initialize();
        dhtmlHistory.addListener(rshListener);
    });
$jq(function(){  
	  if(window["NcmMediaAlbum"]){  
	      try {  
		    NcmMediaAlbum.get(220915).previewVerticalAlign();  
		      
			  NcmMediaAlbum.get(220915).autoPager();  
		     
		      
			 NcmMediaAlbum.get(220915).slideshow(); 
		      
	      } catch(mErr){}  
	  }  
    });
$jq(function(){    
        try {  
	      var m_obj = NcmQueryResults.get(220947);
	      if(m_obj){
                    
                m_obj.triggerEventAfterLoad();
	       }
        } catch(mErr){}    
    });
$jq(function(){    
        try {  
	      var m_obj = NcmQueryResults.get(220965);
	      if(m_obj){
                    
                m_obj.triggerEventAfterLoad();
	       }
        } catch(mErr){}    
    });
$jq(function(){    
        try {  
	      var m_obj = NcmQueryResults.get(220990);
	      if(m_obj){
                    
                m_obj.triggerEventAfterLoad();
	       }
        } catch(mErr){}    
    });
if (rules220383) {$jq(function(){$jq("#FRM220383").validate({onsubmit: false,debug: false,onkeyup: true,invalidHandler: function(event, validator) {},rules: rules220383,messages: messages220383});});}
if (rules220418) {$jq(function(){$jq("#FRM220418").validate({onsubmit: false,debug: false,onkeyup: true,invalidHandler: function(event, validator) {},rules: rules220418,messages: messages220418});});}

