function browser(){
	this.dom = (document.getElementById) ? true : false;
	this.ns4 = (document.layers) ? true : false;
	this.ie = (document.all) ? true : false;
	this.ns6 = this.dom && !this.ie
	this.ie4 = this.ie && !this.dom;
	this.opera = (navigator.userAgent.indexOf("Opera") != -1);
	this.mac = (navigator.appVersion.indexOf("Mac") != -1);
	this.macie4 = this.ie4 || this.mac;
	this.dhtml = (this.dom || this.ns4 || this.ie || this.ie4 || this.opera || !this.mac) ? true : false;
	this.dhtml = (this.mac)?false:true;
	return this;
}

var bw = new browser();

function toggleTable(el,st) {
	var myelement = document.getElementById(el);

	if(st == 1){
		if(bw.ie){
			myelement.style.display = "inline"
		}else{
			myelement.style.display = "table-cell"
		}
	}else{
		myelement.style.display = "none"
	}
}






//register screen
function how_hear_text(id){

	theform = document.register;

	if(id == "Other"){
		toggleTable('type_1',1);
		theform.elements["data[constituants][0][how_hear]"].value = "";
	}else{
		toggleTable('type_1',0);
		theform.elements["data[constituants][0][how_hear]"].value = id;
	}
}

function mandatory_zip(obj_id,value) {

	if(value == 840){
   		document.getElementById(obj_id).innerHTML = "<b class='mandatory'>*</b>";
	}else{
		document.getElementById(obj_id).innerHTML = "";
	}
}

function set_state(theform,str,the_element){
	theform.elements[the_element].value = str;
}

function country_states(id, theform, the_element, prefix,clear){

	if(id == 840){
		toggleTable(prefix+'_el_1',1);
		toggleTable(prefix+'_el_2',0);
		toggleTable(prefix+'_el_3',0);

		toggleTable(prefix+'_el_not_man',0);
		toggleTable(prefix+'_el_man',1);

		theform.elements[prefix+"_state_province"][0].selected = true;

	}else if(id == 124){
		toggleTable(prefix+'_el_1',0);
		toggleTable(prefix+'_el_2',1);
		toggleTable(prefix+'_el_3',0);

		toggleTable(prefix+'_el_not_man',0);
		toggleTable(prefix+'_el_man',1);

		theform.elements[prefix+"_canada_province"][0].selected = true;
	}else{
		toggleTable(prefix+'_el_1',0);
		toggleTable(prefix+'_el_2',0);
		toggleTable(prefix+'_el_3',1);

		toggleTable(prefix+'_el_not_man',1);
		toggleTable(prefix+'_el_man',0);

		if(clear)
		theform.elements[the_element].value = "";
	}
}

function populate(thisform){

	if(thisform.elements["asabove"].checked){

		thisform.elements["data[constituants][0][del_addr_01]"].value = thisform.elements["data[constituants][0][phy_addr_01]"].value;
		thisform.elements["data[constituants][0][del_addr_02]"].value = thisform.elements["data[constituants][0][phy_addr_02]"].value;
		thisform.elements["data[constituants][0][del_city]"].value = thisform.elements["data[constituants][0][phy_city]"].value;
		thisform.elements["data[constituants][0][del_state]"].value = thisform.elements["data[constituants][0][phy_state]"].value;
		thisform.elements["data[constituants][0][del_code]"].value = thisform.elements["data[constituants][0][phy_code]"].value;
		thisform.elements["data[constituants][0][del_country_id]"].value = thisform.elements["data[constituants][0][phy_country_id]"].value;

		id = thisform.elements["data[constituants][0][phy_country_id]"].value;
		country_states(id,thisform,'data[constituants][0][del_state]','del',0);

		if(id == 840){
	   		document.getElementById('del_zip').innerHTML = "<b class='mandatory'>*</b>";
		}else{
			document.getElementById('del_zip').innerHTML = "";
		}


		thisform.elements["del_state_province"].value = thisform.elements["data[constituants][0][phy_state]"].value;
		thisform.elements["del_canada_province"].value = thisform.elements["data[constituants][0][phy_state]"].value;

	}else{
		thisform.elements["data[constituants][0][del_addr_01]"].value = "";
		thisform.elements["data[constituants][0][del_addr_02]"].value = "";
		thisform.elements["data[constituants][0][del_city]"].value = "";
		thisform.elements["data[constituants][0][del_state]"].value = "";
		thisform.elements["data[constituants][0][del_code]"].value = "";
		thisform.elements["data[constituants][0][del_country_id]"].value = "-1";

		country_states(1,thisform,'data[constituants][0][del_state]','del',1);

		document.getElementById('del_zip').innerHTML = "";
	}
}

//shop
function empty_basket(){
	if(confirm("Do you really want to empty your Cart?")){
		window.location = "/store/?action=empty";
	}
}

function remove_from_basket(item,item_id){
	if(confirm("Do you really want to remove "+item+" from your Cart?")){
		window.location = "/store/?b="+item_id+"&action=remove";
	}
}

function delete_basket_Form(basketform, theaction){
	if(confirm("Do you really want to remove selected items?")){
		basketform.action = theaction;
		basketform.submit();
	}
}


//porfolios
function editFormEntry(theform, theaction, allShow, actType){
	edit_count = 0;
//	theform = eval('document.members');

	if(theform.elements[allShow+"_id[]"].checked == true){
		entry_id = theform.elements[allShow+"_id[]"].value;
		edit_count = 1;
	}

	for(x = 0;x < theform.elements[allShow+"_id[]"].length; x++){
		if(theform.elements[allShow+"_id[]"][x].checked == true){
			entry_id = theform.elements[allShow+"_id[]"][x].value;
			edit_count ++;
			if(edit_count > 1){
				break;
			}
		};
	}

	if(edit_count == 0){
		alert("Please select an entry you want to "+actType+".");
	}else if(edit_count > 1){
		alert("Please only select a single entry you want to "+actType+".");
	}else{
		window.location = theaction +"?id=" + entry_id;
	}
}


//misc
function disable_button(id){
	document.getElementById(id).disabled = true;
}

function checkGeneric(allItem, entry_form){
	allItem = entry_form.elements[allItem];

	if(allItem.checked == false){
		setFlag = false;
	}else{
		setFlag = true;
	}

	entry_form.elements[allItem.name + "_id[]"].checked = setFlag;

	for(x = 0;x < entry_form.elements[allItem.name + "_id[]"].length; x++){
		entry_form.elements[allItem.name + "_id[]"][x].checked = setFlag;
	}

}

function checkSetGeneric(allItem, entry_form){

	if(entry_form.elements[allItem].checked == false){
		entry_form.elements[allItem].checked = true;
	}else{
		entry_form.elements[allItem].checked = false;
	}

	checkGeneric(allItem, entry_form);
}

function checkSearchAll(allItem, theForm, seriesName){

	entry_form = eval("document." + theForm);

	allItem = entry_form.elements[allItem];

	if(allItem.checked == false){
		setFlag = false;
	}else{
		setFlag = true;
	}

	entry_form.elements[seriesName + "[]"].checked = setFlag;

	for(x = 0;x < entry_form.elements[seriesName + "[]"].length; x++){
		entry_form.elements[seriesName + "[]"][x].checked = setFlag;
	}
}

function statusSetter(str) {
   window.defaultStatus = str;
   window.status = str;
}

function pop(url, name, w, h, rs, sb, mn, st, oth) {
var resize = ((rs) ? "resizable="+rs+"," : "");
var scroll = ((sb) ? "scrollbars="+sb+"," : "");
var menu = ((mn) ? "toolbar="+mn+",location="+mn+",menubar="+mn+"," : "");
var sts = ((st) ? "status="+st+"," : "");

     var popupWin = window.open(url, name, resize + scroll + menu + sts + "width=" + w + ",height=" + h + " " + oth);
     if (document.layers) {
          popupWin.focus();
     }
}

function submitEnter(myfield,e){
	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return true;

	if (keycode == 13)
	   {
	   myfield.form.submit();
	   return false;
	   }
	else
	   return true;
}

function submitForm(theform, theaction){

	theform.action = theaction;
	theform.submit();
}

function deleteForm(theform, theaction, allShow){
	var item_selected = 0;

	if(theform.elements[allShow + "_id[]"].checked == true){
		item_selected = 1;
	}

	for(x = 0;x < theform.elements[allShow + "_id[]"].length; x++){
		if(theform.elements[allShow + "_id[]"][x].checked == true){
			item_selected = 1;
			break;
		};
	}

	if(item_selected == 1){
		if(confirm("Do you really want to delete selected entries?")){
			theform.action = theaction;
			theform.submit();
		}
	}else{
		alert("Please select entries you want to delete.");
	}
}

function formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
		num = "0";

	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();

	if(cents<10)
		cents = "0" + cents;

	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3));

	return (((sign)?'':'-') + '$' + num + '.' + cents);
}