// JavaScript Document

window.onload = function () {
	amendinteractive();
}

function amendinteractive () {
	//Sets Eno Studio Interactive Menbar anchor href and onclick values
	if(document.getElementById('imenu')){
		var imenu=document.getElementById('imenu').getElementsByTagName('ul')[0];
		for(var i=0;i<imenu.childNodes.length;i++) {
			if (imenu.childNodes[i].tagName=="LI") {
				imenu.childNodes[i].getElementsByTagName('a')[0].setAttribute('href','#'); 
				imenu.childNodes[i].getElementsByTagName('a')[0].onclick=function () { loadinteractive(this) }; 
			}
		}
		//Interactive Menubar Information panel button//
		document.getElementById('imenutext').style.display='none';
		document.getElementById('imenutext').getElementsByTagName('a')[0].setAttribute('href','#');
		document.getElementById('imenutext').getElementsByTagName('a')[0].onclick=function () { closeinteractive() };
	}
	
	// INTERACTIVE IMAGE MAP VALUES
	if(document.getElementById('interactivecontent')){
		var interactive=document.getElementById('interactivecontent').getElementsByTagName('a');
		for(var i=0; i<interactive.length; i++) {
			if(interactive[i].getElementsByTagName('img')[0]){
				var image_id=interactive[i].getElementsByTagName('img')[0].className;
				interactive[i].setAttribute('href','#');
				(function (image_id) { interactive[i].onmouseover=function () { interactive_rollover(image_id,this); }; })(image_id);
				interactive[i].onmouseout=function () { interactive_rollout(); };
				interactive[i].onclick=function () { interactive_click(this); };
			}
		}
	}
	
	//BASKET SETTINGS
	var mainmenu=document.getElementById('menu').getElementsByTagName('ul')[0].childNodes;
	for(var i=0; i<mainmenu.length;i++) {
		if (mainmenu[i].tagName=='LI' && String(mainmenu[i].innerHTML).match('Basket')) {
			mainmenu[i].onclick=function () { checkbasket(); }; break;
		}
	}
	document.getElementById('cart').style.display='none';
	document.getElementById('cartheader').getElementsByTagName('a')[0].setAttribute('href','#');
	document.getElementById('cartheader').getElementsByTagName('a')[0].onclick = function () { checkbasket(); };
}


//INDEX PAGE INTERACTIVE IMAGE FUNCTIONS//
function interactive_rollover(img_id,element) {
	var divnode=document.getElementById('interactivecontent').childNodes;
	for(var i=0; i<divnode.length; i++) {
		if(divnode[i].tagName=="IMG") {
			divnode[i].style.opacity='0.2';
			divnode[i].style.filter='alpha(opacity=\'20\')';
		} else if(divnode[i].tagName=="A" && divnode[i].getElementsByTagName('img')[0].className!=img_id) {
			(function (img_id) {
				divnode[i].getElementsByTagName('img')[0].style.visibility='hidden';
			})(img_id);
		}
		if (i==divnode.length-1) break;
	}
}

function interactive_rollout() {
	var divnode=document.getElementById('interactivecontent').childNodes;
	for(var i=0; i<divnode.length; i++) {
		if (divnode[i].tagName=="IMG") {
			divnode[i].style.opacity='1'; 
			divnode[i].style.filter='alpha(opacity=\'100\')';
		} else if (divnode[i].tagName=="A") {
			divnode[i].getElementsByTagName('img')[0].style.visibility='visible';
		}
	}		
}
function interactive_click (element) {
	loadinteractive(element.getElementsByTagName('img')[0].getAttribute('src'));
}




//CHECKS TYPE AND DESPATCHES EVENTS
function loadinteractive(param) {
	//FOR FF and Safari//
	document.getElementById('interactivecontent').getElementsByTagName('img')[0].style.opacity!='1' ? document.getElementById('interactivecontent').getElementsByTagName('img')[0].style.opacity='1' : null;
	//FOR IE//
	document.getElementById('interactivecontent').getElementsByTagName('img')[0].style.filter!='alpha(opacity=\'100\')' ? document.getElementById('interactivecontent').getElementsByTagName('img')[0].style.filter='alpha(opacity=\'100\')' : null;
	//
	if(param.innerHTML) { 
		var paramtype=param.innerHTML 
	} else {
		var paramsplit=param.split('/'); var paramtype=paramsplit[paramsplit.length-1];
	}
	
	if (paramtype=='Information') {
		document.getElementById('imenutext').style.display=='none' ? fader(document.getElementById('imenutext'),0,1,500) : document.getElementById('imenutext').style.display='none';
		var test=checklayer('interactiveoverlay');
		if (test) document.getElementById('interactiveoverlay').innerHTML=''; 
		//TEMP MASK//
		createdom('div','loadermask',['width=100%','height=100%','background=#000000 none','opacity=0.7','position=absolute'],document.getElementById('interactiveoverlay'));
	}
	
	if (paramtype=='View') {
		var test=checklayer('interactiveoverlay');
		if (test) document.getElementById('interactiveoverlay').innerHTML='';
		var itemntextdiv=document.getElementById('imenutext');
		itemntextdiv.style.display=='block' ? itemntextdiv='none' : itemntextdiv.style.display=='none';
		fader(document.getElementById('interactivecontent').getElementsByTagName('img')[0],1,0.2,500)
		clickcontrol();
	}
		
	if (paramtype=='Speaker Flowers' || paramtype=='spkrflowers.png') {
		var temploc=findXY('/wp-content/themes/enoshop/images/enointeractive/spkrflowers.png');
		var csstring='margin='+temploc[0]+'px 0 0 '+temploc[1]+'px';
		var test=checklayer('interactiveoverlay');
		if (test) document.getElementById('interactiveoverlay').innerHTML='';
		new loadimage('/wp-content/themes/enoshop/images/enointeractive/spkrflowers.png',document.getElementById('interactiveoverlay'),'overlay mode display content',true,'none',[String(csstring),'opacity=1','position=absolute','border=0'],true);
		new loadimage('/wp-content/themes/enoshop/images/enointeractive/spkrflower_overlay.png',document.getElementById('interactiveoverlay'),'overlay mode display content',false,'clickcontrol(true)',['margin=0','position=absolute','border=0'],true);
	}
	
	if (paramtype=='Notebooks' || paramtype=='notebooks.png') {
		var temploc=findXY('/wp-content/themes/enoshop/images/enointeractive/notebooks.png');
		var csstring='margin='+temploc[0]+'px 0 0 '+temploc[1]+'px';
		var test=checklayer('interactiveoverlay');
		if (test) document.getElementById('interactiveoverlay').innerHTML='';
		new loadimage('/wp-content/themes/enoshop/images/enointeractive/notebooks.png',document.getElementById('interactiveoverlay'),'overlay mode display content',true,'none',[String(csstring),'opacity=1','position=absolute','border=0'],true);
		new loadimage('/wp-content/themes/enoshop/images/enointeractive/notebooks_overlay.png',document.getElementById('interactiveoverlay'),'overlay mode display content',false,'clickcontrol(true)',['margin=0','position=absolute','border=0'],true);
	}
	if (paramtype=='Music' || paramtype=='stereo.png') {
		var temploc=findXY('/wp-content/themes/enoshop/images/enointeractive/stereo.png');
		var csstring='margin='+temploc[0]+'px 0 0 '+temploc[1]+'px';
		var test=checklayer('interactiveoverlay');
		if (test) document.getElementById('interactiveoverlay').innerHTML='';
		loadimage('/wp-content/themes/enoshop/images/enointeractive/stereo.png',document.getElementById('interactiveoverlay'),'overlay mode display content',true,'none',[String(csstring),'opacity=1','position=absolute','border=0'],true);
		new loadimage('/wp-content/themes/enoshop/images/enointeractive/stereo_overlay.png',document.getElementById('interactiveoverlay'),'overlay mode display content',false,'clickcontrol(true)',['margin=0','position=absolute','border=0'],true);
	}
	if (paramtype=='CDs' || paramtype=='cds.png') {
		var temploc=findXY('/wp-content/themes/enoshop/images/enointeractive/cds.png');
		var csstring='margin='+temploc[0]+'px 0 0 '+temploc[1]+'px';
		var test=checklayer('interactiveoverlay');
		if (test) document.getElementById('interactiveoverlay').innerHTML='';
		new loadimage('/wp-content/themes/enoshop/images/enointeractive/cds.png',document.getElementById('interactiveoverlay'),'overlay mode display content',true,'none',[String(csstring),'opacity=1','position=absolute','border=0'],true);
		new loadimage('/wp-content/themes/enoshop/images/enointeractive/cds_overlay.png',document.getElementById('interactiveoverlay'),'overlay mode display content',false,'clickcontrol(true)',['margin=0','position=absolute','border=0'],true);
	};
	if (paramtype=='Oblique Strategies' || paramtype=='oblique.png') {
		var temploc=findXY('/wp-content/themes/enoshop/images/enointeractive/oblique.png');
		var csstring='margin='+temploc[0]+'px 0 0 '+temploc[1]+'px';
		var test=checklayer('interactiveoverlay');
		if (test) document.getElementById('interactiveoverlay').innerHTML='';
		new loadimage('/wp-content/themes/enoshop/images/enointeractive/oblique.png',document.getElementById('interactiveoverlay'),'overlay mode display content',true,'none',[String(csstring),'opacity=1','position=absolute','border=0'],true);
		new loadimage('/wp-content/themes/enoshop/images/enointeractive/oblique_overlay.png',document.getElementById('interactiveoverlay'),'overlay mode display content',false,'clickcontrol(true)',['margin=0','position=absolute','border=0'],true);
	}
	if (paramtype=='Ship Matches' || paramtype=='shipmatches.png') {
		var temploc=findXY('/wp-content/themes/enoshop/images/enointeractive/shipmatches.png');
		var csstring='margin='+temploc[0]+'px 0 0 '+temploc[1]+'px';
		var test=checklayer('interactiveoverlay');
		if (test) document.getElementById('interactiveoverlay').innerHTML='';
		new loadimage('/wp-content/themes/enoshop/images/enointeractive/shipmatches.png',document.getElementById('interactiveoverlay'),'overlay mode display content',true,'none',[String(csstring),'opacity=1','position=absolute','border=0'],true);
		new loadimage('/wp-content/themes/enoshop/images/enointeractive/shipmatches_overlay.png',document.getElementById('interactiveoverlay'),'overlay mode display content',false,'clickcontrol(true)',['margin=0','position=absolute','border=0'],true);
	}
}

function closeinteractive () {
	arguments.length==0 && document.getElementById('imenutext').style.display=='none' ? fader(document.getElementById('imenutext'),0,1,500) : document.getElementById('imenutext').style.display='none';
	removedivdom(['interactiveoverlay']);
	document.getElementById('interactivecontent').getElementsByTagName('img')[0].style.opacity!='1' ? document.getElementById('interactivecontent').getElementsByTagName('img')[0].style.opacity='1' : null;
	document.getElementById('interactivecontent').getElementsByTagName('img')[0].style.filter!='alpha(opacity=\'100\')' ? document.getElementById('interactivecontent').getElementsByTagName('img')[0].style.filter='alpha(opacity=\'100\')' :null;
	//AMENDS INTERACTIVE ELEMENTS//
	var interactive=document.getElementById('interactivecontent').getElementsByTagName('a');
	for(var i=0; i<interactive.length; i++) {
		var image_id=interactive[i].getElementsByTagName('img')[0].className;
		interactive[i].setAttribute('href','#');
		(function (image_id) { interactive[i].onmouseover=function () { interactive_rollover(image_id,this); } })(image_id);
		interactive[i].onmouseout=function () { interactive_rollout(); };
		interactive[i].onclick=function () { interactive_click(this); };
	}
}

function findXY (param) {
	var imglist=document.getElementById('interactivecontent').getElementsByTagName('img');
	for (var i=1; i<imglist.length+1; i++) {
		var imgsrcarray=imglist[i].src.split('/');
		var paramsplit=param.split('/');
		if (imgsrcarray[imgsrcarray.length-1] == paramsplit[paramsplit.length-1]) {
			return [imglist[i].offsetTop,imglist[i].offsetLeft];
		}
	}
}

function clickcontrol (zoom) {
	var parentdiv=document.getElementById('interactiveoverlay');
	//CREATES ZOOM BUTTON//
	if (zoom) {
	createdom('div','startzoom',['width=150px','height=25px','background=transparent url(/wp-content/themes/enoshop/template_images/button.png) no-repeat','position=absolute','margin=540px 0 0 5px','padding=6px 0 0 0','font=bold 10px Verdana','color=#FFFFFF','textAlign=center'],parentdiv);
	createanchor(['href=#','onclick=javascript:new imageviewer(\'/wp-content/themes/enoshop/images/enointeractive/hires_tabletop.jpg\');return false'],'ENLARGE PHOTO',['textDecoration=none','color=#FFFFFF'],document.getElementById('startzoom'));
	}
	//CREATES CLOSE BUTTON//
	var interactive=document.getElementById('interactivecontent').getElementsByTagName('a');
	for(var i=0; i<interactive.length; i++) {
		var image_id=interactive[i].getElementsByTagName('img')[0].className;
		interactive[i].setAttribute('href','#');
		interactive[i].onmouseover=function () { return; };
		interactive[i].onmouseout=function () {return; };			 
		interactive[i].onclick=function () { return; };
		
	}
	
	createdom('div','closezoom',['width=auto','height=auto','background=transparent url(/wp-content/themes/enoshop/template_images/basket_close.gif) no-repeat right','right=0','top=0','margin=10px','position=absolute','font=bold 10px Verdana','color=#FFFFFF','padding=0 20px 0 0'],parentdiv);
	
	createanchor(['href=#','onclick=javascript:closeinteractive(this);return false'],'CLOSE',['textDecoration=none','color=#FFFFFF'],document.getElementById('closezoom'));
}


function checklayer(divname) {
	if(!document.getElementById(divname)) {
		var newbkgrd=createdom('div',divname,['width=1000px','height=100%'],'none');
		var parentdiv=document.getElementById('interactivecontent').parentNode.getAttribute('id');
		document.getElementById('interactivemenu').parentNode.insertBefore(newbkgrd,document.getElementById('interactivemenu'));
		return false;
	} else return true;
}





//UTILITY SECTION
function loadimage (url,dom_path,alt,bkgrdboolean,returnfunc,css_styles,fadeboolean) {
	document.getElementById('imenutext').style.display=='block' ? loadinteractive(document.getElementById('imenutext').parentNode.getElementsByTagName('a')[0])  : null;
	this.bufferloader=bufferloader();
	if (bkgrdboolean && !document.getElementById('loadermask')){
		var bkgrd=new createdom('div','loadermask',['width=100%','height=100%','background=#000000 none','opacity=0','position=absolute'],dom_path);
		fader(document.getElementById('loadermask'),0,0.7,500);
	}
	function bufferloader() {
		var newloader=new Image();
		newloader.onload=function () {
			var loadergif=createdom('img','/wp-content/themes/enoshop/template_images/loading.gif',['height=auto','width=auto','left=50%','top=50%','position=absolute','border=0'],dom_path);
			loadergif.style.margin='-'+loadergif.offsetHeight/2+'px 0 0 -'+loadergif.offsetWidth/2+'px';
			if(loadergif) startshow=setTimeout(function () { imgload(); } ,500);
			this.onload=null;
		}
		newloader.onerror=function () {
			var loadergif=createdom('div','loading_div',['left=46%','top=48%','position=absolute','font=12px Verdana','color=#FFFFFF'],dom_path,'LOADING');
			if(loadergif) startshow=setTimeout(function () { imgload(); } ,500);
			this.onload=null;
		}	
		newloader.src='/wp-content/themes/enoshop/template_images/loading.gif';
	}
	
	function imgload () {
		var imgurl=new Image();
		imgurl.onload=function () {
			document.getElementById('loading_div') ? removedivdom(['loading_div']) : null;
			var imgtags=dom_path.getElementsByTagName('img');
			for (var i=0; i<imgtags.length; i++) { 
				var imgtagsplit=imgtags[i].src.split('/');
				if(imgtagsplit[imgtagsplit.length-1]=='loading.gif') {
					imgtags[i].parentNode.removeChild(imgtags[i]);	
				}//CLEARS OLD LOADER GIFs
			}
			var newimg=createdom('img',url,css_styles,dom_path,alt);
			if(fadeboolean) {
				var urlsplit=url.split('/');
				for(var i=0; i<dom_path.getElementsByTagName('img').length; i++) {
					var ximgsplit=dom_path.getElementsByTagName('img')[i].src.split('/');
					if(ximgsplit[ximgsplit.length-1]==urlsplit[urlsplit.length-1])  fader(dom_path.getElementsByTagName('img')[i],0,1,500);
				}
			}
			if (returnfunc!=='none') { var newfunc = new Function (returnfunc); newfunc(); } //CALLBACK FUNCTION//
		}
		
		imgurl.onerror=function () {
			document.getElementById('loading_div') ? removedivdom(['loading_div']) : null;
			var imgtags=dom_path.getElementsByTagName('img');
			for (var i=0; i<imgtags.length; i++) {
				if(imgtags[i].getAttribute('src')=='/wp-content/themes/enoshop/template_images/loading.gif') imgtags[i].parentNode.removeChild(imgtags[i]);	
			}
			createdom('div','error_div',['width=300px','left=50%','top=48%','position=absolute','margin=0 0 0 -150px','font=12px Verdana','color=#FFFFFF','textAlign=center'],dom_path,'We\'re sorry but an error has occurred. Please try again later. Thank you<br/><br/>');
			createanchor(['href=#','onclick=javascript:closeinteractive(\'no\');return false'],'CLOSE',['color=#FFFFFF'],document.getElementById('error_div'));
		}
		imgurl.src=url;
	}
}












