// JavaScript Document
/***********************************************
* AnyLink Drop Down Menu- © Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

//Contents for menu 1
var ifenceproducts=new Array()
ifenceproducts[0]='<a href="stylegallery.php">Fence Styles</a>'
ifenceproducts[1]='<a href="pool.php">Pool Fences</a>'
ifenceproducts[2]='<a href="residential.php">Residential Fences</a>'
ifenceproducts[3]='<a href="commercial.php">Commercial Fences</a>'
ifenceproducts[4]='<a href="customfence.php">Custom Fences</a>'
ifenceproducts[5]='<a href="gates.php">Gates</a>'
ifenceproducts[6]='<a href="handrailing.php">Hand Railing</a>'
ifenceproducts[7]='<a href="accessories.php">Options &amp; Accessories</a>'

var ifenceservice=new Array()
ifenceservice[0]='<a href="FREEquote.php">Free Quote</a>'
ifenceservice[1]='<a href="smarttools.php">SmartTools&trade;</a>'
ifenceservice[2]='<a href="planning.php">Planning Advice</a>'
ifenceservice[3]='<a href="planningpool.php">Pool Project Advice</a>'
ifenceservice[4]='<a href="advice.php">Installation Advice</a>'
ifenceservice[5]='<a href="largeprojects.php">Large Projects</a>'
ifenceservice[6]='<a href="customfence.php">Custom Fence Solutions</a>'
ifenceservice[7]='<a href="schematics.php">Architectural Schematics</a>'

var ifenceabout=new Array()
ifenceabout[0]='<a href="aboutus.php">Our Company</a>'
ifenceabout[1]='<a href="advantage.php">Our Products</a>'
ifenceabout[2]='<a href="contactus.php">Contact Us</a>'

var ifencefaq=new Array()
ifencefaq[0]='<a href="faq.php">Frequent Questions</a>'
ifencefaq[1]='<a href="glossary.php">Glossary</a>'
ifencefaq[2]='<a href="gettingstarted.php">Getting Started</a>'
ifencefaq[3]='<a href="savemoney.php">Saving Money</a>'
ifencefaq[4]='<a href="poolsafety.php">Pool Safety</a>'
ifencefaq[5]='<a href="powdercoat.php">Powder Coating</a>'
ifencefaq[6]='<a href="smartrail.php">SmartRail&trade;</a>'
ifencefaq[7]='<a href="verticals.php">iFence Verticals&trade;</a>'

var ifenceshopping=new Array()
ifenceshopping[0]='<a href="powdercoat.php">Login</a>'
ifenceshopping[1]='<a href="powdercoat.php">My Account</a>'
ifenceshopping[2]='<a href="powdercoat.php">View Cart</a>'
ifenceshopping[3]='<a href="powdercoat.php">Checkout</a>'
ifenceshopping[4]='<a href="powdercoat.php">Track An Order</a>'

var ifenceGalleries=new Array()
ifenceGalleries[0]='<a href="idesignstudio.php">iDesign&trade; Fence Studio</a>'
ifenceGalleries[1]='<a href="photogallery.php">Photo Gallery</a>'
ifenceGalleries[2]='<a href="videogallery.php">Video Gallery</a>'

var ifencefreequote=new Array()
ifencefreequote[0]='<a href="FREEquote.php">Free Quote Worksheet</a>'
ifencefreequote[1]='<a href="planning.php">Free Quote Tutorial</a>'

var ifenceproducts2=new Array()
ifenceproducts2[0]='<a href="stylegallery.php">Fence Styles</a>'
ifenceproducts2[1]='<a href="pool.php">Pool Fences</a>'
ifenceproducts2[2]='<a href="residential.php">Residential Fences</a>'
ifenceproducts2[3]='<a href="commercial.php">Commercial Fences</a>'
ifenceproducts2[4]='<a href="customfence.php">Custom Fences</a>'
ifenceproducts2[5]='<a href="handrailing.php">Hand Railing</a>'
ifenceproducts2[6]='<a href="accessories.php">Options &amp; Accessories</a>'

var ifencegates=new Array()
ifencegates[0]='<a href="residentialgates.php">Residential</a>'
ifencegates[1]='<a href="poolgates.php">Pool Safe</a>'
ifencegates[2]='<a href="commercialgates.php">Commercial</a>'
ifencegates[3]='<a href="estategates.php">Estate Gates</a>'
ifencegates[4]='<a href="cantilever.php">Cantilever Slide Gates</a>'

var ifencefeatures=new Array()
ifencefeatures[0]='<a href="advantage.php">iFence Advantage&trade;</a>'
ifencefeatures[1]='<a href="smartrail.php">SmartRail&trade;</a>'
ifencefeatures[2]='<a href="verticals.php">iFence Verticals&trade;</a>'
ifencefeatures[3]='<a href="accessories.php#grades">Colors and Grade Specs</a>'
ifencefeatures[4]='<a href="accessories.php">Product Gallery</a>'
ifencefeatures[5]='<a href="powdercoat.php">Powder Coating</a>'

var ifencetips=new Array()
ifencetips[0]='<a href="planning.php">Planning</a>'
ifencetips[1]='<a href="planningpool.php">Pool Projects</a>'
ifencetips[2]='<a href="poolsafety.php">Pool Safety</a>'
ifencetips[3]='<a href="savemoney.php">Saving Money</a>'
ifencetips[4]='<a href="advice.php">Installation</a>'
 
var ifenceresources=new Array()
ifenceresources[0]='<a href="smarttools.php">SmartTools&trade;</a>'
ifenceresources[1]='<a href="faq.php">FAQ</a>'
ifenceresources[2]='<a href="glossary.php">Glossary</a>'
ifenceresources[3]='<a href="shipping.php">Shipping Info</a>'
ifenceresources[4]='<a href="contactus.php">Quick Answers</a>'
		
var menuwidth='125px' //default menu width
var menubgcolor='#4dbcd7'  //menu bgcolor
var disappeardelay=350  //menu disappear speed onMouseout (in miliseconds)
var hidemenu_onclick="yes" //hide menu when user clicks within menu?

/////No further editting needed

var ie4=document.all
var ns6=document.getElementById&&!document.all

if (ie4||ns6)
document.write('<div id="dropmenudiv" style="visibility:hidden;width:'+menuwidth+';background-color:'+menubgcolor+'" onMouseover="clearhidemenu()" onMouseout="dynamichide(event)"></div>')

function getposOffset(what, offsettype){
var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
var parentEl=what.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}


function showhide(obj, e, visible, hidden, menuwidth){
if (ie4||ns6)
dropmenuobj.style.left=dropmenuobj.style.top="-500px"
if (menuwidth!=""){
dropmenuobj.widthobj=dropmenuobj.style
dropmenuobj.widthobj.width=menuwidth
}
if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
obj.visibility=visible
else if (e.type=="click")
obj.visibility=hidden
}

function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge){
var edgeoffset=0
if (whichedge=="rightedge"){
var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth
}
else{
var topedge=ie4 && !window.opera? iecompattest().scrollTop : window.pageYOffset
var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure){ //move up?
edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight
if ((dropmenuobj.y-topedge)<dropmenuobj.contentmeasure) //up no good either?
edgeoffset=dropmenuobj.y+obj.offsetHeight-topedge
}
}
return edgeoffset
}

function populatemenu(what){
if (ie4||ns6)
dropmenuobj.innerHTML=what.join("")
}


function dropdownmenu(obj, e, menucontents, menuwidth, sidemenu){
if (window.event) event.cancelBubble=true
else if (e.stopPropagation) e.stopPropagation()
clearhidemenu()
dropmenuobj=document.getElementById? document.getElementById("dropmenudiv") : dropmenudiv
populatemenu(menucontents)

if (ie4||ns6){
showhide(dropmenuobj.style, e, "visible", "hidden", menuwidth, sidemenu)

if (sidemenu){
dropmenuobj.x=getposOffset(obj, "left")+155
dropmenuobj.y=getposOffset(obj, "top")-20
dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+"px"
dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px"
}
else {
dropmenuobj.x=getposOffset(obj, "left")
dropmenuobj.y=getposOffset(obj, "top")
dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+"px"
dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px"
}
}

return clickreturnvalue()
}

function clickreturnvalue(){
if (ie4||ns6) return false
else return true
}

function contains_ns6(a, b) {
while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
}

function dynamichide(e){
if (ie4&&!dropmenuobj.contains(e.toElement))
delayhidemenu()
else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
delayhidemenu()
}

function hidemenu(e){
if (typeof dropmenuobj!="undefined"){
if (ie4||ns6)
dropmenuobj.style.visibility="hidden"
}
}

function delayhidemenu(){
if (ie4||ns6)
delayhide=setTimeout("hidemenu()",disappeardelay)
}

function clearhidemenu(){
if (typeof delayhide!="undefined")
clearTimeout(delayhide)
}

if (hidemenu_onclick=="yes")
document.onclick=hidemenu

// Fence Style Tabs

function showCategory(tab,category) {
	var tabs=document.getElementById('tabs');
	var tablist=tabs.getElementsByTagName('li');
	for (var i=0, allTabs=tablist.length; i<allTabs; i++) {
		tablist[i].className='';
	}
	tab.className='current';
	category=document.getElementById(category);
	var overview=document.getElementById('overview');
	var gates=document.getElementById('gates');
	var theOptions=document.getElementById('options');
	var specs=document.getElementById('specs');
	var price=document.getElementById('price');
	var sample=document.getElementById('sample');
	overview.className=gates.className=theOptions.className=specs.className=price.className=sample.className='hide';
	category.className='show';
	tab.firstChild.firstChild.blur();
}

// Schematics Page Dropdown Lists

function loadSchematics(fencestyle,list) {

	var patt1 = /_grade/i;
	var patt2 = /choose/i;
	var patt3 = /residential/i;
	var patt4 = /resort/i;
	var patt5 = /fences/i;
	var patt6 = /gates/i;
	var patt7 = /designer/i;
	var style = fencestyle.replace("_grade", "");
	var urlHolder = document.getElementById('custom' + style);
		
	var theStyle = document.getElementById(style);
	var dropdownA = theStyle.getElementsByTagName('select')[0];
	var optionsA = dropdownA.getElementsByTagName('option');
	var dropdownB = theStyle.getElementsByTagName('select')[1];
	var optionsB = dropdownB.getElementsByTagName('option');
	var dropdownC = theStyle.getElementsByTagName('select')[2];
	var optionsC = dropdownC.getElementsByTagName('option');
	var dropdownD = theStyle.getElementsByTagName('select')[3];
	var optionsD = dropdownD.getElementsByTagName('option');
	var genDropdown1 = genDropdown2 = genDropdown3 = '';
	
	var styleOptionsB=new Array();
	var styleOptionsC=new Array();
	var styleOptionsD=new Array();

	if (list === 'grade') {
		for (var i=0; i<optionsA.length; i++) {
			if (optionsA[i].selected === true && optionsA[i].value.match(patt2)) {
				genDropdown1 ='hidden';
				dropdownB.className = dropdownC.className = dropdownD.className = urlHolder.className = 'hide';
			}
			else if (optionsA[i].selected === true && optionsA[i].className === 'res') {
				styleOptionsB[0]='choose your collection';
				styleOptionsB[1]='Resort Pool Fences';
				styleOptionsB[2]='Classic Residential Fences';
				dropdownC.className = dropdownC.className = dropdownD.className = urlHolder.className = 'hide';
			}
			else if (optionsA[i].selected === true && optionsA[i].className !== 'res') {
				styleOptionsB[0]='choose your configuration';
				styleOptionsB[1]='Classic Configuration';
				if (!style.match(patt3) && !style.match(patt4)) {
					styleOptionsB[2]='Optional Flush Bottom';
				}
				dropdownC.className = dropdownD.className = urlHolder.className = 'hide';
			}
		}

		genDropdown2 ='hidden';
		
		if (dropdownB.hasChildNodes()) {
			while (dropdownB.childNodes.length >= 1) {
			dropdownB.removeChild(dropdownB.firstChild);       
			} 
		}
	
		if (genDropdown1 !== 'hidden') {
			dropdownB.className = '';
			for (var i=0, newOptions= styleOptionsB.length; i<newOptions; i++) {
				var option = document.createElement('option');
				var optionTitle = styleOptionsB[i];
				var optionItem = document.createTextNode(optionTitle);
				option.appendChild(optionItem);
				dropdownB.appendChild(option);
			}
		}
		
	}

	else if (list === 'coll') {
		
		styleOptionsC[0]='choose your type';
		styleOptionsC[1]='Fences';
		styleOptionsC[2]='Gates';
		
		for (var i=0; i<optionsB.length; i++) {
			if (optionsB[i].selected === true && optionsB[i].value.match(patt2)) {
					genDropdown2 = genDropdown3 = 'hidden';
					dropdownC.className = dropdownD.className = urlHolder.className = 'hide';
				}
			else if (optionsB[i].selected === true && !optionsB[i].value.match(patt2)) {
				genDropdown2 = '';
				urlPiece = optionsB[i].value.split(" ");
				dropdownB.id = urlPiece[0];
				dropdownC.className = dropdownD.className =urlHolder.className = 'hide';
			}
		}
		
		if (dropdownC.hasChildNodes()) {
			while (dropdownC.childNodes.length >= 1) {
				dropdownC.removeChild(dropdownC.firstChild);       
			} 
		}
		
	}
	else if (list === 'type') {
		
		for (var i=0; i<optionsC.length; i++) {
			if (optionsC[i].selected === true && optionsC[i].value.match(patt2)) {
					genDropdown2 = genDropdown3 ='hidden';
					dropdownD.className = urlHolder.className = 'hide';
				}
			else if (optionsC[i].selected === true && optionsC[i].value.match(patt5)) {
				styleOptionsD[0]='choose your schematics';
				styleOptionsD[1]='Standard Fence Panels';
				if (!style.match(patt7)) {
					styleOptionsD[2]='Extreme Fence Panels';
					styleOptionsD[3]='Puppy Picket Fence Panels';
				}
				urlHolder.className = 'hide';
			}
			else if (optionsC[i].selected === true && optionsC[i].value.match(patt6)) {
				styleOptionsD[0]='choose your schematics';
				styleOptionsD[1]='Walkway Gate';
				styleOptionsD[2]='Arched Walkway Gate';
				styleOptionsD[3]='Driveway Gate';
				styleOptionsD[4]='Arched Driveway Gate';
				urlHolder.className = 'hide';
			}
		}
		
		if (dropdownD.hasChildNodes()) {
			while (dropdownD.childNodes.length >= 1) {
				dropdownD.removeChild(dropdownD.firstChild);       
			} 
		}
		
	}
	
	if (list === 'coll' && genDropdown3 !== 'hidden') {
		dropdownC.className = '';
		for (var i=0, newOptions= styleOptionsC.length; i<newOptions; i++) {
			var option = document.createElement('option');
			var optionTitle = styleOptionsC[i];
			var optionItem = document.createTextNode(optionTitle);
			option.appendChild(optionItem);
			dropdownC.appendChild(option);
		}
	}
	
	if (list === 'type' && genDropdown3 !== 'hidden') {
		dropdownD.className = '';
		for (var i=0, newOptions= styleOptionsD.length; i<newOptions; i++) {
			var option = document.createElement('option');
			var optionTitle = styleOptionsD[i];
			var optionItem = document.createTextNode(optionTitle);
			option.appendChild(optionItem);
			dropdownD.appendChild(option);
		}
	}
	
	else if (list === 'schem') {
		for (var i=0; i<optionsA.length; i++) {
			if (optionsA[i].selected === true) {
				var pieceA = optionsA[i].value;
			}
		}
		for (var i=0; i<optionsB.length; i++) {
			if (optionsB[i].selected === true) {
				var pieceB = optionsB[i].value.split(" ");
				pieceB = pieceB[0];
			}
		}
		for (var i=0; i<optionsC.length; i++) {
			if (optionsC[i].selected === true) {
				var pieceC = optionsC[i].value;
			}
		}
		for (var i=0; i<optionsD.length; i++) {
			if (optionsD[i].selected === true) {
				var pieceD = optionsD[i].value.split(" ");
				pieceD = pieceD[0];
			}
		}
		
		if (style === 'Resort') {
			pieceB = style;
			style = 'Residential';
		};

		var thePieces = '';
		
		if (fencestyle.match(patt1)) {
			thePieces = 'Assets/Schematics/' + pieceA + '/' + pieceA + '-' + style + '-' + pieceB + '-' + pieceC + '-' + pieceD + '.pdf';
		}
		else {
			thePieces = 'Assets/Schematics/' + style + '/' + style + '-' + pieceA + '-' + pieceB + '-' + pieceC + '-' + pieceD +  '.pdf';
		}
		
		var schematicsLink = urlHolder.getElementsByTagName('a')[0];
		thePieces = thePieces.replace("Grade", "");
		schematicsLink.href = thePieces.replace(/ /g, "");
		
		if (!schematicsLink.href.match('choose')) {
		  urlHolder.className = '';
	    }
		
	}
	
}

function resetForm() {
	
	var theForm = document.getElementById('dropdown_styles');
	
	if (theForm) { theForm.reset(); }
	
}