/**
 * GLOBAL VARS
 */

var inputAutoCompleteKeyword = "font.qsearch.keyword";
var inputAutoCompleteFontname = "font.qsearch.fontname";
var inputAutoCompleteManufacturer = "font.qsearch.manufacturer";
var inputAutoCompleteDesigner = "font.qsearch.designer";

/**
 *  Timeout for product price calculation
 */
var TIMEOUT_PRODUCT_PRICE = 900;

var inputIDcounter = 0;
//=> counter for multiple "same" inputs



var windowIsLoaded = false;
var returnedHtml = "";
var returnedFontImgs = "";
var returnedArray = null;

function updateFlag(boolVar) {
	windowIsLoaded = boolVar;
}

function getWindowLoadedFlag() {
	return windowIsLoaded;
}

function getAutoCompleteValuesFontNames(searchTerm){
	var lines2Get = document.getElementById("linesAmount");
	searchTerm = searchTerm + "#" + lines2Get.value;
	searchTerm = searchTerm + "#" + inputAutoCompleteFontname;
	return getAutoCompleteValues(searchTerm);
}
function getAutoCompleteValuesDesigners(searchTerm){
	var lines2Get = document.getElementById("linesAmount");
	searchTerm = searchTerm + "#" + lines2Get.value;
	searchTerm = searchTerm + "#" + inputAutoCompleteDesigner;
	return getAutoCompleteValues(searchTerm);
}
function getAutoCompleteValuesManufacturers(searchTerm){
	var lines2Get = document.getElementById("linesAmount");
	searchTerm = searchTerm + "#" + lines2Get.value;
	searchTerm = searchTerm + "#" + inputAutoCompleteManufacturer;
	return getAutoCompleteValues(searchTerm);
}


function getAutoCompleteValues(searchTerm){
	var lines2Get = document.getElementById("linesAmount");
	searchTerm = searchTerm + "#" + lines2Get.value;
	searchTerm = searchTerm + "#" + inputAutoCompleteFontname;
	
	if (searchTerm != null && searchTerm != "") {
		try {
			FontshopAjaxUtilities.getAutoCompleteValues(
			  searchTerm, {							//params
			  callback: handleAutoSuggestValues,	//callback
			  async:false
			});
		} catch (x) {
			//alert(x);
		}
	}
	return getReturnedArray();		
}


function handleAutoSuggestValues(object2Eval) {
	returnedArray = object2Eval;
}

function getReturnedArray() {
	var defArr = [""];
	if (returnedArray!=null) {
		return returnedArray;
	} else {
		return defArr;
	}
}

/**
 * Function for closing a tab and removing its id (product) from session
 */
function closeTab(tabId, realm) {
	var transmitString = tabId + "#" + realm;
	var ourLi = document.getElementById(tabId);
	var parentOfLi = ourLi.parentNode;
	var tab = $D.hasClass(tabId, "aktiv");
	try {
		parentOfLi.removeChild(ourLi);
		try {
			FontshopAjaxUtilities.removeTabFromTabList(
			  transmitString, {					//params
			  callback: 
			  function() {
			  	if(tab){
			  		switch(realm) {
			  		case 'FONT':
			  			changeToFontOverview();
			  			break;
			  		case 'IMAGE':
			  		default:
			  			changeToPictureOverview();
			  		}
			  	}
			  },	//callback
			  errorHandler: handleErrors,
			  async:true
			});
		} catch (x) {
			(x);
		}
	} catch (exception) {
		(exception);
	}  
}

function removeTab(tabId, realm) {
	var transmitString = tabId + "#" + realm;
	var ourLi = document.getElementById(tabId);
	var parentOfLi = ourLi.parentNode;
	var tab = $D.hasClass(tabId, "aktiv");
	
	try {
		parentOfLi.removeChild(ourLi);
		try {
			FontshopAjaxUtilities.removeTabFromTabList(
			  transmitString, {					//params
			  callback: "",	//callback
			  errorHandler: handleErrors,
			  async:false
			});
		} catch (x) {
			(x);
		}
	} catch (exception) {
		(exception);
	}  
	
}

function changeToPictureOverview() {
	window.location = 'image_result.htm';
}
function changeToFontOverview() {
	window.location = 'fontlisting.htm';
}


function handleDefaultCallback (str) {
	(str);
}


function getPath4FontShuffle(faFMDBID, prodFMDBID, text2Render) {
	var transmitString = faFMDBID + "#" + prodFMDBID + "#" + text2Render;
	try {
		try {
			FontshopAjaxUtilities.getPath4FontShuffle(
			  transmitString, {					//params
			  callback: handleReturnedHtml,	//callback
			  errorHandler: handleErrors,
			  async:false
			});
		} catch (x) {
			(x);
		}
	} catch (exception) {
		(exception);
	}
	(getReturnedHtml());
	return getReturnedHtml();		
}


function handleReturnedHtml (str) {
	returnedHtml = str;
	
}

function getReturnedHtml() {
	return returnedHtml;
}


function handleErrors(str){
	(str);
}




//NOT used for search result list
function handleReturnedFontDetailsPrice (wrapperPK, str) {
	var newPrice4FontDetails = str;
	var el2update = document.getElementById("calculatedPrice"+wrapperPK);
	if (el2update!=null && newPrice4FontDetails!=null && newPrice4FontDetails!="") {
		el2update.innerHTML = newPrice4FontDetails;
	}
	
	returnedHtml = str;
	
}

		

/**
function save4DefaultImageBooleanCall(newImageSrc, fontProductPK) {
	var transmitParams = newImageSrc + "#" + fontProductPK;
	try {
		try {
			FontshopAjaxUtilities.save4DefaultImageSrc(
			  transmitParams, {					//params
			  callback: handleDefaultCallback,	//callback
			  errorHandler: handleErrors,
			  async:false
			});
		} catch (x) {
			(x);
		}
	} catch (exception) {
		(exception);
	}
	
}
*/

function retrieveFontImageUrl(fontProductPK) {
	try {
		try {
			FontshopAjaxUtilities.getFontDefImageUrl(
			  fontProductPK, {				//params
			  callback: handleReturnedHtml,	//callback
			  errorHandler: handleErrors,
			  async:false
			});
		} catch (x) {
			(x);
		}
	} catch (exception) {
		(exception);
	}
	return getReturnedHtml();
}



//function to update the server vars
function updateFontsServerVars(newText, newSize){
	
	var escapedText = newText;
	
	//since users COULD use # as a render sign, use a specific combination....
	var transmitParams = newSize + "#spec8472estaBL8--" + escapedText;
	
	try {
		try {
			FontshopAjaxUtilities.setFontsRenderSettings(
			  transmitParams, {				//params
			  callback: handleDefaultCallback,	//callback
			  errorHandler: handleErrors,
			  async:false
			});
		} catch (x) {
			(x);
		}
	} catch (exception) {
		(exception);
	}
	
}



function removeSessionAttribute4Wrapper(wrapperPkString) {
	var transmitParams = wrapperPkString;
	
	try {
		try {
			FontshopAjaxUtilities.removeFontOrderCalculationFromSession(
			  transmitParams, {				//params
			  callback: handleDefaultCallback,	//callback
			  errorHandler: handleErrors,
			  async:false
			});
		} catch (x) {
			(x);
		}
	} catch (exception) {
		(exception);
	}
}


function sendPasswordForgottenEmail(emailString) {
	var transmitParams = emailString;
	try {
		try {
			FontshopAjaxUtilities.sendPasswordForgottenEmail(
			  transmitParams, {				//params
			  callback: updateNoLoginDiv,	//callback
			  errorHandler: handleErrors,
			  async:true
			});
		} catch (x) {
			(x);
		}
	} catch (exception) {
		(exception);
	}
}

function updateNoLoginDiv(str) {
	var noLoginDiv = document.getElementById("successPasswordDiv");
	var textInp = document.getElementById("successPasswordhiddenInput");
	if (str!=null && str!="" && str.contains("nicht") == true) {
		if (noLoginDiv!=null) {
			noLoginDiv.setAttribute("class", "error");
			noLoginDiv.innerHTML = str;
		} 
	} else if ((str!=null && str!="" && str.contains("nicht") == false)
				|| (str!=null && str=="")) {
		if (noLoginDiv!=null && textInp!=null) {
			noLoginDiv.setAttribute("class", "success");
			noLoginDiv.innerHTML = textInp.value;
		} 
		setTimeout("YAHOO.hmmh.missingPasswordLayer.hideLayer();", 3000);
	}
	
}


function checkIfDOIMailIsNecessaryAndSendMail(transmitParams) {
	var transmitParamsf = emailString +  "#" + newsletterName;
	try {
		try {
			FontshopAjaxUtilities.checkIfDOIMailIsNecessary(
			  transmitParamsf, {		//params
			  callback: handleDefaultCallback,	//callback
			  errorHandler: handleErrors,
			  async:true
			});
		} catch (x) {
			(x);
		}
	} catch (exception) {
		(exception);
	}
}


function sendNewsletterDOIMAil(transmitParams) {
	try {
		try {
			FontshopAjaxUtilities.sendNewsletterDOIMAil(
			  transmitParams, {		//params
			  callback: updateDiv,	//callback
			  errorHandler: handleErrors,
			  async:true
			});
		} catch (x) {
			(x);
		}
	} catch (exception) {
		(exception);
	}
}



function sendContactEmail(emailString, messageString) {
	var transmitParams = emailString +  "#" + Utf8.encode(messageString);
	try {
		try {
			FontshopAjaxUtilities.sendContactEmail(
			  transmitParams, {				//params
			  callback: handleDefaultCallback,	//callback
			  errorHandler: handleErrors,
			  async:true
			});
		} catch (x) {
			(x);
		}
	} catch (exception) {
		(exception);
	}
}


function updateDiv(str) {
	if (str!=null && str!="") {
		var confirmDiv = document.getElementById("showConfirmationMessage");
		if (confirmDiv!=null) {
			confirmDiv.setAttribute("class", "error bold blau");
			confirmDiv.innerHTML = str;
		} else {
		}
	}
}

function subscribeNewsletter(){
	
	updateDiv("");
	
	var doubleOptinMessageInput = document.getElementById("showDoubleOptinMessage");
	if(doubleOptinMessageInput){
		doubleOptinMessageInput.innerHTML = "";
	}
	var inputEmail = document.getElementById("email");
	var fontNewsletter = document.getElementById("fontNewsletter");
	var fotoNewsletter = document.getElementById("fotoNewsletter");
	var newsletter3 = document.getElementById("newsletter3");
	var selNewsletters = "";
	var emailStr = "";
	
	if(!fontNewsletter.checked && !fotoNewsletter.checked && !newsletter3.checked){
		updateDiv("<span class='rot'>Bitte abonnieren Sie mindestens einen Newsletter!</span><br/><br/>");
		return;
	}
	
	if(!checkEmailAdr(inputEmail.value)){
		updateDiv("<span class='rot'>Bitte geben Sie eine E-Mail-Adresse an!</span><br/><br/>");
		return;
	}
	
	emailStr = inputEmail.value;
		
	if (fontNewsletter && fontNewsletter.checked){
		selNewsletters += "0"; 
	}
	if (fotoNewsletter && fotoNewsletter.checked){
		selNewsletters += ",1";
	}
	if (newsletter3 && newsletter3.checked){
		selNewsletters += ",2";
	}
	
	parametersString = "email=" + emailStr + "&newsletterCods=" + selNewsletters;	
	
    $C.asyncRequest(
      "POST",
      "/nl_subscribe.htm",
      { 
    	success : function(response){updateDiv(response.responseText)},
    	failure : handleErrors,
      }, 
      parametersString
    );     
   
}

function sendNewsletterOrderMail(){
	subscribeNewsletter();
}

function unsubscribeNewsletter(){
	
	updateDiv("");
	
	var doubleOptinMessageInput = document.getElementById("showDoubleOptinMessage");
	if(doubleOptinMessageInput){
		doubleOptinMessageInput.innerHTML = "";
	}
	var inputEmailAbort = document.getElementById("emailAbort");
	var fontNewsletterAbort = document.getElementById("fontNewsletterAbort");
	var fotoNewsletterAbort = document.getElementById("fotoNewsletterAbort");
	var newsletter3Abort = document.getElementById("newsletter3Abort");
	var selNewsletters = "";
	var emailStr = "";
	
	if(!fontNewsletterAbort.checked && !fotoNewsletterAbort.checked && !newsletter3Abort.checked){
		updateDiv("<span class='rot'>Bitte wählen Sie mindestens einen Newsletter!</span><br/><br/>");
		return;
	}
 
	if(!checkEmailAdr(inputEmailAbort.value)){
		updateDiv("<span class='rot'>Bitte geben Sie eine E-Mail-Adresse an!</span><br/><br/>");
		return;
	}
	
	emailStr = inputEmailAbort.value;
		
	if (fontNewsletterAbort && fontNewsletterAbort.checked){
		selNewsletters += "0"; 
	}
	if (fotoNewsletterAbort && fotoNewsletterAbort.checked){
		selNewsletters += ",1";
	}
	if (newsletter3Abort && newsletter3Abort.checked){
		selNewsletters += ",2";
	}
	
	parametersString = "email=" + emailStr + "&newsletterCods=" + selNewsletters;	
	
    $C.asyncRequest(
      "POST",
      "/nl_unsubscribe.htm",
      { 
    	success : function(response){updateDiv(response.responseText)},
    	failure : handleErrors,
      }, 
      parametersString
    );     
}

function sendNewsletterCancelMail(){
	unsubscribeNewsletter();
}

/**
 * check the synthaxe of email addresses
 */
  function checkEmailAdr(address){
    var status = true;
    var username = "";
    var hostname = "";

    if (address.length < 8)
      status = false;

    var seperate = address.lastIndexOf("@");
    username = address.substring(0, seperate );
    if (seperate == -1 || username.length < 2)
      status = false;
      
    hostname = address.substring(seperate+1, address.length );
    var hostSeparator = hostname.lastIndexOf(".");
    if (hostSeparator == -1 || hostname.length < 5)
      status = false;

    return status;
  }

function sendBrochuresOrderMail() {
	
	var selectedBrochures = document.getElementById("brochure-hidden");
	
	var company = document.getElementById("company");
	var department = document.getElementById("department");
	var firstname = document.getElementById("firstname");
	var lastname = document.getElementById("lastname");
	var streetname = document.getElementById("streetname");
	var streetnumber = document.getElementById("streetnumber");
	var postalcode = document.getElementById("postalcode");
	var town = document.getElementById("town");
	var email = document.getElementById("email");
	var orderMail = document.getElementById("orderMail");

	var parametersString = "#";
	
	
	selectedBrochures.value = selectedBrochures.value.replace(',', ', ');
	
	if (selectedBrochures == null || selectedBrochures.value == ""
		//|| company == null || company.value == "" //HD 1639
		|| firstname == null || firstname.value == ""
		|| lastname == null || lastname.value == ""
		|| streetname == null || streetname.value == ""
		//|| streetnumber == null || streetnumber.value == "" //HD 1639
		|| postalcode == null || postalcode.value == ""
		|| town == null || town.value == "") {
		updateDiv("<span class='rot'>Bitte erg&auml;nzen Sie die mit * versehenen Felder!</span><br/><br/>");
		$D.get("showConfirmationMessage").style.display = ''; 
	} else {
		
		parametersString += selectedBrochures.value + "#";
		parametersString += company.value + "#";
		parametersString += firstname.value + "#";
		parametersString += lastname.value + "#";
		parametersString += streetname.value + "#";
		parametersString += streetnumber.value + "#";
		parametersString += postalcode.value + "#";
		parametersString += town.value + "#";
		if (department!=null && department.value!="") {
			parametersString += department.value + "#";
		} else {
			parametersString += "#";
		}
		if (email!=null && email.value!="" && orderMail!=null && orderMail.checked == true) {
			parametersString += email.value + "#";
		} else {
			parametersString += "#";
		}
		sendBrochureOrderMail(Utf8.encode(parametersString));
		$D.get("showConfirmationMessage").style.display = ''; 
		window.setTimeout("YAHOO.hmmh.orderProductsLayer.hideLayer()", 2500);
		
	}

	
}






function sendBrochureOrderMail(transmitParams) {
	try {
		try {
			FontshopAjaxUtilities.sendBrochureOrderMail(
			  transmitParams, {		//params
			  callback: updateDiv,	//callback
			  errorHandler: handleErrors,
			  async:true
			});
		} catch (x) {
			(x);
		}
	} catch (exception) {
		(exception);
	}
}




function sendCallBackEmail() {
	
	var inputRufnummer = document.getElementById("rufnummer");
	var inputName = document.getElementById("name");
	var inputFirma = document.getElementById("firma");
	var inputVon = document.getElementById("von");
	var inputBis = document.getElementById("bis");
	
	var checkboxSchriften = document.getElementById("schriften");
	var checkboxZoombilder = document.getElementById("zoombilder");
	var checkboxCorpfonts = document.getElementById("corpfonts");
	var checkboxBooksstudio = document.getElementById("booksstudio");
	var checkboxNfs = document.getElementById("nfs");
	var checkboxSupport = document.getElementById("support");
	var checkboxTypo = document.getElementById("typo");
		
	var inputSonstiges = document.getElementById("sonstiges");
	
	var callBackString = "";
	
	//else branches are necessary, because fields will be set via fontshop!
	if (inputRufnummer!=null) {
		callBackString += "#" + inputRufnummer.value;
	} else {
		callBackString += "#" + "";
	}
	if (inputName!=null) {
		callBackString += "#" + inputName.value;
	} else {
		callBackString += "#" + "";
	}
	if (inputFirma!=null) {
		callBackString += "#" + inputFirma.value;
	}
	if (inputVon!=null) {
		callBackString += "#" + inputVon.value;
	} else {
		callBackString += "#" + "";
	}
	if (inputBis!=null) {
		callBackString += "#" + inputBis.value;
	} else {
		callBackString += "#" + "";
	}
	
	if (checkboxSchriften!=null) {
		if (checkboxSchriften.checked == true) {
			callBackString += "#" + true;
		} else {
			callBackString += "#" + false;
		}
	}
	if (checkboxZoombilder!=null) {
		if (checkboxZoombilder.checked == true) {
			callBackString += "#" + true;
		} else {
			callBackString += "#" + false;
		}
	}
	if (checkboxCorpfonts!=null) {
		if (checkboxCorpfonts.checked == true) {
			callBackString += "#" + true;
		} else {
			callBackString += "#" + false;
		}
	}
	if (checkboxBooksstudio!=null) {
		if (checkboxBooksstudio.checked == true) {
			callBackString += "#" + true;
		} else {
			callBackString += "#" + false;
		}
	}
	if (checkboxNfs!=null) {
		if (checkboxNfs.checked == true) {
			callBackString += "#" + true;
		} else {
			callBackString += "#" + false;
		}
	}
	if (checkboxSupport!=null) {
		if (checkboxSupport.checked == true) {
			callBackString += "#" + true;
		} else {
			callBackString += "#" + false;
		}
	}
	if (checkboxTypo!=null) {
		if (checkboxTypo.checked == true) {
			callBackString += "#" + true;
		} else {
			callBackString += "#" + false;
		}
	}
	if (inputSonstiges!=null) {
		callBackString += "#" + inputSonstiges.value;
	}
	
	//alert(callBackString);

	var transmitParams = Utf8.encode(callBackString);
	try {
		try {
			FontshopAjaxUtilities.sendCallBackEmail(
			  transmitParams, {				//params
			  callback: updateDiv,	//callback
			  errorHandler: handleErrors,
			  async:true
			});
		} catch (x) {
			(x);
		}
	} catch (exception) {
		(exception);
	}

}





/**
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * YUI && DWR
 */
function instantiateAutoSuggest(inputID, containerID, suggestDivID) {
	
//default	
var letterAmount = 3;
var linesAmount = 15;

try {
	letterAmount = parseInt(document.getElementById("letterAmount").value);	
	linesAmount = parseInt(document.getElementById("linesAmount").value);		
} catch (m) {
	(m);
}
		
YAHOO.example.DWR = new function(){

// Instantiate JS Function DataSource
//since there can be more than one field for the "same" input, check for part of name
if (inputID.contains(inputAutoCompleteFontname))	{  //(inputID == inputAutoCompleteFontname)
	this.oACDS = new YAHOO.widget.DS_JSFunction(getAutoCompleteValuesFontNames);
}
if (inputID.contains(inputAutoCompleteDesigner))	{  //(inputID == inputAutoCompleteDesigner)
	this.oACDS = new YAHOO.widget.DS_JSFunction(getAutoCompleteValuesDesigners);
}
if (inputID.contains(inputAutoCompleteManufacturer))	{ //(inputID == inputAutoCompleteManufacturer)
	this.oACDS = new YAHOO.widget.DS_JSFunction(getAutoCompleteValuesManufacturers);
}
// Instantiate AutoComplete
this.oAutoComp = new YAHOO.widget.AutoComplete(inputID, containerID, this.oACDS);
this.oAutoComp.useShadow = false;
this.oAutoComp.minQueryLength = letterAmount; 
this.oAutoComp.maxResultsDisplayed = linesAmount;
this.oAutoComp.formatResult = function(oResultItem, sQuery) {
   var sMarkup = oResultItem;
   return (sMarkup);
};
$D.setStyle("kompaktsuche", "overflow", "visible!important");

// Show custom message if no results found
this.myOnDataReturn = function(sType, aArgs) {
   var oAutoComp = aArgs[0];
   var sQuery = aArgs[1];
   var aResults = aArgs[2];
   if(aResults.length == 0) {
       oAutoComp.setBody("<div id=\"containerdefault\"> - </div>");
   }
};

this.itemSelectHandler = function(sType, aArgs) {
   var oMyAcInstance = aArgs[0]; // your AutoComplete instance
   var elListItem = aArgs[1]; //the <li> element selected in the suggestion container
   var aData = aArgs[2]; //array of the data for the item as returned by the DataSource
   document.getElementById(inputID).value = aData;
};

//Register events
this.oAutoComp.dataReturnEvent.subscribe(this.myOnDataReturn);
this.oAutoComp.itemSelectEvent.subscribe(this.itemSelectHandler);

};





	
} 

/*******************************************************************/

function supplementDivs4Input(inputID, containerID, suggestDivID){
	
	var el2Replace = document.getElementById(inputID);
	
	if (el2Replace!=null) {
		var parentEl = el2Replace.parentNode;
		
		var newInputID = inputID + inputIDcounter;
		var newContainerID = containerID + inputIDcounter;
		var newSuggestDivID = suggestDivID + inputIDcounter;
		
		if (parentEl!=null) {		
			try {
				var searchTermInput = document.getElementById(inputID).value;
				var newInputEl = document.createElement("input");
				var newSuggestDiv = document.createElement("div");
				var newSubDiv = document.createElement("div");
				
				newInputEl.setAttribute("id", newInputID);
				newInputEl.setAttribute("name", newInputID);
				newInputEl.setAttribute("type", "text");
				newInputEl.setAttribute("value", searchTermInput);
				
				newSuggestDiv.setAttribute("id", newSuggestDivID);
				newSubDiv.setAttribute("id", newContainerID);
		
				newSuggestDiv.appendChild(newInputEl);
				newSuggestDiv.appendChild(newSubDiv);
				
				parentEl.replaceChild(newSuggestDiv, el2Replace);
			} catch (c) {
				(c);
			}
		//instantiate the autosuggest fields
		instantiateAutoSuggest(newInputID, newContainerID, newSuggestDivID);
		}
		("instantiation done");
	} else {
		if (getWindowLoadedFlag()==true){
		("input field could not be instantiated - trying again in 0,3 sec");
			try {
				updateFlag(false);
				setTimeout("supplementDivs4Input('"+newInputID+"', '"+newContainerID+"', '"+newSuggestDivID+"')", 300);
			} catch (l) {
				(l);
			}
		}
	}
	
	inputIDcounter += 1;
	
	//=> positioned via "check4OtherInputs" in fontcalls.js
	
}


$E.onDOMReady(function() {
	updateFlag(true)
});



function saveFontShuffleVars(transmitVars) {
	var transmitParams = transmitVars;
	
	try {
		try {
			FontshopAjaxUtilities.saveFontShuffleVars(
			  transmitParams, {				//params
			  callback: handleDefaultCallback,	//callback
			  errorHandler: handleErrors,
			  async:false
			});
		} catch (x) {
			(x);
		}
	} catch (exception) {
		(exception);
	}
}


function scrollUpToError() {
	window.scrollBy(0, -350);
}


function showCreditCardLimitError(showMe) {
	var ourErrorDiv = document.getElementById("creditCardLimitError");
	if (null != ourErrorDiv) {
		if (showMe == true) {
			//FIXME: scroll up to error!!
			ourErrorDiv.setAttribute("style", "display:block");
		} else {
			ourErrorDiv.setAttribute("style", "display:none");	
		}
	}
}

