// JavaScript Document

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

//handles getting 3 seperate swf components to run at the same time
//left swf will ping this function once loaded
/*
function f_load_check(myArray){
	//check if header swf loaded
	//get header swf object ref
	var myObject_header = document.getElementById('swf_header');
	//get header swf loaded variable
	var myLoaded_header = myObject_header.getvariable("g_loaded");//myObject_header.PercentLoaded();

	//check if footer swf loaded
	//get footer swf object ref
	var myObject_footer = document.getElementById('swf_footer');
	//get footer swf loaded variable
	var myLoaded_footer = myObject_footer.getvariable("g_loaded");
	
	//get left swf object ref
	var myObject_left = document.getElementById('swf_left');
	//get footer swf loaded variable
	var myLoaded_left = myObject_left.getvariable("g_loaded");
	//set variables (not necessary)
	myObject_left.setvariable("g_loaded_2",myLoaded_header);
	myObject_left.setvariable("g_loaded_3",myLoaded_footer);
	
	//check if all components loaded
	//run all if so
	if(myLoaded_header && myLoaded_footer && myLoaded_left){
		myObject_header.play();
		myObject_left.play();
		myObject_footer.play();
	}//end if
}//end function
*/

//handles procedures on loading pages
//procedure instruction from dreamweaver parameters on page
function f_load(myArray){
	
	//set header title
	var myHeaderTitle = myArray['title'];
	var myObject = parent.header.document.getElementById('swf_header');
	myObject.setvariable("t_Header",myHeaderTitle);
	
	//set nav urls
	this.gNavPrev=myArray['url_prev'];
	this.gNavNext=myArray['url_next'];
	//set page navigation
	if(this.gNavPrev=="none"){
		var myPrev = 0;
	}else{
		var myPrev = 1;
	}//end if
	if(this.gNavNext=="none"){
		var myNext = 0;
	}else{
		var myNext = 1;
	}//end if
	myObject = parent.footer.document.getElementById('swf_footer');
	myObject.setvariable("gPrev",myPrev);
	myObject.setvariable("gNext",myNext);
}//end function

//handles navigation in site
//navigation determined by KEY WORDS
function f_Nav(myArray){
	//get keyword
	var myData = myArray['data'];
	
	//get root
	var myRoot = document.location + "";
	myRoot = myRoot.substring(0,myRoot.lastIndexOf("layout/"));
	//alert(myRoot);
	//carry out nav procedures based on keywords
	switch(myData){
		//case("load_01"):
			//alert(content.document.location);
			//content.document.location = myRoot + "content/" + "welcome_1.htm";
			//break;
		
		case("nav_next"):
			parent.content.document.location = myRoot + "content/" + parent.content.gNavNext;
			break;
			
		case("nav_prev"):
			parent.content.document.location = myRoot + "content/" + parent.content.gNavPrev;
			break;
		
		//case("navleft_00"):
			//alert(myRoot + "content/welcome_1.htm");
			//content.document.location.href = "http://www.garden-plants-4-u.co.uk/content/welcome_1.htm";//myRoot + "content/welcome_1.htm";
			//break;
			
		//case("navleft_01"):
			//content.document.location = myRoot + "http://www.garden-plants-4-u.co.uk/content/about_1.htm";
			//break;
			
		//case("navleft_02"):
			//content.document.location.href = "http://www.garden-plants-4-u.co.uk/content/askernie_1.htm";//myRoot + "content/askernie_1.htm";
			//break;
			
		//case("navleft_03"):
			//content.document.location = myRoot + "content/whatsnew_1.htm";
			//break;
			
		//case("navleft_04"):
			//content.document.location = myRoot + "content/soiltypes_1.htm";
			//break;
			
		//case("navleft_05"):
			//content.document.location = myRoot + "content/plantpartners_1.htm";
			//break;
			
		//case("navleft_06"):
			//content.document.location = myRoot + "content/locations_1.htm";
			//break;
			
		//case("navleft_07"):
			//content.document.location = myRoot + "content/meeternie_1.htm";
			//break;
			
		//case("navleft_08"):
			//content.document.location = myRoot + "content/membership_1.htm";
			//break;
			
		//case("navleft_09"):
			//content.document.location = myRoot + "content/contact_1.htm";
			//break;
			
		case("navleft_11"):
			f_win({data:'shop'});
			break;
		
	}//end switch
}//end function

//handles form validation
function f_Validate(myArray){
	//get form object
	var myForm = myArray['object'];
	//get validation list
	var myValList = new Array();
	
	//detect form from name
	//derive validation instructions
	switch(myForm.id){//NB:also used myForm.name - not sure on this
		case('askernie')://health check which solutions form
			myValList = new Array({id:"name",title:"Name"},{id:"email",title:"Email"});
			break;
		
		case('contact')://contact which solutions form
			myValList = new Array({id:"first_name",title:"First Name"},{id:"last_name",title:"Last Name"},{id:"address",title:"Address"},{id:"phone",title:"Phone"},{id:"email",title:"E-Mail"});
			break;
	}//end switch
	
	//validate form
	if(myValList.length>0){//validation required
		//iterate through validation nodes
		for(i=0;i<myValList.length;i++){
			//iterate through form elements
			for(j=0;j<myForm.elements.length;j++){
				//attempt to detect element for validation by name/ id match
				if(myValList[i]['id'] == myForm.elements[j].name){//element found by name
					//detect how to validate element from type
					eval("myValidate=f_Validate_" + myForm.elements[j].type + "({data:myValList[i],object:myForm.elements[j]})");
					if(!myValidate){myForm.elements[j].focus();return(false)};
					break;//element found - exit from iteration
				}//end if
			}//end for
		}//end for
	}//end if
	
	//return validation info
	return(true);
}//end function

//handles validating form text fields
function f_Validate_text(myArray){
	//get text form object
	var myObject = myArray['object'];
	//standard validation is for empty field
	if(myObject.value==""){
		alert("NOTE" + "\r" + "The text field \"" + myArray['data']['title'] + "\" is required for this form");
		return(false);
	}//end if
	
	return(true);
}//end function

//handles opening windows
function f_win(myArray){
	//get key word
	var myData = myArray['data'];

	switch(myData){
			//open map pdf
			case('shop'):
				gWin=window.open('../shop/index.html','win','width=700,height=500,resizable=yes,scrollbars=auto');
				gWin.focus();
				break;
	}//end switch
}//end function f_Win