// *********************
// jscripts.js --> JavaScripts for The Story Trae
// Created by: Echtrae Cuinn (echtraecuinn@gmail.com)
// Date: 2008-02-03
// Purpose: To separate the scripts from the rest
// Note: This is a special modification explicitly for limited EFFN use
// *********************
// Revision Log:	
// 1.0	Created script

function winopener(target,windoz,parameters)
{
	var poppedwin = window.open(target,windoz,parameters);
	poppedwin.creator = self;
}

function winremote(target)
{
	window.opener.location = target;
}

function equalizer(target1,target2)
{
	var item1 = document.getElementById(target1);
	var item2 = document.getElementById(target2);
	item2.value = item1.value;
}

function get_chrs(target,windoz,parameters)
{
	var storage = document.getElementById("storage");
	var current = document.getElementById("char_stor");
	target = target + storage.value + "&now=" + current.value;
	winopener(target,windoz,parameters);
}

function chk_put()
{
	var origin = document.getElementsByName("chk_char[]");
	var target = window.opener.document.getElementById("slct_chars");
	var storage = window.opener.document.getElementById("char_stor");
	storage.value = "";
	target.value = "";
	for(var i=0; i<origin.length; i++)
	{
		if(origin[i].checked == true)
		{
			//alert(origin[i].title);
			//try
			//{
				target.value = target.value + origin[i].title + "\n";
			//}
			//catch(ex)
			//{
				//target.add(new Option(origin[i].title,origin[i].value));
			//}
			if(storage.value == 0)
			{
				storage.value = origin[i].value;
			}
			else
			{
				storage.value += "," + origin[i].value;
			}
		}
	}
}

function hider(target)
{
	var div_target = "div_"+target;
	var item = document.getElementById(div_target);
	var img = document.getElementById("img_" + target);
	if (item.style.display == "none")
	{
		item.style.display = "";
		if(img)
		{
			img.src = var_fimages + "/collapse.gif";
			img.alt = var_collapse;
			img.title = var_collapse;
		}
	}
	else
	{
		item.style.display = "none";
		if(img)
		{
			img.src = var_fimages + "/expand.gif";
			img.alt = var_expand;
			img.title = var_expand;
		}
	}
} 

function put_sels(originid, targetid, storageid, extension)
{
	var origin = document.getElementById(originid);
	var target = document.getElementById(targetid);
	var storage = document.getElementById(storageid);
	if(storage.value == 0)
	{
		storage.value = "";
		target.options[0] = null;
	}
	for(var i=0;i<origin.options.length;i++)
	{
		if(origin.options[i].selected == true)
		{
			for(var y=i;y>=0;y--)
			{
				if(origin.options[y].disabled == true)
				{
					var root = origin.options[y].text;
					y=0;
				}
			}
			var tester = true;
			for(var x=0;x<target.options.length;x++)
			{
				if(target.options[x].text == "")
				{
					target.options[x] = null;
					target.options.length = target.options.length -1;
				}
			}
			for(var x=0;x<target.options.length;x++)
			{
				if(target.options[x].value == origin.options[i].value)
				{
					tester = false;
				}
			}
			if(tester)
			{
				if(extension)
				{
					target.options[target.options.length] = new Option("("+root+")"+origin.options[i].text,origin.options[i].value);
				}
				else
				{
					target.options[target.options.length] = new Option(origin.options[i].text,origin.options[i].value);
				}
				if(storage.value == 0)
				{
					storage.value = origin.options[i].value;
				}
				else
				{
					storage.value += "," + origin.options[i].value;
				}
			}
		}
	}
} 

function des_slct(targetid, storageid)
{
	var target = document.getElementById(targetid);
	var storage = document.getElementById(storageid);
	for(var i=0;i<target.options.length;i++)
	{
		if(target.options[i].selected == true)
		{
			var removal = storage.value.split(",");
			for(var z=0;z<removal.length;z++)
			{
				if(removal[z] == target.options[i].value)
				{
					removal.splice(z,1);
				}
			}
			target.options[i] = null;
			storage.value = removal.join(",");
		}
	}
}

function cat_enabler(target)
{
	var cat_target = "div_cats_"+target;
	var item = document.getElementById(cat_target);
	var img = document.getElementById("img_cats_"+target);
	if (item.style.display == "none")
	{
		item.style.display = "";
		img.src = var_fimages+"/collapse.gif";
		img.alt = var_collapse;
		img.title = var_collapse;
	}
	else
	{
		item.style.display = "none";
		img.src = var_fimages+"/expand.gif";
		img.alt = var_expand;
		img.title = var_expand;
	}
} 

function jumper(loc,target)
{
	var new_target = var_siteurl+"/index.php?ind=tst&op=view&"+loc+"="+target;
	window.location = new_target;
}

function pgjump(pager)
{
	var view = document.getElementById("view");
	var target = document.getElementById("target");
	var sort0 = document.getElementById("sort0");
	var sort2 = document.getElementById("sort2");
	var extra = document.getElementById("extra");
	var new_location = var_siteurl+"/index.php?ind=tst&op=view&"+view.value+"="+target.value+"&so="+sort0.value+"."+pager+"."+sort2.value+extra.value;
	window.location = new_location;
}

function shrtjump(pager)
{
	var view = document.getElementById("view");
	var sort0 = document.getElementById("sort0");
	var sort2 = document.getElementById("sort2");
	var extra = document.getElementById("extra");
	var new_location = var_siteurl+"/index.php?ind=tst&op="+view.value+"&so="+sort0.value+"."+pager+"."+sort2.value+extra.value;
	window.location = new_location;
}

function minijump(pager)
{
	var loc = document.getElementById("loc");
	var new_location = loc.value+pager;
	window.location = new_location;
}

function blk_shader(target)
{
	var blk_target = "blk_"+target;
	var item = document.getElementById(blk_target);
	var img = document.getElementById("img_"+target);
	if (item.style.display == "none")
	{
		item.style.display = "";
		img.src = var_fimages+"/upshrink.gif";
		img.alt = var_collapse;
		img.title = var_collapse;
	}
	else
	{
		item.style.display = "none";
		img.src = var_fimages+"/upshrink2.gif";
		img.alt = var_expand;
		img.title = var_expand;
	}
} 

function chg_cntr(target)
{
	var cc_hid = document.getElementById("hid_"+target);
	var cc_sho = document.getElementById("sho_"+target);
	var cc_box = document.getElementById(target);
	var cc_diff = (cc_hid.value - cc_box.value.length);
	
	if(cc_diff < 0)
	{
		cc_sho.className = "meaction";
	}
	else
	{
		cc_sho.className = null;
	}
	cc_sho.innerHTML = cc_diff;
}

function mail_chkr(action,item)
{
	var retort = "";
	retort += checkEmpty("mail_msg");
	if(action == 4)
	{
		retort += checkEmpty("rev_name");
		retort += checkEmpty("rev_email");
		retort += checkEmpty("rev_sect");
	}
	if(retort != "")
	{
		alert(item.form_msg.value+retort);
		return false;
	}
	return true;
}

function frm_chkr(action,item)
{
	// 0 - add a story
	// 1 - edit a story
	// 2 - edit a chapter
	// 3 - member review
	// 4 - guest review
	var retort = "";
	if((action == 0) || (action == 2))
	{
		retort += checkEmpty("chapt_title");
		//retort += checkChapt();
	}
	if((action == 0) || (action == 1))
	{
		retort += checkEmpty("story_title");
		retort += checkEmpty("story_sumry");
		retort += checkEmpty("story_disc");
		retort += checkCodes();
		retort += checkCats();
	}
	if((action == 3) || (action == 4))
	{
		retort += checkEmpty("rev_cmnt");
	}
	if(action == 4)
	{
		retort += checkEmpty("rev_name");
		retort += checkEmpty("rev_email");
	}
	if(retort != "")
	{
		alert(item.form_msg.value+retort);
		return false;
	}
	return true;
}

function res_chkr(item)
{
	var retort = checkEmpty("rev_cmnt"+item);
	if(retort != "")
	{
		alert(retort);
		return false;
	} else {
		return true;
	}
}

function checkEmpty(specific)
{
	var response = "";
	var item = document.getElementById(specific);
	var attn = document.getElementById("tst_nm_"+specific);
	if( 0==item.value.length || null==item.value || ""==item.value)
	{
		response = attn.value;
		item.className = "highlight";
	}
	else
	{
		specific.className = "";
	}
	return response; 
}

function checkEmail(specific)
{
	var item = document.getElementById(specific);
	var attn = document.getElementById("tst_nm_"+specific);
	var email1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/;
	var email2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;
	if(email1.test(item.value) && !email2.test(item.value))
	{
		response = attn.value;
		item.className = "highlight";
	}
	else
	{
		specific.className = "";
	}
	return response;
}

function checkCodes()
{
	var response = document.getElementById("tst_nm_story_codes").value;
	var code_max = document.getElementById("code_count").value;
	for(var i=0;i<code_max;i++)
	{
		var single = document.getElementById("chk_code_"+i);
		if(single.checked == true)
		{
			response = "";
		}
	}
	return response;
}

function checkCats()
{
	var response = document.getElementById("tst_nm_story_cats").value;
	var cats = document.getElementById("storage");
	var sels = document.getElementById("slct_selects");
	if(cats.length == 0 || cats.value == "0" || cats.value == null || cats.value == "" || sels.options.length == 0 || sels.options[0].text == "")
	{
		return response;
	}
	return "";
}

function checkChapt()
{
	var response = "";
	var radio2 = document.getElementById("chapt_radio_2");
	var txtentry = document.getElementById("chapt_text").value;
	if(("" == txtentry || null == txtentry) && (radio2.checked == true))
	{
		response = document.getElementById("tst_nm_chapt_contents").value; 
	}
	return response;
}

function chapt_sltr(action)
{
	var upload = document.getElementById("chapt_upload");
	var entry = document.getElementById("chapt_entry");
	if(action == 'enter')
	{
		upload.style.display = "none";
		entry.style.display = "";
	}
	if(action == 'upload')
	{
		upload.style.display = "";
		entry.style.display = "none";
	}
}

function xpndr(orientation,direction)
{
	var tabox = document.getElementById("chapt_text");
	if(orientation == 'ht')
	{
		if(direction == 'more')
		{
			tabox.rows += 5;
		}
		if(direction == 'less' && tabox.rows > 10)
		{
			tabox.rows -= 5;
		}
	}
	if(orientation == 'wd')
	{
		if(direction == 'more')
		{
			tabox.cols += 10;
		}
		if(direction == 'less' && tabox.cols > 40)
		{
			tabox.cols -= 10;
		}
	}
}

function delver(reason,newlocation)
{
	switch (reason)
	{
		case "ch":
			question = var_qrydltch;
			break;
		case "st":
			question = var_qrydltst;
			break;
		case "se":
			question = var_qrydltse;
			break;
		case "at":
			question = var_qrydltat;
			break;
		default:
			return;
	}
	if(confirm(question))
	{
		window.location = newlocation;
	}
}

function img_refresh(target,extension)
{
	var item = document.getElementById(target);
	var extra = new Date().getTime();
	item.src = var_siteurl+"/sect.php?"+extension+"="+extra;
}
