/**  
*	Theme Name: 		global.js
*	Theme URI: 			http://www.rotefabrik.ch
*	Description: 		Haupt JavaScript Functions fuer alle RF Sites
*	Version: 			0.1
*	Erstellt:			10.11.2005
*	Ge�ndert:			10.11.2005
*	Author: 			dCTRL
*	Author URI: 		http://www.dctrl.com
*						Copyright (c) 2006, dCTRL GmbH. All rights reserved.
*/


/*	------------ SCROLL TO TOP -------------------------- */
function scrollWindow() {
    scroll(0,0);
}

/*	------------------------------------------------ REMOVE LINK FOKUS -------------------------------------------- */
function removeFocus () {
	for(i=0;i<document.links.length;i++) {
		document.links[i].onfocus=function() {if(this.blur)this.blur()}; 
	}	
}

/*	------------------------------------------------ JUMPMENU -------------------------------------------- */
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}



/*	------------------------------------------------ BROWSER DETECTION -------------------------------------------- */
// Browser Detect Lite  v1.01
// http://www.dithered.com/javascript/browser_detect/index.html
// modified by Chris Nott (chris@dithered.com)

function BrowserDetectLite() {
	var agent = navigator.userAgent.toLowerCase(); 
	
	// Browser version
	this.versionMajor = parseInt(navigator.appVersion); 
	this.versionMinor = parseFloat(navigator.appVersion); 

	// Browser name
	this.ns    = (agent.indexOf('mozilla')!=-1 && agent.indexOf('spoofer')==-1 && agent.indexOf('compatible') == -1 && agent.indexOf('opera')==-1 && agent.indexOf('webtv')==-1); 
	this.ns2   = (this.ns && this.versionMajor == 2); 
	this.ns3   = (this.ns && this.versionMajor == 3); 
	this.ns4   = (this.ns && this.versionMajor == 4); 
	this.ns4up = (this.ns && this.versionMajor >= 4); 
	this.ns6   = (this.ns && this.versionMajor == 5); 
	this.ns6up = (this.ns && this.versionMajor >= 5); 
	this.ie    = (agent.indexOf("msie") != -1); 
	this.ie3   = (this.ie && this.versionMajor < 4); 
	this.ie4   = (this.ie && this.versionMajor == 4 && agent.indexOf("msie 4.0") != -1); 
	this.ie4up = (this.ie && this.versionMajor >= 4); 
	this.ie5   = (this.ie && this.versionMajor == 4 && agent.indexOf("msie 5.0") != -1); 
	this.ie55  = (this.ie && this.versionMajor == 4 && agent.indexOf("msie 5.5") != -1);
	this.ie5up = (this.ie && !this.ie3 && !this.ie4); 
	this.ie6   = (this.ie && this.versionMajor == 4 && agent.indexOf("msie 6.0") != -1);
	this.ie6up = (this.ie && !this.ie3 && !this.ie4 && !this.ie5 && !this.ie55); 
	this.opera = (agent.indexOf("opera") != -1); 
	this.webtv = (agent.indexOf("webtv") != -1); 
	this.aol   = (agent.indexOf("aol") != -1); 
	
	// Javascript version
	this.js = 0.0;
	if (this.ns2 || this.ie3) this.js = 1.0 
	else if (this.ns3 || this.opera || (document.images && this.ie && !this.ie4up)) this.js = 1.1 
	else if ((this.ns4 && this.versionMinor <= 4.05) || this.ie4) this.js = 1.2 
	else if ((this.ns4 && this.versionMinor > 4.05) || this.ie5up) this.js = 1.3 
	else if (this.ns6up) this.js = 1.4 

	// Platform type
	this.win   = (agent.indexOf("win")!=-1 || agent.indexOf("16bit")!=-1);
	this.win32 = (agent.indexOf("win95")!=-1 || agent.indexOf("windows 95")!=-1 || agent.indexOf("win98")!=-1 || agent.indexOf("windows 98")!=-1 || agent.indexOf("winnt")!=-1 || agent.indexOf("windows nt")!=-1 || (this.versionMajor >= 4 && navigator.platform == "win32") || agent.indexOf("win32")!=-1 || agent.indexOf("32bit")!=-1);
	this.mac   = (agent.indexOf("mac")!=-1);
}
var is = new BrowserDetectLite();

/*	------------------------------------------------ OPEN PORTAL ARCHIV POPUP -------------------------------------------- */
function openPortalarchivWindow(theURL,winName,features) 
{
  window.open(theURL,winName,features);
}

/*	------------------------------------------------ OPEN MUSIKBUERO POPUP -------------------------------------------- */
function openMusikbueroWindow(theURL,winName,features) 
{
  window.open(theURL,winName,features);
}

/*	------------------------------------------------ OPEN INFOTHEK POPUP -------------------------------------------- */
function openPlakatWindow(theURL,winName,features) 
{
  window.open(theURL,winName,features);
}

/*	------------------------------------------------ OPEN POPUP -------------------------------------------- */
if (is.mac) { var offsetMac = 0; } else { var offsetMac = 0; }

function pop(goPage,nom,windowWidth,windowHeight,style) {
	var x = 0;
	var y = 0;
	var offset = 30;
		
	if (screen) x = (screen.availWidth - windowWidth) / 2;
	if (screen) y = (screen.availHeight - windowHeight) / 2;
	
	if ( style == 'POP' ) { 
	    var popped = window.open(goPage,nom,'width='+windowWidth+',height='+(windowHeight+offsetMac)+',status=no,menubar=no,scrollbars=no,resizable=no,screenX='+x+',screenY='+y+',left='+x+',top='+y); 
    }
    
	if ( style == 'POPSCROLL' ) { 
	    var popped = window.open(goPage,nom,'width='+windowWidth+',height='+(windowHeight+offsetMac)+',status=no,menubar=no,scrollbars=auto,resizable=no,screenX='+x+',screenY='+y+',left='+x+',top='+y); 
    }

	if ( style == 'WINDOW' ) {
		if (windowHeight > screen.availHeight) windowHeight = (screen.availHeight - offset);
		var popped = window.open(goPage,nom,'width='+windowWidth+',height='+(windowHeight+offsetMac)+',status=yes,menubar=yes,scrollbars=yes,resizable=yes,screenX='+x+',screenY='+y+',left='+x+',top='+y);
	}
	
	if ( is.ns || document.all) popped.focus();
	if ( !popped.opener) { popped.opener = window; }
}

// ------------------- POPUP WINDOW: DYN IMAGE SIZE ---------------------------------------------
function openwin_c(imgurl) {
	var win 			= null;
	var name			= 'Image | Preview';
	var posX			= 0;
	var posY			= 0;
	var scrollbarstext 	= 'scrollbars = no,';
	var resizabletext 	= 'resizable = yes,';
	var statustext 		= 'status = no,';
	var locationtext 	= 'location = no,';
	var toolbartext 	= 'toolbar = no,';
	var features 		= '';
	features = scrollbarstext+resizabletext+statustext;
	features = features + locationtext+toolbartext;
	//	features = features + 'width = '+x+',height = '+y;
	features = features + ',top = ' + posY;
	features = features + ',left = ' + posX;
	win = window.open(imgurl, name, features);
	win.focus();
}


/*	------------------------------------------------ BILD ROLLOVER -------------------------------------------- */
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

/*	------------------------------------------------ NEWSLETTERABO  -------------------------------------------- */
function newsletterValidation(elem, helperMsg){
	// Reset Messages
	document.getElementById("nlError").innerHTML = "";

	// Make quick references to our fields
	var first_name = document.getElementById('first_name');
	var last_name = document.getElementById('last_name');
	var user_email = document.getElementById('user_email');
	
	// Check each input in the order that it appears in the form!
	if(isEmpty(first_name)){
		if(isEmpty(last_name)){
			if(isEmpty(user_email)){
				if(emailValidator(user_email)){
					return true;
				}
			}	
		}		
	}
	return false;
}

function isEmpty(elem){
	if(elem.value == elem.default_val){
		document.getElementById("nlError").innerHTML = "Fehler, es sind nicht alle Eingabefelder korrekt ausgef&uuml;llt!";
		return false;
	} else {
		return true;
	}
}

function isAlphabet(elem){
	var alphaExp = /[^a-zA-Z]/g
	//var alphaExp = /^[a-zA-Z]+$/;
	if(elem.value.match(alphaExp)){
		return true;
	}else{
		document.getElementById("nlError").innerHTML = "Fehler, es sind nicht alle Eingabefelder korrekt ausgef&uuml;llt!";
		return false;
	}
}

function emailValidator(elem){
	var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	if(elem.value.match(emailExp)){
		return true;
	}else{
		document.getElementById("nlError").innerHTML = "Fehler, es sind nicht alle Eingabefelder korrekt ausgef&uuml;llt!";
		return false;
	}
}
/*	------------------------------------------------ NEWSLETTERABO ADVANCED  -------------------------------------------- */
function newsletter_advancedValidation(){
	var error = false;
	var f=document.getElementById("newabonnent");
	for (var i=0;i<f.length;i++){
 		var cur_element = f.elements[i];
		var cur_name = cur_element.name;
		//alert(cur_name+': ' +cur_element.value);
		if(cur_name == 'email'){
			if(!isEmail(cur_element.value)){
				error = true;	
			}
		}
		else if(isStrEmpty(cur_element.value)){
			error = true;	
		}
	}
	if(error){
		document.getElementById("form_error").style.display = "block";
		document.getElementById("form_error").innerHTML = 'Die Anmeldung konnte nicht abgeschickt werden. Bitte f&uuml;llen Sie alle Felder vollst&auml;ndig und korrekt aus.'
		return false;
	}else{
		document.getElementById("form_error").style.display = "none";
		return true;	
	}
}

/*	---------------------- IGRF ANMELDEN  --------------------------- */	
function formSwitchIGRF(n) {
	if(n == "fmGruppe"){
		document.getElementById("fmGruppe").style.display = "block";
		document.getElementById("fmEinzeln").style.display = "none";
		document.getElementById("prefix").value = 'g_';
		document.getElementById("process").value = 'gruppenanmeldung';
	}else{
	    document.getElementById("fmGruppe").style.display = "none";
		document.getElementById("fmEinzeln").style.display = "block";
		document.getElementById("prefix").value = 'e_';
		document.getElementById("process").value = 'einzelanmeldung';
	}
}
function igrfValidation(){
	var error = false;
	var f=document.getElementById("igrf_anmeldung");
	var prefix = document.getElementById("prefix").value;
	var p_len = prefix.length;
	for (var i=0;i<f.length;i++){
 		var cur_element = f.elements[i];
		e_id = String(cur_element.id);
		e_fam = e_id.substr(0,p_len);
		// Element des current Forms rausfiltern
		if(e_fam == prefix){
			// Type
			cur_name = cur_element.name.substr(p_len);
			if(cur_name != 'telefon' && cur_name != 'mitteilung'){
				if(cur_name == 'mail'){
					if(!isEmail(cur_element.value)){
						error = true;	
					}
				}
				else if(isStrEmpty(cur_element.value)){
					error = true;	
				}
			}
		}
	}
	if(error){
		document.getElementById("form_error").style.display = "block";
		document.getElementById("form_error").innerHTML = 'Die Anmeldung konnte nicht abgeschickt werden. Bitte f&uuml;lle alle Felder vollst&auml;ndig und korrekt aus.'
		return false;
	}else{
		document.getElementById("form_error").style.display = "none";
		return true;	
	}
}


/*	---------------------- FABRIKZEITUNGS ABO  --------------------------- */
function formSwitchFAZ(n) {
    if(n == "new"){
        document.getElementById("fmAboFormat").style.display = "block";
		document.getElementById("fmAboNew").style.display = "block";
	    document.getElementById("fmAboDelete").style.display = "none";
	    document.getElementById("fmAboChange").style.display = "none";
	    document.getElementById("fmAboPresent").style.display = "none";
		document.getElementById("prefix").value = 'new_';
    }
    if(n == "delete"){
		document.getElementById("fmAboFormat").style.display = "none";
        document.getElementById("fmAboNew").style.display = "none";
	    document.getElementById("fmAboDelete").style.display = "block";
	    document.getElementById("fmAboChange").style.display = "none";
	    document.getElementById("fmAboPresent").style.display = "none";
		document.getElementById("prefix").value = 'delete_';
    }
    if(n == "newaddress"){
		document.getElementById("fmAboFormat").style.display = "none";
        document.getElementById("fmAboNew").style.display = "none";
	    document.getElementById("fmAboDelete").style.display = "none";
	    document.getElementById("fmAboChange").style.display = "block";
	    document.getElementById("fmAboPresent").style.display = "none";
		document.getElementById("prefix").value = 'change_';
    }
    if(n == "present"){
		document.getElementById("fmAboFormat").style.display = "block";
        document.getElementById("fmAboNew").style.display = "none";
	    document.getElementById("fmAboDelete").style.display = "none";
	    document.getElementById("fmAboChange").style.display = "none";
	    document.getElementById("fmAboPresent").style.display = "block";
		document.getElementById("prefix").value = 'present_';
    }
	document.getElementById("process").value = n;
	
}
function isEmail(str){
	var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	if(str.match(emailExp)){
		return true;
	}else{
		return false;
	}
}
function isStrEmpty(str){
	if(str==''){
		return true;
	}else{
		return false;
	}
}
function fabrikzeitungValidation(){
	var error = false;
	var f=document.getElementById("faz_form");
	var prefix = document.getElementById("prefix").value;
	var p_len = prefix.length;
	for (var i=0;i<f.length;i++){
 		var cur_element = f.elements[i];
		e_id = String(cur_element.id);
		e_fam = e_id.substr(0,p_len);
		// Element des current Forms rausfiltern
		if(e_fam == prefix){
			// Type
			cur_name = cur_element.name.substr(p_len);
			if(cur_name != 'telefon' && cur_name != 'telefon2' && cur_name != 'telefon_2' && cur_name != 'mitteilung'){
				if(cur_name == 'mail' || cur_name == 'mail_2' || cur_name == 'mail2'){
					if(!isEmail(cur_element.value)){
						error = true;	
					}
				}
				else if(isStrEmpty(cur_element.value)){
					error = true;	
				}
			}
		}
	}
	if(error){
		document.getElementById("form_error").style.display = "block";
		document.getElementById("form_error").innerHTML = 'Die Abo-Bestellung konnte nicht abgeschickt werden. Bitte f&uuml;llen Sie alle Felder vollst&auml;ndig und korrekt aus.'
		return false;
	}else{
		document.getElementById("form_error").style.display = "none";
		return true;	
	}
}
/*	---------------------- KURS ANMELDUNG  --------------------------- */
function kursValidation(){
	var error = false;
	var f=document.getElementById("kursanmeldung");
	for (var i=0;i<f.length;i++){
 		var cur_element = f.elements[i];
		var cur_name = cur_element.name;
		if(cur_name == 'mail'){
			if(!isEmail(cur_element.value)){
				error = true;	
			}
		}
		else if(isStrEmpty(cur_element.value)){
			error = true;	
		}
	}
	if(error){
		document.getElementById("form_error").style.display = "block";
		document.getElementById("form_error").innerHTML = 'Die Anmeldung konnte nicht abgeschickt werden. Bitte f&uuml;llen Sie alle Felder vollst&auml;ndig und korrekt aus.'
		return false;
	}else{
		document.getElementById("form_error").style.display = "none";
		return true;	
	}
}