function NewWindowA(a) {
	return NewWindow(a.href,a.target,'740','650','yes');
}
function NewWindow(mypage, myname, w, h, scroll) {
	if (h>screen.height-60) {
		h = screen.height-60;
	}
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2-60;
	if (wint<0) {
		wint = 0;
	}
	var scrollbars = 'scrollbars';
	if (scroll == 'no') {
		scrollbars = '';
	}
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',resizable,'+scrollbars;
	var win;
	if(myname=='opener' && window.opener){
		win = window.opener;
	}else{
		if(myname=='opener'){ myname='_blank'; }
		win = window.open('about:blank', myname, winprops);
		try{
			win.document.open();
			win.document.writeln("\n<html><head><style>body { color: gray; } div#rotate { position:absolute; top:0px; left:0px;} div#rotate span { position:absolute; } h1 { text-align:center; position:relative; top:0; left:0; font-family:Times;}</style>\n<scr"+"ipt>//<!--\nvar c = 0;\nfunction rotate() {\nvar t = document.getElementById('rotate').getElementsByTagName('span');\nfor(var i=0; i < t.length; i++) {\nif ((i % 4) == c) {\nt[i].style.visibility = 'visible';\n} else {\nt[i].style.visibility = 'hidden';\n}\n}\nc = (c + 1) % 4;\nsetTimeout('rotate()', 300);\n}\nfunction draw() {\nvar t = document.getElementById('rotate');\nvar a = Math.PI / 24;\nvar r = 50;\nvar s = '';\nvar w = (document.body.clientWidth / 2);\nvar h = (document.body.clientHeight / 2);\nfor(i=0;i<=48;i++) {\nvar b = document.createElement('span');\nb.style.top = Math.round(Math.sin(i * a) * r) + h;\nb.style.left = Math.round(Math.cos(i * a) * r) + w;\nb.innerHTML = '&middot;';\nt.appendChild(b);\n}\nt = document.getElementsByTagName('h1');\nt[0].style.top = ((document.body.clientHeight / 2) - (2 * r));\n}\n//-->\n</scr"+"ipt>\n</head>\n<body>\n<h1>Loading ....</h1>\n<div id='rotate'>\n</div>\n</body>\n</html>\n");
			win.draw();
			win.rotate();
			win.document.close();
		}catch(e){}
	}
	if (mypage != '' && mypage != 'about:blank') win.location = mypage;
	win.focus();
}

function NewWindowMaximized(mypage, myname) {
	var winl = screen.width-7;
	var wint = screen.height-75;
	winprops = 'height='+wint+',width='+winl+',top=0,left=0,resizable,directories,location,menubar,toolbar,scrollbars';
	win = window.open(mypage, myname, winprops);
	win.focus();
}

function NewWindowStatus(mypage, myname, w, h, scroll) {
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2-60;
	if (wint<0) {
		wint = 0;
	}
	var scrollbars = 'scrollbars';
	if (scroll == 'no') {
		scrollbars = '';
	}
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',resizable,status,'+scrollbars;
	win = window.open(mypage, myname, winprops);
	win.focus();
}


function NewWindow2(mypage, myname, w, h, scroll) {
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2-30;
	var scrollbars = 'scrollbars';
	if (scroll == 'no') {
		scrollbars = '';
	}
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',resizable,'+scrollbars;
	win = window.open(mypage, myname, winprops);
	win.focus();
}

function displayURL(url,x,y) {
	props = "resizable,scrollbars,width=" + x + ",height=" + y;
	imagepreview = window.open("","preview_window", props);
	imagepreview.focus();
	imagepreview.location=url;
	return false;
}
function NewSlowWindow(mypage, myname, w, h, scroll, text) {
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2-30;
	var winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable';
	var win = window.open('', myname, winprops);
	if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
	win.document.body.innerHTML = '';;
	win.document.writeln('<center><br><font color="darkblue">' + text + '</font></center>'); // win.close();
	win.location = mypage;
	return win;
}


function GoSiteMap(sel) {
	var goref = sel.options[sel.selectedIndex].value;
	// See if we create a new window
	sel.selectedIndex = 0;
	sel.blur(); // Ensure focus doesn't stay on dropdown
	if (goref=='') {
		// Empty string. Do nothing
		return false;
	}
	if (goref.search(/NW\|/)==0) {
		// Open new window, so find coords
		// NW:640:480:href
		var NewWArr = goref.split(/\|/);
		NewWindow(NewWArr[3],'_blank',NewWArr[1],NewWArr[2],'yes');
		return false;
	}
	// Standard link. Change target and run
	document.location.href=goref;
	return false;
}

// Cart Functions.
function setCartUrl(a,pid){
	var sizes=document.getElementById('multi_sizecolour_'+pid);
	var qtys = sizes.getElementsByTagName('input');
	a.href = a.href.replace(/sqty_\d+_\d+\//g,'');
	for(var i=0; i<qtys.length; i++) {
		var qty = qtys[i];
		if(qty && qty.value>=0){
			var m = qty.name.match('sizecolour_(\\d+)');
			if(m && m.length>=2 && qty.value>0) {
				a.href = a.href.replace(/size_[-\d]+/,('size_'+m[1]));
				a.href += 'sqty_'+m[1]+'_'+qty.value+'/';
			}
		}
	}
	return true;
}
function addToCart(a,pid){
	setCartUrl(a,pid);
	var iframe=document.getElementById('addtocartframe');
	if(!iframe){
		//<iframe id="addtocartframe" width="1" height="1" src="about:blank"></iframe>
		iframe = document.createElement('iframe');
		iframe.id = 'addtocartframe';
		iframe.width = 1;
		iframe.height = 1;
		iframe.src = 'about:blank';
		document.body.appendChild(iframe);
	}
	if(iframe){
		iframe.src=a.href;
		return false;
	}
	return true;
}
function showCart(a,pid){
	var ret = setCartUrl(a,pid);
	if(ret){
		NewWindow('about:blank',a.target,'650','460','yes');
		return true;
	}else{
		alert('Please select a Size / Colour to purchase this product');
		return false;
	}
}


var switchLargeImage;
function switchLargeImage(on,off){
	if(!(on && off)){
		if(document.getElementById('largeimage_href_front').style.display=='inline'){
			off = 'back';
			on = 'front';
		}else{
			off = 'front';
			on = 'back';
		}
	}
	try {
		document.getElementById('largeimage_'+off).style.display='none';
		document.getElementById('largeimage_'+on).style.display='block';

		document.getElementById('largeimage_href_'+off).style.display='inline';
		document.getElementById('largeimage_href_'+on).style.display='none';
	}catch(e){}
}

//Disable right mouse click Script
//By Maximus (maximus@nsimail.com) w/ mods by DynamicDrive
//For full source code, visit http://www.dynamicdrive.com
function clickIE4(){
	if (event.button==2){
		alert('Function Disabled!');
		return false;
	}
}
function clickNS4(e){
	if (document.layers||document.getElementById&&!document.all){
		if (e.which==2||e.which==3){
			alert('Function Disabled!');
			return false;
		}
	}
}
function disableRightMouse(){
   var node = document.getElementById("largeimage_click_div");
   if(node){
	   if (node.layers){
		   node.captureEvents(Event.MOUSEDOWN);
		   node.onmousedown=clickNS4;
	   }
	   else if (node.all&&!node.getElementById){
		   node.onmousedown=clickIE4;
	   }
	   node.oncontextmenu=new Function("alert('Function Disabled!');return false");
   }
}

// Set links to local to show spinning load first.
function getScrollingPosition() {
	var position = [0, 0];
	if (typeof window.pageYOffset != 'undefined') {
		position = [ window.pageXOffset, window.pageYOffset ];
	} else if (typeof document.documentElement.scrollTop != 'undefined' && document.documentElement.scrollTop > 0) {
		position = [ document.documentElement.scrollLeft, document.documentElement.scrollTop ];
	} else if (typeof document.body.scrollTop != 'undefined') {
		position = [ document.body.scrollLeft, document.body.scrollTop ];
	}
	return position[1];
}

// Cookie Functions , Get and Set.
function Set_Cookie( name, value, expires, path, domain, secure ) {
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime( today.getTime() );
	if ( expires ) { expires = expires * 1000 * 60 * 60 * 24; }
	var expires_date = new Date( today.getTime() + (expires) );
	document.cookie = name + "=" +escape( value ) +
		( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
		( ( path ) ? ";path=" + path : "" ) +
		( ( domain ) ? ";domain=" + domain : "" ) +
		( ( secure ) ? ";secure" : "" );
}
function Get_Cookie( name ) {
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) { return ''; }
	if ( start == -1 ) return '';
	var end = document.cookie.indexOf( ";", len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}



// Set links to local to show spinning load first.
function rotate(c) {
	if(!c){ c=0; }
	var loading = document.getElementById('loading');
	if(loading){
		var vpHeight = (window.innerHeight ? window.innerHeight : document.documentElement.clientHeight);
		if(document.body.clientHeight && vpHeight){
			loading.style.top = (getScrollingPosition() + (vpHeight / 2) - 100) + 'px';
		}
		var t = loading.getElementsByTagName('span');
		for(var i=0; i < t.length; i++) {
			if ((i % 4) == c) {
				t[i].style.visibility = 'visible';
			} else {
				t[i].style.visibility = 'hidden';
			}
		}
		c = (c + 1) % 4;
	}
	setTimeout('rotate('+c+')', 300);
}
function draw() {
	try{
		var loading = document.getElementById('loading');
		var t = document.getElementById('rotate');
		if(!loading){
			//<div id='loading'><h1>Loading ....</h1><div id='rotate'></div></div>
			loading = document.createElement('div');
			loading.id='loading';
			var h1 = document.createElement('h1');
			h1.appendChild(document.createTextNode('Loading ....'));
			loading.appendChild(h1);
			t = document.createElement('div');
			t.id='rotate';
			loading.appendChild(t);
			document.body.appendChild(loading);
		}
		var a = Math.PI / 24;
		var r = 50;
		var s = '';
		for(i=0;i<=48;i++) {
			var b = document.createElement('span');
			b.appendChild(document.createTextNode('.'));
			b.style.top = (Math.round(Math.sin(i * a) * r) + r + 40)+'px';
			b.style.left = (Math.round(Math.cos(i * a) * r) + r + 30)+'px';
			b.style.color = 'gray';
			t.appendChild(b);
		}
		// alert(t.innerHTML);
		loading.style.top = '100px'
		loading.style.left = (document.body.clientWidth ? ((document.body.clientWidth/2)-90)+'px' : '500px');
	}catch(err){alert(err);}
}

function hideSpinner() {
	try{
		var loading = document.getElementById('loading');
		if(loading && loading.display=='block' || loading.style.display=='block'){
			var divbody = document.getElementById('divbody');
			var tdbody = document.getElementById('tdbody');
			loading.display='none';
			loading.style.display='none';
			if(tdbody){
				tdbody.visibility='';
				tdbody.style.visibility='';
			}else if(divbody){
				divbody.display='';
				divbody.style.display='';
			}
		}
	}catch(err){}
}
function showSpinner() {
	try{
		draw();
		var loading = document.getElementById('loading');
		if(loading){
			var divbody = document.getElementById('divbody');
			var tdbody = document.getElementById('tdbody');
			loading.display='block';
			loading.style.display='block';
			if(tdbody){
				tdbody.visibility='hidden';
				tdbody.style.visibility='hidden';
			}else if(divbody) {
				divbody.display='none';
				divbody.style.display='none';
			}
		}
		window.scrollTo(0,0);
		rotate();
	}catch(err){alert(err);}
	return true;
}

function setSpinner() {
	var divbody = document.getElementById('divbody');
	if(!divbody) return;
	var a = document.getElementsByTagName('A');
	var hasCookie = (Get_Cookie('VSession')=='' ? 0 : 1);
	for(var i=0; i<a.length; i++){
		if(a[i].href && a[i].href!='' && a[i].href.toString().indexOf('#')==-1 && a[i].href.toString().substr(0,7)!='mailto:' && a[i].href.toString().substr(0,11)!='javascript:'){
			if(!a[i].target && !a[i].onclick) {
				if(a[i].addEventListener){
					a[i].addEventListener('click',showSpinner,false);
				}else if(a[i].attachEvent){
					a[i].attachEvent('onclick',showSpinner);
				}else{
					a[i].onclick = showSpinner;
				}
			}

			// Removed Session_id from string.
			var hrefStr = hasCookie ? a[i].href.toString() : '';
			if(hasCookie) {
				var hrefStr = a[i].href.toString();
				if(!hrefStr.match(/^http/) && hrefStr.match(/\/S[a-fA-F0-9]{16}\//)) {
					hrefStr = hrefStr.replace(/\/S[a-fA-F0-9]{16}\//,'/');
					a[i].href = hrefStr;
				}
				if(hrefStr.match(/sess_id=S[a-fA-F0-9]{16}/)) {
					hrefStr = hrefStr.replace(/sess_id=S[a-fA-F0-9]{16}&?/g,'');
					a[i].href = hrefStr;
				}
				a[i].href = hrefStr = hrefStr.replace(/\&$/,'');
				a[i].href = hrefStr = hrefStr.replace(/\?$/,'');
			}
		}
	}

	// Preload Image for add to cart
	try {
		var img = new Image();
		img.src = '/images/addtocart2.gif';
	}catch(e){}
}



//if(window.addEventListener){window.addEventListener('load',setSpinner,false);}
//else if(window.attachEvent){window.attachEvent('onload',setSpinner);}

//if(window.addEventListener){window.addEventListener('unload',hideSpinner,false);}
//else if(window.attachEvent){window.attachEvent('onunload',hideSpinner);}


$(document).ready(function(){
	setSpinner();
	if(jQuery.fn.labelify) {
		$('#header form input[type=text]').labelify();
		$('.holygrail .col2 form input[type=text]').labelify();
		$('.holygrail .col3 div.wrapfloats div a:even').css({ clear: 'left' });
	}
});

var setRhsPosVP=0;
function setRhsPos() {
	if(document.getElementById) {
		var box = document.getElementById('rhsSidebar');
		var top = document.getElementById('header');
		var vpWidth = (window.innerWidth ? window.innerWidth : document.documentElement.clientWidth);
		if(setRhsPosVP>0 && setRhsPosVP==vpWidth){setTimeout('setRhsPos()',1000); return;}
		if(box && top && vpWidth>0){
			setRhsPosVP=vpWidth;
			if(vpWidth<980){
				box.style.left = '800px';
				top.style.width= '950px';
				var divbody = document.getElementById('divbody');
			}else{
				box.style.left='';
				box.style.right=0;
				top.style.width='100%';
			}
			setTimeout('setRhsPos()',1000);
		} else {
			setTimeout('setRhsPos()',50);
		}
	}
}
setRhsPos();

function setPThumb(pid, href) {
       img = document.getElementById('pthumb_'+pid);
       if(img && href && href!='') {
               img.src = '/dbimages/' + href;
       }
}

function setPLarge(href) {
	img = document.getElementById('lrgImage');
	if(img && href && href!='') {
		var imgs = img.getElementsByTagName('img');
		if(imgs && (imgs.length==1 || imgs.length==2)) {
			imgs[0].src = href;
		} else {
			img.innerHTML = '<img src="'+href+'" alt="" onload="setLrgImageFill(this);" />'
				+ '<img id="lrgImageFill" width="300" height="600" border="0" src="/images/fill.gif" style="position:absolute; top:45px; left:15px;" />';
		}
	}
}

function setLrgImageFill(under) {
	var fill = document.getElementById('lrgImageFill');
	if(under && fill) {
		fill.width = under.width + 10;
		fill.height = under.height + 10;
	}
}
