﻿var mytrip = {
    writeE: function(id) {
        var img = "add_to_trip2.jpg";
        if (location.href.indexOf("visitcalifornia.de") > 0) {
            img = "add_to_trip2_de.jpg";
        }
        document.write('<div><a href="javascript:void(0)" onclick="mytrip.addE(\'' + id + '\',this)"><img src="/portlets/docs/images/mytrip/' + img + '" border="0" style="border:0px;height:28px;width:133px;" /></a></div>');
    },
    writeI: function(id) {
        var img = "add_to_trip2.jpg";
        if (location.href.indexOf("visitcalifornia.de") > 0) {
            img = "add_to_trip2_de.jpg";
        }
        document.write('<div><a href="javascript:void(0)" onclick="mytrip.addI(\'' + id + '\',this)"><img src="/portlets/docs/images/mytrip/' + img + '" border="0" style="border:0px;height:28px;width:133px;" /></a></div>');
    },
    addE: function(id, obj) {
        var r = Math.floor(Math.random() * 1000000000);
        var loader = new MyTripAjaxObject();
        loader.obj = obj;
        loader.item_id = id;
        if (arguments.length == 2) {
            loader.request("/portlets/pages/mytrip/popup.aspx?eid=" + id + "&r=" + r, "", this.addCallback);
        } else {
            loader.request("/portlets/pages/mytrip/popup.aspx?eid=" + id + "&r=" + r, "", this.addCallbackMapECM);
        }
        return false;
    },
    addI: function(id, obj) {
        var r = Math.floor(Math.random() * 1000000000);
        var loader = new MyTripAjaxObject();
        loader.obj = obj;
        loader.item_id = id;
        if (arguments.length == 2) {
            loader.request("/portlets/pages/mytrip/popup.aspx?iid=" + id + "&r=" + r, "", this.addCallback);
        } else {
            loader.request("/portlets/pages/mytrip/popup.aspx?iid=" + id + "&r=" + r, "", this.addCallbackMapIMIS);
        }
        return false;
    },
    getCookie: function(c_name) {
        if (document.cookie.length > 0) {
            c_start = document.cookie.indexOf(c_name + "=");
            if (c_start != -1) {
                c_start = c_start + c_name.length + 1;
                c_end = document.cookie.indexOf(";", c_start);
                if (c_end == -1) c_end = document.cookie.length;
                return unescape(document.cookie.substring(c_start, c_end));
            }
        }
        return "";
    },

    addCallback: function(loader) {
        var added_string = '<div style="padding-top:10px;width:220px;text-align:left;"><img src="/portlets/docs/images/mytrip/check_green.gif" style="height:12px;width:12px;border:0px;" /> ' +
					'<span class="trip_added_title">Item Added to My Trip</span> | <a href="/pages/mytrip" class="trip_added_link" target="_top" onclick="cttcbt.mytrip(\'5305\',\'\')">View My Trip</a></div>'
        if (location.href.indexOf("visitcalifornia.de") > 0) {
            added_string = '<div style="padding-top:10px;width:220px;text-align:left;"><img src="/portlets/docs/images/mytrip/check_green.gif" style="height:12px;width:12px;border:0px;" /> ' +
					'<span class="trip_added_title">Ihre Auswahl wurde hinzugef&uuml;gt</span><br /><a href="/pages/mytrip" class="trip_added_link" target="_top" onclick="cttcbt.mytrip(\'5305\',\'\')">My Trip ansehen</a></div>'
        }
        loader.obj.parentNode.innerHTML = added_string;
        cttcbt.mytrip('5304', '&partnerId=' + loader.item_id);
        widgets.tripcount();
    },
    addCallbackMapECM: function(loader) {
        var added_string = '<div style="padding-top:0px;width:100px;text-align:left;"><img src="/portlets/docs/images/mytrip/check_green.gif" style="height:12px;width:12px;border:0px;" /> ' +
					'<span class="trip_added_title">Item Added!</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="/pages/mytrip" class="trip_added_link" target="_top" onclick="cttcbt.mytrip(\'5305\',\'\')">View Trip &gt;</a></div>'
        if (location.href.indexOf("visitcalifornia.de") > 0) {
            added_string = '<div style="padding-top:0px;width:100px;text-align:left;"><img src="/portlets/docs/images/mytrip/check_green.gif" style="height:12px;width:12px;border:0px;" /> ' +
					'<span class="trip_added_title">Ihre Auswahl wurde hinzugef&uuml;gt!</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="/pages/mytrip" class="trip_added_link" target="_top" onclick="cttcbt.mytrip(\'5305\',\'\')">My Trip ansehen &gt;</a></div>'
        }
        loader.obj.parentNode.innerHTML = added_string;
        cttcbt.mytrip('5304', '&partnerId=' + loader.item_id);
        widgets.tripcount();
    },
    addCallbackMapIMIS: function(loader) {
        var added_string = '<div style="padding-top:0px;width:200px;text-align:left;"><img src="/portlets/docs/images/mytrip/check_green.gif" style="height:12px;width:12px;border:0px;" /> ' +
					'<span class="trip_added_title">Item Added!</span> | <a href="/pages/mytrip" class="trip_added_link" target="_top" onclick="cttcbt.mytrip(\'5305\',\'\')">View Trip &gt;</a></div>'
        if (location.href.indexOf("visitcalifornia.de") > 0) {
            added_string = '<div style="padding-top:0px;width:200px;text-align:left;"><img src="/portlets/docs/images/mytrip/check_green.gif" style="height:12px;width:12px;border:0px;" /> ' +
					'<span class="trip_added_title">Ihre Auswahl wurde hinzugef&uuml;gt!</span><br /><a href="/pages/mytrip" class="trip_added_link" target="_top" onclick="cttcbt.mytrip(\'5305\',\'\')">My Trip ansehen &gt;</a></div>'
        }
        loader.obj.parentNode.innerHTML = added_string;
        cttcbt.mytrip('5304', '&partnerId=' + loader.item_id);
        widgets.tripcount();
    }
};


function MyTripAjaxObject() {
    this.createRequestObject = function() {
        var ro = null;
        // Firefox, Safari, Opera, et al.
        if (window.XMLHttpRequest) {
            ro = new XMLHttpRequest();
            if (ro.overrideMimeType) {
                ro.overrideMimeType('text/xml');
            }
            //IE
        } else if (window.ActiveXObject) {
            try {
                ro = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    ro = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) { }
            }
        }
        if (ro == null) {
            alert('Cannot create XMLHTTP instance');
            return false;
        }
        return ro;
    }
    this.request = function(url, data, _funcCallback) {
        if (_funcCallback != null) me.funcCallback = _funcCallback;
        this.http.open("GET", url, true);
        this.http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        this.http.onreadystatechange = this.handleResponse;
        this.http.send(data);
    }
    this.handleResponse = function() {

        if (me.http.readyState == 4) {

            if (me.http.status == 200) {
                // IE

                if (window.ActiveXObject) {
                    var doc = new ActiveXObject("Microsoft.XMLDOM");
                    doc.async = "false";
                    doc.loadXML(me.http.responseText);
                }
                // Firefox, Safari, Opera, et al.
                else {
                    //var parser=new DOMParser();
                    var doc = me.http.responseXML; //parser.parseFromString(me.http.responseText,"text/xml");
                }


                //var xmlNode=doc.documentElement;
                if (typeof me.funcCallback == "function") {
                    //alert("callback");
                    //me.xml = xmlNode;
                    me.funcCallback(me);
                } else {
                    return xmlNode;
                }
            }
        }
        if ((me.http.readyState == 1) && (typeof me.funcFail == 'function')) {
            me.funcFail();
        }
    }

    var me = this;
    this.http = this.createRequestObject();
    var funcCallback = null;
    var funcFail = null;
}