// JavaScript Document

function MAGevListener(obj,evt,fn,cpt) {
	if(!cpt) {
		cpt = false;
	}
	if(obj.addEventListener) {
		obj.addEventListener(evt,fn,cpt);
		eCache.add(obj,evt,fn);
	}
	else if(obj.attachEvent) {
		obj["e"+evt+fn] = fn;
		obj[evt+fn] = function() { obj["e"+evt+fn]( window.event ); }
		obj.attachEvent("on"+evt,obj[evt+fn] );
		eCache.add(obj,evt,fn);
	}
	else {
		obj["on"+evt] = obj["e"+evt+fn];
	}
}
var eCache = function(){
	var eList = [];
	return {
		listEvents : eList,

		add : function(node,sEventName,fHandler){
			eList.push(arguments);
		},

		flush : function(){
			var i, item;
			for(i=eList.length - 1; i>=0; i=i-1){
				item = eList[i];
				if(item[0].removeEventListener){
					item[0].removeEventListener(item[1], item[2], item[3]);
				};
				if(item[1].substring(0, 2) != "on"){
					item[1] = "on" + item[1];
				};
				if(item[0].detachEvent){
					item[0].detachEvent(item[1], item[2]);
				};
				item[0][item[1]] = null;
			};
		}
	};
}();
MAGevListener(window,'unload',eCache.flush);

function fade(eid,TimeToFade)
{
  var element = document.getElementById(eid);
	element.TimeToFade = TimeToFade;
  if(element == null)
    return;
   
  if(element.FadeState == null)
  {
    if(MAGgetStyle(element,'opacity') == null 
        || MAGgetStyle(element,'opacity') == '' 
        || MAGgetStyle(element,'opacity') == '1')
    {
      element.FadeState = 2;
    }
    else
    {
      element.FadeState = -2;
    }
  }
    
  if(element.FadeState == 1 || element.FadeState == -1)
  {
    element.FadeState = element.FadeState == 1 ? -1 : 1;
    element.FadeTimeLeft = element.TimeToFade - element.FadeTimeLeft;
  }
  else
  {
    element.FadeState = element.FadeState == 2 ? -1 : 1;
    element.FadeTimeLeft = element.TimeToFade;
    setTimeout("animateFade(" + new Date().getTime() + ",'" + eid + "')", 33);
  }  
}

function animateFade(lastTick,eid)
{  
  var curTick = new Date().getTime();
  var elapsedTicks = curTick - lastTick;
  
  var element = document.getElementById(eid);
 
  if(element.FadeTimeLeft <= elapsedTicks)
  {
    element.style.opacity = element.FadeState == 1 ? '1' : '0';
    element.style.filter = 'alpha(opacity = ' 
        + (element.FadeState == 1 ? '100' : '0') + ')';
    element.FadeState = element.FadeState == 1 ? 2 : -2;
    return;
  }

  element.FadeTimeLeft -= elapsedTicks;
  var newOpVal = element.FadeTimeLeft/element.TimeToFade;
  if(element.FadeState == 1)
    newOpVal = 1 - newOpVal;

  element.style.opacity = newOpVal;
  element.style.filter = 'alpha(opacity = ' + (newOpVal*100) + ')';
  
  setTimeout("animateFade(" + curTick + ",'" + eid + "')", 33);
}

function MAGrandNum(h,l,type) {
	var randNum;
	var h=h*1,l=l*1;
	if(!h) { throw "'h' must be set in function MAGrandNum."; return; }
	if(!l) { l=0; }
	if(!type) { type = "float"}
	switch(type) {
		case "int":
			randNum = Math.floor(l + (1+h-l)*Math.random());
			break;
		default:
			randNum = l + (h-l)*Math.random();
	}
	return randNum;
}
function MAGgetStyle(obj,prop) {
	if (obj.currentStyle)
		var y = obj.currentStyle[prop];
	else if (window.getComputedStyle)
		var y = document.defaultView.getComputedStyle(obj,null).getPropertyValue(prop);
	return y;
}

var thoughtArr1 = new Array("am I pregnant?","I had plans.","what should I do?","I can't tell anyone.","who can help me?","who can I talk to?","can I finish school?","am I really pregnant?");
var thoughtArr2 = new Array("how can I<br />get through this?","what are the risks with abortion?","I would like to talk with someone.","where can I get a free pregnancy test?","I could be<br />pregnant?");

function MAGthoughtBubbles(eid,arr) {
	var vis = MAGrandNum(7,3)*1000;
	var hid = MAGrandNum(4,1)*1000;
	var len = MAGrandNum(1,.5)*1000;
	//alert("EID:"+eid+"\nArr"+arr+"\nVis:"+vis+"\nHid:"+hid+"\nLen:"+len);
	var bubble = document.getElementById(eid);
	var phraseSelector = Math.floor(Math.random()*arr.length);
	for(i=0;i<1;) {
		if(arr.length > 1 && phraseSelector == bubble.position) {
			phraseSelector = Math.floor(Math.random()*arr.length);
		}
		else {
			i++
		}
	}
	bubble.position = phraseSelector;
	bubble.innerHTML = arr[phraseSelector];
	fade(eid,len);
	var fade2 = function() { fade(eid,len); };
	var nextThought = function() { MAGthoughtBubbles(eid,arr); };
	setTimeout(fade2,vis+len);
	setTimeout(nextThought,hid+vis+len);
}

MAGevListener(window,'load',function(e) {
	var qSelectors = document.getElementsByName('qSelector');
	for(i=0;i<qSelectors.length;i++) {
		if(qSelectors[i].checked) {
			document.getElementById("qSelHeader").innerHTML = qSelectors[i].value;
			switch(i) {
				case 0:
					document.getElementById("qFields1").style.display = "block";
					document.getElementById("qFields2").style.display = "none";
					document.getElementById("qFields3").style.display = "none";
					break;
				case 1:
					document.getElementById("qFields1").style.display = "none";
					document.getElementById("qFields2").style.display = "block";
					document.getElementById("qFields3").style.display = "none";
					break;
				case 2:
					document.getElementById("qFields1").style.display = "none";
					document.getElementById("qFields2").style.display = "none";
					document.getElementById("qFields3").style.display = "block";
					break;
			}
			document.getElementById("questionsFields").style.display = "block";
		}
		MAGevListener(qSelectors[i],'click',function(e) {
			document.getElementById("qSelHeader").innerHTML = this.value;
			switch(this.value) {
				case "Call":
					document.getElementById("qFields1").style.display = "block";
					document.getElementById("qFields2").style.display = "none";
					document.getElementById("qFields3").style.display = "none";
					break;
				case "Email":
					document.getElementById("qFields1").style.display = "none";
					document.getElementById("qFields2").style.display = "block";
					document.getElementById("qFields3").style.display = "none";
					break;
				case "Text":
					document.getElementById("qFields1").style.display = "none";
					document.getElementById("qFields2").style.display = "none";
					document.getElementById("qFields3").style.display = "block";
					break;
			}
			document.getElementById("questionsFields").style.display = "block";
			//alert(this.value);
		});
	}
	
	setTimeout("MAGthoughtBubbles('thoughtBubble1',thoughtArr1)",2000);
	setTimeout("MAGthoughtBubbles('thoughtBubble2',thoughtArr2)",5000);
	

});
