//Javascript functions
//@author: 		Christian Budde
//@version:	0.x

//function for the creation of a new character. controls the text fields
function changeValue(obj, type, field, val, sumval)
{
	if(type == 'up')
	{
		if(Number(val) < 150 && Number(sumval) < 100)
		{
			val = Number(val) + 1;
			sumval = Number(sumval) + 1;
		}
	}
	else
	{
		if(Number(val) > 50)
		{
			val = Number(val) - 1;
			sumval = Number(sumval) - 1;
		}
	}
	document.character.elements[field].value = val;
	obj.form.sum.value = sumval;
}

function dchangeValue(obj,field,val,oldval,sumval)
{
	sumval = parseInt(sumval);
	val = parseInt(val);
	oldval = parseInt(oldval);
	
	if(val > 150)
	{
		val = 150
		document.character.elements[field].value = val;		
	}
	else if(val < 50)
	{
		val = 50
		document.character.elements[field].value = val;	
	}
	
	obj.form.sum.value = sumval + val - oldval;
}

function changeoldValue(dest,val)
{
	if(val > 150)
	{
		val = 150;
	}
	else if(val < 50)
	{
		val = 50;
	}
	document.character.elements[dest].value = val;
}

//if only tai is selected/unselected during the character creation, set some fields with fix values.
function onlyTai(obj)
{
	if(obj.value == 'Tai')
	{
		obj.form.nin.style.backgroundColor="lightgrey";
		obj.form.gen.style.backgroundColor="lightgrey";
		obj.form.tai.style.backgroundColor="lightgrey";
		obj.form.chakra.style.backgroundColor="lightgrey";
		obj.form.wis.style.backgroundColor="lightgrey";
		obj.form.js.style.backgroundColor="lightgrey";
		obj.form.nin.style.border="2px inset lightgrey";
		obj.form.gen.style.border="2px inset lightgrey";
		obj.form.tai.style.border="2px inset lightgrey";
		obj.form.chakra.style.border="2px inset lightgrey";
		obj.form.wis.style.border="2px inset lightgrey";
		obj.form.js.style.border="2px inset lightgrey";
		obj.form.nin.value="0";
		obj.form.gen.value="0";
		obj.form.tai.value="200";
		obj.form.chakra.value="50";
		obj.form.str.value="125";
		obj.form.def.value="125";
		obj.form.dex.value="125";
		obj.form.wis.value="100";
		obj.form.js.value="0"
		obj.form.rf.value="125";
		obj.form.con.value="125";
		obj.form.sum.value="100";
		obj.form.nin.disabled="disabled";
		obj.form.gen.disabled="disabled";
		obj.form.tai.disabled="disabled";
		obj.form.chakra.disabled="disabled";
		obj.form.wis.disabled="disabled";
		obj.form.js.disabled="disabled";
		obj.form.nin_up.disabled="disabled";
		obj.form.gen_up.disabled="disabled";
		obj.form.tai_up.disabled="disabled";
		obj.form.wis_up.disabled="disabled";
		obj.form.js_up.disabled="disabled";
		obj.form.chakra_up.disabled="disabled";
		obj.form.nin_down.disabled="disabled";
		obj.form.gen_down.disabled="disabled";
		obj.form.tai_down.disabled="disabled";
		obj.form.wis_down.disabled="disabled";
		obj.form.js_down.disabled="disabled";
		obj.form.chakra_down.disabled="disabled";
	}
	else
	{
		obj.form.nin.style.backgroundColor="white";
		obj.form.gen.style.backgroundColor="white";
		obj.form.tai.style.backgroundColor="white";
		obj.form.chakra.style.backgroundColor="white";
		obj.form.wis.style.backgroundColor="white";
		obj.form.js.style.backgroundColor="white";
		obj.form.str.style.backgroundColor="white";
		obj.form.nin.style.border="1px solid lightgrey";
		obj.form.gen.style.border="1px solid lightgrey";
		obj.form.tai.style.border="1px solid lightgrey";
		obj.form.chakra.style.border="1px solid lightgrey";
		obj.form.wis.style.border="1px solid lightgrey";
		obj.form.js.style.border="1px solid lightgrey";
		obj.form.nin.value="100";
		obj.form.gen.value="100";
		obj.form.tai.value="100";
		obj.form.chakra.value="100";
		obj.form.str.value="100";
		obj.form.def.value="100";
		obj.form.dex.value="100";
		obj.form.wis.value="100";
		obj.form.js.value="100";
		obj.form.rf.value="100";
		obj.form.con.value="100";
		obj.form.sum.value="100";
		obj.form.nin.disabled="";
		obj.form.gen.disabled="";
		obj.form.tai.disabled="";
		obj.form.chakra.disabled="";
		obj.form.wis.disabled="";
		obj.form.js.disabled="";
		obj.form.nin_up.disabled="";
		obj.form.gen_up.disabled="";
		obj.form.tai_up.disabled="";
		obj.form.wis_up.disabled="";
		obj.form.js_up.disabled="";
		obj.form.chakra_up.disabled="";
		obj.form.nin_down.disabled="";
		obj.form.gen_down.disabled="";
		obj.form.tai_down.disabled="";
		obj.form.wis_down.disabled="";
		obj.form.js_down.disabled="";
		obj.form.chakra_down.disabled="";
	}
	
	if(obj.value == 'Inuzuka_1')
	{
		document.getElementById("trdog1").style.display="table-row";
		document.getElementById("trdog2").style.display="none";
	}
	else if(obj.value == 'Inuzuka_2')
	{
		document.getElementById("trdog1").style.display="table-row";
		document.getElementById("trdog2").style.display="table-row";
	}
	else
	{
		document.getElementById("trdog1").style.display="none";
		document.getElementById("trdog2").style.display="none";
	}
}

function loadTemplate(obj)
{
	if(obj.value == 'nin')
	{
		obj.form.nin.value="150";
		obj.form.gen.value="50";
		obj.form.tai.value="50";
		obj.form.chakra.value="150";
		obj.form.str.value="50";
		obj.form.def.value="100";
		obj.form.dex.value="50";
		obj.form.wis.value="150";
		obj.form.js.value="150";
		obj.form.rf.value="100";
		obj.form.con.value="100";
		obj.form.sum.value="100";
	}
	else if(obj.value == 'gen')
	{
		obj.form.nin.value="50";
		obj.form.gen.value="150";
		obj.form.tai.value="50";
		obj.form.chakra.value="150";
		obj.form.str.value="50";
		obj.form.def.value="125";
		obj.form.dex.value="50";
		obj.form.wis.value="150";
		obj.form.js.value="100";
		obj.form.rf.value="125";
		obj.form.con.value="100";
		obj.form.sum.value="100";
	}
	else if(obj.value == 'tai')
	{
		obj.form.nin.value="50";
		obj.form.gen.value="50";
		obj.form.tai.value="150";
		obj.form.chakra.value="75";
		obj.form.str.value="150";
		obj.form.def.value="100";
		obj.form.dex.value="150";
		obj.form.wis.value="75";
		obj.form.js.value="50";
		obj.form.rf.value="100";
		obj.form.con.value="150";
		obj.form.sum.value="100";
	}
	else if(obj.value == 'nintai')
	{
		obj.form.nin.value="100";
		obj.form.gen.value="50";
		obj.form.tai.value="100";
		obj.form.chakra.value="125";
		obj.form.str.value="100";
		obj.form.def.value="100";
		obj.form.dex.value="110";
		obj.form.wis.value="100";
		obj.form.js.value="110";
		obj.form.rf.value="100";
		obj.form.con.value="105";
		obj.form.sum.value="100";
	}
	else if(obj.value == 'ningen')
	{
		obj.form.nin.value="100";
		obj.form.gen.value="100";
		obj.form.tai.value="50";
		obj.form.chakra.value="150";
		obj.form.str.value="50";
		obj.form.def.value="100";
		obj.form.dex.value="50";
		obj.form.wis.value="150";
		obj.form.js.value="150";
		obj.form.rf.value="100";
		obj.form.con.value="100";
		obj.form.sum.value="100";
	}
	else if(obj.value == 'gentai')
	{
		obj.form.nin.value="50";
		obj.form.gen.value="100";
		obj.form.tai.value="100";
		obj.form.chakra.value="125";
		obj.form.str.value="125";
		obj.form.def.value="100";
		obj.form.dex.value="125";
		obj.form.wis.value="125";
		obj.form.js.value="50";
		obj.form.rf.value="100";
		obj.form.con.value="100";
		obj.form.sum.value="100";
	}
	else if(obj.value == 'all')
	{
		obj.form.nin.value="100";
		obj.form.gen.value="100";
		obj.form.tai.value="100";
		obj.form.chakra.value="100";
		obj.form.str.value="100";
		obj.form.def.value="100";
		obj.form.dex.value="100";
		obj.form.wis.value="100";
		obj.form.js.value="100";
		obj.form.rf.value="100";
		obj.form.con.value="100";
		obj.form.sum.value="100";
	}

}

//displays dialog box (e.g. for the notification of a new private message
function confirmation(text)
{
  if(confirm(text))
  {
	return true;
  }
  else
  {
	return false;
  }
}

// Function to display further data
function switchlayer(Layer_Name){
  var GECKO = document.getElementById? 1:0 ;
  var NS = document.layers? 1:0 ;
  var IE = document.all? 1:0 ;

  if (GECKO)
       {document.getElementById(Layer_Name).style.display=
	   (document.getElementById(Layer_Name).style.display=='block') ? 'none' : 'block';}
  else if (NS)
       {document.layers[Layer_Name].display=(document.layers[Layer_Name].display==
	   'block') ? 'none' : 'block';}
	
  else if (IE)
       {document.all[Layer_Name].style.display=(document.all[Layer_Name].style.display==
	   'block') ? 'none' : 'block';}
}

function zoompic(id,scale)
{
	if(scale == 'grow')
	{
		new Effect.Scale(id, 200);
		document.getElementById( id ).onclick = new Function("zoompic('"+id+"','shrink')");
	}
	else
	{
		new Effect.Scale(id, 50);
		document.getElementById(id).onclick = new Function("zoompic('"+id+"','grow')");
	}

	
}

//AJAX functions  
var url1 = "pm_read.php";
var req;
//initialise AJAX. check if the browser supports AJAX
function meinAjaxInit() 
{
	try 
	{
		if( window.XMLHttpRequest ) 
		{
			req = new XMLHttpRequest();
        } 
		else if( window.ActiveXObject ) 
		{
			req = new ActiveXObject( "Microsoft.XMLHTTP" );
        } 
		else 
		{
			alert( "Your Browser does not support AJAX" );
        }
        if( req.overrideMimeType ) 
		{
            req.overrideMimeType( 'text/xml' );
        }
    } 
	catch( e ) 
	{
		alert( "Fehler: " + e );
    }
}
	
//open the url which includes further code and call meineCallbackFkt
function meinAjaxAufruf(textval, para, url0) 
{
    if( req ) 
	{
        var comtext = document.getElementById( textval );
        var url = url0 + "?ajax=1" + para;
        req.open( "POST", url, true );
		req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        req.onreadystatechange = new Function ('fx', 'meineCallbackFkt("'+textval+'")');
		comtext = comtext.innerHTML.replaceAll("+","&#043;");
        req.send( 'text='+ escape( comtext));

    }
}
	//get the response from the opened url and put it into the document
function meineCallbackFkt(textval) 
{
    if( 4 == req.readyState ) 
	{
        if( 200 != req.status ) 
		{
			alert( "Fehler " + req.status + ": " + req.statusText );
        } 
		else 
		{
			ergebnis = req.responseText;
			document.getElementById( textval ).innerHTML = ergebnis;
        }
    }
}
	
function pmread(pnid)
{
	if( req ) 
	{
		var comtext = document.getElementById(pnid);
		var url = url1 + "?text=" + escape( comtext.value )
		req.open( "POST", url, true );
        req.send( null );
		document.getElementById('unread_s'+comtext.value).className = '';
		//document.getElementById('unread_e'+comtext.value).class = "";
    }
}
		
function CheckSubSys(env_cd, srv_cd)
{
    var url = "ajax.php?file=modules/hot/checkSubSys.php&srv_cd=" + srv_cd + "&env_cd=" + env_cd;
	var req = null;	
	function CallbackFunction()
	{
	    if( 4 == req.readyState)
	    {
	        if( 200 != req.status )
	        {
	            alert( "Error " + req.status + ": " + req.statusText );
	        }
	        else
	        {
                var ret = req.responseText;
				document.getElementById(srv_cd).innerHTML = '';
				document.getElementById(srv_cd).innerHTML = ret;
	        }
	    }
	}
	
	function Initialisation()
	{
	    try 
	    {
	        if( window.XMLHttpRequest )
	        {
	            req = new XMLHttpRequest();
	        }
	        else if( window.ActiveXObject )
	        {
	            req = new ActiveXObject( "Microsoft.XMLHTTP" );
	        }
	        else
	        {
	            alert( "Your browser does not support Ajax!" );
	        }
	    } 
	    catch( e )
	    {
	        alert( "Error: " + e );
	    }
	}
	
	Initialisation();
	if( req )
	{
	    req.onreadystatechange = CallbackFunction;
	    req.open( "POST", url, true );
		req.send( null );
	}
}

function Train_Slider(slider_id,field1_id,field2_id, r_value_id)
{
    var slider  = $(slider_id),
		field1  = $(field1_id),
		field2  = $(field2_id),
		r_value = $(r_value_id);

    new Control.Slider(slider.down('.handle'), slider, {
      range: $R(15, 85),
      sliderValue: field2.value,
	  onSlide: function(value){
		//field1.value = Math.round(((100 - value) * (max_train * 2) / 100) * 10000) / 10000;
		field1.value = Math.round(100 - value);
		field2.value = Math.round(value);
		r_value.value = Math.round(value);
	  },	
      onChange: function(value) { 
		field1.value = Math.round(100 - value);
		field2.value = Math.round(value);
		r_value.value = Math.round(value);
      }
    });
}
