// Common script
// Version 1.6.0.0; Created 14-Apr-2004; Latest:  28-Nov-2005

/* Popup Window */
function popupWindow(href){
	window.open('popup/'+href,'popup',"width=550,height=570,left=50,top=20,status=no,toolbar=no,resizeable=yes,scrollbars=yes");
}

/* Validation of Quantity values */
function validateQty(o){
	var rWS=/(^\s+)|(\s+$)/g, r0=/^0+/, rInt=/^\d+$/; // rWS: leading & trailing WS, r0: leading 1+zeros, rInt: === 1+[0-9]
	o.value = o.value.replace(rWS,"");
	o.value = o.value.replace(r0,"");
	if (!rInt.test(o.value)) o.value=0;
}

/* Page change responses */
function showPageLoading(){
	MM_showHideLayers(
					  
					'div_pageloading','','show'
					,'leftbar','','hide'
					,'div_pagecontent','','hide'
					,'zone_links1','','hide'
					,'zone_links2','','hide'
//					,'header','','show'
//					,'divider','','show'
//					,'functionality','','show'

//					  'div_simplesearch','','hide'
//					  ,'div_mainmenu','','hide'
//					  ,'div_userstatus','','hide'
//					  ,'div_sidemenu','','hide'
//					  ,'div_pagecontent','','hide'
//					  ,'div_pageloading','','show'
					  
					);
}
function setPageLoadingText(s){
	WWW_setInnerHTML('div_pageloading',
	'<h1>'+s+'</h1>'
	);
}

/* Search Responses */
function onSubmitSearch(){
	setPageLoadingText('Searching...');
	showPageLoading();
	return true;
}
function onSubmitCartUpdate(){
	setCartTimestamp();//inpage function
	setPageLoadingText('Updating booklist...');
	showPageLoading();
	return true;
}

/* Navigation Bar Responses */
function onNavNext(p,o){
//	setFormField('hidden','bbf_SimpleSearch[sort]',o.sortres.value);
	setFormField('hidden','bbf_SimpleSearch[sort]','title');
	setFormField('hidden','bbf_SimpleSearch[Index]',p.slice(0,8));
	setFormField('hidden','bbf_SimpleSearch[Offset]',p.slice(8));
	showPageLoading();
	return true;
}//showPageLoading();}
function onNavPrev(p,o){
//	setFormField('hidden','bbf_SimpleSearch[sort]',o.sortres.value);
	setFormField('hidden','bbf_SimpleSearch[sort]','title');
	setFormField('hidden','bbf_SimpleSearch[Index]',p.slice(0,8));
	setFormField('hidden','bbf_SimpleSearch[Offset]',p.slice(8));
	showPageLoading();
	return true;
}//showPageLoading();}
function onNavNextRecommended(p){
	setFormField('hidden','bbf_SimpleSearch[sort]','');
	setFormField('hidden','bbf_SimpleSearch[Index]',p.slice(0,8));
	setFormField('hidden','bbf_SimpleSearch[Offset]',p.slice(8));
	showPageLoading();
	return true;
}//showPageLoading();}
function onNavPrevRecommended(p){
	setFormField('hidden','bbf_SimpleSearch[sort]','');
	setFormField('hidden','bbf_SimpleSearch[Index]',p.slice(0,8));
	setFormField('hidden','bbf_SimpleSearch[Offset]',p.slice(8));
	showPageLoading();
	return true;
}//showPageLoading();}
function onNavJump(o){
//	setFormField('hidden','bbf_SimpleSearch[sort]',o.sortres.value);
	setFormField('hidden','bbf_SimpleSearch[sort]','title');
	setFormField('hidden','bbf_SimpleSearch[Index]',o.Index.value);
	showPageLoading();
	return true;
}//showPageLoading();}
function onNavSort(o){
	setPageLoadingText('Sorting results...');
//	setFormField('hidden','bbf_SimpleSearch[sort]',o.value);
	setFormField('hidden','bbf_SimpleSearch[sort]','title');
	return true;
}//showPageLoading();}
function onNavRange(o){
//	setFormField('hidden','bbf_SimpleSearch[sort]',o.sortres.value);
	setFormField('hidden','bbf_SimpleSearch[sort]','title');
	setFormField('hidden','bbf_SimpleSearch[Index]',o.Page.value.slice(0,8));
	setFormField('hidden','bbf_SimpleSearch[Offset]',o.Page.value.slice(8));
	showPageLoading();
	return true;
}//showPageLoading();}
function onNavFullRes(){
	setFormField('hidden','bbf_SimpleSearch[sort]','title');
	showPageLoading();
	return true;
}

function onSubmitNav(){
	showPageLoading();
	return true;
}
/* Cart Page Responses */
function onSubmitCart(){
	var dW=document.WWW;
	setCartTimestamp();//inpage function
	if (dW.doValidateOrder && dW.doVerifyEmail && !dW.bypassValidateOrder) {
		if (eval(dW.doValidateOrder)) {
			showPageLoading();
			return true;
		} else return false;
	} else {
		showPageLoading();
		return true;
	}
}
function onCartPrint(){
	window.print();
}
function onCartRecalculate(){}//showPageLoading();}//default button
function onCartCalculateTotals(){}//showPageLoading();}//default button
function onCartOrderOnline(){setPageLoadingText('Recalculating &amp; preparing order form...');}//showPageLoading();}
function onCartOrderOffline(){setPageLoadingText('Recalculating &amp; preparing order form...');}//showPageLoading();}
function onCartSubmitOnline(){}//showPageLoading();}//default button
function onCartSubmitOffline(){}//showPageLoading();}//default button
function onCartEditBooklist(){document.WWW.bypassValidateOrder=true;setPageLoadingText('Please wait a moment...');showPageLoading();}
/*function onCartClear(){setPageLoadingText('Clearing book list...');showPageLoading();}*/

/* MyBooklist Responses */
function setBoxCartTimestamp(){
	WWW_setTimestamp('bbf_BoxCart_JS_Timestamp');
}

function onSubmitBoxCart(){
	var dW=document.WWW;
	setBoxCartTimestamp();//inpage function
	return true;
}
function onSubmitBooklist(){
	var dW=document.WWW;
	setBooklistTimestamp();//inpage function
	return true;
}
/* Register Responses */
function onSubmitRegister(){
	var dW=document.WWW;
	setRegisterTimestamp();//inpage function
	return true;
}
/* Login Responses */
function onSubmitLogin(){
	var dW=document.WWW;
	setLoginTimestamp();//inpage function
	return true;
}
/* Detail Responses */
function onSubmitDetail(){
	var dW=document.WWW;
	setDetailTimestamp();//inpage function
	return true;
}
/* Invite Responses */
function onSubmitInvite(){
	var dW=document.WWW;
	setInviteTimestamp();//inpage function
	return true;
}
function onSubmitInviteExclusives(){
	var dW=document.WWW;
	setInviteExclusivesTimestamp();//inpage function
	return true;
}
/* Collection Responses */
function setCollectionTimestamp(){
	WWW_setTimestamp('bbf_Cart_JS_Timestamp');
}

function onSubmitCollection(){
	var dW=document.WWW;
	setCollectionTimestamp();//inpage function
	return true;
}

function openWindow(sURL){
	w=window.open(sURL,'PreviewWindow','menubar=no,toolbar=no,directories=no,location=no,scrollbars=yes,resizable=yes,width=800');
	w.focus();
}

document.WWW.yWinScroll = 0;
function setWinScroll() {
	if (document.WWW.MS) {
		document.WWW.yWinScroll = document.body.scrollTop;//documentElement['scrollTop'];
	}
	else {
		document.WWW.yWinScroll = document.documentElement['scrollTop'];
	}
//	alert(document.WWW.yWinScroll);
}

function AnchorPosition_getPageOffsetTop (el) {
	var ot=el.offsetTop;
	while((el=el.offsetParent) != null) { ot += el.offsetTop; }
	return ot;
}
function AnchorPosition_getWindowOffsetTop (el) {
	return AnchorPosition_getPageOffsetTop(el)-document.WWW.yWinScroll;
}


function setPopupPos(e,id) {
	var x = 50; //standard offset
	var y, h, w, yw, ys;

	//Height of div popup
	//!!! Make more generic
	h = MM_findObj('div_popup_A').clientHeight;

	//Position in page
	y = AnchorPosition_getPageOffsetTop(MM_findObj(id));
	//Position in window
	yw = AnchorPosition_getWindowOffsetTop(MM_findObj(id));
	//Y Scrolled
	ys = document.WWW.yWinScroll;
	//Window height
	if (parseInt(navigator.appVersion)>3) {
	 if (navigator.appName=="Netscape") {
//	  winW = window.innerWidth-16;
	  w = window.innerHeight-16;
	 }
	 if (navigator.appName.indexOf("Microsoft")!=-1) {
//	  winW = document.body.offsetWidth-20;
	  w = document.body.offsetHeight-20;
	 }
	}

	if ( (yw+h)>w ) { y=w-h+ys; }
	if ( y<ys ) { y=ys; }

	document.getElementById('div_popup').style.left = x+'px';
	document.getElementById('div_popup').style.top = y+'px';
//	setTimeout("window.scrollTo(0,"+ys+");alert("+ys+");",1000);
	window.scrollTo(0,ys);
}

document.aCountry = new Array(
'United Kingdom',
'------ EU ------',
'Austria',
'Belgium',
'Cyprus',
'Czech Republic',
'Denmark',
'Estonia',
'Finland',
'France',
'Germany',
'Greece',
'Hungary',
'Ireland',
'Italy',
'Latvia',
'Lithuania',
'Luxembourg',
'Malta',
'Netherlands',
'Poland',
'Portugal',
'Slovakia',
'Slovenia',
'Spain',
'Sweden',
'United Kingdom',
'------ World ------',
'Afghanistan',
'Albania',
'Algeria',
'American Samoa',
'Andorra',
'Angola',
'Anguilla',
'Antarctica',
'Antigua & Barbuda',
'Argentina',
'Armenia',
'Aruba',
'Australia',
'Austria',
'Azerbaijan',
'Bahamas',
'Bahrain',
'Bangladesh',
'Barbados',
'Belarus',
'Belgium',
'Belize',
'Benin',
'Bermuda',
'Bhutan',
'Bolivia',
'Bosnia & Herzegovina',
'Botswana',
'Bouvet Island',
'Brazil',
'British Indian Ocean',
'Brunei',
'Bulgaria',
'Burkina Faso',
'Burundi',
'Cambodia',
'Cameroon',
'Canada',
'Cape Verde',
'Cayman Islands',
'Central African Republic',
'Chad',
'Chile',
'China',
'Christmas Island',
'Cocos (Keeling) Islands',
'Colombia',
'Comoros',
'Congo',
'Cook Islands',
'Costa Rica',
'C&ocirc;te d\'Ivoire',
'Croatia (Hrvatska)',
'Cuba',
'Cyprus',
'Czech Republic',
'Congo (DRC)',
'Denmark',
'Djibouti',
'Dominica',
'Dominican Republic',
'East Timor',
'Ecuador',
'Egypt',
'El Salvador',
'Equatorial Guinea',
'Eritrea',
'Estonia',
'Ethiopia',
'Falkland Islands',
'Faroe Islands',
'Fiji Islands',
'Finland',
'France',
'French Guiana',
'French Polynesia',
'Gabon',
'Gambia',
'Georgia',
'Germany',
'Ghana',
'Gibraltar',
'Greece',
'Greenland',
'Grenada',
'Guadeloupe',
'Guam',
'Guatemala',
'Guinea',
'Guinea-Bissau',
'Guyana',
'Haiti',
'Heard & McDonald Islands',
'Honduras',
'Hong Kong SAR',
'Hungary',
'Iceland',
'India',
'Indonesia',
'Iran',
'Iraq',
'Ireland',
'Israel',
'Italy',
'Jamaica',
'Japan',
'Jordan',
'Kazakhstan',
'Kenya',
'Kiribati',
'Korea',
'Kuwait',
'Kyrgyzstan',
'Laos',
'Latvia',
'Lebanon',
'Lesotho',
'Liberia',
'Libya',
'Liechtenstein',
'Lithuania',
'Luxembourg',
'Macao SAR',
'Macedonia',
'Madagascar',
'Malawi',
'Malaysia',
'Maldives',
'Mali',
'Malta',
'Marshall Islands',
'Martinique',
'Mauritania',
'Mauritius',
'Mayotte',
'Mexico',
'Micronesia',
'Moldova',
'Monaco',
'Mongolia',
'Montserrat',
'Morocco',
'Mozambique',
'Myanmar',
'Namibia',
'Nauru',
'Nepal',
'Netherlands',
'Netherlands Antilles',
'New Caledonia',
'New Zealand',
'Nicaragua',
'Niger',
'Nigeria',
'Niue',
'Norfolk Island',
'North Korea',
'Northern Mariana Islands',
'Norway',
'Oman',
'Pakistan',
'Palau',
'Panama',
'Papua New Guinea',
'Paraguay',
'Peru',
'Philippines',
'Pitcairn Islands',
'Poland',
'Portugal',
'Puerto Rico',
'Qatar',
'Reunion',
'Romania',
'Russia',
'Rwanda',
'Samoa',
'San Marino',
'S&atilde;o Tomé & Príncipe',
'Saudi Arabia',
'Senegal',
'Serbia & Montenegro',
'Seychelles',
'Sierra Leone',
'Singapore',
'Slovakia',
'Slovenia',
'Solomon Islands',
'Somalia',
'South Africa',
'South Georgia',
'Spain',
'Sri Lanka',
'St. Helena',
'St. Kitts & Nevis',
'St. Lucia',
'St. Pierre & Miquelon',
'St. Vincent & Grenadines',
'Sudan',
'Suriname',
'Svalbard & Jan Mayen',
'Swaziland',
'Sweden',
'Switzerland',
'Syria',
'Taiwan',
'Tajikistan',
'Tanzania',
'Thailand',
'Togo',
'Tokelau',
'Tonga',
'Trinidad & Tobago',
'Tunisia',
'Turkey',
'Turkmenistan',
'Turks & Caicos Islands',
'Tuvalu',
'Uganda',
'Ukraine',
'United Arab Emirates',
'United Kingdom',
'United States',
'Uruguay',
'Uzbekistan',
'Vanuatu',
'Vatican City',
'Venezuela',
'Viet Nam',
'Virgin Islands',
'Wallis & Futuna',
'Yemen',
'Zambia',
'Zimbabwe');


function loadCountries(id,c,n,fid,req,fo,sel) {
	var a=document.aCountry;
	var s='';
	var i=0;
	if (fo) //First option needed
		s=s+'<option>--- Select a country ---</option>';
//	a.each(function(item, i,sel){
////    alert(index + " = " + item);
//		s=s+'<option value="'+item+'"';
//		if(item==sel) s=s+' selected';
//		s=s+'>'+item+'</option>';
//});

	for(i in a){
		s=s+'<option value="'+a[i]+'"';
		if(a[i]==sel) s=s+' selected';
		s=s+'>'+a[i]+'</option>';
	}

	s='<select name="'+n+'" class="'+c+'" id="'+fid+'">'+s+'</select>';
	if (req==true)
		s=s+'<span class="required">&nbsp;*</span>';
	else if (req=='diff')
		s=s+'<span class="required">&nbsp;* (if different)</span>';
	WWW_setInnerHTML(id,s);
}

/* Setup drop-down menus */
function initDropdown(t){
	var dW=document.WWW; dW.dropdown=new Object();
	dW.dropdown.o1=null; dW.dropdown.o2=null; dW.dropdown.h=0; dW.dropdown.stack=0; dW.dropdown.t=t;
	var z=WWW_getElementsByClass('li','dd1'); if (!z) return;
	for(var i=0;i<z.length;i++) {
		z[i].onmouseover = dd1Show2;
		z[i].onmouseout = dd1Hide2;
		//alert('z[i]:'+z[i].nodeName+'.'+z[i].className);
		var y=z[i].getElementsByTagName('li');
		for(var j=0;j<y.length;j++) {
		//alert(x[j].nodeName+'.'+x[j].className);
			y[j].onmouseover = dd2Over;
			y[j].onmouseout = dd2Out;
			y[j].onclick = dd2Click;
		}
	}
}
function dd1Show2(e){
	var dWdd=document.WWW.dropdown;
	var o1=WWW_findTarget(e); if(!o1) return;
	if (o1.nodeName.toLowerCase()=='a')
		o1=o1.parentNode;
	if (o1.className=='dd1') {
		dWdd.stack++;
		o1.className = 'dd1_hover';
		var ao2=o1.getElementsByTagName('ul'); if(!ao2 || !ao2[0]) return;
		ao2[0].className = 'dd2_show';
		dWdd.o1=o1; dWdd.o2=ao2[0];
	}
}
function dd1Hide2(e){
	var dWdd=document.WWW.dropdown;
	var o1=WWW_findTarget(e); if(!o1) return;
	if (o1.nodeName.toLowerCase()=='a')
		o1=o1.parentNode;
	if (o1.className=='dd1_hover')
		dd1Hide2_do();
}
function dd1Hide2_do(bNow){
	var dWdd=document.WWW.dropdown;
	if(!dWdd.o1) return;
	dd1Hide2_killtimer();
	if (bNow){
		dWdd.o1.className = 'dd1';
		dWdd.o2.className = 'dd2_hide';
		dWdd.o1=null;
		dWdd.o2=null;
		dWdd.stack=0;
	}else if (--dWdd.stack)
		dWdd.h=setTimeout('dd1Hide2_do(true);',dWdd.t);
}
function dd1Hide2_killtimer(){
	var dWdd=document.WWW.dropdown;
	if (dWdd.h) {clearTimeout(dWdd.h);dWdd.h=0;}
}
function dd2Over(e){
	var o2=WWW_findTarget(e); if(!o2) return;
	if (o2.nodeName.toLowerCase()=='a')
		o2=o2.parentNode;
	if (o2.className=='dd2') {
		o2.className = 'dd2_hover';
		dd1Hide2_killtimer();
	}
}
function dd2Out(e){
	var o2=WWW_findTarget(e); if(!o2) return;
	if (o2.nodeName.toLowerCase()=='a')
		o2=o2.parentNode;
	if (o2.className=='dd2_hover') {
		o2.className = 'dd2';
		dd1Hide2_do();
	}
}
function dd2Click(e){
	var o2=WWW_findTarget(e); if(!o2) return;
	var x=o2.getElementsByTagName('a'); if(!x || !x[0]) return;
	location.href=x[0].href;
}


function initQtyClick() {
	$("input.qty").each(function(){
		$(this).bind('focus',function(){$(this).addClass('selected');this.select();});
		$(this).bind('blur',function(){$(this).removeClass('selected');});
	});
}

function initDateClick() {
	//Any field
	
	$('#EditDetailedSearch_PubAny1').bind('focus',function(){
			$('#EditDetailedSearch_PubBetween1Text').removeClass('selected');
			$('#EditDetailedSearch_PubBetween2Text').removeClass('selected');
			$('#EditDetailedSearch_PubAfterText').removeClass('selected');
			$('#EditDetailedSearch_PubBeforeText').removeClass('selected');
		});
	
	//Before field
	$('#EditDetailedSearch_PubBeforeText').bind('focus',function(){
			$('#EditDetailedSearch_PubBefore1').attr('checked','checked');
			$('#EditDetailedSearch_PubBeforeText').addClass('selected');
			$('#EditDetailedSearch_PubBetween1Text').removeClass('selected');
			$('#EditDetailedSearch_PubBetween2Text').removeClass('selected');
			$('#EditDetailedSearch_PubAfterText').removeClass('selected');
		});
	$('#EditDetailedSearch_PubBefore1').bind('focus',function(){
			$('#EditDetailedSearch_PubBeforeText').addClass('selected');
			$('#EditDetailedSearch_PubBetween1Text').removeClass('selected');
			$('#EditDetailedSearch_PubBetween2Text').removeClass('selected');
			$('#EditDetailedSearch_PubAfterText').removeClass('selected');
		});
	
	//After field
	$('#EditDetailedSearch_PubAfterText').bind('focus',function(){
			$('#EditDetailedSearch_PubAfter1').attr('checked','checked');
			$('#EditDetailedSearch_PubAfterText').addClass('selected');
			$('#EditDetailedSearch_PubBetween1Text').removeClass('selected');
			$('#EditDetailedSearch_PubBetween2Text').removeClass('selected');
			$('#EditDetailedSearch_PubBeforeText').removeClass('selected');
		});
	$('#EditDetailedSearch_PubAfter1').bind('focus',function(){
			$('#EditDetailedSearch_PubAfterText').addClass('selected');
			$('#EditDetailedSearch_PubBetween1Text').removeClass('selected');
			$('#EditDetailedSearch_PubBetween2Text').removeClass('selected');
			$('#EditDetailedSearch_PubBeforeText').removeClass('selected');
		});
	
	//Between1 field
	$('#EditDetailedSearch_PubBetween1Text').bind('focus',function(){
			$('#EditDetailedSearch_PubBetween1').attr('checked','checked');
			$('#EditDetailedSearch_PubBetween1Text').addClass('selected');
			$('#EditDetailedSearch_PubBetween2Text').addClass('selected');
			$('#EditDetailedSearch_PubBeforeText').removeClass('selected');
			$('#EditDetailedSearch_PubAfterText').removeClass('selected');
		});

	$('#EditDetailedSearch_PubBetween2Text').bind('focus',function(){
			$('#EditDetailedSearch_PubBetween1').attr('checked','checked');
			$('#EditDetailedSearch_PubBetween1Text').addClass('selected');
			$('#EditDetailedSearch_PubBetween2Text').addClass('selected');
			$('#EditDetailedSearch_PubBeforeText').removeClass('selected');
			$('#EditDetailedSearch_PubAfterText').removeClass('selected');
		});
	
	$('#EditDetailedSearch_PubBetween1').bind('focus',function(){
			$('#EditDetailedSearch_PubBetween1Text').addClass('selected');
			$('#EditDetailedSearch_PubBetween2Text').addClass('selected');
			$('#EditDetailedSearch_PubBeforeText').removeClass('selected');
			$('#EditDetailedSearch_PubAfterText').removeClass('selected');
		});
}

function stopRKey(evt) {
  var evt = (evt) ? evt : ((event) ? event : null);
  var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
  if ((evt.keyCode == 13) && (node.type=="text"))  {return false;}
}

//document.WWW.doOnLoad=document.WWW.doOnLoad+"document.onkeypress = stopRKey;";

function cartKeyPress() {
	if ($("#Cart"))
		$("#Cart").onkeypress = stopRKey;
}

function resultsKeyPress() {
	if ($("#ResultsToCart"))
		$("#ResultsToCart").onkeypress = stopRKey;
}
$(document).ready(resultsKeyPress);
//document.WWW.doOnLoad=document.WWW.doOnLoad+"resultsKeyPress();";

function addInputSubmitEvent(form, input) {
    input.onkeydown = function(e) {
        e = e || window.event;
        if (e.keyCode == 13) {
            form.submit();
            return false;
        }
    };
}

function enableSubmit(form) {
	var inputs = $(form).getElementsByTagName('input');
	
	for (var j=0;j < inputs.length;j++)
			addInputSubmitEvent($(form), inputs[j]);
};

