var arrDPContent    = ['overview', 'images', 'externalimages','calendar', 'information', 'extra', 'messages', 'facilities', 'themes', 'ranking', 'roomtype','googlemaps'];
var arrDPState      = ['Yes' , 'Yes', 'No' , 'Yes' , 'Yes', 'Yes' , 'Yes', 'Yes', 'Yes', 'Yes','No','Yes'];
var arrDPImageSlide = true;
var objDPImageSlider;

function dpToggle(strId){
    objPanel  = document.getElementById(strId);
    objToggle = document.getElementById(strId + 'toggle');
    if (!objPanel || !objToggle) return;
    objContent = dpFindContent(objPanel);
    if (objContent.style.display == ''){
        objContent.style.display = 'none';
        objToggle.src = objToggle.src.replace('minimize', 'maximize');
    } else {
        objContent.style.display = '';
        objToggle.src = objToggle.src.replace('maximize', 'minimize');
    }

    dpSave();
}

function dpFindContent(objPanel){
    for(var i=0;i<objPanel.childNodes.length;i++){
        if (objPanel.childNodes[i].className == 'content') return objPanel.childNodes[i];
        else {
            objFound = dpFindContent(objPanel.childNodes[i]);
            if (objFound) return objFound;
        }
    }
    return false;
}

function dpShow(strType){
    objPanel = document.getElementById(strType);
    if (!objPanel) return;

    objContent = dpFindContent(objPanel);
    if (objContent && objContent.style.display == 'none'){
        objContent.style.display = '';
        objToggle = document.getElementById(strType + 'toggle');
        if (objToggle){
            objToggle.src = objToggle.src.replace('maximize', 'minimize');
            dpSave();
            setTimeout("dpShow('" + strType + "')", 20);
        }
        return;
    }

    document.location.href='#'+strType+'anchor';
    return;
}

function dpSave(){
    var arrState = arrDPState;
    for(j=0;j<arrDPContent.length;j++){
        objPanel   = document.getElementById(arrDPContent[j]);
        strVisible = arrDPState[j];
        if (objPanel){
            objContent = dpFindContent(objPanel);
            if (objContent.style.display == '') strVisible = "Yes";
            else strVisible = "No";
            arrState[j] = strVisible;
        }
    }
    document.cookie = "detailpage" + "=" + escape(arrState.join(","));
}

function dpInit(){
    var objCookie = document.cookie;
    var strPrefix = "detailpage=";
    var intStart  = objCookie.indexOf("; " + strPrefix);
    if (intStart == -1){
        intStart = objCookie.indexOf(strPrefix)
        if (intStart != 0) return null;
    } else intStart += 2;

    var intEnd = objCookie.indexOf(";", intStart);
    if (intEnd == -1) intEnd = objCookie.length;
    strValue = unescape(objCookie.substring(intStart + strPrefix.length, intEnd));
    if (strValue != null) {
	    arrDPState = strValue.split(",");
	    for(j=0;j<arrDPState.length;j++){
	        objPanel   = document.getElementById(arrDPContent[j]);
	        objToggle  = document.getElementById(arrDPContent[j] + 'toggle');
            if (objPanel && objToggle){
                objContent = dpFindContent(objPanel);
                if (arrDPState[j] == "Yes"){
                    objContent.style.display = '';
                    objToggle.src = objToggle.src.replace('maximize', 'minimize');
                } else {
                    objContent.style.display = 'none';
                    objToggle.src = objToggle.src.replace('minimize', 'maximize');
                }
            }
	    }
    }
}

function dpOpenWindow(strUrl, intHeight, intWidth) {
    var name = intHeight+intWidth;
    window.open(strUrl, name, 'height=' + intHeight + ',width=' + intWidth + ',location=no,menubar=no,status=no,toolbar=no,resizable=yes');
    return true;
}

function dpImageSlide(){
    this.objTimer  = null;
    this.intImage  = 0;
    this.blnActive = false;
    this.arrImages = new Array();

    this.add   = dpImageSlideAdd;
	this.clearimages   = dpClearImagesArray;
    this.start = dpImageSlideStart;
    this.stop  = dpImageSlideStop;
    this.slide = dpImageSlideSlide;

    objDPImageSlider = this;
}

function dpClearImagesArray(){
    this.arrImages = new Array();
}

function dpImageSlideAdd(strImage){
    this.arrImages[this.arrImages.length] = strImage;
}

function dpImageSlideStart(intImageId){
    this.blnActive = true;
    setTimeout('objDPImageSlider.slide('+intImageId+')', 50);
}

function dpImageSlideSlide(intImageId){
    if (this.blnActive == true){
		if(intImageId == -1 || intImageId >= 0) this.intImage = intImageId;
        this.intImage++;
        if (this.intImage >= this.arrImages.length) this.intImage = 0;
		var arrImagedetails = this.arrImages[this.intImage].split("%%");
        document.getElementById('hotelimage').src = arrImagedetails[0];
		if(document.getElementById("identifiername")) document.getElementById('identifiername').innerHTML = arrImagedetails[1];
        if(intImageId == -1 || intImageId >= 0) setTimeout('objDPImageSlider.slide()', 20);
		else setTimeout('objDPImageSlider.slide()', 8000)
    }
}

function dpImageSlideStop(intImageId){

    // When stopped, trigger a restart after five minutes
    if (this.objTimer) clearTimeout(this.objTimer);
    this.objTimer = setTimeout('objDPImageSlider.start('+intImageId+')', 8000);
    this.blnActive = false;
}

function dpShowFlickr(strSearch){
    ajaxLoadIFrame('/ajaxflickr.php?search='+escape(strSearch));
	dpShow('externalimages');
}

var dpBlnAllotmentShow  = false;
var dpObjAllotmentDate  = null;
var dpIntAllotmentPosX  = 0;
var dpIntAllotmentPosY  = 0;
var dpStrAllotmentShown = "";

function dpLoadAllotment(intSaleId, objAllotmentDate, intHotelId, intMonth, intDay, intPeriod){


    var strRequestId  = intHotelId + "_" + intMonth + "_" + intDay + "_";
    strRequestUrl = "/ajax.php?action=plugin&type=allotment&sid=" + intSaleId + "&hotel=" + intHotelId + "&mf=" + intMonth + "&df=" + intDay;
    if (intPeriod){
        strRequestId  += intPeriod
        strRequestUrl += "&period=" + intPeriod;
    }

    if (dpStrAllotmentShown != strRequestId){
        ajaxLoadRequest(strRequestUrl, dpShowAllotment);
        dpStrAllotmentShown = strRequestId;
        dpObjAllotmentDate  = document.getElementById(objAllotmentDate);
    }
}

function dpHideAllotment(){
    if (dpBlnAllotmentShow == false){
        objContainer = document.getElementById('pi_detailAllotmentView');
        if (objContainer){
            dpStrAllotmentShown        = "";
            objContainer.style.display = 'none';
        }
    }
}

function dpShowAllotment(strData){

    if (dpBlnAllotmentShow == false) return;
    var blnCreated   = false;
    var objContainer = document.getElementById('pi_detailAllotmentView');

    if (!objContainer){
        blnCreated = true;
        objContainer = document.createElement('div');
        objContainer.setAttribute('id', 'pi_detailAllotmentView');
        objContainer.style.position = "absolute";
    } else {

          document.body.removeChild(objContainer);
          dpShowAllotment(strData);
    }
    objContainer.style.top = '0px';
    objContainer.style.left = '0px';

    var intParentX = dpObjAllotmentDate.offsetLeft + dpObjAllotmentDate.offsetWidth;
    var intParentY = dpObjAllotmentDate.offsetTop + dpObjAllotmentDate.offsetHeight;

    objParent = dpObjAllotmentDate.offsetParent;
    while(objParent){
        intParentX += objParent.offsetLeft;
        intParentY += objParent.offsetTop;
        objParent = objParent.offsetParent;
    }

    objContainer.innerHTML = strData;
    if (blnCreated) document.body.appendChild(objContainer);

    var intMaxX = (document.documentElement.clientWidth -  objContainer.offsetWidth);
    var intMaxY = (document.documentElement.clientHeight - objContainer.offsetHeight);

    intMouseX = intParentX;
    intMouseY = intParentY;

    if (!document.all){

        intMaxX += window.pageXOffset;
        intMaxY += window.pageYOffset;

    } else {
        intMaxX += document.documentElement.scrollLeft;
        intMaxY += document.documentElement.scrollTop;
    }


    var intLeft = intMouseX > intMaxX  ? intMaxX  : intMouseX;
    var intTop  = intMouseY > intMaxY  ? intMaxY  : intMouseY;

    objContainer.style.display = "";
    objContainer.style.top  = intTop + 'px';
    objContainer.style.left = intLeft + 'px';

}
function dpOpenGoogleMap(strUrl) {
	if(document.getElementById("iframeGMap")){
		var strMainUrl = document.getElementById("iframeGMap").src;
		if(strMainUrl.search(/googlemapdetail/) == -1){
			document.getElementById("iframeGMap").src =  strUrl;
		}
	}
}


// RELEASE #28 ISSUE #2787 

function getGaLinkerUrl(url) {
	if (typeof pageTracker != "undefined") var a = pageTracker._getLinkerUrl(url);
	else var a = '&';
	
	var b = a.substr(url.length);

	return url + escape(b);
}
//define global variable for detail page URL
var strDetailUrl;
function dtGetPegasusAllocation(strUrl, strDetailPageUrl){
	strDetailUrl = strDetailPageUrl;
	ajaxLoadRequest(strUrl, dtShowAllocation);
}
function dtShowAllocation(strData) {

	if (strData) {
		var arrResponse   = strData.split(";");
		var intCount;
		var arrProperties = new Array();
		var arrTemp       = new Array();
		for(intCount = 0; intCount < arrResponse.length; intCount++) {
			arrTemp = arrResponse[intCount].split(":");
			arrProperties[arrTemp[0]] = arrTemp[1];
		}

		//If available
		if(arrProperties['available'] != 0){
			//If price changed
			if(arrProperties['pricechanged']  != 0) {
				document.getElementById("subloadingmessagechanged").innerHTML = "<b>Let op!</b><br/>De door u gezochte aanbieding is niet meer beschikbaar. U heeft de mogelijkheid om uw verblijf te reserveren voor<br/>de nú getoonde prijs";
				document.getElementById("subloadingmessagechecking").style.color = "#CCCCCC";
				setTimeout("dtShowChangedPrice('"+arrProperties['price']+"','"+arrProperties['breakfastincluded']+"')",5000);
			} else {
				dtShowPriceDetails();
			}
		} else {
			document.getElementById("subloadingmessagechecking").innerHTML = "De door u gezochte aanbieding is voor deze periode helaas niet meer beschikbaar. Door op onderstaande link te klikken kunt terug gaan naar de hotelpagina en daar een andere datum kiezen. Of u kunt contact opnemen met ons servicecentre.<br/><div align='center'><a href='"+strDetailUrl+"'>[Terug naar hotelpagina]</a></div>";
		}
	}
}

function dtShowChangedPrice(intPrice,boolBreakfast) {
	document.getElementById("price").innerHTML = "&euro; "+intPrice;
	var strHTML = document.getElementById("condition").innerHTML;

	var strToReplace,strWithReplace;
	if (boolBreakfast == 1) {
		strToReplace = "excl";
		strWithReplace = "incl";
	} else {
		strToReplace = "incl";
		strWithReplace = "excl";
	}

	document.getElementById("condition").innerHTML = strHTML.replace(strToReplace,strWithReplace);
	dtShowPriceDetails();
}

function dtShowPriceDetails() {
	document.getElementById("loadingmessage").style.display = "none";
	document.getElementById("divdetail").style.display = "";
}

/**
 * Shows images category wise on click on category tabs.
 * @param   String    Category name
 */
function dtShowImageDivs(category) {

	if(slidingimages[category].length > 0 && slidingimages[category][0] != '&nbsp;'){
		objDPImageSlider.clearimages();
		for(var i=0; i<slidingimages[category].length; i++) {
			if(slidingimages[category][i] != "&nbsp;") objDPImageSlider.add(slidingimages[category][i]+"%%"+imageidentifiers[category][i]);
		}
		objDPImageSlider.intImage=-1;
	}else objDPImageSlider.stop();

	for(var i=0; i<displaycategories.length; i++){
		if(document.getElementById(displaycategories[i])) 	document.getElementById(displaycategories[i]).style.display = "none";

		if(displaycategories[i] == category && document.getElementById(displaycategories[i]+"_text")){
			var categoryname = dtUcFirst(displaycategories[i]);
			document.getElementById(displaycategories[i]+"_link").style.display = "none";
			document.getElementById(displaycategories[i]+"_text").style.display = "";
			document.getElementById(displaycategories[i]+"_text").innerHTML = "<b>"+categoryname+"</b>";
		}else if(document.getElementById(displaycategories[i]+"_link")){
			var categoryname = dtUcFirst(displaycategories[i]);
			document.getElementById(displaycategories[i]+"_text").style.display = "none";
			document.getElementById(displaycategories[i]+"_link").style.display = "";
			document.getElementById(displaycategories[i]+"_link").innerHTML = "<a href=\"javascript:void(0);\" onclick=\"javascript:dtShowImageDivs('"+displaycategories[i]+"');\">"+categoryname+"</a>";
		}
	}

	if(document.getElementById(category)) document.getElementById(category).style.display = "block";
	if(document.getElementById("identifiername")) document.getElementById('identifiername').innerHTML = document.getElementById("initialidentifier_"+category).value;

	dtDisplayImageRows(category,1);
}

/**
 * Javascript equivalent of PHP ucfirst()
 * @param   String    String
 */
function dtUcFirst(strname) {
	intStringLength = strname.length;
	var firstLetter = strname.substr(0,1);
	ucFirstLetter = firstLetter.toUpperCase();
	ucName = ucFirstLetter+(strname.substring(1, intStringLength));
	return ucName;
}


/**
 * Controls the number of image rows to be shown on 'volgende' and 'Vorige'
 * @param   String    Category name
 * @param   Integer  Row number
 */
function dtDisplayImageRows(category, intRowNumber) {
	
	var rownum = 1;
	var numofrows;
	if(document.getElementById("numofrows_"+category)) {
		numofrows = document.getElementById("numofrows_"+category).value;
		var displayrows = 3;
		var strHTML = "";
		var intStart;
		var intLast;
  
		if(intRowNumber <= numofrows) {
			intStart = intRowNumber;
			intLast = intRowNumber + 2;

			for(var i=1; i<=numofrows; i++) {
			   if(i >= intStart && i <= intLast) {
					document.getElementById("tr_"+category+"_"+i).style.display = "block";
				} else {
					document.getElementById("tr_"+category+"_"+i).style.display = "none";
				}
			 }		
			 if((intRowNumber + 3 ) <= numofrows) {
				strHTML = "<a href='javascript:void(0)' onClick='javascript:dtDisplayImageRows(\""+category+"\", "+(intRowNumber+3)+");'>Volgende</a>";
			 }
			 if(intRowNumber > 1) {
		var strHTMLPrev = "<a href='javascript:void(0)' onClick='javascript:dtDisplayImageRows(\""+category+"\", "+(intRowNumber-3)+");'>Vorige</a>";

		if(strHTML != "") {
				   strHTML = "<table width=\"100%\"><tr><td width=\"50%\" align=\"left\">"+ strHTMLPrev + "</td><td width=\"50%\">&nbsp;</td><td width=\"50%\" align=\"right\">" + strHTML +"</td></tr></table>";
				} else {
				   strHTML = "<table width=\"100%\" ><tr><td>"+strHTMLPrev+ "</td></tr></table>";
			   }
			 }			
			 document.getElementById('divNextPrev').innerHTML = strHTML;
		  } else {
			document.getElementById('divNextPrev').innerHTML = "";
		  }
	  } else {
		document.getElementById('divNextPrev').innerHTML = "";
	  }
 }

// RELEASE 28 ISSUE 2765 ADD
function trainbook(desturl){
    var mywindow = window.open(desturl,"TrainBooking","status=1,scrollbars=1,width=200,height=275"); 
    //mywindow.moveTo(300,250);
}

 