var fullSizeAjaxOpen = new Hash(); // Tell-A-Friend-Bereich geöffnet
var wcTslideIn = new Hash();
var wcTslideOut = new Hash();
var wcOpen = new Hash();
var wcPinned = new Hash();
var wcAutoPinned = new Hash();
var wcTShowFactSheet = new Hash();

function womanCard_MouseEnter( cid ) {
	// Falls SlideOut-Timer schon aktiv, diesen abbrechen
	if ( wcTslideOut.get(cid) != undefined ) {
		window.clearTimeout(wcTslideOut.get(cid));
		wcTslideOut.unset(cid);
	}

	// Falls bereits offen, fertig!
	if ( wcOpen.get(cid) === true ) return;

	// Falls Timer bereits aktiviert, fertig
	if (wcTslideIn.get(cid) != undefined) return;

	// SlideIn-Timer aktivieren
	wcTslideIn.set(cid, window.setTimeout( 'womanCard_slideIn(' + cid +')', 750 ) );
}

function womanCard_MouseExit( cid ) {
	// Falls SlideIn-Timer schon aktiv, diesen abbrechen
	if (wcTslideIn.get(cid) != undefined) {
		window.clearTimeout(wcTslideIn.get(cid));
		wcTslideIn.unset(cid);
	}
	
	womanCard_scheduleSlideOut( cid, 600 );
}

function womanCard_scheduleSlideOut( cid, timeInMS ) {
	// Falls bereits zu, fertig!
	if ( !(wcOpen.get(cid) === true) ) return;

	// Falls Timer bereits aktiviert, fertig
	if ( wcTslideOut.get(cid) != undefined ) return;

	// SlideOut-Timer aktivieren
	wcTslideOut.set( cid, window.setTimeout( 'womanCard_slideOut(' + cid +')', timeInMS ) );
	
}

function womanCard_slideIn( cid ) {
	wcCoord = $("wc_"+cid).positionedOffset();
	var delta = 0;
	
	// HotFix: positionedOffset is buggy in IE 8 if in scrollable parent div
	if ( Prototype.Browser.IE8 ) {
		var elem = $("wc_"+cid);
		var oldParent = null;
		do {
			oldParent = elem;			
			elem = elem.getOffsetParent();			
		} while ( oldParent != elem );
		delta += $("wc_"+cid).cumulativeScrollOffset().top - elem.cumulativeScrollOffset().top;
	}
	
	$("wcx_"+cid).setStyle({
		'left': (wcCoord.left + $("wc_"+cid).getWidth()) +"px",
		'top': (wcCoord.top+delta)+"px",
		'display': '',
		'width' : '0px'
	});
	wcOpen.set(cid, true);
	
	if (wcTslideIn.get(cid) != undefined) {
		window.clearTimeout(wcTslideIn.get(cid));
		wcTslideIn.unset(cid);
	}	
	
	$("wcr_"+cid).setStyle({
		'background' : 'none'
	});
	
	// start effect
	new Effect.Morph("wcx_"+cid, {
		  style: {'width': '200px'}, // CSS Properties
		  duration: 0.25, // Core Effect properties
		  afterFinish : function() {
			  if ( fullSizeAjaxOpen.get(cid) != undefined) womanCard_showFullSizeAjax(cid);
		  }
		});
}

function womanCard_slideOut( cid ) {

	if (wcTslideOut.get(cid) != undefined ) {
		window.clearTimeout(wcTslideOut.get(cid));
		wcTslideOut.unset(cid);
	}
	
	if ( wcPinned.get(cid) === true ) return;
	
	wcOpen.set(cid, false);
	
	new Effect.Morph("wcx_"+cid, {
		style: {'width': '0px'}, // CSS Properties
		duration: 0.25, // Core Effect properties
		afterFinish : function() {
			$("wcr_"+cid).setStyle({
				'background' : "url('/pix/womengallery/womanframe-right.png') no-repeat top left"
			});			
		}
		});
}

function womanCard_show(cid) {
	womanCard_MouseEnter(cid);
	if ( wcOpen.get(cid) === true) return;

	womanCard_slideIn(cid);
}

function womanCard_close(cid) {
	womanCard_unpin(cid);
	womanCard_MouseExit(cid);
	if (!( wcOpen.get(cid) === true)) return;
	
	womanCard_slideOut(cid);
}

function womanCard_showFactSheet(cid) {
	$("wcx_a_"+cid).hide();
	$("wcx_t_"+cid).show();
	wcTShowFactSheet.unset(cid);
}

function womanCard_showAjaxArea(cid) {
	// Falls bereits Timer aktiv, der den AJAX-Bereich ausblendet,
	// diesen Timer nun stoppen!
	if ( wcTShowFactSheet.get(cid) != undefined ) {
		window.clearTimeout(wcTShowFactSheet.get(cid));
		wcTShowFactSheet.unset(cid);
	}
	$("wcx_t_"+cid).hide();
	$("wcx_a_"+cid).show();
}

var womanCard_currentIFCode = null;
var womanCard_currentCid = null;

function womanCard_addFav( cid, ifCode ) {
	womanCard_showAjaxArea(cid);
	womanCard_show(cid);
	return ifjs_favAddDel( ifCode, false, {
		'outID' : "wcx_a_"+cid,
		'closeFunc': "womanCard_close("+cid+")", 
		'onAdded' : function() {
			womanCard_show(cid);
			wcTShowFactSheet.set(cid, window.setTimeout("womanCard_showFactSheet("+cid+")", 3500));
			womanCard_scheduleSlideOut( cid, 5000 );
			$("wc_"+cid+"_del").show();
			$("wc_"+cid+"_add").hide();
			if (typeof wc_OnFavAdded == 'function') wc_OnFavAdded(ifCode);
		}
	} );
}

function womanCard_delFav( cid, ifCode ) {
	womanCard_showAjaxArea(cid);
	womanCard_show(cid);
	return ifjs_favAddDel( ifCode, true, {
		'outID' : "wcx_a_"+cid,
		'closeFunc': "womanCard_close("+cid+")", 
		'onDeleted' : function() {
			womanCard_show(cid);
			wcTShowFactSheet.set(cid, window.setTimeout("womanCard_showFactSheet("+cid+")", 3500));
			womanCard_scheduleSlideOut( cid, 5000 );
			$("wc_"+cid+"_add").show();
			$("wc_"+cid+"_del").hide();
			if (typeof wc_OnFavDeleted == 'function') wc_OnFavDeleted(ifCode);
		}
	} );
}

function womanCard_pin( cid ) {
	wcPinned.set(cid, true);
	$("wcard_pinned_" + cid).show();
	$("wcard_unpinned_" + cid).hide();
}

function womanCard_unpin( cid ) {
	wcPinned.set(cid, false);
	$("wcard_unpinned_" + cid).show();
	$("wcard_pinned_" + cid).hide();
}

function womanCard_contact( cid, ifCode) {	
	womanCard_showFullSizeAjax( cid );
	return ifjs_contactWoman(ifCode, {
		'outID' : "wc_fullsizeajax_"+cid,
		'closeFunc' : 'womanCard_closeFullSizeAjax(' + cid + ')',
		'onSuccess' : function() {
			$("wc_ordericon_"+cid).hide();
			$("wc_orderedicon_"+cid).show();
			$("wc_"+cid+"_add").show();
			$("wc_"+cid+"_del").hide();
			if (typeof womanContacted == 'function') womanContacted(cid, ifCode);
		}
	} );
}

function womanCard_print(cid) {
	womanCard_show(cid);
	womanCard_showAjaxArea(cid);
	$("wcx_a_"+cid).innerHTML='<div align="center">'
		+'<br /><br />'
		+'Bitte warten...<br />'
		+'<br /><br />'
		+'Der Download der PDF-Datei wird gestartet...';
	
	wcTShowFactSheet.set(cid, window.setTimeout("womanCard_showFactSheet("+cid+")", 3500));
}

function womanCard_tellafriend( cid, ifCode) {
	womanCard_showFullSizeAjax( cid );
	return ifjs_tellAFriend( ifCode, {
		'outID' : "wc_fullsizeajax_"+cid,
		'closeFunc' : "womanCard_closeFullSizeAjax("+cid+")" 
	});
}

function womanCard_showFullSizeAjax(cid) {
	fullSizeAjaxOpen.set(cid, true);
	womanCard_show( cid );
	if ( !(wcPinned.get(cid) == true)) wcAutoPinned.set(cid, true);
	womanCard_pin( cid );
	wcCoord = $("wc_"+cid).positionedOffset();
	wcCoord2 = $("wcx_"+cid).positionedOffset();
	w = ( wcCoord2.left + $("wcx_"+cid).getWidth() )  - wcCoord.left;
	
	wsri = $("wcsri_" + cid);
	if ( wsri != undefined ) wsri.hide();
	
	$("wc_fullsizeajax_"+cid).innerHTML="&nbsp;";
	$("wc_fullsizeajax_"+cid).setStyle({
		'left': (wcCoord.left) +"px",
		'top': (wcCoord.top)+"px",
		'width': w+"px"
	});
	$("wc_fullsizeajax_"+cid).show();	
}

function womanCard_closeFullSizeAjax(cid) {
	$("wc_fullsizeajax_"+cid).hide();
	if ( wcAutoPinned.get(cid) == true ) {
		womanCard_unpin( cid );
		wcAutoPinned.unset(cid);
	}
	
	wsri = $("wcsri_" + cid);
	if ( wsri != undefined ) wsri.show();
	
	fullSizeAjaxOpen.unset(cid);
	womanCard_showFactSheet(cid);
}

function womanCard_sendTellAFriend(cid, ifcode) {
	new Ajax.Request('/member/tellafriend/' + ifcode, {
		parameters: $('wc_tellafriend_form_' + cid).serialize(true),
		onSuccess: function(transport) {
			// AJAX-request succeeded
			$("wc_fullsizeajax_"+cid).innerHTML = (transport.responseText || "Es gab einen Fehler.");			
		},
		onFailure: function() { 
			// Use non-ajax-URL if AJAX fails
			alert("Es gibt Probleme beim AJAX-Aufruf und die nicht-AJAX-Variante ist noch nicht implementiert!"); 
		}
		}); 
	return false;
}