
/****************** Begin Global Nunhems Object *********************/
if (typeof BCSNU === "undefined") {
	var BCSNU = {}
}
/****************** End Global Nunhems Object *********************/

/****************** BEGIN Ajax Object *********************/
BCSNU.Ajax = {
	LOADING:"<div class=\"AjaxLoading\"><img src=\"../files/ico/$file/loading.gif\" class=\"Loading\" alt=\"\"></div>",
	oSource:this,
	get: function(sSourceUrl, sType, sID, fCallBack){
		this.oSource.handleRequest = fCallBack;
		var oTag = $(sID);
		new Ajax.Request(sSourceUrl,{
			method: 'get',
			onComplete: function(transport){
				var sReturn="";
				if (sType === "html") {
					sReturn=transport.responseText;
					BCSNU.Ajax.oSource.handleRequest(sID,sReturn);
				}
				else {
					sReturn=transport.responseXML;
					BCSNU.Ajax.oSource.handleRequest(sReturn);
				}
			},
			onLoading:function(){
				if (sType === "html") {
					oTag.innerHTML = BCSNU.Ajax.LOADING;
				}
			}
		});
	},
	post:function(sTargetUrl,sID){
		var oTag = $(sID);
		new Ajax.Request(sTargetUrl, {
			method: 'post',
			onComplete: function(transport) {
				oTag.innerHTML="Done";
			},
			onLoading:function(){
					oTag.innerHTML = BCSNU.Ajax.LOADING;
			}
		});
	},
	getHTML:function(sSourceUrl,sID,fCallBack){
		this.get(sSourceUrl, "html", sID, fCallBack);
	},
	getXML:function(sSourceUrl,sID,fCallBack){
		this.get(sSourceUrl, "xml", sID, fCallBack);		
	}
};
/****************** END Ajax Object *********************/

/******************  BEGIN DOM Object *********************/
BCSNU.DOM = {
	setContentByID: function(sID, sContent){
		var oTag = $(sID);
		if (oTag) {
			oTag.innerHTML = sContent;
		}
	},
	appendContentByID: function(sID, sContent){
		var oTag = $(sID);
		if (oTag) {
			oTag.innerHTML = sContent+oTag.innerHTML;
		}
	},
	setBorderStyle:function(oTag,sColor){
		$(oTag).next(".TCContent").setStyle(
			{
				borderColor:sColor
			});
	}
};
/****************** END DOM Object *********************/

/****************** Begin Nunhems Search Object *********************/
BCSNU.Search={
	submit:function(objForm,userinputfield){
		var searchstring = objForm.elements[userinputfield].value.toLowerCase();
		if (searchstring!==""&&searchstring!=="quicksearch"){
			return true;
		}
		else{
			alert(BCSNU_Labels.search_validation_error);
			return false;
		}
	}
};
/****************** End Nunhems Search Object *********************/

/****************** Begin Nunhems Form Object *********************/
BCSNU.Form = {
	openElementLink: function(objField){
		var sFieldValue = getFieldValue(objField, "select");
		if (sFieldValue.indexOf("http://") !== -1) {
			//window.open(sFieldValue, "E", "");
                location.href = sFieldValue;
		}
		else 
			if ((sFieldValue !== "") && (sFieldValue !== "#")) {
				location.href = BCSdefault.dbpath + "/id/" + sFieldValue;
			}
			else {
			}
	},
	encodeMail:function(sMailAddress,bType){
		var mailKeyClear = new Array("@",".","-","a","e","i","o","u")
		var mailKeyCipher = new Array("#1*", "#2*",	"#3*",	"#10*",	"#11*",	"#12*", "#13*",	"#14*");
		var cnt = 0;
		for(var i=0; i<mailKeyClear.length; i++) {
			cnt = 0;
				while((sMailAddress.indexOf(mailKeyCipher[i])>-1)||(cnt>500)) {
					var sMailAddress=sMailAddress.replace(mailKeyCipher[i],mailKeyClear[i]);
					cnt++;
				}
		}
		location.href="mailto:"+sMailAddress;
		//This if statement is used to return false when the method is used in the OnClick-Event. So the href is not opened.
		if (bType===true){
		}
		else{
			return false;			
		}
	}
};
/****************** End Nunhems Form Object *********************/

/****************** Begin Nunhems Picture Object *********************/
BCSNU.Picture={ 
	enlarge:function(sImgDocID,sDocID) {
		var sParam = "width=850,height=650,scrollbars=auto,resizable=yes,menubar=no,location=no,toolbar=no,status=no";	
		var sUrl = "../id/ImagePopUp?open&l="+BCSdefault.language+"&imgdocid="+sImgDocID+"&pdocid="+sDocID;
		bigpicwin = window.open(sUrl,"NewsPictureBig",sParam);
		bigpicwin.focus();
		return false;
}
};
/****************** End Nunhems Picture Object *********************/
BCSNU.NewWindow={
	open:function(sUrl){
		openNewWindow(sUrl,'400','200','0','0','scrollbars=no,resizable=no');
	}
};
/****************** Begin Crop Object *********************/
BCSNU.Crops={
	openContactsAll:function(sLocation,Country,sCropNameShort,Language){
		BCSNU.Ajax.getHTML("../id/CropSalesPeopleByAreaCountry?open&l="+Language+"&cpl="+sLocation+"&cpc="+Country+"&cpn=" + sCropNameShort, "SalesContactsAll", BCSNU.DOM.setContentByID);
		return false;
	},
	/*
	openContactsAllPage: function(sLink){
		BCSNU.Ajax.getHTML(sLink, "CropSalesPeopleByAreaCountry", BCSNU.DOM.setContentByID);
		return false;
	},
	*/
	setContentTableByID:function(sID,sContent){
		BCSNU.DOM.setContentByID(sID,sContent);
	},
	setCropTable:function(sType,ParentDocID){
		if (sType===""){
			alert(BCSNU_Labels.crops_error_crop_type);
		}
		else{
			BCSNU.Ajax.getHTML("../id/CropTable?open&tcl="+BCSdefault.language+"&tcp=" + sType+"&tcd="+ParentDocID, "CropTableContainer", BCSNU.Crops.setContentTableByID);			
		}
	},
	showSalesContactsAll:function(){
		$j("#SalesContactsAllContainer").hide();
	}
};
/****************** End Crop Object *********************/

/****************** Begin Country Contacts *********************/
BCSNU.CountryContacts={
	setOverview:function(sValue){
		BCSNU.Ajax.getHTML("../id/CountryContactsOverview?open&l="+BCSdefault.language+"&country="+sValue, "CountryContactsContainer", BCSNU.DOM.setContentByID);
		$('CenterColumn').down('.Content',4).hide();
	}
};
/****************** End Country Contacts *********************/

/************************* Begin Log *************************/
BCSdefault.Log={
	setQuery:function(oList){
		var sReturn="";
		for (var sEntry in oList){
				sReturn=sReturn+"&"+sEntry+"="+oList[sEntry];				
	            }
		return sReturn;
	}
};
/*Use for the global onerror event handler */
function createTTWLogDocument(msg, url, line){
	var oFields={
		 'msg': msg,
		 'url': url,
		 'line': line,
		 'useragent':navigator.userAgent,
		 'appcodename':navigator.appCodeName,
		 'appname':navigator.appName,
		 'appversion':navigator.appVersion,
		 'applanguage':navigator.language,
		 'platform':navigator.platform,
		 'cookieenabled':navigator.cookieEnabled
	};
	new Ajax.Request('../LogJSError?open'+BCSdefault.Log.setQuery(oFields), {method: 'post'});
	return true;
};
/************************* End Log *************************/
