/* Copyright (c) WEBSALE AG 2010
 * Diese Software ist kommerziell und unterliegt der Lizenzpflicht.
 * Benutzung und Weitergabe nur mit Genehmigung und mit Lizenz der WEBSALE AG.
 *
 * Copyright (c) WEBSALE AG 2010
 * This software is to be licensed.
 * Use or distribution only with expressed permission and with license of WEBSALE AG.
 */

//////////////////////////////////////////////////////////////////////////////////////////
//                                                                                      //
//    Designspezifische Funktionen fuer WEBSALE eCommerce                               //
//                                                                                      //
//////////////////////////////////////////////////////////////////////////////////////////



//////////////////////////////////////////////////////////////////////////////////////////
//	Allgemeine: "verfügbare Zeichen einer Textarea anzeigen"                        //
//////////////////////////////////////////////////////////////////////////////////////////
//
//	Mit folgender Funktion können Sie die restlichen verfügbaren Zeichen
//	einer Textarea anzeigen lassen:
//	ws_registerLimitTextarea(textareaid, maxlength, infodiv, infostring_signsleft, infostring_nosignsleft)
//		textareaid:		Die ID der Textarea
//		maxlength:		Die maximale Anzahl an Zeichen
//		infodiv:		Die ID des DIV-Containers in der die verfügbare Menge an Zeichen angezeigt wird
//		infostring_signsleft:	Dieser Text wird angezeigt wenn noch Zeichen zur Verfügung stehen. Das Tag ~WSJS-Signs~ wird durch die verfügbare Anzahl an Zeichen ersetzt.
//		infostring_nosignsleft:	Dieser Text wird angezeigt wenn keine Zeichen mehr zur Verfügung stehen. Das Tag ~WSJS-Signs~ wird durch die maximale Anzahl an Zeichen ersetzt.
//
//	Rufen Sie diese Funktion entweder in der Funktion $(document).ready oder an einer beliebigen Stelle im Template auf



//////////////////////////////////////////////////////////////////////////////////////////
//    Allgemein: "DIV-Container bei aktiviertem Javascript einblenden"                  //
//////////////////////////////////////////////////////////////////////////////////////////

//Alle DIV-Container mit dieser Klasse werden nachdem die Seite gealden ist automatisch eingeblendet
//Die DIV-Container muessen dabei den style "display: none" besitzen
var ws_JSOnlyClass = 'javascript_only';



//////////////////////////////////////////////////////////////////////////////////////////
//    Modul: "Produktvergleich"                                                         //
//////////////////////////////////////////////////////////////////////////////////////////
//Anhand der nachfolgenden Parameter laesst sich das Verhalten des Produktvergleichs konfigurieren

//Der DIV-Container in dem der Inhalt des Layers (Produktvergleich) angezeigt wird (Kategorie/Produkt)
var ws_PRCAjaxDivContent = 'PC-Content';

//Der Klassenname der Links zum Anzeigen des Produktvergleichs 
//dieser DIV-Container muss einmal auf jedem Template vorhanden sein auf dem der Produktvergleich angezeigt wird.
var ws_PRCShowProductCompareClass = 'PRC-Show';

//Der DIV-Container mit dieser ID wird eingeblendet wenn eine Hinweismeldungen angezeigt wird, z.B. wenn keine weiteren Produkte zum Produktvergleich hinzugefuegt werden koennen (Kategorie)
var ws_PRCAlertDiv = 'PC-Alert';
//In den DIV-Container mit dieser ID wird der Hinweistext eingefuegt (Kategorie)
var ws_PRCAlertTextDiv = 'PC-Alert-Message';

//Ist dieser Schalter auf true gesetzt wird der Inhalt des Produktvergleichs per JavaScript um 90 Grad gedreht
var ws_PRCRotate = true;
//Anfang und Endekennungen der Daten- und Template-Sektion im Template welches per AJAX zurueckgegeben wird
var ws_PRCRotateDataBegin = '<data>';
var ws_PRCRotateDataEnd = '</data>';
var ws_PRCRotateTemplateBegin = '<template>';
var ws_PRCRotateTemplateEnd = '</template>';
//Feld- und Datensatztrenner der Datensektion
var ws_PRCRotateDataFieldSeparator = '<df>';
var ws_PRCRotateDataRowSeparator = '<dr>';
//Konfiguration der Ausgabetabelle
var ws_PRCRotateTableClass = 'PRC-Table';
var ws_PRCRotateTableID = 'PRC-Table';
var ws_PRCRotateTableTRClasses = [ 'PRC-TR1', 'PRC-TR2' ];                         //Array mit beliebiger Anzahl an Klassen
var ws_PRCRotateTableTDHeaderClasses = [ 'PRC-TDHeader1', 'PRC-TDHeader2' ];       //Array mit beliebiger Anzahl an Klassen
var ws_PRCRotateTableTDClasses = [ 'PRC-TD1', 'PRC-TD2' ];                         //Array mit beliebiger Anzahl an Klassen
var ws_PRCRotateTableTDClassesAlternateVertical = true;
var ws_PRCRotateTemplateReplaceTag = '#####REPLACE#####';



//////////////////////////////////////////////////////////////////////////////////////////
//    Modul: "Produkte per AJAX in den Warenkorb legen"                                 //
//////////////////////////////////////////////////////////////////////////////////////////

function ws_AJAXaddToBasketStart() {
	//Blendet die Fehler- und Infocontainer aus sowie den Ladecontainer ein
	$('#AJAXError').hide();
	$('#WK-Error').hide();
	$('#AJAXInfo').show();
}
 
//Diese Funktion wird aufgerufen wenn Produkt(e) in den Warenkorb gelegt werden konnten
//Mit dieser Funktion ist die Erfolgsmeldung realisierbar
function ws_AJAXaddToBasketResponseSuccess() {
	//Blendet den Ladecontainer aus
	//$('#WK-Info').show();
	$('#AJAXInfo').hide();
	$('#WK-Info').fadeIn("slow");
	
	//Der Container mit der Information wieviele Artikel in den WK gelegt wurden wird angezeigt, dieser Container wird nach 3 Sekunden wieder ausgeblendet
	
	window.setTimeout("$('#WK-Info').fadeOut('slow')", 3000);
}
 
//Diese Funktino wird aufgerufen wenn mindestens ein Artikel nicht in den Warenkorb gelegt werden konnte
//Mit dieser Funktion laesst sich die von WEBSALE eCommerce erzeugte Fehlermeldung ausgeben
function ws_AJAXaddToBasketResponseError()
{
       //Blendet den Ladecontainer aus und die Hinweismeldung ein
       $('#AJAXInfo').fadeOut("slow");
       $('#WK-Error').fadeIn("slow");
}
 
//Diese Funktion wird aufgerufen wenn die AJAX-Kommunikatino fehlschlug
//Mit dieser Funktion laesst sich ein allgemeiner Kommunikationsfehler (z.B. wenn die Internetverbindung unterbrochen wurde) anzeigen
function ws_AJAXaddToBasketError()
{
       //Blendet den Ladecontainer aus und den AJAX-Fehlercontainer ein
       $('#AJAXInfo').fadeOut();
       $('#AJAXError').fadeIn();
}

/////////////////////////////////////////////////////////////////////////////////////////
//    Modul: "Produkte per AJAX auf die Merkliste legen"                               //
/////////////////////////////////////////////////////////////////////////////////////////

function ws_AJAXaddToMemolist(form,button,charset) {
	if(!form||!button||!charset) return true;
	ws_AJAXaddToMemolistStart();
	var action = $("#"+form).attr("action");
	form = $("#"+form).serialize()+"&"+button+"=y";
	$.ajax({data:form,type:"Post",url:action,contentType:"application/WS-target"+charset+"xWS-target",dataType:"html",timeout:2000,success:ws_AJAXaddToMemolistGenericSuccess,error:ws_AJAXaddToMemolistError});
	return false;
}

function ws_AJAXaddToMemolistGenericSuccess(form){
	/*
	$.each(form,function(button,charset){
		if(button.substr(0,8) != "WS-Ajax-") return true;
		button = button.substr(8);
		$("#"+button).html(charset)
	});*/
	form != ""?window.setTimeout("ws_AJAXaddToMemolistResponseSuccess()",100):window.setTimeout("ws_AJAXaddToMemolistResponseError()",100)
}

function ws_AJAXaddToMemolistStart() {
	$('#AJAXError').hide();
	$('#WK-Error').hide();
	$('#AJAXInfo').show();
}
 
function ws_AJAXaddToMemolistResponseSuccess() {
	$('#AJAXInfo').hide();
	$('#WK-Info').append('<div id="cboxWrapper" style="height: 200px; width: 300px; position:fixed; top:50%; left:50%; margin-top: -100px; margin-left: -135px; z-index:100;"><div><div id="cboxTopLeft" style="float: left;"></div><div id="cboxTopCenter" style="float: left; width: 258px;"></div><div id="cboxTopRight" style="float: left;"></div></div><div><div id="cboxMiddleLeft" style="float: left; height: 150px;"></div><div id="cboxContent" style="float: left; width: 258px; height: 150px;"><div style="display: block; width: 258px; overflow: auto; height: 120px;"><p style="text-align:center; font-weight:bold; margin-top:40px; font-size:16px; color:#999;">Ihre Auswahl wurde auf <br>die Merkliste gelegt!</p></div><div id="cboxLoadingOverlay" class="" style="height: 150px; display: none;"></div><div id="cboxLoadingGraphic" class="" style="height: 150px; display: none;"></div><div align="center"><a class="button" onclick="$(\'#WK-Info\').fadeOut(\'slow\'); return false;">Weiter einkaufen</a> <a href="http://www.chocolats-de-luxe.de/websale7/merkliste.htm?shopid=chocolats-de-luxe&act=memolist" class="button">Zur Merkliste</a></div></div><div id="cboxMiddleRight" style="float: left; height: 150px; "></div></div><div><div id="cboxBottomLeft" style="float: left;"></div><div id="cboxBottomCenter" style="float: left; width: 258px;"></div><div id="cboxBottomRight" style="float: left;"></div></div><div><img src="images/msg_success.png" style="position:fixed; top: 50%; left:50%; margin-top:-125px; margin-left:125px; z-index:200;"></div></div>');
	$('#WK-Info').fadeIn("slow");
	window.setTimeout("$('#WK-Info').fadeOut('slow')", 3000);
}
 
function ws_AJAXaddToMemolistResponseError() {
	$('#AJAXInfo').fadeOut("slow");
	$('#WK-Info').append('<div id="cboxWrapper" style="height: 200px; width: 300px; position:fixed; top:50%; left:50%; margin-top: -100px; margin-left: -135px; z-index:100;"><div><div id="cboxTopLeft" style="float: left;"></div><div id="cboxTopCenter" style="float: left; width: 258px;"></div><div id="cboxTopRight" style="float: left;"></div></div><div><div id="cboxMiddleLeft" style="float: left; height: 150px;"></div><div id="cboxContent" style="float: left; width: 258px; height: 150px;"><div style="display: block; width: 258px; overflow: auto; height: 120px;"><p style="text-align:center; font-weight:bold; margin-top:50px; font-size:12px; color:#999;">Es ist ein Problem aufgetreten:<br> Die Kommunikation mit dem Server schlug fehl.</p></div><div id="cboxLoadingOverlay" class="" style="height: 150px; display: none;"></div><div id="cboxLoadingGraphic" class="" style="height: 150px; display: none;"></div></div><div id="cboxMiddleRight" style="float: left; height: 150px; "></div></div><div><div id="cboxBottomLeft" style="float: left;"></div><div id="cboxBottomCenter" style="float: left; width: 258px;"></div><div id="cboxBottomRight" style="float: left;"></div></div><div><img src="images/msg_error.png" style="position:fixed; top: 50%; left:50%; margin-top:-125px; margin-left:80px; z-index:200;"></div></div>');
	$('#WK-Error').fadeIn("slow");
}
 
function ws_AJAXaddToMemolistError() {
	$('#AJAXInfo').fadeOut();
	$('#AJAXError').fadeIn();
}




function showDivbox(id, id2) {
	var divbox = document.getElementById(id);
	var id2 = document.getElementById(id2);
	if (divbox != null) {
		$("" + id2 + " a").attr("class", "button");
		$(divbox).slideDown();
	}
}

function hideDivbox(id, id2) {
	var divbox = document.getElementById(id);
	var id2 = document.getElementById(id2);
	if (divbox != null) {
		$("" + id2 + " a").attr("class", "button");
		$(divbox).slideUp();
	}
}


function SubmitSelection() {
	if (document.forms['product'] !== undefined) {
		document.forms['product'].js_dep_var.value = "on";
		document.forms['product'].submit();
	} else {
		document.forms['OrderHistory'].js_order_history.value = "on";
		document.forms['OrderHistory'].submit();
	}
}


(function($) {
	$.fn.shorten = function(options){
		
		var defaults = {
			maxlen:		200,
			del:		' ....'
		};
		
		var options = $.extend(defaults, options);
		
		this.each(function() {
			var text = $(this).html();
			height = $(this).height();
			if (text.length > options.maxlen) {
				text = text.substr(0, options.maxlen) + options.del;
				$(this).text(text);
				
			}
		});
		
		return this;
	};
})(jQuery);
$(document).ready(function() {
	$("#accordion_nav").accordion({ header: "h4", autoHeight: false, navigation: true, fillSpace: false, clearStyle: false, active: 1});
	$("#box_login div.box_content").hide();

	$("#box_login div.box_head").toggle(
		function () {
			$("#box_login div.box_content").slideDown();
			$("#box_login .box_head").addClass("box_head_selected");
			$("#box_login .box_head .ui-icon").removeClass("ui-icon-triangle-1-e");
			$("#box_login .box_head .ui-icon").addClass("ui-icon-triangle-1-s");
			$("#newsletter").fadeOut();
		},
		function () {
			$("#box_login div.box_content").slideUp();
			$("#box_login .box_head").removeClass("box_head_selected");
			$("#box_login .box_head .ui-icon").addClass("ui-icon-triangle-1-e");
			$("#box_login .box_head .ui-icon").removeClass("ui-icon-triangle-1-s");
			$("#newsletter").fadeIn();

		}
	);

	$("#box_business div.box_content").hide();

	$("#box_business div.box_head").toggle(
		function () {
			$("#box_business div.box_content").slideDown();
		},
		function () {
			$("#box_business div.box_content").slideUp();
		}
	);

	$("#box_wissen div.box_content").hide();

	$("#box_wissen div.box_head").toggle(
		function () {
			$("#box_wissen div.box_content").slideDown();
		},
		function () {
			$("#box_wissen div.box_content").slideUp();
		}
	);

	$("div.panels a[rel]").toggle(
		function () {
			var id = $(this).attr("rel");
			$(id).slideDown();
			$(" div.panels a h2").attr("class", "minus");
		},
		function () {
			var id = $(this).attr("rel");
			var id2 = $(this).attr("rel");
			$(id).slideUp();
			$(" div.panels a h2").attr("class", "plus");
		}
	);
	
	$("div[rel='toolover']").hover(
		function () {
			$(this).children(".tooltip").fadeIn();
		}, 
		function () {
			$(this).children(".tooltip").fadeOut();
		} 
	);
	
	$("div[rel='tool']").hover(
		function () {
			$(this).children(".tool").show();
		}, 
		function () {
			$(this).children(".tool").hide();
		} 
	);
	$(".tool").hover(
		function () {
			//$(this).hide();
			$(this).children(".tool").show();
		},
		function () {
			$(this).children(".tool").hide();
		}
	);
	$("a[rel='pr_images']").colorbox({transition:"elastic",close:"Schlie&szligen",current:"Bild {current} von {total}", maxHeight:"500px"});
	$("a[rel='pr_recmd']").colorbox({transition:"elastic",close:"Schlie&szligen",current:"Bild {current} von {total}", html:true, iframe:true, height:"700px", width:"550px", scrolling:false, opacity: 0.7});
	$(".ccard_td_1 a").colorbox({transition:"elastic",close:"Schlie&szligen",current:"Sicherheitscode", html:true, height:"550px", width:"450px", rel: 'nofollow'});
	$("a[rel='pop_agb']").colorbox({transition:"elastic",close:"Schlie&szligen",current: "Allgemeine Geschäftsbedingungen und Widerruf", iframe:true, height:"600px", width:"800px", innerwidth: "790px", rel: 'nofollow' });

});
