// JavaScript Document
function submitForm(form){
  document.getElementById(form).submit();
}

function data_change(input){
  var field = document.getElementById(input);
  var check = true;
  var value = field.value;
	
	// correct Not A Number values to numbers
  	for(var i=0;i < field.value.length; ++i){
        var new_key = value.charAt(i); 
        if(((new_key < "0") || (new_key > "9")) && 
        !(new_key == "")){
        check = false;
        break;
        }
  	}
	
	if(!check){
	  var chars = field.value.length-1;
	  var new_value = field.value;
	  field.value = new_value.substr(0,chars);
	}
	
	if(input == "day"){
		if(value > 31 || value < 1){
			field.value = "0";
		}
	} else if (input == "month"){
		if(value > 12 || value < 1){
			field.value = "0";
		}
	} else if (input == "year"){
		if(value > 2100 || value < 1){
			field.value = "";
		}
	}
}
function MM_openBrWindow(theURL,winName,features) { //v2.0 URL, window name, 'resizable=yes,scrolling=auto,width=450,height=400'
  window.open(theURL,winName,features);
}

function addTagsToSelection(start,end) {
	var startTag 	= start;
	var endTag		= end;
	
	theSelection = document.selection.createRange().text;
   	if (!theSelection)
    	return false;
	if (document.selection.createRange().parentElement().tagName != 'TEXTAREA')
		return false;
	document.selection.createRange().text = startTag + theSelection + endTag;
}

function insertValueToArea(value) { // needs a form in which the an element is called main 
    var myQuery = document.forms[0].main;
	var myLink = value;

    if(myLink != "") {
        var chaineAj = "";
        chaineAj += myLink;

        //IE support
        if (document.selection) {
            myQuery.focus();
            sel = document.selection.createRange();
            sel.text = chaineAj;
            myQuery.focus();
        }
        //MOZILLA/NETSCAPE support
        else if (myQuery.selectionStart || myQuery.selectionStart == "0") {
            var startPos = myQuery.selectionStart;
            var endPos = myQuery.selectionEnd;
            var chaineSql = myQuery.value;

            myQuery.value = chaineSql.substring(0, startPos) + chaineAj + chaineSql.substring(endPos, chaineSql.length);
        } else {
            myQuery.value += chaineAj;
        }
    }
}

function selectChunk() { // Needs a form with three radio buttons named 'chunk' and values: character, word, sentence
    var chunk, range
    var x = window.event.clientX
    var y = window.event.clientY

    for (var i = 0; i < document.forms[0].chunk.length; i++) {
        if (document.forms[0].chunk[i].checked) {
            chunk = document.forms[0].chunk[i].value
            break    
        }
    }
    if (window.event.srcElement.parentTextEdit) {
        range = window.event.srcElement.parentTextEdit.createTextRange()
        range.collapse()
        range.moveToPoint(x, y)
        range.expand(chunk)
        range.select()
    }
}

// Function for open close div
function divBoxOpen(divBoxID) {
	document.getElementById('divOpen_' + divBoxID).style.display = "inline";
	document.getElementById('divClose_' + divBoxID).innerHTML="<a href=\"javascript:divBoxClose('" + divBoxID + "');\"><img src='img/tree-doc-plus.gif'></a>";
}
function divBoxClose(divBoxID) {
	document.getElementById('divOpen_' + divBoxID).style.display = "none";
	document.getElementById('divClose_' + divBoxID).innerHTML="<a href=\"javascript:divBoxOpen('" + divBoxID + "');\"><img src='img/tree-doc-plus.gif'></a>";
}

// Functions for open close menu divs
// Copyright 2006-2007 javascript-array.com
var timeout	= 500;
var closetimer	= 0;
var ddmenuitem	= 0;
// open hidden layer
function mopen(id)
{	
	// cancel close timer
	mcancelclosetime();
	// close old layer
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
	// get new layer and show it
	ddmenuitem = document.getElementById(id);
	ddmenuitem.style.visibility = 'visible';
}
// close showed layer
function mclose()
{
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}
// go close timer
function mclosetime()
{
	closetimer = window.setTimeout(mclose, timeout);
}
// cancel close timer
function mcancelclosetime()
{
	if(closetimer)
	{
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}
// close layer when click-out
document.onclick = mclose; 


// Functions for menu bar and admin menu
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
