var textarea;
var content;
var bbcodeImagePath = myURL+'/includes/functions/bbcode/';
var bbcodeSmileysPath = myURL+'/includes/functions/smileys/';

function bbcodeeditor(obj) {
    document.write("<div class=\"bbcode-btntoolbar\">");
	document.write("<img onmouseover=\"this.className='bbcode-btnhover'\" onmouseout=\"this.className='bbcode-btn'\" class=\"bbcode-btn\" src=\""+bbcodeImagePath+"bold.png\" name=\"btnBold\" title=\"Bold\" onClick=\"doAddTags('[b]','[/b]','" + obj + "')\">");
    document.write("<img onmouseover=\"this.className='bbcode-btnhover'\" onmouseout=\"this.className='bbcode-btn'\" class=\"bbcode-btn\" src=\""+bbcodeImagePath+"italic.png\" name=\"btnItalic\" title=\"Italic\" onClick=\"doAddTags('[i]','[/i]','" + obj + "')\">");
	document.write("<img onmouseover=\"this.className='bbcode-btnhover'\" onmouseout=\"this.className='bbcode-btn'\" class=\"bbcode-btn\" src=\""+bbcodeImagePath+"underline.png\" name=\"btnUnderline\" title=\"Underline\" onClick=\"doAddTags('[u]','[/u]','" + obj + "')\">");
	document.write("<img class=\"bbcode-sep\" src=\""+bbcodeImagePath+"sep.png\" name=\"btnSpacer\">");
	document.write("<img onmouseover=\"this.className='bbcode-btnhover'\" onmouseout=\"this.className='bbcode-btn'\" class=\"bbcode-btn\" src=\""+bbcodeImagePath+"link.png\" name=\"btnLink\" title=\"Insert URL Link\" onClick=\"doURL('" + obj + "')\">");
	document.write("<img onmouseover=\"this.className='bbcode-btnhover'\" onmouseout=\"this.className='bbcode-btn'\" class=\"bbcode-btn\" src=\""+bbcodeImagePath+"image.png\" name=\"btnPicture\" title=\"Insert Image\" onClick=\"doImage('" + obj + "')\">");
	document.write("<img class=\"bbcode-sep\" src=\""+bbcodeImagePath+"sep.png\" name=\"btnSpacer\">");
	document.write("<img onmouseover=\"this.className='bbcode-btnhover'\" onmouseout=\"this.className='bbcode-btn'\" class=\"bbcode-btn\" src=\""+bbcodeImagePath+"font.png\" name=\"btnFont\" title=\"Font Size\" onClick=\"doSize('" + obj + "')\">");
	document.write("<img class=\"bbcode-sep\" src=\""+bbcodeImagePath+"sep.png\" name=\"btnSpacer\">");	
	document.write("<img onmouseover=\"this.className='bbcode-btnhover'\" onmouseout=\"this.className='bbcode-btn'\" class=\"bbcode-btn\" src=\""+bbcodeImagePath+"unordered.png\" name=\"btnList\" title=\"Unordered List\" onClick=\"doList('" + obj + "')\">");
	document.write("<img class=\"bbcode-sep\" src=\""+bbcodeImagePath+"sep.png\" name=\"btnSpacer\">");
	document.write("<img onmouseover=\"this.className='bbcode-btnhover'\" onmouseout=\"this.className='bbcode-btn'\" class=\"bbcode-btn\" src=\""+bbcodeImagePath+"quote.png\" name=\"btnQuote\" title=\"Quote\" onClick=\"doAddTags('[quote]','[/quote]','" + obj + "')\">"); 
	document.write("<img class=\"bbcode-sep\" src=\""+bbcodeImagePath+"sep.png\" name=\"btnSpacer\">");
	document.write("<img onmouseover=\"this.className='bbcode-btnhover'\" onmouseout=\"this.className='bbcode-btn'\" onclick=\"openPicker('color1')\" class=\"bbcode-btn\" src=\""+bbcodeImagePath+"color.png\" name=\"btnColor\" title=\"Text Color\">");
	document.write("<img name=\"color1\" id=\"color1\" src=\""+bbcodeImagePath+"pixel.png\" name=\"btnPixel\">");
	//document.write("<img class=\"button\" src=\""+bbcodeImagePath+"code.gif\" name=\"btnCode\" title=\"Code\" onChange=\"doAddTags('[code]','[/code]','" + obj + "')\">");
    document.write("</div>");
}
function bbcodesmileys(obj) {
    document.write("<div class=\"bbcode-smileys\">");
	document.write("<img onmouseover=\"this.className='bbcode-btnsmileyshover'\" onmouseout=\"this.className='bbcode-btnsmileys'\" class=\"bbcode-btnsmileys\" src=\""+bbcodeSmileysPath+"biggrin.gif\" name=\"btbiggrin\" title=\"Big Grin\" onClick=\"doAddSmileys(':D','" + obj + "')\">");
	document.write("<img onmouseover=\"this.className='bbcode-btnsmileyshover'\" onmouseout=\"this.className='bbcode-btnsmileys'\" class=\"bbcode-btnsmileys\" src=\""+bbcodeSmileysPath+"blank.gif\" name=\"btnblank\" title=\"Blank\" onClick=\"doAddSmileys(':|','" + obj + "')\">");
	document.write("<img onmouseover=\"this.className='bbcode-btnsmileyshover'\" onmouseout=\"this.className='bbcode-btnsmileys'\" class=\"bbcode-btnsmileys\" src=\""+bbcodeSmileysPath+"blush.gif\" name=\"btnblush\" title=\"Blush\" onClick=\"doAddSmileys(':blush:','" + obj + "')\">");
	document.write("<img onmouseover=\"this.className='bbcode-btnsmileyshover'\" onmouseout=\"this.className='bbcode-btnsmileys'\" class=\"bbcode-btnsmileys\" src=\""+bbcodeSmileysPath+"angry.gif\" name=\"btnAngry\" title=\"Angry\" onClick=\"doAddSmileys(':angry:','" + obj + "')\">");
	document.write("<img onmouseover=\"this.className='bbcode-btnsmileyshover'\" onmouseout=\"this.className='bbcode-btnsmileys'\" class=\"bbcode-btnsmileys\" src=\""+bbcodeSmileysPath+"cool.gif\" name=\"btncool\" title=\"Cool\" onClick=\"doAddSmileys(':cool:','" + obj + "')\">");
	document.write("<img onmouseover=\"this.className='bbcode-btnsmileyshover'\" onmouseout=\"this.className='bbcode-btnsmileys'\" class=\"bbcode-btnsmileys\" src=\""+bbcodeSmileysPath+"eyesright.gif\" name=\"btneyesright\" title=\"Eyes Right\" onClick=\"doAddSmileys('>.>','" + obj + "')\">");
	document.write("<img onmouseover=\"this.className='bbcode-btnsmileyshover'\" onmouseout=\"this.className='bbcode-btnsmileys'\" class=\"bbcode-btnsmileys\" src=\""+bbcodeSmileysPath+"frown.gif\" name=\"btnfrown\" title=\"Frown\" onClick=\"doAddSmileys(':frown:','" + obj + "')\">");
	document.write("<img onmouseover=\"this.className='bbcode-btnsmileyshover'\" onmouseout=\"this.className='bbcode-btnsmileys'\" class=\"bbcode-btnsmileys\" src=\""+bbcodeSmileysPath+"heart.gif\" name=\"btnheart\" title=\"Heart\" onClick=\"doAddSmileys('<3','" + obj + "')\">");
	document.write("<img onmouseover=\"this.className='bbcode-btnsmileyshover'\" onmouseout=\"this.className='bbcode-btnsmileys'\" class=\"bbcode-btnsmileys\" src=\""+bbcodeSmileysPath+"laughing.gif\" name=\"btnlaughing\" title=\"Laughing\" onClick=\"doAddSmileys(':lol:','" + obj + "')\">");
	document.write("<img onmouseover=\"this.className='bbcode-btnsmileyshover'\" onmouseout=\"this.className='bbcode-btnsmileys'\" class=\"bbcode-btnsmileys\" src=\""+bbcodeSmileysPath+"omg.gif\" name=\"btnomg\" title=\"Oh My GOD\" onClick=\"doAddSmileys(':omg:','" + obj + "')\">");
	document.write("<img onmouseover=\"this.className='bbcode-btnsmileyshover'\" onmouseout=\"this.className='bbcode-btnsmileys'\" class=\"bbcode-btnsmileys\" src=\""+bbcodeSmileysPath+"ohnoes.gif\" name=\"btohno\" title=\"Oh No\" onClick=\"doAddSmileys(':ohno:','" + obj + "')\">");
	document.write("<img onmouseover=\"this.className='bbcode-btnsmileyshover'\" onmouseout=\"this.className='bbcode-btnsmileys'\" class=\"bbcode-btnsmileys\" src=\""+bbcodeSmileysPath+"nod.gif\" name=\"btnnod\" title=\"Nod\" onClick=\"doAddSmileys(':nod:','" + obj + "')\">");
	document.write("<img onmouseover=\"this.className='bbcode-btnsmileyshover'\" onmouseout=\"this.className='bbcode-btnsmileys'\" class=\"bbcode-btnsmileys\" src=\""+bbcodeSmileysPath+"ohshit.gif\" name=\"btnohshit\" title=\"Oh Shit\" onClick=\"doAddSmileys(':O','" + obj + "')\">");
	document.write("<img onmouseover=\"this.className='bbcode-btnsmileyshover'\" onmouseout=\"this.className='bbcode-btnsmileys'\" class=\"bbcode-btnsmileys\" src=\""+bbcodeSmileysPath+"sad.gif\" name=\"btnsad\" title=\"Sad\" onClick=\"doAddSmileys(':(','" + obj + "')\">");
	document.write("<img onmouseover=\"this.className='bbcode-btnsmileyshover'\" onmouseout=\"this.className='bbcode-btnsmileys'\" class=\"bbcode-btnsmileys\" src=\""+bbcodeSmileysPath+"sick.gif\" name=\"btnsick\" title=\"Sick\" onClick=\"doAddSmileys(':sick:','" + obj + "')\">");
	document.write("<img onmouseover=\"this.className='bbcode-btnsmileyshover'\" onmouseout=\"this.className='bbcode-btnsmileys'\" class=\"bbcode-btnsmileys\" src=\""+bbcodeSmileysPath+"smile.gif\" name=\"btnsmile\" title=\"Smile\" onClick=\"doAddSmileys(':)','" + obj + "')\">");
	document.write("<img onmouseover=\"this.className='bbcode-btnsmileyshover'\" onmouseout=\"this.className='bbcode-btnsmileys'\" class=\"bbcode-btnsmileys\" src=\""+bbcodeSmileysPath+"wtf.gif\" name=\"btnwtf\" title=\"What The F*ck\" onClick=\"doAddSmileys(':wtf:','" + obj + "')\">");
	document.write("</div>");
}

function doAddColor(ColorCode,obj)
{
textarea = document.getElementById('quickpost');

var scrollTop = textarea.scrollTop;
var scrollLeft = textarea.scrollLeft;
	if (document.selection) 
			{
				textarea.focus();
				var sel = document.selection.createRange();
				
			if(sel.text==""){
					sel.text = '[color=' + ColorCode + ']Text Here[/color]';
					} else {
					sel.text = '[color=' + ColorCode + ']' + sel.text + '[/color]';
					}			
			}
   else 
    {
		var len = textarea.value.length;
	    var start = textarea.selectionStart;
		var end = textarea.selectionEnd;
		
        var sel = textarea.value.substring(start, end);
		
		if(sel==""){
				var rep = '[color=' + ColorCode + ']Text Here[/color]';
				} else
				{
				var rep = '[color=' + ColorCode + ']' + sel + '[/color]';
				}
		
        textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
		
			
		textarea.scrollTop = scrollTop;
		textarea.scrollLeft = scrollLeft;
	}
} 
function doSize(obj)
{
textarea = document.getElementById(obj);
var size = prompt('Enter Size 1-10:','');
var scrollTop = textarea.scrollTop;
var scrollLeft = textarea.scrollLeft;

if (size != '' && size != null) {

	if (document.selection) 
			{
				textarea.focus();
				var sel = document.selection.createRange();
				sel.text = '[size='+size+']' + sel + '[/size]';
			}
   else 
    {
		var len = textarea.value.length;
	    var start = textarea.selectionStart;
		var end = textarea.selectionEnd;
		
        var sel = textarea.value.substring(start, end);
		var rep = '[size='+size+']' + sel + '[/size]';
        textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
		textarea.scrollTop = scrollTop;
		textarea.scrollLeft = scrollLeft;
	}
}

}

function doImage(obj)
{
textarea = document.getElementById(obj);
var url = prompt('Enter the Image URL:','http://');
var scrollTop = textarea.scrollTop;
var scrollLeft = textarea.scrollLeft;

if (url != '' && url != null) {

	if (document.selection) 
			{
				textarea.focus();
				var sel = document.selection.createRange();
				sel.text = '[img]' + url + '[/img]';
			}
   else 
    {
		var len = textarea.value.length;
	    var start = textarea.selectionStart;
		var end = textarea.selectionEnd;
		
        var sel = textarea.value.substring(start, end);
		var rep = '[img]' + url + '[/img]';
        textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
		
			
		textarea.scrollTop = scrollTop;
		textarea.scrollLeft = scrollLeft;
	}
}

}

function doURL(obj)
{
textarea = document.getElementById(obj);
var url = prompt('Enter the URL:','http://');
var scrollTop = textarea.scrollTop;
var scrollLeft = textarea.scrollLeft;

if (url != '' && url != null) {

	if (document.selection) 
			{
				textarea.focus();
				var sel = document.selection.createRange();
				
			if(sel.text==""){
					sel.text = '[url]'  + url + '[/url]';
					} else {
					sel.text = '[url=' + url + ']' + sel.text + '[/url]';
					}			
			}
   else 
    {
		var len = textarea.value.length;
	    var start = textarea.selectionStart;
		var end = textarea.selectionEnd;
		
        var sel = textarea.value.substring(start, end);
		
		if(sel==""){
				var rep = '[url]' + url + '[/url]';
				} else
				{
				var rep = '[url=' + url + ']' + sel + '[/url]';
				}
	    textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
		textarea.scrollTop = scrollTop;
		textarea.scrollLeft = scrollLeft;
	}
 }
}

function doAddTags(tag1,tag2,obj)
{
textarea = document.getElementById(obj);
	// Code for IE
		if (document.selection) 
			{
				textarea.focus();
				var sel = document.selection.createRange();
				//alert(sel.text);
				sel.text = tag1 + sel.text + tag2;
			}
   else 
    {  // Code for Mozilla Firefox
		var len = textarea.value.length;
	    var start = textarea.selectionStart;
		var end = textarea.selectionEnd;
		
		
		var scrollTop = textarea.scrollTop;
		var scrollLeft = textarea.scrollLeft;

		
        var sel = textarea.value.substring(start, end);
	    //alert(sel);
		var rep = tag1 + sel + tag2;
        textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
		
		textarea.scrollTop = scrollTop;
		textarea.scrollLeft = scrollLeft;
		
		
	}
}

function doAddSmileys(tag,obj)
{
textarea = document.getElementById(obj);
	// Code for IE
		if (document.selection) 
			{
				textarea.focus();
				var sel = document.selection.createRange();
				//alert(sel.text);
				sel.text = tag + sel.text;
			}
   else 
    {  // Code for Mozilla Firefox
		var len = textarea.value.length;
	    var start = textarea.selectionStart;
		var end = textarea.selectionEnd;
		
		
		var scrollTop = textarea.scrollTop;
		var scrollLeft = textarea.scrollLeft;

		
        var sel = textarea.value.substring(start, end);
	    //alert(sel);
		var rep = tag + sel;
        textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
		
		textarea.scrollTop = scrollTop;
		textarea.scrollLeft = scrollLeft;
		
		
	}
}

function doList(obj){
textarea = document.getElementById(obj);
// Code for IE
		if (document.selection) 
			{
				textarea.focus();
				var sel = document.selection.createRange();
				var list = sel.text.split('\n');
		
				for(i=0;i<list.length;i++) 
				{
				list[i] = '[*]' + list[i];
				}
				//alert(list.join("\n"));
				sel.text = list.join("\n");
			} else
			// Code for Firefox
			{

		var len = textarea.value.length;
	    var start = textarea.selectionStart;
		var end = textarea.selectionEnd;
		var i;
		
		var scrollTop = textarea.scrollTop;
		var scrollLeft = textarea.scrollLeft;

		
        var sel = textarea.value.substring(start, end);
	    //alert(sel);
		
		var list = sel.split('\n');
		
		for(i=0;i<list.length;i++) 
		{
		list[i] = '[*]' + list[i];
		}
		//alert(list.join("<br>"));
        
		
		var rep = list.join("\n") + '\n';
		textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
		
		textarea.scrollTop = scrollTop;
		textarea.scrollLeft = scrollLeft;
 }
}


/*
 *	Gchats color picker by Majid Khosravi
 *	Copyright (c) 2006 - 2008 Gchat Design Studio
 *	URL: http://www.gchats.com
 *	Last Updated: August 29 2009
 *  Gchats color picker is freely distributable under the terms of GPL license.
 *  Please visit: http://www.gchats.com for updates
 *  @Version 1.2
 *--------------------------------------------------------------------------*/
// JavaScript Document
var layerWidth = 218;
var layerHeight = 144;
var currentId = "";
var orgColor ="";
var onPick = undefined;
var onCancel = undefined;
function openPicker(id, _onPick, _onCancel) {
	if (_onPick) {
		onPick = _onPick;
	}
	if (_onCancel) {
		onCancel = _onCancel;
    }	
	currentId = id;
	removeLayer("picker");
	Obj = document.getElementById(id);
	
	orgColor = Obj.value;
	createLayer("picker",findPosX(Obj)+Obj.offsetWidth+20,findPosY(Obj));
}

function createLayer(id,left,top){
	var width = layerWidth;
	var height = layerHeight;
	var zindex = 1000;
	var bgcolor = "#d4d0c8";
	var txtcolor = "#000000";
	var msg = getPickerContent();
	if (document.layers) {
		if (document.layers[id]) {
		   return;
		}
		var layer=document.layers[id]=new Layer(width);
		layer.className = "picker_layer"; 
		layer.name = id;
		layer.left=left;
		layer.top=top;
		layer.clip.height=height;
		layer.visibility = 'show';
		layer.zIndex=zindex;
		layer.bgColor=bgcolor;
		layer.innerHTML = msg;
	}else if (document.all) {
		if (document.all[id]) {
			return
		}
  		var layer= '\n<DIV class="picker_layer" id='+id+' style="position:absolute'
		+'; left:'+left+"px"
		+'; top:'+top+"px"
		+'; width:'+width
		+'; height:'+height		
		+'; visibility:visible'
		+'; z-index:'+zindex
		+';text-align:left">'
		+ msg
		+'</DIV>';
		document.body.insertAdjacentHTML("BeforeEnd",layer);
	}else if(document.getElementById){
		var layer = document.createElement ('div');
		layer.setAttribute ('id', id);
		document.body.appendChild (layer); 
		var ly = document.getElementById(id);
		ly.className = "picker_layer"; 
		ly.style.position= "absolute";
		ly.style.left= left+"px";
		ly.style.top= top+ "px";		
		ly.style.width= width+ "px";		
		ly.style.height= height+ "px";		
		ly.style.textAlign= "left";
		ly.innerHTML = msg;	
	}
}
function showClr(color){
	Obj = document.getElementById(currentId);
	//Obj.value = color;
	//Obj.style.backgroundColor=color;	
	Obj = document.getElementById("gcpicker_colorSample");
	Obj.style.backgroundColor=color;
	Obj = document.getElementById("gcpicker_colorCode");
	Obj.innerHTML = color;
	
}
function setClr(color){
	Obj = document.getElementById(currentId);
	//Obj.value = color;
	//Obj.style.backgroundColor=color;	
	currentId = "";
	removeLayer("picker");
	doAddColor(color)
	if (onPick) {
		onPick();
    }	
}
function cancel(){
	Obj = document.getElementById(currentId);
	//Obj.value = orgColor;
	//Obj.style.backgroundColor=orgColor;	
	removeLayer("picker");
    if (onCancel) {
		onCancel();
    }
}
function removeLayer(id){
	if(document.getElementById(id) ==null){
		return;	
	}
	if (document.layers && document.layers[id]) {
  		document.layers[id].visibility='hide'
		delete document.layers[id]
	}
	if (document.all && document.all[id]) {
		document.all[id].innerHTML=''
		document.all[id].outerHTML=''
	}else if(document.getElementById){
		 var b = document.body;
 		 var layer = document.getElementById(id);
	 	 b.removeChild(layer);
	}
}
function getPickerContent(){
	var content = 	'<table width="222" border="0" cellpadding="0" cellspacing="1"><tr><td>';
	content += '<table width="100%" border="0" cellpadding="0" cellspacing="1" class="color_table"><tr><td bgcolor="#CCCCCC" id="gcpicker_colorSample" width="40px" class="choosed_color_cell">&nbsp;</td><td align="center"><div id="gcpicker_colorCode">#CCCCCC</div></td><td width="60px" align="center"><input type="submit" value="Close" onclick="cancel()" class="default_color_btn" /></td></tr></table>';
	content += '</td></tr><tr><td>';
	content += colorTable()+'</td></tr></table>';
	return content;	
}
function colorTable(){
	var clrfix = Array("#000000","#333333","#666666","#999999","#cccccc","#ffffff","#ff0000","#00ff00","#0000ff","#ffff00","#00ffff","#ff00ff");
	var table ='<table border="0"  cellpadding="0" cellspacing="0" bgcolor="#000000"><tr>';
	table += '';
	for(var j=0;j<3;j++){
		table += '<td width="11"><table bgcolor="#000000"  border="0"  cellpadding="0" cellspacing="1"  class="color_table">';
		for(var i=0;i<12;i++){
			var clr ='#000000';
			if(j==1){
				clr = clrfix[i];	
			}
			table += '<tr><td bgcolor="'+clr+'" class="cell_color" onmouseover="showClr('+"'"+clr+"'"+')" onclick="setClr('+"'"+clr+"'"+')"></td></tr>';
		}
		table += '</table></td>';		
	}
	table +='<td><table border="0" cellpadding="0" cellspacing="0">';	
	for (var c = 0; c<6; c++) {
		if(c==0 || c==3){
			table +="<tr>";	
		}
		table += "<td>"	
		
		table = table+'<table border="0" cellpadding="0" cellspacing="1" class="color_table"> ';
		for (var j = 0; j<6; j++) {
			table +="<tr>";
			for (var i = 0; i<6; i++) {
				var clrhex = rgb2hex(j*255/5,i*255/5,c*255/5);
				table += '<td bgcolor="'+clrhex+'" class="cell_color" onmouseover="showClr('+"'"+clrhex+"'"+')" onclick="setClr('+"'"+clrhex+"'"+')"></td>';
			}
			table +="</tr>";
		}
		table +="</table>";
		table += "</td>"	
		if(c==2 || c==5){
			table +="</tr>";	
		}	
	}
	table +='</table></td></tr></table>';	
	return table;
}

function findPosX(obj){
	var curleft = 0;
	if(obj.offsetParent)
        while(1){
			curleft += obj.offsetLeft;
			if(!obj.offsetParent)
			break;
			obj = obj.offsetParent;
		}
	else if(obj.x)
	curleft += obj.x;
	return curleft;
}
function findPosY(obj){
	var curtop = 0;
	if(obj.offsetParent){
		while(1){
			curtop += obj.offsetTop;
			if(!obj.offsetParent){
				break;
			}
			obj = obj.offsetParent;
		}
    }else if(obj.y){
		curtop += obj.y;
	}
	return curtop;
}

function rgb2hex(red, green, blue)
{
    var decColor = red + 256 * green + 65536 * blue;
    var clr = decColor.toString(16);
	for(var i =clr.length;i<6;i++){
		clr = "0"+clr;	
	}
	return "#"+clr;
}

