/**
 * @author MK
 */
(function($){
 
 
 
 $.fn.showbox.defaults.ajaxframe = {
  dims: {
   width: 800,
   height: 650
  },
  attrs: {
   frameborder: 'no'
  }
 }; $.createUrlIndex.mmContent.add('ajaxframe', {
  filter: function(url, opener, urlPart){
   
   return opener.is('.ajaxframe');
  },
  load: function(url, opener, ui, fn){
  
   
   
   var frm = $(opener).closest('form');
   
   var inst = ui.instance || ui,
    jElm,
    opts  = inst.options.ajaxframe
   ;
   
   var errors = 0;
   frm.find('input').each(function(idx){
    v = $(this).attr('validate');
    if (v)
    {
     $('#error-'+ this.name).remove();
     
     if (this.value != this.value.match(v))
     {
      errors++;
      $(this).before("<div id='error-"+ this.name +"' class='validation-error'>"+ $(this).attr('message') +"</div>");
     }
    }
   });
   
   frm.find('select').each(function(idx){
    v = $(this).attr('validate');
    if (v)
    {
     eid = this.name.replace("$", "");
     $('#error-' + eid).remove();
     
     if (this.value == "")
     {
      errors++;
      $(this).before("<div id='error-"+ eid +"' class='validation-error'>"+ $(this).attr('message') +"</div>");
     }
    }
   });

   if (errors > 0)
   {
    inst.hide();
    inst.mask.mask('hide');
    return false;
   }
   
   
   
   
   var urlOpts = $.location.strToObj(url, {decode: true}),
    dims  = $.extend({}, opts.dims),
    attrs  = $.extend({}, opts.attrs, $.location.strToObj(urlOpts.attrs || '', {decode: true}))
   ;
      
   if(urlOpts.height){
    dims.height = parseInt(urlOpts.height, 10);
   }
   if(urlOpts.width){
    dims.width = parseInt(urlOpts.width, 10);
   }
   
   jElm = $('<iframe name="' + frm.attr('target') + '"></iframe>')
       .attr(attrs)
       .css(dims)
      ;
   inst.content = inst.content || {};
   inst.content['multimedia-box'] = jElm;
   
   if (ui.extras) {
    ui.extras.mm = jElm;
   }
   
   if(ui.extras){
    ui.extras.mm = jElm;
   }
   
   fn(url, dims.width);
   
   frm.submit();
   }
 });
 
})(jQuery);


apertoJQuery(document).ready(function() {
  apertoJQuery('.ajaxframe')
   .showbox(jQuery.extend(true, {
     maskOpts: {
      cssWidth: true
     },
     controlsWrapper: false,
     focusOnShow: 'h2, a:not(.ui-disabled)',
     widthElementSel: '.showbox'}, {
     positionType: 'centerHorizontalView',
     structure: '<div class="showbox iframebox">' +
      '<div class="showbox-box">'+
       '<div class="content-box">'+
        '<div class="content-box-box">'+
         '<div class="multimedia-box"></div>'+
        '</div>'+
       '</div>'+
       '<div class="video-meta">'+
       '</div>'+
       '<span class="showbox-toolbar">'+
        ' <a role="button" class="close-button" href="#"></a>'+
       '</span>'+
      '</div>'+
     '</div>',
    hide: function(e, ui) {
     ui.instance.element.find('.multimedia-box').html('');
    }
   }));
});

