// Licensed from Nicolas GERMINEAU to SupportSave Solutions for unlimited use except resale of any parts of the code or software logic

var errmsg = new Array();
errmsg[1]='Email or password incorrect.';
errmsg[4]='You are now signed off.';

function hs(e,t){if(e.keyCode == 13){t.submit();}}
function E(x){return document.getElementById(x);}
function show(id,type){if(type==1){E(id).style.display='block';}else{E(id).style.display='inline';}}
function hide(id){E(id).style.display = 'none';};
function Eh(id,txt){E(id).innerHTML=txt;}
function Ev(id,val){E(id).value=val;}
function Ec(id,classN){E(id).className=classN;}
function loadCur(state,name){if(state==1){if(name){E(name).style.cursor="wait";}else{document.body.style.cursor="wait";}}else{if(name){E(name).style.cursor="auto";}else{document.body.style.cursor="auto";}}}

function switchpm(){if(E('type').selectedIndex==0){show('ach');hide('pp');}else{show('pp');hide('ach');}}

function getActDate(s){var t=s.split(',');var c = new Date();c.setFullYear(t[0],t[1]-1,t[2]);c.setHours(1,0,0,0);return c;}
function ddiff(dt){var now=new Date();var dtx=new Date(dt);dtx.setHours(0,0,0,0);now.setHours(0,0,0,0);var diff=Math.floor((dtx-now)/86400000);if(diff==0){return 'today';}else if(diff==1){return 'tomorrow';}else if(diff>1){return 'in '+diff+' days';}else if(diff<0){return -diff+' days ago';}}

function noErrors(){var labels=document.getElementsByTagName("label");for(x=0;labels[x];x++){labels[x].className='';}}
function showErrors(err){for(x=0;err[x];x++){Ec(err[x],'error');}}
function showPwd(){show('tc2pwd',1);hide('tc2pwdl');}

function loadT(n)
{
	var tbs=E('tabs').getElementsByTagName("a");for(x=0;tbs[x];x++){tbs[x].className='';hide('tc'+(x+1))}
	Ec('t'+n,'activeT');
	show('tc'+n,1);
}

function reCheckId()
{
	url='./inc/id.php';
	loadCur(1);
	ajax.get(url,checkId);
}
function signIn()
{
	url='./inc/id.php';
	hide('loginErr');
	show('signinbl');
	hide('signinb');
	loadCur(1);
	ajax.post(url,checkId,ajax.serialize(E('signInForm')));
}
function signOff()
{
	url='./inc/id.php?act=signoff';
	loadCur(1);
	ajax.get(url,checkId);
}
function showLogin(y,err){if(y){Eh('loginErr',errmsg[err]);show('loginErr',1);hide('signinbl');show('signinb');hide('resbox');show('libox',1);}else{hide('libox');show('resbox',1);}}
function checkId(resp)
{
	var arr=eval('({'+resp+'})');
	loadCur(0);
	if(arr.error)
	{
		showLogin(true,arr.error);
	} else
	{
		Eh('topmbname',arr.name);
		Eh('tc1bal',arr.bal);
		Eh('tc1an1',arr.id);
		Eh('tc1an2',arr.id);
		Eh('tc1an3',arr.id);
		Eh('tc2an',arr.id);
		Ev('resId',arr.id);
		Eh('tc1webs',arr.website);
		Ev('name',arr.name);
		Ev('phone1',arr.phone1);
		Ev('phone2',arr.phone2);
		Ev('email',arr.email);
		Ev('bname',arr.bname);
		Ev('baddress',arr.baddress);
		if(arr.type=='ACH')
		{
			Ev('Bank',arr.pay1);
			Ev('Account',arr.pay2);
			Ev('Routing',arr.pay3);
		} else
		{
			E('type').selectedIndex=1;
			switchpm();
			Ev('PPemail',arr.pay1);
		}
		if(arr.wsap==0){Eh('tc1ap','(not approved yet)');}
		if(arr.clients)
		{
			var tmp='<table cellspacing="0" width="100%">';
			var clin=0;
			for(x in arr.clients)
			{
				var dt=getActDate(arr.clients[x].dateS);
				clin++;
				tmp+='<tr><td style="text-align:center">'+ddiff(dt)+'</td><td class="row">'+arr.clients[x].first+' '+arr.clients[x].last+' - '+arr.clients[x].biz+'</td></tr>';
			}
			tmp+='</table>';
			Eh('tc3cn',clin);
			Eh('clist',tmp);
		}
		if(arr.payments)
		{
			var tmp='<table cellspacing="0" width="100%">';
			var esf=0;
			for(x in arr.payments)
			{
				var dt=getActDate(arr.payments[x].date);
				if(arr.payments[x].payType==0)
					{tmp+='<tr><td style="text-align:center">'+ddiff(dt)+'</td><td class="row"><b>$'+arr.payments[x].com+'</b> from '+arr.payments[x].biz+'</td></tr>';esf+=arr.payments[x].com;}
				else
					{tmp+='<tr><td style="text-align:center">'+ddiff(dt)+'</td><td class="row"><b>$'+arr.payments[x].gross+'</b> to '+arr.bname+'</td></tr>';}
			}
			tmp+='</table>';
			Eh('tc4esf',esf);
			Eh('plist',tmp);
		}
		if(arr.affiliates)
		{
			show('t5');
			var tmp='<table cellspacing="0" width="100%">';
			var affn=0;
			for(x in arr.affiliates)
			{
				var dt=getActDate(arr.affiliates[x].date);
				affn++;
				tmp+='<tr><td style="text-align:center">'+ddiff(dt)+'</td><td class="row">'+arr.affiliates[x].name+' - '+arr.affiliates[x].biz+'</td></tr>';
			}
			tmp+='</table>';
			Eh('tc5an',affn);
			Eh('alist',tmp);
		}
		showLogin(false);
	}
}

function update()
{
	url='./inc/resacc.php';
	hide('updateb');
	show('updatebl');
	noErrors();
	loadCur(1);
	ajax.post(url,resAcc,ajax.serialize(E('resForm')));
}
function resAcc(resp)
{
	var arr=eval('({'+resp+'})');
	loadCur(0);
	if(arr.errors)
	{
		showErrors(arr.errors,1);
	} else
	{
		show('tc2saved',1);
	}
	hide('updatebl');
	show('updateb');
}

function signup()
{
	url='./inc/newresacc.php?r='+getArg('r');;
	hide('signupb');
	show('signupbl');
	noErrors();
	loadCur(1);
	ajax.post(url,resNewAcc,ajax.serialize(E('resForm')));
}
function resNewAcc(resp)
{
	var arr=eval('({'+resp+'})');
	loadCur(0);
	if(arr.errors)
	{
		showErrors(arr.errors,1);
	} else
	{
		hide('tc0');
		hide('tc1');
		show('tc2',1);
	}
	hide('signupbl');
	show('signupb');
}