/**

*	Overlay Fade

*	

*	by Peter Welch

*	peter@beepix.com

*

*	Inspired by and adapted from Lightbox

*

*	code released under MIT style license (http://www.opensource.org/licenses/mit-license.php)

*

*	requires prototype and prototype.ext

*

**/

Object.extend(Element, {

	getWidth: function(element) {

	   	element = $(element);

	   	return element.offsetWidth; 

	},

	setWidth: function(element,w) {

	   	element = $(element);

    	element.style.width = w +"px";

	},

	setHeight: function(element,h) {

   		element = $(element);

    	element.style.height = h +"px";

	},

	setTop: function(element,t) {

	   	element = $(element);

    	element.style.top = t +"px";

	},

	setSrc: function(element,src) {

    	element = $(element);

    	element.src = src; 

	},

	setHref: function(element,href) {

    	element = $(element);

    	element.href = href; 

	},

	setInnerHTML: function(element,content) {

		element = $(element);

		element.innerHTML = content;

	}

});



var Formit = Class.create();

Formit.prototype = {

	initialize:function(hash) {

		

	},

	wrapper:function(content, warnOptOut) {

		base = document.createElement("div");

		labl = document.createElement("label");

		warn = document.createElement("span");

		base.className = "formSegment";

		warn.className = "form_warn";

		base.appendChild(labl);

		base.appendChild(content);

		if(!warnOptOut) base.appendChild(warn);

		return base;

	}

}



var ns = (navigator.appName.indexOf("Netscape") != -1);



var OverFade = Class.create();

OverFade.prototype = {

	idPass:"",

	initialize: function() {

		var objBody = document.getElementsByTagName("body").item(0);

		

		var objShell = document.createElement("div");

		objShell.setAttribute('id','overfade');

		objShell.style.display = 'none';

		Element.setStyle(objShell,

		{

			'position': 'absolute',

			'top':'0',

			'left':' 0',

			'z-index':'90',

			'width':'100%',

			'height':'560px',

			'background-color':'#000',

			'filter':'alpha(opacity=60)',

			'-moz-opacity':'0.6',

			'opacity':'0.6'

		});

		objShell.onclick = function() { EmailBox.end(); return false; }

		objBody.appendChild(objShell);

			

		var objFormShell = document.createElement("div");

		objFormShell.setAttribute('id','of_interior');

		objFormShell.style.display = 'none';

		Element.setStyle(objFormShell,

		{

			'position':'absolute',

			'top':'40px',

			'margin':'0 auto',

			'width':'100%',

			'height':'460px',

			'z-index':'100',

			'text-align':'center',

			'line-height':'0'

		});

		

		

		var objEform = document.createElement("div");

		objEform.setAttribute('id','globalMailForm');

		Element.setStyle(objEform,

		{

			'background':'#fff',

			'display':'block',

			'border':'10px solid #999',

			'position':'relative',

			'margin':'0 auto',

			'padding':'10px',

			'width':'500px',

			'height':'auto',

			'z-index':'100',

			'text-align':'left',

			'line-height':'1.5em'

		});

	

		objFormShell.appendChild(objEform);

		objBody.appendChild(objFormShell);

		if($("deanMessageLink")) $("deanMessageLink").href = "#nogo";



	},

	start:function(subj, body, reci) {

		if(!ns) {

			var hideDrops = $$("select");

			for(iter=0;iter<hideDrops.length;iter++) {

				hideDrops[iter].style.visibility = "hidden";

			}

		}

		//console.log("pass = " + this.idPass);

		var arrayPageSize = getPageSize();

		var arrayPageScroll = getPageScroll();

		$("globalMailForm").innerHTML = "";







		

		if (reci.indexOf("inputTag") > -1) {

			

			var url = reci.substring(reci.indexOf("inputTag") + 9);

			rExp = /%3A%2F%2F/gi;



			url = url.replace(rExp, "://")



			

			$("globalMailForm").innerHTML = 

			'<a class="closer" href="javascript:EmailBox.end();">Close</a>'+

			'<form id="formed" action="#" method="post">'+

				'<div class="formSegment">'+

					'<label>Your Name</label>'+

					'<input type="text" class="txt" name="senderName" value="" />'+

					'<div id="senderName" class="form_warn">&nbsp;</div>'+

				'</div>'+

				'<div class="formSegment">'+

					'<label>Your Email</label>'+

					'<input type="text" class="txt" name="senderEmail" value="" />'+

					'<div id="senderEmail" class="form_warn">&nbsp;</div>'+

				'</div>'+

		       	'<div class="formSegment">'+

					'<label>Recipient</label>'+

					'<input type="text" class="txt" name="recieverEmail" value=""/>'+

				'</div>'+

				'<div class="formSegment">'+

					'<label>Subject</label>'+

					'<input type="text" class="txt" name="subject" value="Something You Should See at UD" />'+

					'<div id="subject" class="form_warn">&nbsp;</div>'+

				'</div>'+

				'<div class="formSegment textarea">'+

					'<label>Message</label>'+

					'<textarea name="senderNote">'+

					'Hello!  Here\'s a link to something you might find interesting at the University of Dayton.  Take a moment to take a look...thanks! '+

					url+

					'</textarea>'+

					'<div id="senderNote" class="form_warn">&nbsp;</div>'+

				'</div>'+

				'<div id="responseText" style="display:none"></div>'+

				'<input type="button" value="Send" class="submit" name="submit" onclick="validate()" />'+

			'</form>'

			;

		} else if(reci.indexOf("A") == -1) {



			var SnagJax = {

				success:function(output,response){

					$("globalMailForm").innerHTML = "<a class='closer' href='javascript:EmailBox.end();'>Close</a><div class='rte-content'>"+output+"</div>";

					var arrayPageSize = getPageSize();

					Element.setHeight('overfade', arrayPageSize[1]);

				}

			}

			$AX({},reci,SnagJax);

		} else {

			$("globalMailForm").innerHTML = 

			'<a class="closer" href="javascript:EmailBox.end();">Close</a>'+

			'<form id="formed" action="#" method="post">'+

				'<div class="formSegment">'+

					'<label>Your Name</label>'+

					'<input type="text" class="txt" name="senderName" value="" tabindex="1"/>'+

					'<div id="senderName" class="form_warn">&nbsp;</div>'+

				'</div>'+

				'<div class="formSegment">'+

					'<label>Your Email</label>'+

					'<input type="text" class="txt" name="senderEmail" value="" tabindex="2"/>'+

					'<div id="senderEmail" class="form_warn">&nbsp;</div>'+

				'</div>'+

		        '<div class="formSegment">'+

		        	'<label>Affiliation with UD (Check all that apply)</label>'+

			        '<div class="checkboxes">'+

	
	
	
		
		
		
		'<div><input type="checkbox" class="checkbox" name="affiliation1" value="Parents"/>Parents</div>'+

	
		
		
		
		'<div><input type="checkbox" class="checkbox" name="affiliation2" value="Future UD Student"/>Future UD Student</div>'+

	
		
		
		
		'<div><input type="checkbox" class="checkbox" name="affiliation3" value="Faculty & Staff"/>Faculty & Staff</div>'+

	
		
		
		
		'<div><input type="checkbox" class="checkbox" name="affiliation4" value="Current UD Student"/>Current UD Student</div>'+

	
		
		
		
		'<div><input type="checkbox" class="checkbox" name="affiliation5" value="Alumni"/>Alumni</div>'+

	
	
	'<div class="clear"><input type="checkbox" class="checkbox" name="affiliation6" value="Other" />Other: '+

	
	'<input type="text" id="otherText" name="affiliation7"/></div>'+



					'</div>'+

		        '</div>'+

		       	'<div class="formSegment">'+

				'<p>'+ 
 '<label class="spec">Recipient</label>'+
					'<input type="hidden" name="recieverEmail" value=""/>'+

'<span id="showEmail" class="recipientDisplay"></span>'+

				'</p>'+

				'</div>'+

				'<div class="formSegment">'+

					'<label>Subject</label>'+

					'<input type="text" class="txt" name="subject" value="" tabindex="3" />'+

					'<div id="subject" class="form_warn">&nbsp;</div>'+

				'</div>'+

				'<div class="formSegment textarea">'+

					'<label>Message</label>'+

					'<textarea name="senderNote" tabindex="4"></textarea>'+

					'<div id="senderNote" class="form_warn">&nbsp;</div>'+

				'</div>'+

				'<div id="responseText" style="display:none"></div>'+

				'<input type="button" value="Send" class="submit" tabindex="5" name="submit" onclick="validate()" />'+

			'</form>';

			

			var FORM = $('formed');

			

			FORM.recieverEmail.value = this.idPass;



// BEGIN kordikaj 200802061514 Protege moi email



reci = unescape(dF(reci));




			$("showEmail").innerHTML = reci.substring(reci.indexOf("|")+1);

reci = reci.substring(0,reci.indexOf("|"));


// END kordikaj 200802061514



		} 

		Element.setHeight('overfade', arrayPageSize[1]);

		new Effect.Appear('overfade', { duration: 0.2, from: 0.0, to: 0.8 });

		

		var fadeboxTop = arrayPageScroll[1] + (arrayPageSize[3] / 15);

		

		Element.setTop('of_interior', fadeboxTop);

		Element.show('of_interior');

		

	},



	end: function() {

		Element.hide('of_interior');

		if($('responseText')) $('responseText').style.display = "none";

		new Effect.Fade('overfade', { duration: 0.2});

		if(!ns) {

			var hideDrops = $$("select");

			for(iter=0;iter<hideDrops.length;iter++) {

				hideDrops[iter].style.visibility = "visible";

			}

		}

	}

}



/* Utility functions */





function dF(s){

var s1=unescape(s.substr(0,s.length-1)); var t='';

for(i=0;i<s1.length;i++)t+=String.fromCharCode(s1.charCodeAt(i)-s.substr(s.length-1,1));

return unescape(t);

}



function eF(s){

s=escape(s);

var ta=new Array();

for(i=0;i<s.length;i++)ta[i]=s.charCodeAt(i)+1;

return ""+escape(eval("String.fromCharCode("+ta+")"))+1;

}





//

// getPageScroll()

// Returns array with x,y page scroll values.

// Core code from - quirksmode.org

//



function getPageScroll(){



	var yScroll;



	if (self.pageYOffset) {

		yScroll = self.pageYOffset;

	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict

		yScroll = document.documentElement.scrollTop;

	} else if (document.body) {// all other Explorers

		yScroll = document.body.scrollTop;

	}



	arrayPageScroll = new Array('',yScroll) 

	return arrayPageScroll;

}



//

// getPageSize()

// Returns array with page width, height and window width, height

// Core code from - quirksmode.org

// Edit for Firefox by pHaez

//



var FormSend = {

	collect:function() {

		this.FORM = $('formed');

		this.RESP = $('responseText');

	},

    success:function(output, response) {

		if(output.indexOf("Error") > -1) {

			this.failure();

		} else {

			this.collect();

			Form.reset(this.FORM);

			Form.enable(this.FORM);

			if(ns) {

				this.RESP.addClassName("success");

			} else {

				this.RESP.style.background = "green";

			}

			

			

			this.RESP.innerHTML = "Your message has been sent. Thank you for your correspondence.";

			this.RESP.style.display = "block";

		}

    },

    loading:function() {

		this.collect();

		Form.disable(this.FORM);

    },

    failure:function(output, response) {

		Form.enable(this.FORM);

		if(ns) {

			this.RESP.addClassName("failure");

		} else {

			this.RESP.style.background = "red";

		}

		this.RESP.innerHTML = "There was a technical problem.  Please try again later.";

		this.RESP.style.display = "block";

    }

}



function validate(){

	var FORM = $('formed');

	var se = FORM.senderEmail.value.strip();

	var sn = FORM.senderName.value.strip();

	var so = FORM.senderNote.value.strip();

	var su = FORM.subject.value.strip();

	var re = FORM.recieverEmail.value.strip();

	var ot = $("otherText").value.strip();



	var af = new Array();

	

	var chks = Form.getInputs(FORM, "checkbox");

	chks.each(function(chk){

		if(chk.checked == true) af.push(chk.value);

	});

	

	if(ot.length > 0) af.push(ot);

	

	if(af.length > 0) af = af.toString(); else af = "Unaffiliated";

	

	url = "/System_Pages/MailProcessor/";



	var emerr = true;



	if(se.match(/^[0-9a-z\._]+@[0-9a-z]+\..+$/i)) {

		emerr = false;

	}

	

	if(se && sn && so && su && !emerr) {



			$("senderName").parentNode.childNodes[2].innerHTML = "&nbsp;";

			$("senderEmail").parentNode.childNodes[2].innerHTML = "&nbsp;";

			$("senderNote").parentNode.childNodes[2].innerHTML = "&nbsp;";

			$("subject").parentNode.childNodes[2].innerHTML = "&nbsp;";



    	   $AX({email:se,name:sn,note:so,subject:su,recipient:re,affiliations:af}, url, FormSend);



	} else {

	

	//.parentNode.childNodes[2].innerHTML used to workaround IE bug



		if(emerr) {

			$("senderEmail").parentNode.childNodes[2].innerHTML = "Please enter a valid email";

		} else {

			$("senderEmail").parentNode.childNodes[2].innerHTML = "&nbsp;";

		}



		if(!sn) {$("senderName").parentNode.childNodes[2].innerHTML = "Please enter your name";} else {$("senderName").parentNode.childNodes[2].innerHTML = "&nbsp;";}



		if(!so) {$("senderNote").parentNode.childNodes[2].innerHTML = "Please enter a message";} else {$("senderNote").parentNode.childNodes[2].innerHTML = "&nbsp;";}



		if(!su) {$("subject").parentNode.childNodes[2].innerHTML = "Please enter a subject";} else {$("subject").parentNode.childNodes[2].innerHTML = "&nbsp;";}



	}

	

}





function getPageSize(){

	

	var xScroll, yScroll;

	

	if (window.innerHeight && window.scrollMaxY) {	

		xScroll = document.body.scrollWidth;

		yScroll = window.innerHeight + window.scrollMaxY;

	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac

		xScroll = document.body.scrollWidth;

		yScroll = document.body.scrollHeight;

	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari

		xScroll = document.body.offsetWidth;

		yScroll = document.body.offsetHeight;

	}

	

	var windowWidth, windowHeight;

	if (self.innerHeight) {	// all except Explorer

		windowWidth = self.innerWidth;

		windowHeight = self.innerHeight;

	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode

		windowWidth = document.documentElement.clientWidth;

		windowHeight = document.documentElement.clientHeight;

	} else if (document.body) { // other Explorers

		windowWidth = document.body.clientWidth;

		windowHeight = document.body.clientHeight;

	}	

	

	// for small pages with total height less then height of the viewport

	if(yScroll < windowHeight){

		pageHeight = windowHeight;

	} else {

		pageHeight = yScroll;

	}



	// for small pages with total width less then width of the viewport

	if(xScroll < windowWidth){	

		pageWidth = windowWidth;

	} else {

		pageWidth = xScroll;

	}

	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 

	return arrayPageSize;

}



var idSnag;



function $ACTION(objs) {

	var fullset = $$(objs);

	fullset.each(function(obj){

		if(obj.href.indexOf("mailto:") != 0){

			obj.state = obj.href;

			obj.href = "#nogo";	

			Event.observe(obj, "click", function(event){emailLinkActions(obj,event);}, false);

		}

	});

}



var emailLinkActions = function(o,e) {

	var base = "";

	base = (ns ? o : e.srcElement);

			

	var varset = base.state;



	var subj = "";

	var body = "";

	var attachit = "";

	

//CWSBUSINESS-17 FIX

if(base.rel == null) {



return false;

}



	if(base.rel.indexOf("A")==-1) attachit = $("deanMessageLink").rel;



	else if(base.rel == "inputTag" || base.rel.indexOf("A") > -1) {

		subj = (varset.match(/subject/) ? varset.match(/subject=([^&]*)/)[1] : "");

		body = (varset.match(/body/) ? varset.match(/body=([^&]*)/)[1] : "");

		attachit = base.rel;

		idSnag = base.state.match(/contentId=([^&]*)/)[1];

		EmailBox.idPass = idSnag;

		//console.log("Snag = " + idSnag);

	} 

	reci = attachit;

	//base.href = "#nogo";



	EmailBox.start(subj,body,reci);



	return false;

}

/*

var emailLinkActions = Class.create();

emailLinkActions.prototype = {

	initialize:function() {},

	

	actionReference: new Array("click"),

	



	click: function(event) {

		var base = "";

		base = (ns ? this : event.srcElement);

				

		var varset = base.href;

	

		var subj = "";

		var body = "";

		var attachit = "";

		

		if(!base.rel) attachit = $("deanMessageLink").rel;



		else if(base.rel == "inputTag" || base.rel.indexOf("A") > -1) {

			subj = (varset.match(/subject/) ? varset.match(/subject=([^&]*)/)[1] : "");

			body = (varset.match(/body/) ? varset.match(/body=([^&]*)/)[1] : "");

			attachit = base.rel;

			idSnag = base.href.match(/contentId=([^&]*)/)[1];

			EmailBox.idPass = idSnag;

			//console.log("Snag = " + idSnag);

		} 

		reci = attachit;

		//base.href = "#nogo";



		EmailBox.start(subj,body,reci);

		return false;



	}

};

*/

var EmailBox;

function overfade_init() {

	$ACTION("a.popBox");

	$ACTION("a.email");

	//$ACTION("a.pageActionEmail", emailLinkActions);

	EmailBox = new OverFade();

}



version=0

if (navigator.appVersion.indexOf("MSIE")!=-1){

temp=navigator.appVersion.split("MSIE")

version=parseFloat(temp[1])

}



if (version >= 6 || version == 0){ //NON IE browser will return 0

Event.observe(window, "load", overfade_init, false);

}


