var cookie_name		= 'tooltip_state';
var tooltip_state	= get_tooltip_state();
var marked_rows		= new Array();
var allowed_types	= new Array();
var mouseX, mouseY;
var ContextContent;

allowed_types['csv']	= true;

function mark ( ident ){
	if( typeof(marked_rows[ident]) != 'undefined' && marked_rows[ident] == ''){
		ident
	}
}
function colorme( ident ){
	if( typeof(marked_rows[ident]) == 'undefined' || marked_rows[ident] == 'not_active' ){
		ident.style.backgroundColor='#EEEEEE';
	}
}
function uncolorme( ident ){
	if( typeof(marked_rows[ident]) == 'undefined' || marked_rows[ident] == 'not_active' ){
		ident.style.backgroundColor='';
	}
}
function set_tooltip_state( state )
{
	if( state == 'on' )
	{
		setCookie(cookie_name, state, 7);
		document.getElementById('tooltip_statement').innerHTML = 'Tooltips sind: <a href="#" onFocus="this.blur();" onClick="set_tooltip_state(\'off\');">an<'+'/a>';
	}
	if( state == 'off' )
	{
		setCookie(cookie_name, state, 7);
		document.getElementById('tooltip_statement').innerHTML = 'Tooltips sind: <a href="#" onFocus="this.blur();" onClick="set_tooltip_state(\'on\');">aus<'+'/a>';
	}
	else
	{
		return false;
	}
}


function get_tooltip_state(){
	
	var cookie_state	= getCookie(cookie_name);
	
	if( cookie_state =='' )
	{
		return 'on';
	}
	else
	{
		return cookie_state;
	}
}

/// Quelle:  http://www.w3schools.com/JS/js_cookies.asp
function setCookie(c_name,value,expiredays)
{
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+
	((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function getCookie(c_name)
{
	if (document.cookie.length>0)
	  {
	  c_start=document.cookie.indexOf(c_name + "=");
	  if (c_start!=-1)
	    { 
	    c_start=c_start + c_name.length+1; 
	    c_end=document.cookie.indexOf(";",c_start);
	    if (c_end==-1) c_end=document.cookie.length;
	    return unescape(document.cookie.substring(c_start,c_end));
	    } 
	  }
	return "";
}

function checkFileConvention()
{
	var input = document.getElementById('uploadFileName');
	if( input )
	{
		var split	= input.value.split('.');
		var conv	= split[split.length-1];
		if( typeof allowed_types[conv] == 'undefined' )
		{
			alert('Die eingegebene Datei ist keine CSV Datei!');
			return false;
		}
		return true;
	}
	else
	{
		alert('Eingabefeld nicht gefunden.');
		return false;
	}
}

function editClassWindow(node)
{
	
	var URL = 'index?module=pre_show_administration&menu_id=ref_class_code_edit';
	if(node.value.length > 0)
	{
		URL += '&preselected='+node.value;
	}
	window.open( URL, 'classCodeEdit','width=600,height=800,scrollbar=yes,scroll=true,scroll=vertical,scroll=yes' );
}
if( typeof d == 'undefined' )
{
	var d = document;
}
function confirmDelete(id)
{
	var URL = '?module=pre_show_administration&menu_id=edit&id='+id+'&delete';
	var list= d.getElementsByName('name_');
	var name = '';
	if(list.length > 0)
	{
		for (var i=0; i<list.length; i++)
		{
			if(list[i].id == id)
			{
				name = list[i].innerHTML;
			}
		}
	}
	
	var a = confirm('Wirklich Startnummer '+id+' ( '+name+' ) loeschen?');
	if(a)
	{
		self.location.href = URL;
	}
}

function switchBoxCount( statement )
{
	var id	= d.getElementById('boxCount');
	if(id)
	{
		id.disabled	= statement;
	}
	else
	{
		alert('Fehler, Feld "Boxenanzahl" nicht gefunden!');
	}
}
function strpos( haystack, needle, offset){
    var i = (haystack+'').indexOf( needle, offset ); 
    return i===-1 ? false : i;
}
function checkCattleCharge(node)
{
	var cuttingClasses	= 'ACU CUT NPCPR';
	var cuttingList		= cuttingClasses.split(' ');
	var found = false;
	
	if(cuttingList.length > 0)
	{
		
		for ( var i = 0; i<cuttingList.length; i++)
		{
			if( node.value.indexOf( cuttingList[i] ) != -1 )
			{
				found = true;
			}
		}
	}
	
	if(found)
	{
		d.getElementsByName('CATTLE_CHARGE')[0].checked = true;
	}
	else
	{
		d.getElementsByName('CATTLE_CHARGE')[0].checked = false;
	}
}

function checkSendDate( formName, value )
{
	var searchTerm = /(\d){4}-(\d){2}-(\d){2}/i;
	if(searchTerm.test(value))
	{
		d.getElementsByName(formName)[0].submit();
	}
	else
	{
		alert('Das Format ist nicht JJJJ-MM-DD !');
	}
}

function OpenContext()
{
	if(ContextContent)
	{
		var cc	= d.getElementById('dcm');
		if( cc )
		{
			if(!mouseX || !mouseY)
			{
				getMousePos();
			}
			cc.innerHTML		= ContextContent;
			cc.style.position	= "absolute";
			cc.style.left		= (mouseX+20)+"px";
			cc.style.top		= (mouseY+20)+"px";
			cc.style.display	= "block";
			return false;
		}
		return true;
	}
	return true;
}

function CloseContext()
{
	d.getElementById('dcm').style.display = 'none';
}

function attachContextEvent()
{
	document.body.oncontextmenu = function(e)
	{
		return OpenContext();
	}
}
function initPos()
{
	
	document.addEventListener("mousemove",getMousePos,true);
	
}
function getMousePos(e)
{
	if (!e)
		var e = window.event||window.Event;
	
	if('undefined'!=typeof e.pageX)
	{
		mouseX = e.pageX;
		mouseY = e.pageY;
	}
	else
	{
		mouseX = e.clientX + document.body.scrollLeft;
		mouseY = e.clientY + document.body.scrollTop;
	}

}
document.addEventListener('load',initPos,true);


function selectClass( classID )
{
	var TR	= d.getElementsByName(classID)[0];
	if(TR)
	{
		var cb = TR.getElementsByTagName('input')[0];
		var checked = cb.checked;
		if(checked)
		{
			TR.style.backgroundColor	= TR.title;
			cb.checked	= false;			
		}
		else
		{
			TR.style.backgroundColor	= '#FFCC99';
			cb.checked = true;
		}
	}
}

function uncheckAll()
{
	var form	= document.mainForm;
	var list	= form.getElementsByTagName('input');
	if( list.length > 0 )
	{
		for (var i=0; i<list.length; i++)
		{
			if(list[i].type=='checkbox')
				list[i].checked = false;
		}
	}
}

function getMainForm()
{
	return	document.getElementsByName('mainForm')[0];
}

function printSelectedClasses()
{
	var form	= getMainForm();
	form.action	= '?module=show_administration&menu_id=print';
	form.target	= '_printWindow';
	form.submit();
}

function mergeSelectedClasses()
{
	var form	= getMainForm();
	form.action	= '?module=show_administration&menu_id=merge';
	form.target	= '_self';
	form.submit();
}

function enterPlacingSelectedClasses()
{
	var form	= getMainForm();
	form.action	= '?module=show_administration&menu_id=print&enterPlacing=1&noAutoPrint';
	form.target	= '_self';
	form.submit();
}

function unsetClass(node,numCol)
{
	var c = confirm(node.id+' doch nicht mit zusammenlegen?');
	if(c)
	{
		var table	= node.parentNode;
		var tr		= node;
		var new_tr	= d.createElement('tr');
		for(var i = 0; i<numCol; i++)
		{
			var temp	= d.createElement('td');
			temp.appendChild(d.createTextNode('-del-'));
			new_tr.appendChild(temp);
			delete temp;
		}
		table.replaceChild(new_tr,tr);
	}
}

function submitMerge()
{
	var c	= confirm('Klassen wirklich zusammenlegen? Diese Aktion kann nicht rueckgaengig gemacht werden!');
	if(c)
	{
		d.getElementsByName('mergeForm')[0].submit();
	}
}

function addClassWindow(topID)
{
	var URL	= '?module=pre_show_administration&menu_id=addClassWindow&topID='+topID;
	window.open(URL, 'addClassWindow','width=400,height=200');
}

function closeReloadOpener()
{
	window.opener.location.reload();
	window.close();
}

function splitClassPrompt(classID)
{
	var c	= prompt('In wieviele Klassen moechtest Du '+classID+' splitten?');
	if(c>0)
	{
		var URL	= '?module=show_administration&menu_id=split&classID='+classID+'&sNum='+c;
		self.location.href = URL;
	}
}

function sVal(sObj) {
    with(sObj)
    {
    	var sel	= selectedIndex;
    	if(sel == -1)
    	{
    		return '';
    	}
    	return options[sel].value;
    }
	//options[selectedIndex].value;
}

function checkSplitSubmit()
{
	var list	= document.getElementsByTagName('select');
	
	var allSet	= true;
	for(var i=0;i<list.length;i++)
	{
		if(sVal(list[i]).length < 1)
		{
			allSet	= false;
		}
	}
	
	if(allSet)
	{
		var a	= confirm('Wirklich splitten? Diese Aenderung kann nicht rueckgaengig gemacht werden.');
		if(a)
		{
			document.getElementsByTagName('splitForm').submit();
		}
	}
	else
	{
		alert('Nicht alle Starter wurden zugewiesen!');
	}
}

function openPayWindow( applicationID )
{
	var URL = '?module=calculation&menu_id=registerPayment&id='+applicationID;
	window.open(URL, 'registerPayment','width=400,height=200');
}

function getSelectedCount()
{
	var list	= d.getElementsByName('selected[]');
	if(list)
	{
		var count	= 0;
		for(var i=0; i<list.length; i++)
		{
			if(list[i].checked)
			{
				count++;
			}
		}
		return count;
	}
	return 0;
}
function printSelectedJudgeCards()
{
	if(getSelectedCount()>0)
	{
		var form	= getMainForm();
		form.target	= '_judgeCardViewPort';
		form.action	= '?module=show_administration&menu_id=printJudgeCards';
		form.submit();
	}
	else
	{
		alert('Keine Klassen ausgewaehlt!');
	}
}

function printAllJudgeCards()
{
	window.open('?module=show_administration&menu_id=printJudgeCards','_judgeCardViewPort');
}

function returnSendNomination()
{
	var d = document;
	var bday	= d.getElementsByName('VORST_GEB')[0];
	var email	= d.getElementsByName('VORST_EMAIL')[0];
	if(email.value.length < 2 || bday.value.length < 2)
	{
		alert( 'Please enter all fields marked with a * !');
		return false;
	}
	return true;
}

