﻿clapInit();

function webclap(id){
	new Ajax.Request("clap/clap.cgi", {
	method: "post",
	parameters: "mod=clap&message="+$F(id),
	onComplete:function(httpObj){
	showClap(httpObj.responseText);}});
	return false;
}

function clapInit(){
	var ajaxClap = document.createElement('div');
	ajaxClap.id = "ajaxClap";
	Element.setStyle(ajaxClap,{
		background:"url('img/clap_back.png') transparent",
		color:"white",
		position:"absolute",
		top:"-70px",
		left:0,
		width:"100%",
		clip:"rect(auto auto 0px auto)",
		visibility:"hidden",
		overFlow:"hidden"
	});
	$("clap_form").appendChild(ajaxClap);
}

function showClap(str){
	var ajaxClap = $("ajaxClap");
	var size = 0;
	ajaxClap.innerHTML = str;
	var maxHeight = Element.getHeight(ajaxClap);
	if(ajaxClap.style.visibility !== 'visible'){
		ajaxClap.style.visibility = "visible";
		IEPNGFIX.fix(ajaxClap,'scale');
	
		var t = 0;
		var a = 2;
		var q = maxHeight + 1;
		var p = Math.ceil(Math.sqrt(q/a));
		var timer = setInterval(function(){
			size = -a*(t-p)*(t-p) + q;
			ajaxClap.style.clip = "rect(auto auto "+size+"px auto)";
			t++;
			if(maxHeight < size){
				clearInterval(timer);
			}
		},50);
	}else{
		ajaxClap.style.clip = "rect(auto auto "+maxHeight+"px auto)";
	}
	$("clap_message_more").focus();
}

function closeClap(){
	var ajaxClap = $("ajaxClap");
	ajaxClap.style.clip = "rect(auto auto 0px auto)";
	ajaxClap.style.visibility = "hidden";
	return false;
}

function enterSubmit(evt,mode){
	evt = (evt) ? evt : event; 
	var charCode=(evt.charCode) ? evt.charCode : 
		((evt.which) ? evt.which : evt.keyCode);
	if ( Number(charCode) == 13 || Number(charCode) == 3) {
		webclap(mode);
		return false;
	} else {
		return true;
	}
}
