$ = function (id) {
	//gibt einen element Zurueck oder null, falls element nicht gefunden wird
	return document.getElementById(id);
}

$each = function (list, fn) {
	//fuert function fn fuer jeder element von list
	if (! list instanceof Array) return;
	for (var i=0; i<list.length;i++) { fn(list[i]); }
}

$defined = function(obj) {
	return (typeof(obj)!="undefined" && obj!=null);
}

function check_email(mail) {
	var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
	return filter.test(mail);
}

var outImgHash = new Array();
var overImgHash = new Array();
var open_layer = 0;

function navi_preload()
{
var j=0;
for (x=0; x < document.images.length; x++){
		if(document.images[x].name.substr(0,4) == 'nav_'){
			var quelle = document.images[x].src;
			var quelle_active = quelle.replace(/(\.[^\.]+)$/, "_act$1");
			outImgHash[document.images[x].name] = new Image();
			outImgHash[document.images[x].name].src = quelle;
			overImgHash[document.images[x].name] = new Image();
			overImgHash[document.images[x].name].src = quelle_active;
		}
	}
}

String.prototype.startsWith = function(str) {
	try { return (this.match("^"+str)==str); }
	catch (e) { return false; }
}

String.prototype.trim = function()	{
	return(this.replace(/^[\s\xA0]+/, "").replace(/[\s\xA0]+$/, ""));
}

String.prototype.endsWith = function(str) {
	return (this.match(str+"$")==str);
}

function navi_act(bildname) {
	if(document.getElementsByName(bildname)[0]){
		if(overImgHash[bildname]){
			document.getElementsByName(bildname)[0].src = overImgHash[bildname].src;
		}
	}
	else{
		for (a=0; a < document.images.length; a++){
			if (document.images[a].name == bildname && (document.images[a].src.search(/_act\.[^\.]+$/) < 0)){
				var quelle = document.images[a].src;
				var quelle_active = quelle.substring(0,quelle.lastIndexOf(".")) + "_act" + quelle.substring(quelle.lastIndexOf("."),quelle.length);
				document.images[a].src =  quelle_active;
				break;
			}
		}
	}
}

function navi_normal(bildname) {
	if(document.getElementsByName(bildname)[0]){
		if(outImgHash[bildname]){
			document.getElementsByName(bildname)[0].src = outImgHash[bildname].src;
		}
	}
	else{
		for (b=0; b < document.images.length; b++){
			if (document.images[b].name == bildname){
				var quelle = document.images[b].src;
				var minus_act = quelle.lastIndexOf(".") - 4;
				var quelle_normal = quelle.substring(0,minus_act) + quelle.substring(quelle.lastIndexOf("."),quelle.length);
				document.images[b].src =  quelle_normal;
				break;
			}
		}
	}
}

function position_popup() {
  if ( navigator.appVersion.indexOf("Mac") > 0 )
    window.resizeTo(470,490);

  var xpos = 20;
  var ypos = 20;
  if ( ((screen.width/2)-235)  > 0 ) xpos = ( screen.width / 2 )  - 235;
  if ( ((screen.height/2)-245) > 0 ) ypos = ( screen.height / 2 ) - 245;
  this.moveTo (xpos,ypos);
}

function show(zoom_layer){
	zoom_layer.style.visibility = 'visible';
	var yOffset = window.pageYOffset || document.body.scrollTop;
	zoom_layer.style.top = yOffset;
}

function change_visibility(id) {
  layer = document.getElementById(id);
  if ( layer.style.visibility == 'visible' ) {
    layer.style.visibility = 'hidden';
  } else {
    layer.style.visibility = 'visible';
    open_layer = 1;
  }
  setTimeout("open_layer = 0", 100);
}

function close_layers() {
  var element;
  if (  open_layer == 0 ) {
    if (document.getElementById('sel_art_per_page_open')) 
      document.getElementById('sel_art_per_page_open').style.visibility = 'hidden';
    if (document.getElementById('sub_sel_brand_open')) 
      document.getElementById('sub_sel_brand_open').style.visibility    = 'hidden';
    if (document.getElementById('sub_sel_pg_open')) 
      document.getElementById('sub_sel_pg_open').style.visibility    = 'hidden';
    if (document.getElementById('sub_sel_mysize_open')) 
      document.getElementById('sub_sel_mysize_open').style.visibility    = 'hidden';

    for ( x = 0 ; x < document.getElementsByTagName("div").length ; x++) {
      element = document.getElementsByTagName("div")[x];

      if ( element.id ) {
    		if(element.id.substr(0,7) == 'select_')
          element.style.visibility    = 'hidden';
      }
    }
  }
}


function required_fields() {
  var fields = new Array('CSALUTATION','CNAME1', 'CNAME2', 'CEMAIL', 'reg_pw', 'reg_re_pw');
  var field_title;
  var field;
  for ( i = 0 ; i < fields.length ; i++ ) {
    field_title = eval("document.getElementById('TITLE_" + fields[i] + "')");
    field = eval("document.getElementsByName('" + fields[i] + "')[0]");
    if ( !field.value ) {
      field_title.style.color = '#e20800';
      field.style.border = '2px solid #e20800';
    }
  }
  if ( document.getElementsByName('CNAME1')[0].value.length < 2 )
    document.getElementsByName('CNAME1')[0].style.border = '2px solid #e20800';
  if ( document.getElementsByName('reg_pw')[0].value.length < 6 )
    document.getElementsByName('reg_pw')[0].style.border = '2px solid #e20800';
  if ( document.getElementsByName('reg_pw')[0].value != document.getElementsByName('reg_re_pw')[0].value ) {
    document.getElementsByName('reg_pw')[0].style.border = '2px solid #e20800';
    document.getElementsByName('reg_re_pw')[0].style.border = '2px solid #e20800';
  }
  var Email = document.getElementsByName('CEMAIL')[0];
  if ( Email.value.search(/^[0-9A-Za-z\._\-\!%\+]+@[0-9A-Za-z\._\-\!%\+]+\.[0-9A-Za-z\._\-\!%\+]+$/) == -1 ||
Email.value.search(/^www\./) != -1 || Email.value.search(/(@[\_\-]|\+)/) != -1 || Email.value.search(/[A-Za-z]{2,}$/) == -1 )
    Email.style.border = '2px solid #e20800';
}

function stripScripts (txt) {
	var script = "";
	var html = txt.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi, function() {
			script += arguments[1] + "\n";
			return "";
		});
	return {"html":html, "script":script};
}

function loadScripts(id,scrCode) {
	var head  = document.getElementsByTagName("head").item(0);
	if ($("dynamic_script_"+id)!=undefined) {
		head.removeChild($("dynamic_script_"+id));
	}
	scrHandle = document.createElement("script");
	scrHandle.type = "text/javascript";
	scrHandle.id = "dynamic_script_"+id;
	scrHandle.text = scrCode;
	try { void(head.appendChild(scrHandle)); }
	catch (e) { alert(e) }
}


function generic_popup_div_request_cb (res) {
	var r = stripScripts(res);
	$("generic_popup_div_content").innerHTML=r["html"];
	if (r["script"]!="") {
		loadScripts("generic_popup_div",r["script"]);
	}
}

function set_shadow() {
	blackbox = document.createElement("div");
	blackbox.id = "blackbox";
	document.body.appendChild(blackbox);
	blackbox.onclick = function () {
		close_generic_popup();
		}
	}

function unset_shadow() {
	var blb = $("blackbox");
	if (typeof(blb)!="undefined") {
		document.body.removeChild(blb);
		}
	}

function open_confirm_popup (title_, confirmstring, className) {
	var gpp = document.createElement("div");
	gpp.id = "generic_popup_div";
	gpp.style.zIndex = "900";

	var sct = document.body.scrollTop;
	if ( sct == 0 ) {
		if (window.pageYOffset) {
			sct = window.pageYOffset
		}
		else {
			sct = (document.body.parentElement) ? document.body.parentElement.scrollTop : 0;
		}
	}
	gpp.style.top = ( 80 + sct ) + "px" ;

	if ( typeof(className) == "undefined" ) { gpp.className = "generic_popup_div confirm_popup"; } else { gpp.className = "generic_popup_div " + className; }
	gpp.innerHTML='<div class="header" id="gpp_dragger"><h1>'+title_+'</h1><span onclick="close_generic_popup()">X</span></div><div class="content"><div id="generic_popup_div_content">'+
	'<span>'+confirmstring+'</span>'
	+'</div></div>';
	set_shadow();
	document.body.appendChild(gpp);
	try { new DragObject(gpp, $("gpp_dragger") ); }
	catch (e) {}
	}


function open_generic_popup_params (title_, params, className) {
	var gpp = document.createElement("div");
	gpp.id = "generic_popup_div";
	gpp.style.zIndex = "1002";
	var sct = document.body.scrollTop;
	if ( sct == 0 ) {
		if (window.pageYOffset) {
			sct = window.pageYOffset
		}
		else {
			sct = (document.body.parentElement) ? document.body.parentElement.scrollTop : 0;
		}
	}
	gpp.style.top = ( 80 + sct ) + "px" ;

	if ( typeof(className) == "undefined" ) { gpp.className = "generic_popup_div"; } else { gpp.className = "generic_popup_div " + className; }
	gpp.innerHTML='<div class="header" id="gpp_dragger"><h1>'+title_+'</h1><span onclick="close_generic_popup()">X</span></div><div class="content"><div id="generic_popup_div_content"></div></div>';

	gpp_request = new ajax_engine("gpp_request","/ajax/popup_params.html","generic_popup_div_request_cb",params);
	gpp_request.start();

	set_shadow();
	document.body.appendChild(gpp);
	try { new DragObject(gpp, $("gpp_dragger") ); }
	catch (e) {}
	//layer_effect(gpp,"open");
}

function open_generic_popup (title_, src_, className) {
	var gpp = document.createElement("div");
	gpp.id = "generic_popup_div";
	gpp.style.zIndex = "1002";

	var sct = document.body.scrollTop;
	if ( sct == 0 ) {
		if (window.pageYOffset) {
			sct = window.pageYOffset
		}
		else {
			sct = (document.body.parentElement) ? document.body.parentElement.scrollTop : 0;
		}
	}
	gpp.style.top = ( 80 + sct ) + "px" ;

	if ( typeof(className) == "undefined" ) { gpp.className = "generic_popup_div"; } else { gpp.className = className; }
	gpp.innerHTML='<div class="header" id="gpp_dragger"><h1>'+title_+'</h1><span onclick="close_generic_popup()">X</span></div><div class="content"><div id="generic_popup_div_content"></div></div>';

	gpp_request = new ajax_engine("gpp_request","/ajax/popup.html","generic_popup_div_request_cb","popup="+src_+";id="+SESSION_ID);
	gpp_request.start();

	set_shadow();
	document.body.appendChild(gpp);

	try { new DragObject(gpp, $("gpp_dragger") ); }
	catch (e) {}
	//layer_effect(gpp,"open");
	}

function close_generic_popup() {
	//layer_effect($("generic_popup_div"),"close");
	var popup = $("generic_popup_div");
	if ( popup != null ) {
		unset_shadow();
		popup.parentNode.removeChild( popup );
		}
	}

//###########################STINER#################################

function show_layer (id) {
	var l = document.getElementById(id);
	if ( l!= null ) {
		l.style.display = "block";
		}
	}
	
function hide_layer (id) {
	var l = document.getElementById(id);
	if ( l!= null ) {
		l.style.display = "none";
		}
	}

//##################################################################

function window_open_focused (url,name,params) {
   fenster = window.open(url, name, params);
   fenster.focus();
}

