function eComRequestHelp(requestedObject) {
	var request = new Request.JSON({
		url: ajaxBridge,
		onComplete: function(response) {
			resetDesigner();
			initProduct(response);
			addProductColorEvents();
			$('region_list').innerHTML = response.regionListHTML;
			getPrice();
			//show product name
            $('productName').innerHTML = response.name;
		}
	}).post({'functionName': 'changeProduct', 'param': id});
}


function showGlobalAlert(msg, topic)
{
	if(typeof msg != "undefined"){
		document.getElementById('alertContent').innerHTML = msg;
	}
	
	if(typeof topic != "undefined"){
		document.getElementById('alertTopic').innerHTML = topic;
	}
	
	document.getElementById('alert').style.display = 'block';
	
}


function checkEgal(feld,feldname)
{
	
	for(x=1;x<feld.elements[feldname].length;x++)
	{
		if(feld.elements[feldname][x].checked)
		{
			feld.elements[feldname][x].checked = false;
		}
	}
}

function uncheckEgal(feld,feldname) 
{
 
	feld.elements[feldname][0].checked = false;
	
}


function uncheckOther(feld,feldname) 
{

 feld = feld.elements[feldname];
 for(var i = 1; i < feld.length ; i++) 
 {
 	feld[i].checked = false;
 }
 
}

var ZIP_LENGTH = 4;
var ZIP_LENGTH_MAX = 5;
var DELIMETER = '-';
var DELIMETER_POS = -1;	// -1 = no delimeter
var FORM_NAME = "searchForm";
var NAME_RADIUS = "radius";

var COLOR_ERROR = "#FFBBBB";
var COLOR_NO_ERROR = "#FFFFFF";
var TYPE_NUMBER = 1;
var TYPE_CHAR = 2;

var zipLength = 0;
var oldText = "";

function checkZip($obj,TargetForm)
{
	if(TargetForm=='1'){
		FORM_NAME = "searchForm";
		NAME_RADIUS = "radius";
	}else if(TargetForm == '2'){
		FORM_NAME = "searchFormDetail";
		NAME_RADIUS = "radius";
	}

	var error = false;
	var completeZip = false;
	val = trim($obj.value);
	var newval = val;

	if (val != null && val.length > 0)
	{
		type = checkType(val);
		if (type == TYPE_NUMBER + TYPE_CHAR)
		{
			error = true;
		}
		else if (type == TYPE_NUMBER)
		{
			if (oldText != null && val.length > oldText.length)
			{
				newval = delimeter(val);
			}
			else
			{
				oldText = val;
			}

			if (newval != val)
			{
				$obj.value = newval;
				oldText = newval;
			}
			if (zipLength >= ZIP_LENGTH && zipLength <= ZIP_LENGTH_MAX) completeZip = true;
			if (zipLength > ZIP_LENGTH_MAX) error = true;
		}
	}
	setZipDisabled(!completeZip);
}

function setZipDisabled(disable)
{
	if(disable){
		document[FORM_NAME].elements['sortierung'].value='1';
	}else{
		document[FORM_NAME].elements['sortierung'].value='3';
	}
	document[FORM_NAME].elements[NAME_RADIUS].disabled = disable;
}

function delimeter(txt)
{
	if(DELIMETER_POS == -1 || txt == null || txt.length == 0) return txt;

	// delete delimeters
	var newTxt = "";
	for (var i=0; i<txt.length; i++)
	{
		if(txt.charAt(i) != DELIMETER) newTxt += txt.charAt(i);
	}
	txt = newTxt;
	if(txt.length >= DELIMETER_POS - 1)
	{
		txt = txt.substring(0, 2) + DELIMETER + txt.substring(2, txt.length)
	}
	return txt;
}

function checkType(txt)
{
	if (txt == null || txt.length ==0) return 0;
	var numberPresent = false;
	var charPresent = false;

	zipLength = 0;

		var s = "" + txt;
		var ziffern = "0123456789";
		for (var i=0; i<s.length; i++)
	{
  		if (ziffern.indexOf(s.charAt(i))==-1)
		{
			if (DELIMETER_POS > -1 && s.charAt(i) == DELIMETER) continue;
			charPresent = true;
		}
		else
		{
			zipLength++;
			numberPresent = true;
		}
	}

	returnValue = 0;
	if (numberPresent) returnValue += TYPE_NUMBER;
	if (charPresent) returnValue += TYPE_CHAR;
	return returnValue;
}

function trim(sString)
{
	while (sString.substring(0,1) == ' ')
	{
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' ')
	{
		sString = sString.substring(0,sString.length-1);
	}
	return sString;
}
