var isDOM=document.getElementById?1:0,isIE=document.all?1:0,isNS4=navigator.appName=='Netscape'&&!isDOM?1:0,isOp=self.opera?1:0,isDyn=isDOM||isIE||isNS4;
var aeOL=[];

var webexInitLaunched=false;
var lpVarsSet=false;

var NEWSIDX=0, newsBaseArr;
var NEWSTIMEOUT=2000;

function home_page_lb() {
	var blocks = getElementsByClass('link-block');
	for (i = 0; i < blocks.length; i++) {
		addEvent(blocks[i],'click',function(e){        
            var targ;
            if (!e) var e = window.event;
            if (e.target) targ = e.target;
            else if (e.srcElement) targ = e.srcElement;
            if(targ.nodeType == 3) {  targ = targ.parentNode; }
            do {
                if(targ.nodeName && (targ.nodeName.toLowerCase() == "a")) return;
            } while((targ = targ.parentNode) && (targ != this)); 
            var As = this.getElementsByTagName("a");
            if(As.length > 0) {
                for(a=0;a<As.length;a++) {
                    if((typeof As[a].href != 'undefined') && (As[a].href.length>0)) {
                        //window.location = As[a].href;
                        if (((typeof As[a].onclick == "function") && As[a].onclick()) || (typeof As[a].onclick != "function")) {
                            if (As[a].target) {
                                window.open(As[a].href, As[a].target);
                            } else {
                                window.location.href = As[a].href;
                            }
                        }
                        break;
                    }
                }
            }
        });
	}
}

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )	node = document;
	if ( tag == null ) tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if (pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}


function getExpandoSpan(list,string) {
    var cnt = list.length;
    while(  cnt-- && 
             (typeof list[cnt] != "undefined") &&
             (typeof list[cnt].attribures != "undefined") &&
             (typeof list[cnt].attributes[0] != "undefined") &&
             (list[cnt].attributes[0].nodeValue.indexOf(string) == -1)
        ) { };
    return cnt;
}

function toggleCollapse(srcObj){
    if(typeof srcObj == 'undefined')  return;
	var currStatus=srcObj.parentNode.className;
	if(currStatus.indexOf('expanded')!=-1){
		srcObj.parentNode.className=srcObj.parentNode.className.replace('expanded','collapsed');		
	}else{
		srcObj.parentNode.className=srcObj.parentNode.className.replace('collapsed','expanded');	
	}
	var pobj=srcObj.parentNode;
	while (pobj.className.indexOf('fce_expandable') == -1){pobj=pobj.parentNode};
	var allExpanded=/\"exp_section collapsed\"/.test(pobj.innerHTML);
	var allCollapsed=/\"exp_section expanded\"/.test(pobj.innerHTML);	
    var spanItems = pobj.getElementsByTagName('SPAN');
    
    var spanCount = getExpandoSpan(spanItems,'collapseAll(this)');
    if(!allCollapsed && allExpanded && (spanCount > -1)) collapseAll(spanItems[spanCount]);
    spanCount = getExpandoSpan(spanItems,'expandAll(this)');
    if(allCollapsed && !allExpanded && (spanCount > -1)) expandAll(spanItems[spanCount]);
}

function expandAll(srcObj){
    // added checks to avoid that other elements are effected
    if((typeof srcObj == 'undefined') || !(srcObj.attributes[0].nodeValue.indexOf('expandAll(this)') != -1)) return;
	var obj=srcObj;
	while (obj.className.indexOf('fce_expandable') == -1) obj=obj.parentNode;
	var expChildBlocks=obj.getElementsByTagName('DIV');
	for(var ecbIdx = 0; ecbIdx < expChildBlocks.length; ecbIdx++){
		if(expChildBlocks[ecbIdx].className.indexOf('exp_section') != -1){
			expChildBlocks[ecbIdx].className=expChildBlocks[ecbIdx].className.replace('collapsed','expanded');
		}
		if(expChildBlocks[ecbIdx].className.indexOf('collapseall') != -1){
			expChildBlocks[ecbIdx].style.display='block';
		}		
	}
	srcObj.parentNode.style.display='none';
}

function collapseAll(srcObj){
    // added checks to avoid that other elements are effected
    if((typeof srcObj == 'undefined') || !(srcObj.attributes[0].nodeValue.indexOf('collapseAll(this)') != -1)) return;
	var obj=srcObj;
	while (obj.className.indexOf('fce_expandable') == -1) obj=obj.parentNode;
	var expChildBlocks=obj.getElementsByTagName('DIV');
	for(var ecbIdx = 0; ecbIdx < expChildBlocks.length; ecbIdx++){
		if(expChildBlocks[ecbIdx].className.indexOf('exp_section') != -1){
			expChildBlocks[ecbIdx].className=expChildBlocks[ecbIdx].className.replace('expanded','collapsed');
		}
		if(expChildBlocks[ecbIdx].className.indexOf('expandall') != -1){
			expChildBlocks[ecbIdx].style.display='block';
		}		
	}
	srcObj.parentNode.style.display='none';
}

function addCollapseEvents(strCanvasObj){
	var canvasObj=(!canvasObj)?document.getElementById(strCanvasObj):document.getElementById('exp_block');
	if (canvasObj){
		h6s=canvasObj.getElementsByTagName('h6');
		spans=canvasObj.getElementsByTagName('span');		
		for (var h6=0; h6 < h6s.length; h6++){
			h6s[h6].onclick=function(){
				toggleCollapse(this);			
			}
		}
		for (var span=0; span < spans.length; span++){
			if(spans[span].className.indexOf('exp_clickable')!=-1){
				spans[span].onclick=function(){
					toggleCollapse(this);			
				}
			}
		}		
	}
}

function addTooggle (expItemID) {
	expItem = document.getElementById(expItemID);
	h6 = expItem.getElementsByTagName('h6');
	
	h6[0].onclick=function(){
		if(this.parentNode.className == 'exp_section collapsed') {
			this.parentNode.className = 'exp_section expanded';
		} else {
			this.parentNode.className = 'exp_section collapsed';
		}		
	}
}


function addEvent(o,n,f,l){
	var a='addEventListener',h='on'+n,b='',s='';
	if(o[a]&&!l)return o[a](n,f,false);
	o._c|=0;
	if(o[h]){
		b='_f'+o._c++;o[b]=o[h]
	}
	s='_f'+o._c++;
	o[s]=f;
	o[h]=function(e){
		e=e||window.event;
		var r=true;
		if(b)r=o[b](e)!=false&&r;
		r=o[s](e)!=false&&r;
		return r
	};
	aeOL[aeOL.length]={o:o,h:h}
}

function initNews(){
	var newsBaseObj=document.getElementById('newsbase');
	if(document.getElementById('latest_news_content') && newsBaseObj){
		newsBaseArr=newsBaseObj.getElementsByTagName('LI');
		newsTimer=setInterval('rotateNews()',NEWSTIMEOUT)
	}
}

function rotateNews(){
	if(NEWSIDX == newsBaseArr.length) NEWSIDX=0;
	if(newsBaseArr[NEWSIDX])
		document.getElementById('latest_news_content').innerHTML=newsBaseArr[NEWSIDX].innerHTML;
	NEWSIDX++;
}

function blurLinks(){
	var linksArr=document.getElementsByTagName('A');
	var lLen=linksArr.length;
	for(lIdx = 0; lIdx < lLen; lIdx++){
		addEvent(linksArr[lIdx],'click',function(){this.blur()});
	}
}

/* ABCD Testing */
function determine_visible_section(algorithm, randNum) {
  switch(algorithm) {
    case 1:
      if (randNum<=50)
        return 'a';
      else
        return 'b';
      break;
    case 2:
      if (randNum<=75)
        return 'a';
      else
        return 'b';
      break;
    case 3:
      if (randNum<=33)
        return 'a';
      else if (randNum>33 && randNum<=66)
        return 'b';
      else
        return 'c';
      break;
    case 4:
      if (randNum<=50)
        return 'a';
      else if (randNum>50 && randNum<=75)
        return 'b';
      else
        return 'c';
      break;
    case 5:
      if (randNum<=25)
        return 'a';
      else if (randNum>25 && randNum<=50)
        return 'b';
      else if (randNum>50 && randNum<=75)
        return 'c';
      else
        return 'd';
      break;
    case 6:
      if (randNum<=70)
        return 'a';
      else if (randNum>70 && randNum<=80)
        return 'b';
      else if (randNum>80 && randNum<=90)
        return 'c';
      else
        return 'd';
      break;
    default:
      return 'a';
  }
}

function select_color(select){
	if(select.value != 0) {
		select.className = select.className + ' selected-select';
	} else {
		select.className = 'i-text';
	}
}

function determine_visibility_presets(id) {
    if(navigator.cookieEnabled != true) return false;
    
    var gridPreset = get_current_visibility_preset(document.cookie).split(",");
    for(var i=0;i<gridPreset.length;i++) {
        if(gridPreset[i].replace(/\[\S\]/,"") == id) {
            return gridPreset[i].replace(/^\S+\[(\S+)\]$/,"$1");
        }
    }
    return false;
}

function add_visibility_preset(id,value) {
    if(navigator.cookieEnabled != true) return false;
    if(determine_visibility_presets(id)==value) return true;
    var oldGridPreset = id + "[" + determine_visibility_presets(id) + "]";
    var curGridPresets = get_current_visibility_preset(document.cookie);
    if(curGridPresets.indexOf(oldGridPreset)!=-1) {
        curGridPresets = curGridPresets.substring(curGridPresets.indexOf(oldGridPreset) + oldGridPreset.length);
    }
    if(curGridPresets.length && !curGridPresets.match(/,$/)) {
        curGridPresets = curGridPresets + ",";
    }
    document.cookie = "abcdGrids=" + curGridPresets + id +"["+ value +"]; path=/";
}

function get_current_visibility_preset(str) {
    if(!str.length) return "";
    
    var cookieDataParts = str.split(";");
    for(var i=0;i<cookieDataParts.length;i++) {
        var cookieData = cookieDataParts[i].split("=");
        if(cookieData[0].replace(/\s/g, "") != "abcdGrids") continue;
        return cookieData[1].replace(/^,/,"");
    }
    return "";
}

function  setValue() {
   var agt=navigator.userAgent.toLowerCase();
   var is_nav  = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1)
                    && (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1)
                    && (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1));
    
    var is_ie     = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
    document.forms[0].searchString.value =document.getElementById('search{actionForm.searchString}');
}

function random(low, high) {
  var num;
  num = Math.floor ((Math.random() * (high)) + low);
  return num;
}

function webexInit(){
        if(!webexInitLaunched){
                blurLinks();
        }
        if (!lpVarsSet && (typeof lpAddVars == 'function')) {
          lpAddVars('page','Section','global');
        }
        lpVarsSet=true;
        webexInitLaunched=true;
}

addEvent(window,'load',webexInit);<!-- textcss|js|gif|jpg|jpeg|png|ico|swf--><!-- textcss|js|gif|jpg|jpeg|png|ico|swf--><!-- textcss|js|gif|jpg|jpeg|png|ico|swf--><!-- textcss|js|gif|jpg|jpeg|png|ico|swf--><!-- textcss|js|gif|jpg|jpeg|png|ico|swf--><!-- textcss|js|gif|jpg|jpeg|png|ico|swf--><!-- textcss|js|gif|jpg|jpeg|png|ico|swf--><!-- textcss|js|gif|jpg|jpeg|png|ico|swf--><!-- textcss|js|gif|jpg|jpeg|png|ico|swf--><!-- textcss|js|gif|jpg|jpeg|png|ico|swf--><!-- textcss|js|gif|jpg|jpeg|png|ico|swf--><!-- textcss|js|gif|jpg|jpeg|png|ico|swf--><!-- textcss|js|gif|jpg|jpeg|png|ico|swf--><!-- textcss|js|gif|jpg|jpeg|png|ico|swf--><!-- textcss|js|gif|jpg|jpeg|png|ico|swf--><!-- textcss|js|gif|jpg|jpeg|png|ico|swf--><!-- textcss|js|gif|jpg|jpeg|png|ico|swf--><!-- textcss|js|gif|jpg|jpeg|png|ico|swf--><!-- textcss|js|gif|jpg|jpeg|png|ico|swf--><!-- textcss|js|gif|jpg|jpeg|png|ico|swf-->

function staticLoadScript(url)
{
   document.write('<script src="', url, '" type="text/JavaScript"><\/script>');
}

/*var lpCountry ='us'; // '<us/uk/de/fr/la>';
var lpLanguage ='english';//'<english/german/french/spanish>';
staticLoadScript('/fileadmin/templates/javascript/webex_js/mtagconfig.js');*/

function checkName(inputID, formID, msgNullField) {
	var error = "";
	var inputfield = document.getElementById(inputID);
	var strng = inputfield.value;
	if (strng == "") {
	   error = "<div>" + msgNullField + "</div>";
	}
	if(error) {
		document.getElementById(formID).className = "form-error";
	} else {
		document.getElementById(formID).className = "";
	}

	return error;
}

function checkEmail (inputID, formID, msgNullField, msgInvalidValue) {
var error="";
var inputfield = document.getElementById(inputID);
var strng = inputfield.value;

//alert('-' + strng + '-');

if (strng == "") {
   error = "<div>" + msgNullField + "</div>";
} else {

	var emailFilter=/^.+@.+\..{2,3}$/;
	if (!(emailFilter.test(strng))) { 
	   error = "<div>" + msgInvalidValue + "</div>";
	}
	else {
//test email for illegal characters
	   var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
		 if (strng.match(illegalChars)) {
		  error = "<div>" + msgInvalidValue + "</div>";
	   }
	}
}
	if(error) {
		document.getElementById(formID).className = "form-error";
	} else {
		document.getElementById(formID).className = "";
	}

	return error;    
}


// password - between 6-8 chars, uppercase, lowercase, and numeral

function checkPassword (inputID, formID, msgNullField, msgWrongLenght, msgInvalidValue) {
	var error = "";
	var inputfield = document.getElementById(inputID);
	var strng = inputfield.value;

	if (strng == "") {
	   error = "<div>" + msgNullField + "</div>";
	}

	var illegalChars = /[\W_]/; // allow only letters and numbers

	if ((strng.length < 6) || (strng.length > 8)) {
	   error = "<div>" + msgWrongLenght + "</div>";
	}
	else if (illegalChars.test(strng)) {
	  error = "<div>" + msgInvalidValue + "</div>";
	} 
	else if (!((strng.search(/(a-z)+/)) && (strng.search(/(A-Z)+/)) && (strng.search(/(0-9)+/)))) {
	   error = "<div>" + msgInvalidValue + "</div>";
	}

	if(error) {
		document.getElementById(formID).className = "form-error";
	} else {
		if(document.getElementById(formID).className != '') document.getElementById(formID).className = "";
	}

	return error;    
}

function checkPasswordsMatch(inputID1,inputID2,formID,msg) {
    var error="";
    if(document.getElementById(inputID1).value != document.getElementById(inputID2).value) {
        error = "<div>"+msg+"</div>";
        document.getElementById(formID).className = "form-error";
    }
    return error;
}

function checkMultiple(formID,msg) {
	var error="";
	var is_selected = false;
	
	var inputTags = document.getElementById(formID).getElementsByTagName("input");

	for (var i = 0; i < inputTags.length ; i++) {
	   is_selected = is_selected || inputTags[i].checked;
	}
	
	//alert(is_selected + '<-');
	
	if(!is_selected) {
		error = "<div>"+msg+"</div>";
	}
	
	if(error) {
		document.getElementById(formID).className = "form-error";
	} else {
		if(document.getElementById(formID).className != '') document.getElementById(formID).className = "";
	}
	
	return error;
}


function checkSelect(inputID, formID, msg) {
	var error="";
	
	if(document.getElementById(inputID).value == 0) {
		error = "<div>"+msg+"</div>";
	}
	
	if(error) {
		document.getElementById(formID).className = "form-error";
	} else {
		if(document.getElementById(formID).className != '') document.getElementById(formID).className = "";
	}
	
	return error;
}

function hint(item) {
	if (item.value == '') {
		item.value = item.getAttribute('title');
		return;
	}
	
	if (item.value == item.getAttribute('title')) {
		item.value = '';
		return;
	}
}

function cancel(e) {
	if (e && e.preventDefault)
	e.preventDefault(); // DOM style
	return false; // IE style
}
