﻿//**********************************************************************************************|
//                 configuration section                                                       *|

// configuration of global pathes
var pathToImages = "http://www.baustoffkatalog.com/App_tehmes/Images/";
var linkToManager = "http://manager.baustoffkatalog.com";

var cIP = pathToImages + 'close.gif';
var ar = pathToImages + 'ar.gif';
var px = pathToImages + 'px.gif';
var wong = pathToImages + 'wong.gif';
var delicious = pathToImages + 'delicious18.gif';
		
// configuration of global variables 

var contBCPropertiesArticleData = 'actionBox';
var contBCProductSupplierProduct = 'actionBoxProduct';
var contBCProductSupplierProductSupplier = 'actionBoxProductSupplier';
var contSupplierInformation = 'supplierInformationBox';
var contSupplierActionBoxContSupplier = 'actionBoxContSupplier';
var requestForm = 'sendRequestForm';
// constants to define the title of the alert and button text.
var ALERT_TITLE = "Fehlende Angabe";
var ALERT_BUTTON_TEXT = "Ok";
				
//               /configuration section														   *|
//**********************************************************************************************|


//**********************************************************************************************|
// often required functions                                                                    *|


String.prototype.leftTrim = function () {
    return (this.replace(/^\s+/,""));
  };
  String.prototype.rightTrim = function () {
    return (this.replace(/\s+$/,""));
  };
  String.prototype.rightTrimCharacter = function (character) {
    return (this.replace(/\character+$/,""));
  };
//kombiniert "leftTrim" und "rightTrim";
  String.prototype.basicTrim = function () {
    return (this.replace(/\s+$/,"").replace(/^\s+/,""));
  };
//removes sequences of whitespaces and replaces them with one single whitespace;
  String.prototype.superTrim = function () {
    return(this.replace(/\s+/g," ").replace(/\s+$/,"").replace(/^\s+/,""));
  };

//zugabe: removes all whitespaces;
  String.prototype.removeWhiteSpaces = function () {
    return (this.replace(/\s+/g,""));
  };
//easy step direct for string object. with prototype i can augment any object in javascript.
//so next lines will enable a trim fu7nction for any string.
String.prototype.trim = function () {
    return this.replace( /^\s*(\S*(\s+\S+)*)\s*$/, "$1");
}

// /often required functions                                                                  *|
//*********************************************************************************************|

//**********************************************************************************************|
// global dialogs                                                                              *|
/*
function dialog(msg) {
  Dialog.alert(msg, 
               {windowParameters: {className: "alphacube", width:300, height:100}, okLabel: "OK", 
                ok:function(win) {debug("validate alert panel"); return true;}, cancel:function(win) {debug("validate cancel panel"); return true;}});

}*/
// /global dialogs                                                                            *|
//*********************************************************************************************|

// create bookmarks
var bookmarks = null;
var bookmarkType = "product";
var tagsToCompare = null;


function onShowBookmark(result)
	{
		bookmarks = eval(result);
	}

 
function abort(elem)
{
	//var replacement = ""; 
	//document.getElementById(elem).innerHTML = replacement;
	var obj = document.getElementById(elem); //.innerHTML = '';
	while(obj.firstChild) obj.removeChild(obj.firstChild);
}
function delMyArt(pUserId, pArticleId)
{
	fdata.BCR.View.BCRWS.DelMyArt(pUserId, pArticleId, reload);
}
function reload(result)
{
	document.location.reload();
}
function openDelRequestForMyArt(pArticleId)
{
	fdata.BCR.View.BCRWS.OpenDelRequestForMyArt(pUserId, pArticleId, onOpenPriceRequestForRefArt);
}
function openPriceRequestForArt(pArticleId)
{
	fdata.BCR.View.BCRWS.OpenPriceRequestForArt(pArticleId, onOpenPriceRequestForArt);
}
function onOpenPriceRequestForArt(result)
{
	var json = eval("(" + result + ")");
	document.getElementById(json.articleId).innerHTML = json.longText;	
}

function isInteger (s)
{
  var i;

  if (isEmpty(s))
  if (isInteger.arguments.length == 1) return false;
  else return (isInteger.arguments[1] == true);

  for (i = 0; i < s.length; i++)
  {
     var c = s.charAt(i);

     if (!isDigit(c)) return false;
  }

  return true;
}
function custRound(x,places) {
	return (Math.round(x*Math.pow(10,places)))/Math.pow(10,places)
}

function putArtInBasket(pClassId, pArticleId, pUserId)
{
	var quantity = typeof document.getElementById(pArticleId + 'ART').value != 'undefined'? document.getElementById(pArticleId + 'ART').value : 1.000;
	//var quantity = document.getElementById(pArticleId + 'ART').value;
	quantity =  quantity.replace(/,/gi, '.');
	quantity = custRound(quantity, 3);
	
	if(isNaN(parseFloat(quantity)))
		quantity = 1.000;
	if(parseFloat(quantity) != 0)
	{
		fdata.BCR.View.BCRWS.PutArtInBasket(pClassId, pArticleId, pUserId, quantity, onPutArtInBasket);
	}
	else
		abort(pArticleId);
}
function noDistributerForPriceRequest()
{
	alert("Für diese Artikel sind derzeit noch keine Baustoffhändler verfügbar.");
}
function onPutArtInBasket(result)
{
	var idL = 'L' + result;
	var idA = 'A' + result;
	
	document.getElementById(idL).src = pathToImages + 'myIsInCat.gif';
	document.getElementById(idA).href = 'javascript:alreadyInRequest()';
	abort(result);
	setArticleCount();
}
function alreadyInRequest()
{
	alert("Der Artikel befindet sich bereits in Ihrem Warenkorb");
}
function openPriceRequestForRefArt(pArticleId, pClassId, pUserId)
{
	fdata.BCR.View.BCRWS.OpenPriceRequestForArt(pClassId, pArticleId, pUserId, onOpenPriceRequestForRefArt);
}
function onOpenPriceRequestForRefArt(result)
{
	var json = eval("(" + result + ")");
	document.getElementById(json.articleId).innerHTML = json.longText;	
}

function listRefArticles()
{
	document.getElementById(idAdd + '_listAll').className='';
	document.getElementById(idAdd + '_listNeutr').className='myCatalogClassNavSel';
	document.getElementById(idAdd + '_listAssort').className='';
	fdata.BCR.View.BCRWS.ListArticleBookmark(pUserId, pIdx, 1, pCId, pTag, pTNav, onListArticleBookmark);
}
function listSupArticles()
{
	document.getElementById(idAdd + '_listAll').className='';
	document.getElementById(idAdd + '_listNeutr').className='';
	document.getElementById(idAdd + '_listAssort').className='myCatalogClassNavSel';
	fdata.BCR.View.BCRWS.ListArticleBookmark(pUserId, pIdx, 2, pCId, pTag, pTNav, onListArticleBookmark);
}
function listAllArticles()
{
	document.getElementById(idAdd + '_listAll').className='myCatalogClassNavSel';
	document.getElementById(idAdd + '_listNeutr').className='';
	document.getElementById(idAdd + '_listAssort').className='';
	fdata.BCR.View.BCRWS.ListArticleBookmark(pUserId, pIdx, 0, pCId, pTag, pTNav, onListArticleBookmark);
}
function onListArticleBookmark(result)
{
	document.getElementById(idAdd + '_articleTable').innerHTML = result;
}
function openMyCatForArtForbidden(pArticleId)
{
	fdata.BCR.View.BCRWS.OpenMyCatForArtForbidden(pArticleId, onOpenMyCatForArt);
}
function openMyCatForArt(pArticleId)
{
	fdata.BCR.View.BCRWS.OpenMyCatForArt(pArticleId, onOpenMyCatForArt);
}	
function onOpenMyCatForArt(result)
{
	fdata.BCR.View.BCRWS.GetTagsOfAllArticles(pUserId, onShowBookmark);
	var json = eval("(" + result + ")");
	document.getElementById(json.articleId).innerHTML = json.longText;
	var btnId = "btn" + json.articleId;
	if(document.getElementById(btnId))
	{
		document.getElementById(btnId).focus();	
	}
}
function openMyCatForRefArt(pArticleId)
{
	fdata.BCR.View.BCRWS.OpenMyCatForRefArt(pArticleId, onOpenMyCatForRefArt);
}	

function onOpenMyCatForRefArt(result)
{
	fdata.BCR.View.BCRWS.GetTagsOfAllRefArticles(pUserId, onShowBookmark);
	var json = eval("(" + result + ")");
	document.getElementById(json.articleId).innerHTML = json.longText;	
	var btnId = "btn" + json.articleId;
	document.getElementById(btnId).focus();
}
function showBookmarkBox(elem, type)
	{
		if(type.length > 0)
			bookmarkType = type;
		var msg = "";
		if(type == "supplier")
			msg = "Speichern Sie sich ein Lesezeichen auf diesen Hersteller und vergeben Sie  beliebig viele eigene Stichworte (durch Kommas getrennt), um ihn zu klassifizieren und schnell wiederzufinden";
		else
			msg = "Speichern Sie sich ein Lesezeichen auf diese Produktgruppe und vergeben Sie beliebig viele Stichworte (getrennt durch Kommas), um sie zu klassifizieren und schnell wiederzufinden.";
		document.getElementById(elem).innerHTML = returnBookmarkBox(elem, msg);
		fdata.BCR.View.BCRWS.GetTagsOfAllBookmarks(pUserId, onShowBookmark);
		document.getElementById('bez').value = pHead;
	}
function setKeyWord(keyword)
    {
		var currentString = document.getElementById('sw').value;
		currentString = currentString.superTrim();
		currentString = currentString.basicTrim();
		var tokenizer = "";
		var arr = currentString.split(',');
		if(arr.length > 1)
			tokenizer = ",";
		arr.pop();
		document.getElementById('sw').value = arr + tokenizer + keyword;
		
		document.getElementById('instantSearch').innerHTML = "";
		document.getElementById('sw').focus();
	
    }
function displayTagsInBasket(queryStringL, pUserId)
	{
		tagsToCompare = queryStringL;
		//if(bookmarks == null)
			fdata.BCR.View.BCRWS.GetTagsOfAllBookmarks(pUserId, onDisplayTagsInBasket);	
		//else
			//onDisplayTagsInBasket(bookmarks);
	}
function displayArtTags(queryStringL, pUserId)
	{
		tagsToCompare = queryStringL;
		//if(bookmarks == null)
			fdata.BCR.View.BCRWS.GetTagsOfAllArts(pUserId, onDisplayTagsInBasket);	
		//else
			//onDisplayTagsInBasket(bookmarks);
	}
function onDisplayTagsInBasket(result)
	{
		bookmarks = eval(result);
		var queryStringL = tagsToCompare;
		var queryString = "";
		if(queryStringL.search(',') >= 0)
		{
			queryString = queryStringL.split(',').pop().basicTrim();
		}
		else
			queryString = queryStringL.basicTrim();
		var foundBookmarks = new Array();
		if(bookmarks.length > 0)
		{
			for(i=0;i<bookmarks.length;i++)
			{
				if(bookmarks[i].Name.search(queryString) != -1)
					foundBookmarks.push(bookmarks[i].Name);
			}
		}
		
		var list = "<div class=\"row\"><div class=\"lbl\"><label for=\"\">Vorschläge</label></div><div style=\"float:left\">";
		var counter = 10;
		if(foundBookmarks.length < 10)
			counter = foundBookmarks.length;
		for(i=0;i<counter;i++)
		{
			
			list += "<a style=\"text-decoration:none;\" href=\"javascript:setKeyWord('" + foundBookmarks[i] + "')\"><img src=\"" + ar + "\" />" + foundBookmarks[i] + "</a>";
			list += " ";
		}
		list += "</div></div>";
		instantSearchPos = 0;
		if(foundBookmarks.length > 0)
			document.getElementById('instantSearch').innerHTML = list;
	}
function displayTags(queryStringL)
    {
		var queryString = "";
		if(queryStringL.search(',') >= 0)
		{
			queryString = queryStringL.split(',').pop().basicTrim();
		}
		else
			queryString = queryStringL.basicTrim();
		var foundBookmarks = new Array();
		if(bookmarks.length > 0)
		{
			for(i=0;i<bookmarks.length;i++)
			{
				if(bookmarks[i].Name.search(queryString) != -1)
					foundBookmarks.push(bookmarks[i].Name);
			}
		}
		var list = "<div class=\"row\"><div class=\"lbl\"><label for=\"\">Vorschläge</label></div><div style=\"float:left\">";
		var counter = 10;
		if(foundBookmarks.length <= 10)
			counter = foundBookmarks.length;
		for(i=0;i<counter;i++)
		{
			
			list += "<a style=\"text-decoration:none;\" href=\"javascript:setKeyWord('" + foundBookmarks[i] + "')\"><img src=\"" + ar + "\" />" + foundBookmarks[i] + "</a> ";
			
		}
		list += "</div></div>";
		instantSearchPos = 0;
		if(foundBookmarks.length > 0)
			document.getElementById('instantSearch').innerHTML = list;
		
	}
	function CreateArticleBookmark(pArticleId)
	{
		var catchwords = delMaliciousSigns(document.getElementById('sw').value);
		var catchwordTmpArr = catchwords.split(',');
		var catchwordArr = new Array();
		catchwordArr = returnArrayNonEmpty(catchwordTmpArr);
        var pCatchwords = "";
        for(var i=0;i<catchwordArr.length;i++)
        {
			pCatchwords += catchwordArr[i].toLowerCase();
			if((i+1)<catchwordArr.length)
				pCatchwords += ",";
		}
		fdata.BCR.View.BCRWS.CreateArticleBookmark(pArticleId, pCatchwords, pUserId, onCreateReferenceArticleBookmark);
	}
	/*
	function onCreateArticleBookmark(result)
	{
		var json = eval("(" + result + ")");
		abort(json.id);
	}
	*/
	function CreateReferenceArticleBookmark(pArticleId)
	{
		var catchwords = delMaliciousSigns(document.getElementById('sw').value);
		var catchwordTmpArr = catchwords.split(',');
		var catchwordArr = new Array();
		catchwordArr = returnArrayNonEmpty(catchwordTmpArr);
        var pCatchwords = "";
        for(var i=0;i<catchwordArr.length;i++)
        {
			pCatchwords += catchwordArr[i].toLowerCase();
			if((i+1)<catchwordArr.length)
				pCatchwords += ",";
		}
		fdata.BCR.View.BCRWS.CreateReferenceArticleBookmark(pArticleId, pCatchwords, pUserId, onCreateReferenceArticleBookmark);
	}
	function onCreateReferenceArticleBookmark(result)
	{
		var json = eval("(" + result + ")");
		abort(json.id);
		if(json.succeeded)
		{
			var idP = json.id + 'P';
			var idA = json.id + 'A';
			document.getElementById(idP).src = myIsInCat;
			document.getElementById(idA).href = 'javascript:alreadyInBasket()';
		}
	}
	function alreadyInBasket()
	{
		alert('Den Artikel haben sie bereits in Ihren Katalog gelegt!');
	}
	function delMaliciousSigns(str)
	{
		return str.replace(/(<.*>)/gi, '');
		
	}
    function createBookmark()
    {
        var caption = delMaliciousSigns(document.getElementById('bez').value);
        var catchwords = delMaliciousSigns(document.getElementById('sw').value);
        var remark = delMaliciousSigns(document.getElementById('remark').value);
        var catchwordTmpArr = catchwords.split(',');
		var catchwordArr = new Array();
		catchwordArr = returnArrayNonEmpty(catchwordTmpArr);
        var pCatchwords = "";
        for(var i=0;i<catchwordArr.length;i++)
        {
			pCatchwords += catchwordArr[i].toLowerCase();
			if((i+1)<catchwordArr.length)
				pCatchwords += ",";
		}
		fdata.BCR.View.BCRWS.CreateBCBookmark(caption, pCatchwords, pClassOrSuppId, remark, pUserId, bookmarkType, contBCPropertiesArticleData, onCreateBookmark);
		
	}
	function alreadyInBookmark()
	{
		alert('Den Baustoff haben sie bereits in Ihren Katalog gelegt!');
	}
	function onCreateBookmark(result)
	{
		var json = eval("(" + result + ")");
		if(json.retValue)
        {
			var idBMA = json.id + 'BMA';
			var idBM = json.id + 'BM';
			var msg = "<fieldset style=\"margin-left:15px;\">" +
						//"<img align=\"right\" src=\"" + cIP + "\" onclick=\"abort('" + json.elemToReplace + "')\" width=\"16\" height=\"14\" border=\"0\" alt=\"schließen\" />" +
						"Ihr Lesezeichen wurde in <img src=\"" + ar + "\" /><a href=\"" + target + "\">Mein Katalog/Notizbuch </a> gespeichert!" +
					  "</fieldset>";
			document.getElementById(idBMA).href = "javascript:alreadyInBookmark()";
			document.getElementById(idBM).src = myIsInBookmark;
			document.getElementById(json.elemToReplace).innerHTML =  msg;
			
        }
        else
            document.getElementById(json.elemToReplace).innerHTML = "<fieldset style=\"margin-left:15px;\">" +
						//"<img align=\"right\" src=\"" + cIP + "\" onclick=\"abort('" + json.elemToReplace + "')\" width=\"16\" height=\"14\" border=\"0\" alt=\"schließen\" />" +
						"Beim erstellen Ihres Lesezeichens ist ein Fehler aufgetreten!" +
					  "</fieldset>";
    }
    
	//documentEvent = document.event;
	function checkKeyEvent(event)
	{/*
		if(event.keyCode == 13)
		{
			createBookmark();
			if(event.preventDefault)
				event.preventDefault();
			else
				event.returnValue = false;
			
		}*/
	}
	function closeTagTip(elemId)
	{
		var obj = document.getElementById(elemId); //.innerHTML = '';
		while(obj.firstChild) obj.removeChild(obj.firstChild);
	}
	function openTagTip(elemId)
	{
		var msgBox = "<div style=\"border:solid 1px #999;\"><div style=\"padding:6px;border-bottom: solid 1px #999;background:rgb(100,0,0);color:#fff;clear:both;height:1.4em;\"><div style=\"float:left;\">Hilfe: Lesezeichen anlegen</div> <div style=\"float:right;cursor:pointer\" onclick=\"closeTagTip('tagTip')\">X</div></div><div style=\"clear:both;padding:6px;background:#fff;font-size:12px;\">" + 
		"Das Anlegen eines Lesezeichens bietet Ihnen die Möglichkeit, zusammengestellte Produktgruppen bzw. Hersteller an einem Platz zu verwalten." +
		"<p>Durch die Vergabe von ausgewählten Stichworten, können Sie Lesezeichen zu Gruppen zusammenfassen und ihnen so eine Struktur verleihen. " +
		"So können Sie beispielsweise allen Produktgruppen, bei denen es sich um Rohre handelt, das Stichwort <span style=\"font-size:10px;font-weight:600;\">Rohr</span> zuordnen.</p>" +
		"<p>Sie können ein Lesezeichen auch mehreren Stichwörtern zuweisen. Dazu trennen Sie die Stichworte mittels Komma.</p>" +
		"</div></div>";
		if(document.getElementById(elemId).innerHTML.length > 0)
			document.getElementById(elemId).innerHTML = "";
		else
			document.getElementById(elemId).innerHTML = msgBox;
	}
	function saveTagList(pArticleId, pUserId, pAssortmentId)
	{
		var id = "tagList" + pAssortmentId;
		var tagList = delMaliciousSigns(document.getElementById(id).value);
		fdata.BCR.View.BCRWS.SaveTagList(pArticleId, pUserId, pAssortmentId, tagList, onDisplayArticleLongText);	
	}
	function saveSuppTagList(pArticleId, pUserId, pAssortmentId)
	{
		var id = "tagList" + pAssortmentId;
		var tagList = delMaliciousSigns(document.getElementById(id).value);
		fdata.BCR.View.BCRWS.SaveSuppTagList(pArticleId, pUserId, pAssortmentId, tagList, onDisplayArticleLongText);	
	}
	function displayRefArticleLongTextMyCat(pArticleId, pUserId, pAssortmentId)
	{
		fdata.BCR.View.BCRWS.DisplayRefArticleLongTextMyCat(pArticleId, pUserId, pAssortmentId, onDisplayArticleLongText);	
	}
	function displaySuppArticleLongTextMyCat(pArticleId, pAssortmentItemId, pUserId)
	{
		fdata.BCR.View.BCRWS.DisplaySuppArticleLongTextMyCat(pArticleId, pAssortmentItemId, pUserId, onDisplayArticleLongText);	
	}
	function displayArticleLongText(pArticleId)
	{
		fdata.BCR.View.BCRWS.DisplayArticleLongText(pArticleId, onDisplayArticleLongText);	
	}
	function displaySupplierArticleLongText(pArticleId)
	{
		fdata.BCR.View.BCRWS.DisplaySupplierArticleLongText(pArticleId, onDisplayArticleLongText);	
	}
	function onDisplayArticleLongText(result)
	{
		var json = eval("(" + result + ")");
		document.getElementById(json.articleId).innerHTML = json.longText;	
	}
	function displayRealArticleLongText(pArticleId)
	{
		fdata.BCR.View.BCRWS.DisplayRealArticleLongText(pArticleId, onDisplayArticleLongText);
	}
	function returnBookmarkBox(elem, msg)
	{
		contBCPropertiesArticleData = elem;
		contSupplierInformation = elem;
		var bookmarkBox = "<fieldset style=\"width:50%;margin-left:25px;\">" +
							"<div class=\"title\">Lesezeichen anlegen</div>" +
							"<div class=\"row\">" +
							msg +
							"</div><br />" +
							"<div class=\"row\">" +
							"<div class=\"lbl\"><label for=\"\">Bezeichnung</label></div>" +
								"<input id=\"bez\" class=\"inp1\" type=\"text\" />" +
							"</div>" +
							"<div class=\"row\">" +
								"<div class=\"lbl\"><label for=\"\">Stichworte</label></div>" +
									"<input autocomplete=\"off\" id=\"sw\" onkeydown=\"checkKeyEvent(event)\" onkeyup=\"(displayTags(this.value))\" class=\"inp1\" type=\"text\" />" +
							"</div>" +
							"<div style=\"\" id=\"instantSearch\"></div>" +
							"<div class=\"row\">" +
								"<div class=\"lbl\"><label for=\"\">Bemerkung</label></div>" +
								"<textarea id=\"remark\" rows=\"5\" cols=\"\" class=\"inp1\"></textarea>" +
							"</div>" +
							"<div class=\"inp1Subm\">" +
								"<input class=\"submit\" type=\"button\" name=\"\" value=\"Speichern\" onclick=\"createBookmark()\" /> " +
								"<input class=\"submit\" type=\"button\" name=\"\" value=\"Abbrechen\" onclick=\"abort('" + elem + "')\" />" +
							"</div>" +
						"</fieldset>";
						
		return bookmarkBox;
	}
				
// change bookmark (class)
//elemToReplace stands for both. The very important classId and a position in the dom
//So be careful and change the source only if you are surely know what you are goining to do.
var elemToReplace;
var user;

function getBasketList(pUserId, pBasketProductId, typeOfBasketEntry, showDetails, type, action,idx) 
{
	elemToReplace = pBasketProductId;
    user = pUserId;
    fdata.BCR.View.BCRWS.GetBasketList(pUserId, pBasketProductId, typeOfBasketEntry, showDetails, type, action, idx, onGetBasketList);
}
 
function getBasketListReload(pUserId, pBasketProductId, typeOfBasketEntry, showDetails, type, action, idx) 
{
	fdata.BCR.View.BCRWS.GetBasketList(pUserId, pBasketProductId, typeOfBasketEntry, showDetails, type, action, idx, onGetBasketList);
}

function openBrandDetails(pBrandId, pSupplierId)
{
	fdata.BCR.View.BCRWS.OpenBrandDetails(pBrandId, pSupplierId, onOpenBrandDetails);
}
function onOpenBrandDetails(result)
{
	var json = eval("(" + result + ")");
	document.getElementById(json.id).innerHTML = json.details;
}

function returnArrayNonEmpty(array) {
	var tempArray = new Array();
	for(var i=0; i<array.length;i++)
	{
		array[i] = array[i].basicTrim();
		array[i] = array[i].superTrim();
		if(array[i] != '')
			tempArray.push(array[i]);
	}
	return tempArray;
}
function saveBCBookmark(pTypeOfBasketEntry, pUserId, pBasketClassEntryId, pBmId)
{
	var pCaption = delMaliciousSigns(document.getElementById('bez').value);
    var catchwords = delMaliciousSigns(document.getElementById('sw').value);
    var pRemark = delMaliciousSigns(document.getElementById('remark').value);
    var catchwordTmpArr = catchwords.split(',');
    var catchwordArr = new Array();
    catchwordArr = returnArrayNonEmpty(catchwordTmpArr);
		
    var pCatchwords = "";
    var counter = 0;
    for(var i=0;i<catchwordArr.length;i++)
    {
		counter +=1;
		if(catchwordArr[i] != '')
		{
			pCatchwords += catchwordArr[i].toLowerCase();
			if(counter < catchwordArr.length)
				pCatchwords += ",";
			
		}
    } 
    fdata.BCR.View.BCRWS.SaveBCBookmark(pTypeOfBasketEntry, pCaption, pCatchwords, pRemark, pUserId, pBmId, pBasketClassEntryId, onSaveBCBookmark);
}

function onSaveBCBookmark(result)
{
	var json = eval("(" + result + ")");
	
	document.getElementById(json.tagReplace).innerHTML = json.tags;
	closeGetBasketList(json.user, json.basketId, json.bmId)
}
//vars to hold global data for selected tag and types of bookmarks to display
var selectedTag = 'all';
var selectedBMType = '';
function displayClassBookmarks()
{
	pTagName = selectedTag;
	selectedBMType = 'cl';
	elemToReplace = "basketList";
	document.getElementById('allClassBM').className='bmTypeSelected';
	document.getElementById('allSupplierBM').className='';
	document.getElementById('allBM').className='';
	if(pTagName == 'all')
	{
		document.getElementById('selection').innerHTML = "";
		fdata.BCR.View.BCRWS.GetBasketList(pUserId, "", "cl", "false", "", pTagName, 0, onGetBasketList);	
	}
	else
	{
		document.getElementById('selection').innerHTML = "(" + pTagName + ")";
		fdata.BCR.View.BCRWS.GetBasketList(pUserId, "", "cl", "false", "wordCloud", pTagName, 0, onGetBasketList);
	}
}
function displaySupplierBookmarks()
{
	pTagName = selectedTag;
	selectedBMType = 'su';
	elemToReplace = "basketList";
	document.getElementById('allSupplierBM').className='bmTypeSelected';
	document.getElementById('allClassBM').className='';
	document.getElementById('allBM').className='';
	if(pTagName == 'all')
	{
		document.getElementById('selection').innerHTML = "";
		fdata.BCR.View.BCRWS.GetBasketList(pUserId, "", "su", "false", "", pTagName, 0, onGetBasketList);	
	}
	else
	{
		document.getElementById('selection').innerHTML = "(" + pTagName + ")";
		fdata.BCR.View.BCRWS.GetBasketList(pUserId, "", "su", "false", "wordCloud", pTagName, 0, onGetBasketList);
	}
}
function displayAllBookmarks(pUserId, pTagName)
{
	selectedTag = pTagName;
	elemToReplace = "basketList";
	selectedBMType = '';
	//change style off all
	document.getElementById('allSupplierBM').className='';
	document.getElementById('allClassBM').className='';
	document.getElementById('allBM').className='bmTypeSelected';
	if(pTagName == 'all')
	{
		document.getElementById('selection').innerHTML = "";
		fdata.BCR.View.BCRWS.GetBasketList(pUserId, "", "", "false", "", pTagName, 0, onGetBasketList);	
	}
	else
	{
		document.getElementById('selection').innerHTML = "(" + pTagName + ")";
		fdata.BCR.View.BCRWS.GetBasketList(pUserId, "", "", "false", "wordCloud", pTagName, 0, onGetBasketList);
	}
}
function displayBookmarks(pUserId, pTagName)
{
	selectedTag = pTagName;
	elemToReplace = "basketList";
	//change style off all
	if(selectedBMType == 'cl')
	{
		document.getElementById('allBM').className='';
		document.getElementById('allSupplierBM').className='';
		document.getElementById('allClassBM').className='bmTypeSelected';
	}
	else if(selectedBMType == 'su')
	{
		document.getElementById('allBM').className='';
		document.getElementById('allSupplierBM').className='bmTypeSelected';
		document.getElementById('allClassBM').className='';
	}
	else
	{
		document.getElementById('allBM').className='bmTypeSelected';
		document.getElementById('allSupplierBM').className='';
		document.getElementById('allClassBM').className='';
	}
	if(pTagName == 'all')
	{
		document.getElementById('selection').innerHTML = "";
		fdata.BCR.View.BCRWS.GetBasketList(pUserId, "", "", "false", "", pTagName, 0, onGetBasketList);	
	}
	else
	{
		document.getElementById('selection').innerHTML = "(" + pTagName + ")";
		fdata.BCR.View.BCRWS.GetBasketList(pUserId, "", selectedBMType, "false", "wordCloud", pTagName, 0, onGetBasketList);
	}
}
function onGetBasketList(result) 
{
	if(elemToReplace == '')
		elemToReplace = idAdd + '_liProductsInBasket';
	document.getElementById(elemToReplace).innerHTML = result;
	if(user)
		fdata.BCR.View.BCRWS.CreateTagCloud(user, onCreateTagCloud)
}
function onCreateTagCloud(result)
{
	document.getElementById('tagCloud').parentNode.innerHTML = result;
}
function onGetBasketListReload(result) {
			rootNode = document.getElementById(elemToReplace).parentNode;
            rootNode.innerHTML = result;
		}		
		
function removeBookmark(pTypeOfBasketEntry, pUserId, pBasketEntryId, pType, pAction, pIdx)
{
	user = pUserId;
    elemToReplace = 'basketList';
    fdata.BCR.View.BCRWS.RemoveBookmark(pTypeOfBasketEntry, pUserId, pBasketEntryId, pType, pAction, pIdx, onRemoveBookmark);
}
function onRemoveBookmark(result)
{
	var json = eval("(" + result + ")");
	var user = json.user;
	var action = json.action;
	var type = json.type;
	var index = json.idx;
	var typeOfBasketEntry = json.typeOfBasketEntry;
    getBasketListReload(user, "", typeOfBasketEntry, false, type, action, index);
}

function closeGetBasketList(pUserId, pBasketProductId, pBookmarkId)
{
	document.getElementById(pBasketProductId).innerHTML = "";
	fdata.BCR.View.BCRWS.CreateTagCloud(pUserId, onCreateTagCloud);
}

// change bookmark (supplier)
/*
function getBasketSupplierList(pUserId, pBasketSupplierId, showDetails, type, action, idx) 
{
    elemToReplace = pBasketSupplierId;
    user = pUserId;
    fdata.BCR.View.BCRWS.GetBasketSupplierList(pUserId, pBasketSupplierId, showDetails, type, action, idx, onGetBasketSupplierList);
}
function onGetBasketSupplierList(result) 
{
	if(elemToReplace == '')
		elemToReplace = 'basketSupplierList';	
    document.getElementById(elemToReplace).innerHTML = result;
    if(user)
		fdata.BCR.View.BCRWS.CreateTagCloud(user, onCreateTagCloud);
}
function closeGetBasketSupplierList(pUserId, pBasketSupplierId, pBookmarkId)
{
	fdata.BCR.View.BCRWS.CloseGetBasketSupplierList(pUserId, pBasketSupplierId, pBookmarkId, onCloseGetBasketSupplierList)
}
function onCloseGetBasketSupplierList(result)
{	
	var tagList = eval("(" + result + ")");
	document.getElementById(tagList.basketSupplierId).innerHTML = tagList.tags;
	if(user)
		fdata.BCR.View.BCRWS.CreateTagCloud(user, onCreateTagCloud);
}
function getBasketSupplierListReload(pUserId, pBasketSupplierId, showDetails, type, action, pIdx) 
{
	fdata.BCR.View.BCRWS.GetBasketSupplierList(pUserId, pBasketSupplierId, showDetails, type, action, pIdx, onGetBasketSupplierListReload);
}
function onGetBasketSupplierListReload(result) 
{
	rootNode = document.getElementById(elemToReplace).parentNode;
	rootNode.innerHTML = result; 
	if(user)
		fdata.BCR.View.BCRWS.CreateTagCloud(user, onCreateTagCloud);
}

function saveBCSupplierBookmark(pUserId, pBasketSupplierEntryId, pBmId)
{
	var pCaption = document.getElementById('bez').value;
    var catchwords = document.getElementById('sw').value;
    var pRemark = document.getElementById('remark').value;
    var catchwordTmpArr = catchwords.split(',');
    var catchwordArr = new Array();
    
    catchwordArr = returnArrayNonEmpty(catchwordTmpArr);
    
    var pCatchwords = "";
    for(var i=0;i<catchwordArr.length;i++)
    {
		pCatchwords += catchwordArr[i].toLowerCase();
		if((i+1)<catchwordArr.length)
			pCatchwords += ",";
    } 
    fdata.BCR.View.BCRWS.SaveBCSupplierBookmark(pCaption, pCatchwords, pRemark, pUserId, pBmId, pBasketSupplierEntryId, onCloseGetBasketSupplierList);
}

function displaySupplierBookmarks(pUserId, pTagName)
{
	elemToReplace = "basketSupplierList";
	if(pTagName == 'all')
	{
		fdata.BCR.View.BCRWS.GetBasketSupplierList(pUserId, "", "false", "", pTagName, 0, onGetBasketSupplierList);	
	}
	else
	{
		fdata.BCR.View.BCRWS.GetBasketSupplierList(pUserId, "", "false", "wordCloud", pTagName, 0, onGetBasketSupplierList);
	}
}
*/
function onCreateTagCloud(result)
{
	document.getElementById('tagCloud').parentNode.innerHTML = result;
}

// For Bookmark in Browser
function CreateBookmarkLink(pTitle) 
{
	var title = pTitle; 
	url = location.href;
	if (window.sidebar) 
	{ // Mozilla Firefox Bookmark
		window.sidebar.addPanel(title, url,"");
	} 
	else if( window.external ) 
	{ // IE Favorite
		window.external.AddFavorite( url, title); 
	}
	else if(window.opera && window.print) 
	{ // Opera Hotlist
		return true; 
	}
}
function displayCommonInofs(elemToReplace)
{
	showLinkMsg = "<div class=\"cont\"><div class=\"Def\">" +
					"<img align=\"right\" class=\"closeImg\" src=\"" + cIP + "\" onclick=\"abort('" + elemToReplace + "')\" alt=\"Schlie&szlig;en\" title=\"Schlie&szlig;en\" />" + pDescription +
				  "</div>&nbsp;</div>";
	document.getElementById(elemToReplace).innerHTML = showLinkMsg;	
}

//lokal bookmark for products 
function winLinkShow(isSupplierOrProduct, elemToReplace)
    {
		var url = location.href;
		if(typeof( window[ 'UrlExt' ] ) != "undefined" ) 
			if(UrlExt.length > 0)
				url = UrlExt;
		if(typeof( window[ 'closeImgPath' ] ) != "undefined" ) 
			var cIP = closeImgPath; 
		var showLinkMsg = "";
		if(isSupplierOrProduct == 'product' && typeof(pClassName) != 'undefined' && pClassName != null && pClassName != "")
		{
			showLinkMsg = "<fieldset>" +
							"<img align=\"right\" class=\"closeImg\" src=\"" + cIP + "\" onclick=\"abort('" + elemToReplace + "')\" alt=\"Schlie&szlig;en\" title=\"Schlie&szlig;en\" />" +
							"<div class=\"title\">Diese Seite verlinken</div>" +
							"<div class=\"row\">Sie haben eine Webseite zum Thema \"<u>" + pClassName + "</u>\"? Dann verlinken Sie doch einfach von dort auf die passende Seite im Baustoffkatalog. Einfach den folgenden Link kopieren und in Ihre Seite einfügen:</div>" +
							"<div class=\"rowLink\">&lt;a href=\"" + url + "\" title=\"" + pClassName + "\"&gt;<br />" + pClassName + " im Baustoffkatalog<br />&lt;/a&gt;</div>" +
							"<div class=\"row\">Alternativ können Sie sich natürlich auch ein Lesezeichen speichern:</div>" +
							"<div class=\"row\">" +
							"<div><a href=\"javascript:CreateBookmarkLink('" + pClassName + "')\"><img src=\"" + px + "\" width=\"18\" height=\"18\" border=\"0\" alt=\"\"> <img src=\"" + ar + "\" width=\"14\" height=\"9\" border=\"0\" alt=\"\">Auf meinem PC</a></div>" +
							"<div><a href=\"http://www.mister-wong.de/index.php?action=addurl&bm_url=" + encodeURIComponent(url)+ "&bm_description=" + pClassName + "\" title=\"Diese Seite zu Mister Wong hinzufügen\" target=\"_new\"><img src=\"" + wong + "\" alt=\"Diese Seite zu Mister Wong hinzufügen\" border=\"0\" /> <img src=\"" + ar + "\" width=\"14\" height=\"9\" border=\"0\" alt=\"\">bei Mister Wong</a></div>" +
							"<div><a href=\"\" style=\"cursor:pointer;\" onclick=\"javascript:window.open('http://del.icio.us/post?v=4&noui&jump=close&url=" + encodeURIComponent(url) + "&title=" + pClassName + "', 'delicious','toolbar=no,width=700,height=400')\"><img width=\"18\" src=\"" + delicious + "\" alt=\"Diese Seite zu del.icio.us hinzufügen\" border=\"0\" /> <img src=\"" + ar + "\" width=\"14\" height=\"9\" border=\"0\" alt=\"\">bei del.icio.us</a></div></fieldset>";
			
						document.getElementById(elemToReplace).innerHTML = showLinkMsg;	
		}
		else if(isSupplierOrProduct == 'supplier' && typeof(pSupplier) != 'undefined' && pSupplier != null && pSupplier != "")
		{
			showLinkMsg = "<div class=\"linkExtern\"><img class=\"closeImg\" src=\"" + cIP + "\" onclick=\"closeWinLink('')\" alt=\"Schlie&szlig;en\" title=\"Schlie&szlig;en\" />" +
						"<div style=\"text-align:justify;margin:10px;padding:1em;\">" +
						"<p>Sie möchten von Ihrer Webseite auf die Produktübersicht des Herstellers \"<u>" + pSupplier + "</u>\" verweisen? Dann verlinken Sie doch einfach von dort auf die passende Seite im Baustoffkatalog. Einfach den folgenden Link kopieren und in Ihre Seite einfügen:</p>" +
						"<p style=\"text-align:left;color:rgb(0,0,100);\">" +
						"&lt;a href=\"" + url + "\" title=\"" + pSupplier + "\"&gt;<br />" + pSupplier + "<br />&lt;/a&gt;</p>" +
						"<p>Alternativ können Sie sich natürlich auch ein Lesezeichen speichern:</p>" +
						"<ul style=\"list-style-type:none;\"><li style=\"margin-bottom :0;padding:0\"><a style=\"color:rgb(0,0,100);font-size:12px;\" href=\"javascript:CreateBookmarkLink('" + pSupplier + "')\"><span style=\"margin-left:24px\"> Auf meinem PC</span></a></li>" +
						"<li style=\"margin-top:0;padding:0\"><a style=\"color:rgb(0,0,100);font-size:12px;margin-top:0\" href=\"http://www.mister-wong.de/index.php?action=addurl&bm_url=" + encodeURIComponent(url)+ "&bm_description=" + pSupplier + "\" title=\"Diese Seite zu Mister Wong hinzufügen\" target=\"_new\"><img src=\"http://www.baustoffkatalog.com/App_tehmes/Images/wong.gif\" alt=\"Diese Seite zu Mister Wong hinzufügen\" border=\"0\" /> bei Mister Wong</a></li>" +
						"<li style=\"margin-top:0;padding:0\"><span style=\"cursor:pointer;color:rgb(0,0,100);font-size:12px;margin-top:0\" onclick=\"window.open('http://del.icio.us/post?v=4&noui&jump=close&url=" + encodeURIComponent(url) + "&title=" + pSupplier + "', 'delicious','toolbar=no,width=700,height=400')\" target=\"new\"><img width=\"18\" src=\"http://www.baustoffkatalog.com/App_tehmes/Images/delicious18.gif\" alt=\"Diese Seite zu del.icio.us hinzufügen\" border=\"0\" /> bei del.icio.us</span></li></ul>";
						document.getElementById('winLinkPlaceHolder').innerHTML = showLinkMsg;	
		}
		else
		{
			if(typeof(pSupplier) != 'undefined' && pSupplier != null && pSupplier != "")
			{
				winLinkShow('supplier');
			}
			else if(typeof(pClassName) != 'undefined' && pClassName != null && pClassName != "")
				winLinkShow('product');
			else
				document.getElementById('linkSite').innerHTML = '';
		}	 
		
		
    }
    function closeWinLink()
    {
		document.getElementById('winLinkPlaceHolder').innerHTML = '';
    }

	function openRegisterSupplier()
	{
		var formLinkToRegisterSupplier = "<fieldset>" +
											"<img align=\"right\" src=\"" + cIP + "\" onclick=\"abort('" + contBCProductSupplierProduct + "')\" width=\"16\" height=\"14\" border=\"0\" alt=\"schließen\" />" +
											"<div class=\"row\">" +
											"Sie sind Baustoffhersteller und produzieren Artikel passend zur Produktgruppe " + pClassName + "?" +
											"</div><div style=\"clear:both\"></div>" +
											"<div class=\"row\">" +
											"Dann melden Sie Ihr Unternehmen jetzt bei Baustoffkatalog an und erstellen Sie mit wenigen Klicks Ihren individuellen Firmeneintrag " + "<br /><br /><img src=\"" + ar + "\" width=\"14\" height=\"9\" border=\"0\" alt=\"\" /><a href=\"" + linkToInfoSite + "\">mehr Infos</a>.</div>" +
											"</fieldset>";
		document.getElementById(contBCProductSupplierProduct).innerHTML = formLinkToRegisterSupplier;
	}  
	function linkToRegisterSupp()
	{
		window.location.href = linkToManager;
	}
	
/* start send request to manufacturer */
// Warning: the following functions are quite identical. Perhaps its better programming style to combine
// them. I refrained from doing so because there is a great chance that tehy will evolve in different ways.
	function openActionBoxContSupplier(button)
	{
		var formRequest = '';
		
		// check if user has selected a product
		var classCount = document.getElementsByName("checkBoxC").length;
		if(classCount > 0)
		{
			var cbNumber = 0;
			for(i=0;i < document.getElementsByName("checkBoxC").length; i++)
			{
				if(document.getElementsByName("checkBoxC")[i].checked == true)
				{
					cbNumber +=1;
				}
			}
			if(cbNumber == 0  & classCount > 0)
			{
				//dialog('Bitte wählen Sie eine Produktgruppe aus!');
				alert('Bitte wählen Sie eine Produktgruppe aus!');
			}
			else
			{
				sendClassRequestToManufacturer(button);
				//formRequest = returnInnerForm(contSupplierActionBoxContSupplier, 'sendClassRequestToManufacturer()', 'supplier');
				//document.getElementById(contSupplierActionBoxContSupplier).innerHTML = formRequest;
			}
		}
		else
		{
			//dialog('Sie können leider keine Anfrage stellen, weil für diesen Hersteller keine Baugruppe vorliegt!');
			alert('Sie können leider keine Anfrage stellen, weil für diesen Hersteller keine Baugruppe vorliegt!');
		}
	}
	/*
	function returnInnerForm(abort, send, typeOfRequest)
	{
		var preSelectedCountryG, preSelectedCountryA, preSelectedCountryC, preSelectedCountryN, preSelectedCountryI, preSelectedCountryF, preSelectedCountryD, preSelectedCountryB, preSelectedCountryS = '';
		var sector1, sector2, sector3, sector4, sector5, sector6, sector7, sector8, sector9, sector10, sector11, sector12, sector13, sector14, sector15, sector16 = '';
		var salutationMr, salutationMrs = '';
		var formRequest = '';
		
		if(salutation == 'Herr')
					salutationMr = 'checked=\"true\"';
				else if(salutation = 'Frau')
					salutationMrs = 'checked=\"true\"';
				if(country == "NL")
					preSelectedCountryN = 'selected=\"true\"';
				if(country == "CZ")
					preSelectedCountryC = 'selected=\"true\"';
				if(country == "BL")
					preSelectedCountryB = 'selected=\"true\"';
				if(country == "I")
					preSelectedCountryI = 'selected=\"true\"';
				if(country == "F")
					preSelectedCountryF = 'selected=\"true\"';
				if(country == "DN")
					preSelectedCountryD = 'selected=\"true\"';
				if(country == 'CH')
					preSelectedCountryS = 'selected=\"true\"';
				else if(country == 'AT')
					preSelectedCountryA = 'selected=\"true\"';
				else
					preSelectedCountryG = 'selected=\"true\"';
				if(sector == 'Architektur-, Ingenieurbüro')
					sector1 = 'selected=\"true\"';
				else if(sector == 'Bauabteilung in einem Unternehmen')
					sector2 = 'selected=\"true\"';
				else if(sector == 'Bauhandwerksbetrieb')
					sector3 = 'selected=\"true\"';
				else if(sector == 'Bauindustrie, Baugewerbe')
					sector4 = 'selected=\"true\"';
				else if(sector == 'Bausachverständiger')
					sector5 = 'selected=\"true\"';
				else if(sector == 'Bausoftware')
					sector6 = 'selected=\"true\"';
				else if(sector == 'Baustoffhandel')
					sector7 = 'selected=\"true\"';
				else if(sector == 'Baustoffindustrie')
					sector8 = 'selected=\"true\"';
				else if(sector == 'Bauträger, Schlüsselfertigbau')
					sector9 = 'selected=\"true\"';
				else if(sector == 'Bund-, Länderbauverwaltung')
					sector10 = 'selected=\"true\"';
				else if(sector == 'Fachpresse')
					sector11 = 'selected=\"true\"';
				else if(sector == 'Garten- und Landschaftsbaubetrieb')
					sector12 = 'selected=\"true\"';
				else if(sector == 'Hochschule/Forschungseinrichtung')
					sector13 = 'selected=\"true\"';
				else if(sector == 'Kommune, kommunale Einrichtung')
					sector14 = 'selected=\"true\"';
				else if(sector == 'Privater Bauherr/Modernisierer')
					sector15 = 'selected=\"true\"';
				else
					sector16 = 'selected=\"true\"';
				var chooseKindOfRequest = "";
				if(typeOfRequest == 'product' && pFeatureList != '')
					chooseKindOfRequest = "<div class=\"row\">" +
											"<div><label for=\"\">Ich interessiere mich f&uuml;r</label></div>" +
											"<input type=\"radio\" name=\"fRkindOfRequest\" value=\"group\" checked=\"true\">Allgemein die Produktgruppe: " + pClassName +
											"<br /><input type=\"radio\" name=\"fRkindOfRequest\" value=\"article\">Das konkrete Produkt: " + pFeatureList +
										  "</div><br/>";
				formRequest =   "<div class=\"cont\">" +
									"<fieldset style=\"padding:10px\">" +
									"<img align=\"right\" src=\"" + cIP + "\" onclick=\"abort('" + abort + "')\" width=\"16\" height=\"14\" border=\"0\" alt=\"schließen\" />" +
									"<div class=\"row\">" +
										"Hier haben Sie die Möglichkeit, bei den markierten Unternehmen kostenloses Informationsmaterial anzufordern." +
									"</div>" + 
									"<div class=\"row\">" +
										"<div class=\"lbl\"><label for=\"\">Anrede*</label></div>" +
										"<input type=\"radio\" name=\"fRSalutation\" value=\"Frau\" " + salutationMrs + ">Frau" +
										"<input type=\"radio\" name=\"fRSalutation\" value=\"Herr\" " + salutationMr + ">Herr" +
									"</div>" +
									"<div class=\"row\">" +
										"<div class=\"lbl\"><label for=\"\">Nachname*</label></div>" +
										"<input id=\"fRLastName\" class=\"inp1\" type=\"text\" value=\"" + lastname + "\"></input>" +
								   "</div>" +
								   "<div class=\"row\">" +
										"<div class=\"lbl\"><label for=\"\">Vorname*</label></div>" +
										"<input style=\"\" id=\"fRFirstName\" class=\"inp1\" type=\"text\" value=\"" + firstname + "\"></input>" +
								   "</div>" +
								   "<div class=\"row\">" +
										"<div class=\"lbl\"><label for=\"\">Firma</label></div>" +
										"<input id=\"fRCompany\" class=\"inp1\" type=\"text\" value=\"" + company + "\"></input>" +
								   "</div>" +
								   "<div class=\"row\">" +
									 "<div class=\"lbl\"><label for=\"\">Straße*</label></div>" +
									 "<input id=\"fRStreet\" class=\"inp1\" type=\"text\" value=\"" + street + "\"></input>" +
								   "</div>" +
								   "<div class=\"row\">" +
									 "<div class=\"lbl\"><label for=\"\">PLZ*</label></div>" +
									 "<input id=\"fRPoBox\" class=\"inp1\" type=\"text\" value=\"" + poBox + "\"></input>" +
								   "</div>" +
								   "<div class=\"row\">" +
									 "<div class=\"lbl\"><label for=\"\">Ort*</label></div>" +
									 "<input id=\"fRCity\" class=\"inp1\" type=\"text\" value=\"" + city + "\"></input>" +
								   "</div>" +
								   "<div class=\"row\">" +
										"<div class=\"lbl\"><label for=\"\">Land*</label></div>" +
											"<select class=\"inp1\" id=\"fRCountry\">" +
												"<option name=\"fRCountry\" " + preSelectedCountryG + " value=\"Deutschland\">Deutschland</option>" +
												"<option name=\"fRCountry\" " + preSelectedCountryB + " value=\"Belgien\">Belgien</option>" +
												"<option name=\"fRCountry\" " + preSelectedCountryD + " value=\"Dänemark\">D&auml;nemark</option>" +
												"<option name=\"fRCountry\" " + preSelectedCountryF + " value=\"Frankreich\">Frankreich</option>" +
												"<option name=\"fRCountry\" " + preSelectedCountryI + " value=\"Italien\">Italien</option>" +
												"<option name=\"fRCountry\" " + preSelectedCountryN + " value=\"Niederlande\">Niederlande</option>" +
												"<option name=\"fRCountry\" " + preSelectedCountryA + " value=\"Österreich\">Österreich</option>" +
												"<option name=\"fRCountry\" " + preSelectedCountryS + " value=\"Schweiz\">Schweiz</option>" +
												"<option name=\"fRCountry\" " + preSelectedCountryC + " value=\"Tschechien\">Tschechien</option>" +
												
											"</select>" +
									"</div>" + 
								   "<div class=\"row\">" +
									 "<div class=\"lbl\"><label for=\"\">Telefon</label></div>" +
									 "<input id=\"fRPhone\" class=\"inp1\" type=\"text\" value=\"" + phone + "\"></input>" +
								   "</div>" +
								   "<div class=\"row\">" +
									 "<div class=\"lbl\"><label for=\"\">Telefax</label></div>" +
									 "<input id=\"fRFax\" class=\"inp1\" type=\"text\" value=\"" + fax + "\"></input>" +
								   "</div>" +
									"<div class=\"row\">" +
										"<div class=\"lbl\"><label for=\"\">Branche</label></div>" +
										"<select class=\"inp1\" id=\"fRSector\">" +
											"<option value=\"Architektur-, Ingenieurbüro\" " + sector1 + ">Architektur-, Ingenieurb&#252;ro</option>" +
											"<option value=\"Bauabteilung in einem Unternehmen\" " + sector2 + ">Bauabteilung in einem Unternehmen</option>" +
											"<option value=\"Bauhandwerksbetrieb\" " + sector3 + ">Bauhandwerksbetrieb</option>" +
											"<option value=\"Bauindustrie, Baugewerbe\" " + sector4 + ">Bauindustrie, Baugewerbe</option>" +
											"<option value=\"Bausachverständiger\" " + sector5 + ">Bausachverst&#228;ndiger</option>" +
											"<option value=\"Bausoftware\" " + sector6 + ">Bausoftware</option>" +
											"<option value=\"Baustoffhandel\" " + sector7 + ">Baustoffhandel</option>" +
											"<option value=\"Baustoffindustrie\" " + sector8 + ">Baustoffindustrie</option>" +
											"<option value=\"Bauträger, Schlüsselfertigbau\" " + sector9 + ">Bautr&#228;ger, Schl&#252;sselfertigbau</option>" +
											"<option value=\"Bund-, Länderbauverwaltung\" " + sector10 + ">Bund-, L&#228;nderbauverwaltung</option>" +
											"<option value=\"Fachpresse\" " + sector11 + ">Fachpresse</option>" +
											"<option value=\"Garten- und Landschaftsbaubetrieb\" " + sector12 + ">Garten- und Landschaftsbaubetrieb</option>" +
											"<option value=\"Hochschule/Forschungseinrichtung\" " + sector13 + ">Hochschule/Forschungseinrichtung</option>" +
											"<option value=\"Kommune, kommunale Einrichtung\" " + sector14 + ">Kommune, kommunale Einrichtung</option>" +
											"<option value=\"Privater Bauherr/Modernisierer\" " + sector15 + ">Privater Bauherr/Modernisierer</option>" +
											"<option value=\"Sonstige\" " + sector16 + ">Sonstige</option>" +
										"</select>" +
								   "</div>" +
								   "<div class=\"row\">" +
										"<div class=\"lbl\"><label for=\"\">Bemerkung</label></div>" +
										"<textarea id=\"fRRemark\" rows=\"5\" cols=\"\" class=\"inp1\"></textarea>" +
								   "</div>" + 
								   chooseKindOfRequest +
								   "<div class=\"inp1Subm\">" +
										"<input class=\"submit\" id=\"btnSendRequest\" type=\"button\" onclick=\"submitRequestPD(this, " + send + "(this))\" name=\"\" value=\"Absenden\" /> " +
								   "</div>" +
								   "<br/><br/>" +
								   "* Die mit einem Sternchen gekennzeichneten Felder sind Pflichtfelder." +
								   "<br/><br/>" +
								   "<div class=\"remark\">" +
										"Hinweis:<br/>Bitte beachten Sie, dass Sie mit Absenden Ihrer Informationsanfrage der Speicherung, Verarbeitung und Weiterleitung Ihrer Kontaktdaten zustimmen. f:data leitet Ihre Anfrage direkt an den jeweiligen Hersteller weiter, deshalb haben wir leider keinen Einfluss auf die Bearbeitungszeit seitens des Herstellers." +
								   "</div>" +
								   "<br/>" +
									"</fieldset></div>";
		return formRequest;
	}
	*/
	function submitRequestPD(button, target)
	{
	   //button.value = 'Sende Anfrage...';
       //button.disabled = true;
       target;
		
		return true;
	}
	function sendRequestAgain()
	{
		window.location.reload();
	}
//	function sendRequestAgain()
//	{
//		// check if user has selected a manufacterer
//		var supplierCount = document.getElementsByName("checkBoxS").length;
//		if(supplierCount > 0)
//		{
//			var cbNumber = 0;
//			for(i=0;i < document.getElementsByName("checkBoxS").length; i++)
//			{
//				if(document.getElementsByName("checkBoxS")[i].checked == true)
//				{
//					cbNumber +=1;
//				}
//			}
//			if(cbNumber == 0  & supplierCount > 0)
//			{
//				alert('Bitte wählen Sie einen Hersteller aus!');
//			}
//			else
//			{
//				formRequest = returnInnerForm(requestForm, 'sendRequestToManufacturer', 'product');
//				document.getElementById(requestForm).innerHTML = formRequest;
//			}
//		}
//		else
//		{
//			var classCount = document.getElementsByName("checkBoxC").length;
//			if(classCount > 0)
//			{
//				var cbNumber = 0;
//				for(i=0;i < document.getElementsByName("checkBoxC").length; i++)
//				{
//					if(document.getElementsByName("checkBoxC")[i].checked == true)
//					{
//						cbNumber +=1;
//					}
//				}
//				if(cbNumber == 0  & classCount > 0)
//				{
//					//dialog('Bitte wählen Sie eine Produktgruppe aus!');
//					alert('Bitte wählen Sie eine Produktgruppe aus!');
//				}
//				else
//				{
//					formRequest = returnInnerForm(contSupplierActionBoxContSupplier, 'sendClassRequestToManufacturer', 'supplier');
//					document.getElementById(requestForm).innerHTML = formRequest;
//				}
//			}
//			else
//			{
//				//dialog('Sie können leider keine Anfrage stellen, weil für diesen Hersteller keine Baugruppe vorliegt!');
//				alert('Sie können leider keine Anfrage stellen! Um eine Anfrage stellen zu können, muss mindestens eine Baugruppe und ein Hersteller vorhanden sein.');
//			}
//			
//		}
//	}
	function openActionBoxProductSupplier(button)
	{
		// check if user has selected a manufacterer
		var supplierCount = document.getElementsByName("checkBoxS").length;
		if(supplierCount > 0)
		{
			var cbNumber = 0;
			for(i=0;i < document.getElementsByName("checkBoxS").length; i++)
			{
				if(document.getElementsByName("checkBoxS")[i].checked == true)
				{
					cbNumber +=1;
				}
			}
			if(cbNumber == 0  & supplierCount > 0)
			{
				//dialog('Bitte wählen Sie einen Hersteller aus!');
				alert('Bitte wählen Sie einen Hersteller aus!');
			}
			else
			{
				sendRequestToManufacturer(button);
				//formRequest = returnInnerForm(contBCProductSupplierProductSupplier, 'sendRequestToManufacturer()', 'product');
				//document.getElementById(contBCProductSupplierProductSupplier).innerHTML = formRequest;
			}
		}
		else
		{
			//dialog('Sie können leider keine Anfrage stellen, weil für diese Baugruppe kein Hersteller vorliegt!');
			alert('Sie können leider keine Anfrage stellen, weil für diese Baugruppe kein Hersteller vorliegt!');
		}
	}
	function sendClassRequestToManufacturer(button)
	{
		// supplierOrClass declares what kind of elements will be inside elementArray (manufacturers or classes). 
		var supplierOrClass = 'c';
		var kindOfRequest = 'group';
		pFeatureList = '';
		// variables to hold personal data
		var salutation, firstname, lastname, company, street, poBox, city, country, phone, fax, sector, remark, kindOfRequest = ''; 
		var elementArray = new Array();
		// check if user has selected a class
		var classCount = document.getElementsByName("checkBoxC").length;
		if(classCount > 0)
		{
			var cbNumber = 0;
			for(i=0;i < document.getElementsByName("checkBoxC").length; i++)
			{
				if(document.getElementsByName("checkBoxC")[i].checked == true)
				{
					cbNumber +=1;
					if(document.getElementsByName("checkBoxC")[i].checked == true)
					{
						elementArray.push(document.getElementsByName("checkBoxC")[i].value);
					}
				}
			}
			if(cbNumber == 0  & classCount > 0)
			{
				//dialog('Bitte wählen Sie eine Produktgruppe aus!');
				alert('Bitte wählen Sie eine Produktgruppe aus!');
			}
			else // now we have the manufacturer/s and class/es. In the next step we get personal data from the form
			{
				// get salutation
				var salutation = '';
				var fRSal = idAdd + "_fRSalutation";
				fRSal = fRSal.replace(/_/g, '$');
				for(i=0;i < document.getElementsByName(fRSal).length; i++)
				{
					if(document.getElementsByName(fRSal)[i].checked == true)
						salutation = document.getElementsByName(fRSal)[i].value;
				}
				if(salutation == '')
					alert("Bitte wählen Sie eine Anrede aus!");
				else
				{
				
					// get flat data
					var fRFirstN = idAdd + "_" + "fRFirstName";
					firstname = document.getElementById(fRFirstN).value;
					var fRLastN = idAdd + "_" + "fRLastName";
					lastname = document.getElementById(fRLastN).value;
					var fRC = idAdd + "_" + "fRCompany";
					company = document.getElementById(fRC).value;
					var fRS = idAdd + "_" + "fRStreet";
					street = document.getElementById(fRS).value;
					var fRPo = idAdd + "_" + "fRPoBox";
					poBox = document.getElementById(fRPo).value;
					var fRC = idAdd + "_" + "fRCity";
					city = document.getElementById(fRC).value;
					var fRPh = idAdd + "_" + "fRPhone";
					phone = document.getElementById(fRPh).value;
					var fRF = idAdd + "_" + "fRFax";
					fax = document.getElementById(fRF).value;
					var fRCy = idAdd + "_" + "fRCountry";
					// get country
					for(i=0;i < document.getElementById(fRCy).length; i++)
						if(document.getElementById(fRCy)[i].selected)
							country = document.getElementById(fRCy)[i].value;
					var fRSect = idAdd + "_" + "fRSector";
					// get sector
					for(i=0;i < document.getElementById(fRSect).length; i++)
						if(document.getElementById(fRSect)[i].selected)
							sector = document.getElementById(fRSect)[i].value;
					// get remark
					remark = document.getElementById("fRRemark").innerHTML;
					
					// check if mandatory values are empty
					if(firstname == '' || lastname == '' || street == '' || poBox == '' || city == '' || country == '' || salutation == '' || phone == '')
					{
						alert('Bitte füllen Sie die markierten Pflichtfelder aus.');
						if(firstname == '')
							document.getElementById(fRFirstN).className='inp1Warning';
						else
							document.getElementById(fRFirstN).className='inp1';
						if(lastname == '')
							document.getElementById(fRLastN).className='inp1Warning';
						else
							document.getElementById(fRLastN).className='inp1';
						if(street == '')
							document.getElementById(fRS).className='inp1Warning';
						else
							document.getElementById(fRS).className='inp1';
						if(poBox == '')
							document.getElementById(fRPo).className='inp1Warning';
						else
							document.getElementById(fRPo).className='inp1';
						if(city == '')
							document.getElementById(fRC).className='inp1Warning';
						else
							document.getElementById(fRC).className='inp1';
						if(phone == '')
							document.getElementById(fRPh).className='inp1Warning';
						else
							document.getElementById(fRPh).className='inp1';
						if(salutation == '')
							salutation = 'Herr';
						if(country == '')
							country = 'Deutschland';
						
					}
					else
					{
						var elements = '';
						for(var i=0; i<elementArray.length; i++)
						{
							if(i!=0)
								elements += ';';
							elements += elementArray[i];
						}
						button.value = 'Sende Anfrage...';
						button.disabled = true;
						fdata.BCR.View.BCRWS.SendManufactererRequest(pFeatureList, pUserId, pClassOrSuppId, salutation, firstname, lastname, company, street, poBox, city, phone, fax, country, sector, remark, kindOfRequest, supplierOrClass, elements, onSendClassRequestToManufacturer);
					}
				}
				
			}
		}
		else
		{
			alert('Sie können leider keine Anfrage stellen, weil für diese Baugruppe kein Hersteller vorliegt!');
		}
	
	}
	function onSendClassRequestToManufacturer(result)
	{
		document.getElementById(requestForm).innerHTML = result;
	}
	function sendRequestToManufacturer(button)
	{
		// supplierOrClass declares what kind of elements will be inside elementArray (manufacturers or classes). 
		var supplierOrClass = '';
		// variables to hold personal data
		var salutation, firstname, lastname, company, street, poBox, city, country, phone, fax, sector, remark, kindOfRequest = ''; 
		var elementArray = new Array();
		// check if user has selected a manufacterer
		var supplierCount = document.getElementsByName("checkBoxS").length;
		if(supplierCount > 0)
		{
			var cbNumber = 0;
			// soa = s -> supplier; soa = c -> class;
			supplierOrClass = document.getElementById("soa").value;
			for(i=0;i < document.getElementsByName("checkBoxS").length; i++)
			{
				if(document.getElementsByName("checkBoxS")[i].checked == true)
				{
					cbNumber +=1;
					if(document.getElementsByName("checkBoxS")[i].checked == true)
					{
						elementArray.push(document.getElementsByName("checkBoxS")[i].value);
					}
				}
			}
			if(cbNumber == 0  & supplierCount > 0)
			{
				alert('Bitte wählen Sie einen Hersteller aus!');
				
			}
			else // now we have the manufacturer/s and class/es. In the next step we retrieve personal data from the form
			{
				// get salutation
				var salutation = '';
				var fRSal = idAdd + "_fRSalutation";
				fRSal = fRSal.replace(/_/g, '$');
				for(i=0;i < document.getElementsByName(fRSal).length; i++)
				{
					if(document.getElementsByName(fRSal)[i].checked == true)
						salutation = document.getElementsByName(fRSal)[i].value;
				}
				if(salutation == '')
					alert("Bitte wählen Sie eine Anrede aus!");
				else
				{
					// get flat data
					var fRFirstN = idAdd + "_" + "fRFirstName";
					firstname = document.getElementById(fRFirstN).value;
					var fRLastN = idAdd + "_" + "fRLastName";
					lastname = document.getElementById(fRLastN).value;
					var fRC = idAdd + "_" + "fRCompany";
					company = document.getElementById(fRC).value;
					var fRS = idAdd + "_" + "fRStreet";
					street = document.getElementById(fRS).value;
					var fRPo = idAdd + "_" + "fRPoBox";
					poBox = document.getElementById(fRPo).value;
					var fRC = idAdd + "_" + "fRCity";
					city = document.getElementById(fRC).value;
					var fRPh = idAdd + "_" + "fRPhone";
					phone = document.getElementById(fRPh).value;
					var fRF = idAdd + "_" + "fRFax";
					fax = document.getElementById(fRF).value;
					var fRCy = idAdd + "_" + "fRCountry";
					// get country
					for(i=0;i < document.getElementById(fRCy).length; i++)
						if(document.getElementById(fRCy)[i].selected)
							country = document.getElementById(fRCy)[i].value;
					var fRSect = idAdd + "_" + "fRSector";
					// get sector
					for(i=0;i < document.getElementById(fRSect).length; i++)
						if(document.getElementById(fRSect)[i].selected)
							sector = document.getElementById(fRSect)[i].value;
					// get remark
					remark = document.getElementById("fRRemark").innerHTML;
					
					// check if mandatory values are empty
					if(firstname == '' || lastname == '' || street == '' || poBox == '' || city == '' || country == '' || salutation == '' || phone == '')
					{
						alert('Bitte füllen Sie die markierten Pflichtfelder aus.');
						if(firstname == '')
							document.getElementById(fRFirstN).className='inp1Warning';
						else
							document.getElementById(fRFirstN).className='inp1';
						if(lastname == '')
							document.getElementById(fRLastN).className='inp1Warning';
						else
							document.getElementById(fRLastN).className='inp1';
						if(street == '')
							document.getElementById(fRS).className='inp1Warning';
						else
							document.getElementById(fRS).className='inp1';
						if(poBox == '')
							document.getElementById(fRPo).className='inp1Warning';
						else
							document.getElementById(fRPo).className='inp1';
						if(city == '')
							document.getElementById(fRC).className='inp1Warning';
						else
							document.getElementById(fRC).className='inp1';
						if(phone == '')
							document.getElementById(fRPh).className='inp1Warning';
						else
							document.getElementById(fRC).className='inp1';
						if(salutation == '')
							salutation = 'Herr';
						if(country == '')
							country = 'Deutschland';
						
					
					}
					else
					{
						var elements = '';
						for(var i=0; i<elementArray.length; i++)
						{
							if(i!=0)
								elements += ';';
							elements += elementArray[i];
						}
						button.value = 'Sende Anfrage...';
						button.disabled = true;
						fdata.BCR.View.BCRWS.SendManufactererRequest(pFeatureList, pUserId, pClassId, salutation, firstname, lastname, company, street, poBox, city, phone, fax, country, sector, remark, kindOfRequest, supplierOrClass, elements, onSendManufactererRequest);
					}
				}
			}
		}
		else
		{
			alert('Sie können leider keine Anfrage stellen, weil für diese Baugruppe kein Hersteller vorliegt!');
		}
	
	}
/* end send request to manufacturer */
	function onSendManufactererRequest(result)
	{
		document.getElementById(requestForm).innerHTML = result;
	}
/* start send proposal */
    function openContact(){
	/* propose supplier */
	var formProposal = "<fieldset>" +
						"<img align=\"right\" src=\"" + cIP + "\" onclick=\"abort('" + contBCProductSupplierProduct + "')\" width=\"16\" height=\"14\" border=\"0\" alt=\"schließen\" />" +
							"<div class=\"title\">Hersteller vorschlagen:</div>" +
							"<div class=\"row\">" +
							"Sie sind der Meinung, in der Liste fehlt ein interessanter Hersteller? Dann teilen Sie uns dies doch einfach mit, wir werden uns umgehend mit diesem in Verbindung setzen." +
							"</div><div class=\"clear\"></div>" +
							"<div class=\"row\">" +
							"<div style=\"width:12em\" class=\"lbl\"><label for=\"\">Produktgruppe:</label></div><span id=\"product\">" + pClassName +
							"</span></div>" +
							"<div class=\"row\">" +
								"<div style=\"width:12em\" class=\"lbl\"><label for=\"\">Herstellervorschlag:</label></div>" +
									"<input id=\"proposedSupplier\" class=\"inp1\" type=\"text\" />" +
							"</div>" +
							"<div class=\"row\">" +
								"<div style=\"width:12em\" class=\"lbl\">&nbsp;</div>" +
								"<input class=\"submit\" type=\"button\" name=\"\" value=\"Vorschlagen\" onclick=\"sendSuppProposal()\" /> " +
								"<input class=\"submit\" type=\"button\" name=\"\" value=\"Abbrechen\" onclick=\"closeContBCProductSupplierProduct()\" />" +
							"</div>" +
						"</fieldset>";

		document.getElementById(contBCProductSupplierProduct).innerHTML = formProposal;
    } 
    function closeContBCProductSupplierProduct(){
        document.getElementById(contBCProductSupplierProduct).innerHTML = "";
    }
    function sendSuppProposal(){
        var supplier = document.getElementById('proposedSupplier').value;
        var product = document.getElementById('product').innerHTML;
        fdata.BCR.View.BCRWS.sendSupplierProposal(product, supplier, onSendSuppProposal);
    }
    
    function onSendSuppProposal(message){
        document.getElementById(contBCProductSupplierProduct).innerHTML = message;
    }
/* end send proposal */    

/* start supplierdetails for contBCProductSupplier */
	function displaySupplierDetails(supplierId, classId)
	{
		fdata.BCR.View.BCRWS.DisplaySupplierDetails(supplierId, classId, onDisplaySupplierDetails);
	}
	function onDisplaySupplierDetails(result)
	{
		var json = eval("(" + result + ")");	
		if(json.retValue)
		{
			document.getElementById(json.supplierId).innerHTML = json.supplierDetails;
		}
	}
/* end supplierDetails for contProductSupplier */

/* start productdetails for contSupplier */
	function displayProductDetails(supplierId, classId)
	{
		fdata.BCR.View.BCRWS.DisplayProductDetails(supplierId, classId, onDisplayProductDetails);
	}
	function onDisplayProductDetails(result)
	{
		var json = eval("(" + result + ")");	
		document.getElementById(json.classId).innerHTML = json.classDetails;
	}
/* end productDetails for contSupplier */

/* start contBasketSupplierRequest */
function GetSupplierInfoRequestsBySenderUser(pUserId, pSupplierId, pMsgId, showDetails, pIdx) {
			elemToReplace = pMsgId;
            fdata.BCR.View.BCRWS.GetSupplierInfoRequestsBySenderUser(pUserId, pSupplierId, pMsgId, showDetails, pIdx, onGetSupplierInfoRequestsBySenderUser);
		}
function getNavSupplierMessagesBySenderUser(pUserId, pSupplierId, pMsgId, showDetails, pIdx) {
			elemToReplace = 'basketMsgListBox';
			fdata.BCR.View.BCRWS.GetSupplierInfoRequestsBySenderUser(pUserId, pSupplierId, pMsgId, showDetails, pIdx, onGetSupplierInfoRequestsBySenderUser);
		}
function onGetSupplierInfoRequestsBySenderUser(result) 
	{
		document.getElementById(elemToReplace).innerHTML = result;
	}
	
/* end contBasketSupplierRequest */

function displayAllSuppliers(elemToReplace, pClassId)
{
	fdata.BCR.View.BCRWS.GetListOfLevel1Suppliers(elemToReplace, pClassId, onDisplayAllSuppliers);
}
function onDisplayAllSuppliers(result)
{
	var json = eval("(" + result + ")");
	var suppList = json.suppliers; 
	document.getElementById(json.elemToReplace).innerHTML = suppList;
}
function addUserSupplierContentCountLinkList(supplierId, userId, link)
{
	fdata.BCR.View.BCRWS.AddUserSupplierContentCountLinkList(userId, supplierId, link, onAddUserSupplierContentCountLink);
}

function addUserSupplierContentCountLink(supplierId, userId, type)
{
	fdata.BCR.View.BCRWS.AddUserSupplierContentCountLink(userId, supplierId, type, onAddUserSupplierContentCountLink);
}
function onAddUserSupplierContentCountLink(result)
{
	if(result.length > 0)
		window.open(result,'','scrollbars=yes,menubar=no,height=600,width=800,resizable=yes,toolbar=no,location=no,status=no');

}
function addUserSupplierContentCountContact(supplierId, userId)
{
	fdata.BCR.View.BCRWS.AddUserSupplierContentCountLink(supplierId, userId, "contact", onAddUserSupplierContentCountContact);
}
function onAddUserSupplierContentCountContact(result)
{
	if(result.length > 0)
	{
		var to = result;
		var subject = "Anfrage über baustoffkatalog.com";
		//var body = "Sehr geehrte Damen und Herren, ";
		//var doc = "mailto:" + to +"?Subject=" + escape(subject) + "&body=" + escape(body);
		var doc = "mailto:" + to +"?Subject=" + escape(subject);
		window.location = doc; 
	}
		

}
function redirect(site)
{
	fdata.BCR.View.BCRWS.Redirect(site, onRedirect);
}
function onRedirect(result)
{
	if(result.length > 0)
		location.href=result;

}

function mouseInList(elem)
{
	elem.style.backgroundColor='rgb(245,245,245)';
}
function mouseOutList(elem)
{
	elem.style.backgroundColor='#fff';
}

//Alert-Box
// over-ride the alert method only if this a newer browser.
// Older browser will see standard alerts
if(document.getElementById) {
	window.alert = function(txt) {
		createCustomAlert(txt);
	}
}

function createCustomAlert(txt) {
	// shortcut reference to the document object
	d = document;
	obj = d.getElementsByTagName("body")[0].appendChild(d.createElement("div"));
	obj.style.height = d.getElementsByTagName("body")[0].scrollHeight + "px";
	obj.id = "container";
	
	// if the modalContainer object already exists in the DOM, bail out.
	if(d.getElementById("modalContainer")) return;
	//d.getElementsByTagName("body")[0].id = "alertBody";
	// create the modalContainer div as a child of the BODY element
	mObj = d.getElementsByTagName("body")[0].appendChild(d.createElement("div"));
	mObj.id = "modalContainer";
	 // make sure its as tall as it needs to be to overlay all the content on the page
	mObj.style.height = document.getElementsByTagName("body")[0].scrollHeight + "px";

	// create the DIV that will be the alert 
	alertObj = mObj.appendChild(d.createElement("div"));
	alertObj.id = "alertBox";
	// MSIE doesnt treat position:fixed correctly, so this compensates for positioning the alert
	var scrollTopH = document.documentElement.scrollTop + 300;
	if(d.all && !window.opera) alertObj.style.top = scrollTopH + "px";
	// center the alert box
	alertObj.style.left = (d.documentElement.scrollWidth - alertObj.offsetWidth)/2 + "px";
	
	
	
	imgT =  alertObj.appendChild(d.createElement("img"));
	imgT.src = pathToImages + "msgTop.gif";
	imgT.hspace = "0";
	imgT.vspace = "0";
	imgT.margin = "0";
	imgT.id = "imgTop";
	
	/*
	alertTitle = alertObj.appendChild(d.createElement("div"));
	alertTitle.id = "alertTitle";
	alertTitle.appendChild(d.createTextNode(ALERT_TITLE));
	*/
	alertCont = alertObj.appendChild(d.createElement("div"));
	alertCont.id = "alertBoxCont";
	
	alertInnerCont = alertCont.appendChild(d.createElement("div"));
	alertInnerCont.id = "alertInnerCont";
	
	// create a paragraph element to contain the txt argument
	msg = alertInnerCont.appendChild(d.createElement("div"));
	msg.id = "alertMsg";
	msg.appendChild(d.createTextNode(txt));
	msg.style.width = "100%";
	
	br = msg.appendChild(d.createElement("br"));
	br2 = msg.appendChild(d.createElement("br"));
	// create an anchor element to use as the confirmation button.
	btn = alertInnerCont.appendChild(d.createElement("a"));
	btn.id = "closeBtn";
	btn.appendChild(d.createTextNode(ALERT_BUTTON_TEXT));
	btn.href = "#";
	// set up the onclick event to remove the alert when the anchor is clicked
	btn.onclick = function() { removeCustomAlert();return false; }

	alertEnd = alertObj.appendChild(d.createElement("img"));
	alertEnd.src = pathToImages + "msgBot.gif";
	alertEnd.hspace = "0";
	alertEnd.vspace = "0";
	alertEnd.id = "alertEnd";
	
	
}

// removes the custom alert from the DOM
function removeCustomAlert() {
	document.getElementsByTagName("body")[0].removeChild(document.getElementById("container"));
	document.getElementsByTagName("body")[0].removeChild(document.getElementById("modalContainer"));
	//d.getElementsByTagName("body")[0].id = "bdy";
}
function setArticleCount()
{
	fdata.BCR.View.BCRWS.ArticleCountInBasket(onSetArticleCount);
}
function onSetArticleCount(result)
{
	try
	{
		document.getElementById("ctl00_ctl00_ctl00_ctl00_articleCount").innerHTML = result;
	}
	catch(err)
	{
		document.getElementById("ctl00_ctl00_articleCount").innerHTML = result;
	}
}