var mycarousel_tags = '';
var startPosition = '';

function mycarousel_itemLoadCallback_1(carousel, state) {
    // Only load items if they don't already exist
    if (carousel.has(carousel.first, carousel.last)) {
        return;
    }
    jQuery.get(
        '/partners.aspx',
//        '/media/data/data1.txt',
        {tags: mycarousel_tags},
        function(data) {
            mycarousel_itemAddCallback(carousel, carousel.first, carousel.last, data, "style 1");
        },
        'json'
    );
}


function mycarousel_itemLoadCallback_11(carousel, state) {
    // Only load items if they don't already exist
    if (carousel.has(carousel.first, carousel.last)) {
        return;
    }
    jQuery.get(
        '/partners.aspx?type=werkgever',
//        '/media/data/data1.txt',
        {tags: mycarousel_tags},
        function(data) {
            mycarousel_itemAddCallback(carousel, carousel.first, carousel.last, data, "style 11");
        },
        'json'
    );
}




function mycarousel_itemLoadCallback_2(carousel, state) {
    if (carousel.has(carousel.first, carousel.last)) {
        return;
    }
    jQuery.get(
        '/profielen/profielenstartersjson.aspx',
//        '/media/data/data21.txt',
        {tags: mycarousel_tags},
        function(data) {
            mycarousel_itemAddCallback(carousel, carousel.first, carousel.last, data, "style 2");

			if (carousel.first == 1) {
				var i = 1;

				var title = mycarousel_decodeEntities(data[i - 1].title);
				var image = mycarousel_decodeEntities(data[i - 1].image);
				var description = mycarousel_decodeEntities(data[i - 1].description);
				var url = mycarousel_decodeEntities(data[i - 1].url);

				var image2 = mycarousel_decodeEntities(data[i - 1].image2);
//				var output_data = '<h3><span>Het succesverhaal van <em>' +title+ '</em></span></h3><a href="' +url+ '" class="img-link">' +image2+ '</a><div class="citeren"><p>'
				var output_data = '<fieldset><legend><span>Het succesverhaal van</span> ' +title+ '</legend></fieldset><a href="' +url+ '" class="img-link">' +image2+ '</a><div class="citeren"><p>'

				+description+ '<br /><a href="' +url+ '" class="lees-meer">Lees meer</a></p></div><br clear="all" />';

				areaUpdate('#update_area-2',encodeMyHtml(output_data));
			}
        },
        'json'
    );
}



function mycarousel_itemLoadCallback_22(carousel, state) {
    if (carousel.has(carousel.first, carousel.last)) {
        return;
    }
    jQuery.get(
        '/profielen/ProfielenStartersJSON.aspx?type=werkgever',
//        '/media/data/data21.txt',
        {tags: mycarousel_tags},
        function(data) {
            mycarousel_itemAddCallback(carousel, carousel.first, carousel.last, data, "style 22");

			if (carousel.first == 1) {
				var i = 1;

				var title = mycarousel_decodeEntities(data[i - 1].title);
				var image = mycarousel_decodeEntities(data[i - 1].image);
				var description = mycarousel_decodeEntities(data[i - 1].description);
				var url = mycarousel_decodeEntities(data[i - 1].url);

				var image2 = mycarousel_decodeEntities(data[i - 1].image2);
//				var output_data = '<h3><span>Het succesverhaal van <em>' +title+ '</em></span></h3><a href="' +url+ '" class="img-link">' +image2+ '</a><div class="citeren"><p>'
				var output_data = '<fieldset><legend><span>Het succesverhaal van</span> ' +title+ '</legend></fieldset><a href="' +url+ '" class="img-link">' +image2+ '</a><div class="citeren"><p>'

				+description+ '<br /><a href="' +url+ '" class="lees-meer">Lees meer</a></p></div><br clear="all" />';

				areaUpdate('#update_area-22',encodeMyHtml(output_data));
			}
        },
        'json'
    );
}



function mycarousel_itemLoadCallback_3(carousel, state) {
    if (carousel.has(carousel.first, carousel.last)) {
        return;
    }
    carousel.lock();
    jQuery.get(
      '/eventsjson/default.aspx',
//    '/media/data/data3.txt',
      {tags: mycarousel_tags},
      function(data) {
        currentDate = new Date();
        currentMonth = currentDate.getMonth();
        maandNaam = new Array("Januari","Februari","Maart","April","Mei","Juni","Juli","Augustus","September","Oktober","November","December");
        for (var i = 0; i < data.length; i++) {
          if(data[i].title.indexOf(maandNaam[currentMonth]) != -1) { startPosition = i; }
        }  
          carousel.options.start = startPosition+1;
          mycarousel_itemAddCallback_special3(carousel, carousel.first, carousel.last, data);
        },
        'json'
    );
}

function mycarousel_itemLoadCallback_33(carousel, state) {
    if (carousel.has(carousel.first, carousel.last)) {
        return;
    }
    jQuery.get(
//       '/eventsjson/default.aspx',
    '/media/data/data3.txt',
        {tags: mycarousel_tags},
        function(data) {
            mycarousel_itemAddCallback_special33(carousel, carousel.first, carousel.last, data);
        },
        'json'
    );
}

function mycarousel_itemLoadCallback_4(carousel, state) {
    if (carousel.has(carousel.first, carousel.last)) {
        return;
    }
    jQuery.get(
//        '/media/data/data4.txt',
//        '/starter/ygp-events/foto-gallerij/indexAgendaJSON.aspx',
//        '/bijeenkomsten/archief/indexAgendaJSON.aspx',
        '/vorige-verkiezingen/foto-gallerij/foto-gallery/indexAgendaJSON.aspx',
        {tags: mycarousel_tags},
        function(data) {
            mycarousel_itemAddCallback(carousel, carousel.first, carousel.last, data, "style 4");
        },
        'json'
    );
}


function mycarousel_itemLoadCallback_44(carousel, state) {
    if (carousel.has(carousel.first, carousel.last)) {
        return;
    }
    jQuery.get(
//        '/media/data/data4.txt',
//        '/starter/ygp-events/foto-gallerij/indexAgendaJSON.aspx?type=werkgever',
        '/vorige-verkiezingen/foto-gallerij/foto-gallery/indexAgendaJSON.aspx',
        {tags: mycarousel_tags},
        function(data) {
            mycarousel_itemAddCallback(carousel, carousel.first, carousel.last, data, "style 44");
        },
        'json'
    );
}


/* new function added */

function mycarousel_itemVisibleInCallbackAfterAnimation_3(carousel, item, idx, state) {
    jQuery.get(
        '/eventsjson/default.aspx',
//      '/media/data/data3.txt',
        {tags: mycarousel_tags},
        function(data) {
            var agenda = mycarousel_decodeEntities(data[idx - 1].agenda);
            areaUpdate('#update_area-3', agenda);
        },
        'json'
    );
}

function mycarousel_itemVisibleInCallbackAfterAnimation_33(carousel, item, idx, state) {
    jQuery.get(
//       '/eventsjson/default.aspx',
      '/media/data/data3.txt',
        {tags: mycarousel_tags},
        function(data) {
            var agenda = mycarousel_decodeEntities(data[idx - 1].agenda);
			areaUpdate('#update_area-33', agenda);
        },
        'json'
    );
}

/* -- end of new function */

function mycarousel_itemAddCallback(carousel, first, last, data, option) {
    if (first == 1) {
        // Set size
        if (data.length == 0) {
            // Add a "no results" feedback as first item if data is empty
            carousel.size(1);
            carousel.add(1, '<p>No results</p>');
            return;
        } else {
            carousel.size(data.length);
        }
    }

    for (var i = first; i <= last; i++) {
        if (data[i - 1] == undefined) break;

		var title = mycarousel_decodeEntities(data[i - 1].title);
		var image = mycarousel_decodeEntities(data[i - 1].image);
		var description = mycarousel_decodeEntities(data[i - 1].description);
		var url = mycarousel_decodeEntities(data[i - 1].url);

		switch(option) {
			case "style 2":
				var image2 = mycarousel_decodeEntities(data[i - 1].image2);
//				var output_data = '<h3><span>Het succesverhaal van <em>' +title+ '</em></span></h3><a href="' +url+ '" class="img-link">' +image2+ '</a><div class="citeren"><p>'
				var output_data = '<fieldset><legend><span>Het succesverhaal van</span> ' +title+ '</legend></fieldset><a href="' +url+ '" class="img-link">' +image2+ '</a><div class="citeren"><p>'

				+description+ '<br /><a href="' +url+ '" class="lees-meer">Lees meer</a></p></div><br clear="all" />';

				var show_data = '<a href="#" onclick="areaUpdate(\'#update_area-2\',\''+encodeMyHtml(output_data)+'\'); return false;">' +image+ '</a>';

				break;


			case "style 22":
				var image2 = mycarousel_decodeEntities(data[i - 1].image2);
//				var output_data = '<h3><span>Het succesverhaal van <em>' +title+ '</em></span></h3><a href="' +url+ '" class="img-link">' +image2+ '</a><div class="citeren"><p>'
				var output_data = '<fieldset><legend><span>Het succesverhaal van</span> ' +title+ '</legend></fieldset><a href="' +url+ '" class="img-link">' +image2+ '</a><div class="citeren"><p>'

				+description+ '<br /><a href="' +url+ '" class="lees-meer">Lees meer</a></p></div><br clear="all" />';

				var show_data = '<a href="#" onclick="areaUpdate(\'#update_area-22\',\''+encodeMyHtml(output_data)+'\'); return false;">' +image+ '</a>';

				break;



			case "style 1":
			case "style 11":
			case "style 4":
			case "style 44":
				var show_data = '<a href="'+url+'" target="_parent">' +image+ '</a>';

			    break;

		  	default:
				var show_data = image;
				break;
		}
		carousel.add(i, show_data);
    }
}

function mycarousel_itemAddCallback_special3(carousel, first, last, data) {
    if (first == 1) {
        if (data.length == 0) {
            carousel.size(1);
            carousel.add(1, '<p>No results</p>');
            return;
        } else {
            carousel.size(data.length);
        }
    }
    carousel.size(data.length);
    for (i = 0; i < data.length; i++) {
      if (data[i] == undefined) break;
      areaUpdate('#update_area-3', mycarousel_decodeEntities(data[i].agenda));
      carousel.add(i+1, mycarousel_decodeEntities(data[i].title));
    }
    carousel.unlock();
    carousel.setup();
}

function mycarousel_itemAddCallback_special33(carousel, first, last, data) {
    if (first == 1) {
        if (data.length == 0) {
            carousel.size(1);
            carousel.add(1, '<p>No results</p>');
            return;
        } else {
            carousel.size(data.length);
        }
    }

    //var i = first;
    for (var i = first; i <= last; i++) {
        if (data[i - 1] == undefined) break;

		var title = mycarousel_decodeEntities(data[i - 1].title);
		var agenda = mycarousel_decodeEntities(data[i - 1].agenda);

		var data = title+' '+agenda;

		areaUpdate('#update_area-33', agenda);
		carousel.add(i, title);
    }
}

function areaUpdate(elem, s) {
    jQuery(elem).html(decodedMyHtml(s));
}

/**
* custom encode / decode html
*/
function encodeMyHtml(s) {
	encodedHtml = escape(s);
	encodedHtml = encodedHtml.replace(/\//g,"%2F");
	encodedHtml = encodedHtml.replace(/\?/g,"%3F");
	encodedHtml = encodedHtml.replace(/=/g,"%3D");
	encodedHtml = encodedHtml.replace(/&/g,"%26");
	encodedHtml = encodedHtml.replace(/@/g,"%40");

	return encodedHtml;
}

function decodedMyHtml(s) {
	return unescape(s);
}

/**
 * Decodes entites.
 */
function mycarousel_decodeEntities(s) {
    return s.replace(/&amp;/g,  "&")
            .replace(/&quot;/g, '"')
            .replace(/&#039;/g, "'")
            .replace(/&lt;/g,   "<")
            .replace(/&gt;/g,   ">");
}

/**
 * This function is needed for the flickr feed.
 */
function jsonFeed(o){
    return o.items;
}

jQuery(document).ready(function() {
    jQuery('#mycarousel-1').jcarousel({
        scroll: 2,
        itemLoadCallback: mycarousel_itemLoadCallback_1
    });

    jQuery('#mycarousel-2').jcarousel({
        scroll: 2,
        itemLoadCallback: mycarousel_itemLoadCallback_2
    });


    jQuery('#mycarousel-11').jcarousel({
        scroll: 2,
        itemLoadCallback: mycarousel_itemLoadCallback_11
    });

    jQuery('#mycarousel-22').jcarousel({
        scroll: 2,
        itemLoadCallback: mycarousel_itemLoadCallback_22
    });
   
   
    jQuery('#mycarousel-3').jcarousel({
        scroll: 1,
        itemLoadCallback: mycarousel_itemLoadCallback_3,
        // new lines added
        itemVisibleInCallback: {
            onAfterAnimation:  mycarousel_itemVisibleInCallbackAfterAnimation_3            
        }
        // end of new lines
    });
    
    
    jQuery('#mycarousel-33').jcarousel({
        scroll: 1,
        itemLoadCallback: mycarousel_itemLoadCallback_33,
        // new lines added
        itemVisibleInCallback: {
            onAfterAnimation:  mycarousel_itemVisibleInCallbackAfterAnimation_33
        }
        // end of new lines
    });


    jQuery('#mycarousel-4').jcarousel({
        scroll: 2,
        itemLoadCallback: mycarousel_itemLoadCallback_4
    });


    jQuery('#mycarousel-44').jcarousel({
        scroll: 2,
        itemLoadCallback: mycarousel_itemLoadCallback_44
    });
    

    
    
});