browser_name = navigator.appName;
browser_version = parseFloat(navigator.appVersion); 
if (browser_name == "Netscape" && browser_version >= 3.0) { roll = 'true'; }
else if (browser_name == "Microsoft Internet Explorer" && browser_version >= 3.0) { roll = 'true'; }
else { roll = 'false'; }
function msover1(img,ref) { if (roll == 'true') { document.images[img].src = ref; } }
function msout1(img,ref)  { if (roll == 'true') { document.images[img].src = ref; } }

// sound related functions

function availNotice(resp) {

if (resp.responseText != 'GOOD')
{
scroll(0,0);
alert(resp.responseText);
return false;
}
else
{
submitFormValues('plan_creator')
// $('submissionForm').onsubmit='';
// $('submissionForm').submit();
}
}


function callFailed(resp)
{
  alert("Call failed: " + resp.responseText);

}

function checkPlanFormInput() {
  var edit_current = document.getElementById("edit_current").value;
  var plan_name = document.getElementById("plan_name").value;
  var plan_display_name = document.getElementById("plan_display_name").value;
  var plan_description = document.getElementById("plan_description").value;
  var plan_months = document.getElementById("plan_months").value;
  var plan_days = document.getElementById("plan_days").value;
  var promo_first_day = document.getElementById("promo_first_day").value;
  var promo_last_day = document.getElementById("promo_last_day").value;
  
  if (!plan_name || !plan_display_name || (!plan_months && !plan_days))
  {
    alert("Please complete all fields.");
    return false;
  }
/*
	if (un.length < 3 || un.length > 25)
	{
	    alert("Username must be between 3 and 25 characters.");
	    return false;
	}
*/
if (plan_name.match('[^a-zA-Z0-9_-]'))
  {
    alert("Plan name contains illegal characters.");
    return false;
  }

if (!promo_first_day.match('(19|20)[0-9]{2}[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])') && promo_first_day != '0000-00-00')  {
    alert("First Day Available must be in 0000-00-00 format.");
    return false;
  }

if (!promo_last_day.match('(19|20)[0-9]{2}[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])') && promo_last_day != '0000-00-00')  {
    alert("Last Day Available must be in 0000-00-00 format.");
    return false;
  }

checked = 0;
if (edit_current)
submitFormValues('plan_creator')
else
{
  var pars = "plan_name="+plan_name+"&plan_display_name="+plan_display_name;
  var url = "/learn_japanese/checkPlanName.php";
new Ajax.Request(url, {method:'post',parameters:pars,onComplete:availNotice, onFailure:callFailed});
}
}


function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=1,width=400,height=150,left = 440,top = 437');");
}

function opSound(soundDiv,popvers,action) {
if (document.getElementById("course")) {
var course = document.getElementById("course").innerHTML
var less = document.getElementById("less").innerHTML
var section = document.getElementById("area").innerHTML
}

var sdata = soundDiv.split('_');
var id = sdata[0];

if (document.getElementById("sound_data") == null)
{
var theBody = document.getElementsByTagName('body')[0];
var data = document.createElement("DIV");
data.innerHTML = "<div id=\"sound_data\" style=\"display:none;\"></div>";
document.body.appendChild(data);
}

if (document.getElementById("nowopen") == null)
{
var theBody = document.getElementsByTagName('body')[0];
var data2 = document.createElement("DIV");
data2.innerHTML = "<div id=\"nowopen\" style=\"display:none;\"></div>";
document.body.appendChild(data2);
}

var url = '/learn_japanese/soundPopUpDEMO.php';
var params = 'soundDiv=' + soundDiv + '&course=' + course + '&less=' + less + '&section=' + section + '&popvers=' + popvers + '&action=' + action;
var lastsound = document.getElementById("sound_data").innerHTML;

document.getElementById("sound_data").innerHTML = soundDiv;
var thediv = "op" + soundDiv;
var thedivSP = "sp" + soundDiv;
var lastdiv = 'op' + lastsound;
var movediv = 'move' + lastsound;
var lastParentDiv = document.getElementById('sp' + lastsound);
var current = document.getElementById(thediv).innerHTML;

	if (current && !action)
	document.getElementById(thediv).innerHTML = "";
	else
	{
	document.getElementById(thediv).innerHTML = "<img src =/images/sound-loader.gif width=43 height=11 border=0>";
		if (lastsound && lastParentDiv)
		{
		lastParentDiv.innerHTML = "<table cellpadding=0 cellspacing=0 border=0 style=position:absolute;z-index:1000; id=\""+movediv+"\"><tr><td id=\""+lastdiv+"\"></td></tr></table>";
		new Draggable(movediv);
		}
	var ajax = new Ajax.Updater(thediv,url,{method: 'post', parameters: params});
	}
openSoundEditor(id,thediv);
} // end of function: opSound (openSound)


function openSoundEditor(id,theOPENdiv) {
var pars = "FLD_id="+id+"&theOPENdiv="+theOPENdiv+"&remote_func=quickSoundEditor";
var url = "/learn_japanese/AJAXfunctionsDEMO.php";
new Ajax.Updater('soundedit', url,{evalScripts:true, method:'post',parameters:pars});
}

function newpage() {
theurl = document.getElementById("newpage").value;
if (theurl)
parent.location=theurl;
}


function flipDiv(div1,div2) {
var div1 = document.getElementById(div1);
var div2 = document.getElementById(div2);

	if (div1.style.display == 'block')
	{
	div1.style.display = 'none';
	div2.style.display = 'block'; 
	}
	else
	{
	div1.style.display = 'block';
	div2.style.display = 'none'; 
	}
}


function toggleDiv2(div){
var theDiv = document.getElementById(div);

if (theDiv.style.display != 'block')
theDiv.style.display = 'block';
else
theDiv.style.display = 'none';
}

function versionList(thediv,vers,soundDiv,info) {

if (info == '')
var params = 'theVers=' + vers + "&soundDiv=" + soundDiv + "&thediv=" + thediv;
else
var params = 'theVers=' + vers + "&soundDiv=" + soundDiv + "&info="+info+"&script=changeLessVers" + "&thediv=" + thediv;

var url = '/learn_japanese/versionListDEMO.php';
var ajax = new Ajax.Updater(thediv,url,{evalScripts:true,method: 'get', parameters: params,onComplete:toggleDiv2(thediv)});
}


function getVersions(versionDiv,currentVers,popvers,changeThisDiv,is_pop) {
var params = 'currentVers=' + currentVers + "&versionDiv=" + versionDiv + "&is_pop=" + is_pop + "&popvers=" + popvers + "&changeThisDiv="+changeThisDiv;

var url = '/YJ6/getVersions.php';
var ajax = new Ajax.Updater(versionDiv,url,{evalScripts:true,method: 'get', parameters: params,onComplete:toggleDiv2(versionDiv)});
}


function switchVersionXXX(changeThisDiv,vers,popvers) {

switch (vers) {
case 'mix':
var disp_vers = 'Progressive'
break

case 'romaji':
var disp_vers = 'Romaji'
break

case 'hira':
var disp_vers = 'Hiragana Only'
break

case 'hirakata':
var disp_vers = 'Hiragana / Katakana'
break

case 'kanji':
var disp_vers = 'Kanji Plus'
break

}

var rawData = document.getElementById(changeThisDiv + "_raw").value;

var url = '/YJ6/switchVersion.php';
var params = 'changeThisDiv=' + changeThisDiv + "&vers="+vers + "&popvers="+popvers + "&raw=" + rawData;
var ajax = new Ajax.Updater(changeThisDiv,url,{evalScripts:true,method: 'get', parameters: params});
}

function switchVersion(changeThisDiv,vers,popvers,is_popup) {

switch (vers) {
case 'mix':
var disp_vers = 'Progressive'
break

case 'romaji':
var disp_vers = 'Romaji'
break

case 'hira':
var disp_vers = 'Hiragana Only'
break

case 'hirakata':
var disp_vers = 'Hiragana / Katakana'
break

case 'kanji':
var disp_vers = 'Kanji Plus'
break

}

if (is_popup)
{
opSound(changeThisDiv,vers,'');
}
else
{
var rawData = document.getElementById(changeThisDiv + "_raw").value;

var url = '/YJ6/switchVersion.php';
var params = 'changeThisDiv=' + changeThisDiv + "&vers="+vers + "&popvers="+popvers + "&raw=" + rawData;
var ajax = new Ajax.Updater(changeThisDiv,url,{evalScripts:true,method: 'get', parameters: params});

}
}



function updateOpen(clicked) {
var current_open = document.getElementById("nowopen").innerHTML;
document.getElementById("nowopen").innerHTML = clicked;
}


bugReportDEMO


function bugReportDEMO() {
var report = document.getElementById("reportDEMO");
	if (report.style.display == 'block')
	{
	report.style.display == 'none';
	report.innerHTML == '';
	}
	else
	{
	report.style.display == 'block';
	var url = '/learn_japanese/bugReportDEMO.php';
	var ajax = new Ajax.Updater('reportDEMO',url);
	}
}


function changeVers(thediv,vers,soundDiv,info) {
/*
var course = document.getElementById("course").innerHTML
var less = document.getElementById("less").innerHTML
var area = document.getElementById("area").innerHTML
*/
switch (vers) {
case 'mix':
var disp_vers = 'Progressive'
break

case 'romaji':
var disp_vers = 'Romaji'
break

case 'hira':
var disp_vers = 'Hiragana Only'
break

case 'hirakata':
var disp_vers = 'Hiragana / Katakana'
break

case 'kanji':
var disp_vers = 'Kanji Plus'
break

}

if (info)
{
var url = '/learn_japanese/changeVersDEMO.php';
var params = 'theVers=' + vers + "&course="+course+"&less="+less+"&info="+info;
var ajax = new Ajax.Updater(thediv,url,{evalScripts:true,method: 'get', parameters: params,onComplete:refreshPage(course,less,area)});

// alert("Lesson version changed to: " + disp_vers);
}
else
{
// alert("Popup version changed to: " + disp_vers);
var url = '/learn_japanese/changeVersDEMO.php';
var params = 'theVers=' + vers;
new Ajax.Request(url,{evalScripts:true,method: 'post', parameters: params});

var current_sound_div = 'op'+soundDiv;

document.getElementById(current_sound_div).innerHTML = "";

opSound(soundDiv,vers,'');
}
}



function displayPageNavigation() {
var vers = parent.frames["navi-url"].document.getElementById("vers").innerHTML;
var course = parent.frames["navi-url"].document.getElementById("course").innerHTML;
var less = parent.frames["navi-url"].document.getElementById("less").innerHTML;
var area = parent.frames["navi-url"].document.getElementById("area").innerHTML;


var pars = "course="+course+"&less="+less+"&area="+area+"&vers="+vers+"&remote_func=pageNavigation";
//parent.frames["menu-url"].document.getElementById("what").innerHTML = pars;
var url = "/learn_japanese/AJAXfunctionsDEMO.php";
new Ajax.Request(url,{method:'post',parameters:pars,onSuccess: assignNextLast});
}

function assignNextLast(resp) {
var nextlast = resp.responseText;
var data = nextlast.split('^');

var lastCourse = data[0];
var lastLess = data[1];
var lastArea = data[2];

var nextCourse = data[3];
var nextLess = data[4];
var nextArea = data[5];

var lastLink = data[6];
var nextLink = data[7];


var loadedLinks = parent.frames["menu-url"].document.getElementById("loadedLinks").innerHTML;
var links = loadedLinks.split(",");
var course = parent.frames["menu-url"].document.getElementById("course").innerHTML;
var less = parent.frames["menu-url"].document.getElementById("less").innerHTML;

if (!lastCourse || !lastLess)
parent.frames["menu-url"].document.getElementById("lastless").style.display="none";
else
{
parent.frames["menu-url"].document.getElementById("lastless").style.display="block";
	if (course != lastCourse || less != lastLess)
	{
	parent.frames["menu-url"].document.getElementById("lastless").href = "/YJ6/YesJapan.php?course="+lastCourse+"&less="+lastLess+"&rinku="+lastArea;
	parent.frames["menu-url"].document.getElementById("lastless").target = "_parent";
	}
	else
	{
	parent.frames["menu-url"].document.getElementById("lastless").onclick = function() {changeLessonLinkHighlight(lastCourse,lastLess,lastArea)}
	parent.frames["menu-url"].document.getElementById("lastless").href = "/YJ6/lesson_functions.php?course="+lastCourse+"&less="+lastLess+"&rinku="+lastArea;
	parent.frames["menu-url"].document.getElementById("lastless").target = "lesson-url";
	}
}

if (!nextCourse || !nextLess)
parent.frames["menu-url"].document.getElementById("nextless").style.display="none";
else
{

parent.frames["menu-url"].document.getElementById("nextless").style.display="block";
	if (course != nextCourse || less != nextLess)
	{
	parent.frames["menu-url"].document.getElementById("nextless").href = "/YJ6/YesJapan.php?course="+nextCourse+"&less="+nextLess+"&rinku="+nextArea;
	parent.frames["menu-url"].document.getElementById("nextless").target = "_parent";
	}
	else
	{
	parent.frames["menu-url"].document.getElementById("nextless").onclick = function() {changeLessonLinkHighlight(nextCourse,nextLess,nextArea)}
	parent.frames["menu-url"].document.getElementById("nextless").href = "/YJ6/lesson_functions.php?course="+nextCourse+"&less="+nextLess+"&rinku="+nextArea;
	parent.frames["menu-url"].document.getElementById("nextless").target = "lesson-url";
	}
}

};


function changeHighlightOnly(linkCourse,clicked) {
var loadedLinks = parent.frames["menu-url"].document.getElementById("loadedLinks").innerHTML;

var links = loadedLinks.split(",");

	for (i=0;i<links.length;i++)
	{
	var thelink = links[i];
		if (thelink)
		{
			if (clicked == thelink)
			{
			parent.frames["menu-url"].document.getElementById(thelink).style.background = "url(/images/course"+linkCourse+"box_midS.png)";
			}
			else
			parent.frames["menu-url"].document.getElementById(thelink).style.background = "";
		}
	}

} // end of function: changeHighlightOnly


function changeLessonLinkHighlight(linkCourse,linkLess,clicked) {
parent.frames["navi-url"].document.getElementById("course").innerHTML = linkCourse;
parent.frames["navi-url"].document.getElementById("less").innerHTML = linkLess;
parent.frames["navi-url"].document.getElementById("area").innerHTML = clicked;
displayPageNavigation();

var loadedLinks = parent.frames["menu-url"].document.getElementById("loadedLinks").innerHTML;

var links = loadedLinks.split(",");

	for (i=0;i<links.length;i++)
	{
	var thelink = links[i];
		if (thelink)
		{
			if (clicked == thelink)
			{
			parent.frames["menu-url"].document.getElementById(thelink).style.background = "url(/images/course"+linkCourse+"box_midS.png)";
			}
			else
			parent.frames["menu-url"].document.getElementById(thelink).style.background = "";
		}
	}

var pars = "course="+linkCourse+"&less="+linkLess+"&area="+clicked+"&remote_func=updateBookmark";
var url = "/learn_japanese/AJAXfunctionsDEMO.php";
new Ajax.Request(url,{method:'post',parameters:pars});

} // end of function: changeLessonLinkHighlight


function loadLessonAreaXXX(tolink,clicked,linkCourse,linkLess) {
var loadedLinks = parent.frames["menu-url"].document.getElementById("loadedLinks").innerHTML;
var links = loadedLinks.split(",");
var course = parent.frames["menu-url"].document.getElementById("course").innerHTML;
var less = parent.frames["menu-url"].document.getElementById("less").innerHTML;
parent.frames["lesson-url"].location=tolink;

if (course != linkCourse || less != linkLess)
parent.frames["menu-url"].location='/YJ6/JapaneseFromZeroMenu.php?course='+linkCourse+'&less='+linkLess+'&rinku='+clicked;
else
{
	for (i=0;i<links.length;i++)
	{
	var thelink = links[i];
		if (thelink)
		{
			if (clicked == thelink)
			{
			parent.frames["menu-url"].document.getElementById(thelink).style.background = "url(/images/course"+course+"box_midS.png)";
			}
			else
			parent.frames["menu-url"].document.getElementById(thelink).style.background = "";
		}
	}
}
parent.frames["navi-url"].document.getElementById("course").innerHTML = linkCourse;
parent.frames["navi-url"].document.getElementById("less").innerHTML = linkLess;
parent.frames["navi-url"].document.getElementById("area").innerHTML = clicked;

var pars = "course="+course+"&less="+less+"&area="+clicked+"&remote_func=updateBookmark";
var url = "/learn_japanese/AJAXfunctionsDEMO.php";
new Ajax.Request(url,{method:'post',parameters:pars});



displayPageNavigation();
};


function encodeUrl(s) {
return encodeURIComponent(s).replace(/%20/, '+').replace(/(.{0,3})(%0A)/g,function(m, p1, p2) {return p1+(p1=='%0D'?'':'%0D')+p2;});
};

function reload(frame) {
parent.frames[frame].location.reload(true);
}

function loadWindows(link)
{
// parent.frames["menu-url"].location='/YJ6/staff/multiMiniSoundLookup.php';
parent.frames["lesson-url"].location=link;
};

function loadSoundEditor(link,nogroup)
{
var group = document.getElementById("FLD_data1").value;
// parent.frames["menu-url"].location='/YJ6/staff/multiMiniSoundLookup.php';
if (nogroup)
parent.frames["lesson-url"].location=link;
else
parent.frames["lesson-url"].location=link+"&group="+group;
};


function changeAdminLock(user_id,lock) {
var vers = document.getElementById("vers").innerHTML;
var course = document.getElementById("course").innerHTML;
var less = document.getElementById("less").innerHTML;
var area = document.getElementById("area").innerHTML;

var pars = "theid="+user_id+"&lock="+lock+"&remote_func=changeAdminLock";
var url = "/learn_japanese/AJAXfunctionsDEMO.php";
new Ajax.Updater('lessonMenu',url,{evalScripts:true, method:'post',parameters:pars});
alert ("Turning Admin_Lock to: '" + lock + "' for User Id: " + user_id);
parent.location='/YJ6/YesJapan.php?course='+course+'&less='+less+'&rinku='+area;

}


function editGrammar(grammar_id) {
var gbox = document.getElementById('grammar'+grammar_id);
var vers = document.getElementById("vers").innerHTML;
var course = document.getElementById("course").innerHTML;
var less = document.getElementById("less").innerHTML;
var area = document.getElementById("area").innerHTML;

var pars = "FLD_id="+grammar_id+"&vers="+vers+"&course=" + course + "&less=" + less + "&area=" + area+"&remote_func=quickGrammarEditorFunctions";
var url = "/learn_japanese/AJAXfunctionsDEMO.php";

//parent.frames["menu-url"].location='/YJ6/staff/multiMiniSoundLookup.php';
new Ajax.Updater('grammar'+grammar_id, url,{evalScripts:true, method:'post',parameters:pars});
gbox.style.borderColor = "yellow";
gbox.style.borderWidth = "3px";
gbox.style.borderStyle = "solid";
gbox.style.backgroundColor = "#FFFFCC";
gbox.style.padding = "10px";

}

function changeMenu(opendiv) {
var notSelColor = "#B9B9B9";
var selColor = parent.frames["menu-url"].document.getElementById("coursecolor").innerHTML;

switch (opendiv) {
case "pics":
parent.frames["menu-url"].document.getElementById("pics").style.display = "block";
parent.frames["menu-url"].document.getElementById("picslink").style.backgroundColor = selColor;

parent.frames["menu-url"].document.getElementById("easysound").style.display = "none";
parent.frames["menu-url"].document.getElementById("easysoundlink").style.backgroundColor = notSelColor;

if (parent.frames["menu-url"].document.getElementById("links"))
{
parent.frames["menu-url"].document.getElementById("links").style.display = "none";
parent.frames["menu-url"].document.getElementById("linkslink").style.backgroundColor = notSelColor;
}
break;

case "easysound":
parent.frames["menu-url"].document.getElementById("pics").style.display = "none";
parent.frames["menu-url"].document.getElementById("picslink").style.backgroundColor = notSelColor;

parent.frames["menu-url"].document.getElementById("easysound").style.display = "block";
parent.frames["menu-url"].document.getElementById("easysoundlink").style.backgroundColor = selColor;

if (parent.frames["menu-url"].document.getElementById("links"))
{
parent.frames["menu-url"].document.getElementById("links").style.display = "none";
parent.frames["menu-url"].document.getElementById("linkslink").style.backgroundColor = notSelColor;
}
break;

case "links":
parent.frames["menu-url"].document.getElementById("pics").style.display = "none";
parent.frames["menu-url"].document.getElementById("picslink").style.backgroundColor = notSelColor;

parent.frames["menu-url"].document.getElementById("easysound").style.display = "none";
parent.frames["menu-url"].document.getElementById("easysoundlink").style.backgroundColor = notSelColor;

parent.frames["menu-url"].document.getElementById("links").style.display = "block";
parent.frames["menu-url"].document.getElementById("linkslink").style.backgroundColor = selColor;
break;
}

}


function closeQuestion(id,type) {
var pars = "id="+id+"&type=" + type + "&remote_func=closeQuestion";
var url = "/learn_japanese/AJAXfunctionsDEMO.php";
setTimeout(parent.location='/YJ6/?page=kanako',2000);
new Ajax.Updater('closed', url,{method:'post',parameters:pars});
}


function markAsKnownBug(id) {
var pars = "id="+id+ "&remote_func=markAsKnownBug";
var url = "/learn_japanese/AJAXfunctionsDEMO.php";
setTimeout(parent.location='/YJ6/?page=kanako',2000);
new Ajax.Updater('closed', url,{method:'post',parameters:pars});
}



function showGrammar(grammar_id) {
var gbox = document.getElementById('grammar'+grammar_id);
var vers = document.getElementById("vers").innerHTML;
var course = document.getElementById("course").innerHTML;
var less = document.getElementById("less").innerHTML;
var area = document.getElementById("area").innerHTML;

var pars = "id="+grammar_id+"&vers="+vers+"&course=" + course + "&less=" + less + "&area=" + area+"&remote_func=getGrammar";
var url = "/learn_japanese/AJAXfunctionsDEMO.php";

//parent.frames["menu-url"].location='/YJ6/JapaneseFromZeroMenu.php?course='+course+'&less='+less+'&rinku='+area;
new Ajax.Updater('grammar'+grammar_id, url,{evalScripts:true, method:'post',parameters:pars});
gbox.style.borderColor = "";
gbox.style.borderWidth = "";
gbox.style.borderStyle = "";
gbox.style.backgroundColor = "";
gbox.style.padding = "";
}


function submitGrammarForm(theid)
{

var thediv = "grammar"+theid;
var elem = document.getElementById('quickForm').elements;

var str = '';
for(var i = 0; i < elem.length; i++)
{

if (elem[i].type == 'radio' || elem[i].type == 'checkbox')
	{
	if (elem[i].checked)
	str += "YJSP" + elem[i].name +"YJCM"+elem[i].value;
	}
	else
	{
	str += "YJSP" + elem[i].name +"YJCM"+elem[i].value;
	}
}

//alert(str);


str = encodeUrl(str);
// var pars = "vars=" + str;

var pars = "&vars=" + str+"&remote_func=quickGrammarEditorFunctions";

var url = "/learn_japanese/AJAXfunctionsDEMO.php";
new Ajax.Updater(thediv, url,{evalScripts:true, method:'post',parameters:pars});
showGrammar(theid);
}


function startTime()
{
var today=new Date();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
// add a zero in front of numbers<10
m=checkTime(m);
s=checkTime(s);
return(h+":"+m+":"+s);
}

function checkTime(i)
{
if (i<10)
  {
  i="0" + i;
  }
return i;
}

function showMessage(message,color) {
	if (parent.frames["menu-url"].document.getElementById("messageArea"))
	{
	var box = parent.frames["menu-url"].document.getElementById("messageArea");
	var text = parent.frames["menu-url"].document.getElementById("messageText");
	text.innerHTML = startTime() +"<br>"+ message;
	box.style.display = 'block';
	box.style.border = '2px';
	box.style.borderColor = color;
	box.style.borderStyle = 'solid';
	}
}

function submitSoundForm(theOPENdiv)
{

var elem = document.getElementById('quickSoundForm').elements;

var str = '';
for(var i = 0; i < elem.length; i++)
{
if (elem[i].type == 'radio' || elem[i].type == 'checkbox')
	{
	if (elem[i].checked)
	str += "YJSP" + elem[i].name +"YJCM"+elem[i].value;
	}
	else
	{
	str += "YJSP" + elem[i].name +"YJCM"+elem[i].value;
	}
}

//alert(str);
str = ued_encode(str);
// var pars = "vars=" + str;

var pars = "&vars=" + str+"&remote_func=quickSoundEditor";

var url = "/learn_japanese/AJAXfunctionsDEMO.php";
new Ajax.Updater('soundForm', url,{evalScripts:true, method:'post',parameters:pars});

showMessage('Sound was saved!','green');
document.getElementById(theOPENdiv).innerHTML = '';
document.getElementById(theOPENdiv).style.display = 'none';
}

function logOutUser(cookie,returnpage) {
var params = "sid="+cookie+"&remote_func=logOutUser";
var url = '/learn_japanese/AJAXfunctionsDEMO.php';
new Ajax.Request(url,{method:'post',parameters:params});
alert("You have been logged out.");
parent.location = returnpage;
};

function resetFrontPage() {
var params = "remote_func=resetFrontPage";
var url = '/learn_japanese/AJAXfunctionsDEMO.php';
new Ajax.Request(url,{method:'post',parameters:params});
getPage('bbforums');
}

function playSound(surl) {
// alert("Sound Url - " + surl);

if (document.getElementById("soundPlayer") == null)
{
var player = document.createElement("DIV");
player.innerHTML = "<div id=\"soundPlayer\" style=\"display:inline;\">HERE IS THE PLAYER</div>";
document.body.appendChild(player);
}

document.getElementById("soundPlayer").innerHTML="<embed src='"+surl+"' hidden=true autostart=true loop=false>";
}



function nt(id,course,vers,box_length,easyword,kanri,random,u_id,action,course,vers) {
if(id) {
var url = '/learn_japanese/soundPopUpDEMO.php';
var params = 'id=' + id + '&u=' + u_id + '&action=' + action + '&course=' + course + '&vers=' + vers+ '&random=' + random + '&easyword=' + easyword + '&box_length=' + box_length;

var thediv = 'op' + random;

var ajax = new Ajax.Updater(thediv,url,{evalScripts:true,method: 'post', parameters: params});
}
} // end: nt




function apply_add_ajax_search() {

		// Find the search box in the DOM
		var theElement = document.getElementById('sound_search');
		
		// Create a function for when the user presses a key
		theElement.onkeyup = function(){ search_delay_sounds(this); };
}


function search_delay_pictures(element) {

	// Create a function to get the search results
	var func = function() { getPictures(0); };

	// Check to see if there is already a timeout and if so...
	// ...cancel it and create a new one
	if ( element.zid ) {
		clearTimeout(element.zid);
	}
	element.zid = setTimeout(func,500);

}


function getPictures(start) {
var search = document.getElementById("search").value;
search = search.replace("%","P_ERCENT");

var url = '/learn_japanese/AJAXfunctionsDEMO.php';
var params = 'search=' + search + "&start=" + start + "&remote_func=searchPictures";
var thediv = "pictures";
document.getElementById(thediv).style.display="block";
var ajax = new Ajax.Updater(thediv,url,{method: 'post', parameters: params});
}


function search_delay_sounds(element) {
	// Create a function to get the search results
	var func = function() { getSounds(0); };

	// Check to see if there is already a timeout and if so...
	// ...cancel it and create a new one
	if ( element.zid ) {
		clearTimeout(element.zid);
	}
	element.zid = setTimeout(func,500);

}



function getSounds(start) {
var rawcheck = document.getElementById("raw").checked;
if (rawcheck == true)
var raw = 1;
else
var raw = 0;

var search = document.getElementById("sound_search").value;
var course = document.getElementById("sound_course").value;
var less = document.getElementById("sound_less").value;
search = search.replace("%","P_ERCENT");
var url = '/learn_japanese/AJAXfunctionsDEMO.php';
if (raw)
var params = 'search=' + search + "&start=" + start + "&course=" + course + "&less=" + less + "&remote_func=searchRawSounds";
else
var params = 'search=' + search + "&start=" + start + "&course=" + course + "&less=" + less + "&remote_func=searchSounds";
var thediv = "sounds";
document.getElementById(thediv).style.display="block";
var ajax = new Ajax.Updater(thediv,url,{method: 'post', parameters: params});
}

function lessonHelpMenu(var4,div) {

if (document.getElementById(div).style.display == "block")
document.getElementById(div).style.display = "none";
else
{
var params = 'var4=' + var4 + "&div=" + div;
var thediv = div;

var url = '/YJ6/lessonHelpMenu.php';
var ajax = new Ajax.Updater(thediv,url,{evalScripts:true,method: 'get', parameters: params});

document.getElementById(div).style.display = "block";
}
}




function refreshPage(course,less,rinku) {
parent.document.location = "/YJ6/YesJapan.php?course="+course+"&less="+less+"&rinku="+rinku;
}


function addPicData(id,sound,tags) {
$('picdata').innerHTML = '';

if (sound != 0)
var easypicData = '&lt;easypic id='+id+' sound='+sound+'&gt;'+tags+'&lt;/easypic&gt;';
else
var easypicData = '&lt;easypic id='+id+'&gt;'+tags+'&lt;/easypic&gt;';
$('picdata').innerHTML = easypicData;
document.getElementById("pictures").style.display="none";

copy('picdata');

var div = "picBox";
var pars = "id="+id;
var url = "/YJ6/staff/displayPic.php";
new Ajax.Updater(div, url,{method:'post',parameters:pars});

}


function changeColor(color)
{
id = $('soundIDdata').value;
tags = $('generated_tags').innerHTML;

document.getElementById("sound_color").value=color;
document.sound_query_form.iro.value = color;

var theone
for (i=0;i<document.sound_query_form.iro.length;i++){
if (document.sound_query_form.iro[i].value==color){
document.sound_query_form.iro[i].checked = true;
break //exist for loop, as target acquired.
}
}
addSoundData(id,tags)
}



function addSoundData(id,tags) {
$('generated_snippet').innerHTML = '';
$('soundIDdata').value = id;
var type = $('sound_color').value;
if (!type)
var type = 'blue';

if (type != 'none')
var easywordData = '&lt;easyword id='+id+' type='+type+'&gt;'+tags+'&lt;/easyword&gt;';
else
var easywordData = '&lt;easyword id='+id+'&gt;'+tags+'&lt;/easyword&gt;';
$('generated_snippet').innerHTML = easywordData;
$('generated_tags').innerHTML = tags;
copy('generated_snippet');

document.getElementById("sounds").style.display = "none";

var div = "soundBox";
var pars = "id="+id+"&type="+type;
var url = "/YJ6/staff/displaySound.php";
new Ajax.Updater(div, url,{method:'post',parameters:pars});

}



function copy(thediv) {
inElement = document.getElementById(thediv);
  if (inElement.createTextRange) {
    var range = inElement.createTextRange();
    if (range && BodyLoaded==1)
      range.execCommand('Copy');
  } else {
    var flashcopier = 'flashcopier';
    if(!document.getElementById(flashcopier)) {
      var divholder = document.createElement('div');
      divholder.id = flashcopier;
      document.body.appendChild(divholder);
    }
    document.getElementById(flashcopier).innerHTML = '';
    var divinfo = '<embed src="/YJ6/staff/_clipboard.swf" FlashVars="clipboard='+inElement.innerHTML+'" width="0" height="0" type="application/x-shockwave-flash"></embed>';
    document.getElementById(flashcopier).innerHTML = divinfo;
  }
}



function changeButton(id,btn1,btn2) {
var current = document.getElementById(id).src;
if (current == btn1)
document.getElementById(id).src = btn2;
else
document.getElementById(id).src = btn1;
}


function closeDiv(div) {
document.getElementById(div).style.display = "none";
}


function openCloseDiv(div) {
if (document.getElementById(div).style.display == 'none')
document.getElementById(div).style.display = "block";
else
document.getElementById(div).style.display = "none";
}


function submitFormValues(page)
{
var str = '';
var elem = document.getElementById('submissionForm').elements;
for(var i = 0; i < elem.length; i++)
{
if (elem[i].type == 'radio' || elem[i].type == 'checkbox')
	{
	if (elem[i].checked)
	str += elem[i].name +"YJSP"+elem[i].value+"YJCM";
	}
	else
	{
	str += elem[i].name +"YJSP"+elem[i].value+"YJCM";
	}
}

str = ued_encode(str);
var pars = "var1=form&var2="+str+"&page="+page;

var url = "/YJ6/getPage.php";

document.getElementById("pagecontent").innerHTML = "<br><br><br><img src =/images/progress_bar.gif width=190 height=14 border=0><br>processing now...";
new Ajax.Updater('pagecontent', url,{evalScripts:true, method:'post',parameters:pars});
}


function embedVideo(clip,close)
{
var div = "clip"+clip;
var url = "/YJ6/embedYouTube.php?clip="+clip+"&close="+close;
new Ajax.Updater(div, url,{evalScripts:true});
}

function popup(url, width, height)
{
	window.open(url.replace(/&amp;/g, '&'), '_popup', 'HEIGHT=' + height + ',resizable=yes,scrollbars=yes, WIDTH=' + width);
	return false;
}


function recordMediaVote(media_id,user_id) {
var sushis = document.getElementById('sushis').value;
var comments = document.getElementById('comments').value;
if (!sushis)
alert ("You must choose a rank.");
else
{
// alert (media_id + " ----> " + user_id + " ----> " + sushis + " ----> " + comments);
var pars = "page=recordvote&var1="+media_id+"&var2="+sushis+"&var3="+comments+"&var4="+user_id;
var url = "/YJ6/recordMediaVote.php";
new Ajax.Updater('voteform', url,{evalScripts:true, method:'get',parameters:pars});
}

}

function changePage(page,page_num) {
var junban = document.getElementById('junban').value;
var showtype =  document.getElementById('showtype').value;
var pars = "page="+page+"&var1="+junban+"&var2="+page_num+"&var3="+showtype;

var url = "/YJ6/getPage.php";
document.getElementById("pagecontent").innerHTML = "<br><br><br><img src =/images/progress_bar.gif width=190 height=14 border=0><br>loading page...";
new Ajax.Updater('pagecontent', url,{evalScripts:true, method:'post',parameters:pars});
}

function checkRadios(junban) {
if (junban)
var toSelect = "CHK"+junban;
else
var toSelect = "CHKnewest";

document.getElementById(toSelect).checked = "true";
}

function getPage(page,var1,var2,var3,var4,user_id,theuser,debug,looking) {
// alert(user_id);
var pars = "page="+page+"&var1="+var1+"&var2="+var2+"&var3="+var3+"&var4="+var4+"&theuser="+theuser+"&user_id="+user_id+"&debug="+debug+"&looking="+looking;
var url = "/YJ6/getPage.php";
document.getElementById("pagecontent").innerHTML = "<br><br><br><img src =/images/progress_bar.gif width=190 height=14 border=0><br>loading page...";
new Ajax.Updater('pagecontent', url,{evalScripts:true, method:'post',parameters:pars});
if (page == 'videos' && var3 == 'hl')
highlightSearchTerms(var2,'true');
}

function updateMediaCart(u_id,id,media_id,action) {
// alert (media_id + " ----> " + id + " ----> " + action);
var pars = "media_id="+media_id+"&action="+action+"&user_id="+u_id;
updateCartNumbers(u_id,action);
var url = "/YJ6/updateMediaCart.php";
new Ajax.Updater(id, url,{evalScripts:true, method:'post',parameters:pars});
}

function updateCartNumbers(u_id,action) {
var incart = document.getElementById("mycart").innerHTML;
if (action == 'REMOVE')
document.getElementById("mycart").innerHTML = parseInt(incart) - 1;

if (action == 'ADD')
document.getElementById("mycart").innerHTML = parseInt(incart) + 1;

}

function displayURL(url) {
new Ajax.Updater('pagecontent', url);
}

function calcHeight()
{
  //find the height of the internal page
  var the_height=document.getElementById('mainframe').contentWindow.document.body.scrollHeight;

  //change the height of the iframe
  document.getElementById('mainframe').height=the_height+100;
}

//ued_encode() will take an array as its argument and return the data encoded in UED format - as a string.
//http://www.openjs.com/scripts/data/ued_url_encoded_data/
function ued_encode(arr,current_index) {
	var query = ""
	if(typeof current_index=='undefined') current_index = '';

	if(typeof(arr) == 'object') {
		var params = new Array();
		for(key in arr) {
			var data = arr[key];
			var key_value = key;
			if(current_index) {
				key_value = current_index+"["+key+"]"
			}

			if(typeof(data) == 'object') {
				if(data.length) { //List
					for(var i=0;i<data.length; i++) {
						params.push(key_value+"[]="+ued_encode(data[i],key_value)); //:RECURSION:
					}
				} else { //Associative array
					params.push(ued_encode(data,key_value)); //:RECURSION:
				}
			} else { //String or Number
				params.push(key_value+"="+encodeURIComponent(data));
			}
		}
		query = params.join("&");
	} else {
		query = encodeURIComponent(arr);
	}

	return query;
}

var qstart = 0;
var sqstart = 0;
var cstart = 0;

function moreQuestions(updown,reset) {

if (reset == 1)
qstart = 0;
else
{
if (updown == 'down')
qstart = qstart - 10;
else
qstart = qstart + 10;
}

var div = 'questions';

var pars = "start="+qstart+"&ajax=1&remote_func=askTeacherQuestions";
var url = "/learn_japanese/AJAXfunctionsDEMO.php";

new Ajax.Updater(div, url,{method:'post',parameters:pars,onComplete: reloadMoreQuestions(qstart)});
}


function reloadMoreQuestions(qstart) {
if (qstart > 0)
{
	if (qstart > 10)
	document.getElementById("morequestions").innerHTML = "<a href = # onclick = \"moreQuestions('down',1);return false;\">first 10</a> | <a href = # onclick = \"moreQuestions('down',0);return false;\">back</a> | <a href = # onclick = \"moreQuestions('up','');return false;\">next 10</a>";
	else
	document.getElementById("morequestions").innerHTML = "<a href = # onclick = \"moreQuestions('down',0);return false;\">back</a> | <a href = # onclick = \"moreQuestions('up',0);return false;\">next 10</a>";
}
else
document.getElementById("morequestions").innerHTML = "<a href = # onclick = \"moreQuestions('up',0);return false;\">next 10</a>";

}



function moreSquestions(updown,reset) {

if (reset == 1)
sqstart = 0;
else
{
if (updown == 'down')
sqstart = sqstart - 10;
else
sqstart = sqstart + 10;
}

var div = 'squestions';

var pars = "start="+sqstart+"&type=student&ajax=1&remote_func=askTeacherQuestions";
var url = "/learn_japanese/AJAXfunctionsDEMO.php";
document.getElementById("moreSquestions").innerHTML = "<img src =/images/ajax_load.gif width=43 height=11 border=0><font color=#31659B> loading...</font>";

new Ajax.Updater(div, url,{method:'post',parameters:pars,onComplete: reloadMoreSquestions(sqstart)});
}

function reloadMoreSquestions(sqstart) {

if (sqstart > 0)
{
	if (sqstart > 10)
	document.getElementById("moreSquestions").innerHTML = "<a href = # onclick = \"moreSquestions('down',1);return false;\">first 10</a> | <a href = # onclick = \"moreSquestions('down',0);return false;\">back</a> | <a href = # onclick = \"moreSquestions('up');return false;\">next 10</a>";
	else
	document.getElementById("moreSquestions").innerHTML = "<a href = # onclick = \"moreSquestions('down',0);return false;\">back</a> | <a href = # onclick = \"moreSquestions('up',0);return false;\">next 10</a>";
}
else
document.getElementById("moreSquestions").innerHTML = "<a href = # onclick = \"moreSquestions('up',0);return false;\">next 10</a>";

}


function moreComments(updown,reset) {
if (reset == 1)
cstart = 0;

if (updown == 'down')
cstart = cstart - 10;
else
cstart = cstart + 10;

var display = 10;
var pars = "start="+cstart+"&display="+display+"&ajax=1&remote_func=recentComments";
var url = "/learn_japanese/AJAXfunctionsDEMO.php";
document.getElementById("comments").innerHTML = "<img src =/images/ajax_load.gif width=43 height=11 border=0><font color=#31659B> loading...</font>";
new Ajax.Updater('comments', url,{method:'post',parameters:pars,onComplete: reloadMoreComments(cstart)});
}


function reloadMoreComments(cstart) {
if (cstart > 0)
{
	if (cstart > 10)
	document.getElementById("morecomments").innerHTML = "<a href = # onclick = \"moreComments('down',1);return false;\">first 10</a> | <a href = # onclick = \"moreComments('down',0);return false;\">back</a> | <a href = # onclick = \"moreComments('up',0);return false;\">next 10</a>";
	else
	document.getElementById("morecomments").innerHTML = "<a href = # onclick = \"moreComments('down',0);return false;\">back</a> | <a href = # onclick = \"moreComments('up',0);return false;\">next 10</a>";
}
else
document.getElementById("morecomments").innerHTML = "<a href = # onclick = \"moreComments('up',0);return false;\">next 10</a>";
}


function goLite(BTN)
{
   document.getElementById(BTN).style.backgroundColor = "#D9D9D9";
}

function goDim(BTN)
{
   document.getElementById(BTN).style.backgroundColor = "#FFFFCC";
}


