function gpGetFlashMovieObject(movieName){
  if (window.document[movieName]){
      return window.document[movieName];
  }
  if(browser.id=="IE"){//used to be: browser.isIE==false  prior: navigator.appName.indexOf("Microsoft Internet")==-1
    if (document.embeds && document.embeds[movieName])
    	return document.embeds[movieName];
    } else { // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
    	return document.getElementById(movieName);
    }
}

function gpMouseOverStandard(){
	if(DeviceType!="Mobile"){
		document.body.style.cursor="pointer";
		FaderMaster(this,10,20,undefined,this.Alpha*60/100);
		//ShakeMaster(this,2,20,0,2);
	}
}

function gpMouseOutStandard(){
	if(DeviceType!="Mobile"){
		document.body.style.cursor="default";
		FaderMaster(this,10,20,undefined,100);
	}
}

function gpFormLaunch(NameOfForm){
	var fn=arguments.callee.name;
	//var Form=document.getElementById(NameOfForm);
	var FormDiv=document.getElementById(NameOfForm);
	var FormBG=document.getElementById(NameOfForm+"BG");
	var FncBlock;
	gpFormOff("gpLogin");
	gpFormOff("gpSignup");
	gpFormOff("gpConfirmation");
	SetPos(FormDiv,parseInt(gpButton_Cart.style.left)-60,parseInt(gpButton_Cart.style.top)+20);
	FaderMaster(FormDiv,10,20,undefined,100);
	SetPos(FormBG,parseInt(FormDiv.style.left)-5,parseInt(FormDiv.style.top)-5,FormDiv.clientWidth+10,FormDiv.clientHeight+10);
	FaderMaster(FormBG,10,20,undefined,30);
	Button_OK.style.zIndex=FormDiv.style.zIndex+1;
	Button_OK.onmouseover=gpMouseOverStandard;
	Button_OK.onmouseout=gpMouseOutStandard;
	Button_OK.onmouseup=function(){
		FormFncCommon(FormDiv,"Submit");
	}
	SetPos(Button_OK,parseInt(FormBG.style.left)+FormBG.clientWidth-Button_OK.clientWidth,parseInt(FormBG.style.top)+FormBG.clientHeight-Button_OK.clientHeight);
	FaderMaster(Button_OK,10,20,undefined,100);
	Button_Cancel.onmouseover=gpMouseOverStandard;
	Button_Cancel.onmouseout=gpMouseOutStandard;
	Button_Cancel.style.zIndex=FormDiv.style.zIndex+1;
	Button_Cancel.onmouseup=function(){
		FormFncCommon(FormDiv,"Cancel");
	}
	SetPos(Button_Cancel,parseInt(Button_OK.style.left)-Button_Cancel.clientWidth,parseInt(Button_OK.style.top));
	FaderMaster(Button_Cancel,10,20,undefined,100);
	if(NameOfForm=="gpLogin"){
		FncBlock=function(){
			if(FormDiv.Alpha>99){
				SetFormInputs(NameOfForm);
				if(DeviceType!="Mobile"){document.getElementById(NameOfForm).uid.focus();}
				clearInterval(window.FaderWaitIntvl);
			} else {
				ENG.innerHTML+="";//This seems to be necessary to wake up the forms, for some reason
			}
		}
		window.FaderWaitIntvl=setInterval(FncBlock,30);
	} else if(NameOfForm=="gpSignup"){
		FncBlock=function(){
			if(FormDiv.Alpha>99){
				SetFormInputs(NameOfForm);
				if(DeviceType!="Mobile"){
					if(Form.uid.value==""){
						document.getElementById(NameOfForm).uid.focus();
					} else if(Form.pwd.value==""){
						document.getElementById(NameOfForm).pwd.focus();
					} else{
						document.getElementById(NameOfForm).pwd_confirm.focus();
					}
				}
				clearInterval(window.FaderWaitIntvl);
			} else {
				ENG.innerHTML+="";//This seems to be necessary to wake up the forms, for some reason
			}
		}
		window.FaderWaitIntvl=setInterval(FncBlock,30);
	} else if(NameOfForm=="gpConfirmation"){
		FncBlock=function(){
			if(FormDiv.Alpha>99){
				SetFormInputs(NameOfForm);
				if(DeviceType!="Mobile"){document.getElementById(NameOfForm).Confirmation.focus();}
				clearInterval(window.FaderWaitIntvl);
			} else {
				ENG.innerHTML+="";//This seems to be necessary to wake up the forms, for some reason
			}
		}
		window.FaderWaitIntvl=setInterval(FncBlock,30);
	} else if(NameOfForm=="gpSendMessage"){
		FncBlock=function(){
			if(FormDiv.Alpha>99){
				SetFormInputs(NameOfForm);
				if(DeviceType!="Mobile"){document.getElementById(NameOfForm).Confirmation.focus();}
				clearInterval(window.FaderWaitIntvl);
			} else {
				ENG.innerHTML+="";//This seems to be necessary to wake up the forms, for some reason
			}
		}
		window.FaderWaitIntvl=setInterval(FncBlock,30);
	} 
}

function gpFormOff(NameOfForm){
	var fn=arguments.callee.name;
	ENG.innerHTML+=fn+"<br>";
	//var Form=document.getElementById(NameOfForm);
	var FormDiv=document.getElementById(NameOfForm);
	var FormBG=document.getElementById(NameOfForm+"BG");
	if(FormDiv.Alpha>0){
		GetFormInputs(NameOfForm);
	}
	FaderMaster(FormDiv,10,20,undefined,0);
	FaderMaster(FormBG,10,20,undefined,0);	
	Button_OK.onmouseover=function(){};
	Button_OK.onmouseout=function(){};
	Button_OK.onmouseup=function(){};
	FaderMaster(Button_OK,10,20,undefined,0);
	Button_Cancel.onmouseover=function(){};
	Button_Cancel.onmouseout=function(){};
	Button_Cancel.onmouseup=function(){};    
	FaderMaster(Button_Cancel,10,20,undefined,0);
}

function GetFormInputs(NameOfForm){
	var Form=document.getElementById(NameOfForm);
	if(NameOfForm=="gpLogin"){
		if(DeviceName=="iPhone" || DeviceName=="iPad"){
			Visitor.uid=gpLogin.uid[1].value;
		} else{
			Visitor.uid=gpLogin.uid.value;
		}
		Visitor.pwd=gpLogin.pwd.value;
	} else if(NameOfForm=="gpSignup"){
		if(DeviceName=="iPhone" || DeviceName=="iPad"){
			Visitor.FirstName=gpSignup.uid[1].value;
		} else{
			Visitor.FirstName=gpSignup.uid.value;
		}
		Visitor.pwd=gpSignup.pwd.value;
		Visitor.pwd_confirm=gpSignup.pwd_confirm.value;
		Visitor.FirstName=gpSignup.FirstName.value;
		Visitor.LastName=gpSignup.LastName.value;
	} else if(NameOfForm=="gpConfirmation"){
		if(DeviceName=="iPhone" || DeviceName=="iPad"){
			Visitor.uid=gpConfirmation.uid[1].value;
		} else{
			Visitor.uid=gpConfirmation.uid.value;
		}
		Visitor.Confirmation=gpConfirmation.Confirmation.value;
	} else if(NameOfForm=="gpSendMessage"){
		gpSendMessage.emailName=gpSendMessage.childNodes["Name"].value;
		gpSendMessage.emailAddress=gpSendMessage.childNodes["email"].value;
		gpSendMessage.emailMessage=gpSendMessage.childNodes["Message"].value;
// 		if(DeviceName=="iPhone" || DeviceName=="iPad"){
// 			gpSendMessage.emailName=gpSendMessage.Name[1].value;
// 			gpSendMessage.emailAddress=gpSendMessage.email[1].value;
// 			gpSendMessage.emailMessage=gpSendMessage.Message[1].value;
// 		} else{
// 			gpSendMessage.emailName=gpSendMessage.Name.value
// 			gpSendMessage.emailAddress=gpSendMessage.email.value;
// 			gpSendMessage.emailMessage=gpSendMessage.Message.value;
// 		}
	}
}

function SetFormInputs(NameOfForm){
	var Form=document.getElementById(NameOfForm);
	if(NameOfForm=="gpLogin"){
		if(DeviceName=="iPhone" || DeviceName=="iPad"){
			gpLogin.uid[1].value=Visitor.uid;
		} else{
			gpLogin.uid.value=Visitor.uid;
		}
		gpLogin.pwd.value=Visitor.pwd;
	} else if(NameOfForm=="gpSignup"){
		if(DeviceName=="iPhone" || DeviceName=="iPad"){
			gpSignup.uid[1].value=Visitor.uid;
		} else{
			gpSignup.uid.value=Visitor.uid;
		}
		gpSignup.LastName.value=Visitor.pwd;
		gpSignup.pwd_confirm.value=Visitor.pwd_confirm;
		gpSignup.FirstName.value=Visitor.FirstName;
		gpSignup.LastName.value=Visitor.LastName;
	} else if(NameOfForm=="gpConfirmation"){
		if(DeviceName=="iPhone" || DeviceName=="iPad"){
			gpConfirmation.uid[1].value=Visitor.uid;
		} else{
			gpConfirmation.uid.value=Visitor.uid;
		}
		gpConfirmation.Confirmation.value=Visitor.Confirmation;
	}
}

function gpLoginAction(obj){
	var fn=arguments.callee.name;
	if(obj.vAction=="Submit" || obj.vAction=="Cancel"){
		gpFormOff("gpLogin");
		Iterate(Visitor);
		if(gpLoginDiv.vAction=="Cancel"){
			return;
		}
		var Gate="Open";
		if(ValidateEntry(Visitor.uid,"email")==false){
			ENG.innerHTML+="Invalid email address<br>";
			Gate="Closed";
		}
		if(ValidateEntry(Visitor.pwd,"text")==false){
			ENG.innerHTML+="Invalid password. Alphanumeric characters only<br>";
			Gate="Closed";
		}
		if(Gate=="Open"){
			VarArr=new Object();
			VarArr.action="Login";
			VarArr.uid=escape(Visitor.uid);
			VarArr.pwd=escape(Visitor.pwd);
			//ENG.innerHTML+=VarArr.sql_query+"      <br>"
			QueryStr=ArrToStr(VarArr);
			$.ajax({
				type: "POST",
				url: sqlPath,
				data: QueryStr,
				success: function(data){
					ReturnVars=StrToArr(data);
					Visitor.pwd="";
					if(ReturnVars.FoundCount==0){
						Gate="Closed";
						ENG.innerHTML+="NoneSuch.  Create?<br>";
						gpFormLaunch("gpSignup");
					} else {
						Visitor.IDX=ReturnVars.IDX;
						Visitor.FirstName=ReturnVars.FirstName;
						Visitor.LastName=ReturnVars.LastName;
						Visitor.Confirmation=ReturnVars.Confirmation;
						Visitor.Confirmed=ReturnVars.Confirmed;
						gpButton_Login.innerHTML=Visitor.FirstName+" "+Visitor.LastName+"<br>(Logout)";
						
						if(Visitor.Confirmed==""){
							gpFormLaunch("gpConfirmation");
						}
					}
				}
			});
		}
	}
}

function gpSignupAction(obj){
	//TO DOs
	//- If the user id already exists
	//- How to retrieve password
	//
	var fn=arguments.callee.name;
	if(obj.vAction=="Submit" || obj.vAction=="Cancel"){
		gpFormOff("gpSignup");
		Visitor.Confirmation=new Date().getTime();
		Visitor.Confirmation=parseInt(Math.random() * parseInt(Visitor.Confirmation));
		Iterate(Visitor);
		if(gpSignupDiv.vAction=="Cancel"){
			return;
		}
		var Gate="Open";
		if(ValidateEntry(Visitor.uid,"email")==false){
			alert("Invalid email address<br>");
			Gate="Closed";
		}
		ENG.innerHTML+="Arrived: "+fn+" Gate="+Gate+"<br>";
		if(ValidateEntry(Visitor.pwd,"text")==false){
			alert("Invalid password. please use alphanumeric characters only<br>");
			Gate="Closed";
		}
		if(Visitor.pwd!=Visitor.pwd_confirm){
			alert("Password Confirmation failed");
			Gate="Closed";
		}
		if(Gate=="Closed"){
			return;
		}
		VarArr=new Object();
		VarArr.action="Signup01";
		VarArr.uid=escape(Visitor.uid);
		VarArr.pwd=escape(Visitor.pwd);
		//ENG.innerHTML+=VarArr.sql_query+"      <br>";
		QueryStr=ArrToStr(VarArr);
		$.ajax({
			type: "POST",
			url: sqlPath,
			data: QueryStr,
			success: function(data){
				ReturnVars=StrToArr(data);
				if(ReturnVars.FoundCount>0){
					Gate="Closed";
					ENG.innerHTML+="Already Exists<br>";
					gpFormLaunch("gpLogin");
				} else {
					VarArr=new Object();
					VarArr.action="Signup02";
					VarArr.uid=escape(Visitor.uid);
					VarArr.pwd=escape(Visitor.pwd);
					VarArr.FirstName=escape(Visitor.FirstName);
					VarArr.LastName=escape(Visitor.LastName);
					VarArr.Confirmation=escape(Visitor.Confirmation);
					//ENG.innerHTML+=VarArr.sql_query+"      <br>"
					QueryStr=ArrToStr(VarArr);
					$.ajax({
						type: "POST",
						url: sqlPath,
						data: QueryStr,
						success: function(data){
							ReturnVars=StrToArr(data);
							Iterate(ReturnVars);
							Visitor.IDX=ReturnVars.mysql_insert_id;
							VarArr=new Object();
							VarArr.emode="POST";
							VarArr.to=Visitor.FirstName+" "+Visitor.LastName+" <"+Visitor.uid+">";
							VarArr.from="DoNotReply@gregoryparkinson.com";
							VarArr.subject="Gregory Parkinson -- email Confirmation";
							VarArr.body="Gregory Parkinson -- email Confirmation\r\r";
							VarArr.body+="To complete the signup process,\r";
							VarArr.body+="please enter the following confirmation number when requested.\r\r";
							VarArr.body+="Confirmation # "+Visitor.Confirmation;
							Iterate(VarArr);
							QueryStr=ArrToStr(VarArr);
							ENG.innerHTML+=QueryStr+"<br>";
							$.ajax({
								type: "POST",
								url: emailPath,
								data: QueryStr,
								success: function(data){
									ReturnVars=StrToArr(data);
									Iterate(ReturnVars);
									//Send IDX to cookies
								}
							});
							}
					});
				}
			}
		});
	}
}

function gpConfirmationAction(obj){
	//Sec: Confirmation #
	//Sec: SQL/PHP
	var fn=arguments.callee.name;
	if(obj.vAction=="Submit" || obj.vAction=="Cancel"){
		gpFormOff("gpConfirmation");
		Iterate(Visitor);
		Button_OK.onmouseover=function(){};
		Button_OK.onmouseout=function(){};
		Button_OK.onmouseup=function(){};
		FaderMaster(Button_OK,10,20,function(){},0);
		Button_Cancel.onmouseover=function(){};
		Button_Cancel.onmouseout=function(){};
		Button_Cancel.onmouseup=function(){};    
		FaderMaster(Button_Cancel,10,20,undefined,0);
		Iterate(Visitor);
		ENG.innerHTML+="<br>";
		VarArr=new Object();
		VarArr.get="Confirmation01";
		VarArr.uid=escape(Visitor.uid);
		VarArr.pwd=escape(Visitor.pwd);
		VarArr.Confirmation=escape(Visitor.Confirmation);
		//ENG.innerHTML+=VarArr.sql_query+"      <br>";
		QueryStr=ArrToStr(VarArr);
		$.ajax({
			type: "POST",
			url: sqlPath,
			data: QueryStr,
			success: function(data){
				ReturnVars=StrToArr(data);
				if(ReturnVars.FoundCount==0){
					Gate="Closed";
					ENG.innerHTML+="Confirmation Failed<br>";
					gpFormLaunch("gpLogin");
				} else {
					VarArr=new Object();
					VarArr.action="Confirmation02";
					VarArr.uid=escape(Visitor.uid);
					VarArr.pwd=escape(Visitor.pwd);
					//ENG.innerHTML+=VarArr.sql_query+"      <br>"
					QueryStr=ArrToStr(VarArr);
					$.ajax({
						type: "POST",
						url: sqlPath,
						data: QueryStr,
						success: function(data){
							ReturnVars=StrToArr(data);
							Iterate(ReturnVars);
							//Send IDX to cookies
						}
					});
				}
			}
		});
	}
}

function gpSendMessageAction(obj){
	if(obj.vAction=="Submit" || obj.vAction=="Cancel"){
		Button_Send.onmouseover=function(){};
		Button_Send.onmouseout=function(){};
		Button_Send.onmouseup=function(){};
		FaderMaster(Button_Send,10,20,undefined,0);
		GetFormInputs("gpSendMessage");
		emailer=new Object();
		emailer.emode = "post";
		emailer.to = "info@gregoryparkinson.com";
		//emailer.bcc = "david@totallypostal.net";
		emailer.from = "website@gregoryparkinson.com"
		emailer.subject = "Website message";
		emailer.body = "From: "+gpSendMessage.emailName+" <"+gpSendMessage.emailAddress+">\n";
		emailer.body+= gpSendMessage.emailMessage;
		DoEmailer();
		if(DeviceName=="iPod" || DeviceType=="iPad"){
			gpSendMessage.Message[1].value="MESSAGE SENT - "+gpSendMessage.Message[1].value;
		} else{
			gpSendMessage.Message.value="MESSAGE SENT - "+gpSendMessage.Message.value;
		}
	}
}

function gpInitShoppingCart(){
	gpShoppingCart=document.createElement("table");
	gpShoppingCart.setAttribute("id","tbl");
	gpShoppingCart.setAttribute("name","tbl");
	gpShoppingCart.style.color="#333333";
	gpShoppingCart.style.fontSize=11;
	gpShoppingCart.style.fontFamily="Arial";
	GenDiv("gpShoppingCartDIV");
	gpShoppingCartDIV.appendChild(gpShoppingCart);
	//Drag.init(ShoppingCartDiv);
}

function gpShoppingCart_GetCart(){
	if(Visitor.IDX==""){
		Alerts.innerHTML="<span onclick='gpFormLaunch(\"gpLogin\");'>LOG IN</span> or <span onclick='gpFormLaunch(\"gpSignup\");'>SIGN UP<br>to access your shopping cart.</span>";
		SetPos(Alerts,MouseX-(Alerts.clientWidth)/2,MouseY+15);
		FaderMaster(Alerts,10,20,undefined,100);
	} else {
		VarArr=new Object();
		VarArr.action="gpShoppingCart_GetCart";
		VarArr.Idx_gpUsers=Visitor.IDX;
		QueryStr=ArrToStr(VarArr);
		Iterate(VarArr);
		$.ajax({
			type: "POST",
			url: sqlPath,
			data: QueryStr,
			success: function(data){
				ReturnVars=StrToArr(data);
				ENG.innerHTML+=gpShoppingCart+"<br>";
				TableLoad(gpShoppingCart,ReturnVars);
			}
		});
	}
}

function gpShoppingCart_AddItem(){
	VarArr=new Object();
	VarArr.action="gpShoppingCart_AddItem";
	VarArr.Idx_gpUsers=escape("1");
	VarArr.IdxStyle=escape("1");
	VarArr.StyleID=escape("DR-332");
	VarArr.Description=escape("Honeycomb barbwire fleece");
	VarArr.Price=escape("5.99");
	QueryStr=ArrToStr(VarArr);
	$.ajax({
		type: "POST",
		url: sqlPath,
		data: QueryStr,
		success: function(data){
			ReturnVars=StrToArr(data);
		}
	});
}

