//--------------------------------------------

// Set up our simple tag open values

//--------------------------------------------

//

// Modified by Volker Puttrich to allow IE 4+

// on windows to use cursor position for inserting

// tags / smilies



var B_open = 0;

var I_open = 0;

var U_open = 0;

var QUOTE_open = 0;

var CODE_open = 0;

var CENTER_open = 0;

var SQL_open = 0;

var HTML_open = 0;



var bbtags   = new Array();



// Determine browser type and stuff.

// Borrowed from http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html



var myAgent   = navigator.userAgent.toLowerCase();

var myVersion = parseInt(navigator.appVersion);



var is_ie   = ((myAgent.indexOf("msie") != -1)  && (myAgent.indexOf("opera") == -1));

var is_nav  = ((myAgent.indexOf('mozilla')!=-1) && (myAgent.indexOf('spoofer')==-1)

                && (myAgent.indexOf('compatible') == -1) && (myAgent.indexOf('opera')==-1)

                && (myAgent.indexOf('webtv') ==-1)       && (myAgent.indexOf('hotjava')==-1));



var is_win   =  ((myAgent.indexOf("win")!=-1) || (myAgent.indexOf("16bit")!=-1));

var is_mac    = (myAgent.indexOf("mac")!=-1);











//--------------------------------------------

// Set the help bar status

//--------------------------------------------




function popUp(str){
                window.open(str, "Maroc-adresse Espace jeux",'toolbar=no,directories=no,status=no,menubar=no,scrollbars=no,copyhistory=no,resizable=no,width=800,height=700');
            }
// Set the number of tags open box



function cstat()

{

	var c = stacksize(bbtags);

	

	if ( (c < 1) || (c == null) ) {

		c = 0;

	}

	

	if ( ! bbtags[0] ) {

		c = 0;

	}

	

	document.REPLIER.tagcount.value = c;

}



//--------------------------------------------

// Get stack size

//--------------------------------------------



function stacksize(thearray)

{

	for (i = 0 ; i < thearray.length; i++ ) {

		if ( (thearray[i] == "") || (thearray[i] == null) || (thearray == 'undefined') ) {

			return i;

		}

	}

	

	return thearray.length;

}



//--------------------------------------------

// Push stack

//--------------------------------------------



function pushstack(thearray, newval)

{

	arraysize = stacksize(thearray);

	thearray[arraysize] = newval;

}



//--------------------------------------------

// Pop stack

//--------------------------------------------



function popstack(thearray)

{

	arraysize = stacksize(thearray);

	theval = thearray[arraysize - 1];

	delete thearray[arraysize - 1];

	return theval;

}





//--------------------------------------------

// Close all tags

//--------------------------------------------



function closeall()

{

	if (bbtags[0]) {

		while (bbtags[0]) {

			tagRemove = popstack(bbtags)

			document.REPLIER.Comment.value += "[/" + tagRemove + "]";

			

			// Change the button status

			// Ensure we're not looking for FONT, SIZE or COLOR as these

			// buttons don't exist, they are select lists instead.

			

			if ( (tagRemove != 'FONT') && (tagRemove != 'SIZE') && (tagRemove != 'COLOR') )

			{

				eval("document.REPLIER." + tagRemove + ".value = ' " + tagRemove + " '");

				eval(tagRemove + "_open = 0");

			}

		}

	}

	

	// Ensure we got them all

	document.REPLIER.tagcount.value = 0;

	bbtags = new Array();

	document.REPLIER.message.focus();

}



//--------------------------------------------

// EMOTICONS

//--------------------------------------------



function emoticon(theSmilie)

{

	doInsert(" " + theSmilie + " ", "", false);

}



//--------------------------------------------

// ADD CODE

//--------------------------------------------



function add_code(NewCode)

{

    document.REPLIER.message.value += NewCode;

    document.REPLIER.message.focus();

}







//--------------------------------------------

// SIMPLE TAGS (such as B, I U, etc)

//--------------------------------------------



function simpletag(thetag)

{

	var tagOpen = eval(thetag + "_open");

	

	if ( get_easy_mode_state() )

	{

		inserttext = prompt(prompt_start + "\n[" + thetag + "]xxx[/" + thetag + "]");

		if ( (inserttext != null) && (inserttext != "") )

		{

			doInsert("[" + thetag + "]" + inserttext + "[/" + thetag + "] ", "", false);

		}

	}

	else {

		if (tagOpen == 0)

		{

			if(doInsert("[" + thetag + "]", "[/" + thetag + "]", true))

			{

				eval(thetag + "_open = 1");

				// Change the button status

				eval("document.REPLIER." + thetag + ".value += '*'");

		

				pushstack(bbtags, thetag);

				cstat();

				hstat('click_close');

			}

		}

		else {

			// Find the last occurance of the opened tag

			lastindex = 0;

			

			for (i = 0 ; i < bbtags.length; i++ )

			{

				if ( bbtags[i] == thetag )

				{

					lastindex = i;

				}

			}

			

			// Close all tags opened up to that tag was opened

			while (bbtags[lastindex])

			{

				tagRemove = popstack(bbtags);

				doInsert("[/" + tagRemove + "]", "", false)

				

				// Change the button status

				if ( (tagRemove != 'FONT') && (tagRemove != 'SIZE') && (tagRemove != 'COLOR') )

				{

					eval("document.REPLIER." + tagRemove + ".value = ' " + tagRemove + " '");

					eval(tagRemove + "_open = 0");

				}

			}

			

			cstat();

		}

	}

}



















//--------------------------------------------

// GENERAL INSERT FUNCTION

//--------------------------------------------

// ibTag: opening tag

// ibClsTag: closing tag, used if we have selected text

// isSingle: true if we do not close the tag right now

// return value: true if the tag needs to be closed later



//



function doInsert(ibTag, ibClsTag, isSingle)

{

	var isClose = false;

	var obj_ta = document.REPLIER.message;



	if ( (myVersion >= 4) && is_ie && is_win) // Ensure it works for IE4up / Win only

	{

		if(obj_ta.isTextEdit){ // this doesn't work for NS, but it works for IE 4+ and compatible browsers

			obj_ta.focus();

			var sel = document.selection;

			var rng = sel.createRange();

			rng.colapse;

			if((sel.type == "Text" || sel.type == "None") && rng != null){

				if(ibClsTag != "" && rng.text.length > 0)

					ibTag += rng.text + ibClsTag;

				else if(isSingle)

					isClose = true;

	

				rng.text = ibTag;

			}

		}

		else{

			if(isSingle)

				isClose = true;

	

			obj_ta.value += ibTag;

		}

	}

	else

	{

		if(isSingle)

			isClose = true;



		obj_ta.value += ibTag;

	}



	obj_ta.focus();

	

	// clear multiple blanks

//	obj_ta.value = obj_ta.value.replace(/  /, " ");



	return isClose;

}	


