﻿//.s.

var psFrame         = null;
var psFrameDocument	= null;
var psFrameWindow   = null;
var psUrl           = "";
var psParams        = "";
var psMsgError      = "<p style='font:normal 14px Tahoma'>No se ha podido iniciar el Booking Engine.</p>";

function PSBookingEngine(_url) {
	
	try {
		var html    = "";
		psParams    = window.location.href.toString();
		
		if (!_url){ document.write(psMsgError); return; }
		if (psParams.indexOf("?") == -1) { document.write(psMsgError); return; }
		
		psUrl = _url + psParams.substr(psParams.indexOf("?"));
		
		var size = psGetUrlParam("size",psParams);
		var width = "910px";
		if (psGetUrlParam("size") != "") {
            width = psGetUrlParam("size");		        
		}
		
		html = "<iframe src=\"" + psUrl + "\" name='PSBookEngine' id='PSBookEngine' scrolling='no' style='width:" + width + ";height:500px;' frameborder='0' allowtransparency></iframe>";
		document.write(html);
		
		if (psGetUrlParam("fullintegration") != "1"){ return; }
		
        psFrame = document.getElementById("PSBookEngine");
        
        if (psFrame.attachEvent){
			psFrame.attachEvent("onload", function(){
				psSetupBooking();
			});
		} else {
			psFrame.onload = function(){
				psSetupBooking();
			};
		}
	}
	catch(e) {
		document.write(psMsgError);
	}
}

function PSBookingEnginePost(_url,_params) {
    try
	{
        var html    = "";
    		
	    if (!_url){ document.write(psMsgError); return; }
	    if (!_params){ document.write(psMsgError); return; }
    	
    	psUrl = _url + "?" + _params;
    	 
	    var size = psGetUrlParam("size",psUrl);
        var width = "910px";
	    if (size != "") {
            width = size;		        
	    }
        
        html = "<iframe src=\"" + psUrl + "\" name='PSBookEngine' id='PSBookEngine' scrolling='no' style='width:" + width + ";height:500px;' frameborder='0'></iframe>";
	    document.write(html);
	    
	    if (psGetUrlParam("fullintegration",psUrl) != "1"){ return; }

        psFrame = document.getElementById("PSBookEngine");
        
        if (psFrame.attachEvent){
			psFrame.attachEvent("onload", function(){
				psSetupBooking();
			});
		} else {
			psFrame.onload = function(){
				psSetupBooking();
			};
		}
    }
    catch(e) {
        document.write(psMsgError);
    }
}

function psSetupBooking() {
    document.domain = psGetDomain();
	psFrameWindow = frames["PSBookEngine"];
	
    if (psGetUrlParam("vscroll",psUrl) == "1"){
        psFrameDocument = psGetFrameDocument("PSBookEngine");
        psSetFullHeight();
    }
}

function psGetDomain() {
	var host = window.location.hostname;
	if (host.indexOf("localhost") > -1){ return "localhost"; }
	var domain = host.split(".");
    domain = domain[domain.length - 2] + "." + domain[domain.length - 1];
	return domain;	
}

function psGetFrameDocument(frameId) {
    var frame = document.getElementById(frameId);
    if (frame.contentDocument) { //.s. For NS6
        return frame.contentDocument || frame.contentDocument.defaultView;
    }
    if (frame.contentWindow) { //.s. For IE5.5 and IE6
        return frame.contentWindow.document;
    }
    return null;
}

function psSetFullHeight() {
   if (psFrameDocument != null) {
       if (psFrameDocument.readyState == 'complete') {
            if (psFrameDocument.getElementById("wrap")) {
                var ResultHeight = psFrameDocument.getElementById("wrap").offsetHeight;
                if (ResultHeight < 550) {
                    ResultHeight = 550;
                }
                psFrame.style.height = (ResultHeight) + "px";
            }
        }
    }
	setTimeout("psSetFullHeight();", 500);
}

function psGetUrlParam(param,url) {
	if (!url)
		url = window.location.href;
	param = param.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regexS = "[\\?&]"+param+"=([^&#]*)";
	var regex = new RegExp(regexS);
	var results = regex.exec(url);
	if( results == null )
		return "";
	else
		return results[1];
}

function psGetTopScroll(){
    return document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;
}
