/*

 File    :  scripts.js

 Dynamic Softworks 2005-2010

*/

var browser = 0;
var B_IE = 0;
var B_NETSCAPE = 10;
var B_DOM_SUPPORTED = 0;
var starting = 1;

if (document.getElementById)
       	B_DOM_SUPPORTED = 1;

if (navigator.appName.indexOf("Microsoft") != -1)
	browser = B_IE; //MS Internet Explorer
else
	browser = B_NETSCAPE; //Netscape




function GetObj (id)
{
        if (B_DOM_SUPPORTED)
        	obj = document.getElementById(id);
        else if (browser == B_IE)
        	obj = document.all[id];
	else if (browser == B_NETSCAPE)
		obj = document.layers[id];

	return obj;
}


function flipImg(str)
{
    var newStr = "";

    extIndex = str.indexOf(".gif");
    i = str.indexOf("_on.gif");
    if (i > -1)
    {
        newStr = str.substring(0, i);
        newStr += ".gif";
    }
    else
    {
        newStr = str.substring(0, extIndex);
        newStr += "_on.gif";
    }

    return newStr;
}


function hilite(obj)
{
    obj.style.opacity = 1.0;
    obj.style.filter = "alpha(opacity=100)";
    obj.src = flipImg(obj.src);
}

function shade(obj)
{
    obj.style.opacity = 0.5;
    obj.style.filter = "alpha(opacity=50)";
    obj.src = flipImg(obj.src);
}


function miHiLite(index)
{
    obj = GetObj("mi"+index);
    obj.src = "http://www.idiotprincip.com/graph/mi"+index+"a.gif"
}

function miShade(index)
{
    obj = GetObj("mi"+index);
    obj.src = "http://www.idiotprincip.com/graph/mi"+index+".gif"
}



/*
var snowFlakes = new Array();


for (i=0; i<16; i++)
{
  snowFlakes[i] = new Object();
  snowFlakes[i].x=Math.random()*950;
  snowFlakes[i].y=-Math.random()*550;
  snowFlakes[i].sinParam = 0.0;
  snowFlakes[i].sinStep = Math.random()/2.0;
  snowFlakes[i].speed = 1.0+Math.random();
  snowFlakes[i].size = 16+Math.random()*32;
}


var sinParam = 0;
var firstRun = 1;

function runSnowFlakes()
{
    for (i=0; i<16; i++)
    {
	var sx = snowFlakes[i].x + Math.sin(snowFlakes[i].sinParam)*+12;
        var sy = snowFlakes[i].y + Math.abs(Math.cos(snowFlakes[i].sinParam)*6);

	snowFlakes[i].y += 2+snowFlakes[i].speed*2;


	snowFlakes[i].sinParam += snowFlakes[i].sinStep;



        sx += (document.body.clientWidth+25 - 988) / 2;


        obj = GetObj("sf"+i);
        if (obj.style)
        {
		obj.style.left = sx + "px";
		obj.style.top = sy + "px";

                if (firstRun == 1)
                {
                  obj.style.width = snowFlakes[i].size + "px";
                  obj.style.height = snowFlakes[i].size + "px";
                }
        }
        else
        {
		obj.left = sx + "px";
		obj.top = sy + "px";
                
                if (firstRun == 1)
                {
                  obj.width = snowFlakes[i].size + "px";
                  obj.height = snowFlakes[i].size + "px";
                }
        }

        if (snowFlakes[i].y > 350)
        {
          var opacity = 0.8-(((snowFlakes[i].y-350)/200)*0.8);
          obj.style.opacity = opacity;
          obj.style.filter = "alpha(opacity="+(opacity*100)+")";
        }
        else
        {
          obj.style.opacity = 0.8;
          obj.style.filter = "alpha(opacity=80)";
        }

        if (snowFlakes[i].y > 550)
        {
            snowFlakes[i].y = -50;
            snowFlakes[i].size = 16+Math.random()*32;
            snowFlakes[i].x=Math.random()*950;

            if (obj.style)
	    {
                obj.style.width = snowFlakes[i].size + "px";
                obj.style.height = snowFlakes[i].size + "px";
            }
            else
            {
                obj.width = snowFlakes[i].size + "px";
                obj.height = snowFlakes[i].size + "px";
            }

        }
    }

    firstRun = 0;
}

*/

var px = 0;
var py = 0;
var py2 = 200;
var ssOpacity = 0;
var opacityCounter = 0;
var opacVec = +1;

var oldleft = -1;
var oldcenter = -1;
var oldright = -1;

var old2left = -1;
var old2center = -1;
var old2right = -1;


function getRandomEx(range, n)
{
	var randNum;

	do {
		randNum = Math.floor(Math.random()*range);
	} while (randNum == n);

	return randNum;
}


function setRandomPictures()
{
  var pic1;
  var pic2;
  var pic3;
  pic1 = GetObj("animobj1");
  pic2 = GetObj("animobj2");
  pic3 = GetObj("animobj3");

  var leftimgsrc='';
  var centerimgsrc='';
  var rightimgsrc='';


var ok = false;

do {

  var rnd = Math.floor(Math.random()*7);

  if (rnd == 0)
  {
      leftimgsrc='10'+String(Math.floor(Math.random()*2));
      centerimgsrc='01'+String(Math.floor(Math.random()*6));
      rightimgsrc='22'+String(Math.floor(Math.random()*0));
  }
  if (rnd == 6)
  {
      leftimgsrc='10'+String(Math.floor(Math.random()*2));
      centerimgsrc='01'+String(Math.floor(Math.random()*6));
      rightimgsrc='22'+String(Math.floor(Math.random()*0));
  }
  if (rnd == 1)
  {
      leftimgsrc='20'+String(Math.floor(Math.random()*2));
      centerimgsrc='01'+String(Math.floor(Math.random()*6));
      rightimgsrc='12'+String(Math.floor(Math.random()*2));
  }
  if (rnd == 2)
  {
      leftimgsrc='00'+String(Math.floor(Math.random()*2));
      centerimgsrc='21'+String(Math.floor(Math.random()*3));
      rightimgsrc='12'+String(Math.floor(Math.random()*2));
  }
  if (rnd == 3)
  {
      leftimgsrc='10'+String(Math.floor(Math.random()*0));
      centerimgsrc='21'+String(Math.floor(Math.random()*2));
      rightimgsrc='02'+String(Math.floor(Math.random()*2));
  }
  if (rnd == 4)
  {
      leftimgsrc='20'+String(Math.floor(Math.random()*2));
      centerimgsrc='11'+String(Math.floor(Math.random()*2));
      rightimgsrc='02'+String(Math.floor(Math.random()*2));
  }
  if (rnd == 5)
  {
      leftimgsrc='00'+String(Math.floor(Math.random()*0));
      centerimgsrc='11'+String(Math.floor(Math.random()*2));
      rightimgsrc='22'+String(Math.floor(Math.random()*0));
  }

  if (leftimgsrc != oldleft && centerimgsrc != oldcenter && rightimgsrc != oldright &&
      leftimgsrc != old2left && centerimgsrc != old2center && rightimgsrc != old2right)
  {
	old2left = oldleft;
	old2center = oldcenter;
	old2right = oldright;
	oldleft = leftimgsrc;
	oldcenter = centerimgsrc;
	oldright = rightimgsrc;
	ok = true;
  }


} while (!ok);



/*
  var lr = Math.floor(Math.random()*1);
  var cr = Math.floor(Math.random()*3);
  var rr = Math.floor(Math.random()*3);

  leftimgsrc+=lr+'.jpg';
  centerimgsrc+=cr+'.jpg';
  rightimgsrc+=rr+'.jpg';
*/
  pic1.src = 'http://www.idiotprincip.com/graph/anim/'+leftimgsrc+'x.jpg';
  pic2.src = 'http://www.idiotprincip.com/graph/anim/'+centerimgsrc+'x.jpg';
  pic3.src = 'http://www.idiotprincip.com/graph/anim/'+rightimgsrc+'x.jpg';
}


function runSlideShow()
{
    var pic1;
    var pic2;
    var pic3;
    pic1 = GetObj("animobj1");
    pic2 = GetObj("animobj2");
    pic3 = GetObj("animobj3");

    if (pic1)
    {
        if (pic1.style)
        {
            pic1.style.zindex = -200;
            pic2.style.zindex = -200;
            pic3.style.zindex = -200;
        }
        else
        {
            pic1.zindex = -200;
            pic2.zindex = -200;
            pic3.zindex = -200;
        }
		
		//ssOpacity = 0;
		
        pic1.style.opacity = ssOpacity / 100;
        pic1.style.filter = "alpha(opacity="+ssOpacity+")";
        pic2.style.opacity = ssOpacity / 100;
        pic2.style.filter = "alpha(opacity="+ssOpacity+")";
        pic3.style.opacity = ssOpacity / 100;
        pic3.style.filter = "alpha(opacity="+ssOpacity+")";
    }

    ssOpacity += opacVec*5;
	
    if (ssOpacity > 100)
      ssOpacity = 100;

    if (ssOpacity < 0)
      ssOpacity = 0;
	
	opacityCounter++;
	if (opacityCounter > 50)
	{
		opacVec = -1;
		if (ssOpacity < 1 && opacityCounter > 80)
		{
			opacityCounter = 0;
			opacVec = +1;
			setRandomPictures();
		}
	}
}


function adjustSizes()
{
    pic1 = GetObj("animobj1");
    pic2 = GetObj("animobj2");
    pic3 = GetObj("animobj3");

    if (pic1)
    {
        if (pic1.style)
        {
            pic1.style.zindex = -200;
            pic2.style.zindex = -200;
            pic3.style.zindex = -200;
        }
        else
        {
            pic1.zindex = -200;
            pic2.zindex = -200;
            pic3.zindex = -200;
        }
    }

    setRandomPictures();
}


var blinkCounter = 20;
var idleCounter =-1;
var sizesDone = 0;

function runPage()
{
    if (sizesDone == 0)
    {
        adjustSizes();
        sizesDone = 1;
    }


    logoObj = GetObj ("logoblink");

    if (blinkCounter < 1 && idleCounter < 1)
        blinkCounter = 25+Math.round(Math.random()*60);

    if (idleCounter > -1)
       idleCounter--;

    if (idleCounter < 0)
       blinkCounter--;

    if (blinkCounter < 8)
        logoObj.src = "http://www.idiotprincip.com/graph/ip_"+(7-blinkCounter)+".gif";

    if (blinkCounter == 0 && idleCounter == -1)
       idleCounter = Math.round(Math.random()*4);

    if (blinkCounter < 8)
    {
        logoObj.style.visibility = "visible";
    }
    else
    {
        logoObj.style.visibility = "hidden";
    }


    //runSnowFlakes();
    runSlideShow();

    setTimeout ("runPage();", 80);

}


function putImg(id, src, w, h, x, y, alt)
{
    document.write("<img id='"+id+"' src='"+src+"' alt='"+alt+"' width='"+w+"' height='"+h+"' style='position:absolute; left:"+x+"px; top:"+y+"px' />");
}

