/*
 * loginForm.js
 * http://www.aha.org
 *
 * @projectDescription OAM login form js
 * @author Rey Echevarria rechevarria@aha.org
 * @copyright American Hospital Association
 * @version 1.0
 * @updated 2008-11-18
*/

/* ****************************** *
 * Initialization
 * ------------------------------ */

ADS.addEvent(window, 'load', initDynElements);
ADS.addEvent(window, 'load', initForm);
ADS.addEvent(window, 'load', initCollapsed);
ADS.addEvent(window, 'load', initAddtlInfo);

/* End Initialization 
 * ------------------------------ */
 
/* ****************************** *
 *	Utility Functions 
 * ------------------------------ */

function initDynElements() {
	//var sitedomain = getURLParam('ssodmn') || getDomain().toLowerCase();
	var sitedomain = '';
	var site = '';
		
	var gotoParam = getURLParam('goto');
	logMsg('initDynElemets: gotoParam='+gotoParam);
			
	if (getURLParam('ahasite') != null && getURLParam('ahasite') != '') {
		logMsg('initDynElemets: ahasite param exists');
		site = getURLParam('ahasite').toUpperCase();
		sitedomain = site.toLowerCase();
	}
	else if (gotoParam != null && gotoParam != '') {
		
		logMsg('initDynElemets: ahasite param does not exist');
		
		if (gotoParam.match(/ams\.aha\.org/) != null) {
			var ahabuParam = gotoParam.match(/ahabu=.+/i);
			if (ahabuParam != null && ahabuParam != ''){
				var ahabu = ahabuParam[0].replace(/ahabu=/,'');
				logMsg('initDynElements: ahabu='+ ahabu);
				sitedomain = ahabu;
			}
		}		
		else {//this assumes the goto is a portal page, non-ams	
			var gotoParamParts = gotoParam.split('.');
			sitedomain = gotoParamParts[1];
		}	
	}
	
	if (sitedomain == ''){
		sitedomain = 'aha';
	}
	
	site = sitedomain.toUpperCase();
	logMsg('initDynElements: site='+site);
		
	var frm = ADS.$('OAMloginform');
	if (frm) { 
		frm.action = 'http://sso.aha.org/opensso/UI/Login?ahasite='+site;
		el = ADS.$('goto');
		if (el) { 
			el.value = (gotoParam != '' && gotoParam != null)?gotoParam:'';	 
		}
	}
	
	logMsg('initDynElements: '+sitedomain+' links being set');
	var docroot = sitedomain;
	sitedomain = sitedomain.replace(/-/, '');
	var el = null;
	if (sitedomain == 'osso') {
		sitedomain = 'hospitalconnect';
		docroot = 'hospitalconnect';
	}
	if (sitedomain == 'ashe' || sitedomain == 'ashhra' || sitedomain == 'aone' || sitedomain == 'aha') {
		docroot = 'oam-'+docroot;
	}
	
	if (sitedomain in PORTAL) {
		logMsg('initDynElements: domain in PORTAL: setting links');
		
		var returnUrl = '';
		if (gotoParam != null && gotoParam != '') {
			returnUrl = encodeURIComponent(gotoParam);
		}
		else {
			returnUrl = 'http://www.'+PORTAL[sitedomain]+'/'+docroot+'/oam/welcome.html';
		}

		
		el = ADS.$('logoLink');
		if (el) { el.href = 'http://www.'+PORTAL[sitedomain]; }
		
		el = ADS.$('indivMsg');
		if (el) {
			if (sitedomain != 'aha') { 
				el.style.display = 'block';
			}
		}
		
		el = ADS.$('helpPageLink');
		if (el) { el.href = 'http://www.'+PORTAL[sitedomain]+'/'+docroot+'/oam/help.html'; }
		
		el = ADS.$('privacyPageLink');
		if (el) { el.href = 'http://www.'+PORTAL[sitedomain]+'/'+docroot+'/oam/privacy.html'; }
		
		el = ADS.$('contactPageLink');
		if (el) { el.href = 'http://www.'+PORTAL[sitedomain]+'/'+docroot+'/oam/contact_us.html'; }
			
		el = ADS.$('forgotPasswordLink');
		if (el) { el.href = OAMLINK.forgotPassword
			+ '?ahasite='+site
			+ '&goto=http://www.'+PORTAL[sitedomain]+'/'+docroot+'/oam/welcome.html'; }
				
		el = ADS.$('registerLink');
		if (el) { 
			el.href = OAMLINK.register+'&AHABU='+site+'&RedirectURL='+returnUrl; 
		}
		
		el = ADS.$('browserReqLink');
		if (el) { el.href = 'http://www.hospitalconnect.com/oam/error/browser_req.jsp?domain='+site; }
		
		el = ADS.$('loginLogoImg');
		if (el) { 
			el.src = 'http://i.aha.org/oam/images/logos/'+site+'.gif';	 
			el.alt = ADS.$('logoLink').href;
		}
		
		el = ADS.$('errorLogoImg');
		if (el) { 
			el.src = 'http://i.aha.org/oam/images/logos/'+site+'.gif';	 
			el.alt = ADS.$('logoLink').href;
		}
		
	}
}

function initForm() {
	var frm = ADS.$('OAMloginform');
	if (frm) {
		ADS.addEvent(frm['remember_me'], 'click', setRememberMe);
	}
}

function setRememberMe() {
	var frm = ADS.$('OAMloginform');
	if (frm['remember_me'].value == 'yes') {
		logMsg('validateForm: Remember Me Yes: setting field...');
		ADS.$('iPSPCookie').value = 'yes';
	}
	else {
		logMsg('validateForm: Remember Me No: setting field...');		
		ADS.$('iPSPCookie').value = 'no';
	}
	return;
}

/* End Utility Functions
 * ------------------------------ */
 
/* ****************************** *
 *	Sliding DIV Functions 
 * ------------------------------ */

function initCollapsed(){
var a = document.getElementsByTagName('div');
	for(var k=0;k<a.length;k++){
		if(a[k].className == 'collapsible'){
			var n = a[k].firstChild;
			while(n.nodeName.toLowerCase() != 'h1'){n = n.nextSibling;}
			a[k].tween = new Tween(a[k],"height",n.scrollHeight,a[k].scrollHeight,500,'px');
			a[k].style.height = n.scrollHeight+'px';
			n.onclick = function(){
				if(!this.parentNode.tween.playing){
					this.style.backgroundImage = "url("+(this.parentNode.tween.position == 0?"/oam/images/minus.gif":"/oam/images/plus.gif")+")";
					this.parentNode.tween.play();
				}
				
			}
		}
	}	
}

function initAddtlInfo(){
	if(document.getElementById('remember_me')){
		var r = document.getElementById('remember_me');
		var f = document.getElementById('addtlInfo');
		r.tween = new Tween(f,'height',0,f.scrollHeight,300,'px');
		f.style.height = 0;
		r.onclick = function(){
			this.tween.play(); 
		}
	}
}

// Image Popup Script
// Script Source: CodeLifter.com
// Copyright 2003
// Do not remove this notice.

// SETUPS:
// ===============================

// Set the horizontal and vertical position for the popup

PositionX = 100;
PositionY = 100;

// Set these value approximately 20 pixels greater than the
// size of the largest image to be used (needed for Netscape)

defaultWidth  = 500;
defaultHeight = 500;

// Set autoclose true to have the window close automatically
// Set autoclose false to allow multiple popup windows

var AutoClose = true;

// Do not edit below this line...
// ================================
if (parseInt(navigator.appVersion.charAt(0))>=4){
var isNN=(navigator.appName=="Netscape")?1:0;
var isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}
var optNN='scrollbars=no,width='+defaultWidth+',height='+defaultHeight+',left='+PositionX+',top='+PositionY;
var optIE='scrollbars=no,width=150,height=100,left='+PositionX+',top='+PositionY;
function popImage(imageURL,imageTitle){
if (isNN){imgWin=window.open('about:blank','',optNN);}
if (isIE){imgWin=window.open('about:blank','',optIE);}
with (imgWin.document){
writeln('<html><head><title>Loading...</title><style>body{margin:0px;}</style>');writeln('<sc'+'ript>');
writeln('var isNN,isIE;');writeln('if (parseInt(navigator.appVersion.charAt(0))>=4){');
writeln('isNN=(navigator.appName=="Netscape")?1:0;');writeln('isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}');
writeln('function reSizeToImage(){');writeln('if (isIE){');writeln('window.resizeTo(300,300);');
writeln('width=300-(document.body.clientWidth-document.images[0].width);');
writeln('height=300-(document.body.clientHeight-document.images[0].height);');
writeln('window.resizeTo(width,height);}');writeln('if (isNN){');       
writeln('window.innerWidth=document.images["George"].width;');writeln('window.innerHeight=document.images["George"].height;}}');
writeln('function doTitle(){document.title="'+imageTitle+'";}');writeln('</sc'+'ript>');
if (!AutoClose) writeln('</head><body bgcolor=000000 scroll="no" onload="reSizeToImage();doTitle();self.focus()">')
else writeln('</head><body bgcolor=000000 scroll="no" onload="reSizeToImage();doTitle();self.focus()" onblur="self.close()">');
writeln('<img name="George" src='+imageURL+' style="display:block"></body></html>');
close();		
}}

/* End Sliding DIV Functions 
 * ------------------------------ */

