var currentscroll = null;
var scrollchanging = false;
var hoverscroll = null;
var infocus = true;
var updateicon = false;
var currentscrolls = [];
var hoverscrolls = [];
var scrollpairs = [];
var linkWin = null;
var loginWin = null;
var sharerWin = null;

var favicon = {

 
change: function(iconURL) {
  if (arguments.length==2) {
    document.title = optionalDocTitle;
  }
  this.addLink(iconURL, "icon");
  this.addLink(iconURL, "shortcut icon");
},
 
addLink: function(iconURL, relValue) {
  var link = document.createElement("link");
  link.type = "image/x-icon";
  link.rel = relValue;
  link.href = iconURL;
  this.removeLinkIfExists(relValue);
  this.docHead.appendChild(link);
},
 
removeLinkIfExists: function(relValue) {
  var links = this.docHead.getElementsByTagName("link");
  for (var i=0; i < links.length; i++) {
    var link = links[i];
    if (link.type=="image/x-icon" && link.rel==relValue) {
      this.docHead.removeChild(link);
      return; // Assuming only one match at most.
    }
  }
},
 
docHead:document.getElementsByTagName("head")[0]
};
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 var 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;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function getScroll(stub) {
	var parent = $(stub).parents('.stub-menu').get(0); 
	var index = $(parent).find('.stubs').children('.stub').index(stub); 
	var scroll = $(parent).find('.scrolls').children('.scroll').get(index);

	return scroll;
}

function getStub(stub) {
	var parent = $(stub).parents('.stub-menu').get(0); 
	var index = $(parent).find('.stubs').children('.stub').index(stub); 
	var scroll = $(parent).find('.stubs').children('.stub').get(index);

	return scroll;
}


function scrollOver(elem) {
	if (!scrollchanging) {
		elem = $(elem).parent('.stub').get(0);
		var parent = $(elem).parents('.stub-menu').get(0); 
		
		if (elem != hoverscrolls[parent.id])
		{	
			var scroll = getScroll(elem);
			
			// if (scroll.style.display == 'none')
			{
				$(scroll).stop(true,true);
				$(scroll).fadeIn();
				$(elem).removeClass('stub_unselected');
				$(elem).addClass('stub_selected');
			}

			if (hoverscrolls[parent.id] != null)
			{ 
				scroll = getScroll(hoverscrolls[parent.id]);
				$(scroll).fadeOut();
				$(hoverscrolls[parent.id]).removeClass('stub_selected');
				$(hoverscrolls[parent.id]).addClass('stub_unselected');
				

			}
			else if (elem != currentscrolls[parent.id])
			{
				scroll = getScroll(currentscrolls[parent.id]);
				$(scroll).fadeOut();
				$(currentscrolls[parent.id]).removeClass('stub_selected');
				$(currentscrolls[parent.id]).addClass('stub_unselected');

			}

		}
		hoverscrolls[parent.id] = elem;
	}
}

function stubsOut(elem) {

	if (!scrollchanging) { 
		var parent = elem;
		if (hoverscrolls[parent.id] != currentscrolls[parent.id])
		{
			var cscroll = getScroll(currentscrolls[parent.id]);
			$(cscroll).fadeIn();
			$(currentscrolls[parent.id]).removeClass('stub_unselected');
			$(currentscrolls[parent.id]).addClass('stub_selected');

		}
		hoverscrolls[parent.id] = currentscrolls[parent.id];
	}
}

function scrollOut(elem, relTarg) {
	
	var elemA = elem;
	elem = $(elem).parent('.stub').get(0);
	var parent = $(elem).parents('.stub-menu').get(0);
	
	if (relTarg != elemA)
	{
		if (!scrollchanging) { 
			
			if (elem != currentscrolls[parent.id])
			{
				var scroll = getScroll(elem);
				
				// if (scroll.style.display != 'none')
				{
					$(scroll).stop(true,true);
					$(scroll).fadeOut();
					$(elem).removeClass('stub_selected');
					$(elem).addClass('stub_unselected');

				}
			}
		}
		
		if (relTarg == null || !($(relTarg).parents('.stub > a').get(0) != null || $(relTarg).hasClass('.stub > a') ))
		{	
			stubsOut(parent);
		} 
	}
	
}

function scrollClick(elem) { 
	elem = $(elem).parent('.stub').get(0);
	var parent = $(elem).parents('.stub-menu').get(0);
	
	if (currentscrolls[parent.id] != elem)
	{
		
		
		if (currentscrolls[parent.id] != null)
		{
			$(currentscrolls[parent.id]).find('a').attr('href', '#');
	//		$(currentscrolls[parent.id]).find('a').children('img').removeClass('supress_underline');
	//		var backgroundimage = $(currentscrolls[parent.id]).css('background-image');
		//        $(currentscrolls[parent.id]).css('backgroundImage', backgroundimage.replace('-selected.png', '.png'));
			
		}
		currentscrolls[parent.id] = elem;
		var backgroundimage = $(elem).css('background-image');
		$(elem).find('a').removeAttr('href');
	//	$(elem).find('a').children('img').addClass('supress_underline');
	//	$(elem).css('backgroundImage', backgroundimage.replace('.png', '-selected.png'));
	
	}


}
var scrolling = false;
var pinposts = false;
var afterscroll = false;
function postsPin()
{
	$('#pin-posts').toggleClass('selected');
	$('#pin-posts').toggleClass('dark_colors');
	pinposts = !pinposts;
}

var update_timer;
var update_interval = 300000;
var last_update = 0;

function getSectionById(sections, id) {
	for (var i in sections) {
		if (sections[i].id == id) return sections[i];
	}
	return false;
}
/*
function update_items() { 
	var json_sections = [], sections = [], updatestring = '';
	$('.update_items').each(function() {
		var elem = this, $elem = jQuery(elem);
		var eclass = elem.className;
		var items_open = eclass.indexOf("items:");
		var limit = 0; 
		if (items_open) {
	       		var items_close = (eclass.substr(items_open, eclass.length - items_open)).indexOf(" ");
	       		limit = (items_close == -1) ? eclass.substr(items_open + 6, eclass.length - (items_open + 6)) : eclass.substr(items_open + 6, items_close - 6);
	       	}
	    
	    var items_open = eclass.indexOf("param:");
		var param = ""; 
		if (items_open) {
	       		var items_close = (eclass.substr(items_open, eclass.length - items_open)).indexOf(" ");
	       		param = (items_close == -1) ? eclass.substr(items_open + 6, eclass.length - (items_open + 6)) : eclass.substr(items_open + 6, items_close - 6);
	       	}
	    
		 args = param.split(',');
	      
	      
	       	var $last_child = $elem.children();
	       	$last_child = jQuery($last_child.get($last_child.size() - 1));
	       	var date_gmt = $($last_child.find('input.date_gmt').get(0)).val();
	       	
	       	var section = { id:this.id, limit:limit, datetime:date_gmt, args:args };
	       	sections[sections.length] = section;
	       	section = JSON.stringify(section);
	       	json_sections[json_sections.length] = section;
	});

	$.post("item.php",
		{action:'get_items', 'sections[]':json_sections, datetime:last_update},
		function(returned_data) { 

			var output = JSON.parse(returned_data);

			var modified_items = output.modified_items;
			
			for (var id in modified_items) {
				if (updateicon == false && infocus == false) favicon.change(themeDir+'/images/star-update.ico');
				updateicon = true;
				
				var elem = $('#'+id).get(0), $elem = jQuery(elem);
				var promote_items = $elem.hasClass('promote_items');
				var dummy_out = document.createElement('div');
				var dummy_new = document.createElement('div');
				var dummy_mod = document.createElement('div');
				$(dummy_out).html(modified_items[id]);
				var $elems_out = $(dummy_out).children();
				var $elems_existing = $(elem).children();
				var count_out = $elems_out.size();
				var count_existing = $elems_existing.size();

				for (var i= 0; i < count_out; i++) {
					var item_id = ($elems_out.get(i)).id;
					var existing_elem = $elem.children('#'+item_id).get(0);
					if (typeof(existing_elem) == 'undefined') {
						$(dummy_new).append($elems_out.get(i));
					}
					else {
						$(dummy_mod).append($elems_out.get(i));
					}
				}
	
				var $elems_new = $(dummy_new).children();
				var $elems_mod = $(dummy_mod).children();
				var count_new = $elems_new.size();
				var count_mod = $elems_mod.size();
				var limit = getSectionById(sections, id).limit;
				
				if (limit != '-1' && count_new + count_existing > limit) {
					var count_delete = (count_new + count_existing) - limit;
					var delete_item = $elems_existing.get(count_existing - 1);
					var delete_id = delete_item.id;
					for (var i= count_existing - 1; i > count_existing - count_delete - 1; i--) {
						$($elems_existing.get(i)).remove();	
					}
				}
				for (var i= count_new - 1; i >= 0; i--) {
					$clone = $($elems_new.get(i));
					var update_background = $clone.find('.update-background').get(0);
					$clone.prependTo(elem);
					if (typeof(update_background) == 'undefined')
						$clone.glow('gold', 1000, 100);
					else
						$(update_background).glow('gold', 1000, 100);
				}
				for (var i= count_mod - 1; i >=0; i--) {
					var item_id = ($elems_mod.get(i)).id;
					var existing_elem = $elem.children('#'+item_id).get(0);
					$clone = $($elems_mod.get(i));
					var update_background = $clone.find('.update-background').get(0);
					$(existing_elem).replaceWith($clone);
					if (promote_items == true) $clone.prependTo(elem);
					if (typeof(update_background) == 'undefined')
						$clone.glow('gold', 1000, 100);
					else
						$(update_background).glow('gold', 1000, 100);
				}
	
			}

		});
		
		
	
	
	var time = new Date();
	var gmtMS = time.getTime() ;
               + (time.getTimezoneOffset() * 60000);
	gmtTime = new Date(gmtMS);
	last_update = Math.round(gmtMS / 1000); 
}
*/

function create_stub_menus(elem) {
	$elem = jQuery(elem);
	
	//	var $elems;
	//		$elems = $elem.find('.stub-menu');
	
			var debugstr = "";
	$elem.find('.stub-menu').each(function() {
		debugstr += " " + this.id;
	});

		
		
		$elem.find('.stub-menu').each(function() {
		
			var stubs = null, scrolls = null;
			var movetofunc = null, movefromfunc = null;
			var speed = 200;
			
			var preview = true;
	
			if (this.id == 'hot-featured-stub-menu')
			{
				
			
				stubs = $($(document).find('#hot-featured-stubs').get(0)).children().get(0);
				scrolls = $(document).find('#hot-featured-scrolls').get(0);
				var parent = $(stubs).parents().get(0);
				
				speed = 400;
				movetofunc     = 
					function(selector) {
						var scrollLeft = $(parent).scrollLeft();
						var offsetX = scrollLeft;
						var posLeft = $(selector).position().left;
						var posWidth = $(selector).outerWidth();
						if (posLeft < scrollLeft)
							offsetX = posLeft - 30;
						else if (posLeft + posWidth > scrollLeft + $(parent).outerWidth())
							offsetX = posLeft + posWidth - $(parent).outerWidth() + 30;
						if (offsetX < 0) offsetX = 0;
						
						if (scrollLeft != offsetX) $(parent).scrollTo(offsetX , speed / 2);

		
						$(scrolls).scrollTo(this, 200);
					
				};
				movefromfunc     = 
					function() {


				};

		
			}
			else if ($(this).hasClass('archive-stub-menu'))
			{ 
				preview = false;
				stubs = $(this).find('.stubs').get(0);
				scrolls = $(this).find('.scrolls').get(0);
				var parent = $(stubs).parents().get(0);

				var $scrolls = jQuery(scrolls);
			
			$scrolls.bind('show', function(event) {
			
				var _scroll = $scrolls.data('_scroll');
				if (typeof(_scroll) != 'undefined') {
					$scrolls.scrollLeft(_scroll.left);
					$scrolls.scrollTop(_scroll.top);
				}  
							
			});
			$scrolls.bind('previewhide', function(event) {
				$scrolls.data('_scroll', {left:$scrolls.scrollLeft(), top:$scrolls.scrollTop()});
			});
				
				
				movetofunc     = 
					function(selector) {
					
						var scrollLeft = $(parent).scrollLeft();
						var offsetX = scrollLeft;
						var posLeft = $(selector).position().left;
						var posWidth = $(selector).outerWidth();
						if (posLeft < scrollLeft)
							offsetX = posLeft - 30;
						else if (posLeft + posWidth > scrollLeft + $(parent).outerWidth())
							offsetX = posLeft + posWidth - $(parent).outerWidth() + 30;
						if (offsetX < 0) offsetX = 0;
						if (scrollLeft != offsetX) $(parent).scrollTo(offsetX , speed / 2);

					
						$children = $(this).children();
						if ($children.size() > 0) {
						
						var archive_selection =  $(this).children().get(0);
					
						if (archive_selection != null)
							{
							if ($(archive_selection).html() == '')
							
								archiveget(this.id);
							}
						}
	
						$(scrolls).scrollTo(this, speed);
					
				};
				movefromfunc     = 
					function() {
						
			

				};

			
			}
			else if ($(this).hasClass('group-stub-menu'))
			{
			
				stubs = $(this).find('.stubs').get(0);
				scrolls = $(this).find('.scrolls').get(0);
				var parent = $(stubs).parents().get(0);
				
				movetofunc     = 
					function(selector) {
					
						var scrollLeft = $(parent).scrollLeft();
						var offsetX = scrollLeft;
						var posLeft = $(selector).position().left;
						var posWidth = $(selector).outerWidth();
						if (posLeft < scrollLeft)
							offsetX = posLeft - 30;
						else if (posLeft + posWidth > scrollLeft + $(parent).outerWidth())
							offsetX = posLeft + posWidth - $(parent).outerWidth() + 30;
						if (offsetX < 0) offsetX = 0;
						
						if (scrollLeft != offsetX) $(parent).scrollTo(offsetX , speed / 2);
						
						$(scrolls).scrollTo(this, speed, {over:{top:0, left:-0.18}});
						
						$(this).find('.item_move').hide();
						$(this).find('.item_arrows').hide();
						// $(this).find('.item_image').css('display', 'block');
						$(this).find('.item_text').css({'width':'190px', 'marginLeft':'10px'});
						$(this).find('.background_repeat').css('background','white');
						$(this).css('background','transparent');

						
					
				};
				movefromfunc     = 
					function() {
						
						$(this).find('.item_move').show();
						$(this).find('.item_arrows').show();
						// $(this).find('.item_image').css('display', 'none');
						$(this).find('.item_text').css({'width':'145px', 'marginLeft':'0px'});
					//	$(this).find('.background_repeat').css('background','#EFEFEF');
					//	$(this).css('background','#EFEFEF');

				};

			}
			else if ($(this).hasClass('modal-menu')) {
				stubs = $(this).find('.stubs').get(0);
				scrolls = $(this).find('.scrolls').get(0);
				
				
				movetofunc     = 
					function() {
						
						$(this).find('input').attr("disabled", "");
	

						$(scrolls).scrollTo(this, speed);
					
				};
				movefromfunc     = 
					function() {
						$(this).find('input').attr("disabled", "disabled");
				};

			
			}
			else
			{
				stubs = $(this).find('.stubs').get(0);
				scrolls = $(this).find('.scrolls').get(0);
				
				
				movetofunc     = 
					function() {
						
						$(this).find('.item_move').css('display', 'none');
					//	$(this).find('.item_image').css('display', 'block');
						$(this).find('.item_text').css({'width':'190px', 'marginLeft':'10px'});
						
						
						$(scrolls).scrollTo(this, speed);
					
				};
				movefromfunc     = 
					function() {
						
						$(this).find('.item_move').css('display', 'block');
					//	$(this).find('.item_image').css('display', 'none');
						$(this).find('.item_text').css({'width':'145px', 'marginLeft':'0px'});
	

				};

			}
			

			var selectedindex = ($(this).hasClass('archive-stub-menu')) ? 1 : 0;
			var leftv = ($(this).hasClass('archive-stub-menu')) ? 750 : 0;

			$(this).page({selectors:$(stubs).children(), pages:$(scrolls).children(), preview:preview, moveto:movetofunc, movefrom:movefromfunc, selectable:true, pause:false, selected:selectedindex});
		
			
			$(scrolls).scrollLeft(leftv);
			$(scrolls).data('_scroll', {left:leftv, top:0});			
				
		
		});
		
		$(elem).find('.repeater_left').each(function() {
			
			var content = $(this).siblings('.sections_scroll').get(0);
			$(this).scrollrepeater({direction:'left',bind:content,offset:'element',latency:160,smoothscroll:true});
			
		});

		$(elem).find('.repeater_right').each(function() {
		
			var content = $(this).siblings('.sections_scroll').get(0);
			$(this).scrollrepeater({direction:'right',bind:content,offset:'element',latency:160,smoothscroll:true});
		
		});
		
		$(elem).find('.scrolltrack').each(function() {
			
			var content = $(this).siblings('.sections_scroll').get(0);
			$(this).scrolltrack({bind:content,latency:160,orientation:'horizontal',smoothscroll:true});
		
		});
		$(elem).find('.item_move').each(function() {
			var scroll = $(this).parents('.scroll').get(0), $scroll = jQuery(scroll);
			var stubmenu = $scroll.parents('.stub-menu').get(0), $stubmenu = jQuery(stubmenu);

			$(this).mouseleave(function() {
				
				$scroll.find('.backgrond_select').css('background','transparent');
				$scroll.find('.item_move').css('background','#888');
			});
			
			$(this).mouseenter(function() {

				$scroll.find('.backgrond_select').css('background','bisque');
				$scroll.find('.item_move').css('background','bisque');
			
			});
			$(this).click(function() {
				$stubmenu.page('moveto',scroll);
			});
		
		});
		
}

function create_controls(elem) {

	$elem = jQuery(elem);

		settingsdirtyclick = function() {
			$('#settings-message').hide();
		};
		
		$elem.find('.settings-dirty').click(settingsdirtyclick);
		
		$elem.find('.selection-control').mouseenter(function() {
		
			//var select = $(this).parents('.selection-control').get(0);
			var color = get_class_var(this,'color');
			$(this).children('.selection-caret').css('visibility', 'visible');
			$(this).css('color', color );

		});
		$elem.find('.selection-control').mouseleave(function() {
		
			if (!$(this).hasClass('clicked'))
			{		
				$(this).children('.selection-caret').css('visibility', 'hidden');
				$(this).css('color', 'black');
			}

		});
		$elem.find('.selection-control').click(function() {
			var selset = $(this).parents('.selection-set').get(0);
			var valset = get_class_var(this,'val');
			var unselect = get_class_var(selset,'unselect');
			var color = get_class_var(this,'color');

			clickedthis = this;
			$(selset).children('.selection-control').each(function()
			{
				if (this != clickedthis || ($(clickedthis).hasClass('clicked') && unselect != 'no'))
				{
		
					$(this).children('.selection-caret').css('visibility', 'hidden');
					$(this).css('color', 'black');
				}
				if (this != clickedthis) {
							$(this).removeClass('clicked'); }

			});
			if (unselect != 'no')
			{
				if (!$(this).hasClass('clicked'))
				{
						$(this).children('.selection-caret').css('visibility', 'visible');
						$(this).css('color', color );

				}
			
				$(this).toggleClass('clicked');
				if ($(this).hasClass('clicked'))
				{
					$(selset).children('.selection-input').val(valset);
				}
				else
				{
					$(selset).children('.selection-input').val("");
				}
			}
			else
			{
				$(this).addClass('clicked');
				$(selset).children('.selection-input').val(valset);
			}
			
		
		});
		
		filterleave = function() {
		
			$(this).removeClass('select-delete');
		};
		
		filterenter = function() {
		
			$(this).addClass('select-delete');
		};
		
		filterclick = function() {
			var selsec = $(this).parents('.section').get(0);
			var selitem = $(this).parents('.filter-item').get(0);
			var selset = $(this).parents('.filter-set').get(0);
			var selnil = $(selsec).find('.filter-nil').get(0);
			var selalt = (typeof selnil != 'undefined') ? get_class_var(selnil,'alt') : "";
			selalt = unescape(selalt);
			selalt = selalt.replace(/\+/g," ");
			var selinput = $(selset).children('.filter-input').get(0);
			var valitem = get_class_var(selitem,'val');
			var filterto = get_class_var(selset,'filterto');
			var toset = $("#"+filterto).get(0);
			var toinput = $(toset).children('.filter-input').get(0);
			var tosec = $(toset).parents('.section').get(0);
			var tonil = $(tosec).find('.filter-nil').get(0);
			var toalt = (typeof tonil != 'undefined') ? get_class_var(tonil,'alt') : "";
			toalt = unescape(toalt);
			toalt = toalt.replace(/\+/g," ");
			$(selitem).remove();
			$(selitem).appendTo(toset);
			var selval = $(selinput).val();

			selval = selval.replace(","+valitem, "");
			selval = selval.replace(valitem, "");
			selval = selval.replace(",,", ",");
			if (selval.charAt(0) == ",") selval = selval.substr(1, selval.length - 1);
			var toval = $(toinput).val();
			if (toval.length > 0) toval = toval + ",";
			toval = toval + valitem;
					
			if (selval.length == 0)
			{

				if (typeof selnil == 'undefined')
					{ $(selsec).addClass('hidden'); }
				else 
				{	$(selnil).removeClass('hidden'); $(selnil).html(selalt); }
			}
			if (typeof tonil == 'undefined')
				{ $(tosec).removeClass('hidden'); }
			else
				{ $(tonil).addClass('hidden');  $(tonil).html(toalt); }
			
			$(selinput).val(selval);
			$(toinput).val(toval);
			
			$(this).mouseleave(filterleave);
			$(this).mouseenter(filterenter);
			$(this).click(filterclick);
		};
		
		$elem.find('.filter-remove').mouseleave(filterleave);

		
		$elem.find('.filter-remove').mouseenter(filterenter);

		$elem.find('.filter-remove').click(filterclick);


		


		
		$elem.find('.rating-vote').mouseenter(function() {
			$(this).children('.rating-breakdown').show();
		
		});
		$elem.find('.rating-vote').mouseleave(function() {
			$(this).children('.rating-breakdown').hide();
		});

		
		$elem.find('.ratings-vote a').mouseenter(function() {
		
			
			var vote = $(this).parents('.ratings-vote').get(0);
			var color = get_class_var(vote,'color');
			$(this).children('.rate_image').css('background-color', color );
			$(this).css('color', color );
		
		});
		$elem.find('.ratings-vote a').mouseleave(function() {
			if (!$(this).hasClass('clicked'))
			{
				$(this).children('.rate_image').css('background-color', '#eee');
				$(this).css('color', 'black');
			}
		});

		$elem.find('.ratings-vote a').click(function() {
			if ($(this).hasClass('rating-login')) {
			
			return;
			}
		
			var vote = $(this).parents('.ratings-vote').get(0);
			var color = get_class_var(vote,'color');
			var par = $(vote).parents('.ratings').get(0);
			var display = $(par).children('.ratings-display').get(0);
			var clickedthis = this;
				var clicked = $(this).hasClass('clicked');
				
			
			$(vote).find('a').each(function() {
				if (this != clickedthis || $(clickedthis).hasClass('clicked'))
				{
					$(this).children('.rate_image').css('background-color', '#eee');
					$(this).css('color', 'black');
	
				}
					if (this != clickedthis)
				{
								$(this).removeClass('clicked');
				}
			});
			var rating = get_class_var(this,'rating');
			var label = get_class_var(vote,'label');
			var user_id = get_class_var(vote,'user_id');
			var comment_id = get_class_var(vote,'comment_id');
			
		
			var listname = get_class_var(vote,'list');

				
			 var params = {
                action: 'change_rating',
                user_id: user_id,
                comment_id: comment_id,
                rating: rating,
                label: label,
                list_name: listname,
                remove: clicked
             };
             
             $(display).html('<img src="'+themeDir+'/images/adorners/ajax-loader-light-gray-small.gif"/>');

			$.post(themeDir+"/ratings.php", params, function(return_data) {
				  $(display).html($(return_data).html());
				  
				  			
				$(display).children('.rating-vote').mouseenter(function() {
					$(this).children('.rating-breakdown').show();
				
				});
				$(display).children('.rating-vote').mouseleave(function() {
					$(this).children('.rating-breakdown').hide();
				});
				
				create_carets(display);

				});
				
		
			if (!$(this).hasClass('clicked'))
			{
					$(this).children('.rate_image').css('background-color', color );
					$(this).css('color', color );
		
			}
			
			$(this).toggleClass('clicked');
	

		});
		
		followclick = function() {

			var box = $(this).parents('.set-follow').get(0);
			var stop = $(box).hasClass('stop-following');
			var user_id = get_class_var(box,'user_id');	
			var follow_id = get_class_var(box,'follow_id');	
			var follow_link = this;
			var action_type = stop ? 'stop_following' : 'start_following';

			 var params = {
                action: action_type,
                user_id: user_id,
                follow_id: follow_id
             };
             
             $(box).html('<img src="'+themeDir+'/images/adorners/ajax-loader-light-gray-small.gif"/>');

			$.post(themeDir+"/social.php", params, function(return_data) {
			
				if (return_data == '1')
				{
				
				if (stop) 
					{ $(follow_link).html("Follow");  $(box).removeClass('stop-following'); $(box).addClass('start-following'); }
				else
					{ $(follow_link).html("Stop following"); $(box).addClass('stop-following'); $(box).removeClass('start-following'); }
					
					$(box).html(follow_link);
					
					$(follow_link).click(followclick);

				}

				});
				

		};
		
		$elem.find('a.social-connector-login').click(function() {
			var key = get_class_var(this, 'connector');
			
			$('.login-social-'+key+'-wait').html('<img src="'+themeDir+'/images/adorners/ajax-loader-small.gif"/>');
			$('.login-social-'+key+'-wait').removeClass('hidden');
			var cookie_name = 'wp_social_connector_'+key;
			eraseCookie(cookie_name);
	        loginWin = window.open(urlDir+"/wp-content/plugins/social-connectors/social-connectors.php?action=create_connection&connector="+key+"&connector_popup=1", "RATA-Connector-"+key+"-Signin", "width=710,height=300,toolbar=0,scrollbars=0,status=0,resizable=0,location=0,menuBar=0,left=20,top=30");
	   		setTimeout(function() { checkLoginStatus(key); }, 1000);
	   		loginWin.focus();
		});

		
		$elem.find('a.social-connector-link').click(function() {
			var key = get_class_var(this, 'connector');
			
			$('.register-social-'+key+'-wait').html('<img src="'+themeDir+'/images/adorners/ajax-loader-small.gif"/>');
			$('.register-social-'+key+'-wait').removeClass('hidden');
			var cookie_name = 'wp_social_connector_'+key;
			eraseCookie(cookie_name);
	        linkWin = window.open(urlDir+"/wp-content/plugins/social-connectors/social-connectors.php?action=create_connection&connector="+key+"&connector_popup=1", "RATA-Connector-"+key+"-Signin", "width=710,height=300,toolbar=0,scrollbars=0,status=0,resizable=0,location=0,menuBar=0,left=20,top=30");
	   		setTimeout(function() { checkLinkStatus(key); }, 1000);
	   		linkWin.focus();
		});

		$elem.find('a.social-connector-delink').click(function() {
			var key = get_class_var(this, 'connector');
			

			$('.register-social-'+key+'-wait').html('<img src="'+themeDir+'/images/adorners/ajax-loader-small.gif"/>');
			$('.register-social-'+key+'-wait').removeClass('hidden');
			$.post(urlDir+"/wp-content/plugins/social-connectors/social-connectors.php",
				{action:'delink_connection', connector:key},
				function(returned_data)
				  {
				  	$('.register-social-'+key+'-wait').addClass('hidden');
		
				  	var returned_data = returned_data.trim();
					
					if (returned_data == "success")
					{
			
						$('.register-social-'+key+'-wait').addClass('hidden');
						$('.register-social-'+key+'-text').addClass('hidden');
						$('.register-social-'+key+'-link').removeClass('hidden');
						$('.register-social-'+key+'-delink').addClass('hidden');
		
				  	}
				  	else
				  	{
				 
						$('.register-social-'+key+'-wait').html('<img src="'+themeDir+'/images/adorners/x-red.png"/>');
						$('.register-social-'+key+'-wait').removeClass('hidden');
				  	
				  	}
				  	
				  }
			  	
			  );
		});
		$elem.find('.twitter-share-link').click(function() {
	        sharerWin = window.open("http://twitter.com/intent/tweet?text="+encodeURIComponent(document.title)+"&url="+encodeURIComponent(window.location.href)+"&via=theatlanticright", "RATA-twitter-Sharer", "width=710,height=300,toolbar=0,scrollbars=0,status=0,resizable=0,location=0,menuBar=0,left=20,top=30");
			sharerWin.focus();

		});
		
		$elem.find('.twitter-share-link').mouseenter(function() {
		
			
	
		//	$(this).children('.rate_image').css('background-color', color );
			$(this).css('color', '#57D5FF' );
		
		});
		$elem.find('.twitter-share-link').mouseleave(function() {
			if (!$(this).hasClass('clicked'))
			{
			//	$(this).children('.rate_image').css('background-color', '#eee');
				$(this).css('color', 'black');
			}
		});
		$elem.find('.facebook-share-link').mouseenter(function() {
		
			
	
		//	$(this).children('.rate_image').css('background-color', color );
			$(this).css('color', '#2544B2' );
		
		});
		$elem.find('.facebook-share-link').mouseleave(function() {
			if (!$(this).hasClass('clicked'))
			{
			//	$(this).children('.rate_image').css('background-color', '#eee');
				$(this).css('color', 'black');
			}
		});

		
		$elem.find('.facebook-share-link').click(function() {
	        sharerWin = window.open("http://www.facebook.com/sharer.php?u="+encodeURIComponent(window.location.href), "RATA-facebook-Sharer", "width=710,height=300,toolbar=0,scrollbars=0,status=0,resizable=0,location=0,menuBar=0,left=20,top=30");
			sharerWin.focus();

		});
			
		
		$elem.find('.set-follow a').click(followclick);

}

	function checkLinkStatus(key) {
		if (linkWin.closed) {
			var cookie_name = 'wp_social_connector_'+key;
			var cookie_content = readCookie(cookie_name);
			
			if (typeof(cookie_content) != 'undefined' && cookie_content != null && cookie_content != "" && cookie_content != "fail") {
				$('.register-social-'+key+'-wait').html('<img src="'+themeDir+'/images/adorners/check-green.png"/>');
				$('.register-social-'+key+'-link').addClass("hidden");
				$('.register-social-'+key+'-text').removeClass("hidden");
				$('.register-social-'+key+'-delink').removeClass("hidden");
			}
			else {
				$('.register-social-'+key+'-wait').html('<img src="'+themeDir+'/images/adorners/x-red.png"/>');
			}
			
		}
		else setTimeout(function() { checkLinkStatus(key); }, 1000);
	}

	function checkLoginStatus(key) {
		if (loginWin.closed) {
			var cookie_name = 'wp_social_connector_'+key;
			var cookie_content = readCookie(cookie_name);
			
			if (typeof(cookie_content) != 'undefined' && cookie_content != null && cookie_content != "" && cookie_content != "fail") {
				$('.login-social-'+key+'-wait').html('<img src="'+themeDir+'/images/adorners/check-green.png"/>');
				location.reload(true);
			}
			else {
				$('.login-social-'+key+'-wait').html('<img src="'+themeDir+'/images/adorners/x-red.png"/>');
			}
			
		}
		else setTimeout(function() { checkLoginStatus(key); }, 1000);
	}


function create_carets(elem) {

	$elem = jQuery(elem);

	$elem.find('.caret').each(
		function(index) {
		
		var cssheight =  $(this).innerHeight();
		var csswidth =  $(this).innerWidth();
		
		var eclass = this.className;
			
		var items_open = eclass.indexOf("caret_size:");
		
		var size = ''; 
		var items_close = -1;

		if (items_open) {
	       		items_close = (eclass.substr(items_open, eclass.length - items_open)).indexOf(" ");
	       		size = (items_close == -1) ? eclass.substr(items_open + 11, eclass.length - (items_open + 11)) : eclass.substr(items_open + 11, items_close - 11);
	       	
	       	}
	       		
	    var sizexy = size.split(',');
	  
	  	items_open = eclass.indexOf("caret_position:");
		
		var position = '';

		if (items_open) {
	       		items_close = (eclass.substr(items_open, eclass.length - items_open)).indexOf(" ");
	       		position = (items_close == -1) ? eclass.substr(items_open + 15, eclass.length - (items_open + 15)) : eclass.substr(items_open + 15, items_close - 15);
	       	
	       	}
	       	
	     var posxy = position.split(',');
	     
	     items_open = eclass.indexOf("caret_margin:");
		
		var margin  = '';

		if (items_open) {
	       		items_close = (eclass.substr(items_open, eclass.length - items_open)).indexOf(" ");
	       		margin = (items_close == -1) ? eclass.substr(items_open + 13, eclass.length - (items_open + 13)) : eclass.substr(items_open + 13, items_close - 13);
	       	
	       	}
	       	
		var posleft = 0, postop = 0;
	   
	   	if (posxy[0] == 'top' || posxy[0] == 'bottom')
	   	{
			if (posxy[1] == 'left')
				posleft  = margin;
			else if (posxy[1] == 'right')
				posleft  = csswidth - sizexy[1] - margin;
			else if (posxy[1] == 'center')
				posleft  = (csswidth / 2) - (sizexy[1] / 2);
		}
		else if (posxy[0] == 'left' || posxy[0] == 'right')
		{
			if (posxy[1] == 'top')
				postop  = margin;
			else if (posxy[1] == 'bottom')
				postop  = cssheight - sizexy[1] - margin;
			else if (posxy[1] == 'center')
				postop  = (cssheight / 2) - (sizexy[1] / 2);
		}
		
		var sizewidth = 0, sizeheight = 0;
		
		if (posxy[0] == 'top' || posxy[0] == 'bottom')
		{	sizeheight = sizexy[1]; sizewidth = sizexy[0]; }
		else if (posxy[0] == 'left' || posxy[0] == 'right')
		{	sizeheight = sizexy[0]; sizewidth = sizexy[1]; }
		
		var cssbackground = $(this).css('backgroundColor');
			var newdiv = document.createElement('div');
			$(newdiv).css({'position':'absolute', 'height':sizeheight+'px','width':sizewidth+'px' });
			if (posxy[0] == 'bottom')
				$(newdiv).css('bottom', -sizeheight);
			else if (posxy[0] == 'top')
				$(newdiv).css('top', -sizeheight);
			else if (posxy[0] == 'left')
				$(newdiv).css('left', -sizewidth);
			else if (posxy[0] == 'right')
				$(newdiv).css('right', -sizewidth);
			
			if (posxy[1] == 'left')
				$(newdiv).css('left', +margin);
			else if (posxy[1] == 'right')
				$(newdiv).css('right', +margin);
			else if (posxy[1] == 'top')
				$(newdiv).css('top', +margin);
			else if (posxy[1] == 'bottom')
				$(newdiv).css('bottom', +margin);
	
				
			$(this).append(newdiv);
			var paper = Raphael(newdiv, sizewidth, sizeheight);
			var c;
			if (posxy[0] == 'bottom')
				c = paper.path("M0 0,"+(sizewidth)+" 0,"+(sizewidth/2)+" "+sizeheight+",z");
			else if (posxy[0] == 'top')
				c = paper.path("M0 "+(sizeheight)+","+(sizewidth)+" "+(sizeheight)+","+(sizewidth/2)+" 0,z");
			else if (posxy[0] == 'right')
				c = paper.path("M0 0,"+(sizewidth)+" "+(sizeheight/2)+",0 "+sizeheight+",z");
			else if (posxy[0] == 'left')
				c = paper.path("M0 "+(sizewidth)+","+(sizeheight/2)+" "+(sizeheight)+","+(sizewidth)+" 0,z");

			c.attr({fill: cssbackground, stroke:'none'});
			});
}

function get_class_var(elem, name)
{
	$elem = jQuery(elem);
	var eclass = elem.className;
	var items_open = eclass.indexOf(name+":");

	var len = (name+":").length;
	var v = null; 
	if (items_open >= 0) { 
       		var items_close = (eclass.substr(items_open, eclass.length - items_open)).indexOf(" ");
       		v = (items_close == -1) ? eclass.substr(items_open + len, eclass.length - (items_open + len)) : eclass.substr(items_open + len, items_close - len);
       	}
	return v;
		
}


(function($){

	$(document).ready(function(){


	 	
 	$(window).focus(function() {
		if (updateicon == true) favicon.change(themeDir+'/images/star.ico');
		updateicon = false;
		infocus = true;
		
	});
 	$(window).blur(function() {
 		infocus = false;
		
	});
	
/*
		var cookie_interval= readCookie('pg_update_interval');
		update_interval = cookie_interval != null ? cookie_interval : 300000;
		
		var time = new Date();
		var gmtMS = time.getTime() ;
	              + (time.getTimezoneOffset() * 60000);
	        gmtTime = new Date(gmtMS);
                last_update = Math.round(gmtMS / 1000);
		if (update_interval != 0) update_timer = window.setInterval(update_items, update_interval);
		*/
		var settingsexpand = function() {
			var display = $('#menubar-settings').css('display');
			if (display == 'none') {
				$('#menubar-settings').slideDown('fast');
				$('#expander-settings').removeClass('down');	
				$('#expander-settings').addClass('up');	
				$('#title-settings').removeClass('down');
				$('#title-settings').addClass('up');	
			}
			else {
				$('#expander-settings').addClass('down');	
				$('#expander-settings').removeClass('up');
				$('#title-settings').addClass('down');	
				$('#title-settings').removeClass('up');
				$('#menubar-settings').slideUp('fast');

			}		
		}
		
		
		$('#expander-settings').click(settingsexpand);
		$('#title-settings').click(settingsexpand);
		/*
		$('.update_menu_select').each(function() {
			var html = $(this).html();
			var interval = $($(this).children('input').get(0)).val() * 60 * 1000; 
			if (interval == update_interval) {
				$('#update_menu_active').html(html);
				$('#update_menu_active').css('backgroundImage', $(this).css('backgroundImage'));
				$(this).addClass('selected');
			}
		});
		
		$('.update_menu_select').click(function(e) {
			var elem = this;
			$('.update_menu_select').each(function() {
				if (elem != this) $(this).removeClass('selected');
			});
			var html = $(this).html();
			$('#update_menu_active').html(html);
			$('#update_menu_active').css('backgroundImage', $(this).css('backgroundImage'));
			update_interval = $($(this).children('input').get(0)).val() * 60 * 1000;
			window.clearInterval(update_timer); 
			if (update_interval != 0) update_timer = window.setInterval(update_items, update_interval); 
			createCookie('pg_update_interval', update_interval);
			
		});
		
		$('.update_menu_select').mouseenter(function(e) {
			$(this).addClass('selected');
		});
		
		$('.update_menu_select').mouseleave(function(e) {
			if ($('#update_menu_active').html() != $(this).html())
				$(this).removeClass('selected');
		});
		*/
		$('#posts-link-posts').mouseenter(function(e){
			if (!pinposts) {
			$(this).stop(true, true);
			$(this).children('#info-link-posts').stop(true,true);
			$(this).children('#info-link-posts').slideDown();
			$(this).css({'overflow':'auto'});
			$(this).animate({height:'440px'}, 100);
		
			}

		});
		
		$('#posts-link-posts').mouseleave(function(e){
			if (!pinposts) {
			$(this).stop(true, true);
			$(this).children('#info-link-posts').stop(true,true);
			$(this).children('#info-link-posts').slideUp();
			$(this).scrollTo(0, 100, {queue:false});
			$(this).css({'overflow':'hidden'});
			$(this).animate({height:'110px'}, 100);
			
			}
		
		});

			
			$('.selfscroll').selfscroll({direction:'horizontal', speed:8, center:{X:'72px', Y:2.0}});

			var track = '<div style="height:100%; width:100%; background:lightgrey;" class="_track"><div style="height:100%;" class="_thumb"><div style="height:100%; width:100%; background:gold; position:absolute; display:none;" class="_active"></div></div></div>';
			
			$('.selfscrollbar').each(function(){
				var content = $($(this).parent().get(0)).siblings('.selfscroll').get(0);
				$(this).scrollbar({orientation:'horizontal', template:track, bind:content});
			
			});
			
			$('.selfscroll').bind('scrollstart', function() { $(this).find('.callout').hide(); scrolling = true; });
			$('.selfscroll').bind('scrollstop', function() {  scrolling = false; afterscroll = true; });
			$('.selfscroll').wrap('<div class="selfscroll-wrap inline_block" style="position:relative; overflow:hidden;"></div>');
			
			$('.selfscroll-wrap').each(function() {
				var css = {'height':'100%', 'width':'10px', 'position':'absolute', 'top':'0px', 'background-repeat':'repeat-y', 'display':'none', 'visibility':'hidden'};
				
				var leftfade = document.createElement('div');
				$(leftfade).css(css);
				leftfade.style.left = '0px';
				leftfade.style.backgroundPosition = 'top left';
				leftfade.style.backgroundImage = 'url('+themeDir+'/images/decorators/fade-white-left.png)';

				leftfade.className = 'leftfade';
				$(this).append(leftfade);
				
				var rightfade = document.createElement('div');
				$(rightfade).css(css);
				rightfade.style.left = (550 - 10)+'px';
				rightfade.style.backgroundPosition = 'top left';
				rightfade.style.backgroundImage = 'url('+themeDir+'/images/decorators/fade-white-right.png)';

				rightfade.className = 'rightfade';
				$(this).append(rightfade);
			
			});
			
			
			$('.selfscroll').mouseenter(function() { $(this).siblings('.leftfade').css('visibility', 'visible'); $(this).siblings('.rightfade').css('visibility', 'visible'); }  );
			$('.selfscroll').mouseleave(function() { $(this).siblings('.leftfade').css('visibility', 'hidden'); $(this).siblings('.rightfade').css('visibility', 'hidden'); } );
			
			$('.selfscroll').bind('scrolledge', function(event) {
	
				if (event.sideX == 'right') $(this).siblings('.rightfade').hide(); else $(this).siblings('.rightfade').show();
				if (event.sideX == 'left')  $(this).siblings('.leftfade').hide(); else $(this).siblings('.leftfade').show();
	
			});
			
			$('.selfscroll').trigger('scroll');

			
			$('.callout').siblings('.callin').mouseenter(function(e){
				if (!scrolling)
				{
				var selfscroll = $(this).parents('.selfscroll').get(0), $selfscroll = jQuery(selfscroll);
				var posy = $(this).offset().top + $(this).height() - $(window).scrollTop()
				var posx = $(this).offset().left - $(window).scrollLeft()
				$(this).siblings('.callout').stop(true, true)
				$(this).siblings('.callout').css({'top':posy+"px", 'left':posx+"px"})
				$(this).siblings('.callout').fadeIn(250);
				}

			});
			
			$('.callout').siblings('.callin').bind('edge', function(e){
				if (afterscroll) {
				var selfscroll = $(this).parents('.selfscroll').get(0), $selfscroll = jQuery(selfscroll);
				var posy = $(this).offset().top + $(this).height() - $(window).scrollTop()
				var posx = $(this).offset().left - $(window).scrollLeft()
				$(this).siblings('.callout').stop(true, true)
				$(this).siblings('.callout').css({'top':posy+"px", 'left':posx+"px"})
				$(this).siblings('.callout').fadeIn(250);
				afterscroll = false;
				}

			});
			
			$('.callout').siblings('.callin').mouseleave(function(e){
			       // if (!scrolling)
				{
				$(this).siblings('.callout').stop(true, true);
				$(this).siblings('.callout').fadeOut(250);
				}
			});
			
		create_controls(document.body);
		create_stub_menus(document.body);
		
		create_carets(document.body);
		

	 	$('.menu-scroll').each(function() {
	 		$elem = jQuery(this);
	 		$elem.css('display', 'none');
			$elem.css('visibility', 'visible');
		});

		$('#menu-stubs').each(function() {
	
			var stubs = null, scrolls = null;

			var speed = 200;
				stubs = this;
				var $stubs = $(stubs).children();
				var $scrolls = $(this).find('.menu-scroll');
				//var scrolls = $scrolls.toArray();
			//	alert(scrolls);
	

			$(this).page({selectors:$stubs, pages:$scrolls, preview:true, selectable:false});
		});
		

		/*
		$('.stub-menu').each(function(){
			
			currentscrolls[this.id] = $(this).find('.stub').get(0);
			
			$(this).find('.stub > a').each(function(){
			
				$(this).mouseenter(function(){
					scrollOver(this);
				});
				$(this).mouseleave(function(e){
					if (!e) var e = window.event;
					var relTarg = e.relatedTarget || e.toElement;
					scrollOut(this, relTarg);
				});
	
				$(this).click(function(){
					scrollClick(this);
				});			
			
			});
			
		});
		*/

	});
	$(document).ready(function(){
	
	});
})(jQuery);
