/*-->
	
	-root
	|
	|+data
	||
	||+js
	|||
	|||-main.js
			
	Информация:	Съдържа:
				-главният обект main с важни базови методи
	

-->*/

var main = {
	
	// sh_hide(var argument) функцията скрива и или показва елемент с id - единственият аргумент
	ShowOrHide : function(argument){
		argument = document.getElementById(argument);
		
		if(argument.style.display=="none") {
			
			argument.style.display="block";
			
		}
		else {
			
			argument.style.display="none";
			
		}
	},
	
	//показване на елемент
	Show : function(argument){
		
		argument = document.getElementById(argument);
		argument.style.display="block";
		
	},
	
	//скриване на елемент
	Hide : function(argument){ 
		
		argument = document.getElementById(argument);
		argument.style.display="none";
		
	},
	
	//кодиране на променливите пратени по xmlhttp
	AjaxEncode : function(str) { 
			
		str = str.replace(/%/g, "abv37abv");
		
		str = str.replace(/&/g, "3434vtoroto3434");
		
		return str;
	},
	
	//пренасочване на страницата
	Redirect : function(dir) { 
		window.location = dir;
	},
	
	// Настройка на прозрачност
	Opacity : function(opac, id, sh, ope) { 
		var obj = document.getElementById(id).style;
		
		obj.opacity = (opac / 100); // стандарт
		
		obj.KhtmlOpacity = (opac / 100); // Konqueror
		
		obj.MozOpacity = (opac / 100); // стари версии на мозила
		
		obj.filter = "alpha(opacity=" + opac + ")"; //MSIE
		
		if(sh){
			
		  if(opac == ope){
		  	
		    base.hide(id);
		    
		  }
		  
		}
	},
	
	// показване на overflow
	OverflowOn : function(){ 
	
		if(navigator.appName == "Opera"){
		
			var b = document.body;
		
		}
		else {
		
			var b=(document.compatMode=="CSS1Compat")? document.documentElement : document.body;
		
		}
		b.style.overflow = "auto";
		
	},
	
	//скриване на overflow
	OverflowOff : function(){ 
		if(navigator.appName == "Opera"){
			
			var b = document.body;
		
		}
		else {
				
			var b=(document.compatMode=="CSS1Compat")? document.documentElement : document.body;
		
		}
		b.style.overflow = "hidden";
	},
	
	// Задаване на текст в елемент
	SetContent : function(id, content) {
		
		var element = document.getElementById(id);
		element.innerHTML = content;
		
	},
	
	LoadingText : '<p class="loading"><img src="data/images/loading.gif" alt="loading"/><br />Зареждам...</p>',
	
	//Настройка на позиция на елемент
	SetPosition : function(id, x, y){ 
		id = document.getElementById(id);
		id.style.top = y+"px";
		id.style.left = x+"px";
	},
	
	// позиция в тримерното пространство ;)))
	SetzIndex : function(root, z) {
	
		root = document.getElementById(root);
		
		root.style.zIndex = z;
		
	},
	
	//Взимане на резолюциите
	GetDimensions : function(){
		var H = 0;
		var W = 0;
		
		if(self.innerHeight) {
		   H = window.innerHeight;
		   W = window.innerWidth;
		} 
		else {
		    if(document.documentElement && document.documentElement.clientHeight) {
		        H = document.documentElement.clientHeight;
		        W = document.documentElement.clientWidth;
		    }
		    else {
		        if(document.body) {
		            H = document.body.clientHeight;
		            W = document.body.clientWidth;
		        }
		    }
		}
		
		return {
		    height: parseInt(H, 10),
		    width: parseInt(W, 10)
		};
	},
	
	//Центриране на елемент
	CenterElement : function(elementId) {
		
		var element = document.getElementById(elementId);
		var w = element.style.width;

		var width = parseInt(w)/2;

		var viewport = main.GetDimensions();
		var left = (viewport.width == 0) ? 50 : parseInt((viewport.width - element.offsetWidth) / 2, 10);
		var top = (viewport.height == 0) ? 50 : parseInt((viewport.height - element.offsetHeight) / 2, 10);
		left = left - width;
		
		top = top - width/2;
		
		main.SetPosition(elementId, left, top);
		
		viewport, left, top, element = null;   
		 
	},
	
	PngCorrect : function(){
		
		for(var i=0; i<document.images.length; i++){
			
			var img = document.images[i]
			
			var imgName = img.src.toUpperCase()
			
			if (imgName.substring(imgName.length-3, imgName.length) == "PNG"){
				
				var imgID = (img.id) ? "id='" + img.id + "' " : ""
				var imgClass = (img.className) ? "class='" + img.className + "' " : ""
				var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
				var imgStyle = "display:inline-block;" + img.style.cssText 
				if (img.align == "left") imgStyle = "float:left;" + imgStyle
				if (img.align == "right") imgStyle = "float:right;" + imgStyle
				if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle		
				var strNewHTML = "<span " + imgID + imgClass + imgTitle
				+ " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
				+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
				+ "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" 
				img.outerHTML = strNewHTML
				i = i-1
				
			}
			
	  }
	  
	},
	
	//Показване на прозореца с информация
	WindowShow : function(con, ok) {
		
		main.Opacity(60, "load_screen", false, false);
		main.Show("load_screen");
		main.OverflowOff();
		
		if(document.getElementById("message").style.display!='block'){
			
			main.CenterElement("message");
		
			main.Show("message");
		}
		
		if(ok) {
			
			con += "<br/><button class='button' onclick='main.WindowHide()'>OK</button>"
			
		}
		main.SetContent("mscontent", con);
	},
	
	//Показване на прозореца с информация
	WindowHide : function() {
		
		main.Hide("load_screen");
		
		main.OverflowOn();
		
		main.Hide("message");

	},
	
	//Гласуване в анкетата
	PollVote : function(id) {
		
		main.WindowShow(main.LoadingText, false);
		
		main.Redirect("#");
		
		var form = document.forms[0];
			
		var otg = 0;
		
		var l = form.elements['o'].length;
		
		for(i = 0; i < l; i++) {
		
			if(form.elements['o'][i].checked) {
				otg = parseInt(form.elements['o'][i].value);
			}
		
		}
		if(otg != 0) {
							
				var oXmlHttp = zXmlHttp.createRequest();
		        oXmlHttp.open("post", "poll.inc.php" , true);
		        var parameters = "id="+id+"&otg="+otg;
		        oXmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		        oXmlHttp.setRequestHeader("Content-length", parameters.length);
		        oXmlHttp.setRequestHeader("Connection", "close");
		        oXmlHttp.onreadystatechange = function () {
		            if (oXmlHttp.readyState == 4) {
		                if (oXmlHttp.status == 200) {
						  var t = oXmlHttp.responseText;
						  var tt = JSON.parse(t);
						  var broi = tt.broi;
						  var sbor = parseInt(tt.sbor);
						  var otgovori = tt.otgovori;
						  var vp = tt.vp;
						  var glas = tt.glas;
							if(glas == "yes") {
								main.WindowShow("<img src='data/images/tick2.jpg' alt='' class='tick'/><b class='red'>Вече сте гласували в тази анкета!</b>", true);
							}
							else {
								main.WindowShow("<img src='data/images/tick.jpg' alt='' class='tick'/><b class='green'>Успешно записан глас!</b>", true);
							}
							var ln = otgovori.length;
							var g = "";
							for(d = 0; d < ln; d++) {
								var ty = Math.round((parseInt(otgovori[d]['p'])*100)/sbor);
								ttd = 1.6*ty+20;
								g += otgovori[d]['otg']+': <div style="width: '+ttd+'px; background: #FFF; text-align: center; color: black;margin: 3px; font-size: 10px"><span>'+ty+'%</div><div id="pollf"></div>';
							}
							var con = document.getElementById("poll"+id);
							con.innerHTML = '<br />'+g;
		                } else {
		                    alert("An error occurred: " + oXmlHttp.statusText);
		                }
		            }            
		        };
		        oXmlHttp.send(parameters);
		}
	}

}
window.onload = function(){
	if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){
		var ieversion=new Number(RegExp.$1)
		if (ieversion>=6)
			main.PngCorrect();
	}
}