/* globalz */
var connect = $.extend(connect || {}, {box_states: {}, base_url : (/pharmaconnectme.com/.test(window.location.href) ? 'http://www.pharmaconnectme.com' : (/localhost/.test(window.location.href) ? 'http://localhost/pcm' : 'http://hal9000/pcm') ), page: window.location.href, indicators: { }, hidez: [] });
if (/d888857/.test(window.location.href)) connect.base_url = 'http://d888857.u39.avalon.hr';
connect.load_events = connect.load_events || [];
connect.indicators.landing = $('<img />').attr({'src': connect.base_url + '/images/loaders/landing.gif', id: 'landing-loader'});
connect.admin = /\/admin/.test(connect.page) && !/profile/.test(connect.page);

$.browser.msie6 = $.browser.msie && ($.browser.version && $.browser.version < 7 || /MSIE 6.0/.test(navigator.userAgent));
$.os = $.os || {};
$.os.mac = /Mac/i.test(navigator.platform);
if ($.browser.mozilla) createStyleRule("html", "overflow-y: -moz-scrollbars-vertical");
if (/blog\//.test(connect.page) === false) {
	connect.hidez.push('ul.messages');
	if($.fn.flash.hasFlash(8)&&!$.browser.opera) createStyleRule("#header a", "background-image:none!important;");
}
connect.hidez.push('form div.description','div.landing-wrapper', 'div.landing-nav', 'div.closed div.box-content', 'div.closed div.gallery-nav', 'div.search-advanced', '#people-search', '#group-search');
if (!connect.admin&&!$.browser.safari) connect.hidez.push('form.fancy input', 'select', '#content form input.submit');
connect.hidez.push('#connect_content_filter .submit', '#user-login-form label', 'div.hide');

$.each(connect.hidez, function() {
	createStyleRule(this, ['dis', 'pla', 'y: ', 'non', 'e;'].join(''));
});
//--//
function connect_logo() {
	$('#header').flash(
		{ 'id': 'flash-logo', 'src': connect.base_url + '/swf/logo03.swf', width: 290, height: 110, flashvars: {'rooturl': connect.base_url, 'current_page': connect.page}, 'bgcolor': '#ffffff', 'wmode' : 'transparent'},
		{ 'version': 8, 'expressInstall': false, 'update': false }, 
		function(htmlOptions) {
			$('#header').find('h1').remove().end().append($.fn.flash.transform(htmlOptions));
		}
	);
}
function connect_globals(){
	$('#footer a[href^=#],div.comment a[href*=#]').each(function(){
		var $this = $(this);
		var hash='#'+this.href.split('#')[1];
		if (hash&&hash.length>2&&$(hash).length){
			$this.unbind('click').bind('click', function(){
				var hash = this.hash;
				$.scrollTo(hash, {speed: 'medium', easing: 'easeInOutExpo', onAfter: function(){
						window.location.hash = hash;
					}
				});
				return false;
			})
		}
	})
}

function connect_youtubes(){
	$('div.youtube').each(function(){
		var d = this.id.split('.');
			$(this).flash(
			{ width: d[2], height: d[3], 'src': "http://www.youtube.com/v/"+d[1], 'bgcolor': '#ffffff' },
			{ 'version': 7 },
			function(htmlOptions) {
				$(this).append($.fn.flash.transform(htmlOptions));
			}
		)
	});
}

function connect_slideshares(){
	$('div.slideshare').each(function(){
		var d = this.id.split('.');
    $(this).flash(
			{ width: d[1], height: d[2], 'src': unescape(this.title).replace('%26', '&'), 'bgcolor': '#ffffff' },
			{ 'version': 7 }
		).removeAttr('title');
	})
}

function connect_profile_tips(){
	if ($.browser.opera)return;
	$('#down img[@alt],div.gallery:not(#featured-companies) ul:not(.gallery-nav,.list-links) img[@alt]').hover(
		function(){
			if ($.browser.msie) $(this).addClass('hover');
			connect_show_profile_tip(this);
		},
		function(){
			if ($.browser.msie) $(this).removeClass('hover');
			$('#ctip').stop().hide().empty();
		}
	);
	if ($('#ctip').length==0){
		var $ctip = $('<div>').css('display', 'none').attr({id: 'ctip'}).appendTo('body');
		if ($.browser.mozilla) $ctip.css({'-moz-border-radius-topright': '7px', '-moz-border-radius-bottomright': '8px'});
	} else {
		var $ctip = $('#ctip');
	}
	
	function connect_show_profile_tip(elem){
		var $elem = $(elem);
		var pos = $elem.offset();
		var left = pos.left + $elem.width() + 2, tmparr, tmptext;
		if ($.browser.msie)left-=2;
		else if ($.browser.safari)left-=1;
		if (typeof elem.ttext == 'undefined') {
			tmptext = (elem.alt||elem.title).replace("\\'", "'");
			elem.alt = elem.title = '';
			$elem.find('img').add($elem.parent()).removeAttr('alt').removeAttr('title');
			tmparr = tmptext.split(' -- ');
			if (tmparr.length == 2) {
				elem.ttext = unescape(tmparr[0]+'<br /><br /><strong>'+tmparr[1]+'</strong>');
			}
			else {
				elem.ttext = unescape('<strong>'+ tmparr[0]+'</strong><br />' + tmparr[1] + '<br /><strong>'+tmparr[2]+'</strong>');
			}
		}
		$ctip.html('<p>'+elem.ttext+'</p>');
		$ctip.css({top: pos.top + 1, left: left, opacity: 0}).show().stop().animate({opacity: 0.8}, 300, 'easeOutSine');
	}
}

function connect_down() {
	var $nav = $([]), cur_page = 1, cur_h = 0, numVisible = 8, $to, $current = $('#down div.section:first'), settings = {
		axis: 'y',
		speed: 'slow',
		queue: false,
		easing: 'easeOutExpo',
		onBefore:function( e, el, $target ){
			$target.queue('fx',[]).stop();
			$('#down div.down-pager').remove();
		},
		onAfter: function(){
			cur_h = $current[0].scrollLeft = 0;
			$current = $to;
			if ($current.is('#pages')) numVisible = 4;
			else numVisible = 8;
			dot_nav();
		}
	}, settings_h = $.extend({}, settings, {
		axis: 'x',
		speed: 'slow',
		easing: 'easeOutExpo',
		onBefore: function(){
		
		},
		onAfter: function(){
			$nav.find('a.current').removeClass('current').end().find('a:eq(' + (cur_page-1) + ')').addClass('current');
		}
	});
	var $nav_links = $('#down a[href^=#]');
	$nav_links.slice(0,3).bind('click', function(){
		$nav_links.filter('.current').removeClass('current');
		$(this).addClass('current');
		$to = $(this.hash);
		if ($to.length && $current[0] != $to[0]) $('#down-wrapper').scrollTo($to, settings);
		else if ($current[0] == $to[0]) {
			cur_h = 0;
			$current.scrollTo('li:eq('+cur_h+')', settings_h);
		}
		return false;
	});
	var $prev = $nav_links.slice(0,4);
	var $next = $nav_links.slice(-1);
	$prev.bind('click', function(){
		cur_h -= numVisible;
		if (cur_h < 0) cur_h = 0;
		else {
			cur_page--;
			$current.scrollTo('li:eq('+cur_h+')', settings_h);
		}
		this.blur();
		return false;
	});
	$next.bind('click', function(){
		var max = $('li', $current).length - 1;
		cur_h += numVisible;
		if (cur_h > max) cur_h -= numVisible;
		else {
			cur_page++;
			$current.scrollTo('li:eq('+cur_h+')', settings_h);
		}
		this.blur();
		return false;
	});
	
	function dot_nav(){
		cur_page = 1;
		var numItems = $('li', $current).length;
		var numPages = parseInt(numItems / numVisible) + (numItems % numVisible != 0 ? 1 : 0);
		if (numPages > 1) {
			$nav = $('<div></div>').addClass('down-pager');
			for (var i = 0; i < numPages; i++) {
				var $link = $('<a></a>').attr({href:'#page-' + (i+1)}).bind('click', function(){
					cur_page = parseInt(this.hash.split('-')[1]);
					var new_h = (cur_page * numVisible) - numVisible;
					if (new_h != cur_h) {
						cur_h = new_h;
						$current.scrollTo('li:eq('+cur_h+')', settings_h);
					}
					return false;
				})
				$nav.find('a:eq(0)').addClass('current').end().append($link);
			}
			$('#down').prepend($nav);
		}
	}
	dot_nav();
}

/* landing :: */
function connect_landing(){
	var $landing = $('#landing');
	if (!$landing.length){
		return;
	}

	var $lwrap = $('div.landing-wrapper', $landing).show(), $contents = $('div.landing-content', $lwrap), h = $contents.innerHeight(), l = $contents.length, max = (l-1) * h, to, i, num = 0, speed = 750, $nav = $('div.landing-nav', $landing);
	var switch_landing = function(){
		$landing.find('embed,object').remove();
		to = parseInt($lwrap[0].scrollTop) + h;
		if (to > max) to = 0;
		$lwrap.fadeTo(speed, 0, function(){
			if (++num>$contents.length-1) {
				num = 0;
			}
			$lwrap[0].scrollTop = to;
			$lwrap.fadeTo(speed, 1, function(){
				start_switch();
			});
		});
	}
	var start_switch = function(){
		if (max > 1) {
			clearTimeout(i);
			i = setTimeout(switch_landing, 12000);
		}
	};
	
	$lwrap.add($nav).show().css('opacity', 0).fadeTo(2500, 0).fadeTo(speed*3, 1, function(){
		if (max > 1) start_switch();
	});
	
	var home = $lwrap.html();

	/*
	$nav.find('a').add( $('ul.sub-navigation a') ).bind('click', function(){
		var $this = $(this);
		if ($this.is('.disabled')) return false;
		clearTimeout(i);
		$lwrap.add($nav).stop().fadeTo(speed, 0, function() {
			var $$this = $(this); if ($$this[0] != $lwrap[0]) return;			
			$lwrap.load($this[0].href, function(){
				$('#landing-loader').remove();
				$nav.find('a').hide().filter('a.back').show();
				$lwrap.css('opacity', 0).add($nav).fadeTo(speed, 1);
				ajaxify_form();
			});
		})
		return false;
	});
	*/
}


function connect_image_changer(){
	var max = 2, the_imgz = [], current = -1, $preloader = new Image(), main = $('#landing img:first'), t;
	the_imgz = [ connect.base_url + '/images/landing02.png', connect.base_url + '/images/landing03.png' ];
	$preloader.onload =  function(){
		if ($preloader.src) {
			clearTimeout(t);
			t = setTimeout(changer, 12000);
		}
	};
	var starter = function(){
		if (++current>=max)current=0;
		$preloader.src = the_imgz[current];
	}
	main.bind('load', function(){
		if (!$.browser.opera) {
			main.fadeTo('slow', 1, function(){
				starter();
			})
		}
		else {
			starter();
		}
	});
	var changer = function(){
		if (!$.browser.opera) {
			main.fadeTo('slow', 0, function(){
				main.attr('src', the_imgz[current]);
			});
		}
		else {
			main.attr('src', the_imgz[current]);
		}
	}
	starter();
}


function connect_tips(context){
	if (typeof context == 'undefined')context = document;
	var $tooltips = $('a.tooltip', context);
	$tooltips.each(function(){
		var $this = $(this);
		if (!$this.attr('title')) {
			var desc = $this.parent().nextUntil('div.description:first').html();
			$this.attr('title', desc);
		}
	});
	if ($.browser.msie) return;
	connect.clueOpts = {
	  cluetipClass: 'jtip', 
		arrows: true, 
	  dropShadow: false, 
		opacity: 0.95,
	  positionBy: 'bottomTop',
		clickThrough: false,
		splitTitle: '|',
		width: '250px'
	}
	$tooltips.cluetip(
		$.extend({}, connect.clueOpts, {
			activation: 'hover', 
			sticky: false
		}
	)).bind('click', function(){
		return false;
	})
}

function connect_attach_closerz(){
	$('div.box:not(.main,#partneri,#pcm-mail)').each(function(){
		var $this = $(this);
		if (!this.processed&&$this.parent().is('#current-modules') == false) {
			var $h2 = $('h2 span', this);
			if ($h2.parent().is('.box-content')==false) {
				var $content = $('div.box-content', this).add($this.find('ul.gallery-nav,div.gallery-pager'));
				$h2.html( $('<a></a>').attr({href: '#', innerHTML: $h2.html()}).click(function(){
					var id;
					$content.toggle();
					if ($this.is('.closed')) {
						$this.removeClass('closed').addClass('open');
						if (typeof connect_save_box_states=='function'&&(id=$this.attr('id'))) connect_save_box_states(id,1);
					}
					else {
						$this.removeClass('open').addClass('closed');
						if (typeof connect_save_box_states=='function'&&(id=$this.attr('id'))) connect_save_box_states(id,0);
					}
					return false;
					})
				);
				if ($this.find('input.error').length) 
					$this.removeClass('closed').find('div.box-content').show();
				else if ($this.is('.closed'))
					$content.hide();
			}
			this.processed = true;
		}
	});
}
	

function connect_fancy_forms(){
	$('form.fancy').find('input:not([type=hidden]):not(:checkbox),textarea').show().end().find('br:not([clear])').remove().end().jNice().find('.jNiceHidden').hide();
	if ($.browser.safari) return;
	if(/dashboard|invite|mail\/write/.test(connect.page)) {
		$('form:not(#connect_global_search,.invite-form,#pcm_invite_form,#user-login-form,#connect_cv_form,#connect_dashboard_folders,#privatemsg_message_form)').jNice({items : 'input:submit,button,select,:checkbox'}).find('.jNiceHidden').hide();
		$('#privatemsg_message_form,.invite-form,#pcm_invite_form').jNice({items : 'input:submit,button'}).find('.jNiceHidden').hide();
	}
	else {
		$('form:not(#connect_global_search,#user-login-form,#connect_cv_form,#connect_dashboard_folders,#connect_manage_contacts)').jNice({items : 'input:submit,button,select,:checkbox'}).find('.jNiceHidden').hide();	
	}
	$('#connect_cv_form,#connect_dashboard_folders,#connect_manage_contacts').find('select').show().end().jNice({items : 'input:submit,button'}).find('.jNiceHidden').hide();
}

/* gallery */

$.fn.connect_gallery = function(options){
	return this.each(function(){
		var settings = $.extend({
			box: 'div.box-content',
			elements: 'li',
			axis: 'x',
			speed: 'slow',
			queue: false,
			easing: 'easeOutExpo',
			onBefore:function( e, el, $target ){
				$target.queue('fx',[]).stop();
				$pager.find('a.current').removeClass('current').end().find('a:eq(' + (cur_page-1) + ')').addClass('current');
			},
			onAfter: function(){
				check_disables();
				return;
			},
			numVisible: 4
		}, options),
		self = this, $self = $(self), $pager = $([]), cur_page = 1, max = $(settings.elements, $self).length - 1, cur_h = 0, $box = $(settings.box, self);
		var $prev = $('<a></a>').attr({innerHTML: 'prev', href: '#', 'class': 'prev disabled'});
		var $next = $('<a></a>').attr({innerHTML: 'next', href: '#', 'class': 'next'});
		$prev.bind('click', function(){
			cur_h -= settings.numVisible;
			if (cur_h < 0) cur_h = 0;
			else {
				cur_page--;
				$box.scrollTo(settings.elements + ':eq('+cur_h+')', settings);
			}
			return false;
		});
		$next.bind('click', function(){
			cur_h += settings.numVisible;
			if (cur_h > max) cur_h -= settings.numVisible;
			else {
				cur_page++;
				$box.scrollTo(settings.elements + ':eq('+cur_h+')', settings);
			}
			return false;
		});
		
		var $nav_wrap = $('<div></div>').addClass('gallery-nav');
		var $li_prev = $('<li></li>').append($prev);
		var $li_next = $('<li></li>').append($next);
		var $ul = $('<ul></ul>').append($li_prev).append($li_next);
		$nav_wrap.append($ul);
		$box.before($nav_wrap);
		
		function check_disables(){
			if (cur_h > 0) $prev.removeClass('disabled');
			else $prev.addClass('disabled');
			if (cur_h + settings.numVisible > max) $next[0].className = 'next-disabled';
			else $next[0].className = 'next';
		}
		
		check_disables();
		
		function dot_nav(){
			cur_page = 1;
			var numItems = $(settings.elements, $box).length;
			var numPages = parseInt(numItems / settings.numVisible) + (numItems % settings.numVisible != 0 ? 1 : 0);
			if (numPages > 1 && numPages < (settings.elements == 'div.karten' ? 20 : 10)) {
				$pager = $('<div></div>').addClass('gallery-pager');
				for (var i = 0; i < numPages; i++) {
					var $link = $('<a></a>').attr({href:'#page-' + (i+1)}).bind('click', function(){
						cur_page = parseInt(this.hash.split('-')[1]);
						var new_h = (cur_page * settings.numVisible) - settings.numVisible;
						if (new_h != cur_h) {
							cur_h = new_h;
							$box.scrollTo(settings.elements + ':eq('+cur_h+')', settings);
						}
						return false;
					})
					$pager.find('a:eq(0)').addClass('current').end().append($link);
				}
				$nav_wrap.prepend($pager);
			}
		}
		dot_nav();
	});
}

$.fn.ticker = function(options) {
	return this.each(function(){
		var newsitems, curritem=0, iPause=0, $allItems = $('div.post', this);
	
		newsitems = $allItems.hide().hover(
			function(){
					iPause=1;
        },
        function(){
					iPause=0;
        }
    ).filter(":eq(0)").show().end().size();
		
		var ticknews = function() {
			if (iPause==0){
				$allItems.eq(curritem).fadeOut('slow',
					function(){
						$(this).hide();
						curritem = ++curritem%newsitems;
						$allItems.eq(curritem).fadeIn('slow');
					}
				);
			}
		}
		setInterval(ticknews,7000);
	});
}

function connect_filter_form(){
	$('#connect_content_filter select').bind('change', function(){
		$(this).parents('form').submit();
	});
}

function connect_network_search(){
	var $search_form = $('form.advanced-search');
	if($search_form.length) {
		var form_active = 0, $box = $search_form.parents('div.box-content'), $forms = $([]), $ul = $('ul.bubble', $box), $links = $ul.find('a'), $advanced = $search_form.find('div.search-advanced').hide(), $check = $('input:checkbox', $search_form), $check_wrap = $check.parents('div.label-wrap');
		$links.each(function(i,e){
			$forms = $forms.add($(e.hash));
		});
		
		$forms.each(function(i, e){
			if ($('.error', this).length) {
				form_active = i;
			}
		});
			
		var $hidden = $('#edit-search_type');
		
		$links.bind('click', function(){
			form_active = $links.index(this);
			toggle_forms(form_active);
			return false;
		});
		$search_form.find('input:text').example();
		if (form_active == 0) toggle_forms($links.index($links.filter('a.current')[0]));
		else {
			$links.removeClass('current').eq(form_active).addClass('current');
			toggle_forms(form_active);
		}
		
		$check.bind('change', function(){
			$advanced.eq(form_active).toggle();
		});
	}
	
	function toggle_forms(to){
		$forms.hide().eq(to).show();
		$links.removeClass('current').eq(to).addClass('current');
		$hidden.val($forms.eq(to).attr('id'));
		form_active = to;
		if ($advanced.eq(to).length == 0 && !$search_form.is('#connect_profile_search')) $check_wrap.hide();
		else 	$check_wrap.show();
		if ($check[0].checked) $advanced.hide().eq(to).show();
		else $advanced.hide();
	}
}

/* init */
function connect_init() {
	if ($.browser.safari) $('#user-login-form input.submit').removeClass('submit');
	$('div.content-left div.gallery:not(#featured-companies,#groups-my_groups)').connect_gallery();
	$('#featured-companies,#groups-my_groups').connect_gallery({numVisible: 2});
	$('div.content-right div.gallery').connect_gallery({elements: 'div.karten', numVisible: 1, box: 'div.gallery-wrapper'});
	connect_tips();
	if (!$.browser.opera) connect_logo();
	connect_down();
	connect_globals();
	$.each(connect.load_events, function(i, e){
		if ($.isFunction(e)) e();
	});
	connect_profile_tips();
	if (!connect.admin) connect_fancy_forms();
	connect_landing();
	if ($.browser.msie) {
		$('input:password,input:text,textarea', 'form').bind('focus', function(){
			$(this).addClass('focus');
		}).bind('blur', function(){
			$(this).removeClass('focus');
		});
		$('#user-login-form input:submit').hover(function(){
			$(this).addClass('hover');
		}, function(){
			$(this).removeClass('hover');
		});
	}
	$('#user-login-form input:text,#user-login-form input:password,form.search input:text,#connect_global_search input:text').example();
	humanMsg.setup();
	connect_youtubes();
	connect_slideshares();
	connect_attach_closerz();
	connect_filter_form();
	$('div.ticker').ticker();
	connect_image_changer();
	connect_network_search();
}

$(document).ready(connect_init);