function addToFavorites(title,url){
	/*for Firefox*/
	if (window.sidebar) {
		window.sidebar.addPanel(title, url, "");
	}
	/*for Opera*/
	else if(window.opera && window.print){
		var elem = document.createElement('a');
		elem.setAttribute('href',url);
		elem.setAttribute('title',title);
		elem.setAttribute('rel','sidebar');
		elem.click();
	} 
	/*for IE*/
	else if(document.all) {
		window.external.AddFavorite(url, title);
	}
}

/* show and hide elements on poses page */
var pose_box_names = new Array(
	'anatomical',
	'therapeutic',
	'benefits',
	'contraindications',
	'beginners_tip',
	'variations',
	'modifications_and_props',
	'partnering',
	'preparatory_poses',
	'follow_up_poses',
	'deepen_the_pose',
	'did_you_know'
);
var pose_boxes = new Array();
for(var i=0; i<pose_box_names.length; i++){
	var element = document.getElementById(pose_box_names[i]);
	if(!element){
		continue;
	}
	pose_boxes[pose_box_names[i]] = 0;
}

function expand_all(){
	for(var i=0; i<pose_box_names.length; i++){
		var element = document.getElementById(pose_box_names[i]);
		if(!element){
			continue;
		}
		pose_boxes[pose_box_names[i]] = 1;
		element.style.display = 'block';
		document.getElementById('hide_all').style.display = 'block';
		document.getElementById('show_all').style.display = 'none';
		document.getElementById(pose_box_names[i]+'_hide').style.display = 'block';
		document.getElementById(pose_box_names[i]+'_show').style.display = 'none';
	}
}

function collapse_all(){
	for(var i=0; i<pose_box_names.length; i++){
		var element = document.getElementById(pose_box_names[i]);
		if(!element){
			continue;
		}
		pose_boxes[pose_box_names[i]] = 0;
		element.style.display = 'none';
		document.getElementById('hide_all').style.display = 'none';
		document.getElementById('show_all').style.display = 'block';
		document.getElementById(pose_box_names[i]+'_hide').style.display = 'none';
		document.getElementById(pose_box_names[i]+'_show').style.display = 'block';
	}
}

function collapse(element_id){
	document.getElementById(element_id).style.display = 'none';
	pose_boxes[element_id] = 0;
	document.getElementById(element_id+'_show').style.display = 'block';
	document.getElementById(element_id+'_hide').style.display = 'none';
	var all = 1;
	for(var i=0; i<pose_box_names.length; i++){
		var element = document.getElementById(pose_box_names[i]);
		if(!element){
			continue;
		}
		if(pose_boxes[pose_box_names[i]] == 1){
			all = 0;
			break;
		}
	}
	if(!all){
		document.getElementById('hide_all').style.display = 'none';
		document.getElementById('show_all').style.display = 'block';
	}
}

function expand(element_id){
	document.getElementById(element_id).style.display = 'block';
	pose_boxes[element_id] = 1;
	document.getElementById(element_id+'_show').style.display = 'none';
	document.getElementById(element_id+'_hide').style.display = 'block';
}
/* end: show and hide elements on poses page */

/* set/remove default values from text input fields */
var default_text_values = new Array();

function restore(obj) {
	if ((obj.value == '') && (default_text_values[obj.name])) {
		obj.value = default_text_values[obj.name];
		obj.className = 'text_input_default';
		if(obj.type == 'password'){
			obj.type = 'text';
		}
	}
}

function erase(obj) {
	if(!default_text_values[obj.name]){
		default_text_values[obj.name] = obj.value;
	}
	if (obj.value == default_text_values[obj.name]) {
		obj.value = '';
		obj.className = 'text_input_changed';
		if(default_text_values[obj.name] == 'Password'){
			obj.type = 'password';
		}
	}
}
/* end set/remove default values from text input fields */

function flip(id) {
	if (document.getElementById(id).style.display == 'block') {
		document.getElementById(id).style.display = 'none';
	} else {
		document.getElementById(id).style.display = 'block';
	}
}

/* imported from old yogajournal.com site to enable subscription form */
var formSubmitted = false;   // global variable to track successful submit
var host = window.location.host;
var ccLink = '<a href="https://'+host+'/ITPS2.cgi">'

function checkSubmit(){
	if (formSubmitted) {
		alert('Please be patient. Your order may take 10 - 15 seconds to process. Thank you!');
		return false;
	}
	else {
		formSubmitted = true;
		return true; 	
	}
}

function submitBM(f) {
	f.action="https://www.neodata.com/ITPS2.cgi";
	f.iResponse.value="YOGA.CONFIRMEMBED";
	f.OrderType.value="New Order";	
	if(checkSubmit())f.submit();
}

function submitCC(f) {
	f.action="https://www.neodata.com/ITPS2.cgi";
	f.iResponse.value="YOGA.BONUS";
	f.OrderType.value="Reply Only";
	if(checkSubmit())f.submit();
}
/* end of imported from old yogajournal.com site to enable subscription form */

/* address update function for user form */
function doOnload() {
	country2Select('shipping_countryid','shipping_stateid','ship_us_row','ship_nonus_row'); 
	country2Select('billing_countryid','billing_stateid','bill_us_row','bill_nonus_row'); 
}

function country2Select(country_id,state_id,us_id,nonus_id) {
   var blocktype = (checkIE()) ? 'block' : 'table-row';
   
   cntry = document.getElementById(country_id);
   state = document.getElementById(state_id);
   usrow = document.getElementById(us_id);
   nonusrow = document.getElementById(nonus_id);
   
   if(cntry.options[cntry.selectedIndex].value == '840' || cntry.selectedIndex == 0) {
      nonusrow.style.display = 'none';
      usrow.style.display = blocktype;
   } else {
      usrow.style.display = 'none';
      nonusrow.style.display = blocktype;
      state.selectedIndex = 0;
   }
}
/* end of address update function for user form */

/* detect browser, major, and minor version */

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();

var safari_lt_3 = false;
if(
	BrowserDetect.browser 
	&& 
	(BrowserDetect.browser == 'Safari') 
	&& 
	BrowserDetect.version 
	&& 
	(BrowserDetect.version < 500)
){
	safari_lt_3 = true;
}
/* end of detect browser, major, and minor version */

