var oldSubHeadingDecoration = '';

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 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 sendForm(formId){
	
	var validationMessage = validateFormFields(formId);
	if(validationMessage != ''){
		alert('Les champs suivants sont requis :\n\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');});
}