/* Wat variabelen */
dogImgClassNames    = new Array();
dogImgClassNames[0] = "dog_image_one";
dogImgClassNames[1] = "dog_image_two";
dogImgClassNames[2] = "dog_image_three";
dogImgClassNames[3] = "dog_image_four";

dogImgClassIds      = new Array();
dogImgClassIds[0]   = "image_img_one";
dogImgClassIds[1]   = "image_img_two";
dogImgClassIds[2]   = "image_img_three";
dogImgClassIds[3]   = "image_img_four";


function addEvent( obj, type, fn ) {
    if (obj.addEventListener) {
        obj.addEventListener( type, fn, false );
        EventCache.add(obj, type, fn);
    }
    else if (obj.attachEvent) {
        obj["e"+type+fn] = fn;
        obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
        obj.attachEvent( "on"+type, obj[type+fn] );
        EventCache.add(obj, type, fn);
    }
    else {
        obj["on"+type] = obj["e"+type+fn];
    }
}

var EventCache = function(){
    var listEvents = [];
    return {
        listEvents : listEvents,
        add : function(node, sEventName, fHandler){
            listEvents.push(arguments);
        },
        flush : function(){
            var i, item;
            for(i = listEvents.length - 1; i >= 0; i = i - 1){
                item = listEvents[i];
                if(item[0].removeEventListener){
                    item[0].removeEventListener(item[1], item[2], item[3]);
                };
                if(item[1].substring(0, 2) != "on"){
                    item[1] = "on" + item[1];
                };
                if(item[0].detachEvent){
                    item[0].detachEvent(item[1], item[2]);
                };
                item[0][item[1]] = null;
            };
        }
    };
}();
addEvent(window,'unload',EventCache.flush);


function getDog(id) {
    //alert("getDog() met id " + id);
    queryForDog(id);
}
function getPrevDog(id) {
    var id = getObj('prevDogIDHolder').getAttribute('rel');
    //alert(id);
    if(id!=0) {
        queryForDog(id);
    }
}
function getNextDog(id) {
    var id = getObj('nextDogIDHolder').getAttribute('rel');
    //alert(id);
    if(id!=0) {
        queryForDog(id);
    }
}

function queryForDog(id) {
    $.ajax({
        type: "POST",
        url: "rpc.php",
        data: "action=get&id=" + id,
        success: function(msg){
        fillInDog(msg);
   }
 });

}

function fillInDog(text) {
    var dog = json_parse(text);
    
    if(dog.hasError == true) {
        var errorStr = "";
        switch(dog.errorCode) {
            case -5:
                errorStr = "De hond die je wilt zien kon niet geladen worden door een onbekende fout (" + dog.errorInfo + ").";
                break;
            case -4:
                errorStr = "De hond die je wilt zien kon niet gevonden worden in de database (" + dog.errorInfo + ").";
                break;
            case -3:
                errorStr = "De hond die je wilt zien kon niet geladen worden door een onbekende fout (2) (" + dog.errorInfo + ").";
                break;
            case - 2:
                errorStr = "De hond die je wilt zien kon niet geladen worden door een databasefout (" + dog.errorInfo + ").";
            break;
        }
        alert(errorStr + " Onze excuses voor dit ongemak.");
        
    } else {
        // even de pics opslaan
        var dogImgArray = new Array();
        dogImgArray[0] = dog.pic1;
        dogImgArray[1] = dog.pic2;
        dogImgArray[2] = dog.pic3;
        dogImgArray[3] = dog.pic4;
        
        // naam van de hond overal invullen:
        getObj('title_dog_name').innerHTML = dog.name;
        getObj('title_dog_name').appendChild(document.createTextNode(' '));
        
        var pdfLink = document.createElement('a');
        pdfLink.setAttribute('href','pdf.php?id=' + dog.id);
        pdfLink.setAttribute('title','Download PDF');
        pdfImage = document.createElement('img');
        pdfImage.setAttribute('src','ext/icons/page_white_acrobat.png');
        pdfImage.setAttribute('title','Download PDF');
        pdfImage.setAttribute('alt','Download PDF');
        pdfLink.appendChild(pdfImage);
        getObj('title_dog_name').appendChild(pdfLink);
        getObj('title_dog_name').appendChild(document.createTextNode(' '));
        
        var printLink = document.createElement('a');
        printLink.setAttribute('href','print.php?id=' + dog.id);
        printLink.setAttribute('title','Print');
        printImage = document.createElement('img');
        printImage.setAttribute('src','ext/icons/printer.png');
        printImage.setAttribute('title','Print');
        printImage.setAttribute('alt','Print');
        printLink.appendChild(printImage);
        getObj('title_dog_name').appendChild(printLink);
        getObj('title_dog_name').innerHTML =getObj('title_dog_name').innerHTML + "</a>";
        
        
        // ras, leeftijd en geslacht: (TODO: switch op taal)
        getObj('dog_race').innerHTML = dog.race;
        getObj('dog_age').innerHTML  = dog.age;
        getObj('dog_sex').innerHTML  = dog.sex;
        // is de hond sterile?
        if(dog.is_sterile==0) {
            getObj('dog_is_sterile').innerHTML = lang_no;
        } else if(dog.is_sterile==1) {
            getObj('dog_is_sterile').innerHTML = lang_yes;
        } else if(dog.is_sterile==2) {
			getObj('dog_is_sterile').innerHTML = lang_unknown;
		}
    
        //omschrijving, bijzonderheden, status, grootte, verblijfplaats
        getObj('dog_descr').innerHTML = dog.descr;
        getObj('dog_extra').innerHTML = dog.extra;
        getObj('dog_status').innerHTML = dog.state;
        getObj('dog_size').innerHTML = dog.size;
        getObj('dog_submit_date').innerHTML = dog.created;
        
        getObj('dog_location').innerHTML  = dog.place;
        
        // DIV VOOR PLAATJES
        var dogImages                     = getObj('dogImages');
        dogImages.innerHTML               = '';

        // IMAGE SET
        var image_set         = new Array();
        var image_set = 
            [
             {'caption': dog.name, 'url': 'http://' + host + path + dog_photo_path + dog.pic1 + '.jpg'},
             {'caption': dog.name, 'url': 'http://' + host + path + dog_photo_path + dog.pic2 + '.jpg'},
             {'caption': dog.name, 'url': 'http://' + host + path + dog_photo_path + dog.pic3 + '.jpg'},
             {'caption': dog.name, 'url': 'http://' + host + path + dog_photo_path + dog.pic4 + '.jpg'},
            ];
            
        //ONE
        var image0              = document.createElement('img');
        image0.src              = 'http://' + host + path + dog_thumb_path + dogImgArray[0] + '.jpg'
        //image0.src              = 'http://' + host + path + 'img.php?id=' + dog.id;
        image0.className        = 'dog_image ' + dogImgClassNames[0];
        image0.id               = dogImgClassIds[0];
        addEvent                (image0,'click',function() {return GB_showImageSet(image_set, 1);});
        dogImages.appendChild   (image0);
        //TWO
        var image1              = document.createElement('img');
        image1.src              = 'http://' + host + path + dog_thumb_path + dogImgArray[1] + '.jpg'
        image1.className        = 'dog_image ' + dogImgClassNames[1];
        image1.id               = dogImgClassIds[1];
        addEvent                (image1,'click',function() {return GB_showImageSet(image_set, 2);});
        dogImages.appendChild   (image1);
    
        // BREAK RULE
        dogImages.appendChild(document.createElement('br'));
        
        // THREE
        var image2              = document.createElement('img');
        image2.src              = 'http://' + host + path + dog_thumb_path + dogImgArray[2] + '.jpg'
        image2.className        = 'dog_image ' + dogImgClassNames[2];
        image2.id               = dogImgClassIds[2];
        addEvent                (image2,'click',function() {return GB_showImageSet(image_set, 3);});
        dogImages.appendChild   (image2);

        // FOUR
        var image3              = document.createElement('img');
        image3.src              = 'http://' + host + path + dog_thumb_path + dogImgArray[3] + '.jpg'
        image3.className        = 'dog_image ' + dogImgClassNames[3];
        image3.id               = dogImgClassIds[3];
        addEvent                (image3,'click',function() {return GB_showImageSet(image_set, 4);});
        dogImages.appendChild   (image3);
    
        // BREAK RULE
        dogImages.appendChild   (document.createElement('br'));
    
		// youtube movies:
		var yt = getObj('youtube_holder');
		yt.innerHTML = '';
		
		if(dog.hasyoutube == true) {
			var strong = document.createElement('strong');
			strong.appendChild(document.createTextNode('Filmpjes:'));
			yt.appendChild(strong);
			yt.appendChild(document.createElement('br'));
			//alert(dog.youtube_0_title);
			//alert(dog.youtube_0);
			
			if(dog.youtube_0 != '') {
				var ytimage = document.createElement('img');
				ytimage.setAttribute('src','youtube.jpg');
				ytimage.setAttribute('align','middle');
				yt.appendChild(ytimage);
				yt.appendChild(document.createTextNode(' '));
				var link = document.createElement('a');
				link.setAttribute('href','youtube.php?id=' + dog.youtube_0);
				link.appendChild(document.createTextNode(dog.youtube_0_title));
				$(link).fancybox( {'width' : 660,'height' : 395,'type'	: 'iframe'});
				
				yt.appendChild(link);
				yt.appendChild(document.createElement('br'));
			}
			
			if(dog.youtube_1 != '') {
				var ytimage = document.createElement('img');
				ytimage.setAttribute('src','youtube.jpg');
				ytimage.setAttribute('align','middle');
				yt.appendChild(ytimage);
				yt.appendChild(document.createTextNode(' '));
				
				var link = document.createElement('a');
				link.setAttribute('href','youtube.php?id=' + dog.youtube_1);
				link.appendChild(document.createTextNode(dog.youtube_1_title));
				$(link).fancybox( {'width' : 660,'height' : 395,'type'	: 'iframe'});
				
				yt.appendChild(link);
				yt.appendChild(document.createElement('br'));
			}
			
			if(dog.youtube_2 != '') {
				var ytimage = document.createElement('img');
				ytimage.setAttribute('src','youtube.jpg');
				ytimage.setAttribute('align','middle');
				yt.appendChild(ytimage);
				yt.appendChild(document.createTextNode(' '));
				var link = document.createElement('a');
				link.setAttribute('href','youtube.php?id=' + dog.youtube_2);
				link.appendChild(document.createTextNode(dog.youtube_2_title));
				$(link).fancybox( {'width' : 660,'height' : 395,'type'	: 'iframe'});
				
				yt.appendChild(link);
				yt.appendChild(document.createElement('br'));
			}
			
			if(dog.youtube_3 != '') {
				var ytimage = document.createElement('img');
				ytimage.setAttribute('src','youtube.jpg');
				ytimage.setAttribute('align','middle');
				yt.appendChild(ytimage);
				yt.appendChild(document.createTextNode(' '));
				var link = document.createElement('a');
				link.setAttribute('href','youtube.php?id=' + dog.youtube_3);
				link.appendChild(document.createTextNode(dog.youtube_3_title));
				$(link).fancybox( {'width' : 660,'height' : 395,'type'	: 'iframe'});
				
				yt.appendChild(link);
				yt.appendChild(document.createElement('br'));
			}
			
			
			
		}
	

        // next dog link
        if(dog.isPrevDog==true) {
            getObj('nextDogIDHolder').setAttribute('rel',dog.nextDogID);
        } else {
            getObj('nextDogIDHolder').setAttribute('rel',0);
        }
        
        if(dog.isNextDog==true) {
            getObj('prevDogIDHolder').setAttribute('rel',dog.prevDogID);
        } else {
            getObj('nextDogIDHolder').setAttribute('rel',0);
        }
        
    }
}


function getObj() {
    var elements = new Array();
    for (var i = 0; i < arguments.length; i++) {
        var element = arguments[i];
        if (typeof element == 'string')
            element = document.getElementById(element);
        if (arguments.length == 1)
            return element;
        elements.push(element);
    }
    return elements;
}

function applyFilter(name) {
    document.location = 'http://' + host + path + '?filter=' + name;
}



// page set maken
//var img_set = [
//{'caption': dog.name, 'url': 'http://' + host + path + dog_photo_path + dog.pic1 + '.jpg'},
//{'caption': dog.name, 'url': 'http://' + host + path + dog_photo_path + dog.pic2 + '.jpg'},
//{'caption': dog.name, 'url': 'http://' + host + path + dog_photo_path + dog.pic3 + '.jpg'},
//{'caption': dog.name, 'url': 'http://' + host + path + dog_photo_path + dog.pic4 + '.jpg'}
//];

// thumbs updaten:
//getObj('image_img_one').setAttribute('src','http://' + host + path + dog_thumb_path + dog.pic1 + '.jpg');
//getObj('image_img_two').setAttribute('src','http://' + host + path + dog_thumb_path + dog.pic2 + '.jpg');
//getObj('image_img_thr').setAttribute('src','http://' + host + path + dog_thumb_path + dog.pic3 + '.jpg');
//getObj('image_img_fou').setAttribute('src','http://' + host + path + dog_thumb_path + dog.pic4 + '.jpg');
//getObj('image_img_one').setAttribute('title',dog.name);
//getObj('image_img_two').setAttribute('title',dog.name);
//getObj('image_img_thr').setAttribute('title',dog.name);
//getObj('image_img_fou').setAttribute('title',dog.name);
// links updaten voor slideshow:
//getObj('image_link_one').click = new function(event) {return GB_showImageSet(img_set, 1);}
//getObj('image_link_one').setAttribute('onclick','return GB_showImageSet(img_set, 1);');
//getObj('image_link_one').href  = "#";
//getObj('image_link_two').click = new function() {return GB_showImageSet(img_set, 2);}
//getObj('image_link_thr').click = new function() {return GB_showImageSet(img_set, 3);}
//getObj('image_link_fou').click = new function() {return GB_showImageSet(img_set, 4);}


// foto's updaten:
//getObj('image_link_one').setAttribute('href','http://' + host + path + dog_photo_path + dog.pic1 + '.jpg');
//getObj('image_link_two').setAttribute('href','http://' + host + path + dog_photo_path + dog.pic2 + '.jpg');
//getObj('image_link_thr').setAttribute('href','http://' + host + path + dog_photo_path + dog.pic3 + '.jpg');
//getObj('image_link_fou').setAttribute('href','http://' + host + path + dog_photo_path + dog.pic4 + '.jpg');;
//getObj('image_link_one').setAttribute('title',dog.name);
//getObj('image_link_two').setAttribute('title',dog.name);
//getObj('image_link_thr').setAttribute('title',dog.name);
//getObj('image_link_fou').setAttribute('title',dog.name);
//getObj('image_img_one').setAttribute('src','http://' + host + path + dog_thumb_path + dog.pic1 + '.jpg');
//getObj('image_img_two').setAttribute('src','http://' + host + path + dog_thumb_path + dog.pic2 + '.jpg');
//getObj('image_img_thr').setAttribute('src','http://' + host + path + dog_thumb_path + dog.pic3 + '.jpg');
//getObj('image_img_fou').setAttribute('src','http://' + host + path + dog_thumb_path + dog.pic4 + '.jpg');
//getObj('image_img_one').setAttribute('title',dog.name);
//getObj('image_img_two').setAttribute('title',dog.name);
//getObj('image_img_thr').setAttribute('title',dog.name);
//getObj('image_img_fou').setAttribute('title',dog.name);












