/*##########################################################################*/
/*	JAVASCRIPT: TOOLS 
	By: Andrew Gaddis (2009) */
/*##########################################################################*/


sys_browser = 'none';
sys_browser_version = 'none';
$(document).ready(function(){
	var n = 0;
    jQuery.each(jQuery.browser, function(i, val)
	{
		if (n==0) { sys_browser_version = val; }
		if (val==true) { sys_browser = i; }
		n = (n+1);
    });
});
/*$(document).ready(function () { alert('sys_browser: '+sys_browser+'\n\nversion: '+sys_browser_version); } );*/


/*##########################################################################*/
function show(id)
{
	//orig: var obj = document.getElementById(id);
	//orig: obj.style.display = '';
	$('#'+id).show();
}
/*--------------------------------------------------------------------------*/
function hide(id)
{
	//orig: var obj = document.getElementById(id);
	//orig: obj.style.display = 'none';
	$('#'+id).hide();
}
/*##########################################################################*/
var JQtoggleSlide_timeout;
var JQ_prevanim;
function JQtoggleSlide(hideID,showID,timing)
{
	//Stop Previous Timeout (from executing)
	if (JQtoggleSlide_timeout===undefined) { /*do-nothing*/ }
	else { clearTimeout(JQtoggleSlide_timeout); }
	//Proceed with Action
	var useTime = Number(timing);
	$("#"+hideID).slideUp(useTime);
	JQtoggleSlide_timeout = setTimeout("$(\"#"+showID+"\").slideDown("+useTime+");",(useTime+1));
	return false;
}
/*--------------------------------------------------------------------------*/
function openSiteCover()
{
	$('#siteCover').hide();
	$('#siteCoverClose').hide();
	$('#siteCoverHolder').show();
	$('#siteCover').slideDown(1000);
	$('#siteCoverClose').fadeIn(1000);	
}
/*--------------------------------------------------------------------------*/
function closeSiteCover()
{
	$('#siteCoverClose').fadeOut(1000);
	$('#siteCover').slideUp(1000);
	setTimeout("$('#siteCoverHolder').hide(fast);",1000);
}
/*--------------------------------------------------------------------------*/
function t(str)
{
	/*
	var id = 'test';
	var obj = document.getElementById(id);
	var cur = obj.innerHTML;
	obj.innerHTML = ""+str+"<br>"+cur;
	*/
	return false;
}
/*--------------------------------------------------------------------------*/
function flashBorder(id,mode)
{
	var obj = document.getElementById(id);
	var useColor = 'red';
	if (mode==1) { useColor = ''; }
	obj.style.borderColor = useColor;
	if (mode==0) { newMode = 1; } else { newMode = 0; }
	flashBorderTimeout = setTimeout("flashBorder('"+id+"',"+newMode+");",1000);
	return false;
}
/*--------------------------------------------------------------------------*/
function flipFade(showid,hideid)
{
	$('#'+hideid).fadeOut('fast');
	setTimeout("$('#"+showid+"').fadeIn('med');",300);
}
/*--------------------------------------------------------------------------*/
/*##########################################################################*/
/* FORM HANDLING FUNCTIONS */
/*--------------------------------------------------------------------------*/
function procForm(formname)
{
	coverForm();
	setTimeout("checkForm('"+formname+"','true');",800);
	return false;
}
/*--------------------------------------------------------------------------*/
function procFormAJAX(formname,resultID,loadingID,loadingHTML)
{
	coverForm();
	formCheckResult = checkForm(formname,'false');
	if (formCheckResult==false)
	{
		//Form is Valid/Ready to Submit/Process
		var values = getFormValues(formname);
		var url = '/core/proc/chat.php?action=welcome&'+values;
		var par = '';
		loadSplitAJAX(4000,resultID,loadingID,loadingHTML,url,par);
	}
	return false;
}
/*--------------------------------------------------------------------------*/
function checkForm(formname,doSubmit)
{
	//Variables
	var formid = formname;
	var forme = document.getElementById(formname);
	try { var arrlen = forme.elements.length; } catch(e) { arrlen = (0); }
	var par = '';
	var error = false;
	//Loop thru Form Fields
	for (i=0; i<arrlen; i++)
	{
		//Setup Field Values
		var formfieldname = forme.elements[i].name;
		var formfieldvalue = forme.elements[i].value;
		var formfieldlength = forme.elements[i].length;
		var formfieldtag = forme.elements[i].nodeName;
		var formfieldtype = forme.elements[i].type;
		if (formfieldtype=='radio') { formfieldvalue = getradiovalue(formfieldname); }
		//Check if Field is Required
		var isreq = isFieldReq(formname,formfieldname);
		if ((formfieldvalue=='') && (isreq))
		{
			error = true;
			if (doSubmit=='true') { uncoverForm(); } else { setTimeout("uncoverForm();",1000); }
			formError(formfieldname,'A required form field was left empty. Please enter the appropriate information into the form field and re-submit.');
			break;
		}
		//old:par = par + '&' + formfieldname + '=' + formfieldvalue;
	}
	if ((!error) && (doSubmit=='true'))
	{
		submitForm(formname);
	}
	return error;
}
/*--------------------------------------------------------------------------*/
function getFormValues(formname)
{
	//Variables
	var formid = formname;
	var forme = document.getElementById(formname);
	try { var arrlen = forme.elements.length; } catch(e) { arrlen = (0); }
	var par = '';
	var output = '';
	//Loop thru Form Fields
	for (i=0; i<arrlen; i++)
	{
		//Setup Field Values
		var formfieldname = forme.elements[i].name;
		var formfieldvalue = forme.elements[i].value;
		var formfieldlength = forme.elements[i].length;
		var formfieldtag = forme.elements[i].nodeName;
		var formfieldtype = forme.elements[i].type;
		if (formfieldtype=='radio') { formfieldvalue = getradiovalue(formfieldname); }
		//Set Output
		formfieldvalueSAFE = escape(formfieldvalue);
		if (output=='') { output = '' + formfieldname + '=' + formfieldvalueSAFE; }
		else { output = '' + output + '&' + formfieldname + '=' + formfieldvalueSAFE; }
	}
	//alert('getFormValues()\nformname: '+formname+'\noutput: '+output);
	return output;
}
/*--------------------------------------------------------------------------*/
function resetFormLive(formname)
{
	if (typeof window['formfielderrors']=='undefined')
	{
		var fields = new Array();
		//alert('new array created');
	}
	else
	{
		var fields = window['formfielderrors'];
		//alert('use old array');
	}
	var animTime = 200;
	var num = fields.length;
	var thisfield = '';
	var thisid = '';
	var thisobj = '';
	var errorID = window['errorID'];
	for (i=0;i<num;i++)
	{
		thisfield = fields[i];
		thisid = 'f_'+thisfield;
		thisobj = document.getElementById(thisid);
		thisobj.style.backgroundColor = 'transparent';
		$("#"+errorID).slideUp(animTime);
	}
	window['formfielderrors'] = new Array();
	formerrorcount = 0;
	return false;
}
/*--------------------------------------------------------------------------*/
function coverForm(cover,msg)
{
	var animTime = 200;
	var coverID = window['coverID'];
	var msgID = window['msgID'];
	$("#"+coverID).slideDown(animTime);
	$("#"+msgID).fadeIn(animTime);
	return false;
}
/*--------------------------------------------------------------------------*/
function uncoverForm(cover,msg)
{
	var animTime = 100;
	var coverID = window['coverID'];
	var msgID = window['msgID'];
	$("#"+coverID).slideUp(animTime);
	$("#"+msgID).fadeOut(animTime);
	return false;
}
/*--------------------------------------------------------------------------*/
formerrorcount = 0;
function formError(fieldname,msg)
{
	var animTime = 200;
	var fid = 'f_'+fieldname;
	var feid = window['errorID'];
	var femid = 'errormsg';
	var fobj = document.getElementById(fid);
	var femobj = document.getElementById(femid);
	fobj.style.backgroundColor = '#FFCCCC';
	femobj.innerHTML = msg;
	if (isNaN(window['formfielderrors'])) { window['formfielderrors'] = new Array(); }
	window['formfielderrors'][formerrorcount] = fieldname;
	window.location = '#form';
	$("#"+feid).slideDown(animTime);
	formerrorcount++;
	return false;
}
/*--------------------------------------------------------------------------*/
function isFieldReq(formname,fieldname)
{
	var output = false;
	var req = window['reqfield'][formname][fieldname];
	if (req=='true') { output = true; }
	return output;
}
/*--------------------------------------------------------------------------*/
function getradiovalue(fieldname)
{
	var objfield = document.getElementsByName(fieldname);
	var thislength = objfield.length;
	var thisvalue = '';
	for (var i=0;i<thislength;i++)
	{
		if (objfield[i].checked)
		{
			thisvalue = objfield[i].value;
		}
	}
	if (thisvalue=='') { thisvalue = 'no'; }
	return thisvalue;
}
/*--------------------------------------------------------------------------*/
function submitForm(formname)
{
	var elements = document.getElementsByName(formname)
	var formobj = elements[0];
	var submitted = formobj.submit();
	return submitted;
}
/*--------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------*/
/*##########################################################################*/