(function($) {

	var BindTextObj = []; //for dynamic content
	var urlParams = {}; //for query string
	
	
	
	$.fn.PrintObj = function(obj) {
		var props = "" ; 
		for ( var p in obj ){  
			if ( typeof ( obj [ p ]) == " function " ){ 
				obj [ p ]() ; 
			} else { 
				props += p + " = " + obj [ p ] + " \t " ; 
			} 
		} 

		alert( props ) ; 
	}
	
	$.fn.equals = function(compareTo) {
		if (!compareTo || this.length != compareTo.length) {
			return false;
		}
		for (var i = 0; i < this.length; ++i) {
			if (this[i] !== compareTo[i]) {
			  return false;
			}
		}
		return true;
	};

	$.fn.QueryString = function(param) {

		if ($.isEmptyObject(urlParams)) {
			var e,
			a = /\+/g, // Regex for replacing addition symbol with a space
			r = /([^&=]+)=?([^&]*)/g,
			d = function (s) { return decodeURIComponent(s.replace(a, " ")); },
			q = window.location.search.substring(1);
		
			while (e = r.exec(q))
				urlParams[d(e[1])] = d(e[2]);			
		}
		return urlParams[param];
	}

	function getDivObj(tabName) {		
		var str = '[id="' + $.trim(tabName) + '"]';
		return  $(str);
	}


	$.fn.BindTextTab = function() {
		var tabId = $(this).attr("id");
		
		if (BindTextObj[tabId] == null) {
			
			var first = null;
			
			$(this).find("ul[class='TabbedPanelsTabGroup'] li").each(function() {
					getDivObj($(this).text()).hide();
					if (first == null) {
						first = this;
					}
			
					$(this).mouseenter(function() {
						$(this).addClass('TextTabHover');			
					});

					$(this).mouseleave(function() {
						$(this).removeClass('TextTabHover');		
					});
					
					$(this).click(function() {						
						if(BindTextObj[tabId] != this) {
							if(BindTextObj[tabId] != null) {
								$(BindTextObj[tabId]).removeClass('TextTabSelected');
								getDivObj($(BindTextObj[tabId]).html()).hide();
							}							
						
							$(this).addClass('TextTabSelected');							
							BindTextObj[tabId] = this;
							getDivObj($(BindTextObj[tabId]).html()).show();
						}
					});
				}
			);
			$(first).click();
		}
	}
	
	String.prototype.EndWith = function(oString){   
	  var reg = new RegExp(oString+"$");   
	  return reg.test(this);
	}
	
	$(document).ready(function () {
		
		//auto-click obj by link
		var LinkedClickableId = $().QueryString('LinkedClickable');
		if( LinkedClickableId !=null && LinkedClickableId.length > 0) {
			
			var linkObj = $('.LinkedClickable_' + LinkedClickableId);
			
			if (linkObj.length>0) {

				//if item in tab
				var parent = linkObj.parents('.TabbedPanelsContent');
				if (parent.length > 0) {
					var panel = parent.parents('div.TabbedPanels');
					var parentIndex;
					panel.find('.TabbedPanelsContent').each(
						function(index) {

							if ($(this).equals(parent)) {
								parentIndex = index;
							}
						}
					)
					
					
					panel.find('li.TabbedPanelsTab').each(
						function(index) {
							if(index == parentIndex) {
								$(this).click();
							}
						}
					);
					
				}
		
				linkObj.click();
			}
		}
	
		if($('.CallUsLink').length>0) {
			var href = 'ContactUs.aspx';
			var current = window.location + '';
			if (current.EndWith('IRBServices.aspx')) {
				href += "?LinkedClickable=IRB";
			}
			if (current.EndWith('CPUServices.aspx')) {
				href += "?LinkedClickable=CPUS";
			}
			if (current.EndWith('IBCServices.aspx')) {
				href += "?LinkedClickable=IBCS";
			}
			if (current.EndWith('DSMServices.aspx')) {
				href += "?LinkedClickable=DSMS";
			}
			if (current.EndWith('EducationServices.aspx')) {
				href += "?LinkedClickable=Edu";
			}
			if (current.EndWith('GlobalServices.aspx')) {
				href += "?LinkedClickable=Global";
			}
			if (current.EndWith('ResearchSubjects.aspx')) {
				href += "?LinkedClickable=Research";
			}
			$('.CallUsLink').click(
				function() {
					window.location =  href ;
				}	
			);
		}
		
		$('.CustomerQueryForm').click(
			function() {
				var service = $(this).attr('name');
				window.open ('CustomerQueryForm.aspx?Service=' + service, 'CustomerQueryForm', 'height=630, width=700, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no')
			}
		);
	
	
	
		if ($('#linkDownload').length>0 && $('#tabOpenPosition').length>0) {
			$('#linkDownload').click(
				function() {
					$('#tabOpenPosition').click();
				}
			);
		}
		
		//make all out-links to _blank
		$('a[href^="http"]').attr('target', '_blank');
		$('a[href*="Researchers.pdf"]').attr('target', '_blank');
		$('a[href*="Researchers.pdf"]:not([href*="#page="])').each(
			function() {
				var h = $(this).attr('href');
				$(this).attr('href', h + '#page=2');
			}		
		);
		
		//alert($('a[href!="http"]').length);
		
		
		
		if ($('#SubmissionResources').length>0) {			
			$('#SubmissionResources').BindTextTab();
			
			var Submission1= new Spry.Widget.CollapsiblePanel("Submission1", {contentIsOpen:false});
			var Submission2= new Spry.Widget.CollapsiblePanel("Submission2", {contentIsOpen:false});
			var Submission3= new Spry.Widget.CollapsiblePanel("Submission3", {contentIsOpen:false});
			var Submission4= new Spry.Widget.CollapsiblePanel("Submission4", {contentIsOpen:false});
			var Submission5= new Spry.Widget.CollapsiblePanel("Submission5", {contentIsOpen:false});
			var Submission6= new Spry.Widget.CollapsiblePanel("Submission6", {contentIsOpen:false});
			var Submission7= new Spry.Widget.CollapsiblePanel("Submission7", {contentIsOpen:false});
			var Submission8= new Spry.Widget.CollapsiblePanel("Submission8", {contentIsOpen:false});
			var Submission9= new Spry.Widget.CollapsiblePanel("Submission9", {contentIsOpen:false});
			var Submission10= new Spry.Widget.CollapsiblePanel("Submission10", {contentIsOpen:false});
			var Submission11= new Spry.Widget.CollapsiblePanel("Submission11", {contentIsOpen:false});
			var Submission12= new Spry.Widget.CollapsiblePanel("Submission12", {contentIsOpen:false});
			var Submission13= new Spry.Widget.CollapsiblePanel("Submission13", {contentIsOpen:false});
			var Submission14= new Spry.Widget.CollapsiblePanel("Submission14", {contentIsOpen:false});
			var Submission15= new Spry.Widget.CollapsiblePanel("Submission15", {contentIsOpen:false});
		
		}
				
	});

})(jQuery);
