var curSlideWipe=0;
var slideElementIds = [];
var slideOrientations = [];
var slideTriggered = [];
var curSlideGrow=[];
var allSlidesDone=true;

var slideInternalElementsIndex=[];

function getpx(str)
{
    var len = str.length;
    var snum = str.substr(0,len-2);
    //alert(snum);
    return snum * 1;
}

//orientation=horz or vert

function addSlideWipe(id, orientation)
{
    var w=getpx(document.getElementById(id).style.width);
    var h=getpx(document.getElementById(id).style.height);
    var output="";
    
    slideElementIds[curSlideWipe] = id;
    slideOrientations[curSlideWipe] = orientation;
    slideTriggered[curSlideWipe] = false;
    curSlideGrow[curSlideWipe] = 1;
    slideInternalElementsIndex[curSlideWipe]=[];
    
    var el=0;
    var curp=0;
    
    if (slideOrientations[curSlideWipe]=="right") {
    
        while(el<100) {
        
            if (curp < w-20) {
                
                // alert(curp+" of "+w);
                slideInternalElementsIndex[curSlideWipe][el]=20;
                
                output=output+"<div style=\"left:"+curp+"px;\" id=\"d"+curSlideWipe+el+"\" class=\"slidehorz\"></div>";
                    
            } else {
            
                slideInternalElementsIndex[curSlideWipe][el]=(w-curp);
                //alert(slideInternalElementsIndex[curSlideWipe][el]);
                
                output=output+"<div id=\"d"+curSlideWipe+el+"\" style=\"left:"+curp+"px; width:"+(w-curp)+"px;\" class=\"slidehorz\"></div>";
                
                break;
                
            }
            
            el++;
            curp+=20;
        
        }
    
    }
    
    if (slideOrientations[curSlideWipe]=="left") {
    
        while(el<100) {
        
            if (curp < w-20) {
                
                // alert(curp+" of "+w);
                slideInternalElementsIndex[curSlideWipe][el]=20;
                
                output=output+"<div style=\"right:"+curp+"px;\" id=\"d"+curSlideWipe+el+"\" class=\"slidehorz\"></div>";
                    
            } else {
            
                slideInternalElementsIndex[curSlideWipe][el]=(w-curp);
                //alert(slideInternalElementsIndex[curSlideWipe][el]);
                
                output=output+"<div id=\"d"+curSlideWipe+el+"\" style=\"right:"+curp+"px; width:"+(w-curp)+"px;\" class=\"slidehorz\"></div>";
                
                break;
                
            }
            
            el++;
            curp+=20;
        
        }
    
    }
    
    if (slideOrientations[curSlideWipe]=="up") {
    
        //alert(orientation);
        
        while(el<100) {
        
            if (curp < h-20) {
                
                // alert(curp+" of "+w);
                slideInternalElementsIndex[curSlideWipe][el]=20;
                //alert("here");
                
                output=output+"<div style=\"bottom:"+curp+"px;\" id=\"d"+curSlideWipe+el+"\" class=\"slidevert\"></div>";
                    
            } else {
            
                slideInternalElementsIndex[curSlideWipe][el]=(h-curp);
                //alert(slideInternalElementsIndex[curSlideWipe][el]);
                
                output=output+"<div id=\"d"+curSlideWipe+el+"\" style=\"bottom:"+curp+"px; height:"+(w-curp)+"px;\" class=\"slidevert\"></div>";
                
                break;
                
            }
            
            el++;
            curp+=20;
        
        }
    
    }
    
    if (slideOrientations[curSlideWipe]=="down") {
    
        //alert(orientation);
        
        while(el<100) {
        
            if (curp < h-20) {
                
                // alert(curp+" of "+w);
                slideInternalElementsIndex[curSlideWipe][el]=20;
                //alert("here");
                
                output=output+"<div style=\"top:"+curp+"px;\" id=\"d"+curSlideWipe+el+"\" class=\"slidevert\"></div>";
                    
            } else {
            
                slideInternalElementsIndex[curSlideWipe][el]=(h-curp);
                //alert(slideInternalElementsIndex[curSlideWipe][el]);
                
                output=output+"<div id=\"d"+curSlideWipe+el+"\" style=\"top:"+curp+"px; height:"+(w-curp)+"px;\" class=\"slidevert\"></div>";
                
                break;
                
            }
            
            el++;
            curp+=20;
        
        }
    
    }
    
    if (el==100)
        alert("el==100");
        
    
    //alert("output:"+output);
    document.getElementById(id).innerHTML=output;
    
    curSlideWipe++;
    
}

function triggerSlideWipe(id)
{

    //alert(slideInternalElementsIndex[0][35]);
    
    //var els=slideInternalElementsIndex[0];
    //alert("len:"+els.length);
    
    allSlidesDone=false;
    var sw=false;
    for (var t=0;t<slideElementIds.length;t++) {
        
        if (slideElementIds[t]==id) {
            
            slideTriggered[t]=true;
            sw=true;
        
        }
        
    }
    
    if (sw==false)
        
        alert("slide id: "+id+" not found.");
}

function doSlideWipe()
{
    //document.getElementById("debug").innerHTML=document.getElementById("debug").innerHTML+"--------new---------<br>";
    var sw=false;
    
    for (var t=0;t<curSlideWipe;t++) {
    
        //alert("t:"+t);
    
        if (slideTriggered[t]==true) {
            
            for (var t2=0;t2<curSlideGrow[t];t2++) {
            
                if (slideInternalElementsIndex[t][t2]>0) {
                    
                    //alert(t+t2+">0");
                    sw=true;
                    
                    slideInternalElementsIndex[t][t2]-=2;
                    
                    if (slideOrientations[t]=="right" || slideOrientations[t]=="left")
                        
                        document.getElementById("d"+t+t2).style.width=slideInternalElementsIndex[t][t2]+"px";
                        
                    if (slideOrientations[t]=="up" || slideOrientations[t]=="down")
                        
                        document.getElementById("d"+t+t2).style.height=slideInternalElementsIndex[t][t2]+"px";
                        
                    //document.getElementById("debug").innerHTML=document.getElementById("debug").innerHTML+", d"+t+t2+":"+document.getElementById("d"+t+t2).style.width;
                    
                }
            
            }
            
            var els=slideInternalElementsIndex[t];
            //alert("len:"+els.length);
            if (curSlideGrow[t] < els.length) {
            
                curSlideGrow[t]+=2;
                //document.getElementById("debug").innerHTML=document.getElementById("debug").innerHTML+"<br>grow:"+curSlideGrow[t]+"<br>";
                
            } else
                curSlideGrow[t]=els.length;
                
            if (sw==false) {
                
                //alert("t:"+t+" els.len:"+els.length);
                
                document.getElementById("d"+t+(els.length-1) ).style.width="0px";
                
                slideTriggered[t]=false;
                
            }
        
        }
            
    }
    
    //document.getElementById("debug").innerHTML=document.getElementById("debug").innerHTML+"<br>sw:"+sw+"<br><br>";
    
    if (sw==true) {
        
        //alert("sw:true");
        setTimeout(doSlideWipe, 40);
        
    } else 
        
        allSlidesDone=true;
}


