var buttonClicked ;
var colleague = 2;

function initialize(){
	var ac = document.getElementById("addcolleague");
	if( ac ){ CMNaddEvent(ac, 'click', addColleague); }
	
	var sb = document.getElementById("subscribe_submit");
	if( sb ){ CMNaddEvent(sb, 'click', buttonClick ); }
	var sb = document.getElementById("taf_submit");
	if( sb ){ CMNaddEvent(sb, 'click', buttonClick ); }

	
	var fm = document.getElementsByTagName("form")[0];
	if( fm ){ CMNaddEvent(fm, 'submit', validateForm); }
	
	var pv = document.getElementById("privacy");
	if( pv ){ CMNaddEvent(pv, 'click', showPrivacy);}
	
	}
	
function showPrivacy(ev){
	onw('/?pg=privacy','Privacy Policy',365,500); 
	if (ev && ev.preventDefault) { ev.preventDefault(); } // DOM style
	return false;
	}

function onw( u, t, w, h ) { // OpenNewWindow(  url, title, width, height)
	window.open(
		u,
		t,
		"toolbar=no," +
			"location=no," +
			"directories=no," +
			"status=no," + 
			"menubar=no," +
			"scrollbars=yes," + 
			"resizable=yes," +
			"copyhistory=no," +
		"width=" + w + "," +
		"height=" + h 
		); 
	return false;
	}	
	
function validateForm(ev){
	var llRV = true;

	if( buttonClicked ){ /* this object is set */
	
		switch( buttonClicked.name ) {
			case "subscribe_submit" :
			
				var cbs = document.getElementsByTagName("input"); var lnI=0; var found=false;
				while( lnI < cbs.length && !found ){ found = (cbs[lnI].type=="checkbox" && cbs[lnI].checked); lnI++; }
				llRV = found;
				if(!found){ alert( "You must check at least one e-zine to begin your subscription" ); }
				
				if( llRV ){ var obj = document.getElementById("your_email");
					if( obj && obj.value.replace(/\s/g,"")=="" ){ llRV = false; alert("Your email address is required"); }
					if (llRV && obj && (obj.value.indexOf("@") < 0 || obj.value.indexOf(".") < 0 ) ) { llRV = false; alert("Invalid email address"); }
					}
				if( llRV ){	var obj = document.getElementById("your_name");
					if( obj && obj.value.replace(/\s/g)=="" ){ llRV = false; alert("Your name is required"); }
					}
					
				/* some kind of error with an object, focus that object */	
				if( llRV==false && obj ){ obj.focus(); }
					
				break;
			case "taf_submit" :
				var cbs = document.getElementsByTagName("input"); var lnI=0; var found=false;
				while( lnI < cbs.length && !found ){ found = (cbs[lnI].type=="checkbox" && cbs[lnI].checked); lnI++; }
				llRV = found;
				if(!found){ alert( "You must check at least one e-zine to begin your subscription" ); }
				
				if( llRV ){ var obj = document.getElementById("your_email");
					if( obj && obj.value.replace(/\s/g,"")=="" ){ llRV = false; alert("Your email address is required"); }
					if (llRV && obj && (obj.value.indexOf("@") < 0 || obj.value.indexOf(".") < 0 ) ) { llRV = false; alert("Invalid email address"); }
					}
				if( llRV ){	var obj = document.getElementById("your_name");
					if( obj && obj.value.replace(/\s/g)=="" ){ llRV = false; alert("Your name is required"); }
					}
		
				var lnI = 1;
				while( llRV && lnI < colleague ){
					if( llRV ){	var obj = document.getElementById("their_email" + ( (lnI==1)?"":lnI )  );
						if( obj && obj.value.replace(/\s/g,"")!="" && (obj.value.indexOf("@") < 0 || obj.value.indexOf(".") < 0 ) ){ llRV = false; alert("Invalid email address"); }
						}
					lnI++;
					}
					
				/* some kind of error with an object, focus that object */	
				if( llRV==false && obj ){ obj.focus(); }
			}
	
		buttonClicked = false; /* reset button clicked so "more" link will work again */
		if (ev && ev.preventDefault && llRV==false) { ev.preventDefault(); } // DOM style

		return llRV;
		}
		
	return llRV;
	}
	
function buttonClick(ev){
	var ev = (ev) ? ev : window.event;
	buttonClicked = (ev.target) ? ev.target : ev.srcElement;
	}
	
function addColleague(){
	var src = document.getElementById("subscribe").getElementsByTagName("fieldset")[0];
	var cpy = src.cloneNode(true);
	var ci = cpy.getElementsByTagName("input");
	for( var lnI = 0; lnI < ci.length; lnI++ ){
		if( ci[lnI].id ){ ci[lnI].id += colleague; }
		if( ci[lnI].name ){ ci[lnI].name += colleague; }
		if( ci[lnI].value ){ ci[lnI].value = ""; }
		}
	var adc = document.getElementById("addcolleague");
	adc.parentNode.insertBefore( cpy, adc );
	document.getElementById("their_email"+colleague).focus();
	colleague++;
	}
	
function CMNaddEvent(obj, evType, fn){ 
	if (obj.addEventListener){ 
		obj.addEventListener(evType, fn, false); 
		return true; 
	} else if (obj.attachEvent){ 
		var r = obj.attachEvent("on"+evType, fn); 
		return r; 
	} else { 
		return false; 
	} 
}	

CMNaddEvent(window, 'load', initialize);	