﻿// ANFANG AJAXCFC JAVASCRIPT ////////////////////////////////////////////////////////////////////////////////////
function doQueryEntity(idvar)	
{
	var useValue = idvar.split("|");
	id = useValue[0];
	
	// send data to CF
	DWRUtil.useLoadingMessage();
	DWREngine._execute(_ajaxConfig._cfscriptLocation, null, 'doQueryEntity', id, doQueryAndJSResults);
}

function doQueryTags(abc)	
{
	// send data to CF
	DWRUtil.useLoadingMessage();
	DWREngine._execute(_ajaxConfig._cfscriptLocation, null, 'doQueryTags', abc, doQueryAndJSResults);
}

// call back function
function doQueryAndJSResults (r)
{
	// evaluate server side JS
	eval(r);
}
// ENDE AJAXCFC JAVASCRIPT //////////////////////////////////////////////////////////////////////////////////////

// ANFANG STANDARD JAVASCRIPT ///////////////////////////////////////////////////////////////////////////////////
function setTR()
{	
	var ind = document.getElementsByName('varObjectSelect')[0].selectedIndex;
	index = document.getElementsByName('varObjectSelect')[0].options[ind].value
	
	// Einfüge Button ausgeschalten, Anzahl Feld einschalten und wert von Anzahl löschen
	document.getElementById('insertBt').disabled = true;	
	document.getElementById('Anzahl').value = null;
	document.getElementById('anzahltd1').style.visibility = 'visible';
	document.getElementById('anzahltd2').style.visibility = 'visible';
	// TR für Entity und Selectbox (Bild, Video) ausschalten
	document.getElementById('RelationTR').style.visibility = 'hidden';
	document.getElementById('relationtd').style.visibility = 'hidden';
		
	// 8=Bildergalerie, 9=Screenshot, 10=ArtkelTeasermitBildgroß (PCG), 11=ArtkelTeasermitVideo (PCG), 61=ArtkelTeasermitBildgroß (VGZ), 62=ArtkelTeasermitVideo (VGZ)
	if ((index == 8) || (index == 9) || (index == 10) || (index == 11) || (index == 52) || (index == 61) || (index == 62))
	{
		// TR für Entity und Selectbox (Bild, Video) einschalten 
		document.getElementById('RelationTR').style.visibility = 'visible';
		
		// Entity Checkbox ein bzw. aus Schalten
		if ((index==8) || (index ==9))
		{
			document.getElementById('relationtd').style.visibility = 'visible';
		}
		
		// Video-Selectbox ein, bzw. aus schalten 11 - PCG, 62 - VGZ
		if ((index == 11) || (index ==52) || (index ==62))
		{
			document.getElementById('vidoetd').style.display = 'inline';
			document.getElementById('bildtd').style.display = 'none';
		}
		if ((index != 11) && (index !=52) && (index !=62))
		{
			document.getElementById('vidoetd').style.display = 'none';
			document.getElementById('bildtd').style.display = 'inline';	
		}
		
		// Anzahl Feld ausblenden und wert von Anzahl auf 1 setzen
		if ((index == 9) || (index == 10) || (index == 11) || (index == 52) || (index == 61) || (index == 62))
		{
			enableBt('insertBt');
			document.getElementById('Anzahl').value = 1;
			document.getElementById('anzahltd1').style.visibility = 'hidden';
			document.getElementById('anzahltd2').style.visibility = 'hidden';
		}
	}
}

function checkBox()
{
	if(document.getElementById('varRelation').disabled == false)
		document.getElementById('varRelation').disabled = true;
	else
		document.getElementById('varRelation').disabled = false;
}

function listComplete(feld, sel_id)
{
	myValfeld = document.getElementById(feld + '_val');
	var idlist = "," + myValfeld.value;
	var suche = "," + sel_id + ",";
	var erg = idlist.indexOf(suche);	
	
	return erg;
}

// Einfügen der Auswahl in Selectbox
function ChangeSelectField(whatfield,whatvalue)
{
	var useValue = whatvalue.split("|");
	var id = useValue[0];
	var name = useValue[1];	
		
	if ((whatfield == 'varMoreEntities') || (whatfield == 'varTags'))
	{
		if (id != 0)
		{	
			gefunden = listComplete(whatfield, id);
			if (gefunden == -1)
			{
				var laenge = document.getElementById(whatfield).length;
				if (laenge < 100)
				{
					document.getElementById(whatfield).options[laenge] = new Option(name, id);
					var opt = document.getElementById(whatfield + '_val').value;
					if (Right(opt, 1) == ',')
						document.getElementById(whatfield + '_val').value = opt + id + ',';
					else	
						document.getElementById(whatfield + '_val').value = opt + ',' + id + ',';
				}
			}
			else
			{
				alert('Der Eintrag ist bereits vorhanden!');
			}
		}
	}
	else
	{
		if (id != 0)
		{
			document.getElementById(whatfield).value = name;
			document.getElementById(whatfield + '_val').value = id;
			document.getElementById('DoAdditionalEntity').disabled = false;
		}
	}
	
	return true;
}

// Standardfunktion Right(string, count)
function Right(str, n)
{
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}

// Schaltet diverse Buttons ein
function enableBt(name)
{
	if (name == 'varTags')
	{
		if (document.getElementById('varTags').length != 0)
			document.getElementById('delTags').disabled = false;	
	}
	else if (name == 'insertBt')
	{	
		document.getElementById('insertBt').disabled = false;	
	}
	else if (name == 'changeBt')
	{	
		document.getElementById('changeBt').disabled = false;	
	}
	else if (name == 'DoPrimaryEntity')
	{	
		document.getElementById('delPrimEntity').disabled = false;	
	}
	else
	{
		if (document.getElementById('varMoreEntities').length != 0)
			document.getElementById('delEntity').disabled = false;	
	}
}

// Löscht die Entities
function delSelectEntrys(btname,varFormField)
{
	if(varFormField == 1) 
	{	
		myfeld = document.getElementById('varMoreEntities');
		myValfeld = document.getElementById('varMoreEntities_val');
		myBt = document.getElementById('delEntity');
	}
	if(varFormField == 2) 
	{
		myfeld = document.getElementById('varTags');
		myValfeld = document.getElementById('varTags_val');
		myBt = document.getElementById('delTags');
	}
	
	var ind = myfeld.selectedIndex;
	var selind = myfeld.options[ind].value;
	var useValue = selind.split("|");
	var sel_id = useValue[0];
	var sel_name = useValue[1];	
	
	//komma vor die VariablenListe setzen fuer genauere suche
	var idlist = "," + myValfeld.value;
	//suchstring zusammen setzen
	var suche = "," + sel_id + ",";
	//position des suchstrings in der Variable finden
	var pos = idlist.indexOf(suche);
	//Selected Value aus der Variable entfernen
	idlist1 = idlist.substring(0, pos);
	idlist2 = idlist.substring(pos+suche.length-1, idlist.length);
	idlist = idlist1 + idlist2;
	//komma vorne abschneiden
	idlist = idlist.substring(1, idlist.length);
	//Wert in die Variable schreiben
	myValfeld.value = idlist;
	//Option loeschen
	myfeld.options[ind] = null;
	//Delete Button disabelen
	myBt.disabled = true;	
	
}

// Löscht das Feld Primärentität
function delPrimeEntrys()
{
	myfeld = document.getElementById('varPrimaryEntity');
	myValfeld = document.getElementById('varPrimaryEntity_val');
	myfeld.value = null;
	myValfeld.value = 0;
	document.getElementById('delPrimEntity').disabled = true;	
}

// öffnet Javascript Fenster
var fenster1;
function popUpVorschau(boxid, col, mywidth, sub)
{	
	var scriptwidth = mywidth + 30
	var myleft = window.screenX + 455 +3;
	if (window.screenX == undefined)
		myleft = window.screenLeft + 455 +3;
	var mytop = window.screenY;
	if (window.screenY == undefined)
		mytop = window.screenTop - 20;
	var Fensteroptionen = "toolbar=0,scrollbars=1,location=0,status=0,menubar=0,resizable=0,";
	var CurTopic = "/?menu=vorschau&s=Vorschau&BoxID=" + boxid + "&col=" + col +"&mywidth=" + mywidth + "&sub=" + sub;
	var WinPos = "width=" + scriptwidth + ", height=580, left=" + myleft + ", top=" + mytop; 

	fenster1 = window.open(CurTopic , "Vorschau", Fensteroptionen + WinPos);
}	

function closeWindow()
{
	if (fenster1 && !fenster1.closed)
	{
		fenster1.close();
	}
}

// Prüft das Eingabefeld auf Seite 2 auf richtigkeit
function chekField(feld)
{
	var nowVal = document.getElementById(feld).value;
	
	if (nowVal != '')
	{
		var regExpZahl = /^((\d+(,\d*)?)|((\d*,)?\d+))$/

		if(!regExpZahl.test(nowVal))
		{
			document.getElementById(feld).value = '';
			disableBt(feld);
			alert('Bitte geben Sie eine Zahl ein!');
		}
		else 
		{
			if (nowVal==0)
			{
				document.getElementById(feld).value = '';
				disableBt(feld);
				alert('Die Zahl darf nicht 0 sein!');
			}
			else
			{
				document.getElementById(feld).value = parseInt(nowVal);
				if (feld == 'Anzahl')
					document.insertForm.submit();	
				else if (feld == 'AnzahlCh')
					document.anzChange.submit();	
				else
					document.insertPos.submit();	
			}
		}
	}
}

// Schaltet den einfügebutton auf Seite 2 aus
function disableBt(name)
{
	var nowVal = document.getElementById(name).value;
	if (nowVal == '')
		document.getElementById('insertBt').disabled = true;	
}

// Prüft welche Buttons ein bzw. Ausgeschalten werden (Löschen, Up, Down auf Seite 2)
function checkButtons()
{
	var ind = document.getElementsByName('objectoutput')[0].selectedIndex;
	
	if(document.getElementById('objectoutput').length > 1)
	{
		// Schaltet den Delete Button ein
		document.getElementById('delBt').disabled = false;
		
		var laenge = document.getElementById('objectoutput').length - 1;
		
		if(ind == 0)
		{
			document.getElementsByName('upBt')[0].disabled = true;
			document.getElementsByName('downBt')[0].disabled = false;
		}
		else if (ind == laenge)
		{
			document.getElementsByName('downBt')[0].disabled = true;
			document.getElementsByName('upBt')[0].disabled = false;
		}
		else
		{
			document.getElementsByName('upBt')[0].disabled = false;
			document.getElementsByName('downBt')[0].disabled = false;
		}
	}
	if(document.getElementById('objectoutput').length == 1)
		// Schaltet den Delete Button ein
		document.getElementById('delBt').disabled = false;

	// TH - check ob der User eine Spiele-Watchlist oder -Countdown angeklickt hat -> Bearbeiten-Button enablen/disablen
	if(document.actionForm.objectoutput[ind].text == "Spiele-Watchlist" || document.actionForm.objectoutput[ind].text == "Spiele-Countdown"){
		document.getElementById('editBt').disabled = false;
		document.EditForm.action = document.EditForm.action + document.actionForm.objectoutput[ind].text;
	}
	else{
		document.getElementById('editBt').disabled = true;		
	}
}

// Manipulation des Scrollens für Selectboxenpaar auf Seite 2 
function horScroll()
{
	document.getElementById('objectoutput').scrollTop = document.getElementById('anzahloutput').scrollTop;
}

// Mouse Select für Selectboxenpaar auf Seite 2
function selectSelect(von)
{
	var object = document.getElementsByName('objectoutput')[0];
	if(object.length != 0)
	{
		if (von == 1)
		{
			var ind = document.getElementsByName('objectoutput')[0].selectedIndex;
			var anzahl = document.getElementsByName('anzahloutput')[0];
			anzahl.options[ind].selected = true;
		}
		else 
		{
			var ind = document.getElementsByName('anzahloutput')[0].selectedIndex;
			object.options[ind].selected = true ;
		}
	}
}

// Tastatur Select für Selectboxenpaar auf Seite 2
function selectKey(taste, zahl)
{
	if (zahl == 1)
	{
		var ind = document.getElementsByName('anzahloutput')[0].selectedIndex;
		var sel = document.getElementsByName('anzahloutput')[0];
		var sel2 = document.getElementsByName('objectoutput')[0];
	}
	else
	{
		var ind = document.getElementsByName('objectoutput')[0].selectedIndex;
		var sel = document.getElementsByName('objectoutput')[0];
		var sel2 = document.getElementsByName('anzahloutput')[0];
	}
	
	if (taste == 40 | taste == 38)
	{
		if (taste == 40)
		{
			if (sel2.selectedIndex != (sel2.length-1) & (sel.selectedIndex != 0))
				ind2 = sel2.selectedIndex + 1;
		}
		else
		{
			if ((sel2.selectedIndex != 0)  & (sel.selectedIndex != (sel.length-1)))
				ind2 = sel2.selectedIndex - 1;
		}
	
		if(sel.options[ind2].selected == true)
		{
			if (taste == 40)
			{
				if(sel2.selectedIndex != (sel2.length-1))
					sel.options[ind2+1].selected = true ;
				if(sel2.selectedIndex != 0)
					sel2.options[ind2].selected = true ;
			}
			else
			{
				if(sel2.selectedIndex != 0)
				{
					sel.options[ind2-1].selected = true ;
					sel2.options[ind].selected = true ;
				}
				if(sel.selectedIndex != (sel.length-1))
				{
					sel2.options[ind].selected = false ;
				}
			}
		}
		else
		{
			if (taste == 40)
			{
				sel.options[ind2].selected = true;
				sel2.options[ind].selected = true;
			}
			else
			{
				sel.options[ind2].selected = true;
				sel2.options[ind].selected = true;
			}
		}
	}
			
}

function PopUp(openurl)
{
    var URL = openurl;
    var Name = "Editbox";
    var Fensteroptionen = "toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0";
    var Breite = 455;
    var Hoehe = 580;
	var Top = 100;
	var Left = 10;
    window.open(URL, 'Name', Fensteroptionen + ',width=' + Breite + ',height=' + Hoehe + ',top=' + Top + ',left=' + Left);
}

function move(elementId)
{
	var a,element;
	
	/* Element-Objekt zur ID ermitteln */
  	element=document.getElementById(elementId);
	
    //document.getElementById('boxid').value = elementId;
	a=getPosition(element);
	myleft = document.getElementById(elementId).style.left;
	mywidth = document.getElementById(elementId).style.width;
	myeditwidth = document.getElementById('editbox').style.width;
	mycolum = document.getElementById('eb_col').value;
	mytop = a.y;
	myleft = a.x;
	
	if (mycolum != 3)
		movelefter = myleft + parseInt(mywidth);
	else
		movelefter = myleft - parseInt(myeditwidth);
	//editbox = document.getElementById('editbox');
	if((parseInt(document.getElementById('editbox').style.top) == mytop) && (parseInt(document.getElementById('editbox').style.left) == movelefter))
	{	
		document.getElementById('editbox').style.top = 0;
		document.getElementById('editbox').style.left = -5000+'px';
	}
	else
	{
		document.getElementById('editbox').style.top = mytop+'px';
		document.getElementById('editbox').style.left = movelefter+'px';
	}
}	

function getPosition(element)
/* der Aufruf dieser Funktion ermittelt die absoluten Koordinaten
   des Objekts element */
{
  var elem=element,tagname="",x=0,y=0;
  
/* solange elem ein Objekt ist und die Eigenschaft offsetTop enthaelt
   wird diese Schleife fuer das Element und all seine Offset-Eltern ausgefuehrt */
  while ((typeof(elem)=="object")&&(typeof(elem.tagName)!="undefined"))
  {
    y+=elem.offsetTop;     /* Offset des jeweiligen Elements addieren */
    x+=elem.offsetLeft;    /* Offset des jeweiligen Elements addieren */
    tagname=elem.tagName.toUpperCase(); /* tag-Name ermitteln, Grossbuchstaben */

/* wenn beim Body-tag angekommen elem fuer Abbruch auf 0 setzen */
    if (tagname=="BODY")
      elem=0;

/* wenn elem ein Objekt ist und offsetParent enthaelt
   Offset-Elternelement ermitteln */
    if (typeof(elem)=="object")
      if (typeof(elem.offsetParent)=="object")
        elem=elem.offsetParent;
  }

/* Objekt mit x und y zurueckgeben */
  position=new Object();
  position.x=x;
  position.y=y;
  return position;
}

function doBoxData(js_action)	
{
	document.getElementById('eb_action').value = js_action;
	document.do_box_action.submit();
}

function setBoxData(js_ID, js_COL, js_STYLE, js_STATUS, js_SUB)
{
	document.getElementById('eb_boxid').value = js_ID;
	document.getElementById('eb_col').value = js_COL;
	document.getElementById('eb_style').value = js_STYLE;
	document.getElementById('eb_subsite').value = js_SUB;
	if (js_STATUS == 1)
	{
		document.getElementById('editbox').style.backgroundColor = "#FF3300";
		document.getElementById('span_delete').style.display = 'inline';
		document.getElementById('span_up').style.display = 'inline';
		document.getElementById('span_down').style.display = 'inline';
		document.getElementById('aktiv').style.display = 'inline';
		document.getElementById('inaktiv').style.display = 'none';
	}
	else
	{
		document.getElementById('editbox').style.backgroundColor = "#33FF00";
		document.getElementById('span_delete').style.display = 'none';
		document.getElementById('span_up').style.display = 'none';
		document.getElementById('span_down').style.display = 'none';
		document.getElementById('aktiv').style.display = 'none';
		document.getElementById('inaktiv').style.display = 'inline';
	}
}
// ENDE STANDARD JAVASCRIPT /////////////////////////////////////////////////////////////////////////////////////

