// JavaScript de validacion de formularios:

// FECHAS:
var daysInMonth = makeArray(12);
daysInMonth[1] = 31;
daysInMonth[2] = 29;
daysInMonth[3] = 31;
daysInMonth[4] = 30;
daysInMonth[5] = 31;
daysInMonth[6] = 30;
daysInMonth[7] = 31;
daysInMonth[8] = 31;
daysInMonth[9] = 30;
daysInMonth[10] = 31;
daysInMonth[11] = 30;
daysInMonth[12] = 31;

function makeArray(n) {
   for (var i = 1; i <= n; i++) {
      this[i] = 0;
   } 
   return this;
}

function daysInFebruary(whichYear) {
    return (whichYear % 4 == 0 && (!(whichYear % 100 == 0) || (whichYear % 400 == 0)) ? 29 : 28);
}

function isDate(mm, dd, yyyy) {
	if (mm !="" && !(mm > 0 && mm < 13)) { return false; }
	if (dd !="" && !(dd > 0 && dd < 32)) { return false; }
	if ((dd!="" && mm!="") && dd > daysInMonth[mm]) { return false; }
	if (yyyy !="" && !(yyyy > 1889 && yyyy < 2210)) { return false; }
	if ((mm=="2" || mm=="02" && dd!="" && yyyy!="") && dd > daysInFebruary(yyyy)) {	return false; }
	return true;
}

// Tamaño maximo para textareas:
function maxTextArea(campo,maxnum) {
	if (String(campo.value).length>maxnum) { campo.value=String(campo.value).substring(0,maxnum); }	
}



// Funcion para los campos de texto enriquecido: (BBCode de manel):

function bbcode(v,campo) {
	if (document.selection) { // IE
		var str = document.selection.createRange().text;
		campo.focus();
		var sel = document.selection.createRange();
		sel.text = "[" + v + "]" + str + "[/" + v + "]";
		return;
	} else if (document.getElementById && !document.all) { // Mozilla
		var txtarea = campo;
		var selLength = txtarea.textLength;
		var selStart = txtarea.selectionStart;
		var selEnd = txtarea.selectionEnd;
		if (selEnd == 1 || selEnd == 2)
		selEnd = selLength;
		var s1 = (txtarea.value).substring(0,selStart);
		var s2 = (txtarea.value).substring(selStart, selEnd)
		var s3 = (txtarea.value).substring(selEnd, selLength);
		txtarea.value = s1 + '[' + v + ']' + s2 + '[/' + v + ']' + s3;
		return;
	} else inputBBCode('[' + v + '][/' + v + '] ',campo);
}

function bbcodeurl(v,campo) {
	var url;
	url=prompt("URL:",'http://');
	var v1;
	v1 = "url="+url;
	if (document.selection) { // IE
		var str = document.selection.createRange().text;
		campo.focus();
		var sel = document.selection.createRange();
		txt=prompt("Texto:",str)
		sel.text = "[" + v1 + "]" + txt + "[/" + v + "]";
		return;
	} else if (document.getElementById && !document.all) { // Mozilla
		var txtarea = campo;
		var selLength = txtarea.textLength;
		var selStart = txtarea.selectionStart;
		var selEnd = txtarea.selectionEnd;
		if (selEnd == 1 || selEnd == 2)
		selEnd = selLength;
		var s1 = (txtarea.value).substring(0,selStart);
		var s2 = (txtarea.value).substring(selStart, selEnd)
		var s3 = (txtarea.value).substring(selEnd, selLength);
		txt=prompt("Texto:",s2)
		txtarea.value = s1 + '[' + v1 + ']' + txt + '[/' + v + ']' + s3;
		return;
	} else {
		inputBBCode('[' + vl + ']'+txt+'[/' + v + '] ',campo);
	}
}

function bbcodelista(v,campo) {
	var url;
	
	if (document.selection) { // IE
		var str = document.selection.createRange().text;
		campo.focus();
		var sel = document.selection.createRange();
		sel.text = "[lista]\n[o]" + str + "[/o]\n[/lista]\n";
		return;
	} else if (document.getElementById && !document.all) { // Mozilla
		var txtarea = campo;
		var selLength = txtarea.textLength;
		var selStart = txtarea.selectionStart;
		var selEnd = txtarea.selectionEnd;
		if (selEnd == 1 || selEnd == 2)
		selEnd = selLength;
		var s1 = (txtarea.value).substring(0,selStart);
		var s2 = (txtarea.value).substring(selStart, selEnd)
		var s3 = (txtarea.value).substring(selEnd, selLength);
		txtarea.value = s1 + '[lista]\n[o]' + s2 + '[/o]\n[/lista]\n' + s3;
		return;
	} else {
		inputBBCode('[lista]\n[o]opción uno[/o]\n[/lista]\n ',campo);
	}
}

function inputBBCode(what,campo) {
	if (campo.createTextRange) {
		campo.focus();
		document.selection.createRange().duplicate().text = what;
	} else if (document.getElementById && !document.all) { // Mozilla
		var tarea = campo;
		var selEnd = tarea.selectionEnd;
		var txtLen = tarea.value.length;
		var txtbefore = tarea.value.substring(0,selEnd);
		var txtafter = tarea.value.substring(selEnd, txtLen);
		tarea.value = txtbefore + what + txtafter;
	} else {
		campo.value += what;
	}
}

