// basic functions for use in all pages
var url,dir,core,user,l={
	url:'',
	dir:'',
	core:'',
	loc:'',
	user:0,
	storage:false,
	date:new Date(),
	ie:0
};
var date=new Date();

if (!Array.indexOf)
{
	Array.prototype.indexOf=function(obj)
	{
		for(var i=0;i<this.length;i++)
		{
			if (this[i]==obj) return i;
		}
		return -1;
	}
}
if (!Array.remove)
{
	Array.prototype.remove=function(from,to)
	{
		var rest=this.slice((to||from)+1||this.length);
		this.length=from<0?this.length+from:from;
		return this.push.apply(this,rest);
	};
}
if (!String.shorten)
{
	String.prototype.shorten=function(length)
	{
		if (this.length>length) return this.substr(0,length)+'&hellip;';
		else return this;
	};
}
function shorten(string,length)
{
	if (string.length>length) return string.substr(0,length)+'&hellip;';
	else return string;
};
var _zeroPad=function(num)
{
	var s='0'+num;
	return s.substring(s.length-2);
};

if (!window.console)
{
	window.console=new function()
	{
		this.log=function(str){};
		this.dir=function(str){};
	};
}

function isNumeric(input)
{
   return (input-0)==input && input.length>0;
};

function supports_html5_storage()
{
	try {
		return 'localStorage' in window && window['localStorage']!==null;
	} catch (e) {
		return false;
	}
};

jQuery.expr[':'].parents=function(a,i,m){
    return jQuery(a).parents(m[3]).length < 1;
};

// javascript displays


function checkUser()
{
	$.get(l.url+'ajax_user.php',function(msg){
		l.user=unescape(msg);
	});
}

/* function loginForm()
{
 	login='<form action="'+l.url+'login.php" method="post" name="login">';
	login+='<fieldset class="login align">';
	login+='<label>Email address</label><input type="text" name="email"/><br/>';
	login+='<label>Password</label><input type="password" name="pass"/><br/>';
	login+='<label>Save on this computer?</label><input type="checkbox" name="remember" value="yes"/><br/>';
	login+='<input type="submit" value="log in" class="submit"/>';
	login+='</fieldset>';
	login+='<p class="center"><a href="'+l.url+'user_forgotten.php" title="click here to recover your password via email">forgotten your password?</a></p>';
	login+='</form>';
	reg='<form action="'+l.url+'db_add.php" method="post" name="register"><input type="hidden" name="type" value="user-register"/>';
	reg+='<p>Enter your email address and we will create your account.</p><p>Your password will be emailed to you to activate your account.</p>';
	reg+='<fieldset class="register align">';
	reg+='<label>Email address</label><input type="text" name="email"/><br/>';
	reg+='<label for="terms">you agree to the <a href="'+l.url+'legal" title="This will open in a new window" target="_blank">Terms & Conditions</a></label><input type="checkbox" name="terms" value="1"/><br/>';
	reg+='<input type="submit" value="create account" class="submit"/>';
	reg+='</fieldset></form>';
	form='<div class="box login"><div class="box-h"><div class="box-h-r"><h4>Login</h4><br class="clear"/></div></div><div class="box-r">';
	form+=login;
	form+='</div><div class="box-b"><span></span></div></div>';
	form+='<div class="box register"><div class="box-h"><div class="box-h-r"><h4>Register</h4><br class="clear"/></div></div><div class="box-r">';
	form+=reg;
	form+='</div><div class="box-b"><span></span></div></div>';
	$.get('login.php',{ajax:1},function(data){
		form=data;
	});
} */

// block login box
/* $.fn.login=function(){
	form=loginForm();
	$.blockUI({
		message:form,
		css:{width:'70%',left:'15%',padding:'0 0 5px 10px',color:'#666'}
	});
    $('.blockOverlay').css('cursor','pointer').attr('title','Click to cancel login').click($.unblockUI);
	return this;
}; */
function loginForm()
{
	$.get(l.url+'login.php',{ajax:1},function(form){
		$('<div class="ajax-login">').remove();
		$('<div class="ajax-login">').html(form).hide().appendTo('body');
		$.blockUI({
			message:$('div.ajax-login'),
			css:{width:'70%',left:'15%',padding:'0 0 5px 10px',color:'#666'}
		});
		$('.blockOverlay').css('cursor','pointer').attr('title','Click to cancel login').click($.unblockUI);
	});
	return this;
};

function loginHandle(msg,$submit)
{
	easyOverlay.close();
	$('#nav').html(msg[1]);
	l.user=1;
};
// this is needed to support the overlay handling above
function loginOverlay($overlay)
{
};

$.fn.toggleText=function(a,b)
{
	return this.text(($(this).text()==a?b:a));
};

$(document).ready(function(){
	l.url=$('input[name="l-url"]').val();
	l.dir=$('input[name="l-dir"]').val();
	l.core=$('input[name="s-core"]').val();
	l.storage=supports_html5_storage();
	
	checkUser();
	//$('a').niceTitles({'includeURL':false,'cleanUpMailtos': false,'delay': 0.1});
	
	$('#noscript').hide();
	if (l.ie<1) $('.noscript-ie').hide();
	$('.noscript').hide();
	
	// $.blockUI.defaults.css.cursor='';
	
	$('ul.check li label').click(function(e){
		$(this).prev('input').check();
		$(this).toggleClass('selected');
	}).addClass('pointer').each(function(){
		if ($(this).prev('input').attr('checked') == true){
			$(this).addClass('selected');
		}
	});
	
	$('input.uppercase').change(function(){
		$(this).val($(this).val().toUpperCase());
	});
	
	$('a.jslogin').easyOverlay(loginOverlay,loginHandle,{width:'60%',minWidth:'700px',left:'20%'});
	
	$('input[type="checkbox"]').addClass('small');
	$('input[type="radio"]').addClass('small');
});
