// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults


// FAQ-toggle
function toggleDown(childElement, mainElementClass, selectedClass, unselectedClass) { 
  var pElements = document.getElementsByClassName(selectedClass);
  for (var i = 0, j = pElements.length; i < j; i++) {
    pElements[i].setAttribute((document.all ? 'className' : 'class'), unselectedClass);
   }  
  
  var liElements = document.getElementsByClassName(mainElementClass);
  for (var i = 0, j = liElements.length; i < j; i++) {
    liElements[i].setAttribute((document.all ? 'className' : 'class'), unselectedClass);
   }  

  var element = document.getElementById(childElement); 
  element.setAttribute((document.all ? 'className' : 'class'), selectedClass);
}


function simpleBlind(mainElement, element, linkid, state, unselectedClass, selectedClass, mainClass) {
  var link = document.getElementById(linkid); 
  var containerElement =  document.getElementById(mainElement); 
  var faqId = containerElement.id.replace("li-", "")

  var pElement = document.getElementById("p-"+faqId)
  if (state == 'down') {
    var pElements = document.getElementsByTagName('p');
    for (var i = 0, j = pElements.length; i < j; i++) {
      currentValue = pElements[i].id.replace("faq-", "")
      if(currentValue != faqId) {
        Effect.BlindUp(pElements[i], {duration:0.1});
        value = pElements[i].id.replace("faq-", "")
        parentLi = document.getElementById("li-"+value); 
        parentLi.setAttribute((document.all ? 'className' : 'class'), "faq-grey");
        formerLink = document.getElementById("link-"+value); 
        formerLink.onclick =  new Function("simpleBlind('li-"+value+"', 'faq-"+value+"','link-"+value+"', 'down','"+unselectedClass+"', '"+selectedClass+"','"+mainClass+"', {duration:0.2});"); 
      }
     }

    Effect.BlindDown(element, {duration:0.2});
    link.onclick =  new Function("simpleBlind('"+mainElement+"', '"+element+"','"+linkid+"', 'up','"+unselectedClass+"', '"+selectedClass+"','"+mainClass+"', {duration:0.2})");
    containerElement.setAttribute((document.all ? 'className' : 'class'), selectedClass);
  } else {
    link.onclick =  new Function("simpleBlind('"+mainElement+"', '"+element+"','"+linkid+"', 'down','"+unselectedClass+"', '"+selectedClass+"','"+mainClass+"', {duration:0.2})");
    containerElement.setAttribute((document.all ? 'className' : 'class'), unselectedClass);
  }
}


// Mousover without OnMouseOver...
var mouseOvers = new Array();
var mouseOuts = new Array();
var mouseOvers2 = new Array();
var mouseOuts2 = new Array();

function productSwitch() {
	var container = document.getElementById('productsInLooks');
	var liElements = container.getElementsByTagName('a');
  var productImages = document.getElementsByClassName("productImages");
  
	for (var i=0;i<liElements.length;i++) 	{
    liElements[i].onmouseover = mouseGoesOver;
		liElements[i].onmouseout = mouseGoesOut;
    mouseOvers[i] = liElements[i]
    mouseOuts[i] = liElements[i]
    liElements[i].number = i;
	}
	
	for (var i=0;i<productImages.length;i++) 	{
    productImages[i].onmouseover = mouseGoesOver;
    productImages[i].onmouseout = mouseGoesOut;
    mouseOvers2[i] = productImages[i]
	  mouseOuts2[i] = productImages[i]
    productImages[i].number = i;
	}
	
}

function mouseGoesOver(i) {
  var preSelectedLink = document.getElementById("preSelectedLink");
  preSelectedLink.setAttribute('style',''); 
  
  var preSelectedImage = document.getElementById("preSelectedImage");
  preSelectedImage.style.display = "none";
  
  mouseOvers2[this.number].style.display = "block";
}

function mouseGoesOut() {
	mouseOuts2[this.number].style.display = "none";
}



/*
 * QTObject embed
 * http://blog.deconcept.com/2005/01/26/web-standards-compliant-javascript-quicktime-detect-and-embed/
 *
 * by Geoff Stearns (geoff@deconcept.com, http://www.deconcept.com/)
 *
 * v1.0.2 - 02-16-2005
 *
 * Embeds a quicktime movie to the page, includes plugin detection
 *
 * Usage:
 *
 *	myQTObject = new QTObject("path/to/mov.mov", "movid", "width", "height");
 *	myQTObject.altTxt = "Upgrade your Quicktime Player!";    // optional
 
 *  myQTObject.addParam("controller", "false");              // optional
 *	myQTObject.write();
 *
 */

QTObject = function(mov, id, w, h) {
	this.mov = mov;
	this.id = id;
	this.width = w;
	this.height = h;
	this.redirect = "";
	this.sq = document.location.search.split("?")[1] || "";
	this.altTxt = "This content requires the QuickTime Plugin. <a href='http://www.apple.com/quicktime/download/'>Download QuickTime Player</a>.";
	this.bypassTxt = "<p>Already have QuickTime Player? <a href='?detectqt=false&"+ this.sq +"'>Click here.</a></p>";
	this.params = new Object();
	this.doDetect = getQueryParamValue('detectqt');
}

QTObject.prototype.addParam = function(name, value) {
	this.params[name] = value;
}

QTObject.prototype.getParams = function() {
    return this.params;
}

QTObject.prototype.getParam = function(name) {
    return this.params[name];
}

QTObject.prototype.getParamTags = function() {
    var paramTags = "";
    for (var param in this.getParams()) {
        paramTags += '<param name="' + param + '" value="' + this.getParam(param) + '" />';
    }
    if (paramTags == "") {
        paramTags = null;
    }
    return paramTags;
}

QTObject.prototype.getHTML = function() {
    var qtHTML = "";
	if (navigator.plugins && navigator.plugins.length) { // not ie
        qtHTML += '<embed type="video/quicktime" src="' + this.mov + '" width="' + this.width + '" height="' + this.height + '" id="' + this.id + '"';
        for (var param in this.getParams()) {
            qtHTML += ' ' + param + '="' + this.getParam(param) + '"';
        }
        qtHTML += '></embed>';
    }
    else { // pc ie
        qtHTML += '<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" width="' + this.width + '" height="' + this.height + '" id="' + this.id + '">';
        this.addParam("src", this.mov);
        if (this.getParamTags() != null) {
            qtHTML += this.getParamTags();
        }
        qtHTML += '</object>';
    }
    return qtHTML;
}


QTObject.prototype.getVariablePairs = function() {
    var variablePairs = new Array();
    for (var name in this.getVariables()) {
        variablePairs.push(name + "=" + escape(this.getVariable(name)));
    }
    if (variablePairs.length > 0) {
        return variablePairs.join("&");
    }
    else {
        return null;
    }
}

QTObject.prototype.write = function(elementId) {
	if(isQTInstalled() || this.doDetect=='false') {
		if (elementId) {
			document.getElementById(elementId).innerHTML = this.getHTML();
		} else {
			document.write(this.getHTML());
		}
	} else {
		if (this.redirect != "") {
			document.location.replace(this.redirect);
		} else {
			if (elementId) {
				document.getElementById(elementId).innerHTML = this.altTxt +""+ this.bypassTxt;
			} else {
				document.write(this.altTxt +""+ this.bypassTxt);
			}
		}
	}		
}

function isQTInstalled() {
	var qtInstalled = false;
	qtObj = false;
	if (navigator.plugins && navigator.plugins.length) {
		for (var i=0; i < navigator.plugins.length; i++ ) {
         var plugin = navigator.plugins[i];
         if (plugin.name.indexOf("QuickTime") > -1) {
			qtInstalled = true;
         }
      }
	} else {
		execScript('on error resume next: qtObj = IsObject(CreateObject("QuickTimeCheckObject.QuickTimeCheck.1"))','VBScript');
		qtInstalled = qtObj;
	}
	return qtInstalled;
}

/* get value of querystring param */
function getQueryParamValue(param) {
	var q = document.location.search;
	var detectIndex = q.indexOf(param);
	var endIndex = (q.indexOf("&", detectIndex) != -1) ? q.indexOf("&", detectIndex) : q.length;
	if(q.length > 1 && detectIndex != -1) {
		return q.substring(q.indexOf("=", detectIndex)+1, endIndex);
	} else {
		return "";
	}
}
	
function setElement(element, value) {
  element = document.getElementById(element);
  element.value = value;
}

function displayElement(element, childElement) {
  element = document.getElementById(element);
  element.style.display = "block";
}

function showhideElement(element, state) {
	element = document.getElementById(element)
	element.style.display = state;
}

function displayShipToDetails(element, state) {
  element = document.getElementById(element);
  checkbox = document.getElementById('shipToCheckbox');
  h2 = document.getElementById('ship');
  
  if(state == "show") {
    element.style.display = "block";
    checkbox.onclick =  new Function("displayShipToDetails('orderShipToDetails','hide');");
	  h2.innerHTML = "Bill to:"
  } 
  else {
    element.style.display = "none";
    checkbox.onclick =  new Function("displayShipToDetails('orderShipToDetails','show');");
	  h2.innerHTML = "Bill & ship to:"
  }
}



/*
JSTarget function by Roger Johansson, www.456bereastreet.com
*/
var JSTarget = {
	init: function(att,val,warning) {
		if (document.getElementById && document.createElement && document.appendChild) {
			var strAtt = ((typeof att == 'undefined') || (att == null)) ? 'class' : att;
			var strVal = ((typeof val == 'undefined') || (val == null)) ? 'non-html' : val;
			var strWarning = ((typeof warning == 'undefined') || (warning == null)) ? '' : warning;
			var oWarning;
			var arrLinks = document.getElementsByTagName('a');
			var oLink;
			var oRegExp = new RegExp("(^|\\s)" + strVal + "(\\s|$)");
			for (var i = 0; i < arrLinks.length; i++) {
				oLink = arrLinks[i];
				if ((strAtt == 'class') && (oRegExp.test(oLink.className)) || (oRegExp.test(oLink.getAttribute(strAtt)))) {
					oWarning = document.createElement("em");
					oWarning.appendChild(document.createTextNode(strWarning));
					oLink.appendChild(oWarning);
					oLink.onclick = JSTarget.openWin;
				}
			}
			oWarning = null;
		}
	},
	openWin: function(e) {
		var event = (!e) ? window.event : e;
		if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return true;
		else {
		    var oWin = window.open(this.getAttribute('href'), '_blank');
			if (oWin) {
				if (oWin.focus) oWin.focus();
				return false;
			}
			oWin = null;
			return true;
		}
	},
	/*
	addEvent function from http://www.quirksmode.org/blog/archives/2005/10/_and_the_winner_1.html
	*/
	addEvent: function(obj, type, fn) {
		if (obj.addEventListener)
			obj.addEventListener(type, fn, false);
		else 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]);
		}
	}
};
JSTarget.addEvent(window, 'load', function(){JSTarget.init();});

//JSTarget.addEvent(window, 'load', function(){JSTarget.init("rel","external"," (external website, opens in a new window)");});