/* Common Functions */

function getObj(id) {
	return document.getElementById(id);
}

function openclose(id){
	
	obj = getObj(id);
	if (obj.style.display=='none'){
		obj.style.display='';
	} else {
		obj.style.display='none';
	}
}

function closeElement(id) {
	
	obj = getObj(id);
	obj.style.display='none';
	
}



function plusUnits(id) {
	txt = getObj(id);
	
	if (isNaN(txt.value)) {
		txt.value = 1;
	} else {
		txt.value = Number(txt.value) + 1;
	}
}

function ltrim(str) {
  var whitespace = new String(" \t\n\r");

  var s = new String(str);

  if (whitespace.indexOf(s.charAt(0)) != -1) {
	var j=0, i = s.length;
    while (j < i && whitespace.indexOf(s.charAt(j)) != -1) {
    	j++;
    }
    s = s.substring(j, i);
  }

  return s;
}

function rtrim(str) {
  var whitespace = new String(" \t\n\r");

  var s = new String(str);

  if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {
    var i = s.length - 1;       
    while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1) {
    	i--;
    }
    s = s.substring(0, i+1);
  }

  return s;
}

function trim(str) {
  return rtrim(ltrim(str));
}

function isAlpha(str) {
	if (str+"" == "undefined" || str+"" == "null" || str+"" == "") {
		return false;
	}
	
	str += "";

	for (i = 0; i < str.length; i++) {
		if (!(((str.charAt(i) >= "0") && (str.charAt(i) <= "9")) ||
			((str.charAt(i) >= "a") && (str.charAt(i) <= "z")) ||
			((str.charAt(i) >= "A") && (str.charAt(i) <= "Z")))) {
			return false;	
		}
	}

	return true;
} 

/* BOX */ 
function minusUnits(id) {
	txt = getObj(id);
	
	if (isNaN(txt.value) || Number(txt.value) <= 1) {
		txt.value = 0;
	} else {
		txt.value = Number(txt.value) - 1;
	}
}

function markField(str) {
	getObj(str).style.backgroundColor = '#ffd89a'; //'#ffd89a'
}

/* User */

function validateChgPwd() {
	
	err = '';
	oldpwd = trim(getObj('oldpwd').value)+'';
	pwd = trim(getObj('newpwd1').value)+'';
	pwd2 = trim(getObj('newpwd2').value)+'';
	
	if (oldpwd.length < 4) {
		err += 'Debe de rellenar una contraseña, de mínimo 4 caracteres\n';
		markField('oldpwd');
	} else if (pwd.length < 4) {
		err += 'Debe de rellenar una contraseña, de mínimo 4 caracteres\n';
		markField('newpwd1');
		markField('newpwd2');
	} else if (pwd != pwd2) {
		err += 'Las contraseñas deben coincidir\n';
		markField('newpwd1');
		markField('newpwd2');
	}
	
	if (err != '') {
		alert('Se han encontrado los siguientes errores:\n\n'+err);
		return false;
	}
	
	return true;
}

function validateUser(mode){
	err = '';
	
	if (mode==1) {
		//Add
	
		email = trim(getObj('email').value);
		if (email == '' || email.length < 5) {
			err += 'Debe de rellenar un email\n';
			markField('email');
		} else if (email.indexOf('@')== -1 || email.indexOf('.')== -1) {
			err += 'Debe de rellenar un email correcto\n';
			markField('email');
		}
			
		objpwd = trim(getObj('pwd').value)+'';
		objpwd2 = trim(getObj('pwd2').value)+'';
		if (objpwd.length < 4) {
			err += 'Debe de rellenar una contraseña, de mínimo 4 caracteres\n';
			markField('pwd');
			markField('pwd2');
		} else if (objpwd.length != objpwd2.length || objpwd != objpwd2) {
			err += 'Las contraseñas deben coincidir\n';
			markField('pwd');
			markField('pwd2');
		}
		
	} else {
		//Update
	}
	
	name = trim(getObj('name').value);
	if (name.length<1) {
		err += 'Debe de rellenar un nombre y apellidos o nombre de empresa\n';
		markField('name');
	}
	
	phone = trim(getObj('phone').value);
	if (phone.length<4) {
		err += 'Debe de rellenar un telefono\n';
		markField('phone');
	} else if (isNaN(phone)){
		err += 'Debe de rellenar un telefono válido, solo se admiten números\n';
		markField('phone');
	}
	
	nif = trim(getObj('nif').value);
	if (nif.length<1) {
		err += 'Debe rellenar un dni o nif\n';
		markField('nif');
	} else if (nif.length<9 || isAlpha(nif)==false) {
		err += 'Debe rellenar un dni o nif válido, solo se admite letras y números\n';
		markField('nif');
	}
	
	address = trim(getObj('address').value);
	if (address.length<1) {
		err += 'Debe rellenar una dirección o domicilio\n';
		markField('address');
	}
	
	city = trim(getObj('city').value);
	if (city.length<1) {
		err += 'Debe rellenar una población\n';
		markField('city');
	}
	
	province = trim(getObj('province').value);
	if (province.length<1) {
		err += 'Debe rellenar una provincia\n';
		markField('province');
	}
	
	cp = trim(getObj('cp').value);
	if (cp.length<5) {
		err += 'Debe rellenar un código postal\n';
		markField('cp');
	} else if (isNaN(cp)){
		err += 'Debe de rellenar un código postal válido, solo se admiten números\n';
		markField('cp');
	}
	
	if (err != '') {
		alert('Se han encontrado los siguientes errores:\n\n'+err);
		return false;
	}
	
	return true;
}

