var user_permission = false;
var userID = null;
var akt_aboform = false;
var akt_NodeID = false;
var akt_link = false;
var akt_abodauer = false;


jQuery( document ).ready(function()
{
	jQuery('#ssologinboxButton').bind('click', function( e )
	{

		// Link erstmal deaktivieren, damit die Überprüfung, ob der User eingeloggt ist, ausgeführt werden kann
		e.preventDefault();
		
		jQuery.ez( 'ezjscajax::ssologinbox', {'ssologinboxUser': jQuery('#ssologinboxUser').val(), 'ssologinboxPass': jQuery('#ssologinboxPass').val()}, function( data ) {
			if(data.content.loggedin == 1) {
				jQuery.ez( 'ezjscajax::setRolesForNielsenAbo', {'abo_form': 'basischarts', 'chart_id': 0}, function( data ) {
					window.location.reload();
				});
			} else if(data.content.errorMessage) {
				
				jQuery('#ssologinboxError').html(data.content.errorMessage).show();
				jQuery('#ssologinboxError').css({'margin-bottom' : '10px'}); 
				if(data.content.loginSSO == 1) {
					jQuery('#ssologinboxForm').hide();
				}
				
				jQuery('.nielsen_abo').bind('click', function( e )
			    {
					e.preventDefault();
			    	nielsen_abo();
			    });
			}
		});
       
	});
	
    jQuery('.nielsen_abo').bind('click', function( e )
    {
    	e.preventDefault();
    	nielsen_abo();
    });
    
    function nielsen_abo() {
    	
    	// Link erstmal deaktivieren, damit die Überprüfung, ob der User eingeloggt ist, ausgeführt werden kann
       
        //alert( 'Nielsen Basischarts im Abo' );
        
        
        
        jQuery.ez( 'ezjscajax::checkPermissionNielsen', {'abotyp': 'Basischart'}, function( data ) {
        	if(data.content.permission == 1) {
        		// User hat ABO
        		user_permission = 1;
    				alert('Sie haben die Nielsen Basischarts bereits abonniert!')
    			return true;
    		} else {
    			// Kein Abo 
    			
    			scrollTo(0,0);
    			_set_interface();
    			
    			jQuery.ez( 'ezjscajax::getUserID', {}, function( data ) {
   				 if ( data.error_text ) {
   			            jQuery( '#error' ).html( data.error_text );
   			        } else {
   			        	if(data.content.userid != 0) {
   			        		showNielsenInfo('Basischart',false);
   			            } else {
   			            	open_layer_nielsen("Basischart",false);
   			            }
   			        }
   			
   			});
    			            
    			return false;
    		}
    		
    	});
    }
    
	
	jQuery('.nielsen_ohneabo').bind('click', function( e )
    {
		// Link erstmal deaktivieren, damit die Überprüfung, ob der User eingeloggt ist, ausgeführt werden kann
        e.preventDefault();
        alert( 'Nielsen Einzelcharts' );
    });
	
	
	jQuery('.nielsen_link_abo').bind('click', function( e )
    {
		// Link erstmal deaktivieren, damit die Überprüfung, ob der User eingeloggt ist, ausgeführt werden kann
        e.preventDefault();
        

		var link = new String( e.currentTarget.href );
		akt_link = link;
		
		var strQuery1 = link.split( '?' );
		var strQuery2 = strQuery1[1].split( '=' );
        //alert( 'Nielsen Einzelchartaufruf' + ' NodeID ' + strQuery2[1] );
		
		jQuery.ez( 'ezjscajax::checkPermissionNielsen', {'abotyp': 'Basischart','NodeID': strQuery2[1]}, function( data ) {
        	if(data.content.permission == 1) {
        		// User hat ABO
        		user_permission = 1;
        		document.location = link;
    			return true;
    		} else {
    			// Kein Abo oder nicht eingelogged
    			
    			scrollTo(0,0);
    			_set_interface();
    			jQuery.ez( 'ezjscajax::getUserID', {}, function( data ) {
    				 if ( data.error_text ) {
    			            jQuery( '#error' ).html( data.error_text );
    			        } else {
    			        	if(data.content.userid != 0) {
    			        		showNielsenInfo('Basischart',false);
    			            } else {
    			            	open_layer_nielsen("Basischart",strQuery2[1]);
    			            }
    			        }
    			
    			});
    			return false;
    		}
    		
    	});

    });
	
	jQuery('.nielsen_link_einzel').bind('click', function( e )
		    {
				// Link erstmal deaktivieren, damit die Überprüfung, ob der User eingeloggt ist, ausgeführt werden kann
		        e.preventDefault();
				var link = new String( e.currentTarget.href );
				akt_link = link;
				var strQuery1 = link.split( '?' );
				var strQuery2 = strQuery1[1].split( '=' );
		        //alert( 'Nielsen Einzelchartaufruf' + ' NodeID ' + strQuery2[1] );
				
				jQuery.ez( 'ezjscajax::checkPermissionNielsen', {'abotyp': 'Einzelchart','NodeID': strQuery2[1]}, function( data ) {
		        	if(data.content.permission == 1) {
		        		// User hat ABO
		        		user_permission = 1;
		        		document.location = link;
		    			return true;
		    		} else {
		    			// Kein Abo oder nicht eingelogged
		    			
		    			scrollTo(0,0);
		    			_set_interface();
		    			jQuery.ez( 'ezjscajax::getUserID', {}, function( data ) {
		    				 if ( data.error_text ) {
		    			            jQuery( '#error' ).html( data.error_text );
		    			        } else {
		    			        	if(data.content.userid != 0) {
		    			        		//Bestellformular
		    			        		showNielsenInfo('Einzelchart',strQuery2[1]);
		    			            } else {
		    			            	//Login
		    			            	open_layer_nielsen("Einzelchart",strQuery2[1]);
		    			            }
		    			        }
		    			
		    			});
		    			return false;
		    		}
		    		
		    	});

		    });
});


function open_layer_nielsen(aboform,NodeID) {
	akt_aboform = aboform;
	akt_NodeID = NodeID;
	if(NodeID){
		var key = 'input:hidden[name="' + NodeID;
		var NodeName = jQuery(key + '[name]"]').val();
		var NodeDescr = jQuery(key + '[description]"]').val();
		var NodeFile = jQuery(key + '[file_name]"]').val();
	} 
	
	jQuery.ez( 'ezjscajax::open_layer_nielsen', {	'aboform': aboform,
													'NodeID': NodeID,
													'NodeName': NodeName,
													'NodeDescr': NodeDescr,
													'NodeFile': NodeFile}, function( data ) {
		if ( data.error_text ) {
            jQuery( '#error' ).html( data.error_text );
        } else {
        	jQuery( '#jquery-lightbox' ).css(
        		    {
        		        width:              600,
        		        height:             420,
        		        top:                100,
        		        left:               100
        		    }).show();
        	jQuery( '#lightbox-details' ).html( data.content.template ).show();
        }
		
		jQuery( '#lightbox-passwort_vergessen' ).click( function( e ) {
	    	passwort_vergessen();
	    });
		
		jQuery('#buyNielsen').bind('click', function( e ){
	        e.preventDefault();
	        scrollTo(0,0);
	        jQuery.ez( 'ezjscajax::getUserID', {}, function( data ) {
		        if ( data.error_text ) {
		            jQuery( '#error' ).html( data.error_text );
		        } else {
		        	if(data.content.userid != 0) {
		        	   userID = data.content.userid;
		            } 
		        	if(aboform == 'Einzelchart'){
		        		getBestellformularNielsen(aboform, 0, NodeID,false)
		        	} else {
		        		showNielsenInfo(aboform,NodeID)
		        	}
		        }
			});
		});
	

	});	
}


function check_user_login_nielsen_detail() 
{
	var setRolesForNielsenAboParameter;
	if(akt_aboform == 'Einzelchart'){
		setRolesForNielsenAboParameter = "wirtschaftsbericht";
	} else {
		setRolesForNielsenAboParameter = "basischarts";
	}	

	//scrollTo(0,0);
	jQuery.ez( 'ezjscajax::postUserLoginNielsenDetail', {'username': jQuery('#username').val(), 'password': jQuery('#password').val(), 'abotyp': akt_aboform, 'NodeID': akt_NodeID}, function( data ) {
        if ( data.error_text ) {
            jQuery( '#error' ).html( data.error_text );
        } else {
        	
        		if(data.content.logedin == 1 && akt_link != false) {
        			jQuery.ez( 'ezjscajax::setRolesForNielsenAbo', {'abo_form': setRolesForNielsenAboParameter, 'chart_id': akt_NodeID}, function( data ) {
        				_finish();
            			document.location = akt_link;
		        	});
        			
        		} else if(data.content.logedin == 1) {
        			var tmp_content = data.content
        			jQuery.ez( 'ezjscajax::setRolesForNielsenAbo', {'abo_form': setRolesForNielsenAboParameter, 'chart_id': akt_NodeID}, function( data ) {
        				jQuery( '#jquery-lightbox' ).css(
                    		    {
                    		        width:              600,
                    		        height:             420,
                    		        top:                100,
                    		        left:               100
                    		    }).show();
            		
            			jQuery( '#lightbox-details' ).html( tmp_content.template ).show();
            			
            			jQuery( '#lightbox-secNav-btnClose' ).click( function() 
            	         {    			
            				submitSuche();
            	         });
		        	});
        			
        		}else {
        		jQuery( '#jquery-lightbox' ).css(
            		    {
            		        width:              600,
            		        height:             420,
            		        top:                100,
            		        left:               100
            		    }).show();
            	jQuery( '#lightbox-details' ).html( data.content.template ).show();
            	
            	jQuery('#buyNielsen').bind('click', function( e ){
        	        e.preventDefault();
        	        scrollTo(0,0);
        	        jQuery.ez( 'ezjscajax::getUserID', {}, function( data ) {
        		        if ( data.error_text ) {
        		            jQuery( '#error' ).html( data.error_text );
        		        } else {
        		        	if(data.content.userid != 0) {
        		        	   userID = data.content.userid;
        		            } 	
        		        	
        		        	if(akt_aboform == 'Einzelchart'){
        		        		getBestellformularNielsen(akt_aboform, 0, akt_NodeID,false)
        		        	} else {
        		        		showNielsenInfo(akt_aboform,akt_NodeID)
        		        	}
        		        }
        			});
        		});
            	
            	jQuery( '#lightbox-secNav-btnClose' ).click( function() 
            	{    			
            		_finish();   
                 });
        		}
        }
    });
}


function showNielsenInfo(aboform,NodeID) {
	
	var lw_height = 570;
	if(aboform == 'Einzelchart'){
		var key = 'input[name="' + NodeID;
		var NodeName = jQuery(key + '[name]"]').val();
		var NodeDescr = jQuery(key + '[description]"]').val();
		var NodeFile = jQuery(key + '[file_name]"]').val();
		lw_height = 250;
	} 
	
	var einzel_basischart = 0;
	if(akt_link){
		einzel_basischart = 1;
	}

	
	jQuery.ez( 'ezjscajax::showNielsenInfo', {	'aboform': aboform, 
												'NodeID': NodeID,
												'NodeName': NodeName,
												'NodeDescr': NodeDescr,
												'NodeFile': NodeFile,
												'einzel_basischart': einzel_basischart}, function( data ) {
		if ( data.error_text ) {
			jQuery( '#error' ).html( data.error_text );
		} else {
			jQuery( '#jquery-lightbox' ).css(
        		    {
        		        width:              600,
        		        height:             lw_height,
        		        top:                100,
        		        left:               100
        		    }).show();
			jQuery( '#lightbox-details' ).html( data.content.template ).show();
			if(aboform == 'Einzelchart'){
				jQuery('.buyNielsen').bind('click', function( e ){
		        e.preventDefault();
		        scrollTo(0,0);
			        jQuery.ez( 'ezjscajax::getUserID', {}, function( data ) {
				        if ( data.error_text ) {
				            jQuery( '#error' ).html( data.error_text );
				        } else {
				        	getBestellformularNielsen(aboform,0,NodeID);
				        }
					});
				});
			} else {
					jQuery('#lightbox-bestellung-monatsabo').bind('click', function( e ){
			        e.preventDefault();
			        scrollTo(0,0);
				        jQuery.ez( 'ezjscajax::getUserID', {}, function( data ) {
					        if ( data.error_text ) {
					            jQuery( '#error' ).html( data.error_text );
					        } else {
					        	getBestellformularNielsen(aboform,0,NodeID,'monatsabo');
					        }
						});
					});
					
					jQuery('#lightbox-bestellung-halbjahresabo').bind('click', function( e ){
				        e.preventDefault();
				        scrollTo(0,0);
					        jQuery.ez( 'ezjscajax::getUserID', {}, function( data ) {
						        if ( data.error_text ) {
						            jQuery( '#error' ).html( data.error_text );
						        } else {
						        	getBestellformularNielsen(aboform,0,NodeID,'halbjahresabo');
						        }
							});
						});
					
					jQuery('#lightbox-bestellung-jahresabo').bind('click', function( e ){
				        e.preventDefault();
				        scrollTo(0,0);
					        jQuery.ez( 'ezjscajax::getUserID', {}, function( data ) {
						        if ( data.error_text ) {
						            jQuery( '#error' ).html( data.error_text );
						        } else {
						        	getBestellformularNielsen(aboform,0,NodeID,'jahresabo');
						        }
							});
						});
				
			}
			
			
			
		}
			
	});
	
}

function getBestellformularNielsen(aboform, step, NodeID,abodauer) {
	akt_aboform = aboform;
	akt_NodeID = NodeID;
	akt_abodauer = abodauer;
	jQuery.ez( 'ezjscajax::writeAboformNielsen', {'aboform': aboform, 'NodeID': NodeID, 'abodauer': abodauer}, function( data ) {
		 jQuery.ez( 'ezjscajax::getUserID', {}, function( data ) {
		        if ( data.error_text ) {
		            jQuery( '#error' ).html( data.error_text );
		        } else {
		        	if(data.content.userid != 0 || step == 2) {
		        		bestellung_nielsen_step2();
		            } else {
		    	 		bestellung_nielsen_step1();
		    	 	}
		        }
			});
	});
}


function bestellung_nielsen_step1()
{
	scrollTo(0,0);
    jQuery.ez( 'ezjscajax::getBestellungNielsenStep1', {}, function( data ) {
        if ( data.error_text ) {
            jQuery( '#error' ).html( data.error_text );
        } else {
            //jQuery( '#login' ).hide();
            jQuery( '#lightbox-details' ).html( data.content.template ).show();
            jQuery( '#lightbox-passwort_vergessen' ).click( function( e ) {
            	passwort_vergessen();
            });
        }
    });
}


function bestellung_step1_nielsen_post()
{
	scrollTo(0,0);
	jQuery.ez( 'ezjscajax::postBestellungNielsenStep1', {'todo': jQuery('input:radio[name=sso]:checked').val(), 'username': jQuery('#login_username').val(), 'passwort': jQuery('#login_passwort').val()}, function( data ) {
        if ( data.error_text ) {
            jQuery( '#error' ).html( data.error_text );
        } else {
        	if(data.content.step) {
        		if(data.content.step == 1) {
        			if(data.content.error) {
                		jQuery( '#formError2' ).html( data.content.error ).show();
                	}
        		} else if(data.content.step == 2) {
        			if(data.content.new_login == 1){
        				jQuery.ez( 'ezjscajax::checkPermissionNielsen', {'abotyp': akt_aboform,'NodeID': akt_NodeID}, function( data ) {
        		        	if(data.content.permission == 1) {
        		        		// User hat ABO
        		        		user_permission = 1;
        		        		_finish();
        		    			alert('Sie haben dieses Chart bereits abonniert!')
        		    			submitSuche();
        		    		} else {
        		    			// Kein Abo 
        		    			bestellung_nielsen_step2();
        		    		}
        		    		
        		    	});
        			} else {
        				bestellung_nielsen_step2();
        			}
//        			jQuery.ez( 'ezjscajax::hookBestellungStep1', {}, function( data ) {
//        				bestellung_step2();
//        				});
        			}
        	} 
        	if(data.content.error) {
        		jQuery( '#formError2' ).html( data.content.error ).show();
        	} 
        }
        if(data.content.error2) {
    		jQuery( '#formError2' ).html( data.content.error2 ).show();
    	}
    });
}


function bestellung_nielsen_step2()
{
	scrollTo(0,0);
    jQuery.ez( 'ezjscajax::getBestellungNielsenStep2', {'aboform': akt_aboform, 'NodeID': akt_NodeID, 'abodauer': akt_abodauer}, function( data ) {
        if ( data.error_text ) {
            jQuery( '#error' ).html( data.error_text );
        } else {
            //jQuery( '#login' ).hide();
        	jQuery( '#jquery-lightbox' ).css(
        		    {
        		        width:              600,
        		        height:             900,
        		        top:                100,
        		        left:               100
        		    }).show();
            jQuery( '#lightbox-details' ).html( data.content.template ).show();
        }
    });
}


function bestellung_nielsen_step2_post()
{
	scrollTo(0,0);
	jQuery.ez( 'ezjscajax::postBestellungNielsenStep2', {'company': jQuery('#company').val(),
												  'anrede': jQuery('#anrede').val(),
												  'vorname': jQuery('#vorname').val(),
												  'nachname': jQuery('#nachname').val(),
												  'strasse': jQuery('#strasse').val(),
												  'plz': jQuery('#plz').val(),
												  'ort': jQuery('#ort').val(),
												  'country_id': jQuery('#country_id').val(),
												  'email': jQuery('#email').val(),
												  'telephone': jQuery('#telephone').val(),
												  'fax': jQuery('#fax').val(),
												  'reg_username': jQuery('#reg_username').val(),
												  'reg_passwort': jQuery('#reg_passwort').val(),
												  'reg_passwort2': jQuery('#reg_passwort2').val()
												 }, function( data ) {
        if ( data.error_text ) {
            jQuery( '#error' ).html( data.error_text );
        } else {
        	if(data.content.step) {
        		if(data.content.step == 3) {
        			bestellung_nielsen_step3();
        		}
        	} else {
        		
	        	jQuery( '#lightbox-details' ).html( data.content.template ).show();
        	}
        }
    });
}

function bestellung_nielsen_step3()
{
	scrollTo(0,0);
	
	if(akt_aboform == 'Einzelchart'){
		var key = 'input[name="' + akt_NodeID;
		var NodeName = jQuery(key + '[name]"]').val();
		var NodeDescr = jQuery(key + '[description]"]').val();
		var NodeFile = jQuery(key + '[file_name]"]').val();
	} 
	
    jQuery.ez( 'ezjscajax::getBestellungNielsenStep3', {'NodeName': NodeName,
														'NodeDescr': NodeDescr,
														'NodeFile': NodeFile}, function( data ) {
        if ( data.error_text ) {
            jQuery( '#error' ).html( data.error_text );
        } else {
            //jQuery( '#login' ).hide();
        	jQuery( '#jquery-lightbox' ).css(
		    {
		        width:              600,
		        height:             500,
		        top:                100,
		        left:               100
		    }).show();
            jQuery( '#lightbox-details' ).html( data.content.template ).show();
           
            jQuery( '#lightbox-bestellung-aendern' ).click( function( e ) {
            	bestellung_nielsen_step2();
            });
            jQuery( '#lightbox-abo-aendern' ).click( function( e ) {
            	showNielsenInfo(akt_aboform,akt_NodeID);
            });
            
        }
    });
}


function bestellung_nielsen_step3_post()
{
	var setRolesForNielsenAboParameter;
	if(akt_aboform == 'Einzelchart'){
		setRolesForNielsenAboParameter = "wirtschaftsbericht";
		var key = 'input[name="' + akt_NodeID;
		var NodeName = jQuery(key + '[name]"]').val();
		var NodeDescr = jQuery(key + '[description]"]').val();
		var NodeFile = jQuery(key + '[file_name]"]').val();
	} else {
		setRolesForNielsenAboParameter = "basischarts";
		akt_NodeID = 0;
	}
	scrollTo(0,0);
	jQuery.ez( 'ezjscajax::postBestellungNielsenStep3', {'abo_bedingungen': jQuery('#abo_bedingungen:checked').val(), 
												  'abo_datenschutz': jQuery('#abo_datenschutz:checked').val(),
												  'NodeName': NodeName,
												  'NodeDescr': NodeDescr,
												  'NodeFile': NodeFile
												 }, function( data ) {
        if ( data.error_text ) {
            jQuery( '#error' ).html( data.error_text );
        } else {
        	if(data.content.step) {
        		if(data.content.step == 4) {
        			
        			// Checken, ob die User eingeloggt ist
        			 jQuery.ez( 'ezjscajax::getUserID', {}, function( data )
				    {
				        if ( data.error_text ) {
				            jQuery( '#error' ).html( data.error_text );
					        } else {
					        	jQuery.ez( 'ezjscajax::setRolesForNielsenAbo', {'abo_form': setRolesForNielsenAboParameter, 'chart_id': akt_NodeID}, function( data ) {
						        	if(data.content.userid != 0) {
							        	   userID = data.content.userid;
							        	   bestellung_nielsen_abgeschlossen();
							           } else {
							        	   bestellung_nielsen_danke();
							           }
					        	});
					          
					        }
					    });
        		}
        	} else {
	        	jQuery( '#lightbox-details' ).html( data.content.template ).show();
	        	
	        	jQuery( '#lightbox-bestellung-aendern' ).click( function( e ) {
	            	bestellung_nielsen_step1();
	            });
        	}
        }
    });
}

function bestellung_nielsen_abgeschlossen () 
{
	if(akt_link)
		var file = 1;
	else
		var file = 0;
	 scrollTo(0,0);
	 jQuery.ez( 'ezjscajax::getBestellungNielsenAbgeschlossen', {'file': file}, function( data ) {
	        if ( data.error_text ) {
	            jQuery( '#error' ).html( data.error_text );
	        } else {
	            jQuery( '#lightbox-secNav-btnClose' ).show();
	            jQuery( '#lightbox-secNav-btnClose' ).click( function() 
        	    {
	            	downloadNielsen()
        	        return false;
        	    });
	            jQuery( '#jquery-lightbox' ).css(
	        		    {
	        		        width:              600,
	        		        height:             120,
	        		        top:                100,
	        		        left:               100
	        		    }).show();
	            jQuery( '#lightbox-details' ).html( data.content.template ).show();
	        }
	    });
}


bestellungstimer = null;

function bestellung_nielsen_danke()
{
	
	if(akt_link)
		var file = 1;
	else
		var file = 0;
	
	scrollTo(0,0);
    jQuery.ez( 'ezjscajax::getBestellungNielsenDanke', {'file': file,'link':akt_link}, function( data ) {
        if ( data.error_text ) {
            jQuery( '#error' ).html( data.error_text );
        } else {
        	if(data.content.clicked) {
        		clearInterval(bestellungstimer);
        		bestellung_abgeschlossen();
        	} else {
	            jQuery( '#lightbox-secNav-btnClose' ).hide();
	            jQuery( '#lightbox-details' ).html( data.content.template ).show();
        	}
        	
        }
    });
   if(bestellungstimer == null) { 
	   bestellungstimer = setInterval("bestellung_nielsen_danke()", 5000);
   }
}

function downloadNielsen(){
	if(akt_link){
		_finish();
		document.location = akt_link;
	} else {
		_finish();
		submitBasischarts();
	}
}

function submitBasischarts() {
	jQuery("#source option[value='2']").attr('selected',true);
	jQuery('#filterform').append('<input type="hidden" name="SearchButton" value="1" />');
	jQuery("#filterform").submit();
}

function submitSuche() {
	jQuery('#filterform').append('<input type="hidden" name="SearchButton" value="1" />');
	jQuery("#filterform").submit();
}


