hs.showCredits = false;
hs.dimmingOpacity = 0.75;

var dataValid = false;

var refTopBackLink;
var refTopNextLink;
var refTopClose;
var refMainImageImg;
var refSmallImg1;
var ref_txt1;
var ref_txt2;
var ref_txt3;
var ref_txta1;
var ref_txta2;
var ref_txta3;
var company;
var company2;
var city;

function dummyClose() {
    hs.close();
}

function getHTMLElems() {
    if(!refTopBackLink) refTopBackLink = document.getElementById('refTopBackLink'); 
    if(!refTopNextLink) refTopNextLink = document.getElementById('refTopNextLink');
    if(!refTopClose) refTopClose = document.getElementById('refTopClose');

    if(!refMainImageImg) refMainImageImg = document.getElementById('ref_paakuva');
    if(!refSmallImg1) refSmallImg1 = document.getElementById('ref_alakuva1');

    if(!ref_txt1) ref_txt1 = document.getElementById('ref_txt1');
    if(!ref_txt2) ref_txt2 = document.getElementById('ref_txt2');
    if(!ref_txt3) ref_txt3 = document.getElementById('ref_txt3');
    if(!ref_txta1) ref_txta1 = document.getElementById('ref_alakuva1_txt');
    if(!ref_txta2) ref_txta2 = document.getElementById('ref_alakuva2_txt');
    if(!ref_txta3) ref_txta3 = document.getElementById('ref_alakuva3_txt');

    if(!company) company = document.getElementById('company');
    if(!company2) company2 = document.getElementById('company2');
    if(!city) city = document.getElementById('city');
}

function makeRequest(url, parameters, cb) {
	dataValid = false;
	clearContents();
	makeGETRequest(url, parameters, cb);
}

function clearContents() {
    getHTMLElems();

	refTopNextLink.setAttribute('onclick', 'return false;');
	refTopBackLink.setAttribute('onclick', 'return false;');
	refMainImageImg.style.visibility = 'hidden';
	ref_txt1.innerHTML = '';
	ref_txt2.innerHTML = '';
	ref_txt3.innerHTML = '';
	ref_txta1.innerHTML = '';
	ref_txta2.innerHTML = '';
	ref_txta3.innerHTML = '';

	refSmallImg1.style.visibility = 'hidden';
	//refSmallImg1.style.display = 'none';

    company.innerHTML = '';
    company2.innerHTML = '';
    city.innerHTML = '';
}

function alertContents() {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			var card = eval('(' + http_request.responseText + ')');
            
			if (card) {
				var data = card.referenceData;
                getHTMLElems();
                city.innerHTML = data.ref_folder;
                company.innerHTML = data.ref_title;
                company2.innerHTML = ""+ data.ref_title;

				if ( typeof(data.error) != 'undefined' && data.error > 0 ) {
					alert('Virhe ');
					dataValid = false;
				} else {
					for (i=0;i<data.items.length;i++) {
						var this_item = data.items[i];
						if ( i == 0 && this_item.ref_alakuva != null && this_item.ref_alakuva.length > 0) {
							var container_div = document.getElementById('ref_container_div');
                            container_div.removeChild(refSmallImg1);
                            var new_image = document.createElement('img');
                            
                            new_image.src = this_item.ref_alakuva;
                            new_image.id = 'ref_alakuva1';
                            new_image.alt = ' ';
                            
                            container_div.appendChild(new_image);
                            refSmallImg1 = new_image;
						} 
                       
                        switch(i) {
                            case 0:
                                ref_txt1.innerHTML = this_item.ref_txt;
                                ref_txta1.innerHTML = this_item.ref_alakuva_txt;
                                break;
                            case 1:
                                ref_txt2.innerHTML = this_item.ref_txt;
                                ref_txta2.innerHTML = this_item.ref_alakuva_txt;
                                break;
                            case 2:
                                ref_txt3.innerHTML = this_item.ref_txt;
                                ref_txta3.innerHTML = this_item.ref_alakuva_txt;
                                break;
                        }
					}

					dataValid = true;

					if ( data.ref_paakuva ) { 
						refMainImageImg.style.visibility = 'visible';
						refMainImageImg.src = data.ref_paakuva;
					}
					refTopBackLink.href = "";
					if ( data.ref_prev_id > 0 ) {
						if (IEVersion() == 0 || IEVersion() == 8) { 
							refTopBackLink.setAttribute('onclick', 'makeRequest("/ref2var?refId='+ data.ref_prev_id +'", "", alertContents);return false;');
						} else {
							refTopBackLink.href='javascript:makeRequest("ref2var?refId='+ data.ref_prev_id +'", "", alertContents)';
						}
	
					} else {
                        if (IEVersion() == 0 || IEVersion() == 8) { 
						    refTopBackLink.setAttribute('onclick', null);
                            refTopBackLink.href='javascript:return false';
                        } else {
                            refTopBackLink.href='javascript:makeRequest("ref2var?refId='+ data.ref_id +'", "", alertContents)';
                        }
					}
					refTopNextLink.href = "";
					if ( data.ref_next_id > 0 ) {
						if (IEVersion() == 0 || IEVersion() == 8) { 
							refTopNextLink.setAttribute('onclick', 'makeRequest("/ref2var?refId='+ data.ref_next_id +'", "", alertContents);return false;');
						} else {
							refTopNextLink.href='javascript:makeRequest("ref2var?refId='+ data.ref_next_id +'", "", alertContents)';
						}
					} else {
                        if (IEVersion() == 0 || IEVersion() == 8) { 
						    refTopNextLink.setAttribute('onclick', null);
                            refTopNextLink.href='javascript:return false';
                        } else {
                            refTopNextLink.href='javascript:makeRequest("ref2var?refId='+ data.ref_id +'", "", alertContents)';
                        }
					}

                    if (IEVersion() == 0 || IEVersion() == 8) { 
						refTopClose.setAttribute('onclick', 'hs.close();return false;');
                    } else {
		        	    refTopClose.href='javascript:dummyClose()';
                    }

					hs.htmlExpand(document.getElementById('refblock'), { width: '820', height:'650', wrapperClassName: 'referenssit' } );
				}
			}
		} else {
			alert('There was a problem with the request.');
		}
	} else {

	}
}

function IEVersion() {
	if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ //test for MSIE x.x;
		var ieversion=new Number(RegExp.$1) // capture x.x portion and store as a number
		if (ieversion>=8) return 8;
		else if (ieversion>=7) return 7;
		else if (ieversion>=6) return 6;
		else if (ieversion>=5) return 5;
	}
	return 0;
}

