var h = screen.height;
var l = screen.width;
var topp;   //h/2.363;
var leftp; //l/1.2929;
var blnLoaded = false;


function cpSequencer(n)
{	
	if (!blnLoaded){
		topp=getElementAbsolutePos(document.getElementById("topSpacer")).y + 330;   //h/2.363;
		leftp=getElementAbsolutePos(document.getElementById("topSpacer")).x + 845;  //l/1.2929;
		blnLoaded = true;
		Hmove=leftp;
		Vmove=topp;
	}
	var JS1 = document.getElementById("JS1");
	switch(n)
	{
		case 0:
			moveObjLeft(JS1,(leftp-40), topp);
			break;
		case 1:
			moveObjUp(JS1, (leftp-40), (topp-75));
			break;
		case 2:
			moveObjLeft1(JS1, (leftp-115), (topp-75));
			break;
		case 3:	
			moveObjDown(JS1, (leftp-115), (topp+25));
			break;
		case 4:
			moveObjLeft2(JS1, (leftp-190), (topp+25));
			break;
		case 5:
			moveObjUp1(JS1, (leftp-190), (topp-105));
			break;
		case 6:
			moveObjLeft3(JS1, (leftp-265), (topp-105));
			break;
		case 7:	
			moveObjDown1(JS1, (leftp-265), (topp+140));
			break;
		case 8:
			moveObjLeft4(JS1, (leftp-315), (topp+140));
			break;
		case 9:
			moveObjUp2(JS1, (leftp-315), (topp-120));
			break;
		case 10: step();
				break;
		case 11: moveobj(JS1, leftp, topp);
				break;
		default:
			break;
	}
}

function moveObjLeft(obj, H, V) 
{    
	
	obj.style.left=Hmove+"px";
   	obj.style.top=Vmove+"px";
   	Hmove-=1;
   	if(Hmove>H)
      	window.setTimeout("moveObjLeft(document.getElementById('"+obj.id+"'), "+H+");", 20);
	if(H == Hmove)
	{
		Hmove=(leftp-40);
		cpSequencer(1);
	}
}

function moveObjUp(obj, H, V) 
{    
   	obj.style.left=Hmove+"px";
   	obj.style.top=Vmove+"px";
   	Vmove-=1;
   	if(Vmove > V)
      	window.setTimeout("moveObjUp(document.getElementById('"+obj.id+"'), "+H+ "," +V+ ");", 20);
	if(Vmove == V)
	{
		Vmove=(topp-75);
		Hmove=(leftp-40);
		cpSequencer(2);
	}
}

function moveObjLeft1(obj, H, V) 
{    
   	obj.style.left=Hmove+"px";
   	obj.style.top=Vmove+"px";
   	Hmove-=1;
   	if(Hmove>H)
      	window.setTimeout("moveObjLeft1(document.getElementById('"+obj.id+"'), "+H+");", 20);
	if(H == Hmove)
	{
		Hmove=(leftp-115);
		cpSequencer(3);
	}
}

function moveObjDown(obj, H, V) 
{    
   	obj.style.left=Hmove+"px";
	obj.style.top=Vmove+"px";
   	Vmove+=1;
   	if(Vmove<V)
      	window.setTimeout("moveObjDown(document.getElementById('"+obj.id+"')," +H+ "," +V+ ");", 20);
	if(Vmove == V)
	{
		Vmove=(topp+25);
		cpSequencer(4);
	}
}
function moveObjLeft2(obj, H, V) 
{    
   	obj.style.left=Hmove+"px";
   	obj.style.top=Vmove+"px";
   	Hmove-=1;
   	if(Hmove>H)
      	window.setTimeout("moveObjLeft2(document.getElementById('"+obj.id+"'), "+H+");", 20);
	if(H == Hmove)
	{
		Hmove=(leftp-190);
		cpSequencer(5);
	}
}

function moveObjUp1(obj, H, V) 
{    
   	obj.style.left=Hmove+"px";
   	obj.style.top=Vmove+"px";
   	Vmove-=1;
   	if(Vmove > V)
      	window.setTimeout("moveObjUp1(document.getElementById('"+obj.id+"'), "+H+ "," +V+ ");", 20);
	if(Vmove == V)
	{
		Vmove=(topp-105);
		Hmove=(leftp-190);
		cpSequencer(6);
	}
}

function moveObjLeft3(obj, H, V) 
{    
   	obj.style.left=Hmove+"px";
   	obj.style.top=Vmove+"px";
   	Hmove-=1;
   	if(Hmove>H)
      	window.setTimeout("moveObjLeft3(document.getElementById('"+obj.id+"'), "+H+");", 20);
	if(H == Hmove)
	{
		Hmove=(leftp-265);
		cpSequencer(7);
	}
}

function moveObjDown1(obj, H, V) 
{    
   	obj.style.left=Hmove+"px";
	obj.style.top=Vmove+"px";
   	Vmove+=1;
   	if(Vmove<V)
      	window.setTimeout("moveObjDown1(document.getElementById('"+obj.id+"')," +H+ "," +V+ ");", 20);
	if(Vmove == V)
	{
		Vmove=(topp+140);
		cpSequencer(8);
	}
}

function moveObjLeft4(obj, H, V) 
{    
   	obj.style.left=Hmove+"px";
   	obj.style.top=Vmove+"px";
   	Hmove-=1;
   	if(Hmove>H)
      	window.setTimeout("moveObjLeft4(document.getElementById('"+obj.id+"'), "+H+");", 20);
	if(H == Hmove)
	{
		Hmove=(leftp-315);
		cpSequencer(9);
	}
}

function moveObjUp2(obj, H, V) 
{    
   	obj.style.left=Hmove+"px";
   	obj.style.top=Vmove+"px";
   	Vmove-=1;
   	if(Vmove > V)
      	window.setTimeout("moveObjUp2(document.getElementById('"+obj.id+"'), "+H+ "," +V+ ");", 20);
	if(Vmove == V)
	{
		Vmove=(topp-120);
		Hmove=(leftp-315);
		cpSequencer(10);

	}
}

function step()
{
	document.getElementById("JS1").src ="man2.png";
	window.setTimeout('cpSequencer(11)',3000);
}

function moveobj(obj, H, V)
{
	Hmove=leftp;
	Vmove=topp;
	document.getElementById("JS1").src ="man1.png";
	cpSequencer(0);
}

var __isIE =  navigator.appVersion.match(/MSIE/);
var __userAgent = navigator.userAgent;
var __isFireFox = __userAgent.match(/firefox/i);
var __isFireFoxOld = __isFireFox && 
   (__userAgent.match(/firefox\/2./i) || __userAgent.match(/firefox\/1./i));
var __isFireFoxNew = __isFireFox && !__isFireFoxOld;

function __parseBorderWidth(width) {
    var res = 0;
    if (typeof(width) == "string" && width != null 
                && width != "" ) {
        var p = width.indexOf("px");
        if (p >= 0) {
            res = parseInt(width.substring(0, p));
        }
        else {
             //do not know how to calculate other 
             //values (such as 0.5em or 0.1cm) correctly now
             //so just set the width to 1 pixel
            res = 1; 
        }
    }
    return res;
}

//returns border width for some element
function __getBorderWidth(element) {
    var res = new Object();
    res.left = 0; res.top = 0; res.right = 0; res.bottom = 0;
    if (window.getComputedStyle) {
        //for Firefox
        var elStyle = window.getComputedStyle(element, null);
        res.left = parseInt(elStyle.borderLeftWidth.slice(0, -2));  
        res.top = parseInt(elStyle.borderTopWidth.slice(0, -2));  
        res.right = parseInt(elStyle.borderRightWidth.slice(0, -2));  
        res.bottom = parseInt(elStyle.borderBottomWidth.slice(0, -2));  
    }
    else {
        //for other browsers
        res.left = __parseBorderWidth(element.style.borderLeftWidth);
        res.top = __parseBorderWidth(element.style.borderTopWidth);
        res.right = __parseBorderWidth(element.style.borderRightWidth);
        res.bottom = __parseBorderWidth(element.style.borderBottomWidth);
    }
   
    return res;
}

//returns absolute position of some element within document
function getElementAbsolutePos(element) {
    var res = new Object();
    res.x = 0; res.y = 0;
    if (element !== null) {
        res.x = element.offsetLeft;
        res.y = element.offsetTop;
        
        var offsetParent = element.offsetParent;
        var parentNode = element.parentNode;
        var borderWidth = null;

        while (offsetParent != null) {
            res.x += offsetParent.offsetLeft;
            res.y += offsetParent.offsetTop;
            
            var parentTagName = offsetParent.tagName.toLowerCase();    

            if ((__isIE && parentTagName != "table") || 
                (__isFireFoxNew && parentTagName == "td")) {            
                borderWidth = __getBorderWidth(offsetParent);
                res.x += borderWidth.left;
                res.y += borderWidth.top;
            }
            
            if (offsetParent != document.body && 
                offsetParent != document.documentElement) {
                res.x -= offsetParent.scrollLeft;
                res.y -= offsetParent.scrollTop;
            }

            //next lines are necessary to support FireFox problem with offsetParent
               if (!__isIE) {
                while (offsetParent != parentNode && parentNode !== null) {
                    res.x -= parentNode.scrollLeft;
                    res.y -= parentNode.scrollTop;
                    
                    if (__isFireFoxOld) {
                        borderWidth = __getBorderWidth(parentNode);
                        res.x += borderWidth.left;
                        res.y += borderWidth.top;
                    }
                    parentNode = parentNode.parentNode;
                }    
            }

            parentNode = offsetParent.parentNode;
            offsetParent = offsetParent.offsetParent;
        }
    }
    return res;
}
	
