/* Funktionen zum Wechsel der Bilder im Menu */

function setMainNav( nav ){
	try{
		imagename = menu2image( nav );
		if ( imagename != ''){
			$("#"+imagename).addClass('activeMenu');
		}
	} catch (e){ alert(e);	}
}

function menu2image(menuname){
	if ( menuname == 'anfrage'){ return "topMenuInquiry"; }
	if ( menuname == 'auftraege'){ return "topMenuJobs"; }
	if ( menuname == 'akt_auftraege'){ return "topMenuJobs"; }
	if ( menuname == 'lager'){ return "topMenuStock"; }
	if ( menuname == 'archiv'){ return "topMenuJobs"; }
	if ( menuname == 'kunden'){ return "topMenuCustomer"; }
	if ( menuname == 'hilfe'){ return "topMenuHelp"; }
	if ( menuname == 'angebote'){ return "topMenuOffer"; }
	if ( menuname == 'bestellungen'){ return "topMenuOrder"; }
	if ( menuname == 'shop'){ return "topMenuShop"; }
	return '';
}

function suchen(){
	try{
		searchTermField = document.getElementById("searchField");
		if ( searchTermField != null && searchTermField.value != null &&  trim(searchTermField.value) !='' ){
			//document.location.href = 'search.jsp' + '?' + 'term=' + escape( trim(searchTermField.value) );
			var form = document.getElementById("search");
			
			form.method = "post";
			form.submit();
		} else {
		// do nothing
		}
	} catch ( e ){}
}

function setSuchen(suchstring){
	var su = '';
	try{
		su = suchstring;
	} catch (ex) {
		alert(ex);
	} 
	searchTermField = document.getElementById("searchfield");
	if ( searchTermField != null){
		searchTermField.value = su;
	}
}


function enableSearch(){
	try{
		document.getElementById("searchField").removeAttribute("disabled");
	} catch (e){}
	try{
		document.getElementById("searchImg").removeAttribute("disabled");
	} catch (e){}
}

function setSearchFunction(sFunc ){
	try{
		document.getElementById("search").action=sFunc;
		document.getElementById("search").onsubmit='';
	} catch (e){}
}

function refreshDateField(displayField, hiddenField){
	liD = document.getElementById(displayField);
	li = document.getElementById(hiddenField);

	if ( liD.value == ''){
		li.value = '';
		return;
	} 

	ldate = null;
	try{
		ldate = parseDate(liD.value, isDayFirst);
		li.value = formatDate( ldate, 'yyyy-MM-dd');
	} catch (e){
		liD.style.color='red';
		liD.focus();
		alert( getMessage('js.DatumsformatFalsch') );
		return;
	}
	now= new Date();
	today = new Date( now.getFullYear(), now.getMonth(), now.getDate() );
	if ( ldate <  today ){
		li.value = '';
		liD.style.color='red';
		alert( getMessage('js.DatumInVergangenheit')  );
	} else {
		liD.style.color='';
	}
}

/* Data loading */
function dl_addChar(){
	try{
		dmsgD = document.getElementById("dl_msg");
		dmsgD.firstChild.appendData( ".");
		try{
		if ( dmsgD.firstChild.data.length % 10 == 0 ){
			dmsgD.firstChild.appendData( " ");
		}
		} catch (ee){}
		dl_start();
	} catch (e){}
}

var dl_msgTimeOut;		
function dl_start(){
	try{			
		dl_msgTimeOut = setTimeout( "dl_addChar();", 200);
	} catch (e){}
}

function dl_kill(){
	try{
		document.getElementById("dl_msg").parentNode.style.display='none';;
	} catch (e){}
	try{
		clearTimeout( dl_msgTimeOut );
	} catch (e){}
}

/* Land besteht aus ComboBox und TextField */

function changeCountry(id, idFree){
	try{
		value = document.getElementById(id).value;
		if (value == ''){
			document.getElementById(idFree).className="formular_required";
		} else {
			document.getElementById(idFree).className="formular";
		}
	} catch (e){}
}

function setLand( _land , cbxField, txtField){
	if ( _land == null || _land == "" ){
		try{
			document.getElementById(cbxField).selctedIndex = document.getElementById(cbxField).length-1 ;
		}	catch (e){}
		try{
			document.getElementById(txtField).value = "";
		}	catch (e){}
	} else {
		_cbx = document.getElementById(cbxField);
		_txt = document.getElementById(txtField);
		if ( _cbx == null ){
			_txt.value = _land;
		} else {	
			_found = false;
			_cbx.selectedIndex = _cbx.length-1 ;
			for( i = 0; i< _cbx.length-1; i++){
				if ( _cbx.options[i].text ==  _land ){
					_cbx.selectedIndex = i;
					_found = true;
					break;
				} 
			}
			_txt.value = ( _found) ? "" : _land;
		}
	}
}

function trim( oValue){
	if ( oValue.match(/\s*(\w+(\s*\w+)*)\s*/g) ){
		value =  RegExp.$1 ;
	} else {
		value = '';
	}
	if (value='undefined')
		return oValue;
	return value;
}

function checkTime( timeStr){
	if ( timeStr == null) return true;
	timeStrT = trim( timeStr );
	if ( timeStrT == '' ) return true;
	parts = timeStrT.split(":");
	if ( parts.length != 2  ) return false;
	try{
		if ( parseInt(parts[0]) > 23 || parseInt(parts[0]) < 0 ){
			return false;
		}
		if ( parseInt(parts[1]) > 59 || parseInt(parts[1]) < 0 ){
			return false;
		}
	} catch (e){ return false; }
	return true;
}

function setRADestination( dest){
	try{
		$("#raForm").attr("action",dest);
	} catch (e){
	}
}

function gotoRADestination(){
	try{
		if ( $("#raForm").attr("action") != null){
			$("#raForm").get(0).submit();
		}
	} catch (e){
	}
}

function radioValue(rObj) {
  for (var i=0; i<rObj.length; i++) if (rObj[i].checked) return rObj[i].value;
  return false;
}

function getPosition(element){
  var elem=element,tagname="",x=0,y=0;
  
  while ((typeof(elem)=="object")&&(typeof(elem.tagName)!="undefined")){
    y+=elem.offsetTop;     
    x+=elem.offsetLeft;    

    if (elem.tagName.toUpperCase() =="BODY")
      elem=0;

    if (typeof(elem)=="object")
	     if (typeof(elem.offsetParent)=="object")
	        elem=elem.offsetParent;
	}

	position=new Object();
	position.x=x;
	position.y=y;
	return position;
}

function isNumber(value) {
    var re = /^[-]?\d*\.?\d*$/;
    value = value.toString();
    if (!value.match(re)) {
        return false;
    }
    return true;
}

function getHeightOfElement( element ){
	var elemHeight = 0;
	if(element.offsetHeight){
    	elemHeight=element.offsetHeight;
		} else if(element.style.pixelHeight){
    	elemHeight=element.style.pixelHeight;
		}
		return elemHeight; 
}

function logToServer( logMsg, logPrefix, logLevel){
	respText = $.ajax({
		  url: getAppPath()+"/serverLogging.jsp",
		  data: "logMessage="+logMsg+"&logPrefix="+logPrefix+"&logLevel="+logLevel,
		  async: false,
		  cache: false,
		  dataType: "text"
		}).responseText;
	
	//alert("respText");
}

function doAutoLogoutTest(){
	// CheckOnServer
	try{
		xmlDocument = $.ajax({
		  url: getServerStatusURL(),
		  data: "",
		  async: false,
		  dataType: "xml"
		}).responseXML;
		newTimeOut = $( "value[name='timeOut']" , xmlDocument).text();
		if ( newTimeOut <= 10 ){
			// timeout ausloesen
			try{
				doAutoLogout();
			} catch (e){}
		} else if ( newTimeOut <= 20 ){
			// timeout nach kuerzerem Intervall abfragen
			window.setTimeout("doAutoLogoutTest()", 10*1000);
		} else {
			window.setTimeout("doAutoLogoutTest()", 20*1000);
			// Timer neu setzten
		}
	} catch ( e ){}
}

function limitText(field, textLimit) {
	if ( field == null || textLimit <= 0){
		return;
	}
	try{
		if ($(field).val().length > textLimit) {
			$(field).val( $(field.val()).substring(0, textLimit) );
		} 
	} catch (e){} 
}


function addJQueryFunctions(){
	try{
		if ( typeof jQuery.fn == 'function'){
		// ok, schon da
		} else {
			jQuery.fn.center = function () {
				this.css("position","absolute");
				this.css("top", (($(window).height() - this.outerHeight()) / 2) + $(window).scrollTop() + "px");
				this.css("left", (($(window).width() - this.outerWidth()) / 2) + $(window).scrollLeft() + "px");
				return this;
			}
		}
	} catch ( e){}
}



