jQuery.noConflict();
var $j = jQuery;
var isIE6 = false; var isSafari = false;
var imagePath = "/hmvweb/";


function QuickRate() {}
QuickRate.prototype = {

	/* Configuration */
	confURLRating: null,
	confURLSubmit: null,

	/* Messages */
	msgStatusError: null,
	msgStatusPending: null,
	msgStatusSuccess: null,

	jEOQuickRate: null,
	jEOQuickRateForm: null,
	jEOQuickRateFormRating: null,
	jEOQuickRateCTA: null,

	jEOQuickRatePopup: null,
	jEOQuickRatePopupContent: null,
	jEOQuickRatePopupStatusAction: null,
	jEOQuickRateFormRatingValue: 0,
	jEOQuickRateFormRatingVisible: false,

	/* Initialise */ 
	init : function() {
	
		/* QuickRate Class Context */
		var cc = this;

		/* Configuration */
		cc.confURLRating = '/_quickrate_rating.js';
		cc.confURLSubmit = '/_quickrate_submit.js';

		/* Messages */
		cc.msgStatusError = '<strong>Sorry! Something went wrong.</strong>';
		cc.msgStatusInitial = '<img alt="Loading please wait." height="24" src="'+ localImageLink + 'global/quickrate-load-before.gif" width="24" />';
		cc.msgStatusPending = '<img alt="Please wait..." height="24" src="'+ localImageLink + 'global/quickrate-load-after.gif" width="24" />';
		cc.msgStatusSuccess = '<strong>your rating received, thanks</strong>';

		/* jQuery Object References */
		cc.jEOQuickRate = $j('#quickRate');
		cc.jEOQuickRateForm = $j('#QuickRateForm');
		cc.jEOQuickRateFormRating = $j('select#rating');
		cc.jEOQuickRateFormRatingValue = 0;
		cc.jEOQuickRateCTA = $j('<p id="quickRateCTA" title="click to rate"><a href="#" id="lnkQckRate">quick rate</a></p>');

		cc.jEOQuickRatePopup = $j('<div class="quickRatePopup quickRateStatusInit"><p>' + cc.msgStatusInitial + '</p><span class="quickRatePopupArrow"></span></div>');
		cc.jEOQuickRatePopupContent = $j('p', cc.jEOQuickRatePopup);
		cc.jEOQuickRatePopupStatusAction = $j('<span class="yourRating">Your rating</span> <span class="starRatings"><a href="1" class="quickRateStar" id="rated1" title="1 out of 5"></a><a href="2" class="quickRateStar" id="rated2" title="2 out of 5"></a><a href="3" class="quickRateStar" id="rated3" title="3 out of 5"></a><a href="4" class="quickRateStar" id="rated4" title="4 out of 5"></a><a href="5" class="quickRateStar" id="rated5" title="5 out of 5"></a></span>');

		/* Fire Intial Events/Functions */
		cc.jEOQuickRateForm.hide(); /* Hide #QuickRateForm */
		cc.jEOQuickRatePopup.hide();
		$j('#rvwSubThanks').hide();
		cc.jEOQuickRateForm.after(cc.jEOQuickRateCTA); /* Insert #quickRateCTA after #QuickRateForm */
		cc.jEOQuickRateFormRatingVisible = false;
		cc.initForm();
		cc.initCTA();
		
		if(reloadLink && reloadLink == 'quickRateCTA') {
			cc.jEOQuickRateCTA.click();
			reloadLink = 'null';
		}

	},

	switchQuickRate : function(showCancel) {
		if(showCancel) {
			$j("a#lnkQckRate").html('close quick rate');
		} else {
			$j("a#lnkQckRate").html('quick rate');
		}
	},
	
	/* AJAX Form Submission */
	displayStatus : function(statusContent,statusClass) {
		/* QuickRate Class Context */
		var cc = this;
		/* Display Inline Error Message */
		cc.jEOQuickRatePopup.removeClass().addClass('quickRatePopup '+ statusClass);
		cc.jEOQuickRatePopupContent.html(statusContent);
		/* Hide Popup after 3 seconds, uses .animate to mimic setTimeout() */
		var ratingTimeout;
		clearTimeout(ratingTimeout);
		ratingTimeout = setTimeout(function(){cc.jEOQuickRatePopup.fadeOut('fast', function() {
				cc.jEOQuickRateFormRatingVisible = false;
				cc.switchQuickRate(false);
				cc.jEOQuickRatePopup.removeClass().addClass('quickRatePopup quickRateStatusInitial');
				cc.jEOQuickRatePopupContent.removeClass().html(cc.msgStatusInitial);
				cc.initCTA(); 
			});}, 2000);
	},

	/* AJAX Form Submission */
	initForm : function() {
		/* QuickRate Class Context */
		var cc = this;
		cc.jEOQuickRateForm.submit(function() {
			
			/* Set content to AJAX Loader */
			cc.jEOQuickRatePopup.removeClass().addClass('quickRatePopup quickRateStatusPending');
			cc.jEOQuickRatePopupContent.html(cc.msgStatusPending);
			var sku = document.QuickRateForm.sku.value;
			var ptype = document.QuickRateForm.ptype.value;
			var rating = cc.jEOQuickRateFormRatingValue;
			var paramList = "sku=";
	 		paramList += sku;
 			paramList += "&ptype=";
	 		paramList += ptype;
	 		paramList += "&rating=";
		 	paramList += rating;
	 		
			$j.ajax({
				url: "/hmvweb/quickRate.do?"+paramList,
				type: "GET",
				dataType: "json",
				cache: false,
				timeout: 10000,
				success: function(response) {
					if (response.success) { /* Display Success if JSON response.success = true */
						cc.displayStatus(cc.msgStatusSuccess, 'quickRateStatusSuccess');
						// Removed Lynchpin from here 2009-04-14: js event call to report of rating
					} else { /* Display Inline Error Message */
						cc.displayStatus(cc.msgStatusError, 'quickRateStatusError');
					}
				},
				error: function() {
					/* Display Inline Error Message */
					cc.displayStatus(cc.msgStatusError, 'quickRateStatusError');
				}
			});

			return false;
		});
	},

	displayCurrentRating : function(currentRating) {
		/* QuickRate Class Context */
		var cc = this;

		/* Display Star Rating */
		cc.jEOQuickRatePopup.removeClass().addClass('quickRatePopup quickRateStatusAction');
		cc.jEOQuickRatePopupContent.html(cc.jEOQuickRatePopupStatusAction);

		/* Add class to <p> with current rating */
		cc.jEOQuickRatePopupContent.removeClass().addClass('rated' + currentRating);

		$j('a', cc.jEOQuickRatePopupContent).each(function() {

			/* DOM ref to each anchor */
			var jObj = $j(this);

			jObj.hover(function() {
				cc.jEOQuickRatePopupContent.removeClass().addClass(jObj.attr('id'));
				}, function () {
				cc.jEOQuickRatePopupContent.removeClass().addClass('rated' + currentRating);
			});

			jObj.click(function () {
				jObj.unbind('click');
				/* Sets select value to that of the clicked star rating */
				cc.jEOQuickRateFormRatingValue = jObj.attr('id').substring(5);
				$j("option[value='" + jObj.attr('href') + "']", cc.jEOQuickRateFormRating).attr('selected', 'selected');
				cc.jEOQuickRateForm.submit();
				return false;
			});

		});

	},

	initCTA : function() {
		/* QuickRate Class Context */
		var cc = this;

		/* Initial click event */
		cc.jEOQuickRateCTA.unbind('click');
		cc.jEOQuickRateCTA.bind('click',function(){

			if(cc.jEOQuickRateFormRatingVisible) {
				cc.jEOQuickRatePopup.hide();
				cc.jEOQuickRateFormRatingVisible = false;
				cc.switchQuickRate(false);
			} else {
				if(reviewControl == null) {
					 //reloadPage('quickRateCTA');
					 fadeInElement('#rvwSignup');
				} else {
					cc.jEOQuickRatePopup.show();
					cc.jEOQuickRate.prepend(cc.jEOQuickRatePopup.show()); /* Prepends Quick Rate Popup with initial status to QuickRate */
					cc.jEOQuickRateFormRatingVisible = true;
					cc.switchQuickRate(true);
					var sku = document.QuickRateForm.sku.value;
					var ptype = document.QuickRateForm.ptype.value;
			
					var paramList = "sku=";
	 				paramList += sku;
 					paramList += "&ptype=";
	 				paramList += ptype;
					$j.ajax({
						url: "/hmvweb/displayQuickRate.do?"+paramList,
						type: "GET",
						dataType: "json",
						cache: false,
						timeout: 10000,
						success: function(response) {
							if(cc.jEOQuickRateFormRatingVisible) {
							if (response.success) { /* Display current rating Success if JSON response.success = true */
								cc.displayCurrentRating(response.rating);
							} else { /* Display Inline Error Message */
								cc.displayCurrentRating(0);
							}
							}
						},
						error: function() {
							if(cc.jEOQuickRateFormRatingVisible) {
								/* Display Inline Error Message */
								cc.displayCurrentRating(0);
							}
						}
					});
				}
			}
			//cc.jEOQuickRateCTA.unbind('click');
			return false;
		});

	}

};
var QuickRate = new QuickRate();


function QuickRateNonAjax() {}
QuickRateNonAjax.prototype = {

	/* Configuration */

	/* Messages */

	jEOQuickRate: null,
	jEOQuickRateForm: null,
	jEOQuickRateFormRating: null,

	jEOQuickRatePopupStatusAction: null,

	/* Initialise */ 
	init : function() {
		/* QuickRate Class Context */
		var cc = this;

		/* Configuration */

		/* Messages */

		/* jQuery Object References */
		cc.jEOQuickRate = $j('#quickRate');
		cc.jEOQuickRateForm = $j('#QuickRateForm');
		cc.jEOQuickRateFormRating = $j('select#rating');

		cc.jEOQuickRatePopup = $j('<div class="quickRatePopup quickRateStatusInit"><p>' + cc.msgStatusInitial + '</p><span class="quickRatePopupArrow"></span></div>');
		cc.jEOQuickRatePopupContent = $j('p', cc.jEOQuickRatePopup);
		cc.jEOQuickRatePopupStatusAction = $j('<span class="yourRating">Your rating</span> <span class="starRatings"><a href="1" class="quickRateStar" id="rated1" title="1 out of 5"></a><a href="2" class="quickRateStar" id="rated2" title="2 out of 5"></a><a href="3" class="quickRateStar" id="rated3" title="3 out of 5"></a><a href="4" class="quickRateStar" id="rated4" title="4 out of 5"></a><a href="5" class="quickRateStar" id="rated5" title="5 out of 5"></a></span>');

		/* Fire Intial Events/Functions */
		cc.jEOQuickRateForm.hide(); /* Hide #QuickRateForm */
		cc.jEOQuickRatePopupContent.html(cc.jEOQuickRatePopupStatusAction);
		cc.jEOQuickRate.append(cc.jEOQuickRatePopup); /* append #quickRateStatus to #quickRate */
		cc.initHover();
	},

	initHover : function() {
		/* QuickRate Class Context */
		var cc = this;
		
		var currentRating = 'rated' + document.editReviewForm.reviewRating.value;
				
		cc.jEOQuickRatePopupContent.removeClass().addClass(currentRating);

		$j('a', cc.jEOQuickRatePopupContent).each(function() {

			/* DOM ref to each anchor */
			var jObj = $j(this);

			jObj.hover(function() {
				cc.jEOQuickRatePopupContent.removeClass().addClass(jObj.attr('id'));
				}, function () {
				cc.jEOQuickRatePopupContent.removeClass().addClass(currentRating);
			});

			jObj.click(function () {
				currentRating = jObj.attr('id');
				cc.jEOQuickRatePopupContent.addClass(jObj.attr('id'));
				/* Sets select value to that of the clicked star rating */
				$j("option[value='" + jObj.attr('href') + "']", cc.jEOQuickRateFormRating).attr('selected', 'selected');
				document.editReviewForm.reviewRating.value = jObj.attr('id').substring(5);
				return false;
			});

		});

	}

};
var QuickRateNonAjax = new QuickRateNonAjax();

$j(document).ready(function() {
	/* Checks for IE6 using object detection, then applies the fix for background flicker bug */
	if($j.browser.msie) { if (typeof document.body.style.maxHeight == "undefined") { try { isIE6 = true; document.execCommand('BackgroundImageCache', false, true); } catch(e) { } } }
	/* Checks for safari */
	if($j.browser.safari) { isSafari = true; $j("div#container").addClass("safari") }
	htmlHooksInit();
	/* MiniBasket PopUps */
	initMiniBasketPopups();
	if(typeof initWTPage == "function"){	
		initWTPage();
	}
	/* If #quickRate exisits on product page enable Quick Rate functionally */
	if ($j('.detail-pane #quickRate').size()) { QuickRate.init(); };
	/* If #quickRate exisits on product page enable Quick Rate functionally */
	if ($j('#review-customer-entry #quickRate').size()) { QuickRateNonAjax.init(); };
	
	// Fire local page initialize methods
	if (typeof initPage == "function"){
		initPage();
	}
	// Fire External Links last so any fired during local page initialization will be activated
	externalLinksInit();
	browseAccordionInit();
	//$j('#navigation-global li').eq($j('#navigation-global li').length-1).click(function(){$helpModal.show();});
});
$j.easing['EaseOut'] = function (p, t, b, c, d) {
	return -c *(t/=d)*(t-2) + b;
};
function htmlHooksInit() {
	$j("legend.accessibility").hide();
	$j("legend.replace").each(function(){
		var cssClassesStr = new String($j(this).attr("class"));
		var cssClasses = cssClassesStr.split("replace replace-");
		$j(this).after("<"+ cssClasses[1] + " class=\"legend\">"+ $j(this).html() +"</"+ cssClasses[1] +">").remove();
	});

	$j(".side-nav ul li:first-child, .similar-products ul li:first-child").each(function() { $j(this).addClass("first"); });
	$j(".side-nav ul li:last-child, .similar-products ul li:last-child").each(function() { $j(this).addClass("last"); });
}
function externalLinksInit() {
	$j("a.external").each(function(){
		$j(this).click(function(){return !window.open($j(this).attr("href"));});
	});
}
function initMiniBasketPopups() {
	$popups = $j(".mini-basket .popup-container .popup");
	$popupTriggers = $j(".mini-basket div.popup-container");
	$popupTriggers.hover(
	function() { 
			$j(this).children(".popup").show();
			$j(this).attr("class", "popup-container popup-open");
	},function () {$popups.hide();}
	);
}
function clearField(obj) { obj.value = ''; }
function toggle(objectToShow, objectToHide){
	showObject(objectToShow);
	hideObject(objectToHide);
	return;
}
function hideObject(o) {
	object = document.getElementById(o);
	var str = object.className;
	str = str.replace('hidden','');
	str = str + " hidden";
	object.className = str;
}
function showObject(o) {
	object = document.getElementById(o);
	var str = object.className;
	str = str.replace('hidden','');
	object.className = str;
}
function hideOrShowObject(o) {
	object = document.getElementById(o);
	var str = object.className;
	str = str.replace('hidden','');
	object.className = str;
}
function changeScreenshot(src) {
	object = document.getElementById('uiLargeScreenshot');
	object.src = src;
}
function toggleFaq(o) {
	object = document.getElementById(o);
	if(object.className=='faq-pane') {
		object.className = 'faq-pane active';
	} else {
		object.className = 'faq-pane';
	}
}
function verifySelectionMadeAndSubmit(frm, o, unselectedValue) {
	if (o.value != unselectedValue) { }
		frm.submit();
}
function verifyRadioSelectionMadeAndSubmit(frm, o) {
	var len = o.length;
	var i = 0;
	while (i < len)
	{
		if(o.item(i).checked)
		{
			frm.submit();	
		}
		i = i+1;
	}	
}
function toggleSet(id,no) {
	objects = document.getElementsByTagName('div')
	for(o in objects) {
		try {
			if(objects[o].id.indexOf(id)>-1)
				if(objects[o].id == id+'-'+no)
					showObject(objects[o].id);
				else
					hideObject(objects[o].id);
		}
		catch(err) { 
			
		}
	}
}
function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}
function addClass(element,value) {
    if (!element.className) {
        element.className = value;
    } else {
        element.className+= " ";
        element.className+= value;
    }
}
function removeClass(obj,cssClass) {
	var object = document.getElementById(obj);
	var str = object.className;
	if(str.indexOf(cssClass)>-1)
		str = str.replace(cssClass,'');	
	object.className = str;
}
function imageReplace(obj,src) {
	object = document.getElementById(obj);
	object.innerHTML = '<img src="'+src+'" alt="" />';
}

function insertAfter(newElement,targetElement) {
  var parent = targetElement.parentNode;
  if (parent.lastChild == targetElement) {
    parent.appendChild(newElement);
  } else {
    parent.insertBefore(newElement,targetElement.nextSibling);
  }
}
function moveElement(elementID,final_x,final_y,interval) {
	var elem = document.getElementById(elementID);
	if (elem.movement) { clearTimeout(elem.movement); }
	if (!elem.style.left) { elem.style.left = "0px"; }
	if (!elem.style.top) { elem.style.top = "0px"; }
	var xpos = parseInt(elem.style.left);
	var ypos = parseInt(elem.style.top);
	if (xpos == final_x && ypos == final_y) { return true; }
	if (xpos < final_x) { var dist = Math.ceil((final_x - xpos)/10); xpos = xpos + dist; }
	if (xpos > final_x) { var dist = Math.ceil((xpos - final_x)/10); xpos = xpos - dist; }
	if (ypos < final_y) { var dist = Math.ceil((final_y - ypos)/10); ypos = ypos + dist; }
	if (ypos > final_y) { var dist = Math.ceil((ypos - final_y)/10); ypos = ypos - dist; }
 	elem.style.left = xpos + "px";
	elem.style.top = ypos + "px";
	var repeat = "moveElement('"+elementID+"',"+final_x+","+final_y+","+interval+")";
	elem.movement = setTimeout(repeat,interval);
}
function prepareOfferSlider(offerslistID,sliderID,productCount) {

	if (!sliderID) { var sliderID = "2"; }

	/* check for productCountID */

	/* make sure the browser understands the DOM methods needed */
    if (!document.getElementById) { return false; }
    if (!document.getElementsByTagName) { return false; }
    if (!document.createElement) { return false; }

	/* make sure the elements needed exist */
	if (!document.getElementById(offerslistID)) { return false; }

	/* asign variables to elements */
	var offerslistID = offerslistID;
	var offerslist = document.getElementById(offerslistID);

	/* setup the slider images division */
	var sliders = document.createElement("div");
	sliders.setAttribute("class","sliders");
	if (document.all) { sliders.setAttribute("className","sliders"); }

	/* setup the left slider anchor and asign it some atributes */
	var slider_left = document.createElement("a");
	slider_left.setAttribute("href","#");
	slider_left.setAttribute("class","slider-left");
	/* check for IE and add atribute className as class does not work */
	if (document.all) { slider_left.setAttribute("className","slider-left"); }

	/* setup the left slider anchor image and asign it some atributes */
	var slider_left_img = document.createElement("img");
	slider_left_img.setAttribute("src", imagePath + "graphics/uk/components/offers-pane/slider_left_"+sliderID+"_grey.gif");
	slider_left_img.setAttribute("alt","scroll left");
	slider_left.appendChild(slider_left_img);
	sliders.appendChild(slider_left);

	/* setup the right slider anchor and asign it some atributes */
	var slider_right = document.createElement("a");
	slider_right.setAttribute("href","#");
	slider_right.setAttribute("class","slider-right");
	/* check for IE and add atribute className as class does not work */
	if (document.all) { slider_right.setAttribute("className","slider-right"); }

	/* setup the right slider anchor image and asign it some atributes */
	var slider_right_img = document.createElement("img");
	slider_right_img.setAttribute("src",imagePath + "graphics/uk/components/offers-pane/slider_right_"+sliderID+".gif");
	slider_right_img.setAttribute("alt","scroll right");
	slider_right.appendChild(slider_right_img);
	sliders.appendChild(slider_right);

	/* insert the slider divsion */
	insertAfter(sliders,offerslist.parentNode);

/*	slider_left.onmouseover = function() { */
	slider_left.onclick = function() {
	
		/* get width of container div */
		var offerparentwidth = offerslist.parentNode.offsetWidth;

		if (offerparentwidth == '600') { var offeritemwidth = 150; }
		if (offerparentwidth == '620') { var offeritemwidth = 162; }

		/* get current x position of offerslist */
		var offerxpos = offerslist.style.left;
		offerxpos = Math.abs(offerxpos.replace('px',''));
		var offerxposcheck = Math.abs(offerxpos);

		var moves = productCount/4;
		var maxmove = (moves*(4*offeritemwidth))-(4*offeritemwidth);
		var tomove = offerxpos - (4*offeritemwidth);
		if (tomove < 1) { tomove = 0; }
		moveElement(offerslistID,-tomove,0,10);

		if ( (offerxposcheck+tomove) <= maxmove) {
			slider_left_img.setAttribute("src",imagePath + "graphics/uk/components/offers-pane/slider_left_"+sliderID+"_grey.gif");
			slider_right_img.setAttribute("src",imagePath + "graphics/uk/components/offers-pane/slider_right_"+sliderID+".gif");
		} else {
			slider_left_img.setAttribute("src",imagePath + "graphics/uk/components/offers-pane/slider_left_"+sliderID+".gif");
			slider_right_img.setAttribute("src",imagePath + "graphics/uk/components/offers-pane/slider_right_"+sliderID+".gif");
		}

		return false;
    }

/*	slider_right.onmouseover = function() { */
	slider_right.onclick = function() {

		/* get width of container div */
		var offerparentwidth = offerslist.parentNode.offsetWidth;

		if (offerparentwidth == '600') { var offeritemwidth = 150; }
		if (offerparentwidth == '620') { var offeritemwidth = 162; }

		/* get current x position of offerslist	*/
		var offerxpos = offerslist.style.left;
		offerxpos = offerxpos.replace('px','');
		var offerxposcheck = Math.abs(offerxpos);

		var moves = productCount/4;
		var maxmove = (moves*(4*offeritemwidth))-(4*offeritemwidth);
		var tomove = Math.abs(offerxpos);

		tomove += (4*offeritemwidth);
		if (tomove > maxmove) { tomove = maxmove; }
		moveElement(offerslistID,-tomove,0,10);

		if ( (offerxposcheck+(4*offeritemwidth)) >= maxmove) {
			slider_left_img.setAttribute("src",imagePath + "graphics/uk/components/offers-pane/slider_left_"+sliderID+".gif");
			slider_right_img.setAttribute("src",imagePath + "graphics/uk/components/offers-pane/slider_right_"+sliderID+"_grey.gif");
		} else {
			slider_left_img.setAttribute("src",imagePath + "graphics/uk/components/offers-pane/slider_left_"+sliderID+".gif");
			slider_right_img.setAttribute("src",imagePath + "graphics/uk/components/offers-pane/slider_right_"+sliderID+".gif");
		}
		
		return false;
    }
}
function getWindowWidth() {
	// Default to screen dimensions.
	var winW = window.screen.width;
	// Attempt to retrieve browser window dimensions.
	if (window.innerWidth)
	winW = window.innerWidth;
	else {
		if(document.documentElement.offsetWidth)
		winW = document.documentElement.offsetWidth;
		else if (document.body.offsetWidth)
		winW = document.body.offsetWidth;
	}
	return winW;
}

// Appended for the 70% Off Sale during July 2007
function sfHoverEvents(sfEls) {
  var len = sfEls.length;
  for (var i=0; i<len; i++) {
    sfEls[i].onmouseover=function() {
      this.className+=" sfhover";
    }
    sfEls[i].onmouseout=function() {
      this.className=this.className.replace(" sfhover", "");
    }
  }
}
function sfHover() {
var ULs = document.getElementsByTagName("DIV");
var len = ULs.length;
  for(var i=0;i<len;i++) {
    if(ULs[i].className.indexOf("saleupto70off-items") != -1)
      sfHoverEvents(ULs[i].getElementsByTagName("LI"));
  }
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

// End of Appende for the 70% Off Sale during July 2007
function hideIt(elem){
	if($j(elem).size()){
		$j(elem).fadeOut('slow');
	}
}
function getPageParameter(paramName) {
	var query = window.location.search.substring(1);
	var paramList = query.split('&');
	for (var i=0; i<paramList.length; i++) {
		var pos = paramList[i].indexOf('=');
		if (pos > 0) {
			var key = paramList[i].substring(0,pos);
			var val = paramList[i].substring(pos+1);
			if(key == paramName) {
				return val;
			}
		}
	}
	return null;
}
function fadeInElement(elem){
	$j(elem).fadeIn('slow');
}
function fadeOutElement(elem){
	$j(elem).fadeOut('slow');
}
function popElement(elem){
	var timeout;
	clearTimeout(timeout);
	$j(elem).fadeIn('slow');
	timeout = setTimeout(function() {hideIt(elem);}, 3000);
}

//homepage accordion side-nav

function browseAccordionInit() {
	var accordionMenu = $j('div#nav-left div.browse-accordion')

    $j('em', accordionMenu).hover(function(){
        if ($j(this).hasClass('closed')){
            $j(this).removeClass('togglelink').addClass("togglelinkhover");
        } else {
            $j(this).removeClass('togglelink').addClass("togglelinkopenhover");
        }
    },function(){
        if ($j(this).hasClass('closed')){
            $j(this).removeClass('togglelinkhover').addClass("togglelink");
        } else {
            $j(this).removeClass('togglelinkopenhover').addClass("togglelink");
        }
    });

    $j('em.togglelink', accordionMenu).click(function(){

        if (isIE6){
            if ($j(this).parent().siblings('ul').is(':visible')) {
                $j(this).parent().siblings('ul').hide();
                $j('em', accordionMenu).removeClass('togglelinkopenhover');
                $j('li.open', accordionMenu).removeClass('open').addClass('closed');
                $j('em.open', accordionMenu).removeClass('open').addClass('closed');
                $j('span.open', accordionMenu).removeClass('open').addClass('closed');
            } else {
                $j('ul.sub-nav', '#nav-left').hide();
                $j('li.open', accordionMenu).removeClass('open').addClass('closed');
                $j('em.open', accordionMenu).removeClass('togglelinkhover');
                $j('em.open', accordionMenu).removeClass('open').addClass('closed');
                $j('span.open', accordionMenu).removeClass('open').addClass('closed');    
            
                $j(this).parent().siblings('ul').show();
              	$j(this).addClass('open').removeClass('closed');
			    $j(this).parent().addClass('open').removeClass('closed');
			    $j(this).parent().parent().addClass('open').removeClass('closed');  
            }
        } else {
            if ($j(this).parent().siblings('ul').is(':visible')) {
                $j(this).parent().siblings('ul').slideUp('fast');
                $j('em', accordionMenu).removeClass('togglelinkopenhover');
                $j('li.open', accordionMenu).removeClass('open').addClass('closed');
                $j('em.open', accordionMenu).removeClass('open').addClass('closed');
                $j('span.open', accordionMenu).removeClass('open').addClass('closed');
            } else {
                $j('ul.sub-nav', '#nav-left').slideUp('fast');
                $j('li.open', accordionMenu).removeClass('open').addClass('closed');
                $j('em.open', accordionMenu).removeClass('togglelinkhover');
                $j('em.open', accordionMenu).removeClass('open').addClass('closed');
                $j('span.open', accordionMenu).removeClass('open').addClass('closed');

                $j(this).parent().siblings('ul').slideDown('fast');
			    $j(this).addClass('open').removeClass('closed');
			    $j(this).parent().addClass('open').removeClass('closed');
			    $j(this).parent().parent().addClass('open').removeClass('closed');
  
            }
		}

		$j(this).parent().siblings('li').children('em').removeClass('open').addClass('closed').siblings('ul').slideUp('fast');
		return false;
    });
}
