String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };
var o = document;

function submit(act){
  getId(act).submit();
}

function getId(id){
	return o.getElementById(id);
}

function allValidChars(email) {
  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
  for (var i=0; i < email.length; i++) {
    var letter = email.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) != -1)
      continue;
    parsed = false;
    break;
  }
  return parsed;
}

function in_array(val,in_arr){
	var a=false;
	for(var i=0;i<in_arr.length;i++){
	  if(val == in_arr[i]){
	    a=true;break;
	  }
	}
	return a;
}

function initCounter(field, item, max){
  if(getId(field).value){
    getId(item).innerHTML = getId(field).value.length+' / '+max;
  }else{
    getId(item).innerHTML = 0+' / '+max;
  }
}

function updateCounter(field, item, max){
  var l = field.value.length;
  if(l > max){
    field.value = field.value.substring(0, max);
    return false;
  }
  getId(item).innerHTML = l+' / '+max;
}

function isNumeric(x){
  var RegExp = /^(\d*)$/;
  return x.match(RegExp);
}

function isEmail(x){
  var RegExp = /^[^@]+@[^@]+.[a-z]{2,}$/ig;
  return x.match(RegExp);
}

function changeQuantity(field, val){
  getId(field).value = parseInt(getId(field).value) + val;
  if(getId(field).value < 1)
    getId(field).value = 1;
  if(getId(field).value > 99)
    getId(field).value = 99;
}

function checkAll(obj, total){
  chId = obj.id;
  for(var i=0;i<total;i++){
    if(obj.checked){
      getId(chId+i).checked = true;
    }else{
      getId(chId+i).checked = false;
    }
  }
}

function setCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function getCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

function getTip(obj){
  var id = obj.id;
  var span = obj.childNodes[1];
  if(span.innerHTML == ''){
    span.innerHTML = __loading;
    var ajax = new ajaxConn();
    ajax.connect("tooltip/", "POST", "tip="+id, insertTip, span);
  }
}

function insertTip(response, span){
  span.innerHTML = response.responseText;
}

function changeLabel(obj, content, label){
	var ul = obj.parentNode.childNodes;
	var c = 0;
	for(var i=0;i<ul.length;i++){
	  if(ul[i].tagName == 'LI'){
		  ul[i].className = "";
		  getId(content+(c+1)).className = 'hide';
		  c++;
	  }
	}
	obj.className = "sel";
	getId(content+label).className = 'show';
}

