// default.js last modified 29.06.2006 by boetzel sascha
var requester = null;
// --------------------------------------------------------------------------
var saveclass = '';
function checkForm(form,errorClass)	{
	resetClass(form);
	var required = form['required'].value.split(",");
	var field = '';
	var regmail = /(ilastname|firstname|lastname)$/;
	for (var c = 0; c<required.length; c++)	{
		field=required[c];
		//console.log(field);
		if (!form[field].length || form[field].type == 'select-one')	{
			//console.log('aa');
			if ((form[field].type == 'radio' || form[field].type == 'checkbox') && form[field].checked != true)	{
				saveClass(form,field);
				form[field].focus();
				//form[field].className=errorClass;
				return false;
			}
			else if (form[field].value == "")	{
				saveClass(form,field); 
				form[field].focus();
				form[field].className=errorClass;
				return false;
			} else if (regmail.exec(field)) {
				var regchar = /[^a-zA-Zçéèüöäà\s]/;
				if (regchar.exec(form[field].value)) {
					saveClass(form,field); 
					form[field].focus();
					form[field].className=errorClass;
					return false;
				}
			}
		}
		else	{
			var checked = false;
			
			for (i = 0; i < form[field].length; ++i)	{
				if (form[field][i].checked == true)	{
					checked = true;
					break;
				}
			}
			if (!checked)	{
				form[field][0].focus();
				saveClass(form,field);
				for (i = 0; i < form[field].length; ++i)	{
					//form[field][i].className=errorClass;
				}
				return false;
			}
		}
	}
	return true;
}

// --------------------------------------------------------------------------

function saveClass(form,field)	{
	if (saveclass != '')	{ saveclass += ','; }
	if (!form[field].length || form[field].type == 'select-one')	{
		saveclass += field+'='+form[field].className;
	}
	else	{
		saveclass += field+'='+form[field][0].className;
	}
}

// --------------------------------------------------------------------------

function resetClass(form)	{
	if (saveclass == '')	{ return true; }
	
	var pairs = saveclass.split(",");
	var pair = '';
	while (pair = pairs.shift())	{
		var field = pair.split("=");
		if (!form[field[0]].length || form[field[0]].type == 'select-one')	{
			form[field[0]].className=field[1];
		}
		else	{
			for (i = 0; i < form[field[0]].length; ++i)	{
				form[field[0]][i].className=field[1];
			}
		}
	}
	saveclass = '';
	return true;
}

// --------------------------------------------------------------------------

function checkRegisterForm(form,errorClass,OKClass,emailfld,pwfld,emailErrorMsgConfirmation,emailErrorMsgInvalidMail,pwErrorMsg)	{
	parent.document.getElementById('errormsg').innerHTML = '';
	var checkform = checkForm(form,errorClass,OKClass);
	var verifyemail = false;
	if (checkform)	{ verifyemail = verifyEmail(form,emailfld,errorClass,emailErrorMsgConfirmation,emailErrorMsgInvalidMail); }
	var checkpw = false;
	if (verifyemail)	{ checkpw = checkPassword(form,pwfld,errorClass,pwErrorMsg,'',''); }
	
	if (checkform && verifyemail && checkpw)	{ return true; }
	return false;
}

// --------------------------------------------------------------------------

function checkChangeEmailForm(form,errorClass,OKClass,emailfld,newemailfld,emailErrorMsgConfirmation,emailErrorMsgInvalidMail)	{
	parent.document.getElementById('errormsg').innerHTML = '';
	var checkform = checkForm(form,errorClass,OKClass);
	
	var verifyemail = false;
	if (checkform)	{
		verifyemail = verifyEmail(form,emailfld,errorClass,emailErrorMsgConfirmation,emailErrorMsgInvalidMail);
		if (verifyemail)	{
			form[newemailfld].value = form[emailfld].value;
		}
	}
	
	if (checkform && verifyemail)	{ return true; }
	return false;
}

// --------------------------------------------------------------------------

function checkConfirmation(form,fld,errorClass,errorMsg)	{
	resetClass(form);
	if (form[fld].value != form['check_'+fld].value)	{
		saveClass(form,fld);
		saveClass(form,'check_'+fld);
		form[fld].className=errorClass;
		form['check_'+fld].className=errorClass;
		form[fld].focus();
		parent.document.getElementById('errormsg').innerHTML = errorMsg;
		return false;
	}
	return true;
}

// --------------------------------------------------------------------------

function verifyEmail(form,emailfld,errorClass,errorMsgConfirmation,errorMsgEmail)	{
	if (!checkConfirmation(form,emailfld,errorClass,errorMsgConfirmation))	{ return false;	}
	var checkemail = checkMail(form,'check_'+emailfld,errorClass);
	var email = checkMail(form,emailfld,errorClass);
	
	if (!(email && checkemail))	{ parent.document.getElementById('errormsg').innerHTML = errorMsgEmail; }
	return (email && checkemail);
}

// --------------------------------------------------------------------------

function checkPassword(form,fld,errorClass,errorMsg,newpw,newpwfld)	{
	if (!checkConfirmation(form,fld,errorClass,errorMsg))	{ return false;	}
	//if (newpw == '1')	{	form[newpwfld].value = form[fld].value;	}
	
	return true;
}

// --------------------------------------------------------------------------

function removeLettersFromNumber(sText){

   var ValidChars = "0123456789.";
   var newNumber='';
   var Char;

   for (i = 0; i < sText.length; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) != -1) {
         newNumber = newNumber+Char;
      }
   }
   return newNumber;
}

// --------------------------------------------------------------------------

function isInteger(sText){

   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) {
         IsNumber = false;
      }
   }
   return IsNumber;
}

// --------------------------------------------------------------------------

function isPhone(sText){
   var ValidChars = "0123456789 ";
   var IsNumber=true;
   var Char;
	
	if (sText.length < 10 ) {
		return false;	
	}
	
	
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) {
         IsNumber = false;
      }
   }
  
   return IsNumber;	
}

// --------------------------------------------------------------------------

function checkMail(form,emailfld,errorClass)
{
	var x = form[emailfld].value;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	
	resetClass(form);
	if (!filter.test(x))	{
		saveClass(form,emailfld);
		form[emailfld].className=errorClass;
		form[emailfld].focus();
	}
	return filter.test(x);
}

// --------------------------------------------------------------------------

function getTodayDate(){
	var TodaysDate = new Date();
	var year = TodaysDate.getYear() + 1900;
	var month = TodaysDate.getMonth() + 1;
	var day = TodaysDate.getDate();

	var	thisMonth = new myDate(year, month, day);
	var nextCentury = new myDate(2001, 1, 1);

	document.write("Today is " + year + "/" + month + "/" + day + "<BR>");
	document.write(
		"until next century, we have <STRONG>"
		+ dateSub(nextCentury, thisMonth) + "</STRONG> days.<P>");
}

// --------------------------------------------------------------------------

function showHide(id)	{
	if (document.getElementById(id).style.display == 'none')	{
		document.getElementById(id).style.display = 'block';
	}
	else	{
		document.getElementById(id).style.display = 'none';
	}
}

// --------------------------------------------------------------------------
// tabs
function showtab(tab) {
    resettabs();
    document.getElementById("tab_" + tab).className = "s";
    if (document.getElementById(tab)) {
        document.getElementById(tab).style.display = "";
    }
    
    switch (tab)
    {
    	case 'trx': { doBOSearch(document.searchformtrx,tab); break }
    	case 'sender': { doBOSearch(document.searchformsender,tab); break }
	case 'receiver': { doBOSearch(document.searchformrec,tab); break }
    }
}

// --------------------------------------------------------------------------

function resettabs() {
    var litab, idname;
    litab = document.getElementById("tabs").getElementsByTagName("li");
    for (i = 0; i < litab.length; i++) {
        litab[i].className = "";
        idname = litab[i].id.replace(/tab_([a-z0-9]+)$/i, "$1");
        if (document.getElementById(idname)) {
            document.getElementById(idname).style.display = "none";
        }
    }
}

// --------------------------------------------------------------------------

function initSelectBoxValue(form,fld,val)	{
	for (i = 0; i < form[fld].options.length; ++i)	{
		if (form[fld].options[i].value == val)	{
		  form[fld].options.selectedIndex = i;
		  break;
		}
	}
}

// --------------------------------------------------------------------------

function initSelectBoxText(form,fld,txt)	{
	for (i = 0; i < form[fld].options.length; ++i)	{
		if (form[fld].options[i].text == txt)	{
		  form[fld].options.selectedIndex = i;
		  break;
		}
	}
}

// --------------------------------------------------------------------------

function initRadioValue(form,fld,val)	{
	if (!form[fld].length)	{
		if (form[fld].value == val)	{
		  form[fld].checked = true;
		}
		return;
	}
	for (i = 0; i < form[fld].length; ++i)	{
		if (form[fld][i].value == val)	{
		  form[fld][i].checked = true;
		  break;
		}
	}
}

