// JavaScript Document

var gseFrame = {
	
	addListeners: function() {
		if (!document.getElementsByTagName || !document.getElementById)
			return;		

		// set listeners on new window and frame links
		var lnkCloseWindow = document.getElementById('btnCloseWindow');
		rwScript.addEvent(lnkCloseWindow, 'click', gseFrame.getClick(lnkCloseWindow), false);
		
		// set listeners on product thumbnail links
		var arrAs = document.getElementsByTagName('a');
		
		for (i=0; i < arrAs.length; i++) {
			if (arrAs[i].className == 'prdThumbnail') {
				var objA = arrAs[i];
				rwScript.addEvent(objA, 'click', gseFrame.getThumbnailClick(objA), false);
				objA.onclick = gseFrame.cancelClick;
			}
			
			if (arrAs[i].className == 'imgEnlargement') {
				var objA = arrAs[i];
				rwScript.addEvent(objA, 'click', gseFrame.getEnlargementClick(objA), false);
				objA.onclick = gseFrame.cancelClick;
			}
		}
		
		// set listener on body click
		var objBody = document.body;
		rwScript.addEvent(objBody, 'click', gseFrame.bodyClick, true);
		
		// set listener for Paypal Form Submission
		if (document.getElementById('formPayPal')) {
			objForm = document.getElementById('formPayPal');
			rwScript.addEvent(objForm, 'submit', gseFrame.formSubmit, false);
		}
		
		// If window is dimmed, undim
		var objDimWindow = window.parent.document.getElementById('dimWindow');
		if (objDimWindow.style.display == 'block') {
			objDimWindow.style.display = 'none';
			objDimWindow.style.width = '1px';
			objDimWindow.style.height = '1px';			
		}

	},

	closeWindow: function (e, targetElement) {
		var el = window.event ? targetElement : e ? e.currentTarget : null;
		if (!el) return;
		
		var strFrmTarget = 'iFrmTarget' + gseFrame.intFrameIndex;
		var frmTarget = window.parent.document.getElementById(strFrmTarget);
		window.location.href = 'gse_Blank.html';
		frmTarget.style.display = 'none';
	},
	getClick: function (node) { return function(e) { gseFrame.closeWindow(e, node); }; },

	showImage: function (e, targetElement) {
		var el = window.event ? targetElement : e ? e.currentTarget : null;
		if (!el) return;
		
		// remove borders on other links
		var arrAs = document.getElementsByTagName('a');
		for (i=0; i < arrAs.length; i++) {
			if (arrAs[i].className == 'prdThumbnail') {
				var objA = arrAs[i];
				objA.firstChild.className = '';
			}
		}

		el.firstChild.className = 'selected';

		var imgProduct = document.getElementById('imgProduct');
		var strHREF = el.href;
		imgProduct.src = strHREF;
		var arrFileName = strHREF.split("/");
		var strFileName = arrFileName[arrFileName.length - 1];
		var intDotIndex = strFileName.indexOf('.');
		var intFileIndex = strFileName.substring(0,intDotIndex);

		var lnkPrdImage = document.getElementById('lnkPrdImage');
		lnkPrdImage.href = 'gse_prd_Enlargement.asp?img=' + intFileIndex;

		return false;
	},
	getThumbnailClick: function (node) { return function(e) { gseFrame.showImage(e, node); }; },

	showEnlargement: function (e, targetElement) {
		var el = window.event ? targetElement : e ? e.currentTarget : null;
		if (!el) return;

		var frmTarget = window.parent.document.getElementById('iFrmTarget4');
		if (frmTarget.style.display == 'block') {
			frmTarget.src = el.href;
		} else {
			frmTarget.style.display = 'block';
			frmTarget.src = el.href;
		}
		
		window.parent.gseLinks.changeDepth(frmTarget);
		gseFrame.blnCancelBubble = true;
		
		return false;
	},
	getEnlargementClick: function (node) { return function(e) { gseFrame.showEnlargement(e, node); }; },
	cancelClick: function() { return false; },

	resizeWindow: function (intNewHeight, intNewWidth) {
		var strFrmTarget = 'iFrmTarget' + gseFrame.intFrameIndex;
		var frmTarget = window.parent.document.getElementById(strFrmTarget);
		
		if (intNewHeight != 0) {
			frmTarget.style.height = intNewHeight + 'px';
			var intNewPosition = 365 - (intNewHeight - 280);
			frmTarget.style.bottom = intNewPosition + 'px';
		}
		
		if (intNewWidth != 0) {
			frmTarget.style.width = intNewWidth + 'px';
			frmTarget.style.right = '55%';
		}
	},
	
	bodyClick: function () {
		if (!gseFrame.blnCancelBubble) {
			var strFrmTarget = 'iFrmTarget' + gseFrame.intFrameIndex;
			var frmTarget = window.parent.document.getElementById(strFrmTarget);
			
			window.parent.gseLinks.changeDepth(frmTarget);
		}
		gseFrame.blnCancelBubble = false;
	},
	
	formSubmit: function() {
		var strFrmTarget = 'iFrmTarget' + gseFrame.intFrameIndex;
		var frmTarget = window.parent.document.getElementById(strFrmTarget);
		
		if (window.innerWidth) {
			var intWinHeight = window.parent.innerHeight;
			var intWinWidth = window.parent.innerWidth;
		} else {
			var intWinHeight = window.parent.document.documentElement.clientHeight;
			var intWinWidth = window.parent.document.body.clientWidth;
		}
		
		// Grey out main Window for now
		var objDimWindow = window.parent.document.getElementById('dimWindow');
		objDimWindow.style.height = intWinHeight + 'px';
		objDimWindow.style.width = intWinWidth + 'px';
		objDimWindow.style.display = 'block';

		// Resize and move main window
		frmTarget.style.bottom = '40px';
		frmTarget.style.left = '60px';
		frmTarget.style.height = (intWinHeight - 80) + 'px';
		frmTarget.style.width = (intWinWidth - 120) + 'px';

	},
	
	intFrameIndex: 0,
	blnCancelBubble: false

};

rwScript.addEvent(window, 'load', gseFrame.addListeners, false);
rwScript.addEvent(window, 'unload', EventCache.flush, false);