/* CountDown */
var int_m = 0;
function CountDown(){
					var nu = new Date();
					var nu_m = nu.getMinutes()-int_m;
					if(nu_m < 0){ nu_m = nu_m+60; }
					var timetogo = 59 - nu_m;
					if (timetogo > 1 && timetogo < 60){
						document.getElementById('ind_time').innerHTML = timetogo;
					} else if (timetogo == 1){
						document.getElementById('ind_count').innerHTML = txtNuLive;
					} else {					
						clearInterval(CountDownTimer);
						document.getElementById('ind_later').innerHTML = "";
					}
}
function startCountDown(language,svr_d,svr_h,svr_m){
					expert = 0;
					var nu = new Date();
					var nu_m = nu.getMinutes();
					int_m = nu_m - svr_m;
					var timetogo = 59 - svr_m;
					var expInf = expInfo[language];
					for (var i=0; i*3 < expInf.length; i++){
						var j = 3*i;
						var hour = expInf[j+2];
						if(hour.indexOf(':') > -1){
							var tmp_arr = hour.split(':');
							hour = tmp_arr[0];
							int_m = parseInt(tmp_arr[1]);
						}
						
						if(int_m.toString().length == 1){
							int_m = "0"+int_m;	
						}
						//alert(parseInt(""+svr_h+""+svr_m) + " - " + parseInt(""+hour+""+int_m));
						if(svr_d == expInf[j+1] && parseInt(""+svr_h+""+svr_m) >= (parseInt(""+hour+""+int_m)-100)){
							expert = expInf[j];
						}
					}
					if(expert){
						document.getElementById('ind_later').innerHTML = 
							"<a href='forum.php?lang=" + language + "'><img src='/img/" + language + "/exp_reply_" + expert + ".jpg' alt='"+expert+"' /></a><br />" +
							"<p id='ind_count' align='center'>" + txtLiveIn + " <span id='ind_time'>"+timetogo+"</span> " + txtLiveIn2 + "!</p><b class='ibottom'><b class='i4'></b><b class='i3'></b><b class='i2'></b><b class='i1'></b></b><br />";
						CountDownTimer = setInterval('CountDown()',30001);
						CountDown();
					}
}


 function trim(value){
	 value = value.replace(/^\s+|\s+$/,'');
	 return value;
 }
 
 function bmi_check(){
	var ulength = document.BMIcheck.ulength.value;
	var uweight = document.BMIcheck.uweight.value.replace(/,/,".");
	var uage = document.BMIcheck.uage.value;
	
	document.getElementById("error_ulength").className = "hidden";
	document.getElementById("error_uweight").className = "hidden";
	document.getElementById("error_uage").className = "hidden";
	document.getElementById("error_ulength_wrong").className = "hidden";
	document.getElementById("error_uweight_wrong").className = "hidden";
	document.getElementById("error_uage_wrong").className = "hidden";
	if(document.getElementById("error_ulength_php")){document.getElementById("error_ulength_php").className = "hidden";}
	if(document.getElementById("error_uweight_php")){document.getElementById("error_uweight_php").className = "hidden";}
	if(document.getElementById("error_uage_php")){document.getElementById("error_uage_php").className = "hidden";}
	document.getElementById("ulength").className = "";
	document.getElementById("uweight").className = "";
	document.getElementById("uage").className = "";
	
		
	proceed = true
 	if(ulength == ""){
		document.getElementById("error_ulength").className = "formalerttext";
		document.getElementById("ulength").className = "formalert";
		proceed = false;
	} else if(ulength < 100 || ulength > 230 || isNaN(ulength)) {
		document.getElementById("error_ulength_wrong").className = "formalerttext";
		document.getElementById("ulength").className = "formalert";
		proceed = false;
	}
	
 	if(uweight == ""){
		document.getElementById("error_uweight").className = "formalerttext";
		document.getElementById("uweight").className = "formalert";
		proceed = false;
	} else if(uweight < 35 || uweight > 250 || isNaN(uweight)) {
		document.getElementById("error_uweight_wrong").className = "formalerttext";
		document.getElementById("uweight").className = "formalert";
		proceed = false;
	}
	
 	if(uage == ""){
		document.getElementById("error_uage").className = "formalerttext";
		document.getElementById("uage").className = "formalert";
		proceed = false;
	} else if(uage <= 0 || uage > 130 || isNaN(uage)) {
		document.getElementById("error_uage_wrong").className = "formalerttext";
		document.getElementById("uage").className = "formalert";
		proceed = false;
	}
	
	if(proceed){
			document.BMIcheck.submit();	
	} else {
			// return proceed;
	}
}


function profile_check(){	
	var length = document.profile.length.value;
	var sex = document.profile.sex.value;
	var weight = document.profile.weight.value.replace(/,/,".");
	
	var waist = document.profile.waist.value.replace(/,/,".");
	if (sex == "f"){
		var hip = document.profile.hip.value.replace(/,/,".");
	}
	var neck = document.profile.neck.value.replace(/,/,".");

	var build = getCheckedValue(document.profile.build);
	var job = getCheckedValue(document.profile.job);
	var activity = getCheckedValue(document.profile.activity);
	var gene = getCheckedValue(document.profile.gene);
	var how_long_overweight = document.profile.overweight.value.replace(/,/,".");

	var tried = getCheckedValue(document.profile.tried);
	// var howoften = getCheckedValue(document.profile.howoften);
	
	var idealweight = document.profile.idealweight.value.replace(/,/,".");
	var period = document.profile.period.value;

	
	document.getElementById("length").className = "";
	document.getElementById("error_length").className = "hidden";
	document.getElementById("error_length_wrong").className = "hidden";
	document.getElementById("weight").className = "";
	document.getElementById("error_weight").className = "hidden";
	document.getElementById("error_weight_wrong").className = "hidden";
	
	document.getElementById("overweight").className = "";
	document.getElementById("error_overweight").className = "hidden";
	document.getElementById("error_overweight_wrong").className = "hidden";	
	
	document.getElementById("waist").className = "";
	document.getElementById("error_waist").className = "hidden";
	document.getElementById("error_waist_wrong").className = "hidden";
	if (sex == "f"){
		document.getElementById("hip").className = "";
		document.getElementById("error_hip").className = "hidden";
		document.getElementById("error_hip_wrong").className = "hidden";
	}
	document.getElementById("neck").className = "";
	document.getElementById("error_neck").className = "hidden";
	document.getElementById("error_neck_wrong").className = "hidden";
		
	document.getElementById("error_build").className = "hidden";
	document.getElementById("error_job").className = "hidden";
	document.getElementById("error_activity").className = "hidden";
	document.getElementById("error_gene").className = "hidden";
	document.getElementById("error_tried").className = "hidden";
	document.getElementById("error_howoften").className = "hidden";
	
	document.getElementById("idealweight").className = "";
	document.getElementById("error_idealweight").className = "hidden";
	document.getElementById("error_idealweight_wrong").className = "hidden";
	document.getElementById("error_idealweight_toohigh").className = "hidden";
	document.getElementById("period").className = "";
	document.getElementById("error_period").className = "hidden";
	document.getElementById("error_period_wrong").className = "hidden";
	
	proceed = true
		
 	if(length == "")
	{
		document.getElementById("error_length").className = "formalerttext";
		document.getElementById("length").className = "formalert";
		proceed = false;
	} else if(length < 100 || length > 230 || isNaN(length)) {
		document.getElementById("error_length_wrong").className = "formalerttext";
		document.getElementById("length").className = "formalert";
		proceed = false;
	}
 	if(weight == "")
	{
		document.getElementById("error_weight").className = "formalerttext";
		document.getElementById("weight").className = "formalert";
		proceed = false;
	} else if(weight < 35 || weight > 250 || isNaN(weight)) {
		document.getElementById("error_weight_wrong").className = "formalerttext";
		document.getElementById("weight").className = "formalert";
		proceed = false;
	}
	if(how_long_overweight == "")
	{
		// niet verplicht
	} else if(how_long_overweight < 0 || isNaN(how_long_overweight)) {
		document.getElementById("error_overweight_wrong").className = "formalerttext";
		document.getElementById("overweight").className = "formalert";
		proceed = false;
	}
 	if(waist == "")
	{
		document.getElementById("error_waist").className = "formalerttext";
		document.getElementById("waist").className = "formalert";
		proceed = false;
	} else if(waist < 30 || waist > 300 || isNaN(waist)) {
		document.getElementById("error_waist_wrong").className = "formalerttext";
		document.getElementById("waist").className = "formalert";
		proceed = false;
	}
 	if(sex == "f"){
		if(hip == "")
		{
			document.getElementById("error_hip").className = "formalerttext";
			document.getElementById("hip").className = "formalert";
			proceed = false;
		} else if(hip < 30 || hip > 300 || isNaN(hip)) {
			document.getElementById("error_hip_wrong").className = "formalerttext";
			document.getElementById("hip").className = "formalert";
			proceed = false;
		}
	}
 	if(neck == "")
	{
		document.getElementById("error_neck").className = "formalerttext";
		document.getElementById("neck").className = "formalert";
		proceed = false;
	} else if(neck < 10 || neck > 100 || isNaN(neck)) {
			document.getElementById("error_neck_wrong").className = "formalerttext";
			document.getElementById("neck").className = "formalert";
			proceed = false;
	}
 	if(build == "")
	{
		document.getElementById("error_build").className = "formalerttext";
		proceed = false;
	}
 	if(job == "")
	{
		document.getElementById("error_job").className = "formalerttext";
		proceed = false;
	}
 /*
	if(activity == "")
	{
		document.getElementById("error_activity").className = "formalerttext";
		proceed = false;
	} 
 	if(gene == "")
	{
		document.getElementById("error_gene").className = "formalerttext";
		proceed = false;
	}
 	if(tried == "")
	{
		document.getElementById("error_tried").className = "formalerttext";
		proceed = false;
	}
	
 	if(howoften == "")
	{
		document.getElementById("error_howoften").className = "formalerttext";
		proceed = false;
	}
	
*/
 	if(period == "")
	{
		document.getElementById("error_period").className = "formalerttext";
		document.getElementById("period").className = "formalert";
		proceed = false;
	} else if(isNaN(period)) {
			document.getElementById("error_period_wrong").className = "formalerttext";
			document.getElementById("period").className = "formalert";
			proceed = false;
	}
 	if(idealweight == "")
	{
		document.getElementById("error_idealweight").className = "formalerttext";
		document.getElementById("idealweight").className = "formalert";
		proceed = false;
	} else {
		if(idealweight < 35 || idealweight > 250 || isNaN(idealweight)) {
			document.getElementById("error_idealweight_wrong").className = "formalerttext";
			document.getElementById("idealweight").className = "formalert";
			proceed = false;
		} else if(idealweight-weight > 0) {
			document.getElementById("error_idealweight_toohigh").className = "formalerttext";
			document.getElementById("idealweight").className = "formalert";
			proceed = false;
		}
	}
	
	if(proceed){
		document.profile.submit();
	} else {
		// return proceed;
	}
}
 
function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

function subscr_check(){
	
	var firstname = trim(document.subscription.firstname.value);
	var name = trim(document.subscription.name.value);
	var nickname = trim(document.subscription.nickname.value);
	var password = trim(document.subscription.password.value);
	var password2 = trim(document.subscription.password2.value);
	var street = trim(document.subscription.street.value);
	var streetnbr = trim(document.subscription.streetnbr.value);
	var zip = trim(document.subscription.zip.value);
	var city = trim(document.subscription.city.value);
	var country = document.subscription.country.options[document.subscription.country.selectedIndex].value;
	var email = trim(document.subscription.email.value);
	var phone = trim(document.subscription.phone.value);
	var phone2 = phone.replace(/[^0-9]/ig,"");
	// var mobile = document.subscription.mobile.value;
	var sex = getCheckedValue(document.subscription.sex);
	
	var bday = trim(document.subscription.bday.value);
	var bmonth = trim(document.subscription.bmonth.value);
	var byear = trim(document.subscription.byear.value);
	
	if (document.subscription.accept.checked){
		var accept = 1;
	}
	
	var abo_kind = getCheckedValue(document.subscription.abo_kind);
	var abo_gg_code = document.subscription.subscriptionNumber.value;
	var abo_gg_contr = document.subscription.subscriptionNumberContr.value;
	
	document.getElementById("firstname").className = "";
	document.getElementById("error_firstname").className = "hidden";
	document.getElementById("name").className = "";
	document.getElementById("error_name").className = "hidden";
	document.getElementById("nickname").className = "";
	document.getElementById("error_nickname").className = "hidden";
	document.getElementById("error_nickname_spec").className = "hidden";
	document.getElementById("password").className = "";
	document.getElementById("error_password").className = "hidden";
	document.getElementById("password2").className = "";
	document.getElementById("error_password2").className = "hidden";
	document.getElementById("error_password2_match").className = "hidden";
	document.getElementById("error_password_minlength").className = "hidden";
	
	document.getElementById("street").className = "";
	document.getElementById("error_street").className = "hidden";
	document.getElementById("streetnbr").className = "";
	document.getElementById("error_streetnbr").className = "hidden";
	document.getElementById("zip").className = "";
	document.getElementById("error_zip_wrong").className = "hidden";
	document.getElementById("error_zip").className = "hidden";
	
	document.getElementById("city").className = "";
	document.getElementById("error_city").className = "hidden";
	
	document.getElementById("email").className = "";
	document.getElementById("error_email").className = "hidden";
	document.getElementById("error_email_wrong").className = "hidden";
	document.getElementById("phone").className = "";
	document.getElementById("error_phone").className = "hidden";
	document.getElementById("error_phone_wrong").className = "hidden";
	/*document.getElementById("sex").className = "";*/
	document.getElementById("error_sex").className = "hidden";
	/*document.getElementById("accept").className = "";*/
	document.getElementById("error_accept").className = "hidden";
	
	
	document.getElementById("bday").className = "";
	document.getElementById("bmonth").className = "";
	document.getElementById("byear").className = "";
	document.getElementById("error_birthday").className = "hidden";
	document.getElementById("error_birthday_check").className = "hidden";
	document.getElementById("error_birthday_check_young").className = "hidden";
	document.getElementById("error_birthday_check_old").className = "hidden";
	
	document.getElementById("subscriptionNumber").className = "";
	document.getElementById("subscriptionNumberContr").className = "";
	document.getElementById("error_abochoice").className = "hidden";
	
	proceed = true;
	
 	if(firstname == "")
	{
		document.getElementById("error_firstname").className = "formalerttext";
		document.getElementById("firstname").className = "formalert";
		proceed = false;
	}
 	if(name == "")
	{
		document.getElementById("error_name").className = "formalerttext";
		document.getElementById("name").className = "formalert";
		proceed = false;
	}
 	if(nickname == "")
	{
		document.getElementById("error_nickname").className = "formalerttext";
		document.getElementById("nickname").className = "formalert";
		proceed = false;
	} else {
		var regexp = /[^a-zA-Z0-9\_\-]/;
		if (regexp.test(nickname)){
			document.getElementById("error_nickname_spec").className = "formalerttext";
			document.getElementById("nickname").className = "formalert";
			proceed = false;
		}
		
		/* var iChars = "! @#$%^&*()+=-[]\\\';,/{}|\":<>?יטא";
		for (var i = 0; i < nickname.length; i++) {
  			if (iChars.indexOf(nickname.charAt(i)) != -1) {
				document.getElementById("error_nickname_spec").className = "formalerttext";
				document.getElementById("nickname").className = "formalert";
				proceed = false;
			}
		}*/
	}
 	if(password == "")
	{
		document.getElementById("error_password").className = "formalerttext";
		document.getElementById("password").className = "formalert";
		proceed = false;
	}
 	if(password2 == "")
	{
		document.getElementById("error_password2").className = "formalerttext";
		document.getElementById("password2").className = "formalert";
		proceed = false;
	}
	if((password != "") && (password.length < 5)){
		document.getElementById("password").className = "formalert";
		document.getElementById("password2").className = "formalert";
		document.getElementById("error_password_minlength").className = "formalerttext";
		proceed = false;
	} else if ( (password != "") && (password2 != "") && (password2 != password) ){
		document.getElementById("password").className = "formalert";
		document.getElementById("password2").className = "formalert";
		document.getElementById("error_password2_match").className = "formalerttext";
		proceed = false;
	}
 	if(street == "")
	{
		document.getElementById("error_street").className = "formalerttext";
		document.getElementById("street").className = "formalert";
		proceed = false;
	}
 	if(streetnbr == "")
	{
		document.getElementById("error_streetnbr").className = "formalerttext";
		document.getElementById("streetnbr").className = "formalert";
		proceed = false;
	}
 	if(zip == "")
	{
		document.getElementById("error_zip").className = "formalerttext";
		document.getElementById("zip").className = "formalert";
		proceed = false;
	} else if(country == "be" && (zip < 1000 || zip > 9999 || zip != parseInt(zip) ))
	{
		document.getElementById("error_zip_wrong").className = "formalerttext";
		document.getElementById("zip").className = "formalert";
		proceed = false;
	}
 	if(city == "")
	{
		document.getElementById("error_city").className = "formalerttext";
		document.getElementById("city").className = "formalert";
		proceed = false;
	}
 	if(email == "")
	{
		document.getElementById("error_email").className = "formalerttext";
		document.getElementById("email").className = "formalert";
		proceed = false;
	} else {
		var regexp  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		if (!regexp.test(email))
		{
			document.getElementById("error_email_wrong").className = "formalerttext";
			document.getElementById("email").className = "formalert";
			proceed = false;
		}
	}
	
	
 	if(phone == "")
	{
		document.getElementById("error_phone").className = "formalerttext";
		document.getElementById("phone").className = "formalert";
		proceed = false;
	} else if(country == "be" && (phone2.length < 9 || phone2.length > 12 || phone.length > 19 || phone.search(/[a-z!&@#$*%]/ig) != -1 ))
	{
		document.getElementById("error_phone_wrong").className = "formalerttext";
		document.getElementById("phone").className = "formalert";
		proceed = false;
	}
 	/*if(mobile == "")
	{
		document.getElementById("error_mobile").className = "formalerttext";
		document.getElementById("mobile").className = "formalert";
		proceed = false;
	}
	*/
	if(sex == "")
	{
		document.getElementById("error_sex").className = "formalerttext";
		proceed = false;
	}
	if ( (bday == "") || (bmonth == "") || (byear == "") ) 
	{
			
		document.getElementById("error_birthday").className = "formalerttext";
		document.getElementById("bday").className = "formalert";
		document.getElementById("bmonth").className = "formalert";
		document.getElementById("byear").className = "formalert";
		proceed = false;
	}
		else 
	{
		if ( check_date(bday,bmonth,byear) == false )
		{
			document.getElementById("error_birthday_check").className = "formalerttext";
			document.getElementById("bday").className = "formalert";
			document.getElementById("bmonth").className = "formalert";
			document.getElementById("byear").className = "formalert";
			proceed = false;
		}
			else
		{
			now = new Date();
			now = Date.parse(now);
			birthdate = new Date(byear,bmonth-1,bday,0,0,0);
			birthdate = Date.parse(birthdate);
			if (now - birthdate < (18*365.2*24*3600*1000))
			{
				document.getElementById("error_birthday_check_young").className = "formalerttext";
				document.getElementById("byear").className = "formalert";
				proceed = false;
			} else if (now - birthdate > (100*365.2*24*3600*1000)){
				document.getElementById("error_birthday_check_old").className = "formalerttext";
				document.getElementById("byear").className = "formalert";
				proceed = false;
			}
		}
	}
	if(accept != 1)
	{
		document.getElementById("error_accept").className = "formalerttext";
		proceed = false;
	}
	
	if(abo_kind == "")
	{
		if(abo_gg_code == "" || abo_gg_contr == ""){
			document.getElementById("error_abochoice").className = "formalerttext";
			proceed = false;
		}
	}



	if (proceed){
		document.subscription.submit(); 
	} else {
		// return proceed;
	}
}


function validateEmail(email)
{
	var regexEmail = /^([a-zA-Z0-9][\w\.-]*[a-zA-Z0-9])@([a-zA-Z0-9][\w-]*[a-zA-Z0-9])\.([a-zA-Z0-9][a-zA-Z\.]*[a-zA-Z])$/;
	return email.match(regexEmail)
} 
	
function contactform_check()
{
	var name = document.ContactUs.name.value;
	var email = document.ContactUs.email.value;
	var subject = document.ContactUs.subject.value;
	var message = document.ContactUs.message.value;
	
	document.getElementById("name").className = "";
	document.getElementById("error_name").className = "hidden";
	document.getElementById("email").className = "";
	document.getElementById("error_email").className = "hidden";
	document.getElementById("subject").className = "";
	document.getElementById("error_subject").className = "hidden";
	document.getElementById("message").className = "";
	document.getElementById("error_message").className = "hidden";

	proceed = true;
	
	if(name == "")
	{
		document.getElementById("error_name").className = "formalerttext";
		document.getElementById("name").className = "formalert";
		proceed = false;
	}
	
	if(email == "" || validateEmail(email) == null)
	{
		document.getElementById("error_email").className = "formalerttext";
		document.getElementById("email").className = "formalert";
		proceed = false;
	}
	
	if(subject == 0)
	{
		document.getElementById("error_subject").className = "formalerttext";
		proceed = false;
	}
	
	if(message == "")
	{
		document.getElementById("error_message").className = "formalerttext";
		document.getElementById("message").className = "formalert";
		proceed = false;
	}
	if(proceed)
	{
		document.ContactUs.submit();
	}
}


function check_date(day,month,year)
{
	var day = day;
	
	// Attention! Javascript consider months in the range 0 - 11
	var month = month - 1;
	var year = year;
	
			
	// This instruction will create a date object
	source_date = new Date(year,month,day);
	
	if(year != source_date.getFullYear())
	{
		return false;
	}
	
	if(month != source_date.getMonth())
	{
		return false;
	}
	
	if(day != source_date.getDate())
	{
		return false;
	}

	return true;
}


 
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function changeabo_shipment(country_id){
	if (country_id != "be"){
		str = abo1price + shippingcost_abo1;
		document.getElementById('abo1').innerHTML = str;
				
		str = abo2price + shippingcost_abo2;
		document.getElementById('abo2').innerHTML =  str;
		
		str = abo3price + shippingcost_abo3;
		document.getElementById('abo3').innerHTML =  str;
	} else {
		document.getElementById('abo1').innerHTML = abo1price;
		document.getElementById('abo2').innerHTML =  abo2price;
		document.getElementById('abo3').innerHTML =  abo3price;
	}
	
}

function changeabo_shipment_profile(country_id){
	
	if (country_id != "be"){
		document.getElementById('abo1').innerHTML = text_abo1_foreign;
		document.getElementById('abo2').innerHTML =  text_abo2_foreign;
		document.getElementById('abo3').innerHTML =  text_abo3_foreign;
	} else {
		document.getElementById('abo1').innerHTML = text_abo1;
		document.getElementById('abo2').innerHTML =  text_abo2;
		document.getElementById('abo3').innerHTML =  text_abo3;
	}	
}

function sprintf()
{
   if (!arguments || arguments.length < 1 || !RegExp)
   {
      return;
   }
   var str = arguments[0];
   var re = /([^%]*)%('.|0|\x20)?(-)?(\d+)?(\.\d+)?(%|b|c|d|u|f|o|s|x|X)(.*)/;
   var a = b = [], numSubstitutions = 0, numMatches = 0;
   while (a = re.exec(str))
   {
      var leftpart = a[1], pPad = a[2], pJustify = a[3], pMinLength = a[4];
      var pPrecision = a[5], pType = a[6], rightPart = a[7];

      numMatches++;
      if (pType == '%')
      {
         subst = '%';
      }
      else
      {
         numSubstitutions++;
         if (numSubstitutions >= arguments.length)
         {
            alert('Error! Not enough function arguments (' + (arguments.length - 1)
               + ', excluding the string)\n'
               + 'for the number of substitution parameters in string ('
               + numSubstitutions + ' so far).');
         }
         var param = arguments[numSubstitutions];
         var pad = '';
                if (pPad && pPad.substr(0,1) == "'") pad = leftpart.substr(1,1);
           else if (pPad) pad = pPad;
         var justifyRight = true;
                if (pJustify && pJustify === "-") justifyRight = false;
         var minLength = -1;
                if (pMinLength) minLength = parseInt(pMinLength);
         var precision = -1;
                if (pPrecision && pType == 'f')
                   precision = parseInt(pPrecision.substring(1));
         var subst = param;
         switch (pType)
         {
         case 'b':
            subst = parseInt(param).toString(2);
            break;
         case 'c':
            subst = String.fromCharCode(parseInt(param));
            break;
         case 'd':
            subst = parseInt(param) ? parseInt(param) : 0;
            break;
         case 'u':
            subst = Math.abs(param);
            break;
         case 'f':
            subst = (precision > -1)
             ? Math.round(parseFloat(param) * Math.pow(10, precision))
              / Math.pow(10, precision)
             : parseFloat(param);
            break;
         case 'o':
            subst = parseInt(param).toString(8);
            break;
         case 's':
            subst = param;
            break;
         case 'x':
            subst = ('' + parseInt(param).toString(16)).toLowerCase();
            break;
         case 'X':
            subst = ('' + parseInt(param).toString(16)).toUpperCase();
            break;
         }
         var padLeft = minLength - subst.toString().length;
         if (padLeft > 0)
         {
            var arrTmp = new Array(padLeft+1);
            var padding = arrTmp.join(pad?pad:" ");
         }
         else
         {
            var padding = "";
         }
      }
      str = leftpart + padding + subst + rightPart;
   }
   return str;
}

function submitForm(form, e){
	if (e == 13)
		form.submit();
		return true;
}
