/**
*	==========================================
*	Copyright 2007 by www.randomsig.net
*
*	@author:        Nicolas Oelgart
*	@copyright:     www.randomsig.net
*	@last mod:      27th January 2007
*	==========================================
*/

var is_regexp = (typeof window.RegExp != 'undefined');

function fetch_obj(obj)
{
	if (document.getElementById)
	{
		return document.getElementById(obj);
	}
	else if (document.all)
	{
		return document.all[obj];
	}
	else if (document.layers)
	{
		return document.layers[obj];
	}
	else
	{
		return new Array();
	}
}


function fetch_tags(obj, tag)
{
	if (document.getElementsByTagName)
	{
		return obj.getElementsByTagName(tag);
	}
	else if (document.all && document.all.tags)
	{
		return obj.all.tags(tag);
	}
	else
	{
		return new Array();
	}
}


function setcookie(name, value, days)
{
	var expires = '';
	
	if (days)
	{
		var date = new Date();
		date.setTime(date.getTime() + (days*24*60*60*1000));
		expires = '; expires='+ date.toGMTString();
	}
	
	document.cookie = name +'='+ value + expires +'; path=/; domain=.randomsig.net';
}


function getcookie(name)
{
	var nameEQ = name +'=';
	var ca = document.cookie.split(';');
	
	for (var i = 0; i < ca.length; i++)
	{
		var c = trim(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 getNodeValue(obj, tag)
{
    return fetch_tags(obj, tag).item(0).firstChild.nodeValue;
}


function create_req_object()
{
	var req = false;
	
	if (window.XMLHttpRequest)
	{
		req = new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		var msp = new Array('Micr' + 'osoft', 'Msx' + 'ml2');
		
		for (var i in msp)
		{
			try
			{
				req = eval('ne' + 'w Act' + 'iveXObj'+ 'ect(msp[i] + ".XMLH'+ 'TTP");');
			}
			catch(e)
			{
				continue;
			}
		}
	}
	
	return req;
}


function in_array(needle, haystack, insensitive)
{
	for (var i = 0; i < haystack.length; i++)
	{
		if (insensitive)
		{
			needle = needle.toLowerCase();
			haystack[i] = haystack[i].toLowerCase();
		}
		
		if (needle == haystack[i])
		{
			return true;
		}
	}
	
	return false;
}


function trim(str)
{
	if (window.RegExp)
	{
		return str.replace(/^[\s\t\r\n\0]+/, '').replace(/[\s\t\r\n\0]+$/, '');
	}
	
	return str;
}


function toggle_loading(show)
{
	fetch_obj('loading').style.display = (show ? 'block' : 'none');
}


function highlight_field(field)
{
	field.focus();
	field.select();
}


function add_wrappers(button, signature, tag)
{
	if (!tag)
	{
		tag = 'img';
	}
	
	var sig = fetch_obj(signature);
	var value = sig.getAttribute('value');
	var buttonval = button.getAttribute('value');
	
	if (value.indexOf('['+ tag +']') == -1)
	{	
		sig.setAttribute('value', '['+ tag +']' + value + '[/'+ tag +']');
		button.setAttribute('value', buttonval +'*');
	}
	else
	{
		sig.setAttribute('value', value.replace('['+ tag +']', '').replace('[/'+ tag +']', ''));
		button.setAttribute('value', buttonval.substr(0, tag.length + 2));
	}
}


function isset(variable)
{
	return (typeof variable == 'undefined' || variable == null) ? false : true;
}


function fetch_window_dimensions()
{
	var dimensions = {
		width:  0,
		height: 0
	};
	
	if (self.innerWidth)
	{
		dimensions.width = self.innerWidth;
		dimensions.height = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientWidth)
	{
		dimensions.width = document.documentElement.clientWidth;
		dimensions.height = document.documentElement.clientHeight;
	}
	else if (document.body)
	{
		dimensions.width = document.body.clientWidth;
		dimensions.height = document.body.clientHeight;
	}
	
	return dimensions;
}


function fade_background(fade)
{
	fetch_obj('sexyBG').style.display = (isset(fade) ? 'block' : 'none');
	
	var dims = fetch_window_dimensions();
	fetch_obj('sexyBG').style.height = dims.height;
}


function confirm_question(question)
{
	fade_background(true);
	
	if (confirm(question))
	{
		return true;
	}
	else
	{
		fade_background();
		return false;
	}
}

if (window.top.location.toString().match(/localhost/))
{
	var host = 'http://localhost/randomsig.net';
}
else
{
	var host = '';
}


window.onload = function()
{
	var dimensions = fetch_window_dimensions();
	fetch_obj('sexyBG').style.height = dimensions.height + 'px';
	
	var username = getcookie('c_username');
	var login = document.login;
	var forms;

	if (typeof login != 'undefined')
	{
		if (isset(username))
		{
			login.username.setAttribute('value', username);
			highlight_field(login.password);
		}
		else
		{
	//		highlight_field(login.username);
		}
	}
	
	if (isset(document.forms))
	{
		forms = document.forms;
	}
	else if (fetch_tags(document, 'form'))
	{
		forms = fetch_tags(document, 'form');
	}
	else
	{
		return;
	}
	
	var skip_forms = ['upload', 'login', 'settings', 'signup'];
	
	for (var i = 0; i < forms.length; i++)
	{
		var formname = forms[i].getAttribute('name');
		
		if (formname && in_array(formname, skip_forms))
		{
			continue;
		}
	
		forms[i].onsubmit = function()
		{
//			toggle_loading(true);
		}
	}
}
