var deasil = {};

deasil.doit = function (json, main, num) {
   //var itemorig = $("[@class=deasil_pipe_item]", main);
   var itemorig = $(".deasil_pipe_item", main);
   if( json.count == 0 ) { return; }
   for( var i=0; i<json.count; i++ ) {
      var item = itemorig.clone(1);
      var id = 'deasil_pipe_' + num + '_' + i;
      item.attr('id', id);
      itemorig.parent().append(item);

      var title = $('#' + id + ' .deasil_pipe_title');
      var link  = $('#' + id + ' .deasil_pipe_link');

      var cur = json.value.items[i];
      //title.append(cur.title);
      var fixedtitle;
      if( main.attr('deasil_max_title') ) { 
         var max = main.attr('deasil_max_title');
         fixedtitle = cur.title.length > max ? cur.title.substring(0,(max-2)) + '...' : cur.title;
      }
      else {
         fixedtitle = cur.title;
      }

      title.append(fixedtitle);
      link.attr('href', cur.link);
   }
   itemorig.css('display', 'none');
   main.css('display', 'block');
}

deasil.x = function () { alert('ho'); }

deasil.pipe_init = function () {
   var mains = $('.deasil_pipe');
   deasil.pipe_callbacks = deasil.pipe_callbacks || new Array;
   
   mains.each( function (j) {
         var main = $(this);
         var params = {};
         var deasilre = /^deasil(x?)_(.*)$/;
	 var paramarr = new Array
         for( var i=0; i<this.attributes.length; i++) { 
            if( deasilre.test(this.attributes[i].name) ) {
               if( RegExp.$1 == 'x' ) {
		  paramarr.push(RegExp.$2 + '=' + encodeURIComponent(this.attributes[i].value));
               }
            }
         }

	 deasil.pipe_callbacks['cb' + j] = function (json_result) {
	    deasil.doit( json_result, main, j);
	 }
	 
	 var paramstr = paramarr.join('&');
	 var url = 'http://pipes.yahoo.com/pipes/' + this.attributes['deasil_pipe'].value + '/run?_render=json&_callback=deasil.pipe_callbacks.cb' + j + '&' + paramstr;
	 var script = document.createElement('script');
	 script.type = 'text/javascript';
	 script.src  = url;
	 document.body.appendChild(script);
	 //$('<script type="text/javascript" src="' + url + '"></script>').appendTo("body");
      }
   );
}

$(document).ready(deasil.pipe_init);

