function inputHasValue(jobj)
	{
	//if (!jobj.val() || (jobj.attr("type") != "hidden" && jobj.val() == jobj[0].defaultValue)) return false;
	if (!jobj.val()) return false;
	return true;
	}

function atLeastOneChecked(jobj)
	{
	for (var i=0;i<jobj.length;i++)
		{
		if (jobj[i].checked) return true;
		}
	return false;
	}

function strContains(str,strs_arr)
	{
	if (typeof(strs_arr) == "string") strs_arr = [strs_arr];
	for (var i=0;i<strs_arr.length;i++)
		{
		if (str.indexOf(strs_arr[i]) == -1) return false;
		}
	return true;
	}

function alertField(jobj,err,pass)
	{
	var err_elm = jobj.parents("form:first").find(".error."+err.id);
	if (pass)
		{
		jobj.removeClass("highlight");
		jobj.addClass("successful");
		if (err.id) err_elm.html("");
		if (err_elm.hasClass("dblock")) err_elm.fadeOut(300);
		return true;
		}
	else
		{
		jobj.removeClass("successful");
		jobj.addClass("highlight");
		err_elm.html(err.message);
		if (err_elm.hasClass("dblock")) err_elm.fadeIn(300);
		return false;
		}
	}

function inputOnBlur(inp)
	{
	var i = $(inp);
	i.removeClass("current");
	if (!i.val() && i[0] && i[0].defaultValue)
		{
		i.val(i[0].defaultValue);
		i.addClass("example");
		}
	}

function inputOnFocus(inp,dont_clear)
	{
	var i = $(inp);
	i.addClass("current");
	if (!dont_clear && i[0] && i.val() == i[0].defaultValue)
		{
		i.val("");
		i.removeClass("example");
		}
	}

function loginOnSubmit()
	{
	var f = $("#login");
	f[0].submitted_once = true;
	var ok = true;
	
	var e = $("[name='email']",f);
	var p = $("[name='pass']",f);
	
	if (e.val() != e[0].defaultValue) e.val(e.val().replace(/[^a-zA-Z0-9_@\+\-\.]/g,""));
	
	if (!inputHasValue(e)) ok = alertField(e,{id:"email"});
	else if (!strContains(e.val(),["@","."])) ok = alertField(e,{id:"email"});
	else alertField(e,{id:"email"},true);

	if (!inputHasValue(p)) ok = alertField(p,{id:"pass"});
	else alertField(p,{id:"pass"},true);
	
	return ok;
	}

function getWidthHeightOfDocument()
	{
	return {width:$(document).width(),height:$(document).height()};
	}

function getWidthHeightOfWindow()
	{
	return {width:$(window).width(),height:$(window).height()};
	}

function getCenterOfScreen()
	{
	var scrollHeight = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
	var w_wh = getWidthHeightOfWindow();
	var x = w_wh.width/2;
	var y = w_wh.height/2+scrollHeight;
	return {x:x,y:y};
	}

global_regoverlay_initiated = false;
function openRegOverlay()
	{
	var width = 1000;
	var height = 660;
	
	if (!global_regoverlay_initiated)
		{
		var window_height = getWidthHeightOfWindow().height;
		var d = getWidthHeightOfDocument();
		var c = getCenterOfScreen();
		if (!$("#reg_form_overlay")[0])
			{
			$("body").append('<div id="reg_form_overlay"><div id="reg_form_overlay-bg"></div><iframe frameborder="0" scrolling="no"></iframe><div id="reg_form_overlay-x"></div></div>');
			$("#reg_form_overlay iframe").attr("src","reg-overlay.php");
			}
		$("#reg_form_overlay-bg").css({"width":d.width+"px","height":(d.height < window_height ? window_height : d.height)+"px"});
		var i_xy = {
			x:c.x-width/2,
			y:c.y-height/2
			};
		if (i_xy.y < 0) i_xy.y = 0;
		$("#reg_form_overlay iframe").css({"width":width+"px","height":height+"px","left":i_xy.x+"px","top":i_xy.y+"px"});
		$("#reg_form_overlay-x").css({"left":(i_xy.x+(width-40))+"px","top":(i_xy.y+16)+"px"});
		$("#reg_form_overlay-x").bind("click",closeRegOverlay);
		$("#reg_form_overlay").fadeIn(1000);
		global_regoverlay_initiated = true;
		}
	return false;
	}

function closeRegOverlay()
	{
	$("#reg_form_overlay").hide();
	global_regoverlay_initiated = false;
	return false;
	}

var reg_exp_nnums = new RegExp("[^0-9]","g");
function fullHeight(of,exclude_margin)
	{
	var add_these_up = ["padding-top","padding-bottom","border-top-width","border-bottom-width"];
	if (!exclude_margin) add_these_up.concat(["margin-top","margin-bottom"]);
	var h = 0;
	for (var i=0;i<add_these_up.length;i++) h += (of.css(add_these_up[i]) || "0").replace(reg_exp_nnums,"")*1;
	return h+of.height();
	}

function fullWidth(of,exclude_margin)
	{
	var add_these_up = ["padding-left","padding-right","border-left-width","border-right-width"];
	if (!exclude_margin) add_these_up.concat(["margin-left","margin-right"]);
	var w = 0;
	for (var i=0;i<add_these_up.length;i++) w += (of.css(add_these_up[i]) || "0").replace(reg_exp_nnums,"")*1;
	return w+of.width();
	}

$(function()
	{
	$("#login .default").bind("focus",function()
		{
		if (this.value == this.defaultValue)
			{
			this.value = "";
			$(this).removeClass("default");
			}
		});
	$("#login .default").bind("blur",function()
		{
		if (!this.value)
			{
			this.value = this.defaultValue;
			$(this).addClass("default");
			}
		});
	$("#login .txt").bind("blur",function()
		{
		if ($("#login")[0].submitted_once) loginOnSubmit();
		});
	});
