//Variable zeigt den Status darüber, ob AJAX Funktionen (updateSizeSelect, updateEditionSelect) asynchron abgeschlossen sind.
var STATUS_VARIABLE = 0;

//Rollover
function MM_swapImgRestore() {
	var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() {
	var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
	var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
	if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) {
	var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() {
	var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
	if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

//Hintergrund wechseln
function changeBackground(id, color){
	document.getElementById(id).style.backgroundColor = color;
}

//Element einblenden
function showElement(id){
	document.getElementById(id).style.display = 'block';
}

//Element ausblenden
function hideElement(id){
	document.getElementById(id).style.display = 'none';
}

//Textfarbe wechseln
function changeTextColor(array, color){
	for (var i = 0; i < array.length; ++i){
		document.getElementById(array[i]).style.color = color;
	}
}

//In Warenkorb legen
function addToBasket(path, index, imageNr) {

	new Ajax.Request(path+"warenkorb/addToBasket.php", {

		method: "post",
		parameters: "imagenr="+imageNr,

		onSuccess: function(r) {
			markerBasketSymbol(index);
			markerBasketTopSymbol(r);
		},
		onFailure: function(r){
			setErrorMessage(r);
		}
	});
}

//Aus Warenkorb loeschen
function removeFromBasket(path, index, imageNr) {

	new Ajax.Request(path+"warenkorb/removeFromBasket.php", {

		method: "post",
		parameters: "imagenr="+imageNr,

		onSuccess: function(r) {
			markerBasketSymbol(index, r);
			markerBasketTopSymbol(r);
		},
		onFailure: function(r){
			setErrorMessage(r);
		}
	});
}

//Symbole markieren
function markerBasketSymbol(index) {

	if(document.getElementById('basket_'+index).style.display == 'none') {
		//Warenkorbsymbol deaktivieren;
		$('basket_'+index).show();
		$('basket_'+index+'_hide').hide();
	} else {
		//Warenkorbsymbol aktivieren;
		$('basket_'+index).hide();
		$('basket_'+index+'_hide').show();
	}
}

//Symbole Topnavigation markieren
function markerBasketTopSymbol(r) {

	if(r.responseText == 1) {
		$('basket_full').show();
		$('basket').hide();
	} else {
		$('basket_full').hide();
		$('basket').show();
	}
}

//In Leuchtkasten legen
function addToLightbox(path, index, lightbox, imageNr, user) {

	//Bild in Leuchtkasten legen
	new Ajax.Request(path+"leuchtkasten/addToLightbox.php", {

		method: "post",
		parameters: "lightbox="+lightbox+"&imagenr="+imageNr+"&user="+user,

		onSuccess: function(r) {

			markerLighboxSymbol(index, lightbox, r);

			//Icon Topnavigation setzen
			new Ajax.Request(path+"leuchtkasten/isLightboxFull.php", {

				method: "post",
				parameters: "lightbox="+lightbox+"&user="+user,

				onSuccess: function(r) {
					markerLighboxTopSymbol(lightbox, r);
				},

				onFailure: function(r){
					setErrorMessage(r);
				}
			});
		},

		onFailure: function(r){
			setErrorMessage(r);
		}
	});
}

//Aus Leuchtkasten loeschen
function removeFromLightbox(path, index, lightbox, imageNr, user) {

	//Bild aus Leuchtkasten loeschen
	new Ajax.Request(path+"leuchtkasten/removeFromLightbox.php", {

		method: "post",
		parameters: "lightbox="+lightbox+"&imagenr="+imageNr+"&user="+user,

		onSuccess: function(r) {

			markerLighboxSymbol(index, lightbox, r);

			//Icon Topnavigation setzen
			new Ajax.Request(path+"leuchtkasten/isLightboxFull.php", {

				method: "post",
				parameters: "lightbox="+lightbox+"&user="+user,

				onSuccess: function(r) {
					markerLighboxTopSymbol(lightbox, r);
				},

				onFailure: function(r){
					setErrorMessage(r);
				}
			});

		},

		onFailure: function(r){
			setErrorMessage(r);
		}
	});
}

//Symbole Topnavigation markieren
function markerLighboxTopSymbol(lightbox, r) {

	switch(lightbox) {

		case 1:

			if(r.responseText == 1) {
				$('map01_full').show();
				$('map01').hide();
			} else {
				$('map01_full').hide();
				$('map01').show();
			}

			break;

		case 2:

			if(r.responseText == 1) {
				$('map02_full').show();
				$('map02').hide();
			} else {
				$('map02_full').hide();
				$('map02').show();
			}

			break;

		case 3:

			if(r.responseText == 1) {
				$('map03_full').show();
				$('map03').hide();
			} else {
				$('map03_full').hide();
				$('map03').show();
			}

			break;
	}
}

//Symbole markieren
function markerLighboxSymbol(index, lightbox, r) {

	switch (lightbox) {
	  case 1:

	  	if(document.getElementById('map01_'+index).style.display == 'none') {
	  		//Leuchtkastensymbol 1 deaktivieren;
		    $('map01_'+index).show();
		    $('map01_'+index+'_hide').hide();
	  	} else {
	  		//Leuchtkastensymbol 1 aktivieren;
		    $('map01_'+index).hide();
		    $('map01_'+index+'_hide').show();
	  	}

	    break;
	  case 2:

	  	if(document.getElementById('map02_'+index).style.display == 'none') {
	  		//Leuchtkastensymbol 2 deaktivieren;
		    $('map02_'+index).show();
		    $('map02_'+index+'_hide').hide();
	  	} else {
	  		//Leuchtkastensymbol 2 aktivieren;
		    $('map02_'+index).hide();
		    $('map02_'+index+'_hide').show();
	  	}

	    break;
	  case 3:

	  	if(document.getElementById('map03_'+index).style.display == 'none') {
			//Leuchtkastensymbol 3 deaktivieren;
		    $('map03_'+index).show();
		    $('map03_'+index+'_hide').hide();
	  	} else {
	  		//Leuchtkastensymbol 3 aktivieren;
		    $('map03_'+index).hide();
		    $('map03_'+index+'_hide').show();
	  	}

	    break;
	}
}

//Select-Box updaten (BildGroesse)
function updateSizeSelect(path, elementName, image, setPrice, index) {

	STATUS_VARIABLE = 0;

	//Überblendung einschalten
	$('reloader').show();

	selectbox_index = document.forms[0].elements[elementName].value;

	new Ajax.Request(path+"warenkorb/updateSizeSelectbox.php", {

		method: "post",
		parameters: "selectbox_index="+selectbox_index+"&image="+image,

		onSuccess: function(r){

			$('requestSizeSelectbox_'+image).hide();
			$('updateSizeSelectbox_'+image).show();

			select_innerHTML(document.getElementById('updateSizeSelectbox_'+image), r.responseText);

			STATUS_VARIABLE = STATUS_VARIABLE+1;

			hideReloader(path, image, setPrice, index);
		},

		onFailure: function(r){
			setErrorMessage(r);
		}
	});
}

//EditionPeriodSelect-Box updaten (Auflage/Nutzung)
function updateEditionSelect(path, elementName, image, setPrice, index) {

	STATUS_VARIABLE = 0;

	//Überblendung einschalten
	$('reloader').show();

	selectbox_index = document.forms[0].elements[elementName].value;

	new Ajax.Request(path+"warenkorb/updateEditionSelectbox.php", {

		method: "post",
		parameters: "selectbox_index="+selectbox_index+"&image="+image,

		onSuccess: function(r){
			$('requestEditionSelectbox_'+image).hide();
			$('updateEditionSelectbox_'+image).show();

			select_innerHTML(document.getElementById('updateEditionSelectbox_'+image), r.responseText);

			STATUS_VARIABLE = STATUS_VARIABLE+1;

			hideReloader(path, image, setPrice, index);

		},

		onFailure: function(r){
			setErrorMessage(r);
		}
	});
}

function hideReloader(path, image, setPrice, index) {

	if(STATUS_VARIABLE == 2) {

		selectbox_purpose_index = document.forms[0].elements['requestPurposeSelectbox_'+image].value;
		selectbox_edition_index = document.forms[0].elements['updateEditionSelectbox_'+image].value;
		selectbox_size_index = document.forms[0].elements['updateSizeSelectbox_'+image].value;
		checkbox_price_addon = document.forms[0].elements['online_'+index].checked;

		if(setPrice == '1') {

			//Preis neu setzen
			new Ajax.Request(path+"warenkorb/updatePricePurpose.php", {

				method: "post",
				parameters: "image="+image+"&selectbox_purpose_index="+selectbox_purpose_index+"&selectbox_size_index="+selectbox_size_index+"&selectbox_edition_index="+selectbox_edition_index+"&checkbox_price_addon="+checkbox_price_addon,

				onSuccess: function(r){

					var priceArr = r.responseText.split("|");
					var thumbPrice = priceArr[0];
					var sumPrice = priceArr[1];

					$('price_i_'+image).innerHTML = thumbPrice;
					$('price').innerHTML = sumPrice;

					//Checkbox einblenden?
					setPositionCheckbox(
						path,
						image,
						selectbox_purpose_index,
						selectbox_size_index,
						selectbox_edition_index
					);

					//Checkbox deaktivieren
					setDefaultPositionCheckbox(index);

					//Überblendung ausschalten
					$('reloader').hide();
				},

				onFailure: function(r){
					setErrorMessage(r);
				}
			});

		} else {

			//Checkbox einblenden?
			setPositionCheckbox(
				path,
				image,
				selectbox_purpose_index,
				selectbox_size_index,
				selectbox_edition_index
			);

			//Checkbox deaktivieren
			setDefaultPositionCheckbox(index);

			//Überblendung ausschalten
			$('reloader').hide();
		}
	}
}

function setDefaultPositionCheckbox(index) {

	if(document.getElementById('online_'+index) != null)
		document.getElementById('online_'+index).checked = false;
}

function setPositionCheckbox(path, image, selectbox_purpose_index, selectbox_size_index, selectbox_edition_index) {

	new Ajax.Request(path+"warenkorb/updatePositionCheckbox.php", {

		method: "post",
		parameters: "selectbox_purpose_index="+selectbox_purpose_index+"&selectbox_size_index="+selectbox_size_index+"&selectbox_edition_index="+selectbox_edition_index,

		onSuccess: function(r){

			if(r.responseText != '') {

				$('updatePosition_'+image).show();

				$('updatePositionLabel_'+image).update(r.responseText);
				$('updatePositionLabel_'+image).innerHTML;

			} else {
				$('updatePosition_'+image).hide();
			}

		},

		onFailure: function(r){
			setErrorMessage(r);
		}
	});
}

function calculatePrice(path, image, index) {

	//Überblendung einschalten
	$('reloader').show();

	selectbox_purpose_index = document.forms[0].elements['requestPurposeSelectbox_'+image].value;

	if(document.getElementById('updateEditionSelectbox_'+image).style.display == 'none') {
		selectbox_edition_index = document.forms[0].elements['requestEditionSelectbox_'+image].value;
	} else {
		selectbox_edition_index = document.forms[0].elements['updateEditionSelectbox_'+image].value;
	}

	if(document.getElementById('updateSizeSelectbox_'+image).style.display == 'none') {
		selectbox_size_index = document.forms[0].elements['requestSizeSelectbox_'+image].value;
	} else {
		selectbox_size_index = document.forms[0].elements['updateSizeSelectbox_'+image].value;
	}

	if(document.getElementById('online_'+index) != null) {
		checkbox_price_addon = document.forms[0].elements['online_'+index].checked;
	} else {
		checkbox_price_addon = false;
	}

	//Checkbox einblenden?
	setPositionCheckbox(
		path,
		image,
		selectbox_purpose_index,
		selectbox_size_index,
		selectbox_edition_index
	);

	new Ajax.Request(path+"warenkorb/updatePriceEditionSize.php", {

		method: "post",
		parameters: "image="+image+"&selectbox_purpose_index="+selectbox_purpose_index+"&selectbox_size_index="+selectbox_size_index+"&selectbox_edition_index="+selectbox_edition_index+"&checkbox_price_addon="+checkbox_price_addon,

		onSuccess: function(r){

			var priceArr = r.responseText.split("|");
			var thumbPrice = priceArr[0];
			var sumPrice = priceArr[1];

			$('price_i_'+image).innerHTML = thumbPrice;
			$('price').innerHTML = sumPrice;

			//Überblendung ausschalten
			$('reloader').hide();
		},

		onFailure: function(r){
			setErrorMessage(r);
		}
	});
}

//Box fuer Bearbeitungsgebuehren setzen
function updateChargesBox(path, elementName, image) {

	selectbox_index = document.forms[0].elements[elementName].value;

	switch(selectbox_index) {

		//Download
		case '1':
			//Box einblenden
			$('handling_download_box').show();

			//Rechnungsadresse einblenden
			$('billingdata').show();
			$('billing_address').show();

			//Alle anderen ausblenden
			$('handling_cd_dvd_rom_box').hide();
			$('handling_email_box').hide();
			$('handling_ftp_box').hide();

			//Lieferadresse ausblenden
			$('addressdata').hide();
			$('delivery_address').hide();
			break;

		//CD-/ DVD-ROM
		case '2':
			//Box einblenden
			$('handling_cd_dvd_rom_box').show();

			//Lieferadresse einblenden
			$('addressdata').show();
			$('delivery_address').show();

			if(document.forms[0].elements['same_address'].checked == true) {
				//Rechnungsadresse ausblenden
				$('billingdata').hide();
				$('billing_address').hide();

			} else {
				//Rechnungsadresse einblenden
				$('billingdata').show();
				$('billing_address').show();
			}

			//Alle anderen ausblenden
			$('handling_download_box').hide();
			$('handling_email_box').hide();
			$('handling_ftp_box').hide();
			break;

		//EMAIL
		case '3':
			//Box einblenden
			$('handling_email_box').show();

			//Rechnungsadresse einblenden
			$('billingdata').show();
			$('billing_address').show();

			//Alle anderen ausblenden
			$('handling_download_box').hide();
			$('handling_cd_dvd_rom_box').hide();
			$('handling_ftp_box').hide();
			$('addressdata').hide();
			$('delivery_address').hide();

			//Lieferadresse ausblenden
			$('addressdata').hide();
			$('delivery_address').hide();
			break;

		//FTP
		case '4':
			//Box einblenden
			$('handling_ftp_box').show();

			//Rechnungsadresse einblenden
			$('billingdata').show();
			$('billing_address').show();

			//Alle anderen ausblenden
			$('handling_download_box').hide();
			$('handling_cd_dvd_rom_box').hide();
			$('handling_email_box').hide();
			$('addressdata').hide();
			$('delivery_address').hide();

			//Lieferadresse ausblenden
			$('addressdata').hide();
			$('delivery_address').hide();
			break;
	}

}

//Box fuer Rechnungsanschrift setzen
function updateBillingBox(path, elementName, image) {

	status_checkbox = document.forms[0].elements[elementName].checked;

	if(status_checkbox == false) {
		$('billingdata').show();
		$('billing_address').show();
	} else {
		$('billingdata').hide();
		$('billing_address').hide();
	}
}

//Errors setzen
function setErrorMessage(r) {
	alert('Error: '+r.status + " " +r.statusText);
}


//Menu
function fixBackground(id_){
	for (var i = 0; i < id_.length; ++i){
		document.getElementById(id_[i]).style.backgroundColor = "#669900";
		document.getElementById(id_[i]).style.color = "#CCFF33";
	}
}

function fixBackground_(id_){
	for (var i = 0; i < id_.length; ++i){
		document.getElementById(id_[i]).style.backgroundColor = "#669900";
		document.getElementById(id_[i]).style.color = "#CCFF33";
	}
}

function clearBackground_(id_){
	for (var i = 0; i < id_.length; ++i){
		document.getElementById(id_).style.backgroundColor = "#b9b9b9";
		document.getElementById(id_).style.color = "#333333";
	}
}

//Popup
function openPopUp (rootpath, type) {

	//alert(rootpath);

	var breite = screen.width;
	var hoehe = screen.height;
	var fensterbreite = 700;
	var fensterhoehe = 500;
	var pos_x = (breite/2)-(fensterbreite/2);
	var pos_y = (hoehe/2)-(fensterhoehe/2);

	switch (type){
		case 'licence':
			var popup = window.open(rootpath+"popup/lizenzbestimmungen/index.php", "","scrollbars=yes, width="+fensterbreite+", height="+fensterhoehe+", left="+pos_x+", top="+pos_y+"");
			break;
		case 'agb':
			var popup = window.open(rootpath+"popup/agb/index.php", "","scrollbars=yes, width="+fensterbreite+", height="+fensterhoehe+", left="+pos_x+", top="+pos_y+"");
			break;
	}

	//Show
	popup.focus();
}

//Download-Popup
function getDownloadWindow(rootpath, index) {

	//alert(rootpath);

	var breite = screen.width;
	var hoehe = screen.height;
	var fensterbreite = 250;
	var fensterhoehe = 155;
	var pos_x = (breite/2)-(fensterbreite/2);
	var pos_y = (hoehe/2)-(fensterhoehe/2);

	var popup = window.open(rootpath+'/popup/download/index.php?index='+index+'','gd','scrollbars=no,toolbar=no,status=no,resizable=no,location=no,menubar=no,width='+fensterbreite+',height='+fensterhoehe+',top='+pos_y+',left='+pos_x+'');

	//Show
	popup.focus();
}

// Errorbox Warenkorb schliessen
function closeErrorBox() {
	$('basket_error_box').hide();
	document.getElementById('basket_error_box_iframe').style.display = 'none';
}

// Box Suche oeffnen
function openSearchBox() {
	document.getElementById('search_notebox').style.display = 'block';
}

// Box Suche oeffnen
function closeSearchBox() {
	document.getElementById('search_notebox').style.display = 'none';
}



//Hilsfunktionen
function select_innerHTML(objeto,innerHTML){
/******
* select_innerHTML - corrige o bug do InnerHTML em selects no IE
* Veja o problema em: http://support.microsoft.com/default.aspx?scid=kb;en-us;276228
* Versão: 2.1 - 04/09/2007
* Autor: Micox - Náiron José C. Guimarães - micoxjcg@yahoo.com.br
* @objeto(tipo HTMLobject): o select a ser alterado
* @innerHTML(tipo string): o novo valor do innerHTML
*******/
    objeto.innerHTML = ""
    var selTemp = document.createElement("micoxselect")
    var opt;
    selTemp.id="micoxselect1"
    document.body.appendChild(selTemp)
    selTemp = document.getElementById("micoxselect1")
    selTemp.style.display="none"
    if(innerHTML.indexOf("<option")<0){//se não é option eu converto
        innerHTML = "<option>" + innerHTML + "</option>"
    }
    innerHTML = innerHTML.replace(/<option/g,"<span").replace(/<\/option/g,"</span")
    selTemp.innerHTML = innerHTML


    for(var i=0;i<selTemp.childNodes.length;i++){
  		var spantemp = selTemp.childNodes[i];

        if(spantemp.tagName){
            opt = document.createElement("OPTION")

   if(document.all){ //IE
    objeto.add(opt)
   }else{
    objeto.appendChild(opt)
   }

   //getting attributes
   for(var j=0; j<spantemp.attributes.length ; j++){
    var attrName = spantemp.attributes[j].nodeName;
    var attrVal = spantemp.attributes[j].nodeValue;
    if(attrVal){
     try{
      opt.setAttribute(attrName,attrVal);
      opt.setAttributeNode(spantemp.attributes[j].cloneNode(true));
     }catch(e){}
    }
   }
   //getting styles
   if(spantemp.style){
    for(var y in spantemp.style){
     try{opt.style[y] = spantemp.style[y];}catch(e){}
    }
   }
   //value and text
   opt.value = spantemp.getAttribute("value")
   opt.text = spantemp.innerHTML
   //IE
   opt.selected = spantemp.getAttribute('selected');
   opt.className = spantemp.className;
  }
 }
 document.body.removeChild(selTemp)
 selTemp = null
}