// JavaScript Document

function trim(str) {
  return str.replace(/^\s*|\s*$/g, "");
}

var maxpartsize = 156 - 4;
var maxparts = 5;
var totalmaxlen = maxparts * maxpartsize;

// Initialize counterchar
document.onload = counterchar(document.smsform);

function counterchar(F) {
  if(!F || !F.sender) return;
  var box = F.message;
  var sender = F.sender.value;
  var sms_tail = (sender=="" ? "" : " Od: "+sender);
  var char_in = box.value.length;
  var msglen = char_in + sms_tail.length;
  var purelen = totalmaxlen - sms_tail.length;
  var char_le = purelen - char_in;
  
  //F.sb.disabled=(char_in==0);
  if (char_le < 0) {
    alert('Zpráva je příliš dlouhá, musíme ji zkrátit.');
    box.value = box.value.substring(0, purelen);
    char_in = purelen;
    msglen = char_in + sms_tail.length;
    char_le = 0;
  }
  F.char_in.value = char_in;
  F.char_le.value = char_le;
  var ipart = Math.ceil(msglen/maxpartsize);
  F.parts.value = ipart.toString();
}

// Form data check
function check_form(F) {
  // Empty message
  if(trim(F.message.value) == '') {
    alert('Zpráva je prázdná.');
    return false;
  }
  // Invalid recipient number
  if(!isCzMobileNumber(F.number.value)) {
    alert('Zadali jste nesprávné číslo příjemce.');
    return false;
  }
  // Empty pictogram
  var pict = trim(F.pictogram.value);
	if(pict == '') {
		alert('Neopsali jste číslo z obrázku.');
		return false;
	}
	// Invalid pictogram
	if(!(/^[0-9]{4,5}$/).test(pict)) {
	  alert('Neopsali jste správně číslo z obrázku. Zkuste to prosím ještě jednou.');
		return false;
	}
	return true;
}

// Check if msisdn is valid Czech mobile number
function isCzMobileNumber(msisdn) {
	return (/^(\+420|420|00420){0,1}(60[1-8]{1}|72[0-9]{1}|73[0-9]{1}|77[4-7]{1})([0-9]{6})$/).test(msisdn);
}


