var SelectWindow;
var SelectPopup;
var SelectedName		= 0;
var LastCheckedName		= '';
var LastCheckedValue	= '';
var LastCheckedArea		= '';

function CloseSelect() {
	if(typeof SelectPopup != "undefined" && SelectPopup.closed != true) {
		SelectPopup.close();
	}
}

function OpenSelect(url) {
	var x = 200;
	var help = 'width=650,height=700,toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,copyhistory=yes,resizable=no,left=' + x + ',top=5';
	SelectPopup = window.open(url, 'SelectPopup', help);
	SelectPopup.focus();
}

function FensterZu() {
	if(typeof SelectWindow != "undefined" && SelectWindow.closed != true) {
		SelectWindow.close();
	}
}

function FensterAuf(url) {
	var x = 200;
	var help = 'width=650,height=700,toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,copyhistory=yes,resizable=no,left=' + x + ',top=5';
	SelectWindow = window.open(url, 'Auswahl', help);
}

function changeOpener(url) {
	opener.document.location.href = url;
	self.close();
}

function clearInput(field, hiddenfield) {
	field.value = '';
	if(hiddenfield) {
		hiddenfield.value = '';
	}
}

function checkAll(checked, form) {
	var form_element;
	var form_elements	= form.elements;
	var element_count	= form_elements.length;
	if(element_count < 2) {
		return;
	}
	for(var i = 0; i < element_count; i++) {
		form_element = form_elements[i];
		if(form_element.type == 'checkbox') {
			form_element.checked = checked;
		}
	}
}

function checkGroup(checked, form, group) {
	var form_element;
	var form_elements	= form.elements;
	var element_count	= form_elements.length;
	if(element_count < 2) {
		return;
	}
	for(var i = 0; i < element_count; i++) {
		form_element = form_elements[i];
		if(form_element.type == 'radio') {
			if(form_element.value.substr(0, group.length) == group) {
				form_element.checked = checked;
			}
		}
	}
}

var nl_focus_field;

function insertFieldName(form) {
	if(nl_focus_field == 'undefined') {
		return;
	}
    var myFocus = nl_focus_field;
    var myListBox = form.__fieldlist;

    if(myListBox.options.length > 0) {
        var chaineAj = "";
        var NbSelect = 0;
        for(var i=0; i<myListBox.options.length; i++) {
            if(myListBox.options[i].selected){
                NbSelect++;
                if (NbSelect > 1)
                    chaineAj += ", ";
                chaineAj += '<%' + myListBox.options[i].value + '%>';
            }
        } 

        //IE support
        if (document.selection) {
            myFocus.focus();
            sel = document.selection.createRange();
            sel.text = chaineAj;
        }
        //MOZILLA/NETSCAPE support
        else if (myFocus.selectionStart || myFocus.selectionStart == "0") {
            var startPos = myFocus.selectionStart;
            var endPos = myFocus.selectionEnd;
            var chaineSql = myFocus.value;
        
            myFocus.value = chaineSql.substring(0, startPos) + chaineAj + chaineSql.substring(endPos, chaineSql.length);
        } else {
            myFocus.value += chaineAj;
        }
    }
}

function setSelectOptions(the_form, the_select, do_check)
{
    var selectObject = document.forms[the_form].elements[the_select];
    var selectCount  = selectObject.length;

    for (var i = 0; i < selectCount; i++) {
        selectObject.options[i].selected = do_check;
    } // end for

    return true;
} // end of the 'setSelectOptions()' function

function askDelete(name, url) {
	var confirmation = confirm("Wollen Sie den Datensatz '" + name + "' wirklich löschen?");
	url += '&in=5';
	if(confirmation) {
		self.location.href = url;
	}
	return false;
}

function PrintNow() {
	for(i = 0; i < document.images.length; i++) {
		if(document.images[i].src == "http://img.map24.com/map24/portal/de-de/16_print.gif") {
			document.images[ i ].style.width=0;
		}
	}
	window.print();
}

function RegExpHelp() {
	RegExpHelpWindow = window.open('regexp.html','RegEx','width=650,height=700,toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,copyhistory=yes,resizable=no,left=100,top=5');
}

function nextNewEventFocus(name) {
	switch(name) {
		case "league":
			xajax.$('left').focus();
			break;
		case "left":
			xajax.$('right').focus();
			break;
		case "right":
			xajax.$('day').focus();
			break;
		case "day":
			xajax.$('month').focus();
			break;
		case "month":
			xajax.$('year').focus();
			break;
		case "year":
			xajax.$('shour').focus();
			break;
		case "shour":
			xajax.$('sminute').focus();
			break;
		case "sminute":
			xajax.$('ehour').focus();
			break;
		case "ehour":
			xajax.$('eminute').focus();
			break;
	}

}

function setSelectedKeyValue(nextFocus) {
	if(SelectedName > 0) {
		if(typeof xajax.$('nameSelectKey_' + SelectedName) != 'undefined' && typeof xajax.$('nameSelectValue_' + SelectedName) != 'undefined') {
			setKeyValue(xajax.$('nameSelectField_' + SelectedName).innerHTML,
						xajax.$('nameSelectKey_' + SelectedName).innerHTML,
						xajax.$('nameSelectValue_' + SelectedName).innerHTML, nextFocus);
		}
	}
}

function newEvent() {
	if(xajax.$('nameSelectDiv').style.display == 'none') {
		xajax_processAddEventForm(xajax.getFormValues("newEventForm"));
	} else {
		setSelectedKeyValue(true);
	}
	return false;
}

function storeFilter() {
	if(xajax.$('nameSelectDiv').style.display == 'none') {
		return true;
	} else {
		setSelectedKeyValue(false);
	}
	return false;
}


function newStream() {
	xajax_processAddStreamForm(xajax.getFormValues("newStreamForm"));
	return false;
}

function searchEvent() {
	if(xajax.$('nameSelectDiv').style.display == 'none') {
		xajax_processSearchStreamForm(xajax.getFormValues("proposeEventForm"));
	} else {
		setSelectedKeyValue(true);
	}
	return false;
}

function checkEventValue(name, area, event) {
	var keyPressed = event.keyCode;
	if(keyPressed == 'undefined') {
		keyPressed = event.which;
	}
	if(LastCheckedValue != xajax.$(name).value || LastCheckedName != name || LastCheckedArea != area) {
		LastCheckedName		= name;
		LastCheckedArea		= area;
		LastCheckedValue	= xajax.$(name).value;
		xajax.$('check_area').value		= area;
		xajax.$('check_field').value	= name;
		xajax.$('check_value').value	= xajax.$(name).value;
		xajax.$('check_sport').value	= xajax.$('newsport').value;
		xajax_processValue(xajax.getFormValues("newEventForm", false, 'check_'));
	} else if(keyPressed == 38 && SelectedName >= 0) {
		selectDiv(SelectedName-1);
	} else if(keyPressed == 40 && SelectedName < 20){
		selectDiv(parseInt(SelectedName)+1);
	} else if(keyPressed == 220) {
		hideNameSelectDiv();
		return false;
	} 
}

function proposeEvent(event) {
	if(event == '') {
		if(LastCheckedValue != xajax.$('eventString').value) {
			LastCheckedValue	= xajax.$('eventString').value;
			xajax_proposeEvent(xajax.getFormValues('proposeEventForm'));
		}
		return;
	}
	var keyPressed;
	if(typeof event.keyCode == 'undefined') {
		keyPressed = event.which;
	} else {
		keyPressed = event.keyCode;
	}
	if(LastCheckedValue != xajax.$('eventString').value) {
		LastCheckedValue	= xajax.$('eventString').value;
		xajax_proposeEvent(xajax.getFormValues('proposeEventForm'));
	} else if(keyPressed == 38 && SelectedName >= 0) {
		selectDiv(SelectedName-1);
	} else if(keyPressed == 40 && SelectedName < 20){
		selectDiv(parseInt(SelectedName)+1);
	} else if(keyPressed == 220) {
		hideNameSelectDiv();
		return false;
	} 

}

function selectDiv(id) {
	var oldSelectedNameDiv = xajax.$('nameSelect_' + SelectedName);
	var newSelectedNameDiv = xajax.$('nameSelect_' + id);

	if( typeof newSelectedNameDiv == 'undefined') {
		return;
	}
	if(SelectedName > 0 && typeof oldSelectedNameDiv != 'undefined' && typeof oldSelectedNameDiv.style != 'undefined') {
		oldSelectedNameDiv.style.backgroundColor	= '#fff';
		oldSelectedNameDiv.style.color	= '';
	}

	SelectedName = id;
	newSelectedNameDiv.style.backgroundColor	= '#ddf';
	newSelectedNameDiv.style.color				= '#00a';
}

function setKeyValue(name, key, value, nextFocus) {
	value = value.replace(/<br>/gi,	"\n");
	value = value.replace("\n\n",	"\n");
	value = value.replace("\r",		'');
	var oldValue = xajax.$(name).value;
	xajax.$('key_' + name).value	= key;
	xajax.$(name).value				= value;
	hideNameSelectDiv();
	if(nextFocus && oldValue != value) {
		nextNewEventFocus(name);
	}
	LastCheckedValue = value;
}

function clearKey(name) {
	xajax.$('key_' + name).value	= '';
}

function showNameSelectDiv(field) {
	var dOut = "";
	xajax.$('nameSelectDiv').style.display 	= "block";
	xajax.$('nameSelectDiv').style.position = "absolute";
	var parent = xajax.$(field).offsetParent;
	var topSum	= 0
	var topSum	= 0
	var leftSum	= 0
	var oldParent = '';
	var count	= 0;
	while(count < 100 && parent != null && typeof parent != 'undefined' && typeof parent.offsetTop != undefined && parent != '') {
		topSum	+= parent.offsetTop;
		leftSum	+= parent.offsetLeft;
		oldParent	= parent;
		if(typeof parent.offsetParent != 'undefined') {
			parent = parent.offsetParent;
		} else {
			parent = '';
		}
		count++;
	}
	xajax.$('nameSelectDiv').style.top		= (topSum + xajax.$(field).offsetTop + xajax.$(field).offsetHeight + 2) + "px";
	xajax.$('nameSelectDiv').style.left		= (leftSum + xajax.$(field).offsetLeft) + "px";
	xajax.$('nameSelectDiv').style.zIndex	= "999999";
}

function hideNameSelectDiv() {
	SelectedName = 0;
	xajax.$('nameSelectDiv').style.display = 'none';
	
}

function triggerHideNameSelectDiv() {
	window.setTimeout("hideNameSelectDiv()", 100);
}

function triggerSelectDiv(id, timeout) {
	window.setTimeout("selectDiv('" + id + "')", timeout);
}

function checkKey(event) {
	var keyPressed = event.keyCode;
	if(keyPressed == '' || keyPressed == 'undefined') {
		keyPressed = event.which;
	}
	if(keyPressed == 27) {
		hideNameSelectDiv();
		return false;
	}
	if(keyPressed == 78 && event.ctrlKey && event.shiftKey) {
		setNow();
		return false;
	}
	
	if(xajax.$('nameSelectDiv').style.display != 'none' && keyPressed == 9) {
		setSelectedKeyValue(false);
	}
	return true;
}

function setNow() {
	var now = new Date();

	xajax.$('day').value		= parseInt(now.getDate());
	xajax.$('month').value		= parseInt(now.getMonth()) + 1;
	xajax.$('year').value		= parseInt(now.getFullYear());
	xajax.$('shour').value		= parseInt(now.getHours())+1;
	xajax.$('sminute').value	= "00";
	xajax.$('ehour').focus();
}

function clearEventNames() {
	xajax.$('league').value			= '';
	xajax.$('key_league').value		= '';
	xajax.$('left').value			= '';
	xajax.$('key_left').value		= '';
	xajax.$('right').value			= '';
	xajax.$('key_right').value		= '';
}

function clearSearchEventNames() {
	xajax.$('eventValue').value			= '';
	xajax.$('key_eventValue').value		= '';
	LastCheckedName		= '';
	LastCheckedValue	= '';
	LastCheckedArea		= '';
}

function logActivity(type, target, source, keyword, campaign, uid) {
	var imgSrc = 'http://www.live-sport.org/en/activity/?t=' + type + '&tg=' + target + '&sc=' + source + '&kw=' + keyword + '&cp=' + campaign + '&uid=' + uid + '&rand=' + Math.random();
	window.document.images["activity"].src = imgSrc;
	return true;
}

function ShowHide(divID, selectField) {
	xajax.$(divID).style.display 	= "none";
    for(var i = 0; i < selectField.options.length; i++) {
        if(selectField.options[i].selected) {
        	if(selectField.options[i].text == 'Other') {
				xajax.$(divID).style.display 	= "block";
        	}
        }
    } 
}

function proposeValue(name, area, event) {
	var keyPressed = event.keyCode;
	if(keyPressed == 'undefined') {
		keyPressed = event.which;
	}
	if(LastCheckedValue != xajax.$(name).value || LastCheckedName != name || LastCheckedArea != area) {
		LastCheckedName		= name;
		LastCheckedArea		= area;
		LastCheckedValue	= xajax.$(name).value;
		xajax.$('check_area').value		= area;
		xajax.$('check_field').value	= name;
		xajax.$('check_value').value	= xajax.$(name).value;
		xajax.$('check_sport').value	= xajax.$('filter_sport').value;
		xajax_proposeValue(xajax.getFormValues("editFilterForm", false, 'check_'));
	} else if(keyPressed == 38 && SelectedName >= 0) {
		selectDiv(SelectedName-1);
	} else if(keyPressed == 40 && SelectedName < 20){
		selectDiv(parseInt(SelectedName)+1);
	} else if(keyPressed == 220) {
		hideNameSelectDiv();
		return false;
	} 
}

function checkTopFrame() {
	if(top.location != self.location) {
		top.location = self.location;
	}
}
