/**
 *  Most of the scripts below were found at
 *  www.alistapart.com and related sites.  They are used
 *  here because they are web standards compliant.  These
 *  scripts are all free to reuse and are not licensed as
 *  part of the software core.
 *
 *  All onload() events go at the bottom of this file.
 */

/**
 *  Function DisableSubmit() used to disable submit buttons
 *  after then have been depressed.  This is implemented to
 *  stop multiple click submissions of forms.
 */

var submitted = false;
var tdCount = 0;
var maxCount;

function DisableSubmit(formname) {

     if(submitted == true) { return; }
     document.forms[formname].submit();
     document.forms[formname].SUBMIT.value = 'Please Wait...';
     document.forms[formname].SUBMIT.disabled = true;
     submitted = true;

}

/**
 *  Function externalLinks() used to provide a standards
 *  compliant way of producing a pop-up link to another
 *  page.
 */

function externalLinks() {

     if (!document.getElementsByTagName) return;
     var anchors = document.getElementsByTagName("a");
     for (var i=0; i<anchors.length; i++) {
     var anchor = anchors[i];
     if (anchor.getAttribute("href") &&
     anchor.getAttribute("rel") == "external")
     anchor.target = "_blank";
     }

}

/**
 *  Function to add multiple onload() events to a page. 
 *  Authored by Scott Andrew.  Visit www.scottandrew.com
 *  for info.
 */

function addWindowEvent(elm, evType, fn, useCapture) {

     if (elm.addEventListener) {
     elm.addEventListener(evType, fn, useCapture);
     return true;
     } else if (elm.attachEvent) {
     var r = elm.attachEvent('on' + evType, fn);
     return r;
     } else {
     elm['on' + evType] = fn;
     }

}

/**
 *	Whatever:hover - V1.42.060206 - hover & active
 *	------------------------------------------------------------
 *	(c) 2005 - Peter Nederlof
 *	Peterned - http://www.xs4all.nl/~peterned/
 *	License  - http://creativecommons.org/licenses/LGPL/2.1/
 *
 *	Whatever:hover is free software; you can redistribute it and/or
 *	modify it under the terms of the GNU Lesser General Public
 *	License as published by the Free Software Foundation; either
 *	version 2.1 of the License, or (at your option) any later version.
 *
 *	Whatever:hover is distributed in the hope that it will be useful,
 *	but WITHOUT ANY WARRANTY; without even the implied warranty of
 *	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 *	Lesser General Public License for more details.
 *
 *	Credits and thanks to:
 *	Arnoud Berendsen, Martin Reurings, Robert Hanson
 *
 *	howto: body { behavior:url("csshover.htc"); }
 *	------------------------------------------------------------
 */

var csshoverReg = /(^|\s)(([^a]([^ ]+)?)|(a([^#.][^ ]+)+)):(hover|active)/i,

currentSheet, doc = window.document, hoverEvents = [], activators = {
onhover:{on:'onmouseover', off:'onmouseout'},
onactive:{on:'onmousedown', off:'onmouseup'}
}

function parseStylesheets() {

     if(!/MSIE (5|6)/.test(navigator.userAgent)) return;
     window.attachEvent('onunload', unhookHoverEvents);
     var sheets = doc.styleSheets, l = sheets.length;
     for(var i=0; i<l; i++) 
     parseStylesheet(sheets[i]);

}

function parseStylesheet(sheet) {

     if(sheet.imports) {
     try {
     var imports = sheet.imports, l = imports.length;
     for(var i=0; i<l; i++) parseStylesheet(sheet.imports[i]);
     } catch(securityException){}
     }
     try {
     var rules = (currentSheet = sheet).rules, l = rules.length;
     for(var j=0; j<l; j++) parseCSSRule(rules[j]);
     } catch(securityException){}

}

function parseCSSRule(rule) {

     var select = rule.selectorText, style = rule.style.cssText;
     if(!csshoverReg.test(select) || !style) return;
     var pseudo = select.replace(/[^:]+:([a-z-]+).*/i, 'on$1');
     var newSelect = select.replace(/(\.([a-z0-9_-]+):[a-z]+)|(:[a-z]+)/gi, '.$2' + pseudo);
     var className = (/\.([a-z0-9_-]*on(hover|active))/i).exec(newSelect)[1];
     var affected = select.replace(/:(hover|active).*$/, '');
     var elements = getElementsBySelect(affected);
     if(elements.length == 0) return;
     currentSheet.addRule(newSelect, style);
     for(var i=0; i<elements.length; i++)
     new HoverElement(elements[i], className, activators[pseudo]);

}

function HoverElement(node, className, events) {

     if(!node.hovers) node.hovers = {};
     if(node.hovers[className]) return;
     node.hovers[className] = true;
     hookHoverEvent(node, events.on, function() { node.className += ' ' + className; });
     hookHoverEvent(node, events.off, function() { node.className = node.className.replace(new RegExp('\\s+'+className, 'g'),''); });

}

function hookHoverEvent(node, type, handler) {

     node.attachEvent(type, handler);
     hoverEvents[hoverEvents.length] = { 
     node:node, type:type, handler:handler 
     };

}

function unhookHoverEvents() {

     for(var e,i=0; i<hoverEvents.length; i++) {
     e = hoverEvents[i]; 
     e.node.detachEvent(e.type, e.handler);
     }
}

function getElementsBySelect(rule) {

     var parts, nodes = [doc];
     parts = rule.split(' ');
     for(var i=0; i<parts.length; i++) {
     nodes = getSelectedNodes(parts[i], nodes);
     }
     return nodes;

}

function getSelectedNodes(select, elements) {

     var result, node, nodes = [];
     var identify = (/\#([a-z0-9_-]+)/i).exec(select);
     if(identify) {
     var element = doc.getElementById(identify[1]);
     return element? [element]:nodes;
     }
     var classname = (/\.([a-z0-9_-]+)/i).exec(select);
     var tagName = select.replace(/(\.|\#|\:)[a-z0-9_-]+/i, '');
     var classReg = classname? new RegExp('\\b' + classname[1] + '\\b'):false;
     for(var i=0; i<elements.length; i++) {
     result = tagName? elements[i].all.tags(tagName):elements[i].all; 
     for(var j=0; j<result.length; j++) {
     node = result[j];
     if(classReg && !classReg.test(node.className)) continue;
     nodes[nodes.length] = node;
     }
     }	
     return nodes;

}

/**
 *  Function to show or hide an id within an XHTML page.
 */

function idShowHide(obj) {

     var el = document.getElementById(obj);
     if ( el.style.display != "none" ) {
     el.style.display = 'none';
     } else {
     el.style.display = 'block';
     }

}

/**
 *  WYSIWYG Editors.
 */

function wysiwygLoad(id) {

     var pid = id + '--wysiwyglink';
     var el  = document.getElementById(pid);

     if ( el.style.display != "none" ) {
     el.style.display = 'none';
     $(id).mooEditable({buttons: 'bold,italic,underline,strikethrough,|,insertunorderedlist,insertorderedlist,indent,outdent,|,undo,redo,|,toggleview'});
     }

}

function switchProduct(id) {
	
	
	var ajaxRequest;  // The variable that makes Ajax possible!
	
	
 try
 {
  var ajaxRequest = new XMLHttpRequest();
 }
 catch(err1)
 {
  var ieXmlHttpVersions = new Array();
  ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.8.0";
  ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.7.0";
  ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.6.0";
  ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.5.0";
  ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.4.0";
  ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.3.0";
  ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp";
  ieXmlHttpVersions[ieXmlHttpVersions.length] = "Microsoft.XMLHttp";

  var i;
  for (i=0; i < ieXmlHttpVersions.length; i++)
  {
   try
   {
    var ajaxRequest = new ActiveXObject(ieXmlHttpVersions[i]);
    //document.getElementById("Content").innerHTML="<h1>Using " + ieXmlHttpVersions[i] + "</h1>";
	
    break;
   }
   catch (err2)
   {
    
   }
  }
 }

ajaxRequest.onreadystatechange = function(){
	if(ajaxRequest.readyState == 4){
		var searchResponse = ajaxRequest.responseText;
		
		if(searchResponse != "") {
			splitResponse = searchResponse.split("---");
			
			$('#seafood_link').fadeOut('slow');
			$('#prod_detail_box').fadeOut('slow', function() {
				document.getElementById("prod_detail_box").style.backgroundImage = "none";
    			document.getElementById("prod_detail_box").innerHTML = '<p class="prod_detail_good_for_text pregis-light"><span style="font-size: 22px; color: #000;">Ideal for</span><br />' + splitResponse[5] + '</p><a href="ecom-prodshow/' + splitResponse[1] + '.html" title="' + splitResponse[2] + ' - ' + splitResponse[0] + '"><img id="product_cat_img" src="media/ecom/prodlg/' + splitResponse[3] + '" alt="' + splitResponse[2] + ' - ' + splitResponse[0] + '"></a><div class="cleaner"></div><p class="prodnumber">' + splitResponse[2] + '</p><p class="spec"><a href="ecom-prodshow/' + splitResponse[1] + '.html">' + splitResponse[4] + '</a>';

				document.getElementById("seafood_link").innerHTML = '<a href="ecom-prodshow/' + splitResponse[1] + '.html"><img src="skins/Default/media/full_spec_btn.png" alt="" /></a>';
				
				var elems = getElementsByClassName("pink");
				
				if(elems.length >= 1) {
					elems[0].className = "";	
				}
				
				document.getElementById("link_for_" + id).className = "pink";
				
				Cufon.refresh();
					
				$("#prod_detail_box").fadeIn('slow');
				$('#seafood_link').fadeIn('slow');
				
				
  			});

		
		} 
		
	} else if(ajaxRequest.readyState == 1 ||ajaxRequest.readyState == 2 || ajaxRequest.readyState == 3) {
		document.getElementById("prod_detail_box").style.backgroundImage = "url(skins/Default/media/loading.gif)";
	}
}

var url = "skins/skin_category/grab_prod.php";
var params = "prodid=" + id;
ajaxRequest.open("POST",url,true);
ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
ajaxRequest.send(params);

}

var getElementsByClassName = function (className, tag, elm){
	if (document.getElementsByClassName) {
		getElementsByClassName = function (className, tag, elm) {
			elm = elm || document;
			var elements = elm.getElementsByClassName(className),
				nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
				returnElements = [],
				current;
			for(var i=0, il=elements.length; i<il; i+=1){
				current = elements[i];
				if(!nodeName || nodeName.test(current.nodeName)) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	else if (document.evaluate) {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = "",
				xhtmlNamespace = "http://www.w3.org/1999/xhtml",
				namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
				returnElements = [],
				elements,
				node;
			for(var j=0, jl=classes.length; j<jl; j+=1){
				classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
			}
			try	{
				elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
			}
			catch (e) {
				elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
			}
			while ((node = elements.iterateNext())) {
				returnElements.push(node);
			}
			return returnElements;
		};
	}
	else {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = [],
				elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
				current,
				returnElements = [],
				match;
			for(var k=0, kl=classes.length; k<kl; k+=1){
				classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
			}
			for(var l=0, ll=elements.length; l<ll; l+=1){
				current = elements[l];
				match = false;
				for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
					match = classesToCheck[m].test(current.className);
					if (!match) {
						break;
					}
				}
				if (match) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	return getElementsByClassName(className, tag, elm);
};

function scrollUp() {
	var elem = "cptbl_prod_" + tdCount;
	tdCount--;
	
	var elem2 = "cptbl_prod_" + tdCount;
	
	$('#' + elem).fadeOut('fast', function() {
		$('#' + elem2).fadeIn('fast', function() {
			ANF(tdCount);
		});
	});
	
	setControls(tdCount);
}

function scrollDown() {
	var elem = "cptbl_prod_" + tdCount;
	tdCount++;
	var elem2 = "cptbl_prod_" + tdCount;
	
	$('#' + elem).fadeOut('fast', function() {
		$('#' + elem2).fadeIn('fast', function() {
			ANF(tdCount);
		});
	});
	
	setControls(tdCount);
}

function setControls(count) {
	if(maxCount == count) {
		document.getElementById("control_scroll_down").innerHTML = '<a href="javascript:scrollUp();"><img src="skins/skin_category/media/new_left_arrow.jpg" alt="Back" /></a>';
	} else if(count == 0) {
		document.getElementById("control_scroll_down").innerHTML = '<a href="javascript:scrollDown();"><img src="skins/skin_category/media/new_right_arrow.jpg" alt="Forward" /></a>';
	} else if(count >= 1 && maxCount != count) {
		document.getElementById("control_scroll_down").innerHTML = '<a href="javascript:scrollUp();"><img src="skins/skin_category/media/new_both_left_arrow.jpg" alt="Both Directions - Left" /></a><a href="javascript:scrollDown();"><img src="skins/skin_category/media/new_both_right_arrow.jpg" alt="Both Directions - Right" /></a>';
	} 
}

function setMaxTdCount(count) {
	//maxCount = count;
	//alert(maxCount);
	
	var tempTdCount = 0;
	for(x = 0; x < 10; x++) {
		if(document.getElementById("cptbl_prod_" + x) != null) {
			tempTdCount = x;
		}
	}
	
	maxCount = tempTdCount;
}

function ANF(curRow) {
	for(x = 0; x < maxCount; x++) {
		if(x != curRow) {
			document.getElementById("cptbl_prod_" + x).style.display = "none";
		}
	}
}

function switchPerson(id) {
	
	var ajaxRequest;  // The variable that makes Ajax possible!
	
	try {
  		var ajaxRequest = new XMLHttpRequest();
 	} catch(err1) {
  		var ieXmlHttpVersions = new Array();
		
		ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.8.0";
		ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.7.0";
		ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.6.0";
		ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.5.0";
		ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.4.0";
		ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.3.0";
		ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp";
		ieXmlHttpVersions[ieXmlHttpVersions.length] = "Microsoft.XMLHttp";

	var i;
  	for (i=0; i < ieXmlHttpVersions.length; i++) {
		try {
			var ajaxRequest = new ActiveXObject(ieXmlHttpVersions[i]);
			break;
		} catch (err2) {
		
		}
  	}
}

ajaxRequest.onreadystatechange = function(){
	if(ajaxRequest.readyState == 4){
		var searchResponse = ajaxRequest.responseText;
		
		if(searchResponse != "") {
			splitResponse = searchResponse.split("---");
			
			$('#slide').fadeOut('fast', function() {
				document.getElementById("our_people").style.visibility = "hidden";
				document.getElementById("slide").style.backgroundImage = "url(\"skins/people_skin/media/" + splitResponse[2] + "\")";
				$('#slide').fadeIn('slow');
			});
			document.getElementById("person_name").innerHTML = splitResponse[0];
			document.getElementById("person_title").innerHTML = splitResponse[1];
			var personDesc = splitResponse[3].replace("<p>", "");
			personDesc = personDesc.replace("</p>", "");
			document.getElementById("person_description").innerHTML = personDesc;
			document.getElementById("people_loading").style.visibility = "hidden";
			
			Cufon.refresh();
			
			var currentElem = getElementsByClassName("people_img_border_pink");
			for(x = 0; x < currentElem.length; x++) {
				currentElem[x].className = "people_img_border";
				currentElem[x].name = "";
			}
			
			document.getElementById("people_img_" + id).className = "people_img_border_pink";
			document.getElementById("people_img_" + id).name = "active_img";
		} 
		
	} else if(ajaxRequest.readyState == 1 ||ajaxRequest.readyState == 2 || ajaxRequest.readyState == 3) {
		document.getElementById("people_loading").style.visibility = "visible";
	}
}

var url = "skins/people_skin/search_db.php";
var params = "id=" + id;
ajaxRequest.open("POST",url,true);
ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
ajaxRequest.send(params);
}

/**
 *  LOAD EVENT
 */

addWindowEvent(window,'load',externalLinks,false);

/**
 *  LOAD EVENT
 */

var IE6   = false /*@cc_on || @_jscript_version < 5.7 @*/;

if ((IE6) && (window.MochaUI === undefined)) {addWindowEvent(window,'load',parseStylesheets,false);}

/**
 *  End.
 */
 
 /*
	Developed by Robert Nyman, http://www.robertnyman.com
	Code/licensing: http://code.google.com/p/getelementsbyclassname/
*/
var getElementsByClassName = function (className, tag, elm){
	if (document.getElementsByClassName) {
		getElementsByClassName = function (className, tag, elm) {
			elm = elm || document;
			var elements = elm.getElementsByClassName(className),
				nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
				returnElements = [],
				current;
			for(var i=0, il=elements.length; i<il; i+=1){
				current = elements[i];
				if(!nodeName || nodeName.test(current.nodeName)) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	else if (document.evaluate) {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = "",
				xhtmlNamespace = "http://www.w3.org/1999/xhtml",
				namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
				returnElements = [],
				elements,
				node;
			for(var j=0, jl=classes.length; j<jl; j+=1){
				classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
			}
			try	{
				elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
			}
			catch (e) {
				elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
			}
			while ((node = elements.iterateNext())) {
				returnElements.push(node);
			}
			return returnElements;
		};
	}
	else {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = [],
				elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
				current,
				returnElements = [],
				match;
			for(var k=0, kl=classes.length; k<kl; k+=1){
				classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
			}
			for(var l=0, ll=elements.length; l<ll; l+=1){
				current = elements[l];
				match = false;
				for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
					match = classesToCheck[m].test(current.className);
					if (!match) {
						break;
					}
				}
				if (match) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	return getElementsByClassName(className, tag, elm);
};
