﻿var activeSlide=1;
var numSlides=1;
$(document).ready(function(){
    initXml();
});
function initXml(){
    jQuery.ajax({
      url: deal_xml,
      dataType: "xml",
      success: function(xml){
        renderXml(new pxSlides(xml));
      }
    });
}

function slideScreen(numActive, numNew){
    if(numNew > numSlides)numNew=1;
    if(numActive != numNew){
        activeSlide = numNew
        jQuery("#px_slide_" + numNew).fadeIn("fast");
        jQuery("#px_slide_" + numActive).fadeOut("slow");
    }
}

function slideShow(){
    slideScreen(activeSlide, activeSlide+1);
}

function pxSlides(xml) {
    var l = jQuery(xml).find("slide").length;
    numSlides = l;
    var slides = new Array(l);
    jQuery(xml).find("slide").each(function(i){
        slides[i] = new slide(this);
    });
    this.slides = slides;
}

function slide(xml){
    this.h1 = jQuery(xml).find("h1").text();
    this.h2 = jQuery(xml).find("h2").text();
    this.bild1 = jQuery(xml).find("bild1").text();
    this.bild2 = jQuery(xml).find("bild2").text();
    this.btnText = jQuery(xml).find("btnText").text();
    this.link1 = jQuery(xml).find("url1").text();
    this.linkTarget1 = jQuery(xml).find("url1").attr("target");
    this.link2 = jQuery(xml).find("url2").text();
    this.linkTarget2 = jQuery(xml).find("url2").attr("target");
}

function renderXml(data){
    var xml = data.slides;
    var l = xml.length;
    jQuery("#pxSlideShow").html(
        initFirstScreen(xml)
    );
    jQuery("#pxSlideShow").append(
        initOthers(xml)
    );
}
function initOthers(xml){
    var html = '';
    var l = xml.length;
    if (l > 0){
        for (var i=1; i<l; i++){
            html = html 
                + '<div id="px_slide_' + (i+1) + '" class="slideShow" style="display:none;">'
                + '<div class="slideHead">'
                + '<div class="slidePagerLeft">'
                + '<a href="#" onclick="slideScreen(' + (i+1) + ', '+ (i) +');" class="arrow">&nbsp;</a>'
                + '</div>'
                + '<div class="slidePager">';
            
            for (var j=1; j<=l; j++){
                html = html 
                    + '<a href="#" onclick="slideScreen(' + (i+1) + ', '+ j +');" class="page' + (i+1==j ? " pageActive" : "") + '">' + j + '</a>';
            }
            html = html 
                + '</div>'
                + '<div class="slideTxt">'
                + '<h1 class="slideh1">' + xml[i].h1 + '</h1>'
                + '<h2 class="slideh2">' + xml[i].h2 + '</h2>'
                + '</div>'
                + '<div class="slideLnkBtn">'
                + '<a href="' + xml[i].link2 + '" target="' + xml[i].linkTarget2 + '">' + xml[i].btnText + '</a>'
                + '</div>'
                + '<div class="slidePagerRight">'
                + '<a href="#" onclick="slideScreen(' + (i+1) + ', '+ (i+2 > l ? 1 : i+2) +');" class="arrow">&nbsp;</a>'
                + '</div>'
                + '</div>'
                + '<div class="slideImages">'
                + '<a href="' + xml[i].link1 + '" target="' + xml[i].linkTarget1 + '" class="sslink1"><img src="' + xml[i].bild1 + '" alt="" /></a>'
                + '<a href="' + xml[i].link2 + '" target="' + xml[i].linkTarget2 + '" class="sslink2"><img src="' + xml[i].bild2 + '" alt="" /></a>'
                + '</div>'
                + '</div>';
            
        }
    }
    return html;
}

function initFirstScreen(data){
    var html = '';
    var l = data.length;
    if (l > 0){
        var firstSlide = data[0];
        html = html 
            + '<div id="px_slide_1" class="slideShow">'
            + '<div class="slideHead">'
            + '<div class="slidePagerLeft">'
            + '<a href="#" onclick="slideScreen(' + (1) + ', '+ l +');" class="arrow">&nbsp;</a>'
            + '</div>'
            + '<div class="slidePager">';
        
        for (var i=1; i<=l; i++){
            html = html 
                + '<a href="#" onclick="slideScreen(1, ' + i + ');" class="page' + (i==1 ? " pageActive" : "") + '">' + i + '</a>';
        }
        
        html = html 
            + '</div>'
            + '<div class="slideTxt">'
            + '<h1 class="slideh1">' + firstSlide.h1 + '</h1>'
            + '<h2 class="slideh2">' + firstSlide.h2 + '</h2>'
            + '</div>'
            + '<div class="slideLnkBtn">'
            + '<a href="' + firstSlide.link2 + '" target="' + firstSlide.linkTarget2 + '">' + firstSlide.btnText + '</a>'
            + '</div>'
            + '<div class="slidePagerRight">'
            + '<a href="#" onclick="slideScreen(' + 1 + ', '+ 2 +');" class="arrow">&nbsp;</a>'
            + '</div>'
            + '</div>'
            + '<div class="slideImages">'
            + '<a href="' + firstSlide.link1 + '" target="' + firstSlide.linkTarget1 + '" class="sslink1"><img src="' + firstSlide.bild1 + '" alt="" /></a>'
            + '<a href="' + firstSlide.link2 + '" target="' + firstSlide.linkTarget2 + '" class="sslink2"><img src="' + firstSlide.bild2 + '" alt=""" /></a>'
            + '</div>'
            + '</div>';
            
    }
    return html;
}   

 jQuery.timer = function (interval, callback)
 {
	var interval = interval || 100;
	if (!callback)
		return false;
    _timer = function (interval, callback) {
		this.stop = function () {
			clearInterval(self.id);
		};
		this.internalCallback = function () {
			callback(self);
		};
		this.reset = function (val) {
			if (self.id)
				clearInterval(self.id);	
			var val = val || 100;
			this.id = setInterval(this.internalCallback, val);
		};
		this.interval = interval;
		this.id = setInterval(this.internalCallback, this.interval);
		var self = this;
	};
	return new _timer(interval, callback);
 };
 
 $.timer(8000, function (timer) {
  	slideShow();
   });
