
/*
 * jQuery plugin: fieldSelection - v0.1.0 - last change: 2006-12-16
 * (c) 2006 Alex Brem <alex@0xab.cd> - http://laboratorium.0xab.cd/jquery/fieldselection/0.2.3-test/
 */
(function(){var c={getSelection:function(){var e=this.jquery?this[0]:this;return(('selectionStart'in e&&function(){var l=e.selectionEnd-e.selectionStart;return{start:e.selectionStart,end:e.selectionEnd,length:l,text:e.value.substr(e.selectionStart,l)}})||(document.selection&&function(){e.focus();var r=document.selection.createRange();if(r==null){return{start:0,end:e.value.length,length:0}}var a=e.createTextRange();var b=a.duplicate();a.moveToBookmark(r.getBookmark());b.setEndPoint('EndToStart',a);return{start:b.text.length,end:b.text.length+r.text.length,length:r.text.length,text:r.text}})||function(){return{start:0,end:e.value.length,length:0}})()},replaceSelection:function(){var e=this.jquery?this[0]:this;var a=arguments[0]||'';return(('selectionStart'in e&&function(){e.value=e.value.substr(0,e.selectionStart)+a+e.value.substr(e.selectionEnd,e.value.length);return this})||(document.selection&&function(){e.focus();document.selection.createRange().text=a;return this})||function(){e.value+=a;return this})()}};jQuery.each(c,function(i){jQuery.fn[i]=this})})();


$(document).ready(function() {

	// Go forum
	$("#golistforums select.gofid").change(function() {
		window.location = $(this).find("option:selected").val();
	});

	// Go pages
	$("div.pages select.pg").change(function() {
		var urlb = $("div.pages input[name=pageurlbefore]").val();
		var urla = $("div.pages input[name=pageurlafter]").val();
		var pg = $(this).find("option:selected").val();
		window.location = urlb+pg+urla;
	});

	// Sondages
	$("#dopoll").click(function() {
		if($(this).is(":checked")) {
			$("#divpoll").slideDown();
		} else {
			$("#divpoll").slideUp();
		}
	});
	$("#doqcm").click(function() {
		if($(this).is(":checked")) {
			$("#maxrep").removeAttr("readonly");
		} else {
			$("#maxrep").attr("readonly","readonly");
		}
	});

	// Votes
	$("#pollq #choixqcm_b").click(function() {
		if($(this).is(":checked")) {
			$("#pollq .choixqcm").removeAttr("checked");
		}
	});
	$("#pollq .choixqcm").click(function() {
		$("#pollq #choixqcm_b").removeAttr("checked");
		var countrep = $("#pollq .choixqcm:checked").length;
		var maxrep = $("#pollq #maxrep").val();
		if(countrep>maxrep) {
			$(this).removeAttr("checked");
		}
	});

	// Charsleft
	var pmmax;
	var pmcol;
	$("#pmtextarea").keyup(function() {
		if(pmmax==undefined) {
			pmmax = $("#pmmax").val();
			pmcol = $("#charsleft").css("color");
		}
		var l = pmmax - $("#pmtextarea").val().length;
		$("#charsleft").val(l);
		if(l<1)
			$("#charsleft").css("color","red");
		else
			$("#charsleft").css("color",pmcol);
	});
	
	// Smilies
	$("#other_smilies").click(function() {
		window.open('smilies/index.php','Smilies','toolbar=no,scrollbars=yes,menubar=no,top='+screen.height/2+',left='+screen.width/2+',width=360,height=300');
		//var tarsm = $("<div>").insertAfter($(this));
		//tarsm.load("smilies/index.php #smcontent");
		//$(this).unbind("click");
		return false;
	});
	
	$("#smilies .smiley").click(function() {
		$("#message").replaceSelection('['+$(this).attr("alt")+']', true);
		return false;
	});
	
	$("#selectcolor").change(function() {
		var sel = $("#message").getSelection().text;
		$("#message").replaceSelection('[#'+$(this).find("option:selected").val()+']'+sel+'[/#]', true);
		return false;
	});

});




/* Old Style Fashion */

var style = new Array('b','/b','i','/i','s','/s','email','/email','url=','/url','img','/img','code','/code','#','/#','quote','/quote');
lien="http://";

function MM_findObj(n, d) {
	var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
	}
	if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i>d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function storeCaret (textEl) {
	if (textEl.createTextRange) 
		textEl.caretPos = document.selection.createRange().duplicate();
}

function insertAtCaret(textEl, text) {
	if (textEl.createTextRange && textEl.caretPos) {
		var caretPos = textEl.caretPos;
		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
	}
}

function insertInCaret(textEl, text, text2) {
	if (textEl.createTextRange && textEl.caretPos) {
		var caretPos = textEl.caretPos;
		selectedtext = caretPos.text
		caretPos.text =	caretPos.text.charAt(caretPos.text.length - 1) == '' ? text + '' : text;
		caretPos.text = caretPos.text + selectedtext + text2
	}
}

function txtstyle(id) {
	MM_findObj('message').focus();
	if (MM_findObj('message').createTextRange && MM_findObj('message').caretPos) {
		var caretPos = MM_findObj('message').caretPos;
		if (caretPos.text.length>0) {
			if (id!=8) {
				insertInCaret(MM_findObj('message'),"["+style[id]+"]","["+style[id+1]+"]")
			} else {
				geturl = prompt("Veuillez entrer l'URL",'http://')
				insertInCaret(MM_findObj('message'),"["+style[id]+geturl+"]","["+style[id+1]+"]")
			}
		} else {
			if ( (countbalise('['+style[id],'message')+countbalise('['+style[id+1],'message'))%2 == 0) {
				if (id!=8) {
					insertAtCaret(MM_findObj('message'),"["+style[id]+"]")
				} else {
					geturl = prompt("Veuillez entrer l'URL",'http://')
					insertAtCaret(MM_findObj('message'),"["+style[id]+geturl+"]")
				}
			} else {
				insertAtCaret(MM_findObj('message'),"["+style[id+1]+"]")
			}
			MM_findObj('message').focus()
		}
	} else {
		if((countbalise('['+style[id],'message')+countbalise('['+style[id+1],'message'))%2 == 0) {
			MM_findObj('message').value=MM_findObj('message').value+'['+style[id]+']';
		} else {
			MM_findObj('message').value=MM_findObj('message').value+'['+style[id+1]+']';
		}
		MM_findObj('message').focus()
	}
}

function countbalise(b,ch) {
	count = 0;
	pos = MM_findObj(ch).value.indexOf(b);
	while ( pos != -1 ) {
		count++;
		pos = MM_findObj(ch).value.indexOf(b,pos+1);
	}
	return count;
}

function insertElt(MyString) {
	MM_findObj('message').focus();
	if ((MM_findObj('message').createTextRange) && (MM_findObj('message').caretPos)) {
		var caretPos = MM_findObj('message').caretPos;
		if (caretPos.text.length>0)
			insertInCaret(MM_findObj('message'),MyString,"");
		else
			insertAtCaret(MM_findObj('message'),MyString);
	} else {
		MM_findObj('message').value=MM_findObj('message').value+MyString;
		MM_findObj('message').focus()
	}
}

function insertTag(MyString) {
	MM_findObj('message').focus();
	if (MM_findObj('message').createTextRange && MM_findObj('message').caretPos) {
		var caretPos = MM_findObj('message').caretPos;
		if (caretPos.text.length>0) {
			insertInCaret(MM_findObj('message'),"["+MyString+"]","[/"+MyString+"]")
		} else {
			if ( (countbalise('['+MyString,'message')+countbalise('[/'+MyString,'message'))%2 == 0) {
				insertAtCaret(MM_findObj('message'),"["+MyString+"]")
			} else {
				insertAtCaret(MM_findObj('message'),"[/"+MyString+"]")
			}
			MM_findObj('message').focus()
		}
	} else {
		if((countbalise('['+MyString,'message')+countbalise('[/'+MyString,'message'))%2 == 0) {
			insertAtCaret(MM_findObj('message'),"["+MyString+"]")
		} else {
			insertAtCaret(MM_findObj('message'),"[/"+MyString+"]")
		}
		MM_findObj('message').focus()
	}
}

