var myopts; 
var last_action = "schreiben"; 
var option_array = new Array();
var phnr_temp = '';

function leseOptionen(element_name){
	var select_element = document.getElementById(element_name);
	for (i=0;i<select_element.length;i++) { option_array[i] = select_element.options[i]; }
	select_element.options[1] = null;
}

function schreibeOptionen(element_name){
	var select_element = document.getElementById(element_name);
	for (i=0;i<option_array.length;i++) { select_element.options[i] = option_array[i]; }
}

function veraendereOptionen(element_name){
	if(last_action == 'schreiben'){ leseOptionen(element_name); last_action = 'lesen'; }
	else{ schreibeOptionen(element_name); last_action = 'schreiben'; }
}

function show () {
	if(document.getElementById("ergebnis") != null) {
		var el=document.getElementById("ergebnis");
    	el.style.visibility=(el.style.visibility=="hidden") ? "visible" : "hidden";
	}
	if(document.getElementById("status") != null) {
	    var el=document.getElementById("status");
	    el.style.display=(el.style.display=="block") ? "none" : "block";
	}
	if(document.dataform != null){
		//document.dataform.dataformsubmit.disabled=true;
		$$('#execute_extended input').each(function(item){
			if(item.disabled == true){
				item.enable();
				item.setStyle({
					color: '#223F66'
				});
			}else{
				item.disable();
				item.setStyle({
					color: '#aaa'
				});
			}
		})
	}
}

/* Return-Taste als default*/
function TasteGedrueckt (Ereignis) {
  if (!Ereignis){ Ereignis = window.event; }
  if (Ereignis.which) { Tastencode = Ereignis.which; } 
  else if (Ereignis.keyCode) { Tastencode = Ereignis.keyCode; }
  if(Tastencode==13){ submitAction('dataform', 'exec');}
}

document.onkeypress = TasteGedrueckt;

/* submit */
function submitAction(form, action){
    var limit = 7;
    if($('ival') && $('datf') && $('datt')){	            
        switch($('ival').value){
            case 'T':
                limit = 7;
                break;
            case 'W':
                limit = 7;
                break;
            case 'M':
                limit = 7;
                break;
        }
		if( typeof document.dataform.dlphys[2] != "undefined" && document.dataform.dlphys[2].checked){
			limit = 65535;
		}
        var promtMSG = (($('lang') && $('lang').value != 'DE') ?
                "This query might take very long time to be executed. Are you sure you want to continue?"
            :
                "Bitte beachten Sie, daß diese Abfrage lange ausgeführt wird. Möchten Sie die Abfrage wirklich ausführen ?");
        for(i=$('datt').length-1;i>=0;i--){            
            if($('datt').length - 1 - i > limit){
                var insist = confirm(promtMSG);
                if(insist){
                    break;
                }else{
                    return;
                }
            }else if($('datt').value == $('datt')[i].value){
                break;
            }
        }        
    }
    var f;
    f=document.forms[form];
    if(document.PostForm){ document.PostForm.aid.value=action;}
    if(document.dataform){ document.dataform.task.value=action;}
    if(action == 'exec_excel_dwl' || action == 'exec_excel_dwl_1k'){
    	document.dataform.mime.value = 'e';
    	if(document.dataform && action == 'exec_excel_dwl_1k'){
    		$('pl').setValue('1000');    		
    	}else{
    		$('pl').setValue('100');
    	}    	
	    f.submit();
	    $('pl').setValue('100');
	    new Ajax.Request('.', {
                method:'get',
	    	onSuccess: function(transport){
                    show();
	    	},
	    	onFailure: function(){
                    show();
                }
	    });
    }else{
		if(document.dataform && document.dataform.mime){			
			document.dataform.mime.value = 'h';
		}
    	f.submit();
    }
	/* Wenn Download- oder Druckenbuttons gedr?ckt, nicht das loading-Symbol anzeigen 
	 * und auch nicht den submit-Button sperren
	 */
    switch(form) {
    	case 'download1001':
    	case 'download1':
    	case 'downloadx1':
    	case 'download2':
    	case 'downloadx2':
    	case 'download1002':
    	case 'download10001':
    	case 'download10002':
    	case 'drucken1':
    	case 'drucken2':
    		break;    	
    	default:
    		show();
    }
}
function isChecked(isitchecked){
	if (isitchecked == true){ document.naviform.boxchecked.value++; } else { document.naviform.boxchecked.value--; }
}
function checkAll(form, field)  {
    var b=eval("document."+form+".ALL.checked");
    for (var i=0;i<document.newform.elements.length;i++){
        var e=document.newform.elements[i];
        e.checked=b;
    }
	if (b) { document.newform.boxchecked.value=i; } else { document.newform.boxchecked.value=0; }
}
function reset_form(){
	var reg_phnr = new RegExp("phnr");
	var reg_regi = new RegExp("regi");
	var reg_aweg = new RegExp("aweg");
	var reg_tart = new RegExp("tart");
	var reg_repe = new RegExp("repe");
	var reg_ival = new RegExp("ival");
	var reg_titl = new RegExp("titl");
	var reg_inte = new RegExp("inte");
	var reg_atnr = new RegExp("atnr");
	var reg_menf = new RegExp("menf");
	var reg_ment = new RegExp("ment");
	var reg_comp = new RegExp("comp");
	var reg_mode = new RegExp("mode");
	var reg_aid = new RegExp("aid");
	if(window.document.dataform != null) {
		for( var i = 0; i < window.document.dataform.elements.length; i++){
			var name = window.document.dataform.elements[i].name;
			if(reg_phnr.test(name)){ var phnr_pos = i; }
			if(reg_regi.test(name)){ var regi_pos = i; }
			if(reg_aweg.test(name)){ var aweg_pos = i; }
			if(reg_tart.test(name)){ var tart_pos = i; }
			if(reg_repe.test(name)){ var repe_pos = i; }
			if(reg_ival.test(name)){ var ival_pos = i; }
			if(reg_titl.test(name)){ var titl_pos = i; }
			if(reg_inte.test(name)){ var inte_pos = i; }
			if(reg_atnr.test(name)){ var atnr_pos = i; }
			if(reg_menf.test(name)){ var menf_pos = i; }
			if(reg_ment.test(name)){ var ment_pos = i; }
			if(reg_comp.test(name)){ var comp_pos = i; }
			if(reg_mode.test(name)){ var mode_pos = i; }
			if(reg_aid.test(name)){ var aid_pos = i; }
		}
	}
	if(window.document.dataform != null) {
		if(typeof window.document.dataform.elements[phnr_pos] != "undefined") {
			window.document.dataform.elements[phnr_pos].value = "__A";
		}
		if(typeof window.document.dataform.elements[regi_pos] != "undefined") {
			window.document.dataform.elements[regi_pos].value = "";
		}
		if(typeof window.document.dataform.elements[aweg_pos] != "undefined") {
			window.document.dataform.elements[aweg_pos].value = "";
		}
		if(typeof window.document.dataform.elements[tart_pos] != "undefined") {
			window.document.dataform.elements[tart_pos].value = "";
		}
		if(typeof window.document.dataform.elements[repe_pos] != "undefined") {
			window.document.dataform.elements[repe_pos].value = "";
		}
		if(typeof window.document.dataform.elements[ival_pos] != "undefined") {
			window.document.dataform.elements[ival_pos].value = "W";
			change_ival();
			change_only();
		}
		if(typeof window.document.dataform.elements[titl_pos] != "undefined") {
			window.document.dataform.elements[titl_pos].value = "";
		}
		if(typeof window.document.dataform.elements[inte_pos] != "undefined") {
			window.document.dataform.elements[inte_pos].value = "";
		}
		if(typeof window.document.dataform.elements[atnr_pos] != "undefined") {
			window.document.dataform.elements[atnr_pos].value = "";
		}
		if(typeof window.document.dataform.elements[menf_pos] != "undefined") {
			window.document.dataform.elements[menf_pos].value = "";
		}
		if(typeof window.document.dataform.elements[ment_pos] != "undefined") {
			window.document.dataform.elements[ment_pos].value = "";
		}
		if(typeof window.document.dataform.elements[comp_pos] != "undefined") {
			window.document.dataform.elements[comp_pos].value = "";
		}
		if(typeof window.document.dataform.elements[mode_pos] != "undefined") {
			window.document.dataform.elements[mode_pos].value = "s";
		}
		if(typeof window.document.dataform.elements[aid_pos] != "undefined") {
			window.document.dataform.elements[aid_pos].value = "103";
		}
	}
	if(document.getElementsByName("VOE")[0] != null) {
		if (document.getElementsByName("VOE")[0].checked == true) {
		  document.getElementsByName("VOE")[0].checked = false;
		}
	}
	if(document.getElementsByName("repton")[0] != null) {
		if (document.getElementsByName("repton")[0].checked == true) {
	  		document.getElementsByName("repton")[0].checked = false;
		}
	}
}

function reset_form_extended(){
	var reg_regi = new RegExp("regi");
	var reg_aweg = new RegExp("aweg");
	var reg_tart = new RegExp("tart");
	var reg_repe = new RegExp("repe");
	if(window.document.dataform != null) {
		for( var i = 0; i < window.document.dataform.elements.length; i++){
			var name = window.document.dataform.elements[i].name;
			if(reg_regi.test(name)){ var regi_pos = i; }
			if(reg_aweg.test(name)){ var aweg_pos = i; }
			if(reg_tart.test(name)){ var tart_pos = i; }
			if(reg_repe.test(name)){ var repe_pos = i; }
		}
	}
	if(window.document.dataform != null) {
		if(typeof window.document.dataform.elements[regi_pos] != "undefined") {
			window.document.dataform.elements[regi_pos].value = "";
		}
		if(typeof window.document.dataform.elements[aweg_pos] != "undefined") {
			window.document.dataform.elements[aweg_pos].value = "";
		}
		if(typeof window.document.dataform.elements[tart_pos] != "undefined") {
			window.document.dataform.elements[tart_pos].value = "";
		}
		if(typeof window.document.dataform.elements[repe_pos] != "undefined") {
			window.document.dataform.elements[repe_pos].value = "";
		}
	}
}
/* STEUERUNG DER EINSTELLUNGS REITER UND FORMULARE */
function toggleSettings(num) {
	var status = "settings_"+num
	for (i=1;i<=3;i++) {
		document.getElementById("set_"+i).parentNode.parentNode.className=( i==num ? "active" : "inactive" );
		document.getElementById("settings_"+i).style.display=( i==num ? "block" : "none");
		/*document.getElementById("stateUserOptions").value=status;*/
	}
}
/* HOVER EFFEKT DER ERGEBNISTABELLEN, REDUZIERT DIE VERZ?GERUNG IM IE */
function flipflop(id,row,state){
	if(row == 0){
		switch(state){
			case 1 : id.bgColor="#ffffff";
			break;
			case 2 : id.bgColor="#eaf2fb";
			break;
		}
	}else if (row == 1){
		switch(state){
			case 1 : id.bgColor="#ffffff";
			break;
			case 2 : id.bgColor="#f8fafd";
			break;
		}
	}
}
//Special Litbox
function hideDat() {
	if(document.getElementById("datf") != null) {
		var el=document.getElementById("datf");
    	el.style.visibility=(el.style.visibility=="hidden") ? "visible" : "hidden";
	}  
	if(document.getElementById("datt") != null) {
		var el=document.getElementById("datt");
    	el.style.visibility=(el.style.visibility=="hidden") ? "visible" : "hidden";
	}  
}
//Funktion zur Freischaltung der Radioboxen bei der neuen Produktrecherche
function change_only() {
	var datf=document.dataform.datf;
	var datt=document.dataform.datt;
	if(document.dataform.comp!=null && document.dataform.dlphys!=null) {
		if(document.dataform.comp.value=='S' /*) { */
		 || document.dataform.comp.value == 'A' /*) {*/
		 || document.dataform.comp.value == 'J' /*) {*/
		 || document.dataform.comp.value == '') { //Album und Single
			/* Wenn Wochendaten oder Monatesdaten */
			if(document.dataform.ival.value=='T' || document.dataform.ival.value=='W' || document.dataform.ival.value=='M') {
				/* Wenn * in Datum-Auswahlbox;
				 * * bedeutet, dass sowohl physische als auch DL-Wochendaten eingespielt
				 */                                
				if(
                                    (datf.value.substr(6,1)=='*' && datt.value.substr(6,1)=='*')
                                    ||
                                    (datf.value.substr(8,1)=='*' && datt.value.substr(8,1)=='*') //tagsdata
                                   ){                                        
					/* downloads u. beides freischalten */
					document.dataform.dlphys[2].disabled=false
					document.dataform.dlphys[1].disabled=false;
				} else {
					/* ansonsten: nur physisch einschalten */
					document.dataform.dlphys[1].disabled=true;
					document.dataform.dlphys[1].checked=false;
					document.dataform.dlphys[2].disabled=true;
					document.dataform.dlphys[2].checked=false;
					document.dataform.dlphys[0].checked=true;
					
					if(document.dataform.VOE!= null) {
						document.dataform.VOE.disabled=false;
					}
				}
			} else {
					/* ansonsten: nur physisch einschalten */
				document.dataform.dlphys[1].disabled=true;
				document.dataform.dlphys[1].checked=false;
				document.dataform.dlphys[2].disabled=true;
				document.dataform.dlphys[2].checked=false;
				document.dataform.dlphys[0].checked=true;				

				if(document.dataform.VOE!= null) {
					document.dataform.VOE.disabled=false;
				}
			}
		} else {
			/* ansonsten: beides ausschalten  */
				document.dataform.dlphys[1].disabled=true;
				document.dataform.dlphys[1].checked=false;
				document.dataform.dlphys[2].disabled=true;
				document.dataform.dlphys[2].checked=false;
				document.dataform.dlphys[0].checked=true;
			
			if(document.dataform.VOE!= null) {
				document.dataform.VOE.disabled=false;
			}

			/* wenn kein Chartkriterium ausgew?hlt */
			if(document.dataform.comp.value=='') {

				/* Wenn * in Datum-Auswahlbox;
				 * * bedeutet, dass sowohl physische als auch DL-Wochendaten eingespielt
				 */
				if(
                                    (datf.value.substr(6,1)=='*' && datt.value.substr(6,1)=='*')||
                                    (datf.value.substr(8,1)=='*' && datt.value.substr(8,1)=='*')) //tagsdata
                                {
					/* downloads freischalten */
					document.dataform.dlphys[1].disabled=false;
				} else {
					/* ansonsten: nur physisch einschalten */
					document.dataform.dlphys[1].disabled=true;					
					document.dataform.dlphys[1].checked=false;
					document.dataform.dlphys[2].disabled=true;
					document.dataform.dlphys[2].checked=false;
					document.dataform.dlphys[0].checked=true;

					if(document.dataform.VOE!= null) {
						document.dataform.VOE.disabled=false;
					}
				}
			} else {
				/* ansonsten: nur physisch einschalten */
				document.dataform.dlphys[1].disabled=true;
				document.dataform.dlphys[1].checked=false;

				if(document.dataform.VOE!= null) {
					document.dataform.VOE.disabled=false;
				}
			}
		}
  	} else {
		if(document.dataform.dlphys!=null) {
			/* Wenn Wochendaten */
			if(document.dataform.ival.value=='W') {
				/* Wenn * in Datum-Auswahlbox;
				 * * bedeutet, dass sowohl physische als auch DL-Wochendaten eingespielt
				 */
				if(datf.value.substr(6,1)=='*' && datt.value.substr(6,1)=='*') {
					/* downloads freischalten */
					document.dataform.dlphys[1].disabled=false;
  				} else {
					/* ansonsten: nur physisch einschalten */
					document.dataform.dlphys[1].disabled=true;					
					document.dataform.dlphys[1].checked=false;
					document.dataform.dlphys[2].disabled=true;
					document.dataform.dlphys[2].checked=false;
					document.dataform.dlphys[0].checked=true;

					if(document.dataform.VOE!= null) {
						document.dataform.VOE.disabled=false;
					}
  				}
			} else {
				/* ansonsten: nur physisch einschalten */
				document.dataform.dlphys[1].disabled=true;
				document.dataform.dlphys[1].checked=false;

				if(document.dataform.VOE!= null) {
					document.dataform.VOE.disabled=false;
				}
			}
		}
	}
	fix_phnr();
}

fix_phnr = function(){
	//hide physical products "all companies" for restricted usergrp	
	var pr = $('phyrestricted');
	if(!pr){ return; }
	if(pr.value == "true"){
		var phnr = $('phnr');
		if(!phnr){ return; }
		var dp = document.getElementsByName('dlphys');
		if(!dp){
			//if the user can not choose dlphys, then we are in "item research" module,
			//simply hide the option.
			for(i=0, j=phnr.length;i<j;i++){
				if(phnr[i].value == "__B"){
					phnr_temp = phnr[i].text;
					phnr.remove(i);
				}
			}
		}else{
			//if the user can choose dlphys, i.e. she is in product research module:
			//function for reset phnr selection
			var reset_selection = function(){
				phnr[0].selected="selected";
				for(i=1;i<phnr.length;i++){
					phnr[i].selected="";
				}
			}
			//check if download is selected
			for(i=0,j=dp.length;i<j;i++){
				if(dp[i].value=='dl' && dp[i].checked){
					//it is checked, so activate the "all companies" option
					for(i=0, j=phnr.length;i<j;i++){
						if(phnr[i] && phnr[i].value == "__B"){
							//if it is already there, do nothing.
							return;
						}
					}
					Element.extend(phnr[0]).insert({
						//Element.extend is needed for IE, phnr[0] works only in FF
						after: '<option value="__B">'+phnr_temp+'</option>'
					});
					reset_selection();
					return;
				}
			}
			//the dl option is not checked			
			for(i=0, j=phnr.length;i<j;i++){
				if(phnr[i] && phnr[i].value == "__B"){
					phnr_temp = phnr[i].text;
					phnr.remove(i);
					break;
				}
			}
			reset_selection();
		}
	}	
}

function change_voe() {
	if(document.dataform.VOE==null)
		return;
	
	if(document.dataform.with_ntos!=null) {
		/* Wenn NTOs ausgew?hlt, V?-Zahlen-Box ausgrauen */
		if(document.dataform.with_ntos.checked==true) {
			document.dataform.VOE.disabled=true;
			if(document.dataform.ival.value=='M') {
				/* Wenn NTOs und Monatsdaten ausgew?hlt, V?-Zahlen-Box ausgrauen */
				document.dataform.VOE.disabled=true;
			} else {
				/* Ansonsten: NTO-Checkbox ausgrauen und V?-Zahlen-Box aktivieren */
				document.dataform.with_ntos.checked=false;
				document.dataform.VOE.disabled=false;
			}
		} else {
			/* Ansonsten: V?-Zahlen-Box aktivieren*/
			document.dataform.VOE.disabled=false;
		}
	}
	
	var showVOE = true;
	
	if(document.dataform.regi!=null &&  false == document.dataform.regi[0].selected){
		showVOE = false;
	}
	if(document.dataform.repe!=null &&  false == document.dataform.repe[0].selected){
		showVOE = false;
	}
	if(document.dataform.aweg!=null &&  false == document.dataform.aweg[0].selected){
		showVOE = false;
	}
	if(document.dataform.tart!=null &&  false == document.dataform.tart[0].selected){
		showVOE = false;
	}
	if(!showVOE){
		document.dataform.VOE.disabled = true;
		document.dataform.VOE.checked = false;
	}else{
		document.dataform.VOE.disabled = false;
	}
}
function toggleSearch() {

	/* Wenn Downloads oder beides ausgew?hlt, erweiterte Suche einklappen 
	 * und nicht anw?hlbar machen
	 */
	var search=document.getElementById("further_options");
    var elCss=document.getElementById("options_container_2");
    if(search){
    	search.style.visibility="hidden";
    }
    if(elCss.style.display=="block") { toggleOption2(); }
    elCss.style.display="none";

	/* V?-Zahlen ausblenden, wenn Downloads oder beides angeklickt in Produktrecherche,
	 * weil Abfrage falsches Ergebnis liefert
	 */
	change_voe();
	if(document.dataform.with_ntos!=null) {
		if(ival =='M') {		
			document.dataform.with_ntos.disabled=false;
			if(document.dataform.dlphys != null && document.dataform.dlphys[1].checked == true){
				document.dataform.with_ntos.disabled=true;
				document.dataform.with_ntos.checked=false;
			}
		} else {
			document.dataform.with_ntos.disabled=true;
		}
	}
	fix_phnr();
}

function toggleSearch2() {

	/* Wenn physisch ausgew?hlt, erweiterte Suche anw?hlbar machen
	 */
	var search=document.getElementById("further_options");
	if(search){
		search.style.visibility="visible";
	}

	/* V?-Zahlen ausblenden, wenn Downloads oder beides angeklickt in Produktrecherche,
	 * weil Abfrage falsches Ergebnis liefert
	 */
	change_voe();
	if(document.dataform.with_ntos!=null) {
		if(ival =='M') {		
			document.dataform.with_ntos.disabled=false;
			if(document.dataform.dlphys != null && document.dataform.dlphys[1].checked == true){
				document.dataform.with_ntos.disabled=true;
				document.dataform.with_ntos.checked=false;
			}
		} else {
			document.dataform.with_ntos.disabled=true;
		}
	}
	fix_phnr();
}