/*************************************************************\
| PROJECT:       save the gummybears!
| FILE:          ./js/sj.js
| DESCRIPTION:   javascript functions
| AUTHOR:        http://save-the-gummybears.org
|                michael kloepzig
| LAST EDIT:     2006.05.25
\*************************************************************/

function pngBg(trnspDivs, faded) {
	var dAll = document.all ? false : true;
	var browserVersion = parseFloat(navigator.appVersion );
	
	for(var i = trnspDivs.length-1; i>=0; --i) {
		var div = trnspDivs[i];
		
		if(dAll) {
			divObj = browserVersion >= 5 ? document.getElementById(div).style : eval("document." + div);
		} else {
			divObj = eval(div + ".style");
		}
		
		var imgPath = "./img/bg_" + div + (faded ? "_faded" : "") + ".png";
		if(navigator.appName == "Microsoft Internet Explorer") {
			divObj.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + imgPath + "', sizingMethod='scale');";
		} else {
			divObj.backgroundImage = 'url("' + imgPath + '")';
		}
	}
}

function initBg(galleryVisible) {
	var trnspDivs = new Array("header", "content", "footer");
	pngBg(trnspDivs, galleryVisible);
}

function changeCategory() {
	var select = document.getElementById("posts_navi_categories_form").posts_navi_categories_form_select;
	if(select.options[select.selectedIndex].value) self.location.href = "./index.php?ct=" + (select.options[select.selectedIndex].value);
}

function isEmail(email) {
	var l = email.length;
	if(l < 5) return false;
	var s = "*|,\":<>[]{}`';()&$#%";
	for(var i=0; i<l; i++) if(s.indexOf(email.charAt(i)) != -1) return false;
	var at = email.lastIndexOf("@");
	if(at < 1 || at == l - 1) return false;
	var dot = email.lastIndexOf(".");
	if(dot < 4 || dot > l - 3) return false;
	if(at > dot) return false;
	return true;
}

String.prototype.trim = function() {
	return this.replace(/^\s*|\s*$/g, "");
}

function checkContactInput(inputId, checkMail) {
	var input = document.forms['contact_form'].elements[inputId];
	var label = document.getElementById(inputId + "_label");
	var value = input.value.trim()
	var ok = value != "" && value != "i love stg!org, because";
	if(ok && checkMail) ok = (isEmail(value) && value.indexOf("save-the-gummybears.org") == -1 && value.indexOf("lx02.formativ.net") == -1);
	label.style.color = ok ? "#222222" : "#ff0000";
	return(ok);
}

function checkContactForm() {
	var error = false;
	var ok = false;
	for(var i=1; i<=3; i++) {
		ok = checkContactInput("contact_form_input"+i, (i==2));
		if(!ok) error = true;
	}
	if(!error) document.forms['contact_form'].submit();
	return true;
}

function externalLinks() {
	if(!document.getElementsByTagName) return;
	var a = document.getElementsByTagName("a");
	for(var i=0; i<a.length; i++) {
		if(a[i].getAttribute("href") &&	a[i].getAttribute("rel") == "external") a[i].target = "_blank";
	}
}
window.onload = externalLinks;