$ = function (id) { return document.getElementById(id); }

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;
		}
	}
}

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_list(name) {
  for ( x = 0 ; x < document.getElementsByTagName("div").length ; x++) {
    element = document.getElementsByTagName("div")[x];
    if ( element.id ) {
  		if(element.id.substr(0,8) == name)
        element.style.visibility    = 'hidden';
    }
  }
}

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.id.substr(0,8) == 'preview_')
          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';
}

//###########################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();
}

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 (document.getElementById("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);
        document.getElementById("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.getElementById('main').appendChild(blackbox);
        blackbox.onclick = function () {
                close_generic_popup();
                }
        }

function unset_shadow() {
        var blb = document.getElementById("blackbox");
        if (typeof(blb)!="undefined") {
                document.getElementById('main').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.getElementById('main').ppendChild(gpp);
        try { new DragObject(gpp, document.getElementById("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 = "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 = ( 145 + 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.getElementById('main').appendChild(gpp);
        try { new DragObject(gpp, document.getElementById("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 = "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 = ( 145 + 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.getElementById('main').appendChild(gpp);

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

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


function build_tabs(el) {
	if (typeof(el)=="undefined") { return false; }
	var nodes = el.childNodes;
	var flag_header = false;
	var flag_footer = false;
	for (i=0; i<nodes.length; i++) {
		if ( nodes[i].nodeName == "DIV" ) {
			if ( flag_header == false ) {
				el.tabs_header = nodes[i].getElementsByTagName("ul")[0];
				flag_header = true;
				}
			else if ( flag_footer == false) {
				el.tabs_footer = nodes[i];
				break;
				}
			}
		}

	el.change_tab = function (nr) {
		var ch_header = el.tabs_header.getElementsByTagName("li");
		var ch_footer = el.tabs_footer.getElementsByTagName("div");
		for ( i=0; i<ch_header.length; i++ ) {
			ch_header[i].className = "";
			ch_footer[i].style.display="none";
			}
		ch_header[nr].className = "selected";
		ch_footer[nr].style.display="block";
		}

	var ch_header = el.tabs_header.getElementsByTagName("li");
	for ( i=0; i<ch_header.length; i++ ) {
		ch_header[i].number = i;
		ch_header[i].onclick = function () {
			el.change_tab(this.number);
			}
		}
	}

function tatis_images_changer( obj, target, list, mover_left, mover_right ) {
	obj.nr = 0;
	if (typeof(list) != "object") return;
	obj.list = list;

	if (target==null) target=obj;
	obj.target = target;
	obj.clear_nr = function() {
		this.nr = 0;
		}
	obj.show_prev_image = function () {
		if (typeof(this.target) == "string") this.target = $(this.target);
		this.nr--;
		if ( this.nr == -1 ) { this.nr = this.list.length - 1; }
		this.target.src = this.list[this.nr];
		}
	obj.show_next_image = function () {
		if (typeof(this.target) == "string") this.target = $(this.target);
		this.nr++;
		if ( this.nr == this.list.length ) { this.nr = 0; }
		this.target.src = this.list[this.nr];
		}
	if ( typeof(mover_left) == "object" ) {
		mover_left.onclick = function(e) {
			obj.show_prev_image();
			if (!e) var e = window.event;
			cancelEvent(e);
			}
		}
	if ( typeof(mover_right) == "object" ) {
		mover_right.onclick = function (e) {
			obj.show_next_image();
			if (!e) var e = window.event;
			cancelEvent(e);
			}
		}
	}

function add_article_to_cart ( form, error_id, title ) {
	var article_to_cart_request = new ajax_engine( "article_to_cart_request", "/tmpl/detail_popup.tmpl",
    function (res) {
      try {
    		var response = eval( res );
        if ( response["reserved_quantity"] > 0 ) {
          if ( response["number_of_items"] ) { $("head_cart_number_of_items").innerHTML = response["number_of_items"]; }
          if ( response["total_value"] ) { $("head_cart_total_value").innerHTML = response["total_value"]; }

          //add_to_cart_tracking( response["art_nr"], response["price_actual"], response["price_list"], response["currency"], response["reserved_quantity"], response["affilinet_site_id"], response["affilinet_url"] );

          if ( $("cart") ) {
	          location.reload();
          } else {
            open_generic_popup_params(
              title,
              "id=" + SESSION_ID + ";popup=info.tmpl&amp;pg=" + response['pg'] + "&amp;sub_pg=" + response['sub_pg'] + "&amp;sub_designer=" + response['sub_designer'] + "&amp;designer=" + response['designer'] + "&amp;count_cat_sel=" + response['count_cat_sel'] + "&amp;opened=" + response['opened'] + "&amp;main_cat=" + response['main_cat'] + "&amp;cat=" + response['cat'] + "&amp;art_id=" + response['art_id'] + "&amp;size=" + response['size'] + "&amp;reserved_quantity=" + response['reserved_quantity'] + "&amp;with_video=" + response['with_video'],
              "info_popup");
          }
          close_generic_popup();
        } else if ( response["error"] ) {
          var error_div = $( error_id );
          error_div.style.display = "block";
          error_div.innerHTML = response["error"];
        }
    } catch (e) {
		var error_div = $( error_id );
		error_div.style.display = "block";
		error_div.innerHTML = response["error"];
    }
  },
    $(form) );
	article_to_cart_request.start();
}

function cancelEvent(e) {
	e = e ? e : window.event;
	if(e.stopPropagation) e.stopPropagation();
	if(e.preventDefault) e.preventDefault();
	e.cancelBubble = true;
	e.cancel = true;
	e.returnValue = false;
	return false;
	}


