﻿

//////////////////////////////////////////////////////////
// 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.
			e.keyCode=0;
            e.returnValue=false;
		}
		
		//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'
 }
  //set different swf for the different xml
if (xml.toLowerCase()=="/swf/xml/jim.xml" || xml.toLowerCase()=="/swf/xml/jimvince.xml" || xml.toLowerCase()=="/swf/xml/julie.xml" || xml.toLowerCase()=="/swf/xml/juliefamily.xml" || xml.toLowerCase()=="/swf/xml/vince.xml") {
    swf = 'sqc112d.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);
}



//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);
}



/* htmlIcon appends icon within anchor tag in the following format, merging html elements into "lastword":
	<span>link text </span><span><span>lastword</span><icon></span>  */
function htmlIcon(html, iconClass, iconUri) {
	var words = '';
	var result = '';
	words = html.split(' ');

	i = words.length
	if (words[--i].match(/<\/[a-z]/i) != null) {
		// If the last word contains a closing tag, merge lastwords until the opening tag
		while (words[--i].match(/<[a-z]/i) == null) {
			words[i] += ' ' + words.pop();
		}
		words[i] += ' ' + words.pop();
	}

	var lastword = words.pop();
	if (words.length > 0) {
		result = '<span>' + words.join(' ') + ' </span>';
	}
	result += '<span class="icon"><span>' + lastword + '</span> <img class="' + iconClass + '" src="' + iconUri + '" /></span>';
	return result;
}


$(document).ready(function() {
	
    // Add icons and new window function to certain links on site
	$('a[href*=".pdf"]:not(div.fto-header a, div.prescribing a, div#callouts a, p.offer_button a), a[href*=".cgi"]:not(div.prescribing a)')
		.addClass('pdf')
		.attr('target','_blank')
		.html(function(index, html) { return htmlIcon(html, 'pdf', '/images/icon/adobe-pdf.png'); });
	$('div.prescribing a[href*=".pdf"], div.prescribing a[href*=".cgi"]').after('&nbsp;<img class="pdf" src="/images/icon/adobe-pdf.png" />').attr('target','_blank');

	
	$('a[rel="external"]:not(div#callouts a,div.videos.noFlash a)').after('&nbsp;<img class="external" src="/images/icon/external.png" />');	
	
	$('a[rel="flash"]:not(div.fto-header a, div.prescribing a, div#callouts a, p.offer_button a)')
		.addClass('pdf')
		.attr('target','_self')
		.html(function(index, html) { return htmlIcon(html, 'pdf', '/images/icon/adobe-flash.png'); });
    //$('a[rel="flash"]:not(div#callouts a,div.videos.noFlash a)').after('&nbsp;<img class="pdf" src="/images/icon/adobe-flash.png" />');	

	
	//Add link arrow to the end of particular links
	$('div#callouts a').append(' <img height="8" width="6" src="/images/bullet/arrow-white.png" />');
	
	$('#landing-callout h3 a, ul.gallery li a')
		.append('&nbsp;<img height="10" width="8" src="/images/bullet/callout-landing.png" alt="" />')
		.hover(
			function() {
				$(this).find('img').remove();
				$(this).append('<img height="10" width="8" src="/images/bullet/callout-landing-hover.png" alt="" />');
			},
			function() {
				$(this).find('img').remove();
				$(this).append('<img height="10" width="8" src="/images/bullet/callout-landing.png" alt="" />');
			}
		);
	
	/* 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);
	});
	
	
	
	/* some css and design tweaks */
	
	$('div.headline span.sxr').html('Seroquel <span>XR</span>');
	
	$('blockquote p.quote span:first-child').prepend('<img class="open" src="/images/bullet/quote-left.png" alt=""/>');
	$('blockquote p.quote span:last-child').append('<img class="close" src="/images/bullet/quote-right.png" alt=""/>');
	
	
	
	/* hover states for some images 
	$('button#shareSubmitButton').hover(
		function() {
			//this.src = this.src.replace(".png","-hover.png");
			$(this).html('<img src="/images/sharesite/shareButton-hover.png" alt="Submit" />');
		},
		function() {
			//this.src = this.src.replace("-hover.png",".png");
			$(this).html('<img src="/images/sharesite/shareButton.png" alt="Submit" />');
		}
	);
	*/
	
	/* Share and Print functions */
	$('ul#utils li#print').show();
	
	$('ul#utils li#print a').click(function () { print(); return false; });
    
	$('ul#utils li#email a').click(function () { 
		$("#shareErrorUserEmail").hide();
	    $("#shareErrorFriendEmail").hide();
	    resetSharePage();
	    $('div#share').center().show(); 
	    return false; 
	});
	
	$('ul#utils img').hover(
		function() {
			$(this).before('<span>' + $(this).attr('alt') + '</span>');
			this.src = this.src.replace(".png","-hover.png");
		},
		function() {
			$(this).parent().find('span').remove();
			this.src = this.src.replace("-hover.png",".png");
		}
	);
	
	
	
	/* 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() == '/support-resources/free-trial-offer-registration.aspx'
		&& !Common.getUrlPath().toLowerCase() == '/support-resources/free-trial-offer-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\
		', { fontFamily: 'Century Gothic' });
	}
	
	Cufon.replace('div#navigation ul li a, div.sign-up blockquote p.quote, div#callouts p', { fontFamily: 'Century Gothic' });
	Cufon.replace('div#callouts p span.q', { fontFamily: 'Arial' });
	
	
	
	$('div#navigation ul li:not(.on) a').hover(
		function() {
			$(this).parent('li').removeClass('off').addClass('over');
			Cufon.replace($(this), { fontFamily: 'Century Gothic' });
		},
		function() {
			$(this).parent('li').removeClass('over').addClass('off');
			Cufon.replace($(this), { fontFamily: 'Century Gothic' });
		}
	);
	
	
	/* Make entire item a clickable link: add new array item for each big link */
	var divLinks = new Array(
		'div#callouts div',
		'ul.gallery li'
	);
	jQuery.each(divLinks, function(i) { 
		if ( $(divLinks[i]).length ) {
			$(divLinks[i]).biggerlink();
		}
	});
	
	
	
	/* Accordions, both heading/div and definition list */
	if ( $('.accordion').length ) {
		$('.accordion').addClass('enhanced');
		if(!(getQueryVariable('exp').toLowerCase() == 'true')){
		    $('.accordion div div, .accordion dd').hide();
		    $('.accordion div div:first').css('display','block');
		    $('.accordion div div:first').css('margin','0')
		    $('.accordion div div:first').css('padding','0')
		    if($('.accordion div div:first').length > 0){
	                $('.accordion div div:first').children().each(function (index, domEle){
	                    if(domEle.className!="large-player-wrapper"){
	                        domEle.style.display = "none";
	                   }
	                    
	                });	            
	            }
		}
		else {$('.accordion dt').addClass('open');};
		$('.accordion h2, .accordion h3, .accordion dt').each(function(i) {
            $(this).html('<span>' + $(this).html() + '</span>');
        })
			.click(function () {
		    var isOpen = $(this).hasClass('open');
		    if (isOpen) {
                $(this).removeClass('open');    //Remove "open" class to the clicked element
                
                 $(this).next().css('margin','0')
                 $(this).next().css('padding','0')    
	            if($(this).next().length > 0){
	                $(this).next().children().each(function (index, domEle){
	                
	                    if(domEle.className!="large-player-wrapper"){
	                        domEle.style.display = "none";
	                   }
	                    
	                });	            
	            }
		    } else {
	            $(this).addClass('open');       //Add "open" class to the clicked element

	            $(this).next().show();     //Show the following div
	            $(this).next().css('margin','')
                $(this).next().css('padding','')    
                 
	            //Show the video in the div
	           if($(this).next().length > 0){
	                $(this).next().children().each(function (index, domEle){
	                 if(domEle.className!="large-player-wrapper"){
	                   domEle.style.display = "block";
	                     if(domEle.className=="video portrait"){
	                        domEle.style.background="white";
	                    }
	                    }
	                    
	                });	            
	            }
		    }
		});
	}


});

function getQueryVariable(variable) {
  var query = window.location.search.substring(1);
  var vars = query.split("&");
  for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split("=");
    if (pair[0] == variable) {
      return pair[1];
    }
  }
  return "";
};

function unhighlightbutton(){

	document.getElementById('shareSubmitButtonImg').src="/images/sharesite/shareButton.png";
}
function highlightbutton(){
    
    document.getElementById('shareSubmitButtonImg').src="/images/sharesite/shareButton-hover.png";
}

/* JavaScript Tracking call from the Flash videos */
function trackVid(trackVidName, trackType, trackProgress) {
    pageTracker._trackEvent(trackVidName, trackType, trackProgress);
}


	
