function storeCaret(text) {
	if (text.createTextRange) {
		text.caretPos = document.selection.createRange().duplicate();
	}
}
function addBBcode(textin,textout) {
	if(document.firma.message.createTextRange && document.firma.message.caretPos) {
		var caretPos = document.firma.message.caretPos;
		var insert = textin + caretPos.text + textout;
		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? insert + ' ' : insert;
	} else {
		document.firma.message.value += textin+textout;
	}
	document.firma.message.focus(caretPos);
}

function addBBcodeImg(promptImg) {
	var inputImg = prompt(promptImg,"http://");
	var insertImg = '[img]' + inputImg + '[/img]';
	if(document.firma.message.createTextRange && document.firma.message.caretPos) {
		var caretPos = document.firma.message.caretPos;
		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? insertImg + ' ' : insertImg;
	} else {
		document.firma.message.value += insertImg;
	}
	document.firma.message.focus(caretPos);
}

function addBBcode2(mode,prompt1,prompt2) {
	if(document.firma.message.createTextRange && document.firma.message.caretPos) {
		var input1 = prompt(prompt1, "");
		var caretPos = document.firma.message.caretPos;
		var insert = '[' + mode + '=' + input1 + ']' + caretPos.text + '[/' + mode + ']';
		if (document.getSelection) {
    		var str = document.getSelection();
		} else if (document.selection && document.selection.createRange) {
			var range = document.selection.createRange();
			var str = range.text;
		} 
		if(str.length==0) {
			var input2 = prompt(prompt2, "");
			insert = '[' + mode + '=' + input1 + ']' + input2 + '[/' + mode + ']';
		}  
		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? insert + ' ' : insert;
	} else {
		var input1 = prompt(prompt1, "");
		var input2 = prompt(prompt2, "");
		var insert = '[' + mode + '=' + input1 + ']' + input2 + '[/' + mode + ']';
		document.firma.message.value += insert;
	}
	document.firma.message.focus(caretPos);
}

function showRate() {
	codigo=document.firma.rate.options[document.firma.rate.selectedIndex].value;
	document.images.estrellas.src='gif/star'+codigo+'.gif';
}
function showFlag() {
	codigo=document.firma.country.options[document.firma.country.selectedIndex].value;
	document.images.bandera.src='gif/flags/'+codigo+'.png';
}

function countChar(maxChar,left) {
	mensaje=document.firma.message.value;
	do {
		mensaje=mensaje.replace(/(.*)\[img\](.*)\[.img\](.*)/,"$1$3");
		mensaje=mensaje.replace(/(.*)\[(.*)\](.*)/,"$1$3");
	} while(/\[.*\]/.test(mensaje));
	if(mensaje.length > maxChar) {
		mensaje = mensaje.substring(0,maxChar);
		document.firma.message.value = mensaje;
	}
	document.firma.contador.value = maxChar - mensaje.length + left;
}

function goPage() {
	var offset = document.index.page.options[document.index.page.selectedIndex].value;
	window.location.href = 'index.php?offset=' + offset;
}

function onoff(thisObj,enable,disable) {
	var texto = thisObj.value;
	var oculto = thisObj+'Hidden';
	if(texto == enable) {
		thisObj.value = disable;
		oculto.value= disable;
	} else {
		thisObj.value = enable;
		oculto.value = enable;
	}
}

function submitOnce(theform) {
	if (document.all || document.getElementById) {
		for(i=0 ; i < theform.length ; i++) {
			var tempobj = theform.elements[i];
			if(tempobj.type.toLowerCase()=="submit"||tempobj.type.toLowerCase()=="reset") {
				tempobj.disabled=true;
			}
		}
	}
}

function validate(obj,modo,porDefecto, min) {
	var texto = obj.value;
	do {
		texto = texto.replace(/\|\|/,"|");
	} while(/\|\|/.test(texto));
	if(modo=="url") {
		if(texto.substr(0,7)!="http://" && texto.substr(0,8)!="https://") texto = "http://" + texto;
		texto = texto.replace(/ /,"");
	}
	if(modo=="email") {
		if(!/(.+)@(.+)\.(.+)/.test(texto)) texto = '';
		if(/[\s]+/.test(texto)) texto = '';
		if(texto.indexOf('@') != texto.lastIndexOf('@')) texto = '';
		var dominio = texto.substring(1+texto.lastIndexOf('.'));
		if( dominio.length>3 || dominio.length<2) texto = '';
	}
	if(modo=="icq") {
		do {
			texto = texto.replace(/[^0-9]/,"");
		} while(/[^0-9]/.test(texto));
	}
	if(modo=="number") {
		do {
			texto = texto.replace(/[^0-9]/,"");
		} while(/[^0-9]/.test(texto));
		if(texto=='') texto = porDefecto;
	}
	if(modo=="numberMin") {
		do {
			texto = texto.replace(/[^0-9]/,"");
		} while(/[^0-9]/.test(texto));
		if(texto=='') texto = porDefecto;
		if(parseInt(texto) < min) texto = porDefecto;
	}
	obj.value = texto;
}
