/******
 * Copyright: Bernardini & Schnyder GmbH
 * Author: Sebastian Haller
 * Date: 2005
 * javascript
 */

// allow only numbers to be entered in sone fields
function goodchars(e, chars)
{
	var key, keychar;

	if (window.event)
		key = window.event.keyCode;
	else if (e)
		key = e.which;
	else
		return true;

	keychar = String.fromCharCode(key);
	keychar = keychar.toLowerCase();
	chars = chars.toLowerCase();

	if (chars.indexOf(keychar) != -1)
		return true;

	// control keys
	if ( key==null || key==0 || key==8 || key==9 || key==13 || key==27 )
		return true;

	return false;
}

// new window
function newwindow(url, name, w, h, features) {
	if(screen.width)
	{
		var winl = (screen.width-w)/2;
		var wint = (screen.height-h)/2;
	}
	else
	{
		winl = 0;
		wint = 0;
	}
	if (winl < 0)
		winl = 0;
	if (wint < 0)
		wint = 0;
	//var settings = 'scrollbars=yes, resizable=yes, ';
	var settings = '';
	settings += 'height=' + h + ', ';
	settings += 'width=' + w + ', ';
	//settings += 'top=' + wint + ', ';
	//settings += 'left=' + winl + ', ';
	settings += features;
	win = window.open(url, name, settings);
	win.resizeTo(w, h);
	win.focus();
	// do not uncomment this. it is used in links containing
	// a href for users without javascript and an onclick="return newwindow(...);" for users with javascript
	// we do not want the href action to be excuted on success!
	return false;
}

// used to confirm a link before sending request (i.e. for delete links)
function confirmlink(text, obj)
{
	var is_confirmed  = confirm(text);
	if (is_confirmed) {
		obj.href += '&js_confirmed=1';
	}

	return is_confirmed;
}

// used to confirm a link before sending request (i.e. for delete links)
function confirmcode(text, code)
{
	var is_confirmed  = confirm(text);
	if (is_confirmed) {
		eval(code);
	}

	return is_confirmed;
}

// changes content of a div
function setcontent(obj, content)
{
	document.getElementById(obj).innerHTML = content;
	return false;
}

// hide div
function hidediv(obj)
{
	o = document.getElementById(obj);
	o.style.display='none';
}

// show div
function showdiv(obj)
{
	o = document.getElementById(obj);
	o.style.display='block';
}



function manageBoxes(id){

	for(i=1;i<4;i++){
		openObj = document.getElementById("box"+i+"_open");
		Obj = document.getElementById("box"+i);	
		if(i==id){
			openObj.style.display="block";
			Obj.style.display="none";				
		}else{
			Obj.style.display="block";
			openObj.style.display="none";				
		}
	}			
}

function selectGo(obj){
	if(obj.value != ""){
		if(obj.value.indexOf("http://")==-1){
			window.location= obj.value;
		}else{
			window.open(obj.value);
			
		}
		
	}
}

function showMediaImagePreview(fieldName, arrayName) {
	
	var fieldValue = document.getElementById(fieldName).value;
	var previewContainer = document.getElementById(fieldName + '_preview');
	var imageUrl = arrayName[fieldValue];
	previewContainer.src = imageUrl;
}

function showImagePreview(fieldName, arrayName) {
	
	var fieldValue = document.getElementById(fieldName).value;
	var previewContainer = document.getElementById(fieldName + '_preview');
	var imageUrl = '';
	eval("imageUrl = " + arrayName + "[" + fieldValue + "];");
	previewContainer.src = imageUrl;
}

function doAjax(url, params, target){
 req = GetXmlHttpObject();
 req.onreadystatechange = function(){
  if (req.readyState == 4) {
   if (req.status == 200) {
    var text = req.responseText;
    proccess(target, text);
   } else {
    alert("Problem: " + req.statusText);
   }
  }
 }
 req.open('POST', url, true);
 req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
 req.setRequestHeader("Content-length", params.length);
 req.setRequestHeader("Connection", "close");
 req.send(params);
 
}

function GetXmlHttpObject(){ 
 var objXMLHttp=null;
 if (window.XMLHttpRequest){
  objXMLHttp=new XMLHttpRequest();
 }
 else if (window.ActiveXObject){
  objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
 }
 return objXMLHttp;
}
 
function proccess(target, text){
 if(document.getElementById(target) != null){
  document.getElementById(target).innerHTML = text;
	runScripts(target);
 }
}

function runScripts(id) {
 var elem = document.getElementById(id);
 var e = elem.getElementsByTagName("script");
 if(e != null){
  for(var i=0;i<e.length;i++) {
   eval(e[i].innerHTML);
  }
 }  
}

function showPosterPopup (adId, contentId){
	var url = "/en/2010/poster_popup-go";
	var params = "adId=" + adId + "&contentId=" + contentId;
	doAjax(url, params, "reference_popup");
	//alert(url);
	return false;
}

function hidePosterPopup () {
	var popupDiv = document.getElementById("reference_popup");

	//popupDiv.style.display = "none";	
	$('#reference_popup').fadeOut('slow', function() {   
	});

	return false;
}

function renderReferncePopup() {
	$('#popup_image').css('display', "none");	
	$('#popup_text').css('display', "none");	
	
	var siteDiv = document.getElementById("site");
	var referencePopupDiv = document.getElementById("reference_popup");

	var backgroundDiv = document.getElementById("screen_background");
	backgroundDiv.style.height = siteDiv.clientHeight + "px";
	
	var IE6 = false /*@cc_on || @_jscript_version < 5.7 @*/;
	if (IE6) {
		referencePopupDiv.style.width = document.body.clientWidth;
		setDropDowns("hidden");
	}
	//referencePopupDiv.style.display = "block";
	
	
	var imageUrl = $('#popup_image').css("background-image").replace('url("', "").replace('")', "").replace('url(', "").replace(')', ""); 	
	var image = new Image();
	image.src = imageUrl;
	imgWidth = image.width;
	imgHeight = image.height;
	
	$('#popup_image').css("width", imgWidth + "px");
	$('#popup_image').css("height", imgHeight + "px");	
	
	$('.popup_content').css("width", imgWidth + 350 + "px");		
	$('.popup_content').css("height", imgHeight + 60 + "px");		
	
	
	
	$('#popup_image').fadeIn('slow', function() {   
	});	
	$('#popup_text').fadeIn('slow', function() {   
	});
	
	$('#reference_popup').fadeIn('slow', function() {
	});
	
	window.onresize=resizeReferncePopup;
	backgroundDiv.onclick=hideReferncePopup;
	
	return false;
}

function resizeReferncePopup (e) {
	var siteDiv = document.getElementById("site");
	var backgroundDiv = document.getElementById("screen_background");
	backgroundDiv.style.height = siteDiv.clientHeight + "px";
}

function hideReferncePopup() {
	var referencePopupDiv = document.getElementById("reference_popup");
	var IE6 = false /*@cc_on || @_jscript_version < 5.7 @*/;
	if (IE6) {
		setDropDowns("visible");
	}
	//referencePopupDiv.style.display = "none";	
	
	$('#reference_popup').fadeOut('slow', function() {   
	});	
	
	reference_popup
	return false;
}

function showMediaImagePreview(fieldName, arrayName) {
	var fieldValue = document.getElementById(fieldName).value;
	var imageUrl = arrayName[fieldValue];
	var previewContainer = document.getElementById(fieldName + '_preview');
	previewContainer.src = imageUrl;
}

function changeState (checkId, targetId) {
	
	var chkbox = document.getElementById(checkId);
	var targetBox = document.getElementById(targetId);
	
	
	if (true == chkbox.checked) {
		targetBox.disabled = false;
	} else {
		targetBox.disabled = true;
	}
	
}

function changeRadionState (checkId, targetId, target2Id) {
	var chkbox = document.getElementById(checkId);
	var targetBox = document.getElementById(targetId);
	var target2Box = document.getElementById(target2Id);
	
	if (true == chkbox.checked) {
		targetBox.disabled = false;
		target2Box.disabled = false;
	} else {
		targetBox.checked = false;
		target2Box.checked = false;
		
		targetBox.disabled = true;
		target2Box.disabled = true;
		
	}
	
}
