function submitFormFn(id){
	document.forms[id].submit();
}

submitAfter = function(id,frm) {
	switch(id) {
		case 'login':	moveFn(id,1,50,193,1,'submitFormFn',frm);
				break;
		case 'contact':	moveFn(id,1,50,50,1,'submitFormFn',frm);
				break;
	}
}

function errorLoginFn(){
	self.setTimeout('nav("loginFn")', 2500);
}

function errorMenuFn(){
	self.setTimeout('nav("menuFn")', 3500);
}

//function doRedirectFn(myUrl){
//	location.replace(myUrl);
//}

function isEmail(form) {
	var input = form.value;

	if(input.length > 0) { //do not perform if empty input
		var email=/^[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*@[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*\.([A-Za-z]){2,4}$/i;
		if(!email.test(input)) {
			alert("Invalid Email Address");
			form.select();
		}
	}
}

function enterCheckFn(event,id){
	var code	= 0;
	code = event.keyCode;
	if (code==13){
		self.focus();
		moveFn(id,1,50,193,1,'submitFormFn', 0);
	}
}

//--------------------------------------------------
//	currentStyle Prototype
//--------------------------------------------------
if(!document.all){
	HTMLElement.prototype.__defineGetter__('currentStyle', function(){ return (document.defaultView.getComputedStyle(this,"")); })
	CSSStyleDeclaration.prototype	= function() {
		for (i = 0; i < this.length; i++) {
			var prop	= this.item(i);
			this[prop]	= this.getPropertyValue(prop);
		}
	}
}

//-----------------------------------------------
// Move Function v0.01 Kirk Bentley
//-----------------------------------------------
var moveAr	= new Array();
var locked	= 0;

function moveFn(id,speed,xPos,yPos,done,doneFn,doneArg){
	speed = 2;
	if(typeof(id) == 'string'){
		el	= document.getElementById(id);
	}else{
		el	= id
	}
	if (el.moveIndex == null) { el.moveIndex = moveAr.length; }
	moveAr[el.moveIndex]	= el;
	speed 			= '0.' + speed;
	clearTimeout(el.moveTimer);
	setTimeout('moveRecalFn(' + el.moveIndex + ',' + speed + ',' + xPos + ',' + yPos + ',' + done + ',' + doneFn + ',' + doneArg + ')',0);
}

function moveRecalFn(moveIndex,speed,xPos,yPos,done,doneFn,doneArg){
	el		= moveAr[moveIndex];
	floatDisX	= Math.round(xPos - parseInt(el.currentStyle.left));
	if(parseInt(el.currentStyle.left) < xPos){ floatVelX = Math.ceil(floatDisX * speed); }else{ floatVelX = Math.floor(floatDisX * speed); }
	el.style.left	= Math.ceil(parseInt(el.currentStyle.left) + floatVelX) + 'px';
	floatDisY	= Math.round(yPos - parseInt(el.currentStyle.top));
	if(parseInt(el.currentStyle.top) < yPos){ floatVelY = Math.ceil(floatDisY * speed); }else{ floatVelY = Math.floor(floatDisY * speed); }
	el.style.top	= Math.ceil(parseInt(el.currentStyle.top) + floatVelY) + 'px';
	el.moveTimer	= setTimeout('moveRecalFn(' + el.moveIndex + ',' + speed + ',' + xPos + ',' + yPos + ',' + done + ',' + doneFn + ',' + doneArg + ')',40);
	if(floatDisX == 0 && floatDisY == 0){
		clearTimeout(el.moveTimer);
		el.moveTimer	= null;
		locked	= 0;
		if(done){
			doneFn(doneArg);
		}
	}
}

var cur = '';

nav = function (nextopen) {
	//alert('Cur = ' + cur + ', Nextopen = ' + nextopen);
	if (cur != nextopen) {
		if ((cur == 'blogFn') || (cur == 'myCVFn')) {
			// Move to start position
			if ((nextopen == 'blogFn') || (nextopen == 'myCVFn')) {
				switch (cur) {
					case 'blogFn':	cur = nextopen; moveFn('blog',1,31,-1550,1,nextopen); break;
					case 'myCVFn':	cur = nextopen; moveFn('myCV',1,31,-4790,1,nextopen); break;
				}
			} else {
				switch (cur) {
					case 'blogFn':	moveFn('blog',1,31,-1550,0); break;
					case 'myCVFn':	moveFn('myCV',1,31,-4790,0); break;
				}
				
				cur = nextopen;
				moveFn('menu',1,526,210,1,blogRFn2);
			}
		} else {
			if ((nextopen == 'blogFn') || (nextopen == 'myCVFn')) {
				// Move to blog position - Collapse cpw, menu
				cur = nextopen;
				moveFn('cpw',1,41,300,0);
				moveFn('favs',1,80,153,0);
				moveFn('menu',1,100,210,1,blogFn2);
			} else {
				// Move Pic, Copywrite & menu back first
				switch (cur) {
					case 'loginFn':		moveFn('login',1,50,193,1,nextopen); break;
					case 'contactFn':	moveFn('contact',1,50,50,1,nextopen); break;
					case 'menuFn':		moveFn('menu',1,100,210,1,nextopen); break;
					case 'favsFn':		moveFn('favs',1,80,153,1,nextopen); break;
					case 'noCVFn':		moveFn('noCV',1,60,100,1,nextopen); break;
					case 'showError':	moveFn('showError',1,100,110,1,nextopen); break;
					case 'logoutFn':	logoutFn2(); break;
				}
			}
			cur = nextopen;
		}
	}
}

loginFn = function () {
	// Reset Fields and set userName as focus
	document.forms[0].reset();
	moveFn('login',1,250,193,1,userNameFocus);
}

logoutFn = function () {
	// Collapse all windows
	nav('logoutFn2');
}

logoutFn2 = function () {
	// Reset and submit login form
	document.forms[0].reset();
	document.forms[0].submit();
	
}

userNameFocus = function () {
	document.loginFrm.userName.focus();
}

contactFn = function () {
	document.forms[1].reset();
	moveFn('contact',1,250,50,1,emailFocus);
}

emailFocus = function () {
	document.contactFrm.email.focus();
}

menuFn = function () {
	moveFn('menu',1,250,210,0);
}

favsFn = function () {
	moveFn('favs',1,250,153,0);
}

noCVFn = function () {
	moveFn('noCV',1,250,100,1, errorLoginFn);
}

myCVFn = function () {
	moveFn('myCV',1,31,44,0);
}

blogFn = function () {
	moveFn('blog',1,31,44,0);
}

blogFn2 = function () {
	// Menu and cpw has been hidden
	// Move Sia + Sia2 + menu to right
	moveFn('cpw',1,536,300,0);
	moveFn('menu',1,526,210,0);
	moveFn('sia',1,526,44,0);
	moveFn('sia2',1,526,44,1,blogFn3);
}

blogFn3 = function () {
	moveFn('menu',1,526,327,0);
	
	switch (cur) {
		case 'blogFn':	moveFn('blog',1,31,44,0); break;
		case 'myCVFn':	moveFn('myCV',1,31,44,0); break;
	}
}

blogRFn2 = function () {
	// Menu and cpw has been hidden
	// Move Sia + Sia2 + menu to right
	moveFn('cpw',1,41,300,0);
	moveFn('menu',1,80,210,0);
	moveFn('sia',1,31,44,0);
	moveFn('sia2',1,31,44,1,blogRFn3);
}

blogRFn3 = function () {
	moveFn('cpw',1,41,337,1,blogRFn4);
}

blogRFn4 = function () {
	// Complete Extended close
	switch (cur) {
		case 'loginFn':		moveFn('login',1,250,193,0); break;
		case 'contactFn':	moveFn('contact',1,250,50,0); break;
		case 'menuFn':		moveFn('menu',1,250,210,0); break;
		case 'favsFn':		moveFn('favs',1,250,153,0); break;
		case 'noCVFn':		moveFn('noCV',1,250,100,0); break;
		case 'logoutFn':	logoutFn2(); break;
	}
}


window.onload = function() {
	// Check for error and display.
	var myError = document.loginFrm.error.value;
	
	if (myError) { 
		//alert(myError);
		moveFn('showError',1,270,110,1,errorMenuFn);
		cur = 'showError';
	} else {
		// Load menu.
		moveFn('menu',1,250,210,0);
		cur = 'menuFn';
	}
}