var oldSubHeadingDecoration = '';
var mySubheadingsTimer;

function executeJs(str){
    eval(str);
}

function displaySubHeadings(id){
	
    if (currentHeading!=''){
        $(currentHeading).style.display = 'none';
    }
    req = new GetRequest ({
        url:'/ajaxTomosphereRequest.php',
        func:executeJs
    });
    req.send(
        'tsAction=displaySubHeadings'
        +'&heading_id='+id
        );
    return true;
}



function enableSubHeadingHidden(event) {
    var element = event.element();
    element.style.backgroundColor = '#EFEFEF';
}

function disableSubHeadingHidden(event) {
    var element = event.element();
    element.style.backgroundColor = '#FFFFFF';
}

function enableSubHeading(event) {
    var element = event.element();
    oldSubHeadingDecoration = element.style.textDecoration;
    element.style.textDecoration = 'underline';
}

function disableSubHeading(event) {
    var element = event.element();
    element.style.textDecoration = oldSubHeadingDecoration;
}

function showSubHeadings(div){
    var myElement = $(div).next('div');
    var myClassName = myElement.className;
    var elementsArray = document.getElementsByClassName(myClassName);
    myElement.show();
	
    var subHeadingsArray = myElement.getElementsByClassName('tomos-heading-subs-hidden');
    for(i=0 ; i<subHeadingsArray.length ; i++){
        subHeadingsArray[i].observe('mouseover', enableSubHeadingHidden);
        subHeadingsArray[i].observe('mouseout', disableSubHeadingHidden);
    }
	
    for(i=0 ; i<elementsArray.length ; i++){
        if (myElement != elementsArray[i]){
            elementsArray[i].hide();
        }
    }
}

function showComboSubHeadings(tomosName, headingId){
    clearTimeout(mySubheadingsTimer);
    $$('.tomos-subheading-'+tomosName).each(function(elt){
        elt.hide();
    });
    $('subheadings-'+tomosName+'-'+headingId).show();
    $('subheadings-'+tomosName+'-'+headingId).observe('mouseover', function() {
        clearTimeout(mySubheadingsTimer);
    });
    $('subheadings-'+tomosName+'-'+headingId).observe('mouseout', function() {
        clearTimeout(mySubheadingsTimer);
        mySubheadingsTimer = setTimeout("$('subheadings-"+tomosName+'-'+headingId+"').hide();", 1000);
    });
    $('heading-'+tomosName+'-'+headingId).observe('mouseout', function() {
        clearTimeout(mySubheadingsTimer);
        mySubheadingsTimer = setTimeout("$('subheadings-"+tomosName+'-'+headingId+"').hide();", 1000);
    });
}

function hideSubHeadings(){
    var elementsArray = document.getElementsByClassName('tomos-subheading');
    for(i=0 ; i<elementsArray.length ; i++){
        elementsArray[i].hide();
    }
}

function changeLanguage(langIso, frame){
    var myLocation='/?lang='+langIso;
    if (frame!=''){
        myLocation += '&adminPage='+frame;
    }
    parent.document.location.href=myLocation;
}

var currentHeading='';


function goToUrl(url,target){
    parent.document.location.href=url;
    if (target=='_parent'){
        document.parent.location.href=url;
    } else {
        document.location.href=url;
    }
}


function getParameter( parameterName ) {
    var queryString = window.location.search.substring(1);
    //alert(queryString);
    //if (queryString.length==0) {return "null";}
    var parameters = new Array();
    parameters = queryString.split('&');
    for(var i = 0; i < parameters.length; i++) {
        //alert(parameters[i]);
        //alert(parameters[i].indexOf(parameterName));
        if (parameters[i].indexOf(parameterName)>=0) {
            //alert(parameters[i]);
            var parameterValue = new Array();
            parameterValue = parameters[i].split('=');
            return parameterValue[1];
        }
    }
    return "null";
}


function getTotalHeight() {
    // firefox is ok
    var height = document.documentElement.scrollHeight;
	
    // now IE 7 + Opera with "min window"
    if(document.documentElement.clientHeight > height ) {
        height  = document.documentElement.clientHeight;
    }
    // last for safari
    if(document.body.scrollHeight > height) {
        height = document.body.scrollHeight;
    }
    return height;
}

function getTotalWidth() {
    // firefox is ok
    var width = document.documentElement.scrollWidth;
	
    // now IE 7 + Opera with "min window"
    if(document.documentElement.clientWidth > width ) {
        width  = document.documentElement.clientWidth;
    }
    // last for safari
    if(document.body.scrollWidth > width) {
        width = document.body.scrollWidth;
    }
    return width;
}

function getTotalFrameHeight() {
    // firefox is ok
    var height =document.documentElement.scrollHeight;
	
    // now IE 7 + Opera with "min window"
    if(document.documentElement.clientHeight > height ) {
        height  = document.documentElement.clientHeight;
    }
    // last for safari
    if(document.body.scrollHeight > height) {
        height = document.body.scrollHeight;
    }
    return height;
}

function getTotalFrameWidth() {
    // firefox is ok
    var width =document.documentElement.scrollWidth;
	
    // now IE 7 + Opera with "min window"
    if(document.documentElement.clientWidth > width ) {
        width  = document.documentElement.clientWidth;
    }
    // last for safari
    if(document.body.scrollWidth > width) {
        width = document.body.scrollWidth;
    }
    return width;
}

function validateFormFields(formId){
    var formFieldElements = $$(
        '#'+formId+' input[type="text"]'
        , '#'+formId+' input[type="checkbox"]'
        , '#'+formId+' input[type="radio"]'
        , '#'+formId+' input[type="file"]'
        , '#'+formId+' input[type="password"]'
        , '#'+formId+' select'
        , '#'+formId+' textarea'
        );
    var myLabel = '';
    var myOutput = '';
    for (i=0 ; i<formFieldElements.length ; i++){
        myElement = formFieldElements[i];
        if( myElement.readAttribute('mandatory')=='true' && $F(myElement)=='' ){
            if (myElement.readAttribute('label')!=null) {
                myLabel = myElement.readAttribute('label');
            } else if (myElement.readAttribute('name')!=null) {
                myLabel = myElement.readAttribute('name');
            } else if (myElement.readAttribute('id')!=null) {
                myLabel = myElement.readAttribute('id');
            }
            myOutput += ' - '+ myLabel +"\n";
        }
    }
    return myOutput;
}

function validateFormLoginTomosFields(formId){
    var myOutput = '';
    var id = formId.split('-')[1];
    var login = id + '_field_type_login';
    var password = id + '_field_type_mdp';

    if ($F(login)=='') {
         myOutput += ' - Login' + "\n";
    }
    if ($F(password)=='') {
         myOutput += ' - Mot de passe' + "\n"
    }
    return myOutput;
}

function sendForm(formId){
    var validationMessage = validateFormFields(formId);
    if(validationMessage != ''){
        alert('Les champs suivants sont requis :\n\n'+validationMessage);
    } else {
        $(formId).submit();
    }
}

function sendFormLoginTomos(formId){
    var tomosAction = $F('tomosAction');
    var validationMessage;
    
    if (tomosAction=='login')
        validationMessage = validateFormLoginTomosFields(formId);    
    else 
        validationMessage = '';
    
        ////        var tomosLoginContent = '';
//        $(formId).innerHTML = tomosLoginContent;
    
    if(validationMessage != ''){
        alert('Les champs suivants sont requis :\n' + validationMessage);
    } 
    else {
        var site_lang = $F('site_lang');
        var form_id = $F('form_id');
        var tomosName = $F('tomosName');
        var site_id = $F('site_id');
        if (tomosAction=='login') {
            var field_login = $F(tomosName + '_field_type_login');
            var field_mdp = $F(tomosName + '_field_type_mdp');
        } 
        else {
            var field_login = '';
            var field_mdp = '';
        }
    
//        req = new GetRequest ({
//            url:'/tomos/login/ajaxRequest.php',
//            func:executeJs
//        });
//        req.send(
//            'tomosAction='+tomosAction+'&site_lang='+site_lang+'&form_id='+form_id+'&tomosName='+tomosName+'&site_id='+site_id+'&'+tomosName+'_field_type_mdp='+field_mdp+'&'+tomosName+'_field_type_login='+field_login
//            );
            
            var url = '/tomos/login/ajaxRequest.php';
            new Ajax.Request(url, {
            method: 'post',
            requestHeaders: {Accept: 'application/json'},
            parameters: 'tomosAction='+tomosAction+'&site_lang='+site_lang+'&form_id='+form_id+'&tomosName='+tomosName+'&site_id='+site_id+'&'+tomosName+'_field_type_mdp='+field_mdp+'&'+tomosName+'_field_type_login='+field_login,
            onSuccess: function(transport) {
                
                if (transport.responseText != '') {
                    var myErrorMessage = transport.responseText;
                    $('errorConnexion_' + tomosName).innerHTML = '<center><b><span style="color:red">' + myErrorMessage + '</span></b></center>';
                } else {
                    $('errorConnexion_' + tomosName).innerHTML = '<center><b><span style="color:green">Ok</span></b></center>';
                    location.href='/';
                }
            }
        });
//        $(formId).submit();
    }
}

function sendFormLoginTomos2(formId){
    var validationMessage = validateFormLoginTomosFields(formId);    
    if(validationMessage != ''){
        alert('Les champs suivants sont requis :\n' + validationMessage);
    } 
    else {
        $(formId).submit();
    }
}

function optimizeHtmlForAdmin(){

    $$('img').each(function(elt){
        if (elt.readAttribute('border')==null) elt.writeAttribute('border','0');
    });
}

function optimizeHtml(){
    $$('img').each(function(elt){
        if (elt.readAttribute('border')==null) elt.writeAttribute('border','0');
    });
/*
    $$('a[target="_parent"]').each(function(elt){
        elt.removeAttribute('target');
    });
*/
    $$('div.tomos').each(function(elt){
        elt.removeAttribute('title');
    });
}
