/*getElementsByClassName function*/

document.getElementsByClassName = function(cl) {
    var retnode = [];
    var myclass = new RegExp('\\b'+cl+'\\b');
    var elem = this.getElementsByTagName('*');
    for (var i = 0; i < elem.length; i++) {
    var classes = elem[i].className;
    if (myclass.test(classes)) retnode.push(elem[i]);
    }
    return retnode;
};

function showHide (element_id,dec_change) {
    var element = document.getElementById(element_id);
    var decoration = document.getElementById(dec_change);
    if (element.style.display == 'block'){
        decoration.className = 'menu_arrow_down';
        element.style.display = 'none';
    }
    else {
        decoration.className = 'menu_arrow';
        element.style.display = 'block';
    }
}

/*handle menu decorations


function decorateMenu (menu_id) {
    menu = document.getElementById (menu_id);
    if (menu == null){
        return false;
    }
    var links = menu.getElementsByTagName('a');

    for(var i=0; i<links.length; i++){
        var td = links[i].parentNode;
        var main_div = document.createElement('div');
        var dec_div_1 = document.createElement('div');
        var dec_div_2 = document.createElement('div');
        var dec_div_3 = document.createElement('div');
        var dec_div_4 = document.createElement('div');
        
        main_div.setAttribute('class','menu_item_dec_out');
        main_div.setAttribute("onmouseover","this.className='menu_item_dec';");
        main_div.setAttribute("onmouseout","this.className='menu_item_dec_out';");
        dec_div_1.setAttribute('class','menu_item_dec_1');
        dec_div_2.setAttribute('class','menu_item_dec_2');
        dec_div_3.setAttribute('class','menu_item_dec_3');
        dec_div_4.setAttribute('class','menu_item_dec_4');
        
        td.appendChild(main_div);
        main_div.appendChild(dec_div_1);
        main_div.appendChild(dec_div_2);
        main_div.appendChild(dec_div_3);
        main_div.appendChild(dec_div_4);
        main_div.appendChild(links[i]);
    }
}

decorateMenu ('menu:menuForm');
decorateMenu ('userMenu:userMenuForm');
decorateMenu ('dpMenu:dpMenuForm');
decorateMenu ('adminMenu:adminMenuForm');

handle menu decorations end*/

/*handle simple button rollover*/

function rolloverBtn () {

    var btn = document.getElementsByClassName('submit_btn');
    var IE = document.all?true:false;

    for(var i=0; i<btn.length; i++){
        var classname = btn[i].className;
        var btn_element = btn[i];
        
        function rollover () {
            if (!IE)
                this.className = classname.replace(/submit_btn/, "submit_btn_ov");
            /*else
                btn_element.className = classname.replace(/submit_btn/, "submit_btn_ov");*/
        }
    
        function rollout () {
            if (!IE)
                this.className = classname;
            /*else
                btn_element.className  = classname;*/
        }
        
        if (!IE){
            btn_element.addEventListener('mouseover', rollover, false);
            btn_element.addEventListener('mouseout', rollout, false);
        }
        /*else{
           // btn_element.attachEvent("onmouseover", rollover);
           // btn_element.attachEvent("onmouseout", rollout);
        }*/
    }
}

rolloverBtn ();

//top decoration background position ajustment

function ajustBg (element_id) {

    var IE = document.all?true:false;
    var element = document.getElementById(element_id);
    
    if (element == null)
        return false;
        
    if (element.offsetWidth > 893) {
        if (!IE)
            element.style.backgroundPosition = 'right top';
        else
            element.style.backgroundPosition = 'right 18px';
        
    }

}

ajustBg ('user_dec_top');


//remove spaces in 3d lvl menu

function removeSpaces (element_id) {
    var element = document.getElementById(element_id);
    if (element == null)
        return false;
    var span = element.parentNode;
    var html = span.innerHTML;
    var new_html = html.replace(/&nbsp;&nbsp;&nbsp;&nbsp;/,  "");
    span.innerHTML = new_html;
}

removeSpaces ('giMenu:menuForm:nav:menuReqMDPProfile');
removeSpaces ('giMenu:menuForm:nav:menuReqDPUser');



//image loader title page
if (document.getElementById('photoholder') != null){

    var holder = document.getElementById('photoholder');
    var imageArray = holder.getElementsByTagName('img');
    var imageCount = imageArray.length;
    var imageIter = 0;
    var delay = 4000;

    window.onload = function() {initImage()}
}

function initImage() {
    imageId = 'thephoto_'+imageIter;
    
    if (imageIter == 0)
        prevImageId = 'thephoto_' + (imageCount-1);
    else
        prevImageId = 'thephoto_' + (imageIter-1);
    
    image = document.getElementById(imageId);
    prevImage = document.getElementById(prevImageId);
    
    if (image == null){
        alert ('no_images in image loader')
        return false;
    }
        
    setOpacity(image, 0);
    
    image.style.visibility = 'visible';
    
    fadeIn(imageId,0);
    fadeOut(prevImageId,100);
    
    imageIter = imageIter +1;
    if (imageIter == imageCount){
        imageIter = 0;
        window.setTimeout("initImage()",delay)
    }
    else{
        window.setTimeout("initImage()",delay)
    }
}

function setOpacity(obj, opacity) {
  opacity = (opacity == 100)?99.999:opacity;
  
  // IE/Win
  obj.style.filter = "alpha(opacity:"+opacity+")";
  
  // Safari<1.2, Konqueror
  obj.style.KHTMLOpacity = opacity/100;
  
  // Older Mozilla and Firefox
  obj.style.MozOpacity = opacity/100;
  
  // Safari 1.2, newer Firefox and Mozilla, CSS3
  obj.style.opacity = opacity/100;
}

function fadeIn(objId,opacity) {
  if (document.getElementById) {
    obj = document.getElementById(objId);
    if (opacity <= 100) {
      setOpacity(obj, opacity);
      opacity += 10;
      window.setTimeout("fadeIn('"+objId+"',"+opacity+")", 100);
    }
  }
}

function fadeOut(objId,opacity) {
  if (document.getElementById) {
    obj = document.getElementById(objId);
    if (opacity >= 0) {
      setOpacity(obj, opacity);
      opacity -= 10;
      window.setTimeout("fadeOut('"+objId+"',"+opacity+")", 100);
    }
  }
}

//mlt save/discard all on change

var inputChanged = 0;
var destinationAction = '';
var actionElement = '';

function changeState () {
    inputChanged = 1;
}

function showInfo (element) {
    if (inputChanged == 1) {
    
        tempAction = element.getAttribute('onclick').toString();
        tempAction = tempAction.substr(tempAction.indexOf(';;')+2);
        actionElement = tempAction.split("'")[1];
        destinationAction = tempAction.split("'")[3];
    
        var element = document.getElementsByClassName('mlt_info_block_bg');
        var table = document.getElementById('mainTable');
        element[0].style.display = 'block';
        element[0].style.height = table.offsetHeight + 'px';
        element[0].style.width = table.offsetWidth + 'px';
        document.getElementById('body').className = 'body_hide';
        document.getElementById('html').className = 'html_hide';
        return true;
    }
}


//mlt jumping through the tables (anchor)

function jumpToAnchor () {
    if (document.getElementsByClassName('anchor')[0] != null){
        parent.location='#anchor';
    }
    else
        return false;
}

jumpToAnchor ();


/*opera sizing bug fix*/

function fixOpera () {
    var content_table = document.getElementById('content_table');
    var main_table = document.getElementById('mainTable');
    if (document.getElementById('page_intro_text') != null)
        main_table.style.height = content_table.offsetHeight + 420 + 'px';
    else if (content_table.offsetHeight > main_table.offsetHeight)
        main_table.style.height = content_table.offsetHeight + 216 + 'px';
}

var browser=navigator.appName;
var b_version=navigator.appVersion;
var version=parseFloat(b_version);

if (browser == 'Opera')
    fixOpera ();
    


/*flash player movie configs and functions*/

var fo = new SWFObject("./flash_movies/FlowPlayerDark.swf", "FlowPlayer", "360", "300", "9", "#fff", true);
fo.addVariable("config", "{playList: [ { url: 'mov1.flv' },{ url: 'mov2.flv' } ],showStopButton: true,showPlayListButtons: true,showMenu: false,initialScale: 'fit',autoRewind: false, autoPlay: false, useNativeFullScreen: true}");
fo.addParam("allowFullScreen", "true");
fo.addParam("allowScriptAccess", "always");
if (document.getElementById('playerContainer'))
fo.write("playerContainer");

var player;

function onFlowPlayerReady() {
    player = document.getElementById("FlowPlayer");
}

function jumpToIndex (index) {
        player.ToClip(index);
       /* player.DoPlay(); */
}


/*showing link info in order information page*/

//cathing mouse coordinates

if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = getMouseXY;
var tempX = 0;
var tempY = 0;
function getMouseXY(e) {
	if (IE) {
		tempX = event.clientX + document.body.scrollLeft;
		tempY = event.clientY + document.body.scrollTop;
	}
	else { 
		tempX = e.pageX;
		tempY = e.pageY;
	}
	if (tempX < 0){tempX = 0;}
	if (tempY < 0){tempY = 0;}  
	return true;
}

function showLinkInfo(id) {
    if (!document.getElementById(id))
        return false;
    var block = document.getElementById(id);
    block.style.display = 'block';
    block.style.left = (tempX+5)+'px';
    block.style.top = (tempY+5)+'px';
    
}

function hideLinkInfo(id) {
    if (!document.getElementById(id))
        return false;
    document.getElementById(id).style.display = 'none';
}

/**/

/*list uploaded*/

function selectAll (checked,id){
    
    var inputs = document.getElementById(id).getElementsByTagName('input');
    for (i=0;i<inputs.length;i++){
        if(inputs[i].getAttribute('type') == 'checkbox'){
            inputs[i].checked=checked;
        }
    }
    
}

/*list uploaded*/


/*legend translation*/

function createXMLHttpRequest( ) {
    try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
    try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
    try { return new XMLHttpRequest( ); } catch(e) {}
    alert("XMLHttpRequest not supported");
    return null;
}

var translCount = 0;

function translateLegend(term,lang,id){

	var IE = document.all?true:false;
	//for ie
	if(IE){
		document.getElementById('priloadingMap').style.display = 'none';
	}else{ //for FF
		translCount = translCount +1;
		if (translCount<24){
			return false;
		}
	}

    var termTrl = term;
    if(term.indexOf('Layer$') != -1)
        var parent = 'Map';
    else
        var parent = 'Geophysical method';

	var portalURLC=getCookie('portalURL'); //gets portal URL from cookie
	if (portalURLC==null || portalURLC==""){
		portalURLC = portalURL;
	}

    var locationGet = portalURLC+'mltservice?module=Portal GUI&term='+termTrl+'&parent='+parent+'&lang='+lang;
    var xhr = createXMLHttpRequest();
    xhr.onreadystatechange = function( ) {
            if (xhr.readyState==4) { // Request is finished
                if (xhr.status==200) {
                  if(xhr.responseText != 'null')
                        document.getElementById(id).innerHTML = xhr.responseText;
                  else {
                        document.getElementById(id).innerHTML = 'MISSING:'+termTrl+':MISSING';
                  }

                }
                else {
                    document.getElementById(id).innerHTML = termTrl;
                }
            }
    }
    xhr.open("GET", locationGet , true);
    xhr.send(null);

}

/*legend translation*/


/*loading layers*/

function preloadLayers(currImage){
	document.getElementById('priloadingMap').style.display = 'none';
}

/*loading layers*/

