/* home.js - part of htx.ro
   release 2002 */

var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no)
var loadedobjects=""
var rootdomain="http://"+window.location.hostname
var bustcacheparameter=""
var portoPos = 0; // used to determine if dummy1 or dummy2 is active
var portoIndex = 2; // used in conjuction with portoCount to choose porto item(s) to load
// var portoCount  -- automatically generated porto count
// var portofolio  -- automatically generated array with porto items

function switchPortofolio(){
switch(portoPos){
     case 1:  // add content to dummy2, move dummy1 out to left, move dummy2 in from right;
          debug('portofolio ['+portoIndex+'] - position1: d1 hid, d2 show');
          document.getElementById('p1dummy2').style.left = '525px';
          document.getElementById('p2dummy2').style.left = '525px';
          ajaxpage(portofolio[portoIndex],'p1dummy2');
          ajaxpage(portofolio[portoIndex+1],'p2dummy2');
          new Effect.Parallel([
              new Effect.Move('p1dummy1', { sync: true, x: -525, y: 0, mode: 'relative' }),
              new Effect.Opacity('p1dummy1', { sync: true, from: 1, to: 0 })
                 ], { duration: 1.0 });
          new Effect.Parallel([
              new Effect.Move('p1dummy2', { sync: true, x: -525, y: 0, mode: 'relative' }),
              new Effect.Opacity('p1dummy2', { sync: true, from: 0, to: 1 })
                 ], { duration: 1.0 });
          new Effect.Parallel([
              new Effect.Move('p2dummy1', { sync: true, x: -525, y: 0, mode: 'relative' }),
              new Effect.Opacity('p2dummy1', { sync: true, from: 1, to: 0 })
                 ], { duration: 1.0 });
          new Effect.Parallel([
              new Effect.Move('p2dummy2', { sync: true, x: -525, y: 0, mode: 'relative' }),
              new Effect.Opacity('p2dummy2', { sync: true, from: 0, to: 1 })
                 ], { duration: 1.0 });
          portoPos = 2;
          break;
     case 2:  // add content to dummy1, move dummy2 out to left, move dommy1 in from right;
          debug('portofolio ['+portoIndex+'] - position2: d2 hid, d1 show');
          document.getElementById('p1dummy1').style.left = '525px';
          document.getElementById('p2dummy1').style.left = '525px';
          ajaxpage(portofolio[portoIndex],'p1dummy1');
          ajaxpage(portofolio[portoIndex+1],'p2dummy1');
          new Effect.Parallel([
              new Effect.Move('p1dummy2', { sync: true, x: -525, y: 0, mode: 'relative' }),
              new Effect.Opacity('p1dummy2', { sync: true, from: 1, to: 0 })
                 ], { duration: 1.0 });
          new Effect.Parallel([
              new Effect.Move('p1dummy1', { sync: true, x: -525, y: 0, mode: 'relative' }),
              new Effect.Opacity('p1dummy1', { sync: true, from: 0, to: 1 })
                 ], { duration: 1.0 });
          new Effect.Parallel([
              new Effect.Move('p2dummy2', { sync: true, x: -525, y: 0, mode: 'relative' }),
              new Effect.Opacity('p2dummy2', { sync: true, from: 1, to: 0 })
                 ], { duration: 1.0 });
          new Effect.Parallel([
              new Effect.Move('p2dummy1', { sync: true, x: -525, y: 0, mode: 'relative' }),
              new Effect.Opacity('p2dummy1', { sync: true, from: 0, to: 1 })
                 ], { duration: 1.0 });
          portoPos = 1;
          break;
     default: ; // this should never occur!
} // switch
if (portoIndex<portoCount-2) {portoIndex += 2;}
                        else {portoIndex = 0;}
}

function startPortofolio(){
debug('portofolio loaded. '+portoCount+' items found.');
debug('portofolio starting...');
document.getElementById('portofolio1').style.backgroundImage = 'none';
document.getElementById('portofolio2').style.backgroundImage = 'none';
ajaxpage(portofolio[0],'p1dummy1');
ajaxpage(portofolio[1],'p2dummy1');
  new Effect.Parallel([
    new Effect.Move('p1dummy1', { sync: true, x: -525, y: 0, mode: 'relative' }),
    new Effect.Opacity('p1dummy1', { sync: true, from: 0, to: 1 })
  ], { duration: 1.0 });
  new Effect.Parallel([
    new Effect.Move('p2dummy1', { sync: true, x: -525, y: 0, mode: 'relative' }),
    new Effect.Opacity('p2dummy1', { sync: true, from: 0, to: 1 })
  ], { duration: 1.0 });
portoPos = 1;
var portoTimer = setInterval('switchPortofolio()',13000);
}

function ajaxpage(url, containerid){
var page_request = false
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
      try { page_request = new ActiveXObject("Msxml2.XMLHTTP") }
      catch (e){
              try{ page_request = new ActiveXObject("Microsoft.XMLHTTP") }
              catch (e){}
              }
     }
else
return false
page_request.onreadystatechange=function(){ loadpage(page_request, containerid) }
if (bustcachevar) //if bust caching of external page
bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
page_request.open('GET', url+bustcacheparameter, true)
page_request.send(null)
}

function loadpage(page_request, containerid){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(containerid).innerHTML=page_request.responseText
}

function loadobjs(){
if (!document.getElementById)
return
for (i=0; i<arguments.length; i++){
var file=arguments[i]
var fileref=""
if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
     if (file.indexOf(".js")!=-1){ //If object is a js file
          fileref=document.createElement('script')
          fileref.setAttribute("type","text/javascript");
          fileref.setAttribute("src", file);
          }
     else if (file.indexOf(".css")!=-1){ //If object is a css file
          fileref=document.createElement("link")
          fileref.setAttribute("rel", "stylesheet");
          fileref.setAttribute("type", "text/css");
          fileref.setAttribute("href", file);
          }
     }
if (fileref!=""){
     document.getElementsByTagName("head").item(0).appendChild(fileref)
     loadedobjects+=file+" " //Remember this object as being already added to page
     }
} //for
}
