// UNSUBSCRIBE ********************
//////////////////////////////////////////////////////////
// Common
// Handles common operations
//////////////////////////////////////////////////////////
var Common = {

	refreshMe: function() {
		var url = document.location.href;
		goTo(url);
	} // End refreshMe()
	,
	
	scrollToElement: function(elem) {
	  var selectedPosX = 0;
	  var selectedPosY = 0; 
	  while(elem != null){
		 selectedPosX += elem.offsetLeft;
		 selectedPosY += elem.offsetTop;
		 elem = elem.offsetParent;
	  }
		window.scrollTo(selectedPosX,selectedPosY);
	} // End scrollToElement()
	,
	
	isNumeric: function(sText) {
		var ValidChars = "0123456789.";
		var IsNumber = true;
		var Char;
		for (i = 0; i < sText.length && IsNumber == true; i++){ 
			Char = sText.charAt(i); 
			if (ValidChars.indexOf(Char) == -1){
				IsNumber = false;
			}
		}
		return IsNumber;
	} // End isNumeric()
	,
	
	getExitLink: function(strURL, intType) {
		if (!strURL || !intType) { return; }
		var strSiteExitUrl = '/system_pages/SiteExit.aspx';
		var urlEsc = escape(strURL);
		Common.goTo(strSiteExitUrl + '?url=' + urlEsc + '&type=' + intType);
	} // End getExitLink()
	,
	
	//Navigates to a URL
	goTo: function(strURL) {
		window.location.href = strURL;
	} // End goTo()
	,

	getUrlPath: function() {
		return window.document.location.pathname.toLowerCase();
	}
	,	

	urlPathIs: function(localpath) {
		var pathname = window.document.location.pathname.toLowerCase();
		if (pathname == localpath) { 
			return true;
		}
		else {
			return false;
		}
	}
	,

	preloadImg: function(path, w, h) {
		if (document.images) {
			objImg = new Image(w, h); 
			objImg.src = path;
		}
	}
	,
	
	getQueryStringVal: function(param) {
	    var val = '';
		var qs = window.location.search.substring(1);
		var qstringVals = qs.split('&');
		for (var i = 0; i < qstringVals.length; i++) {
		    var pair = qstringVals[i].split('=');
            if (pair[0] == param) {
                val = pair[1];
            }
		}
		return val;
	}
	,

	enterPress: function(btnid, e) {
	
		var key;
		if (!e) var e = window.event;
		if (e.keyCode) key = e.keyCode;	//IE
		else if (e.which) key = e.which; //FF
		
		if (key == 13) { //Enter key
			document.getElementById(btnid).click(); //Click the button.
		}
		
		//Prevent propagation.
		e.cancelBubble = true;
		if (e.stopPropagation) e.stopPropagation();
		
	} // End enterPress()
};



function setXmlPath(xml, swf){
 //Set hidden input to xml path so share site control can access it
 $("input:hidden#videoFileName").val(xml);
 //Hard coded paths to the xml and swf files
 var swfpath = "/swf/"
 //if swf is not passed in then default it to sqc112c.swf
 if (arguments.length < 2){
    swf = 'sqc112c.swf'
 }
 // if the first character of the path is a hash sign, rip it out.
 // the path will have a hash sign if the path is coming from an anchor tag on the site.
 if (xml.indexOf('#') == 0){
 xml = path.substring(1, xml.length);
 }
 var flashvars = { configPath: xml };
 var params = {wmode: "opaque"};
 var attributes = {};
 swfobject.embedSWF(swfpath + swf, "video", "697", "585", "8.0.0", "", flashvars, params, attributes);
 // Below functions are for tracking purposes
 var video = xml.toLowerCase();
 var result = null;
 switch (video) {

 case '/swf/xml/caroline.xml': result = 'Caroline - Main'; break;
 case '/swf/xml/carolinehcp.xml': result = 'Caroline - Doctor'; break;
 case '/swf/xml/carolinefriend.xml': result = 'Caroline - Friend'; break;
 case '/swf/xml/kelly.xml': result = 'Kelly - Main'; break;
 case '/swf/xml/kellyhcp.xml': result = 'Kelly - Doctor'; break;
 case '/swf/xml/kellycoworker.xml': result = 'Kelly - Co-worker'; break;
 case '/swf/xml/mary.xml': result = 'Mary - Main'; break;
 case '/swf/xml/maryhcp.xml': result = 'Mary - Doctor'; break;
 case '/swf/xml/maryhusband.xml': result = 'Mary - Husband'; break;
 case '/swf/xml/maryson.xml': result = 'Mary - Son'; break;
 case '/swf/xml/patrick.xml': result = 'Patrick - Main'; break;
 case '/swf/xml/patrickhcp.xml': result = 'Patrick - Doctor'; break;
 case '/swf/xml/patrickwife.xml': result = 'Patrick - Wife'; break;
 default: result = video;

 }
 pageTracker._trackEvent('Bipolar Portraits', 'Video Loaded', result);
}

function ReadCookie(cookieName) {
 var theCookie=""+document.cookie;
 var ind=theCookie.indexOf(cookieName);
 if (ind==-1 || cookieName=="") return ""; 
 var ind1=theCookie.indexOf(';',ind);
 if (ind1==-1) ind1=theCookie.length; 
 return unescape(theCookie.substring(ind+cookieName.length+1,ind1));
}



//Center DIV on the page
$.fn.center = function () {
    $(this).css("left", ( $(window).width() - $(this).width() ) / 2+$(window).scrollLeft() + "px");
	$(this).css("top", ( $(window).height() - $(this).height() ) / 2+$(window).scrollTop() + "px");
    return $(this);
}

$(document).ready(function() {
	
    // Add icons and new window function to certain links on site
	
	$('a[rel="external"]:not(div#callouts a,div.videos.noFlash a)').after('&nbsp;<img class="external" src="/images/icon/external.png" />');	
	
	//Add link arrow to the end of particular links
	$('#landing-callout h3 a, ul.gallery li a').append('&nbsp;<img height="10" width="8" src="/images/bullet/callout-landing.png" alt="Follow link" />');
	$('div#callouts div.info a').append('&nbsp;<img height="9" width="6" src="/images/bullet/pink-arrow.png" />');
	
	$('div#landing-callout h3 a, ul.gallery li a').hover(
		function() {
			$(this).find('img').remove();
			$(this).append('<img height="10" width="8" src="/images/bullet/callout-landing-hover.png" alt="Follow link" />');
		},
		function() {
			$(this).find('img').remove();
			$(this).append('<img height="10" width="8" src="/images/bullet/callout-landing.png" alt="Follow link" />');
		}
	);
	
	/* left nav rollover icons */
	var strText = '';
	$('div#menu ul:not(.pi,.med) li a').each(function() {
		var strTextArray = $(this).html().split(' '), strLast = strTextArray.pop();
		strText = strTextArray.join(' ') + ' <span class="icon">' + strLast + '</span>';
		$(this).html(strText);
	});
	$('div#menu ul li:not(.on) a, div.subdrill div#menu > ul > li.on > a').hover(
		function() {
			$(this).find('span.icon').append('<img height="6" width="6" src="/images/bullet/navigation-drill.png" />');
		},
		function() {
			$(this).find('img').remove();
		}
	);
	
	
	
	/* Share and Print functions */
	$('ul#utils li#email').before('<li id="print"><a href="#"><img src="/images/icon/print.png" alt="Print" /></a></li>');
	$('ul#utils li#print a').click(function () { 
	    print(); return false 
	});
    $('ul#utils li#email a').click(function () { 
	    $("#shareErrorUserEmail").css({ display: "none" });
	    $("#shareErrorFriendEmail").css({ display: "none" });
	    resetSharePage();
	    $('div#share').center().show(); 
	    return false; 
	});
	
	
	/* 2010-0414: whatever this is, it throws client errors in both registration forms in IE,
	so the following pages are excluded, so the error is not thrown. */
	
	if (!Common.getUrlPath().toLowerCase() == '/support-resources/depression-support-registration.aspx'
		&& !Common.getUrlPath().toLowerCase() == '/support-resources/thinking-forward-thank-you.aspx'
		&& !Common.getUrlPath().toLowerCase() == '/depression-support-survey.aspx'
		&& !Common.getUrlPath().toLowerCase() == '/depression-support-thank-you.aspx') {
	
		Cufon.replace('\
			div#navigation ul li a\
		');
	
	}
	Cufon.replace('div#navigation ul li a');
	$('div#navigation ul li:not(.on) a').hover(
		function() {
			$(this).parent('li').removeClass('off').addClass('over');
			Cufon.replace($(this));
		},
		function() {
			$(this).parent('li').removeClass('over').addClass('off');
			Cufon.replace($(this));
		}
	);
	
	
});




var d, dom, ie, ie4, ie5x, moz, mac, win, lin, old, ie5mac, ie5xwin, op;

d = document;
n = navigator;
na = n.appVersion;
nua = n.userAgent;
win = ( na.indexOf( 'Win' ) != -1 );
mac = ( na.indexOf( 'Mac' ) != -1 );
lin = ( nua.indexOf( 'Linux' ) != -1 );

if ( !d.layers ){
	dom = ( d.getElementById );
	op = ( nua.indexOf( 'Opera' ) != -1 );
	konq = ( nua.indexOf( 'Konqueror' ) != -1 );
	saf = ( nua.indexOf( 'Safari' ) != -1 );
	moz = ( nua.indexOf( 'Gecko' ) != -1 && !saf && !konq);
	ie = ( d.all && !op );
	ie4 = ( ie && !dom );

	/*
	ie5x tests only for functionality. ( dom||ie5x ) would be default settings. 
	Opera will register true in this test if set to identify as IE 5
	*/

	ie5x = ( d.all && dom );
	ie5mac = ( mac && ie5x );
	ie5xwin = ( win && ie5x );
	
}

// END UNSUBSCRIBE ****************
//******************************************************************************************************
// On load handling

	function page_load()
	{
		callPreloader();
		
		// Declare default font-size
		m_iFontSize_Default = 11;
		m_iFontSize_Max = 13;
		m_iFontSize_Step = 1;
	}

//******************************************************************************************************


//******************************************************************************************************
// Image handling

	function MM_preloadImages() { //v3.0
		var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
		var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
		if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
	}

	function MM_swapImgRestore() { //v3.0
		var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
	}

	function MM_findObj(n, d) { //v4.01
		var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
		if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
		for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
		if(!x && d.getElementById) x=d.getElementById(n); return x;
	}

	function MM_swapImage() { //v3.0
		var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
		if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
	}

	function MM_showHideLayers() { //v6.0
		var i,p,v,obj,args=MM_showHideLayers.arguments;
		for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
		if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
		obj.visibility=v; }
	}

	// Pre-load handling
	var m_sPreloadImgs = "";
	
	function addToPreload(v_sImgPaths)
	{
		(m_sPreloadImgs == "") ? m_sPreloadImgs += v_sImgPaths : m_sPreloadImgs += ", " + v_sImgPaths;
	}

	function callPreloader()
	{
		if (m_sPreloadImgs != "") eval("MM_preloadImages(" + m_sPreloadImgs + ");");
	}
//******************************************************************************************************


//******************************************************************************************************
// Page Tools

	// Bookmark current page
	function BookmarkThisPage()
	{
		var sTitle = "AstraZeneca - " + window.document.title;
		var sUrl = window.document.location.href;
	
		if (window.sidebar)			// Mozilla Firefox Bookmark
			window.sidebar.addPanel(sTitle, sUrl, "");
		else if (window.external)	// IE Favorite
			window.external.AddFavorite(sUrl, sTitle);
		else if (navigator.appVersion.indexOf('Mac') != -1)
			alert('Press Apple+D to bookmark this site.');
		else
			alert('Press Control+D to bookmark this site.');
	}


	// Print current page
	function PrintThisPage()
	{
		if (window.print)
			window.print();
		else
			alert('Select PRINT from the File menu.');
	}

	
	// Share current page - 
	function ShareWithFriend()
	{
		createCookie("page_title", window.document.title, null);
		createCookie("page_address",window.document.location.href, null);
	
		var winShare = window.open("/share-page.aspx", "winShare", "width=400,height=480,toolbar=no,directories=0,status=0,menubar=no,resizable=no,scrollbars=no");
	}
	
	
//*****************************************************************************************************
// Alternate Stylesheet handling

function getPreferredStyleSheet()
{
	var i, a;
	
	for(i=0; (a = document.getElementsByTagName("link")[i]); i++)
		if((a.getAttribute("rel").indexOf("style") != -1) && (a.getAttribute("rel").indexOf("alt") == -1) && (a.getAttribute("title")))
			return(a.getAttribute("title"));
			
	return(null);
}

function setActiveStyleSheet(title)
{
	var i, a, main;
	
	for(i=0; (a = document.getElementsByTagName("link")[i]); i++)
		if((a.getAttribute("rel").indexOf("style") != -1) && (a.getAttribute("title")))
			{
			a.disabled = true;
			if(a.getAttribute("title") == title)
				a.disabled = false;
			}
		
	createCookie('FontSize', title);
}
//*****************************************************************************************************






//***********************************************************************************************
// Cookie related functions 

function createCookie(name,value,days)
{
	if (days)
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else expires = "";
	document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
//***********************************************************************************************



//******************************************************************************************************
// URLEncode - 

function URLDecode(str){
    str=str.replace(new RegExp('\\+','g'),' ');
    return unescape(str);
}
function URLEncode(str){
    str=escape(str);
    str=str.replace(new RegExp('\\+','g'),'%2B');
    str=str.replace(new RegExp('-','g'),'%96');
    return str.replace(new RegExp('%20','g'),'+');
}
//******************************************************************************************************




//******************************************************************************************************
// Expand/contract HTML elements - 

function displaySwitch(r_arrOpen, r_arrClose, v_strDisplayType)
{
	// Open the elements in the first array passed
	for (var i=0; i<r_arrOpen.length; i++)
		if (document.getElementById(r_arrOpen[i]))		
			document.getElementById(r_arrOpen[i]).style.display = (v_strDisplayType == null) ? 'block' : v_strDisplayType;
	
	// Close the elements in second array passed
	for (i=0; i<r_arrClose.length; i++)
		if (document.getElementById(r_arrClose[i]))
			document.getElementById(r_arrClose[i]).style.display = 'none';
}
//******************************************************************************************************


//******************************************************************************************************
// Switch CSS Class

function switchClass(v_sId, sCssClass)
{
	if (document.getElementById(v_sId))
		document.getElementById(v_sId).className = sCssClass;
}
//******************************************************************************************************


//******************************************************************************************************
// Open Window - 

function openWindow(v_sURL, v_sName, v_sFeatures)
{
	winRef = window.open(v_sURL, v_sName, v_sFeatures);

}
//******************************************************************************************************


// Show/Hide Second Date Field for "Between" Option
function showSpan(grup,elemId){
	if (elemId == 1){
		document.getElementById(grup+'EndDate').style.visibility="visible";
	}else{
		document.getElementById(grup+'EndDate').style.visibility="hidden";
	}
}

// EMail this Page
function mailpage()
{
mail_str = "mailto:?subject=Check out " + document.title;
mail_str += "&body=I thought you might be interested in: " + document.title;
mail_str += ". You can view it at, " + location.href; 
location.href = mail_str;
}

// Clear Default Text from Textboxs
	function clearText(thefield){
		if (thefield.defaultValue==thefield.value)
		thefield.value = ""
	} 
	function addText(thefield,thetext){
		if (thefield.value=="")
		thefield.value = thetext;
	}

//******************************************************************************************************
// TEXT ZOOMING

function setActiveStyleSheet(title) {
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == title) a.disabled = false;
    }
  }
}

function getActiveStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
  }
  return null;
}

function getPreferredStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1
       && a.getAttribute("rel").indexOf("alt") == -1
       && a.getAttribute("title")
       ) return a.getAttribute("title");
  }
  return null;
}

function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

window.onload = function(e) {
  var cookie = readCookie("style");
  var title = cookie ? cookie : getPreferredStyleSheet();
  setActiveStyleSheet(title);
}

window.onunload = function(e) {
  var title = getActiveStyleSheet();
  createCookie("style", title, 365);
}

var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);


