////////////////////////////////////////////////////////
///////////////////////////////////////////////////////
// intial declarations

//var photobook = new Array();
var count = 0;
var div = 'dynimg';
var thispic = 'subpic';
var currentimg = -1;

var piccount = 0;
var lastimg = 0;
var pboxes = new Array();

var okgo1 = document.getElementById('dynimg');
var okgo2 = document.getElementById('dynimg2');


        //okgo1.currentPos = [0,0];
        //okgo2.currentPos = [0,0];

////////////////////////////////////////////////////////
///////////////////////////////////////////////////////

/////////////////////////////////
/////////////jquery for pc stuff
///////////////////////////////////
/*
$(document).ready(function(){


    // this little function high lights the currently moused over div
    $('div .linkopacity').mouseover( function() {
    $(this).css("opacity", "0.4");
    });
    
    $('div .linkopacity').mouseout( function() {
    $(this).css("opacity", "1");
    });


});




*/






function extrawin(window, state)
{
    /* this checks the value of a toggle box whos id is bla-check.  if it is checked the div with the id bla will be run through this function which will hide all the thumbnail windows and bring up that div.  if the checkbox goes off it returns to the previous state. the extra argument is for external control of the window parameters.

    
    */
    
    var togcheck = window+"-check";
    var tog = document.getElementById(togcheck);
    
    var parentdiver = document.getElementById(togcheck).parentNode.id;
    var yes = window+"_yes"
    var no = window+"_no"
    
    var popups = new Array("biowin","contactwin","lightboxwin");
    
    switch(state)
    {
        case 1:
        tog.checked = true;
        break;
        
        case 0:
        tog.checked = false;
        break;
        
        case "toggle":
        tog.checked = !tog.checked;
        break;
        
        case "":
        break;
    
    
    }
   
    
    if(tog.checked)
    {
        hide();
        showdiv(window);
        document.getElementById(parentdiver).childNodes[2].setAttribute("src", document.getElementById(parentdiver).childNodes[2].onImage.src);
        document.getElementById(parentdiver).id = yes;
        hellobg(1);
       
    }
    else
    {
        show();
        
        hidediv(window);
        hellobg(0);
        
        //here's to using the dom!
        document.getElementById("biowin-check").checked = false;
        document.getElementById("contactwin-check").checked = false;
        document.getElementById("lightboxwin-check").checked = false;
        document.getElementById("biowin-check").parentNode.childNodes[2].setAttribute("src", document.getElementById("biowin-check").parentNode.childNodes[2].offImage.src);
        document.getElementById("contactwin-check").parentNode.childNodes[2].setAttribute("src", document.getElementById("contactwin-check").parentNode.childNodes[2].offImage.src);
        document.getElementById("lightboxwin-check").parentNode.childNodes[2].setAttribute("src", document.getElementById("lightboxwin-check").parentNode.childNodes[2].offImage.src);
        document.getElementById("biowin-check").parentNode.id = "biowin_no";
        document.getElementById("contactwin-check").parentNode.id = "contactwin_no";
        document.getElementById("lightboxwin-check").parentNode.id = "lightboxwin_no";
        lowerline();
       
       /*
       
       
       
                    
                        ffffffffffffffffffffffffffffffffffffffffffffffff
               for(var i = 0 ; i < popups.length ; i++)
        {
       
        document.getElementById().childNodes[2].setAttribute("src", document.getElementById(popups[i]).childNodes[2].offImage.src);
        //document.getElementById(popups[i]).childNodes[0].setAttribute("checked", "false");
        //document.getElementById(popups[i]).id = popups[i]+'_no';
        }
        
       
       
       
       */

    }    



}


function hellobg(door)
{
    if(door)
    {
        //document.body.("newcss").innerHTML = '<style type="text/css">body{background: url(../build/bg.gif)}</style>';
        document.body.className = "lines";
    }
    else
    {
         document.body.className = "plain"; //document.getElementById("newcss").innerHTML = '';
    }   

}



// toggle hide thumbnails
////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////

function imgtoggle(box)
{
    var togcheck = box+"-check";
    var tog = document.getElementById(togcheck).checked;

    document.getElementById(togcheck).checked = !tog;
    toggle(box);


}

function toggle(box)
{
    var togcheck = box+"-check";
    var block = box+"_block";
    var off = "top_"+box+"_off.gif";
    var on = "top_"+box+"_on.gif";
    var tog = document.getElementById(togcheck).checked;
    var parentdiver = document.getElementById(togcheck).parentNode.id;
    var yes = box+"_yes"
    var no = box+"_no"

    if(tog == true)
    {
        showdiv(box);

        document.getElementById(parentdiver).childNodes[2].setAttribute("src", document.getElementById(parentdiver).childNodes[2].onImage.src);
        document.getElementById(parentdiver).id = yes;

    }
    else
    {
        hidediv(box);

        document.getElementById(parentdiver).childNodes[2].setAttribute("src", document.getElementById(parentdiver).childNodes[2].offImage.src);
        document.getElementById(parentdiver).id = no;
    }
lowerline();

     //  document.getElementById(togcheck).nextSibling.id = "flooz";//document.getElementById(togcheck).nextSibling.onImage.src;

}


///////////////////////////////////
///////////////////////////////////
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////


function hidediv(box)
{    
    var temp = document.getElementById(box);
    temp.style.display = "none";
}

function showdiv(box)
{
    var temp = document.getElementById(box);
    temp.style.display = "block";
}

/*

click toggle
    toggle state
    switch image
    
    
click image
    toggle state
    toggle check
    toggle image

*/


////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//lowerline();

function lowerline()
{
   
    if(document.body.className == "lines" || (document.getElementById("stilllife").style.display == 'none' && document.getElementById("lifestyle").style.display == 'none' && document.getElementById("personal").style.display == 'none'))
    {
        document.getElementById("navdiv2").style.display = 'none';
        document.getElementById("imgframe").style.display = 'none';
    }
    else
    {
            document.getElementById("navdiv2").style.display = 'block';
            document.getElementById("imgframe").style.display = 'block';
    }
}



function show()
{
    document.getElementById("photocat1").style.display = 'block';
    document.getElementById("photocat2").style.display = 'block';
    document.getElementById("photocat3").style.display = 'block';
    //document.getElementById("dynimg").style.display = 'block';
    //document.getElementById("dynimg2").style.display = 'block';    
    document.getElementById("imgframe").style.display = 'block';

    document.getElementById("biowin").style.display = 'none';
    document.getElementById("contactwin").style.display = 'none';
    document.getElementById("lightboxwin").style.display = 'none';

}

function hide()
{
    document.getElementById("photocat1").style.display = 'none';
    document.getElementById("photocat2").style.display = 'none';
    document.getElementById("photocat3").style.display = 'none';
    document.getElementById("imgframe").style.display = 'none';
    
    //document.getElementById("dynimg").style.display = 'none';
    //document.getElementById("dynimg2").style.display = 'none'; 
    
    
    document.getElementById("biowin").style.display = 'none';
    document.getElementById("contactwin").style.display = 'none';
    document.getElementById("lightboxwin").style.display = 'none';

}

function init()
{
document.getElementById("stilllife").style.display = 'none';
document.getElementById("lifestyle").style.display = 'none';
document.getElementById("personal").style.display = 'none';
document.getElementById("dynimg").style.display = 'none';
document.getElementById("dynimg2").style.display = 'none';
/*
document.write(document.getElementById("photocat1").childNodes.length);


for(var i = 0; i < document.getElementById("photocat1").childNodes.length; i++)
{
    //photobook[count++] = document.getElementById("photocat1").childNodes[i].id;
    if (document.getElementById("photocat1").childNodes[i].childNodes.length > 0)
    {
        photobook[count++] = document.getElementById("photocat1").childNodes[i].childNodes[0].childNodes[0].src;
    }
    //document.write(boo);

}

for(var i = 0; i < document.getElementById("photocat2").childNodes.length; i++)
{
   // photobook[count++] = document.getElementById("photocat2").childNodes[i].childNodes[0].childNodes[0].getAttribute("src");

}

for(var i = 0; i < document.getElementById("photocat3").childNodes.length; i++)
{
   // photobook[count++] = document.getElementById("photocat3").childNodes[i].childNodes[0].childNodes[0].getAttribute("src");

}

//document.getElementById("downloadpdf").onclick = function(){cookiedump();} 

*/



}





///////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
// cookie stuff






function addimg()
{
    var src = currentimg;
    
/*    var pop = Cookie.get("photos");
    var bp = pop.getValue().split("&");
    var found = 0;
    for(var i = 0; i < bp.length; i++)
    {
    
        // this evaluates whether the src variable (image index) is equal the any of the cookie's values.
        // the extra split stuff is because of the cookie library in use.  it adds an unecessary '=' into the sitch
        if(src == bp[i].split("=" , 1))
        {   
            found = 1;
            break;
        }
   
 
    }
    
    if(!found)
    {
        //alert(); // photobook is our array from the top level index.
        pop.add(src, photobook[src]);
        pop.save();


    }
    
        
                var el = document.createElement('div');
        el.innerHTML = '<img src="../build/delete_off.gif">';
        dom.add(el, 'lightboxblock');
        event.add(el, 'click', function(e) {
            dom.remove(boo);
            dom.remove(this);
          });
 
    
    
    */
    
     // document.getElementById("lightboxlink").innerHTML
     
     // global var that is the currently selected img.  if added uses the dom js to generate a new image in a div
     // generate html to self remove // 

        // increment the number of images in the lightbox
        piccount++;
        litenum();
        
        var el = document.createElement('div');
        el.innerHTML = '<img src="../build/delete_off.gif">';
        dom.add(el, 'lightboxblock');
        var boo = document.createElement('div');
        boo.innerHTML = '<img width="350px" id= "'+src+'" src="'+photobook[src]+'" alt="" />';

        dom.add(boo, "lightboxblock");
        event.add(el, 'click', function(e) {
            dom.remove(boo);
            dom.remove(this);
            piccount--;
            litenum();
          });

     




}




function cookiedump()
{


photobank = Cookie.get("photos");
photobank.remove();
photobank = Cookie.get("photos");
//document.getElementById("lightboxblock").innerHTML += document.getElementById("lightboxblock").childNodes.length;

for(var i = 0 ; i < document.getElementById("lightboxblock").childNodes.length; i++ )
{
        //check to see if the word delete is in the src text of the image, if it is don't add it to the cookie.
        if(document.getElementById("lightboxblock").childNodes[i].childNodes[0].src.indexOf("delete") == -1)
        {
        var boo = document.getElementById("lightboxblock").childNodes[i].childNodes[0].id;
       // document.getElementById("lightboxblock").innerHTML += boo+" ___<br/>";
        photobank.add(boo, photobook[boo]);
        photobank.save();
        }
}

}


//var photobank = Cookie.get("photos");
//photobank.remove();
// redundant and dumb i know.


/*
var bp = photobank.getValue().split("&");



    if(bp.length > 1)
    {
    
            for(var i = 0; i < bp.length; i++)
            {
                
                if( 1) //!(bp[i][1].split("=")) )
                {
                //bp[i].split("=" , 1)
                // the extra split stuff is because of the cookie library in use.  it adds an unecessary '=' into the sitch
               /// document.getElementById("lightboxblock").innerHTML += '<img onclick="'+removeimg(i)+'" src="delete_off.gif" alt="" />';  
                document.getElementById("lightboxblock").innerHTML += '<img width="350px" src="'+photobook[bp[i].split("=" , 1)]+'" alt="" />';  
                }
            
            }
     
            
    }

*/





function litenum()
{
    document.getElementById("pcount").innerHTML =  piccount;//"fffff";  
}


function removeimg(src)
{
        pop.add(src, '0');
        pop.save();
        document.getElementById("pcount").innerHTML = --piccount+" ";  
}




function spitcookie()
{

document.getElementById("lightboxblock").innerHTML = "";




//document.getElementById("lightboxwin").innerHTML += document.cookie.length;



var photobank = Cookie.get("photos");
var bp = photobank.getValue().split("&");



    if(bp.length > 1)
    {
    
            for(var i = 0; i < bp.length; i++)
            {
                
                if( 1) //!(bp[i][1].split("=")) )
                {
                //bp[i].split("=" , 1)
                // the extra split stuff is because of the cookie library in use.  it adds an unecessary '=' into the sitch
               /// document.getElementById("lightboxblock").innerHTML += '<img onclick="'+removeimg(i)+'" src="delete_off.gif" alt="" />';  
                document.getElementById("lightboxblock").innerHTML += '<img width="350px" src="'+photobook[bp[i].split("=" , 1)]+'" alt="" />';  
                }
            
            }
     
            
    }


}






// Create a new cookie and save it



// initialize the cookie if we don't have it.    

var photobank;

photobank = Cookie.get("photos");
photobank.remove();





/*




if(photobank.getValue() == "undefined")
{
    photobank = new Cookie();
    photobank.setName("photos");
    photobank.setValue("ffff");
    photobank.save();
}



// Create a new cookie and save it
    var c = new Cookie();
    c.setName("test");
    c.setValue("val");
    c.save();

    var c1 = new Cookie();
    c1.setName("test1");
    c1.add("key1","value1");
    c1.add("key2","value2");
    c1.save();


 

// Get a cookie and alert it's name and value
    var c2 = Cookie.get("test");
    alert(c2.getName() + ":" + c2.getValue());

// Remove the cookie
    c.remove();

*/







////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////

var dir = 0;
function imginc()
{

    dir = 1;
    if(currentimg < (photobook.length - 1))
    {
    currentimg++;
    }
    else
    {
    currentimg = 0;
    }
    
    imgload(currentimg);

}

function imgdec()
{
    dir = 0;
    if(currentimg > 0)
    {
    currentimg--;
    }
    else
    {
    currentimg = photobook.length - 1;
    }
    
    imgload(currentimg);

}



function pboxdump() 
{
var chunks = new Array();

var all = document.getElementsByTagName("div");

    for (i = 0; i < all.length; i++) 
    {
    
    if (all[i].className == "pbox") 
    {
        chunks[chunks.length] = all[i];
    }
    }


    pboxes = chunks;
   // alert(pboxes[3]);
    //document.write(pboxes[4].getAttribute("class"));
}
// dump all the nodes that are pbox into this var


function imgload(mysrc)
{
    
    //alert(pboxes[lastimg].childNodes[0].getAttribute("class"));
    pboxes[lastimg].childNodes[0].setAttribute("class", "linkopacity");         
    pboxes[mysrc].childNodes[0].setAttribute("class", "redblock");


    lastimg = mysrc;
    var temp = document.getElementById(div);
    //alert(temp.innerHTML);



    // this just saves the last bit we selected so we can shift it's class back to normal IE not redblock (opacity)



    if(!dir)
    {
       temp.currentPos = [-970,0];

    }
    else
    {
       temp.currentPos = [971,0];    
    
    }
    
    currentimg = mysrc;
   // alert(currentimg);

    temp.style.display = "none";

 


    var sboo = document.getElementById(thispic);
    sboo.innerHTML = '<img onclick="imginc()" src="'+photobook[mysrc]+'" alt="Jim Bastardo Photography" />';

    temp.style.display = "block";



    // the movein function switches the div variable to be the other div id.
    movein(document.getElementById(div));
    
        if(div == 'dynimg')
    {
        div = 'dynimg2';
        thispic = 'subpic2';
    }
    else
    {
        div = 'dynimg';
        thispic = 'subpic';
    }

    temp = document.getElementById(div);
    moveout(document.getElementById(div));
 /*   
*/    
    
    


}





/***** 

Example Javascript Animation Techniques by Hesido.com;
4 different, reusable examples

*/
if (document.getElementById && document.getElementsByTagName) 
{
    if (window.addEventListener) 
    {
        window.addEventListener('load', initAnims, false);
        window.addEventListener('load', pboxdump, false);
    }
    else if(window.attachEvent)
    {
        window.attachEvent('onload', initAnims);
        window.attachEvent('onload', pboxdump);
    }
}
/**/
function movein(mr) 
{

    //mr.currentPos = null;
    if (mr.currentPos == null || mr.currentPos == undefined)
    {
     mr.currentPos = [0,0];
    //alert(mr.currentPos[0]);
    }

    //alert(mr.currentPos);

    if(!dir)
    {
    var newpos = new Array(2);
    newpos[0] = mr.currentPos[0] + 971;
    newpos[1] = mr.currentPos[1] + 0;
    
    //doPosChangeMem(mr,mr.currentPos,mr.currentPos,13,8,0.8);
    doPosChangeMem(mr,mr.currentPos,newpos,13,8,0.8);
    }
    else
    {
    var newpos = new Array(2);
    newpos[0] = mr.currentPos[0] - 970;
    newpos[1] = mr.currentPos[1] + 0;
    
    doPosChangeMem(mr,mr.currentPos,newpos,13,8,0.8);
    }
    // elem,startPos,endPos,steps,intervals,powr


    //mr.currentPos = [-970,0]; //if no mem is set, set it first    
    
}






function moveout(mr) 
{
    
    //alert(mr.currentPos[0]);
    
    if(!dir)
    {
    var newpos = new Array(2);
    newpos[0] = mr.currentPos[0] + 971;
    newpos[1] = mr.currentPos[1] + 0;
    
    //doPosChangeMem(mr,mr.currentPos,mr.currentPos,13,8,0.8);
    doPosChangeMem(mr,mr.currentPos,newpos,13,8,0.8);
    }
    else
    {
    var newpos = new Array(2);
    newpos[0] = mr.currentPos[0] - 970;
    newpos[1] = mr.currentPos[1] + 0;
    
    doPosChangeMem(mr,mr.currentPos,newpos,13,8,0.8);
    }
    // elem,startPos,endPos,steps,intervals,powr
   
   // doPosChangeMem(mr,mr.currentPos,[mr.currentPos[0] + 971, mr.currentPos[1] + 0],13,8,0.8);
    // elem,startPos,endPos,steps,intervals,powr
   
}


function initAnims() 
{
        /*this adds the onclick to the image once it has been clicked to bring the next one in.*/
		var moveIt = document.getElementById(div);
		if(moveIt != null)
		{ 
		moveIt.onClick = movein(div);
		}
		

        		
}




/*

*/




function doPosChangeMem(elem,startPos,endPos,steps,intervals,powr) {
//Position changer with Memory by www.hesido.com
	if (elem.posChangeMemInt) 
	{
	window.clearInterval(elem.posChangeMemInt);
	}
	var actStep = 0;
	elem.posChangeMemInt = window.setInterval(
		function() {
			elem.currentPos = [
				easeInOut(startPos[0],endPos[0],steps,actStep,powr),
				easeInOut(startPos[1],endPos[1],steps,actStep,powr)
				];
			elem.style.left = elem.currentPos[0]+"px";
			elem.style.top = elem.currentPos[1]+"px";
			actStep++;
			if (actStep > steps) window.clearInterval(elem.posChangeMemInt);
		}
		,intervals)

}



function easeInOut(minValue,maxValue,totalSteps,actualStep,powr) {
//Generic Animation Step Value Generator By www.hesido.com
	var delta = maxValue - minValue;
	var stepp = minValue+(Math.pow(((1 / totalSteps)*actualStep),powr)*delta);
	return Math.ceil(stepp);
}

