// JavaScript Document
var isIE=document.all?true:false;

window.onload = init_page;

ini_run = '';

function init_page(){
	eval(ini_run);
}

// AJAX Functions NEXT
var http_request = false;

function ajax(obj,url){ // Object,URL,Parameters,Method,Action,Function Name
	var args = ajax.arguments;
	var parameters = (args.length > 2)? args[2] : '';
	var method = (args.length > 3)? args[3] : "get";
	var act = (args.length > 4)? args[4] : "html";
	var func = (args.length > 5)? args[5] : "";
	
    var http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
		}
	}else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!http_request) {
		alert('Cannot create XMLHTTP instance');
		return false;
	}

	http_request.onreadystatechange = function(){processStateChange(http_request,obj,act,func)};
	http_request.open(method, url, true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", parameters.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(parameters);
	return true
}

var ready_state = new Array("uninitialized","loading","doaded","interactive","complete");

function processStateChange(http_request,obj){
	var act = (processStateChange.arguments.length > 2)? processStateChange.arguments[2] : "html";
	var func = (processStateChange.arguments.length > 3)? processStateChange.arguments[3] : "";

	window.status = 'Ajax: '+ready_state[http_request.readyState];
	if(http_request.readyState == 4){ // Complete
		if(http_request.status == 200 || http_request.status == 0){ // OK response
			switch(act){
				case "html":
					obj.innerHTML = http_request.responseText;
					break
				
				case "text":
					obj.innerText = http_request.responseText;
					break
				
				case "function":
					eval(func)(http_request.responseText,obj)
					break
				
				case "value":
					obj.value = http_request.responseText
					break
				
				case "link":
					if(http_request.responseText == "OK"){
						window.location = func
					}else{
						alert(http_request.responseText)
					}
					break
				
				case "ok":
					if(http_request.responseText != "OK"){
						alert(http_request.responseText)
					}
					break
				
				default:
					alert('No action sent to Ajax state processing!')
					break
				
			}
			
			http_request = null
		}else{
			window.status = 'Ajax: problem ' + http_request.statusText + ', status: ' + http_request.status
		}
	}
}
// END AJAX

function element(id){
	return document.getElementById(id)
}

function is_email(email){
    if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(email)){
        return true
    }else{
        return false
    }
}

// PNG FIXES

var realSrc='';
var imgs = document.getElementsByTagName('img');
var blankSrc = 'images/pixel.gif';

function fixPNGImages()
{
	var supported = /MSIE/.test(navigator.userAgent) && !/opera/.test(navigator.userAgent) && navigator.platform == "Win32";
	if ( supported )
	{
		for (var i = 0; i < imgs.length; i++)
		{
			realSrc = imgs[i].src;
			if ( /\.png$/.test( realSrc.toLowerCase()) ) fixImage(imgs[i]);
		}
	}
}

function fixImage(element) {
   // get src
	var src = element.src;   
	var height = element.height;
	var width = element.width;

	// set blank image
	element.src = blankSrc;
	// moi modifikatsii
	element.style.width = width;
	element.style.height = height;
	// set filter
	element.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" +
								 realSrc + "',sizingMethod='scale')";
}

ini_run += "fixPNGImages();";
// END OF PNG FIXES

var fade_working = new Array()

function fade(element_id){
	var args = fade.arguments;
	if(args.length > 2){
	    if(fade_working["'"+element_id+"'"]){
	        from = fade_working["'"+element_id+"'"][0]
	    }else{
		    from = (isIE)? GetOpacity(eval(element_id)) : args[1]
		}
		to = args[2]
		fade_working["'"+element_id+"'"] = new Array(from,to)
	}else{
		from = fade_working["'"+element_id+"'"][0]
		to = fade_working["'"+element_id+"'"][1]
	}
	//var round_time = (args > 3)? args[3] : 1; // Seconds
	step = 2
	round_time = 20
	
	var obj = document.getElementById(element_id)
	SetOpacity(obj,from)
	
	if(from != to){
		dif = Math.abs(from - to)
		if(from > to){
			from -= (dif < step)? incr : step
		}else if(from < to){
			from += (dif < step)? incr : step
		}
		
		fade_working["'"+element_id+"'"][0] = from
		//return setTimeout('fade(\''+element_id+'\','+from+','+to+')',50)
		return setTimeout('fade(\''+element_id+'\')',round_time)
	}else{
	    //fade_working["'"+element_id+"'"] = null
		return from
	}
}

function SetOpacity(obj,val){
	if (isIE && typeof obj.style.filter == 'string') {
		obj.style.filter = 'alpha(opacity='+val+')'
		if (!obj.currentStyle || !obj.currentStyle.hasLayout) {
			obj.style.zoom = 1; // when no layout or cant tell
		}
	}else{
		obj.style.opacity = val/100;
		obj.style['-moz-opacity'] = val/100;
		obj.style['-khtml-opacity'] = val/100;
	}
}

function GetOpacity(obj){
    var opacity = 0;
    var filter;
    
    if(isIE && typeof obj.style.filter == 'string'){

		filter = obj.style.filter

		filter = filter.replace("alpha(","")

		filter = filter.replace(")","")

		filters = str2arr(filter,",")

		opacity = filters['opacity']

		opacity = (opacity == undefined)? 100 : opacity

	}else{

		opacity = 100

	}
	
	return parseFloat(opacity)

}

function str2arr(str,seperator){

	arr = new Array()

	items = str.split("seperator")

	for(r=0;r<items.length;r++){

		temp = items[r].split("=")

		arr[temp[0]] = temp[1]

	}

	

	return arr

}