/* Auto-Updater für Widgets *********************************************** */



function getWidgetContent(widget) {
	/** Diese Funktion ist für den Reload von Widgets verantwortlich. **/

	/** TODO: Wie können wir sicherstellen, daß sich der Wert von "widget" nicht zwischen Reload und Receive verändert? **/
	new Ajax.Updater(widget+'_content', "/ajax/getWidgetContent.php?widget="+widget, { method: 'get', 
	onComplete: function(transport) {

	  	for (var  i=0; i<10; i++) {
		    if (document.getElementById(widget+'down'+i)) {
			    new Effect.Highlight(document.getElementById(widget+'down'+i), { startcolor: '#ff0000', endcolor:'#ffffff',duration:2.5});
	   		}
	
	    	if (document.getElementById(widget+'up'+i)) {
	   		    new Effect.Highlight(document.getElementById(widget+'up'+i), { startcolor: '#00a000', endcolor:'#ffffff',duration:2.5});
	   		}
    }
  }
	
	});

	/** Reloade das nächste Mal in ungefähr 60 Sekunden **/
	if (widget.split("_")[0] == "KEYWORD") {
		//window.setTimeout("getWidgetContent('"+widget+"')", 120000 );
		//window.setTimeout("getWidgetContent('"+widget+"')", 120000 );
		window.setTimeout("new Ajax.PeriodicalUpdater('"+widget+"_content', '/ajax/getWidgetContent.php?widget="+widget+"', {method: 'get', frequency: 60, decay: 1})", 60000 );
	} else {
		//window.setTimeout("getWidgetContent('"+widget+"')", 30000 );
		window.setTimeout("new Ajax.PeriodicalUpdater('"+widget+"_content', '/ajax/getWidgetContent.php?widget="+widget+"', {method: 'get', frequency: 60, decay: 1})", 60000 );
		//new Ajax.PeriodicalUpdater(widget+'_content', "/ajax/getWidgetContent.php?widget="+widget, {method: 'get', frequency: 60, decay: 1});
	}
}


function updateParams(widget) {

	var parameter = document.getElementById('parameter');
	var parameter_simple = document.getElementById('parameter_simple');
	var parameter_index = document.getElementById('parameter_index');

	var count = document.getElementById('count');
	var field = '<input type="text" id="wa_param" name="parameter" />';

    	switch(widget) {
		case "ADHOC"		: parameter.style.display = 'none';parameter_simple.style.display='none'; parameter_index.style.display='none';break;
		case "ANALYSTEN"	: parameter.style.display = 'none';parameter_simple.style.display='none'; parameter_index.style.display='none';break;
		case "DIRECTOR"		: parameter.style.display = 'none';parameter_simple.style.display='none'; parameter_index.style.display='none';break;
		case "WPUEG"		: parameter.style.display = 'none';parameter_simple.style.display='none'; parameter_index.style.display='none';break;
		case "HOT"	    	: parameter.style.display = 'none';parameter_simple.style.display='none'; parameter_index.style.display='none';break;
		case "IPO"  		: parameter.style.display = 'none';parameter_simple.style.display='none'; parameter_index.style.display='none';break;
		case "MARKT"		: parameter.style.display = 'none';parameter_simple.style.display='none'; parameter_index.style.display='none';break;
		case "MOSTREAD"		: parameter.style.display = 'none';parameter_simple.style.display='none'; parameter_index.style.display='none';break;
		case "WATCH"		: parameter.style.display = 'none';parameter_simple.style.display='none'; parameter_index.style.display='none';break;
        case "INDIZES"      : parameter.style.display = 'none';parameter_simple.style.display='none'; parameter_index.style.display='none';break;

		case "ISIN"		    : parameter.style.display='block';parameter_simple.style.display='none';parameter.innerHTML=field; break;
		case "KEYWORD"		: parameter.style.display='none';parameter_simple.style.display='block';parameter.innerHTML=field; break;

		case "INDEXNEWS"	: parameter.style.display = 'none'; parameter_simple.style.display='none'; parameter_index.style.display='block'; break;
		case "INDEX"		: parameter.style.display = 'none'; parameter_simple.style.display='none'; parameter_index.style.display='block'; break;
        case "TOPFLOP"      : parameter.style.display = 'none'; parameter_simple.style.display='none'; parameter_index.style.display='block'; break;

    default 		: alert("Unbekanntes Widget ausgew&aunl;hlt");break;
	}
}

var paramResponse = "";

var paramCallback = {
	success: function(o) { paramResponse = o.responseText },
	failure: function(o) { alert("Fehler: Keine Verbindung zum Server") }
};

function simpleParamFinder(stuff, field) {
	if (stuff.length > 2) {
		var guess = document.getElementById(field);
		var guessInput = document.getElementById(field+'_input');
		var transaction = YAHOO.util.Connect.asyncRequest("GET", "/ajax/returnCompaniesLight.php?query="+stuff, paramCallback, null);
		var bestandteile = paramResponse.split("|");
		window.setTimeout("", 250);

		guess.innerHTML= bestandteile[0];
		guessInput.value = bestandteile[1];
	}

}

function widget_Watch_remove(isin) {

	var transaction = YAHOO.util.Connect.asyncRequest("GET", "/ajax/removeWatchlist.php?isin="+isin, null, null);
	window.setTimeout("getWidgetContent('WATCH_all_9')",500);
	//window.setTimeout("location.reload(true)", 500);
}

function widget_Watch_add(stuff) {
	var paramList = "q="+stuff.value;
	var response = YAHOO.util.Connect.asyncRequest('POST', '/ajax/addWatchList.php', null, paramList);
	window.setTimeout("getWidgetContent('WATCH_all_9')",500);
}

function widget_close(widget) {

	// Zuerst: Entferne das Widget aus dem Useraccount
	new Ajax.Request('/ajax/removeWidget.php?id='+widget, {
  		onSuccess: function(transport) {
		// Dann: Blende das Widget aus
		Effect.Fade(widget);
	  }
	});
	//var response = YAHOO.util.Connect.asyncRequest('GET', ,null,null);

	

//	window.setTimeout("location.reload(true)", 500);
}

function widget_add(type, param, param_alt, count, tab) {
	if (param == '') {
		if (param_alt == "") {
			param = "ALL";
		} else {
			param = param_alt;
		}
	}

	var Widget_Identifier = type+"_"+param+"_"+count;
	var paramList = "id="+Widget_Identifier+"&tab="+tab;
 	var response = YAHOO.util.Connect.asyncRequest("GET", "/ajax/addWidget.php?"+paramList, null, null);
	window.setTimeout("location.reload(true)", 500);
}

function widget_change_simple(widget, anzahl) {
	//mit ge�nderter Anzahl der Eintr�ge �ndert sich auch die ID der <li>
	//doof, aber damit m�ssen wir wohl leben

	//ersetzen der Zahl am Ende des ID-Strings
	//TODO: scheint nicht f�r mehrstellige Zahlen zu funktionieren
	//im Moment kein Problem, da nur 1...9 vorkommen 
	newname=widget.replace(/\d$/g,anzahl);
	$(widget).id=newname;
  	var paramList = "id="+widget+"&newcount="+anzahl;

	new Ajax.Request("/ajax/updateWidget.php", {
	  method: 'get',
	  parameters: paramList,
	  onSuccess: function(updateResult) {
	  //alert(widget);
	  	new Ajax.Request("/ajax/getWidget.php?widget="+newname, {
		  		onSuccess: function(transport) {
					$(newname).replace(transport.responseText);
					//$(widget+'_conf').id=newname+'_conf';
					new YAHOO.example.DDList(newname);
			  }
		});	
			
	  }
	});	
}
/*
function _widget_change_simple(widget, anzahl) {
	//mit ge�nderter Anzahl der Eintr�ge �ndert sich auch die ID der <li>
	//doof, aber damit m�ssen wir wohl leben

	//ersetzen der Zahl am Ende des ID-Strings
	//TODO: scheint nicht f�r mehrstellige Zahlen zu funktionieren
	//im Moment kein Problem, da nur 1...9 vorkommen 
	newname=widget.replace(/\d$/g,anzahl);

	$(widget).id=newname;
	var paramList = "id="+widget+"&newcount="+anzahl;
	new Ajax.Request("/ajax/updateWidget.php", {
  		parameters: paramList,
  		onSuccess: function(transport) {
  		alert(paramList);
			new Ajax.Updater(newname, "/ajax/getWidget.php?widget="+newname, { method: 'get', });
	  }
	});	
}
*/