
/*
Transporter – Visuelle Logistik, www.transporter.at, 2011
Rainer Fabrizi
*/


/* !softscroll (benötigt prototype.js und scriptaculous.js?load=effects)
****************************************************/
function softscroll(anker) {
  var parts = anker.split("#");
  new Effect.ScrollTo(parts[1],{duration: 0.5});
  return false;
}


/* sortieren der teaser (benötigt prototype.js)
****************************************************/
function sortieren(liste,filter,rauf,filtername) {
  var dauer = 0.25;
  if (liste == "pliste") {
    var container = $$("div."+liste+" div.i4");
  } else if (liste == "fliste" || liste == "tliste") {
    var container = $$("div."+liste+" div.i3");
  }
  container = container[0];
  // filterinfo ausgeben
  var filterinfo = $$("div."+liste+" p.filterinfo");
  filterinfo[0].replace("<p class=\"filterinfo\">Gefiltert nach "+filtername+"</p>");
  // alle teaser in array
  var unsortedteasers = $$("div."+liste+" div.teaser");
  var i=0;
  if (unsortedteasers.length > 0) {
    // container ausblenden
    fadeinout(container,'out',dauer);
    // neuer array
    var sortedteasers = new Array();
    // die nicht zu filternden in den neuen array
    for (i=0;i<unsortedteasers.length;i++) {
      if (unsortedteasers[i].hasClassName(filter) == false) {
        sortedteasers.push(unsortedteasers[i]);
      }
    }
    // die zu filternden an den anfang (in korrekter reihenfolge) des neuen arrays
    for (i=unsortedteasers.length-1;i>=0;i--) {
      if (unsortedteasers[i].hasClassName(filter) == true) {
        sortedteasers.unshift(unsortedteasers[i]);
      }
    }
    setTimeout(function xy() { filtern(liste,filter,container,sortedteasers,dauer);}, dauer*1000);
  }
  if (rauf=="rauf") {
    softscroll('#mitte');return(false);
  }
}

function filtern(liste,filter,container,sortedteasers,dauer) {
  // var clonedteasers = sortedteasers.clone(sortedteasers, 1);
  // inhalt des containers entfernen
  // alert(clonedteasers[0].innerHTML);
  // container.update();
  // alert(container.outerHTML);
  // neuen inhalt in container
  var i=0;
  for (i=0;i<sortedteasers.length;i++) {
    container.insert(sortedteasers[i]);
  }
  // container einblenden
  fadeinout(container,'in',dauer);
}

function fadeinout(myelement,inout,dauer) {
  if (inout=='in') {
    new Effect.Opacity(myelement, { from: 0, to: 1, duration: dauer });
  } else {
    new Effect.Opacity(myelement, { from: 1.0, to: 0, duration: dauer/2 });
  }
}/* !ueopenclose****************************************************/// öffnet und schließt domainswitchvar ueoc = 0;function ueopenclose() {  if (ueoc==0) {    blinddownID('#domainswitch', 1);    ueoc = 1;  } else {    blindupID('#domainswitch', 1);    ueoc = 0;  }}
