// Function opens link in new window
//
function openInNewWindow(address) {
var newWindow = window.open(address, 'newWindow');
newWindow.focus();
return false;
}

function get() {
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++) {
		var element = arguments[i];
		if (typeof element == 'string')
			element = document.getElementById(element);
		if (arguments.length == 1)
			return element;
		elements.push(element);
	}
	if(elements.length == 0) return false;
	return elements;
}


var hasFlash=function(){
	var a=6;
	if(navigator.appVersion.indexOf("MSIE")!=-1&&navigator.appVersion.indexOf("Windows")>-1){
		document.write('<script language="VBScript"\> \non error resume next \nhasFlash = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & '+a+'))) \n</script\> \n');
		if(window.hasFlash!=null)return window.hasFlash
	}
	if(navigator.mimeTypes&&navigator.mimeTypes["application/x-shockwave-flash"]&&navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin){
		return true;
	}
	return false
}();
function renderSlideshow () {
	var headerSWF;

	headerSWF  = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="960" height="230">';
	headerSWF += '	<param name="movie" value="_flash/slideshow.swf" />';
	headerSWF += '	<param name="bgcolor" value="#000000" />';
	headerSWF += '  <param name="wmode" value="transparent" />';
	headerSWF += '	<embed src="_flash/slideshow.swf" width="960" height="230" wmode="transparent" bgcolor="#000000" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer" />';
	headerSWF += '<'+'/object>';
	if(get('slideshow')) {
		get('slideshow').innerHTML = headerSWF;
	}
}


// Function runs on window load, going through link tags looking for rel="external".
// These links receive onclick events that cause the link to open in a new window.
//
function initLinker()
{
	
	if (!document.getElementsByTagName){ return; }
	var anchors = document.getElementsByTagName("a");

	// loop through all anchor tags
	for (var i=0; i<anchors.length; i++){
		var anchor = anchors[i];
		
		// external links
		if (anchor.getAttribute("href") && (anchor.getAttribute("rel") == "external")){
			anchor.onclick = function () {openInNewWindow(this.getAttribute("href")); return false;}
		}
		
		// navigation slideout menus
		if (anchor.getAttribute("href") && (anchor.className == "slider")){
			anchor.onmouseover = function() { ypSlideOutMenu.showMenu(this.id); }
			anchor.onmouseout = function() { ypSlideOutMenu.hideMenu(this.id); }
		}
		
		// scroller links
		var oRegExp = new RegExp("(^|\\s)" + 'scroller' + "(\\s|$)");
		if (oRegExp.test(anchor.className)) {
			var scroll_link = anchor.getAttribute("href");
			scroll_link = '#' + scroll_link.substring(scroll_link.indexOf('#')+1,scroll_link.length);
			$(anchor).click(function(){
				$.scrollTo( scroll_link, {speed:500} );
				return false;
			});
		}
	}
}

//
// getElementsByClassName(parent element,tag,class)
// returns all elements of a certain class name
function getElementsByClassName(oElm, strTagName, strClassName){
    var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    strClassName = strClassName.replace(/\-/g, "\\-");
    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    var oElement;
    for(var i=0; i<arrElements.length; i++){
        oElement = arrElements[i];      
        if(oRegExp.test(oElement.className)){
            arrReturnElements.push(oElement);
        }   
    }
    return (arrReturnElements)
}

// Function turns spam-bot protected e-mail addresses
// into functioning e-mail links
//
function emailCloak() {
	if (document.getElementById) {
		//var alltags = document.all? document.all : document.getElementsByTagName("*");
		var alltags = document.all? document.all : document.getElementsByTagName("span");
		for (i=0; i < alltags.length; i++) {
		  var strClassName = "cloak";
		  strClassName = strClassName.replace(/\-/g, "\\-");
		  var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
		  if (oRegExp.test(alltags[i].className)) {
			var oldText = alltags[i].firstChild;
			var emailAddress = alltags[i].firstChild.nodeValue;
			var user = emailAddress.substring(0, emailAddress.indexOf("("));
			var website = emailAddress.substring(emailAddress.indexOf(")")+1, emailAddress.length);
			var newText = user+"@"+website;
			var a = document.createElement("a");
			a.href = "mailto:"+newText;
			var address = document.createTextNode(newText);
			a.appendChild(address);
			alltags[i].replaceChild(a,oldText);
		  }
		}
	}
}

//
// addLoadEvent()
// Adds event to window.onload without overwriting currently assigned onload functions.
// Function found at Simon Willison's weblog - http://simon.incutio.com/
//
function addLoadEvent(func)
{	
	var oldonload = window.onload;
	if (typeof window.onload != 'function'){
    	window.onload = func;
	} else {
		window.onload = function(){
		oldonload();
		func();
		}
	}

}


function addEvent( obj, type, fn ) {
  if ( obj.attachEvent ) {
    obj['e'+type+fn] = fn;
    obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
    obj.attachEvent( 'on'+type, obj[type+fn] );
  } else
    obj.addEventListener( type, fn, false );
}
function removeEvent( obj, type, fn ) {
  if ( obj.detachEvent ) {
    obj.detachEvent( 'on'+type, obj[type+fn] );
    obj[type+fn] = null;
  } else
    obj.removeEventListener( type, fn, false );
}




//
// validates evalution form
//
var frmFalse;
function formCheck(form) {
	// check textareas
	var elements = form.elements;
	var elmLength = elements.length;
	var regNoCheck = new RegExp("(^|\\s)" + 'nocheck' + "(\\s|$)");
	var regEmail = new RegExp("(^|\\s)" + 'email' + "(\\s|$)");
	var regPassword = new RegExp("(^|\\s)" + 'password' + "(\\s|$)");
	var errorAdd = '';
	
	for(i=0;i<elmLength;i++) {
		var element = elements[i];
		if(element.type == "textarea" || element.type == "text" || element.type == "select-one") {
			if(element.value == "" && regNoCheck.test(element.className) == false) {
				var elmParent = element.parentNode;
				elmParent.className += " missing";
				element.onblur = function() { inputVal(this); }
				var frmReturn = "false";
			}
			if(regEmail.test(element.className)) { 
				var mailcheck = echeck(element.value); 
				if(mailcheck == false) {
					var elmParent = element.parentNode;
					elmParent.className += " missing";
					element.onblur = function() { inputVal(this); }
					var frmReturn = "false";
				}
			}
		}
		if(element.type == "radio" || element.type == "checkbox") {
			var elmName = element.name;
			//var radios = form.eval(elmName);
			var radios = form[elmName];
			var radiosLength = radios.length;
			var radiosCheck = "no";
			for(j=0;j<radiosLength;j++) {
				var radio = radios[j];
				//if(radio.checked == true || regNoCheck.test(radio.className)) alert('checked');
				if(radio.checked == true || regNoCheck.test(radio.className)) {
					radiosCheck = "yes";
					break;
				}
				//else radio.onclick = function() { radioVal(this); }
				else {
					addEvent(radio,'click',function(){radioVal(this);});
				}
			}
			if(radiosCheck == "no") {
				var elmParent = radio.parentNode.parentNode;
				elmParent.oldClass = elmParent.className;
				elmParent.className += " missing";
				var frmReturn = "false";
			}
		}
		if(element.type == 'password') {
			if(element.value == '') {
				var elmParent = element.parentNode;
				elmParent.className += " missing";
				element.onblur = function() { inputVal(this); }
				var frmReturn = "false";
			}
			if(regPassword.test(element.className)) { 
				var second = get(element.name + '2');
				if(element.value != second.value) {
					errorAdd += "<br />Please re-enter your passwords, they do not match.";
				}
			}
		}
		
	}
	if(frmReturn == "false" && frmFalse != "true") {
		frmFalse = "true";
		var errorPara = document.createElement('p');
			errorPara.setAttribute('id','frm-error');
		form.insertBefore(errorPara,form.firstChild);
	}
		
	if(frmReturn == "false") {
		var errorText = ("You didn't complete the entire form. Parts highlighted in red need to be filled out." + errorAdd);
		var errorPara = get('frm-error');
		errorPara.innerHTML = errorText;
		//scroll(0,0);
		$.scrollTo( '#frm-error', {speed:100} );
		return false;
	}
}

function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   //alert("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   //alert("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    //alert("Invalid E-mail ID")
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    //alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    //alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    //alert("Invalid E-mail ID")
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    //alert("Invalid E-mail ID")
		    return false
		 }

 		 return true					
	}


function inputVal(input) {
	if(input.value != "") {
		var parentClass = input.parentNode.className;
		parentClass = parentClass.replace(/missing/g,"");
		//parentClass = "";
		input.parentNode.className = parentClass;
	}
}
function radioVal(input) {
	var parent = input.parentNode.parentNode;
	var parentClass = parent.className;
	//parentClass = parentClass.replace("missing","");
	parentClass = parentClass.replace(/missing/g,"");
	parent.className = parentClass;
}

//
// initContact()
// configures show/hide events for the contact form
//
function initContact(frm) {
	var plans = get('plans');
	plans.onchange = function() { swapPlans(this); }
	swapPlans(plans);
}

//
// swapPlans()
// shows/hides fieldsets depending on the person's plans
//
function swapPlans(el) {
	var frm = get('frmContact');
	var fs_sell = getElementsByClassName(frm,'*','fs-sell');
	var fs_buy = getElementsByClassName(frm,'*','fs-buy');
	var plans = el.value;
	if(plans == 'Buy') {
		// hide sell fieldsets
		for(i=0;i<fs_sell.length;i++) {
			fs_sell[i].style.display = "none";
		}
		// show buy fieldsets
		for(i=0;i<fs_buy.length;i++) {
			fs_buy[i].style.display = "block";
		}
	}
	if(plans == 'Sell') {
		// hide sell fieldsets
		for(i=0;i<fs_sell.length;i++) {
			fs_sell[i].style.display = "block";
		}
		// show buy fieldsets
		for(i=0;i<fs_buy.length;i++) {
			fs_buy[i].style.display = "none";
		}
	}
}
//
// initForm()
// sets onsubmit form validation for all forms with a class of 'validate'
//
function initForm() {
	if(pageForm = getElementsByClassName(document,'form','validate')) {
		for(i=0;i<pageForm.length;i++) {
			pageForm[i].onsubmit = function() { return formCheck(this); }
		}
	}
	if(get('frmContact')) { 
		var frmContact = get('frmContact');
		initContact(frmContact); 
	}
}

//
// initSearch()
// configures the search box value
//
function initSearch() {
	var searchbox = get("q");
	searchbox.onfocus = function () { if(searchbox.value == 'Search...') searchbox.value = ''; }
	searchbox.onblur = function () { if(searchbox.value == '') searchbox.value = 'Search...'; }
	var searchform = get("site-search");
	searchform.onsubmit = function() { 
		var searchbox = get("q");
		if(searchbox.value == '' || searchbox.value == 'Search...') { alert("Please enter a search term"); searchbox.focus(); return false; }
		else return true;
	}
}
//
// prodExtras
// configures product extras
//
prodExtras = {
	form:null,
	wood_extra: 'extra[23]',
	hutch_extra: 'extra[51]',
	hutch:false,
	extras:null,
	init:function(){
		var extras = getElementsByClassName(document,'input','extra');
		prodExtras.extras = extras;
		var extras_count = extras.length;
		prodExtras.form = get('frmProduct');
		var current_extra_cat;
		
		var wood_extra = 'extra[23]';
		var hutch_extra = 'extra[51]';
		
		// configure extra highlights
		for(i=0;i<extras_count;i++) {
			var extra = extras[i];
			
			/* #### BUFFETS/HUTCHES #### */
			if(extra.name == prodExtras.hutch_extra) {
				prodExtras.hutch = true;
				extra.onclick = function() { prodExtras.set(this); prodExtras.sethutch(this); }
			}
			else {
			/* ###### END BUFFETS ###### */
				//alert(extra.name);
				extra.onclick = function() { prodExtras.set(this); }
			}
			
			// highlight selected on load
			if(current_extra_cat != extra.name) {
				prodExtras.set(extra);
				prodExtras.sethutch(extra);
				current_extra_cat = extra.name;
			}
		}

		// seperate Wood and Stain category
		if(get('woodtitle')) {
			splitRadio.init();
		}
	},
	set:function(el){
		var xName = el.name;

		var els = prodExtras.form[xName];
		var el_count = els.length;
		
		if(!el_count) {
			var e = els;
			var l = 'li-' + e.value;
			var l = get(l);
			if(e.checked == true) l.className = 'selected';
			else l.className = '';
		}
		else {
			for(j=0;j<el_count;j++) {
				var e = els[j];
				var l = 'li-' + e.value;
				var l = get(l);
				if(e.checked == true) l.className = 'selected';
				else l.className = '';
			}
		}
	},
	clear:function(el){
		var xName = el.name;

		var els = prodExtras.form[xName];
		var el_count = els.length;
		
		for(j=0;j<el_count;j++) {
			var e = els[j];
			var l = 'li-' + e.value
			var l = get(l);
			l.className = '';
			e.checked = false;
		}
	},
	sethutch:function(el){
		if(prodExtras.hutch == false) return;
		var xName = el.name;
		var xBuffet = false;

		var els = prodExtras.form[xName];
		var el_count = els.length;
		
		if(!el_count) {
			els = new Array(els);
			el_count = 1;
		}
		for(j=0;j<el_count;j++) {
			var e = els[j];
			if(e.checked == true) {
				if(e.value == '51:397') xBuffet = true;
			}
		}
		
		// set remaining inputs
		var extras_count = prodExtras.extras.length;
		for(k=0;k<extras_count;k++) {
			var extra = prodExtras.extras[k];
		}
	}
} // end prodExtras
function initExtras(){prodExtras.init();}

//
// splitRadio
// splits up a single radio list into 2 seperate lists
//
splitRadio = {
	lists:[],
	current:null,
	originalList:'woodlist',
	firstName:'wood',
	firstTitle:'Wood Type',
	secondName:null,
	secondTitle:'Stain',
	form:null,
	init:function(){
		splitRadio.form = get('frmProduct');
		var s = get(splitRadio.originalList);
		get('woodtitle').innerHTML = splitRadio.firstTitle;
		var c = document.createElement('ul');
		c.className = 'extra-list';
		s.parentNode.insertBefore(c,s);
		var t = document.createElement('h3');
		var tText = t.appendChild (document.createTextNode(splitRadio.secondTitle));
		s.parentNode.insertBefore(t,s);
		
		var g = s.getElementsByTagName('input');
		var x;
		var y;
		for(var i=0,j=g.length;i<j;i++){
			// o = current input tag
			var o = g[i];

			//thumbnails
			var og_thumb_count = o.parentNode.getElementsByTagName('img').length;
			if(og_thumb_count > 0) {
				var x_thumb = true;
				var og_img = o.parentNode.getElementsByTagName('a').item(0);
				var pImg = og_img.cloneNode(true);
				og_img.parentNode.removeChild(og_img);
				//var imgRegExp = new RegExp("<a[^<>]+>","i");
				//oName[0] = oName[0].replace(imgRegExp,'');
			}
			else var x_thumb = false;
			
			var oValue = o.value.split(':');
			var oName = o.nextSibling.innerHTML.split('::');
			y = oName[1];
			
			if(x != oName[0]) {
				x = oName[0];
				var cLi = document.createElement('li');
					cLi.id = 'li-' + i;
				c.appendChild(cLi);
				if(typeof(IE) == 'number') var cInput=document.createElement('<input type="radio" name="extraWood">');
				else var cInput=document.createElement("input");
					cInput.className="radio";
					cInput.id="extraWood_"+i;
					cInput.name="extraWood";
					cInput.value=i;
					cInput.type="radio";
					cInput.onclick = function() { splitRadio.choose(this.value); prodExtras.set(this); }
				cLi.appendChild(cInput);
				var cLabel=document.createElement("label");
					cLabel.htmlFor="extraWood_"+i;
				cLi.appendChild(cLabel);
				var cText = cLabel.appendChild(document.createTextNode(x));
				
				var n = document.createElement('ul');
				n.className = 'extra-list stains';
				n.id = 'xlist_'+i;
				s.parentNode.insertBefore(n,s);
			}
			else if(i==0) {
				var n = document.createElement('ul');
				n.className = 'extra-list stains';
				s.parentNode.insertBefore(n,s);
			}
			
			var pLi = document.createElement('li');
				pLi.id = "li-"+oValue[0]+':'+oValue[1];
			if(typeof(IE) == 'number') var pInput=document.createElement('<input type="radio" name="extra[' + oValue[0] + ']">');
			else var pInput=document.createElement("input");
				pInput.type="radio";
				pInput.className="radio";
				pInput.id="extra_"+oValue[1];
				if(!splitRadio.secondName) splitRadio.secondName = 'extra['+oValue[0]+']';
				pInput.name=splitRadio.secondName;
				pInput.value=oValue[0]+':'+oValue[1];
				// highlight
				pInput.onclick = function() { prodExtras.set(this); }
			pLi.appendChild(pInput);
			
			var pLabel=document.createElement("label");
				pLabel.htmlFor="extra_"+oValue[1];
			pLi.appendChild(pLabel);
			
			// thumbnail
			if(x_thumb == true) {
				pLabel.appendChild(pImg);
			}
			
			var pText = pLabel.appendChild (document.createTextNode(y));
			n.appendChild(pLi);
		}
		// remove original list
		s.parentNode.removeChild(s);
		
		if(splitRadio.current === null){
			splitRadio.current = 0;
			splitRadio.choose(splitRadio.current);
		}
		
	},
	choose:function(o){
		if(splitRadio.current !== null){
			var curname = 'xlist_'+splitRadio.current;
			get(curname).style.display='none';
		}
		var stains = splitRadio.form[splitRadio.secondName];
		if(stains.length) stain1 = stains[0];
		else stain1 = stains;
		
		// clear current selection
		if(stains.length) prodExtras.clear(stain1);
		
		// show selected list
		var oname = 'xlist_'+o;
		get(oname).style.display='block';
		splitRadio.current = o;
	},
	insertAfter:function(parent, node, referenceNode) {
		parent.insertBefore(node, referenceNode.nextSibling);
	}
} // end splitRadio
function initSplitRadio(){splitRadio.init();}


thumbnails={
	//
	// Function runs on window load, determines what images are in the 
	// thumbs section, sets their onclick events, and preloads the
	// larger images.
	thumbs:[],
	init:function(){
		if (!document.getElementsByTagName){ return; }
		var gallery = get("thumbs");
		if(!gallery){ return; }
		thumbnails.thumbs = gallery.getElementsByTagName("a");
		var preload = new Array();
	
		// loop through all anchor tags
		for (var i=0,j=thumbnails.thumbs.length; i<j; i++){
			var thumb = thumbnails.thumbs[i];
			var thumbmid = thumb.getAttribute("href").replace('full','mid'); 
			preload[i] = thumbmid;
			thumb.onclick = function() { 
				// swap image
				var this_photo = this.getAttribute("href");
				thumbnails.swapimage('mainphoto','',this_photo.replace('full','mid'),0); 
				// set as active
				thumbnails.set(this);
				// change photo link
				var anchors = get('photos').getElementsByTagName('a');
				var photolink = anchors[0];
				photolink.href = this.getAttribute("href");
				return false; 
			}
		}
		
		// set first thumbnail
		thumbnails.set(thumbnails.thumbs[0]);
		
		thumbnails.preload(preload);
	},
	set:function(el){
		for (var i=0,j=thumbnails.thumbs.length;i<j;i++) {
			var thumb = thumbnails.thumbs[i];
			thumb.className = '';
		}
		el.className = 'selected';
	},
	findobj:function(n,d){
		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=thumbnails.findobj(n,d.layers[i].document);
		if(!x && d.getElementById) x=d.getElementById(n); return x;
	},
	swapimage:function(){
		var i,j=0,x,a=thumbnails.swapimage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
		if ((x=thumbnails.findobj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
	},
	preload:function(images){
		var loader = new Array();
		for(var i = 0; i < images.length; i++){
		   loader[i] = new Image();
		   loader[i].src = images[i];
		}
	}
} // end thumbnails
function initThumbs(){thumbnails.init();}

subswap={
	//
	// function for yes/no radio options to display child fieldsets
	init:function(){
		var frm = get('frmSubmit');
		if(!frm) return;
		var radios = getElementsByClassName(frm,'input','sub-swap');
		var length = radios.length;
		var curname;
		for(var i=0;i<length;i++) {
			var radio = radios[i];
			var thisname = radio.name;
			
			// add onclick
			radio.onclick = function(){ subswap.swap(this); }
			
			// hide sub fieldsets
			if(thisname != curname) {
				var parent = subswap.getparent(radio);
				var subs = parent.getElementsByTagName('fieldset');
				var sublength = subs.length;
				for(j=0;j<sublength;j++) {
					subs[j].style.display = 'none';
				}
			}
			
			// activate swap
			if(radio.checked == true) {
				subswap.swap(radio);
			}
			
			curname = thisname;
		}
	},
	swap:function(el){
		var display;
		if(el.value == 'Yes') display = 'block';
		else display = 'none';
		
		// show/hide sub fieldsets
		var parent = subswap.getparent(el);
		var subs = parent.getElementsByTagName('fieldset');
		var sublength = subs.length;
		for(j=0;j<sublength;j++) {
			subs[j].style.display = display;
		}
	},
	getparent:function(el){
		var parent = el.parentNode;
		while(parent.nodeName != 'FIELDSET') {
			parent = parent.parentNode;
		}
		return parent;
	}
} // end subswap
function initSubSwap(){subswap.init();}

prodBuilder={
	//
	// function for table builder options and photos
	setPhoto: null,
	debug: false,
	init:function(){
		if(prodBuilder.debug == true) alert('init'); // debug
		var parent = get('tblBuilder');
		if(!parent) return;
		var list = parent.getElementsByTagName('ul').item(0);
		if(!list) return;
			list.className += ' live';
		var items = parent.getElementsByTagName('li');
		var item_count = items.length;
		
		// create holder div
		var holder = document.createElement('div');
			holder.id = 'photo-holder';
		var photo = document.createElement('img');
			photo.id = 'builder-photo';
			photo.src = '/_images/blank.gif';
		prodBuilder.setPhoto = photo.src;
		holder.appendChild(photo);
		parent.insertBefore(holder,list);
		
		// add hover events
		for(i=0;i<item_count;i++) {
			items[i].onmouseover = function(){ prodBuilder.show(this); };
			items[i].onmouseout = function() { prodBuilder.hide(this); };
			items[i].onclick = function() { prodBuilder.set(this); }
		}
		
	},
	show:function(el){
		var photo = el.getElementsByTagName('img').item(0);
		var target = get('builder-photo');
		target.src = photo.src;
		if(prodBuilder.debug == true) alert(target.src); // debug
	},
	hide:function(el){
		//if(prodBuilder.debug == true) alert('hide'); // debug
		var photo = el.getElementsByTagName('img').item(0);
		var target = get('builder-photo');
		target.src = prodBuilder.setPhoto;
	},
	set:function(el){
		if(prodBuilder.debug == true) alert('set'); // debug
		var photo = el.getElementsByTagName('img').item(0);
		prodBuilder.setPhoto = photo.src;
	}
} // end prodBuilder

account={
	// My Account functions
	init:function(){
		// btn-reject thickbox
		if(get('btn-reject')) {
			var btn_reject = get('btn-reject');
			//btn_reject.href = '#TB_inline&height=315&width=450&inlineId=reject_comments';
			btn_reject.href = location.href + '#TB_inline&amp;height=315&amp;width=470&amp;inlineId=reject_comments'; // fix for IE
		}
		
		// accept quote swap
		if(get('frmAccept')) {
			var pay_types = $('#frmAccept ul.extra-list input');
			var type_count = pay_types.length;
			for(i=0;i<type_count;i++) {
				var pay_type = pay_types[i];
				pay_type.onclick = function(){ swap(this.id.replace('pay_','paynote-')); };
			}
			pay_types[0].checked = true;
			swap(pay_types[0].id.replace('pay_','paynote-'));
		}
			
	}
} // end account

function swap(el) { // hides all elements with certain class, shows element passed to it
	if (typeof el == 'string') el = get(el);
	var swap_type = el.nodeType;
	var swap_class = el.className;
	var others = getElementsByClassName(document,'*',swap_class);
	var other_count = others.length;
	for(i=0;i<other_count;i++) {
		others[i].style.display = 'none';
	}
	el.style.display = 'block';
}

/*
addLoadEvent(initSubSwap);
addLoadEvent(initThumbs);
addLoadEvent(initForm);
addLoadEvent(initLinker);
addLoadEvent(emailCloak);
addLoadEvent(initExtras);
if(hasFlash) { addLoadEvent(renderSlideshow); }
*/
$(document).ready(function(){
	initSubSwap();
	initThumbs();
	initForm();
	initLinker();
	emailCloak();
	initExtras();
	prodBuilder.init();
	account.init();
	if(hasFlash) renderSlideshow();
});