function getelement(divname){
	if (document.getElementById(divname)) { // DOM3 = IE5, NS6 
		return document.getElementById(divname);
	} else { 
		if (document.layers) { // Netscape 4 
			return document[divname];
		} else { // IE 4 
			return document.all[divname];
		}
	}
}
function getdiv(divname,what,which){
	var where = getelement(divname);
	if(which==''){
		return where[what];
	}else{
		return where[what][which];
	}
}
function commanddiv(divname,what,which,how){
	var where = getelement(divname);
	if(which==''){
		where[what] = how;
	}else{
		where[what][which] = how;
	}
}

function togglediv(divname,what,which,how1,how2){
	var where = getelement(divname);
	if(which==''){
		where[what] = swapdata(where[what],how1,how2);
	}else{
		where[what][which] = swapdata(where[what][which],how1,how2);
	}
}

function showdiv(divname) {
	commanddiv(divname,'style','display','block');
}
function hidediv(divname) { 
	commanddiv(divname,'style','display','none');
}

function swapdata(datin,how1,how2){
	if(datin==how1){
		return how2;
	}else{
		return how1;
	}
}


function togglevisibility(divname){
	togglediv(divname,'style','display','block','none');
}

function divtext(divname,text) {
	commanddiv(divname,'innerHTML','',text);
	if(text==''){
		hidediv(divname);	
	}else{

		showdiv(divname);
	}
}
function post_to_url(path, params, target) {
	if(target==""){var target = "_self";}
	var method="post";
    var tempform = document.createElement("form"); 
    tempform.setAttribute("method", "post"); 
    tempform.setAttribute("action", path); 
    tempform.setAttribute("target", target); 
 
    for(var key in params) { 
        var hiddenField = document.createElement("input"); 
        hiddenField.setAttribute("type", "hidden"); 
        hiddenField.setAttribute("name", key); 
        hiddenField.setAttribute("value", params[key]); 
 
        tempform.appendChild(hiddenField); 
    }
	document.body.appendChild(tempform);
    tempform.submit();
}
function show_popup(which){
	var display = getdiv(which,'style','display');
	if(display == "none"){
		showdiv("popupbg");
		showdiv(which);
		window.scroll(0,0);
	}
}
function cancel_popup(which){
	hidediv("popupbg");
	hidediv(which);
	//return false;
}








function clearForms(){
  var i;
  for (i = 0; (i < document.forms.length); i++) {
    document.forms[i].reset();
  }
}
function geturlvars(){
	var vars = [], hash;
	var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
	
	for(var i = 0; i < hashes.length; i++){
		hash = hashes[i].split('=');
		vars.push(hash[0]);
		vars[hash[0]] = hash[1];
	}
	if(window.location.href.indexOf('?')==-1){
		return '';
	}else{
		return vars;
	}
	
}
function openwindow(where){
	//myRef = window.open(''+where,'mywin','left=20,top=20,width=500,height=500,toolbar=1,resizable=0');
	//myRef = window.open(''+where,'mywin');
	params = new Array();
	params["confirmationcode"] = comcode;
	post_to_url(where,params,"_blank");
}

function in_array(arr, obj){
  for(var i = 0; i < arr.length; i++) {
    if(arr[i] === obj){
      return true;
    }
  }
  return false;
}

function input_character_filter(ev,str,how){
	var keyv = window.event ? ev.keyCode : ev.which;
	var keychar = String.fromCharCode(keyv);
	var non = /[^ 0-9a-zA-Z!@#$%^&*()-+=_|?<>.,'";:\/\\\[\]{}~`]/;
	
	//alert(keychar);
	
	// ^_`-[]\  these chars make it through
	
	if(non.test(keychar)){
		return true;
	}
	if(how==1){
		var reg = RegExp("[^"+str+"]");
	}else{
		var reg = RegExp("["+str+"]");
	}
	//var reg = /[ a-zA-Z!@#$%^&*()-+=_|?<>.,'";:\/\\\[\]{}~`]/;
	return !reg.test(keychar);
}
function input_numbers_only(ev){
	return input_character_filter(ev," 0-9",1)
}
function input_letters_only(ev){
	return input_character_filter(ev," A-Za-z",1)
}
function input_no_punctuation(ev){
	return input_character_filter(ev," 0-9A-Za-z",1)
}
function input_canon_filter(ev){
	return input_character_filter(ev," 0-9a-z ",1)
}
function input_address_filter(ev){
	return input_character_filter(ev," 0-9A-Za-z,.'\"_()#",1)
}
function input_phone_filter(ev){
	return input_character_filter(ev," 0-9()",1)
}
function input_safe_chars(ev){
	return input_character_filter(ev," 0-9A-Za-z',._()#~!@$%*=+{}:/<>",1)
}
function input_login_chars(ev){
	return input_character_filter(ev," 0-9A-Za-z,._()#~!@$%*=+{}",1)
}
function input_url_filter(ev){
	return input_character_filter(ev," 0-9A-Za-z._#~!@%=+?",1)
}
function input_email_chars(ev){
	return input_character_filter(ev,"0-9A-Za-z._@",1)
}
function input_email_list(ev){
	return input_character_filter(ev,"0-9A-Za-z._@,",1)
}
function input_basic_chars(ev){
	return input_character_filter(ev," 0-9A-Za-z._@!,?'=+#$%",1)
}
function format_money(trailer,number,decs){
	var format = trailer;
	var number = number.replace(/,/g,"");
	var numarr = number.split(".");
	var numtxt = numarr[0];
	var nums = numtxt.length;
	var newnumb = "";
	var chunks = 0;
	for(ss=(nums-1);ss>=0;ss--){
		var chunk = numtxt.substr(ss,1);
		newnumb += chunk;
		chunks += 1;
		if(chunks == 3 && ss>0){
			chunks = 0;
			newnumb += ",";
		}
	}
	var newnum = "";
	for(ss=(newnumb.length-1);ss>=0;ss--){
		var chunk = newnumb.substr(ss,1);
		newnum += chunk;
	}
	format += newnum;
	if(decs>0 && numarra.length>1){
		var dec = numarr[1]
		format += "."+dec.substr(0,decs);
	}
	return format; 
}
function input_money_format(obj){
		document.forms[obj.form.name].elements[obj.name].value = format_money('',obj.value,0);
}

function toggle_checkbox(oid) {
	var obj = document.getElementById(oid);
	obj.checked = !obj.checked;
}

function ClearAdditionalRecipients(){
	/*var to = document.getElementById('AddEmailTo');
	var cc = document.getElementById('AddEmailCC');*/
	var bcc = document.getElementById('AddEmailBCC');	
	/*to.value = "";
	cc.value = "";*/
	bcc.value = "";
}
