/** ****************************************************************************
	Dynamic script BuildAShop123 home page
	Author: Andy Webber
	Created: 05/04/09
	
	Functions: rollover(cursor), displayForm(objName), formSubmit(form).
*******************************************************************************/


/*******************************************************************************
	Function: rollover(cursor)
	Changes cursor when mouse rolls over button div.
	Changes colour of button text to make it look like a link.
	(IE uses CSS tag, but this is not valid in Firefox)
*******************************************************************************/
var cursor

function rollover(cursor, element){
	switch(cursor){
	case "finger":
		document.body.style.cursor = 'pointer';
		document.getElementById(element).style.color="#FFFFFF";
		break;
	case "arrow":
		document.body.style.cursor = 'default';
		document.getElementById(element).style.color="#CCCCCC";
		break;
	default:
		document.body.style.cursor = 'default';
		document.getElementById(element).style.color="#CCCCCC";
	}
}



/*******************************************************************************
	Function: displayForm(objName)
	Triggers sliding effect and loads new form without refreshing the page.
/******************************************************************************/
var timerlen = 5;
var slideAniLen = 250;

var timerID = new Array();
var startTime = new Array();
var obj = new Array();
var endHeight = new Array();

function slideUp(objname){
        var elapsed = (new Date()).getTime() - startTime[objname];

        if (elapsed >= slideAniLen){
				obj[objname].style.height = "1px";
				document.getElementById('text').innerHTML = "First we just need to take a few details so that you can save your progress and return later if you wish. Please note that the email address you specify will be used for receiving orders from your shop.";				
	            clearInterval(timerID[objname]);
				startTime[objname] = (new Date()).getTime();
                timerID[objname] = setInterval('slideDown(\'' + objname + '\');',timerlen);
		}
        else{
                var d = Math.round(elapsed / slideAniLen * endHeight[objname]);
				d = endHeight[objname] - d;						
                obj[objname].style.height = d + "px";
        }
        return;
}

function slideDown(objname){
        var elapsed = (new Date()).getTime() - startTime[objname];

        if (elapsed >= slideAniLen){
				obj[objname].style.height = endHeight[objname] + "px";
				document.getElementById('form').style.display = "block";
	            clearInterval(timerID[objname]);
				delete(startTime[objname]);
				delete(endHeight[objname]);
				delete(obj[objname]);				
		}
        else{
                var d =Math.round(elapsed / slideAniLen * endHeight[objname]);						
                obj[objname].style.height = d + "px";
        }
        return;
}

function displayForm(objname){
	obj[objname] = document.getElementById(objname);
	endHeight[objname] = parseInt(obj[objname].style.height);
    startTime[objname] = (new Date()).getTime();
	document.getElementById('images').innerHTML = "";
	document.getElementById('images').style.display = "none";
	document.getElementById('images').style.overflow = "hidden";
	document.body.style.cursor = 'default';
	timerID[objname] = setInterval('slideUp(\'' + objname + '\');',timerlen);
}



/**********************************************************************************
	Function: formSubmit(form)
	Submits the specified form. Allows forms to be submitted without ugly buttons!
***********************************************************************************/

function submitForm(form){
	if (!form)
		return;
	
	if(validate(form)){
    	document.forms[form].submit();
 	}
}

function validate(form){
	var frm = document.forms[form];
	if(frm.name.value.length == 0){
		frm.name.style.backgroundColor =  "#ff3333";
		alert('Please enter a name.');
		return false;
	}
	else if(frm.email.value.length == 0){
		frm.email.style.backgroundColor =  "#ff3333";
		alert('Please enter an email address.');
		return false;
	}
	else if(frm.email.value.length < 6){
		frm.email.style.backgroundColor =  "#ff3333";
		alert('Please enter a valid email address.');
		return false;
	}
	else if(!(frm.email.value.match("@")) ){
		frm.email.style.backgroundColor =  "#ff3333";
		alert('Please enter a valid email address!');
		return false;
	}
	else if(frm.email.value != frm.email2.value){
		frm.email2.style.backgroundColor =  "#ff3333";
		alert('The email address given does not match the confirmed email address!');
		return false;
	}
	else if(frm.password.value.length == 0){
		frm.password.style.backgroundColor =  "#ff3333";
		alert('Please enter a password.');
		return false;
	}
	else if(frm.password.value.length < 8){
		alert('Your password must be at least 8 characters!');
		return false;
	}
	else if(frm.password.value != frm.password2.value){
		frm.password2.style.backgroundColor =  "#ff3333";
		alert('The password does not match the confirmed password!');
		return false;
	}	
	else
	  {
		return true;
	}
}

function resetBackground(form, field){
	document.forms[form].elements[field].style.backgroundColor =  "#ffffff";
}
