
function checkContentHeight() {
	var height = $('content').clientHeight;
	var modus = height % 128;
	var miss = (128 - modus) % 128;
	var newheight = height + miss;
	if (newheight < 512)
		newheight = 512;
	$('content').style.height = newheight + 'px';
}

function LoadPage(page) {
  var url = page;
  ShowIndicator();
  var myAjax = new Ajax.Request(
      url, 
      {
        method: 'get', 
		evalScripts:true,
        onComplete:function(request)
              { ShowPage(request);}
      });
  
/*  var survey = readCookie('survey');
  var bz=false;
  if (!survey)
  	bz = true;
//  else if (survey.indexOf('|4') == -1)
//  	bz = true;
  if (bz)
	{
	if (!survey)
		survey = '';
//	createCookie('survey',survey + '|4',365);
  	var barmalei = Math.random() * 100;
  	if (barmalei <= 80)
  		openBox('/surveys/showSurvey/first/noshow',500,300);
  	}*/
  return false;
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return unescape(c.substring(nameEQ.length,c.length));
	}
	return null;
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}


function ShowPage(request) {
  HideIndicator();
  $('content').style.height = '';
  $('content').innerHTML = request.responseText;
  checkContentHeight();
}

function ShowIndicator() {
  $('indicator').style.visibility = 'visible';
  $('indicatorimg').style.visibility = 'visible';
}

function HideIndicator() {
  $('indicator').style.visibility = 'hidden';
  $('indicatorimg').style.visibility = 'hidden';
}

function openBox(url,width,height) {
  ShowIndicator();
  $('box').style.width = width + "px";
  $('box').style.height = height + "px";
  $('box').style.marginLeft = (-width/2) + "px";
  $('box').style.marginTop = (-height/2) + "px";
  var myAjax = new Ajax.Updater(
	  'box',
      url, 
      {
        method: 'get', 
		evalScripts:true,
        onComplete: showBox
      });
  return false;
}

function showBox(request) {
	HideIndicator();
	$('overlay').style.display = "block";
	$('box').style.display = "block";
//	$('box').innerHTML = request.responseText;
}


function closeBox() {
	$('overlay').style.display = "none";
	$('box').style.display = "none";
	return false;
}

function ClearName(fi) {
 	if (fi.value == 'Your Name')
 		fi.value = '';
 }

 function ClearEmail(fi) {
 	if (fi.value == 'Your e-mail (will not be shown)')
 		fi.value = '';
 }

 function ClearMessage(fi) {
 	if (fi.value == 'Your Message')
 		fi.value = '';
 }

 function emoticon(scr) {
 	ClearMessage($('Message'));
    $('Message').value += scr;
 }
 
 function submitFeedback(compositionURL) {
    var emailvalid = /^[a-z0-9_\.-]*@[a-z0-9\.-]+\.[a-z]{2,6}$/i;
    if ($('Name').value == '' || $('Name').value == 'Your Name') {
    	alert('Please enter your name');
    	$('Name').focus();
    	return;
    	}
    if ($('Email').value == '' || $('Email').value == 'Your e-mail (will not be shown)') {
    	alert('Please enter your e-mail');
    	$('Email').focus();
    	return;
    	}
    else if (!emailvalid.test($('Email').value)) {
    	alert('Please enter a valid e-mail');
    	$('Email').focus();
    	return;
    	}
    if ($('Message').value == '' || $('Message').value == 'Your Message') {
    	alert('Please enter your message');
    	$('Message').focus();
    	return;
    	}
    var Name = encodepar($('Name').value);
    var Email = encodepar($('Email').value);
    var Message = encodepar($('Message').value);
    var pars = 'Name=' + Name + '&Email=' + Email + '&Message=' + Message;
    var url = '/guestbook/add';
    if (compositionURL != '')
    	url += '/' + compositionURL;
    closeBox();
    ShowIndicator();
    var myAjax = new Ajax.Request(
			url, 
			{
				method: 'post', 
				parameters: pars, 
				onComplete: feedbackAdded
			});
 }
 
 function encodepar(message) {
 var enc = "";
 	for (var i = 0; i < message.length; i++) {
		chr = message.charCodeAt(i);
        enc += '#' + this.chr;
        }
    return enc;
 }
 
 function feedbackAdded(request) {
 	HideIndicator();
 	var compositionURL = request.responseText;
 	var url = '/guestbook/feedbackAdded';
 	if (compositionURL != '')
 		url = '/guestbook/feedbackAdded/' + compositionURL;
	openBox(url,300,150);
	LoadPage('/guestbook/view');
 }
 
 function SendResolution() {
 	var swidth = screen.width;
 	var sheight = screen.height;
 	var r = escape(document.referrer);
 	r = r.replace(/\//g,'[]');
// 	alert(r);
 	var loc = '/stats/updateVisit/' + swidth + '/' + sheight + '/' + r+ '/';
 	var str = '<IFRAME SRC="' + loc + '" WIDTH="500" HEIGHT="100" FRAMEBORDER="0"></IFRAME>';
// 	var str = '<IFRAME SRC="gogo.php" WIDTH="0" height="0"></IFRAME>';
// 	alert(str);
// 	document.location = loc;
// 	return;
 	document.write(str);
 	return;
 	}
 
 function Survey(survey_id,questions, answers)
 {
 	this.survey_id = survey_id;
 	this.questions = questions;
 	this.answers = answers;
 	
 	this.startSurvey = function() {
 //		document.getElementById('firstPageSurvey').style.display = 'none';
 		$('firstPageSurvey').style.display = 'none';
 		$('survey').style.display = 'block';
 		this.showQuestion(0);
 		this.question=0;
 		return false;
 	}
 	
 	this.showQuestion = function(question_no) {
 		$('surveyQuestion').innerHTML=this.questions[question_no][1];
 		$('surveyAnswers').innerHTML = '';
 		var bomba = '';
 		for (var i = 0; i < this.answers[question_no].length; i++) {
 			if (i == 0)
 				bomba += '<div class="groupAnswers">';
 			else if (i % 8 == 0)
 				bomba += '</div><div class="groupAnswers">';
 			bomba += '<div class="surveyAnswerDiv">';
	 		if (this.questions[question_no][2] == 'checkbox')
 				bomba += '<input style="border: none;" type="checkbox" name="answer' + i + '" value="1" id="answer' + i + '">&nbsp;';
 			else if (this.questions[question_no][2] == 'radio')
 				bomba += '<input style="border: none;" type="radio" name="answer" value="' + i + '" id="answer' + i + '">&nbsp;';
 			bomba += this.answers[question_no][i][1]; 
 			bomba += '</div>';
 		}
 		bomba += '</div>';
		$('surveyAnswers').innerHTML += bomba;
 	}
 	
 	this.validateAnswer = function(question_no) {
 		var answered = false;
 		for (var i=0; i < this.answers[question_no].length; i++) {
 			if ($('answer' + i ).selected == true || $('answer' + i).checked == true) {
 				answered = true;
 				break;
 				}
 			}
 		return answered;
 	}
 	
 	this.sendAnswers = function(question_no) {
 		var url = '/surveys/receiveReply/' + this.survey_id + '/' + question_no;
 		var answers = '';
 		for (var i=0; i < this.answers[question_no].length; i++) {
 			if ($('answer' + i ).selected == true || $('answer' + i).checked == true) {
 				answers += '&answer' + i + '=1';
 				}
 			}
 		
 		
		var myAjax = new Ajax.Request(
		      url, 
		      {
		        method: 'post', 
				parameters: answers
//		        onComplete:function(request)
//		              { alert(request.responseText);}
		      });
 			
 	}
 	
 	this.nextQuestion = function() {
 		if (!this.validateAnswer(this.question))
 			alert ('Please choose an answer!');
 		else {
			this.sendAnswers(this.question);
			this.question++;
			if (this.question == this.questions.length) // exit
			{
				this.endSurvey();
				return false;
			}
			this.showQuestion(this.question);
 		}
 		return false;
 	}
 	
 	this.endSurvey = function() {
 		$('surveyQuestion').innerHTML='Thank you for filling out my survey! Your participation is highly appreciated';
 		$('nextQuestion').style.display="none";
 		$('surveyAnswers').innerHTML = '<a href="/surveys/index" onClick="return closeBox()">Close</a>';
 	}
 	
 	this.sendRefuseCookie = function(URL) {
		var myAjax = new Ajax.Request(
		      '/surveys/sendRefuseCookie/' + URL, 
		      {
		        method: 'get'
//		        onComplete:function(request)
//		              { alert(request.responseText);}
		      });
 	} 
 }
 
 SendResolution();
// var Survey;
 
