//hide

var valid = true;
var error_message;
var username_done = false;
var display_name = false;
var captcha_done = false;

var x_loc;
var y_loc;
var x_loc_off;
var y_loc_off;
var being_dragged = false;
var element;
var growing;
//LOADED INFO


function lost_pass(item) {
	var build = "down";
	var start_height = findPosY(item);
	prep_loader('Password Reset', '510', start_height, build, '100');	
	var junk = cache_buster();
	var head= document.getElementsByTagName('head')[0];
	var script= document.createElement('script');
	script.type= 'text/javascript';
	script.src= '/javascript.cgi?action=lost_pass\&junk='+junk;
	head.appendChild(script);	
	
}

function closebox(layer) {
	document.getElementById(layer).style.display = "none";
}


function web_edit_question(id, layer) {
	document.getElementById(layer).innerHTML = " <img src=\"/images/loading.gif\" height=\"12\" width=\"12\" alt=\"Loading\" class=\"img_loading\" /> <b>Loading, Please wait...</b>";
	document.getElementById(layer).style.display = "inline";
	var junk = cache_buster();
	var head= document.getElementsByTagName('head')[0];
	var script= document.createElement('script');
	script.type= 'text/javascript';
	script.src= '/javascript.cgi?action=web_edit_question\&id='+id+'\&junk='+junk;
	head.appendChild(script);	
	
}

function web_edit_answer(id, layer) {
	document.getElementById(layer).innerHTML = " <img src=\"/images/loading.gif\" height=\"12\" width=\"12\" alt=\"Loading\" class=\"img_loading\" /> <b>Loading, Please wait...</b>";
	document.getElementById(layer).style.display = "inline";
	var junk = cache_buster();
	var head= document.getElementsByTagName('head')[0];
	var script= document.createElement('script');
	script.type= 'text/javascript';
	script.src= '/javascript.cgi?action=web_edit_answer\&id='+id+'\&junk='+junk;
	head.appendChild(script);
}


function view_profile(item, id) {
	var start_height = findPosY(item);
	var start_width = findPosX(item);
	start_width = start_width + 120;
	prep_quest_full(start_height,start_width);
	var junk = cache_buster();
	var head= document.getElementsByTagName('head')[0];
	var script= document.createElement('script');
	script.type= 'text/javascript';
	script.src= '/javascript.cgi?action=view_profile\&id='+id+'\&junk='+junk;
	head.appendChild(script);
}

function grow_div(main, end_height, layer) {
	var cur_height = document.getElementById(main).clientHeight;
	cur_height = cur_height + 50;
	if (cur_height < end_height) {
		document.getElementById(main).style.height = cur_height + 'px';
	}
	else {
		document.getElementById(main).style.height = 'auto';
		document.getElementById(layer).style.visibility='inherit';	
		clearInterval(growing);
	}

}

function frameopen(main, layer, str) {
	document.getElementById(layer).style.visibility='hidden';
	document.getElementById(layer).innerHTML = str;
	var end_height = document.getElementById(main).clientHeight;
	document.getElementById(main).style.height = '30px';
	growing = setInterval("grow_div('"+main+"','"+end_height+"','"+layer+"')",1);
	
}


function uploading() {
	document.getElementById('profile_image_box_right').innerHTML = 'Uploading Avatar, Please Wait';
}

function changeimage(file,height,width) {
	document.getElementById('profile_img').src = file;
	document.getElementById('profile_img').style.width = width + "px";
	document.getElementById('profile_img').style.height = height + "px";
}


function view_answers(quest_id) {
	var layer = "view_answers_box_"+quest_id;
	document.getElementById(layer).innerHTML = "<div style=\"width:700px;float:left;padding-left:100px\"><img src=\"/images/loading.gif\" height=\"12\" width=\"12\" alt=\"Loading\" class=\"img_loading\"> <b>Loading, Please wait...</b></div>";
	var junk = cache_buster();
	var head= document.getElementsByTagName('head')[0];
	var script= document.createElement('script');
	script.type= 'text/javascript';
	script.src= '/javascript.cgi?action=view_answers\&id='+quest_id+'\&junk='+junk;
	head.appendChild(script);

	
}


function check_exists(layer) {
	if (document.getElementById(layer)) {
		return true;
	}
	else {
		return false;
	}
}

function move(url) {
	window.location = url;
}

function addcat(cat) {
	var junk = cache_buster();
	var head= document.getElementsByTagName('head')[0];
	var script= document.createElement('script');
	script.type= 'text/javascript';
	script.src= '/javascript.cgi?action=add_cat\&cat='+cat+'\&junk='+junk;
	head.appendChild(script);

}

function movecathide(cat) {
	var id = "linkmenu_"+cat;
	var imgid = "imgmenulink_"+cat;
	var img = "imgmenu_"+cat;
	var baseid = "move_question_category_"+cat;
	var catid = "javascript:movecat('"+cat+"');";
	document.getElementById(id).href = catid;
	document.getElementById(imgid).href = catid;
	document.getElementById(img).src = "/images/open.gif";
	document.getElementById(baseid).style.display='none';
	document.getElementById(baseid).innerHTML = "";
}


function movecat(cat) {
	

	var id = "linkmenu_"+cat;
	var imgid = "imgmenulink_"+cat;
	var img = "imgmenu_"+cat;
	var catid = "javascript:movecathide('"+cat+"');";
	document.getElementById(id).href = catid;
	document.getElementById(imgid).href = catid;
	document.getElementById(img).src = "/images/close.gif";

	
	
	
	var junk = cache_buster();
	var head= document.getElementsByTagName('head')[0];
	var script= document.createElement('script');
	script.type= 'text/javascript';
	script.src= '/javascript.cgi?action=select_cat\&base_cat='+cat+'\&junk='+junk;
	head.appendChild(script);	
	
	
}
function select_cat(item, id) {
	var start_height = findPosY(item);
	var build = "up";
	prep_loader('Select Category', '320', start_height, build, '200');
	var junk = cache_buster();
	var head= document.getElementsByTagName('head')[0];
	var script= document.createElement('script');
	script.type= 'text/javascript';
	script.src= '/javascript.cgi?action=select_cat\&base_cat='+id+'\&junk='+junk;
	head.appendChild(script);	
	
	
}

function view_full(item, id) {
	var start_height = findPosY(item) - 2;
	var start_width = findPosX(item) + 18;
	prep_quest_full(start_height, start_width);
	var junk = cache_buster();
	var head= document.getElementsByTagName('head')[0];
	var script= document.createElement('script');
	script.type= 'text/javascript';
	script.src= '/javascript.cgi?action=view_full\&id='+id+'\&junk='+junk;
	head.appendChild(script);
}


function prep_quest_full(start_height, start_width) {
	document.getElementById('loader2').style.display = "block";
	document.getElementById('loader2').style.left = start_width + "px";
	document.getElementById('loader2').style.top = start_height + "px";
	document.getElementById('loader2').innerHTML = "<img src=\"/images/loading.gif\" height=\"12\" width=\"12\" alt=\"Loading\" class=\"img_loading\"> <b>Loading, Please wait...</b>";
	document.getElementById('loader2').style.visibility='visible';	
}
function closeloader2() {
	document.getElementById('loader2').style.visibility='hidden';

}




function account_info(item) {
	var build = "down";
	var start_height = findPosY(item);
	prep_loader('Account Information', '510', start_height, build, '100');
	var junk = cache_buster();
	var head= document.getElementsByTagName('head')[0];
	var script= document.createElement('script');
	script.type= 'text/javascript';
	script.src= '/javascript.cgi?action=account_info\&junk='+junk;
	head.appendChild(script);	
}

function profile(item) {
	var build = "down";
	var start_height = findPosY(item);
	prep_loader('User Profile', '510', start_height, build, '100');	
	var junk = cache_buster();
	var head= document.getElementsByTagName('head')[0];
	var script= document.createElement('script');
	script.type= 'text/javascript';
	script.src= '/javascript.cgi?action=profile\&junk='+junk;
	head.appendChild(script);
}

function logout(page_tag) {
	var junk = cache_buster();
	var head= document.getElementsByTagName('head')[0];
	var script= document.createElement('script');
	script.type= 'text/javascript';
	script.src= '/javascript.cgi?action=logout\&page_tag='+page_tag+'\&junk='+junk;
	head.appendChild(script);	
}


function validate_account(page_tag, item, build) {
	var start_height = findPosY(item);
	prep_loader('Validate Account', '310', start_height, build, '60');
	var junk = cache_buster();
	var head= document.getElementsByTagName('head')[0];
	var script= document.createElement('script');
	script.type= 'text/javascript';
	script.src= '/javascript.cgi?action=validate_account\&page_tag='+page_tag+'\&junk='+junk;
	head.appendChild(script);	
}

function login(page_tag, item, build) {
	var start_height = findPosY(item);
	prep_loader('Login', '280', start_height, build, '60');
	var junk = cache_buster();
	var head= document.getElementsByTagName('head')[0];
	var script= document.createElement('script');
	script.type= 'text/javascript';
	script.src= '/javascript.cgi?action=load_login\&page_tag='+page_tag+'\&junk='+junk;
	head.appendChild(script);	

	
}

function signup(page_tag, item, build) {
	var start_height = findPosY(item);
	prep_loader('Join Now', '610', start_height, build, '370');
	
	var junk = cache_buster();
	var head= document.getElementsByTagName('head')[0];
	var script= document.createElement('script');
	script.type= 'text/javascript';
	script.src= '/javascript.cgi?action=load_signup\&page_tag='+page_tag+'\&junk='+junk;
	head.appendChild(script);	
}

function closeloader() {
	document.getElementById('coverall').style.visibility='hidden';
	document.getElementById('loader').style.visibility='hidden';
	document.getElementById('coverall').style.height = 0 + "px";
	document.getElementById('coverall').style.width  = 0 + "px";	

}


function framechange(layer,str) {
	document.getElementById(layer).innerHTML = str;
}

function frameadd(layer,str) {
	document.getElementById(layer).innerHTML += str;
}


function alertforme(str) {
	alert(str);
}



function unloadframe() {
	src = "about:blank";
	document.getElementById('cgi').src = src;
}




function move_window(layer) {
	element = layer;
	var y_current = document.getElementById(element).offsetTop;
	var x_current = document.getElementById(element).offsetLeft;
	x_loc_off = x_loc - x_current;
	y_loc_off = y_loc - y_current;
	being_dragged = true; 
	document.onmouseup = move_window_stop;

//	document.getElementById(element).style.cursor = 'move'; 
	document.getElementById(element).style.opacity = .7;
//	document.getElementById(element).style.filter = 'alpha(opacity=70)';
}



function move_window_cursor(img) {
	img.style.cursor = 'move';
	
}



function move_window_stop() {
	being_dragged = false;
	document.getElementById(element).style.opacity = 1;
//	document.getElementById(element).style.filter = 'alpha(opacity=100)';
	document.getElementById(element).style.cursor = 'auto';
} 



function mouse_track(event) {
	x_loc = event.clientX;
	y_loc = event.clientY;
	if(event.offsetX || event.offsetY) { //For Internet Explorer
		x_loc=event.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
		y_loc=event.clientY + document.body.scrollTop + document.documentElement.scrollTop;

 	}
 	else { //For FireFox
  		x_loc=event.pageX;
  		y_loc=event.pageY;
	}
	if(being_dragged == true) { //
		var x_now = x_loc - x_loc_off;
		var y_now = y_loc - y_loc_off;
		document.getElementById(element).style.top = y_now +'px'; //
		document.getElementById(element).style.left = x_now +'px'; //
	}	
}




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 prep_loader(title, width, start_height, build, divheight) {
	document.getElementById('coverall').style.visibility='visible';

	//document.getElementById('coverall').style.height = document.getElementById('coverall').parentNode.clientHeight + "px";
	document.getElementById('coverall').style.width  = document.getElementById('coverall').parentNode.clientWidth + "px";
	var item = document.getElementById('footer');
	var cover_height = findPosY(item) + 120;
	var cover2_height  = document.getElementById('coverall').parentNode.clientHeight;
	if (cover2_height > cover_height) {
		cover_height = cover2_height;
	}
	//document.getElementById('coverall').style.height = document.getElementById('wrap').style.height;// + "px";
	document.getElementById('coverall').style.height = cover_height + "px";

	
	
	document.getElementById('loader').style.display = "block";
	//Resize window to needed width;
	var title_width = width - 30;
	document.getElementById('loader').style.width = width + "px";
	document.getElementById('loader_title').style.width = width + "px";
	document.getElementById('loader_title_left').style.width = title_width + "px";
	var divtop;
	var divleft;
	//Position window to center top;
	if (build == "up") {
		divtop = (start_height - divheight);		
	}
	else {
		divtop = (start_height + 10);		
	}

	divleft = (document.body.clientWidth - document.getElementById('loader').offsetWidth) / 2;
	document.getElementById('loader').style.left=divleft + document.body.scrollLeft + "px";
	document.getElementById('loader').style.top=divtop + "px";
	
	//Show window
	document.getElementById('loader_title_left').innerHTML = title;
	document.getElementById('loader_content').innerHTML = '<img src=\"/images/loading.gif\" height=\"12\" width=\"12\" alt=\"Loading\" class=\"img_loading\"> Loading...';
	document.getElementById('loader').style.visibility='visible';	
	
	
}




//RATINGS
function up_question(qid) {
	var outdiv = "question_rating_"+qid;
	document.getElementById(outdiv).innerHTML = "Rating...";
	var head= document.getElementsByTagName('head')[0];
	var script= document.createElement('script');
	script.type= 'text/javascript';
	script.src= '/javascript.cgi?action=rate_question\&id='+qid+'\&layer='+outdiv;
	head.appendChild(script);

}


function up_answer(qid) {
	var outdiv = "answer_rating_"+qid;
	document.getElementById(outdiv).innerHTML = "Rating...";
	var head= document.getElementsByTagName('head')[0];
	var script= document.createElement('script');
	script.type= 'text/javascript';
	script.src= '/javascript.cgi?action=up_answer\&id='+qid+'\&layer='+outdiv;
	head.appendChild(script);	
}


function down_answer(qid) {
	var outdiv = "answer_rating_"+qid;
	document.getElementById(outdiv).innerHTML = "Rating...";
	var head= document.getElementsByTagName('head')[0];
	var script= document.createElement('script');
	script.type= 'text/javascript';
	script.src= '/javascript.cgi?action=down_answer\&id='+qid+'\&layer='+outdiv;
	head.appendChild(script);	
	
}


//MOUSE OVER IMAGES TO CLICK
function clickable(img) {
	img.style.cursor='pointer';
}

//USER JOIN FORM
function validate_user() {

	valid = true;
	error_message = "";

	//check username
	if(document.getElementById('user_name').value.length < 7) {
		valid = false;
		error_message += "You must enter a username with atleast 7 characters\n";
	}

	//check display
	if(document.getElementById('display_name').value.length < 4) {
		valid = false;
		error_message += "You must enter a display name with atleast 4 characters\n";
	}

	//check pass1
	updatestrength(document.getElementById('pass1').value);

	//check pass2
	check_passwordmatch(document.getElementById('pass2'),'pass2_check');

	//check email
	check_email(document.getElementById('email'),'email_check');
 
	//check captcha
	if(document.getElementById('user_name').value.length < 6) {
		valid = false;
		error_message += "You must enter a valid Captcha\n";
	}
	//check tos
	check_tos(document.getElementById('tos_ok'),'tos_check');
	
	if (valid == false) {
		var this_error = "The following errors have occured:\n\n" + error_message;
		alert(this_error);
	}
	return valid;

}


function check_tos(chkbox, layer) {
	if (chkbox.checked == 1) {
		//tos accepted
		document.getElementById(layer).innerHTML = "Accepted";
		document.getElementById(layer).style.backgroundColor = '#c0ffc0';
		document.getElementById(layer).style.color = '#008000';	
	
	}
	else {
		document.getElementById(layer).innerHTML = "Must accept the TOS";
		document.getElementById(layer).style.backgroundColor = '#ffc0c0';
		document.getElementById(layer).style.color = '#800000';
		valid = false;
		error_message += "You must accept the TOS\n";
	}

}




function check_username(str, layer) {
	var usr = str.value;
	var junk = cache_buster();
	
	var head= document.getElementsByTagName('head')[0];
	var script= document.createElement('script');
	script.type= 'text/javascript';
	script.src= '/javascript.cgi?action=check_username\&user='+usr+'\&layer='+layer+'\&junk='+junk;
	head.appendChild(script);	
}


function check_displayname(str, layer) {
	var usr = str.value;
	var junk = cache_buster();

	var head= document.getElementsByTagName('head')[0];
	var script= document.createElement('script');
	script.type= 'text/javascript';
	script.src= '/javascript.cgi?action=check_displayname\&user='+usr+'\&layer='+layer+'\&junk='+junk;
	head.appendChild(script);	
}


function check_passwordmatch(str, layer) {
	var pw2 = str.value;
	var pw1 = document.getElementById('pass1').value;
	if (pw2 == pw1) {
		document.getElementById('pass2_check').innerHTML = "Matches";
		document.getElementById('pass2_check').style.backgroundColor = '#c0ffc0';
		document.getElementById('pass2_check').style.color = '#008000';	
	}
	else {
		document.getElementById('pass2_check').innerHTML = "Mis-Match";
		document.getElementById('pass2_check').style.backgroundColor = '#ffc0c0';
		document.getElementById('pass2_check').style.color = '#800000';
		valid = false;
		error_message += "Your passwords do not match\n";
	}
	document.getElementById('pass2_check').style.fontWeight = "bold";	
}



function refresh_captcha() {
	document.getElementById('captcha_img').src = '/images/captcha_wait.gif';
	var junk = cache_buster();

	var head= document.getElementsByTagName('head')[0];
	var script= document.createElement('script');
	script.type= 'text/javascript';
	script.src= '/javascript.cgi?action=refresh_captcha\&junk='+junk;
	head.appendChild(script);
	document.getElementById('captcha_text').value = "";

	document.getElementById('captcha_check').innerHTML = "";
	document.getElementById('captcha_check').style.backgroundColor = '#FFFFFF';


}


function check_captchmatch(str, layer) {
	var usr = str.value;
	var id = document.getElementById('captcha_res').value;
	var junk = cache_buster();


	var head= document.getElementsByTagName('head')[0];
	var script= document.createElement('script');
	script.type= 'text/javascript';
	script.src= '/javascript.cgi?action=check_captcha\&captcha='+usr+'\&layer='+layer+'\&captcha_id='+id+'\&junk='+junk;
	head.appendChild(script);	
}





function updatestrength(pw) {
	var strengthlevel = 0;
	var strengthmsgs = Array('Too Short','Fair','Medium','Strong','Very Strong');
	var bg = Array('#ffc0c0','#ffddab','#c0c0ff','#c0ffc0', '#004000');
	var tx = Array('#800000','#c47300','#0000c0','#008000', '#FFFFFF');
	if(istoosmall(pw)) {
		strengthlevel = 0;
		valid = false;
		error_message += "Password is too short\n";
	}
	else if(!isfair(pw)) { 
		strengthlevel = 1;
	}    
	else if(hasnum(pw)) {
		strengthlevel = 2;
	}
	else if(hascap(pw)) {
		strengthlevel = 3;
	}
	else {
		strengthlevel = 4;
	}
	document.getElementById('pass1_check').innerHTML = strengthmsgs[strengthlevel];
	document.getElementById('pass1_check').style.backgroundColor = bg[strengthlevel];
	document.getElementById('pass1_check').style.color = tx[strengthlevel];	
	document.getElementById('pass1_check').style.fontWeight = "bold";	


}


function check_email(str, layer) {
	var emailID = str.value;
	var msg = "Valid";
	var error = 0;
	if ((emailID == null)||(emailID == "")){
		msg = "Please Enter your Email ID";
		error = 1;
	}
	else if (echeck(emailID)==false){
		msg = "Invalid"
		error = 1;
	}
	if (error == 0) {
		document.getElementById(layer).innerHTML = msg;
		document.getElementById(layer).style.backgroundColor = '#c0ffc0';
		document.getElementById(layer).style.color = '#008000';	
	}
	else {
		document.getElementById(layer).innerHTML = msg;
		document.getElementById(layer).style.backgroundColor = '#ffc0c0';
		document.getElementById(layer).style.color = '#800000';	
		valid = false;
		error_message += "Invalid Email Address\n";
	}
}






function cache_buster() {
 	var randomnumber= Math.floor(Math.random()*1000000) + 1000000;
	return randomnumber;
}





function isfair(pw) {
	var fairpwlength = 7;
	if(pw.length < fairpwlength ) {
		return false;
	}
	else { 
		return true;
	}
}



function istoosmall(pw) {
	var minpwlength = 4;
	if(pw.length < minpwlength) {
		return true;
	}
	else {
	return false;
	}
}


function hasnum(pw) {
        var hasnum = true;
        for(var counter = 0; counter < pw.length; counter ++) {
        	if(!isNaN(pw.charAt(counter))) {
	                hasnum = false;
	        }
        }
        return hasnum;
}


function hascap(pw) {
	var hascap = true;
	var i = 0, n=pw.length, c, cases = [], upper=false,lower=false;
        for ( i = 0; i < n; ++i ) {
                c = pw.charAt(i);
                if(!isNaN(pw.charAt(i))) {
                	var weskip = 0;
                }
                else {
	               	if ( c >= 'A' && c <= 'Z' ) {   //check if its uppercase, note that this work only for english, for other characters you'll have to make special cases.
                       		cases[cases.length] = 1;
                        	upper = true;
                	} else {
                	        cases[cases.length] = 0;
                	        lower = true;
                	}
        	}
        }
	if (upper && lower) {
                //mixed
		hascap = false;
	}
	return hascap;
}



function echeck(str) {
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	if (str.indexOf(at)==-1) {
		return false;
	}
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr) {
		return false;
	}
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr) {
		return false;
	}
	if (str.indexOf(at,(lat+1))!=-1) {
		return false;
	}
	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot) {
		return false;
	}
	if (str.indexOf(dot,(lat+2))==-1) {
		return false;
	}
	if (str.indexOf(" ")!=-1) {
		return false;
	}
	return true;				
}

//BBCODE FUNCTIONS
function bbtags(start_tag, end_tag, textarea_id) {
	textarea = document.getElementById(textarea_id);
	if (document.selection) { 	// IE
		textarea.focus();
		var sel = document.selection.createRange();
		sel.text = start_tag + sel.text + end_tag;
	}
	else {  // 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);
		var rep = start_tag + sel + end_tag;
        	textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
		textarea.scrollTop = scrollTop;
		textarea.scrollLeft = scrollLeft;
	}
}

function bburl(textarea_id) {
	textarea = document.getElementById(textarea_id);
	var url_title = prompt('Enter Link Text(Optional):', '')
	var url = prompt('Enter the URL:','http://');
	var scrollTop = textarea.scrollTop;
	var scrollLeft = textarea.scrollLeft;
	if (url) {
		if (document.selection) {
			textarea.focus();
			var sel = document.selection.createRange();
			if (url_title == "") {
				sel.text = '[url]'  + url + '[/url]';
			} 
			else {
				sel.text = '[url=' + url + ']' + url_title + '[/url]';
			}			
		}
		else {
			var len = textarea.value.length;
			var start = textarea.selectionStart;
			var end = textarea.selectionEnd;
		 	var sel = textarea.value.substring(start, end);
			if (url_title == "") {
				var rep = '[url]' + url + '[/url]';
			} 
			else {
				var rep = '[url=' + url + ']' + url_title + '[/url]';
			}
		        textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
			textarea.scrollTop = scrollTop;
			textarea.scrollLeft = scrollLeft;
		}
	}
}

function bbimg(textarea_id) {
	textarea = document.getElementById(textarea_id);
	var url = prompt('Enter the Image URL:','http://');
	var scrollTop = textarea.scrollTop;
	var scrollLeft = textarea.scrollLeft;
	if (url) {
		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 bbcoder(textarea_id, select_id) {
	var selobj = document.getElementById(select_id);
	textarea = document.getElementById(textarea_id);
	var sel = selobj.selectedIndex;
	var selval = selobj.options[sel].value;
	var start_tag;
	var end_tag = "[/code]";
	if (selval == "none") {
		start_tag = "[code]";			
	}
	else {
		start_tag = "[code="+selval+"]";	
	}
	if (document.selection) { 	// IE
		textarea.focus();
		var sel = document.selection.createRange();
		sel.text = start_tag + sel.text + end_tag;
	}
	else {  // 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);
		var rep = start_tag + sel + end_tag;
        	textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
		textarea.scrollTop = scrollTop;
		textarea.scrollLeft = scrollLeft;
	}
	selobj.selectedIndex = 0;
}


function bbsizer(textarea_id, select_id) {
	var selobj = document.getElementById(select_id);
	textarea = document.getElementById(textarea_id);
	var sel = selobj.selectedIndex;
	var selval = selobj.options[sel].value;
	var start_tag;
	var end_tag = "[/size]";
	start_tag = "[size="+selval+"]";	
	if (document.selection) { 	// IE
		textarea.focus();
		var sel = document.selection.createRange();
		sel.text = start_tag + sel.text + end_tag;
	}
	else {  // 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);
		var rep = start_tag + sel + end_tag;
        	textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
		textarea.scrollTop = scrollTop;
		textarea.scrollLeft = scrollLeft;
	}
	selobj.selectedIndex = 0;
}



function bbtube(textarea_id) {
	textarea = document.getElementById(textarea_id);
	var url = prompt('Enter the YouTube Video ID:','');
	var scrollTop = textarea.scrollTop;
	var scrollLeft = textarea.scrollLeft;
	if (url) {
		if (document.selection) {
			textarea.focus();
			var sel = document.selection.createRange();
			sel.text = '[youtube]' + url + '[/youtube]';
		}
		else {
			var len = textarea.value.length;
			var start = textarea.selectionStart;
			var end = textarea.selectionEnd;
		
			var sel = textarea.value.substring(start, end);
			var rep = '[youtube]' + url + '[/youtube]';
			textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
		
			textarea.scrollTop = scrollTop;
			textarea.scrollLeft = scrollLeft;
		}
	}
}


function bbgvid(textarea_id) {
	textarea = document.getElementById(textarea_id);
	var url = prompt('Enter the Google Video ID:','');
	var scrollTop = textarea.scrollTop;
	var scrollLeft = textarea.scrollLeft;
	if (url) {
		if (document.selection) {
			textarea.focus();
			var sel = document.selection.createRange();
			sel.text = '[gvid]' + url + '[/gvid]';
		}
		else {
			var len = textarea.value.length;
			var start = textarea.selectionStart;
			var end = textarea.selectionEnd;
		
			var sel = textarea.value.substring(start, end);
			var rep = '[gvid]' + url + '[/gvid]';
			textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
		
			textarea.scrollTop = scrollTop;
			textarea.scrollLeft = scrollLeft;
		}
	}
}
function uptext(textarea_id) {
	document.getElementById(textarea_id).rows = document.getElementById(textarea_id).rows - 2;
}

function downtext(textarea_id) {
	document.getElementById(textarea_id).rows = document.getElementById(textarea_id).rows + 2;
}
