/*
 -------------------------------------------
 ---------- pbxspace web GUI part ----------
 ------ (c) Unified communications AG ------
 -------------------------------------------
*/

function showLastUpdates()
{
	window.open('last+updates', 'LastUpdates', 'menubar=0,scrollbars=1,width=700px,height=500px,top=30px,left=30px');
	return false;
}

function showInvoice(id)
{
	window.open('invoice+' + id, 'Invoice', 'menubar=0,scrollbars=0,width=670px,height=500px,top=30px,left=30px');
	return false;
}

function showPartnerInvoice()
{
	window.open('partner+invoice+template', 'PartnerInvoice', 'menubar=1,scrollbars=0,width=670px,height=470px,top=30px,left=30px');
	return false;
}

function showChargingOrder()
{
	window.open('charging-order.php', 'ChargingOrder', 'menubar=0,scrollbars=0,width=800px,height=500px,top=30px,left=30px');
	return false;
}

function showAccountsTable()
{
	window.open('pbxspace+accounts+details', 'AccountsTable', 'menubar=0,scrollbars=0,width=700px,height=450px,top=30px,left=30px');
	return false;
}
function showAccountsTableC(cloud)
{
	window.open('accounts-table.php?cloud=' + cloud, 'AccountsTable', 'menubar=0,scrollbars=0,width=700px,height=450px,top=30px,left=30px');
	return false;
}

function processType(id)
{
var x = document.getElementById(id);

	if (x.type.value == 'person') {
		x.company.value='';
		x.company.readOnly=true;
		x.company.className='input_ok';
		
		x.reg_number.value='';
		x.reg_number.readOnly=true;
		x.reg_number.className='input_ok';
		
		x.vat_registered.checked=false;
		x.vat_registered.disabled=true;
		
		x.vat_number.value='';
		x.vat_number.readOnly=true;
		x.vat_number.className='input_ok';
	} else {
		x.company.readOnly=false;
		x.reg_number.readOnly=false;
		x.vat_registered.disabled=false;
		x.vat_number.readOnly=false;
	}

	return true;
}

function showAns(elementID)
{
	var faqid;
	var ansid;
	var i = 0;

	for (i = 1; i <= 35; i++) {
		faqid = 'faq' + i;
		ansid = 'ans' + i;
	
		if (i == elementID) {
			if (document.getElementById(ansid).style.display == 'none') {
				document.getElementById(ansid).style.display = '';
			} else {
				document.getElementById(ansid).style.display = 'none';
			}
		} else {
			document.getElementById(ansid).style.display = 'none';
		}
	}

	return true;
}

function showSubscribeHint(getfoc,elementID)
{
	var x = document.getElementById(elementID);

	if (x) {
		if (getfoc) {
			x.style.display = '';
			document.getElementById('subscribe_intro').style.display = 'none';
		} else {
			x.style.display = 'none';
			document.getElementById('subscribe_intro').style.display = '';
		}
	}


	return true;
}

// Subscribe / Manage page helper function
function checkemail(email) {
	var re;
	re = /^[_a-zA-Z0-9\.\-]+@[_a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,6}$/;
	return re.test(email);
}
function checkpassword(pass1, pass2) {
	if(pass1.length < 7) return false;

	return pass1 == pass2;
}
function checkshortname(val) {
	var re;
	re = /^[a-záàâäçčďéèěêëíìîïľĺňóòôöŕřšťúùůûüýỳÿžA-ZÁÀÂÄÇČĎÉÈĚÊËÍÌÎÏĹĽŇÓÒÔÖŔŘŠŤÚÙŮÛÜÝỲŸŽ0-9'][ _a-záàâäçčďéèěêëíìîïľĺňóòôöŕřšťúùůûüýỳÿžA-ZÁÀÂÄÇČĎÉÈĚÊËÍÌÎÏĹĽŇÓÒÔÖŔŘŠŤÚÙŮÛÜÝỲŸŽ0-9'\-\.\*\\/,]{1,31}$/;
	return re.test(val);
}
function checklongname(val) {
	var re;
	re = /^[a-záàâäçčďéèěêëíìîïľĺňóòôöŕřšťúùůûüýỳÿžA-ZÁÀÂÄÇČĎÉÈĚÊËÍÌÎÏĹĽŇÓÒÔÖŔŘŠŤÚÙŮÛÜÝỲŸŽ0-9'][ _a-záàâäçčďéèěêëíìîïľĺňóòôöŕřšťúùůûüýỳÿžA-ZÁÀÂÄÇČĎÉÈĚÊËÍÌÎÏĹĽŇÓÒÔÖŔŘŠŤÚÙŮÛÜÝỲŸŽ0-9'\-\.\*\\/,]{2,63}$/;
	return re.test(val);
}
function checkregnumber(val) {
	var re;
	re = /^[a-zA-Z0-9\-]{2,32}$/;
	return re.test(val);
}
function checkvatnumber(val) {
	var re;
	re = /^[a-zA-Z0-9\-]{2,32}$/;
	return re.test(val);
}
function checkzip(val) {
	var re;
	re = /^[a-zA-Z0-9][ _a-zA-Z0-9\-\.\*]{2,7}$/;
	return re.test(val);
}
function checkphone(val) {
	var re;
	re = /^(\+|00|)[1-9][0-9]{6,17}$/;
	return re.test(val);
}

// Check Subscribe form
function checkUserForm(formname, type)
{
var x = document.getElementById(formname);

	if (!checkemail(x.email.value)) {
		x.email.focus();
		x.email.className='input_error';
		//alert("Bad e-mail address!");
		return false;
	}
	if (!checkpassword(x.password1.value, x.password2.value)) {
		x.password1.focus();
		x.password1.className='input_error';
		//alert("Bad password!");
		return false;
	}

	if (x.type.value == 'company') {
		if (!checklongname(x.company.value)) {
			x.company.focus();
			x.company.className='input_error';
			//alert("Bad Company name!");
			return false;
		}
		if (!checkregnumber(x.reg_number.value)) {
			x.reg_number.focus();
			x.reg_number.className='input_error';
			//alert("Bad Reg. number!");
			return false;
		}
		if (x.vat_registered.checked != true && x.vat_number.value != '') {
			x.vat_registered.checked=true;
		}
		if (x.vat_registered.checked == true) {
			if (!checkvatnumber(x.vat_number.value)) {
				x.vat_number.focus();
				x.vat_number.className='input_error';
				//alert("Bad VAT number!");
				return false;
			}
		}
	}

	if (!checkshortname(x.last_name.value)) {
		x.last_name.focus();
		x.last_name.className='input_error';
		//alert("Bad Last name!");
		return false;
	}
	if (!checkshortname(x.first_name.value)) {
		x.first_name.focus();
		x.first_name.className='input_error';
		//alert("Bad First name!");
		return false;
	}
	if (!checklongname(x.street.value)) {
		x.street.className='input_error';
		x.street.focus();
		//alert("Bad Street name!");
		return false;
	}
	if (!checkshortname(x.city.value)) {
		x.city.className='input_error';
		x.city.focus();
		//alert("Bad City name!");
		return false;
	}
	if (!checkzip(x.zip.value)) {
		x.zip.className='input_error';
		x.zip.focus();
		//alert("Bad ZIP!");
		return false;
	}

	if (type == 'subscribe') {

		if (x.referrer.value != '' && !checklongname(x.referrer.value)) {
			x.referrer.className='input_error';
			x.referrer.focus();
			//alert("Bad Referrer code!");
			return false;
		}
		if (x.conditions.checked != true) {
			x.conditions.className='input_error';
			x.conditions.focus();
			//alert("You should complain with General Conditions!");
			return false;
		}
		if (x.security_code.value.length < 3) {
			x.security_code.className='input_error';
			x.security_code.focus();
			//alert("You should fill in Security code!");
			return false;
		}
	
	} else if (type == 'manage') {

		if (!checkemail(x.email2.value)) {
			x.email2.focus();
			x.email2.className='input_error';
			//alert("Bad e-mail address!");
			return false;
		}
		if (!checkphone(x.phone.value)) {
			x.phone.focus();
			x.phone.className='input_error';
			//alert("Bad e-mail address!");
			return false;
		}
	
	}

	return true;
}


// Check Login form
function checkLoginForm(formname)
{
var x = document.getElementById(formname);

	if (x.entered_login.value.length < 5) {
		x.entered_login.focus();
		x.entered_login.className='input_error';
		return false;
	}
	if (x.entered_password.value.length < 5) {
		x.entered_password.focus();
		x.entered_password.className='input_error';
		return false;
	}

	return true;
}


// Check Resend form
function checkResendForm(formname)
{
var x = document.getElementById(formname);

	if (!checkemail(x.email.value)) {
		x.email.focus();
		x.email.className='input_error';
		return false;
	}

	if (x.security_code.value.length < 3) {
		x.security_code.focus();
		x.security_code.className='input_error';
		return false;
	}

	return true;
}

