function bulkQuote(code, desc) {

	var w = 760;
	var h = 500;
	
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	
	props = 'height=' + h + ',width=' + w + ',top=' + wint + ',left=' + winl + ',scrollbars=yes';
	
	window.open('http://www.sciencelab.com/bulkQuote.php?productCode=' + code + '&description=' + desc, 'ScienceLab_Quote', props);
}



function openWindowCentered(url, title, w, h, scrollbars) {

	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	
	props = 'height=' + h + ',width=' + w + ',top=' + wint + ',left=' + winl + ',scrollbars=' + scrollbars + ',resizable=yes';
	
	window.open( url, title, props);
}

function checkForBailout() {
	var top;
	
	var url = 'http://www.citymerch.com/bailout.html';
	var title = 'CityMerch';
	var w = 450;
	var h = 240;
	var scrollbars = 'no';

	if (document.all) {
		top=self.screenTop;

		if (top>9000) {
			openWindowCentered( url, title, w, h, scrollbars );
		}
	} else {
		top=window.outerWidth;

		if (top==0) {
			openWindowCentered( url, title, w, h, scrollbars );
		}
	}
}

function sendToFriend( title ) {
	if (title == null)
		title = document.title;

	var ref = window.location.href.replace(/&/g,'@');
	var url = 'http://www.citymerch.com/send-to-friend.mvc?Title=' + title + '&URL=' + ref;

	openWindowCentered( url, 'SendToFriend', 450, 475, 'yes' );
}

function addToFavorites() {
	if (document.all) {
		window.external.AddFavorite('http://www.citymerch.com', 'CityMerch - Great Gear. Cool Places. Local Flavor.')
	} else {
		alert( 'Press Control-D or use your browser\'s menus to bookmark this page.' );
	}
}

function largeProductImage( product_code ) {
	
	var url = 'http://www.citymerch.com/product-large-image.mvc?Product_Code=' + product_code;

	openWindowCentered( url, 'LargeImage', 450, 460, 'yes' );
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_validateForm() { //v4.0

	var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
	
	
	for (i=0; i<(args.length-2); i+=3) {
		test=args[i+2];
		val=MM_findObj(args[i]);

		if (val) {

			nm=val.id;
			
			if ((val=val.value)!="") {

				if (test.indexOf('isEmail')!=-1) {
					p=val.indexOf('@');

					if (p<1 || p==(val.length-1))
						errors+='- '+nm+' must contain an e-mail address.\n';

				} else if (test!='R') {
				
					if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';

					if (test.indexOf('inRange') != -1) {
						p=test.indexOf(':');

						min=test.substring(8,p);
						max=test.substring(p+1);

						if (val<min || max<val) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
					}
				}
			} else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n';
		}
	}
	
	if (errors) alert('The following field(s) are incomplete:\n'+errors);
	
	document.MM_returnValue = (errors == '');
}

function selectRedirect(obj) {
	var index = obj.selectedIndex;
	
	if (obj.options[index].value.length > 0) {
		location = obj.options[index].value;
	}
}
