var BrowserDetect = {
    init : function() {
	    this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
	    this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "an unknown version";
	    this.OS = this.searchString(this.dataOS) || "an unknown OS";
    },
    searchString : function(data) {
	    for ( var i = 0; i < data.length; i++) {
		    var dataString = data[i].string;
		    var dataProp = data[i].prop;
		    this.versionSearchString = data[i].versionSearch || data[i].identity;
		    if (dataString) {
			    if (dataString.indexOf(data[i].subString) != -1)
				    return data[i].identity;
		    } else if (dataProp)
			    return data[i].identity;
	    }
    },
    searchVersion : function(dataString) {
	    var index = dataString.indexOf(this.versionSearchString);
	    if (index == -1)
		    return;
	    return parseFloat(dataString.substring(index + this.versionSearchString.length + 1));
    },
    dataBrowser : [ {
        string :navigator.userAgent,
        subString :"OmniWeb",
        versionSearch :"OmniWeb/",
        identity :"OmniWeb"
    }, {
        string :navigator.vendor,
        subString :"Apple",
        identity :"Safari"
    }, {
        prop :window.opera,
        identity :"Opera"
    }, {
        string :navigator.vendor,
        subString :"iCab",
        identity :"iCab"
    }, {
        string :navigator.vendor,
        subString :"KDE",
        identity :"Konqueror"
    }, {
        string :navigator.userAgent,
        subString :"Firefox",
        identity :"Firefox"
    }, {
        string :navigator.vendor,
        subString :"Camino",
        identity :"Camino"
    }, { // for newer Netscapes (6+)
                string :navigator.userAgent,
                subString :"Netscape",
                identity :"Netscape"
            }, {
                string :navigator.userAgent,
                subString :"MSIE",
                identity :"Explorer",
                versionSearch :"MSIE"
            }, {
                string :navigator.userAgent,
                subString :"Gecko",
                identity :"Mozilla",
                versionSearch :"rv"
            }, { // for older Netscapes (4-)
                string :navigator.userAgent,
                subString :"Mozilla",
                identity :"Netscape",
                versionSearch :"Mozilla"
            } ],
    dataOS : [ {
        string :navigator.platform,
        subString :"Win",
        identity :"Windows"
    }, {
        string :navigator.platform,
        subString :"Mac",
        identity :"Mac"
    }, {
        string :navigator.platform,
        subString :"Linux",
        identity :"Linux"
    } ]

};
BrowserDetect.init();

function id(name) {
	if (document.getElementById(name)) {
		return document.getElementById(name);
	} else {
		return false;
	}
}

function show(name) {
	if (id(name).style) {
		id(name).style.display = "block";
	}
}

function hide(name) {
	if (id(name).style) {
		id(name).style.display = "none";
	}
}

function hide_all() {
	// center
	hide('content_home1');
	hide('content_home2');

	// right
	hide('box_video_teaser');
	hide('box_our_partners');
	hide('box_education_kit');

}

function setColumnSize() {

	// try fängt mögliche fehlermeldungen auf,
	// hier konkret können evtl. #id nicht vorhanden sein.
	// http://knowledge.allianz.com/deutsch/content/microfinance/

	// alert(BrowserDetect.version);
	if (BrowserDetect.browser == "Explorer" && BrowserDetect.version == "6") {

		if (!document.getElementById('bottom_left')) {
			return "";
		}

		// #split may not exist => usung try/catchblock

		var split = document.getElementById('split').offsetTop;
		var split2 = document.getElementById('split2').offsetTop;
		var split0 = document.getElementById('ticker_hr').offsetTop;
		var footer = document.getElementById('split3').offsetTop;

		if (document.getElementById('popular')) {
			var teaser_bottom_left = document.getElementById('popular');
		}
		if (document.getElementById('bottom_right')) {
			var teaser_bottom_right = document.getElementById('bottom_right');
		}
		if (document.getElementById('bottom_left')) {
			var teaser_bottom_offset = document.getElementById('bottom_left').offsetTop;
		}

		if (document.getElementById('top_left')) {
			var teaser_top_left = document.getElementById('top_left');
			var teaser_top_right = document.getElementById('top_right');
			var teaser_top_offset = document.getElementById('top_left').offsetTop;
		}

		var teaser_middle_left = document.getElementById('middle_left');
		var teaser_middle_right = document.getElementById('middle_right');
		var teaser_middle_offset = document.all.middle_right.offsetTop;

		difference_top = split - split0;

		if (document.getElementById('bottom_left')) {
			difference_bottom = footer - teaser_bottom_offset;
		}

		difference_middle = footer - teaser_middle_offset;

		if (document.getElementById('top_left')) {
			teaser_top_left.style["height"] = difference_top - 150;
			teaser_top_right.style["height"] = difference_top - 150;
		}

		teaser_middle_left.style["height"] = split2 - split - 40;
		teaser_middle_right.style["height"] = split2 - split - 40;

		if (document.getElementById('bottom_right')) {
			teaser_bottom_right.style["height"] = difference_bottom;
		}

		if (document.getElementById('popular')) {
			teaser_bottom_left.style["height"] = difference_bottom - 2;
		}
	}

}

function validateSendAuthor() {
	var message = document.getElementById('send_author').value;
	var email = document.getElementById('send_author_senderemail').value;

	if (message == '') {
		alert('Please type in a Message to the Author!');
		return false;
	}

	if (document.getElementById('agree_1').checked == false && document.getElementById('agree_2').checked == false) {
		alert('Please check Yes or No for the statement of agreement!');
		return false;
	}

	if (!email.match(/^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i) && !(email == 'e-Mail Address') && !(email == '')) {
		alert('Please type in a valid e-Mail address or no address at all!');
		return false;
	} else {
		return true;
	}
}

function loadFlash(movie, url) {

	var so = new SWFObject(movie, "sotester", "326", "269", "9", "#ffffff");
	so.addParam("allowFullScreen", "true");
	so.addVariable("clickTag", url);
	so.write("flashcontent");

}

var addthis_url = '';
var addthis_title = '';

function addthisPopup(obj, str) {
	var url = 'http://www.addthis.com/bookmark.php';
	url += '?v=10';
	url += '&url=' + encodeURIComponent(addthis_url);
	url += '&title=' + encodeURIComponent(addthis_title);
	window.open(url, 'addthis', 'scrollbars=yes,menubar=no,width=650,height=740,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100');

	return false;
}
