function objectShow( id )
{
	windh = document.documentElement.clientHeight;
	windw = document.documentElement.clientWidth;
	lft = (windw - 450)/2;
	rht = (windh - 458)/2;
	h = document.getElementById("mn").offsetHeight;
	o = document.getElementById( "object" );
	s = document.getElementById( "shadow" );
	s.style.height = h+"px";
	s.style.display = "block";
	o.style.left = lft+"px";
	o.style.top = (window.pageYOffset+rht)+"px";
	o.style.display = "block";
	ajax.sendRq( 'GET', "properties.html?id="+id+"&editor=1", objectCallback, null, null );
}
function objectCallback( response )
{
	ot = document.getElementById( "obj_text" );
	ot.innerHTML = response;
	new SetScrollOperator( 'obj_text', [410, 400], 1 );
}

function objectHide()
{
	o = document.getElementById( "object" );
	o.style.display = "none";
	s = document.getElementById( "shadow" );
	s.style.display = "none";
	ot = document.getElementById( "obj_text" );
	ot.innerHTML = '<img style="margin-left: 191px; margin-top:100px;" src="images/loader.gif" />';
	new SetScrollOperator( 'obj_text', [410, 400], 1 );
}

function news( no )
{
	document.getElementById( "news1" ).className = "txt";
	document.getElementById( "news2" ).className = "txt";
	document.getElementById( "news3" ).className = "txt";
	document.getElementById( "news"+no ).className = "txt active";
	
	document.getElementById( "newsbtn1" ).className = "button";
	document.getElementById( "newsbtn2" ).className = "button";
	document.getElementById( "newsbtn3" ).className = "button";
	btn = document.getElementById( "newsbtn"+no );
	btn.className = "button active";
	btn.blur();
	
	eval( 'document.getElementById( "uparrow" ).onmousedown = function () { newsMoveStart( '+no+', 0 ); };' );
	eval( 'document.getElementById( "downarrow" ).onmousedown = function () { newsMoveStart( '+no+', 1 ); };' );
}

function css( el, cn )
{
	if ( el ) el.className = cn;
}

var newsInterval = null;

function newsMove( id, type )
{	
	cont = document.getElementById( "news"+id );
	if ( !type )
	{
		if ( cont.scrollTop>0 ) cont.scrollTop -= 2;
	}
	else
	{
		cont.scrollTop += 2;
	}
}

function newsMoveStart( id, type )
{
	newsInterval = setInterval( "newsMove( "+id+", "+type+" )", 8 );
	document.onmouseup = newsMoveStop;
}

function newsMoveStop()
{
	clearInterval( newsInterval );
	newsInterval = null;
	document.onmouseup = null;
}

var objectsInterval = null;

function objectsMove( type )
{	
	cont = document.getElementById( "objects" );
	if ( !type )
	{
		if ( cont.scrollTop>0 ) cont.scrollTop -= 2;
	}
	else
	{
		cont.scrollTop += 2;
	}
}

function objectsMoveStart( type )
{
	objectsInterval = setInterval( "objectsMove( "+type+" )", 8 );
}

function objectsMoveStop()
{
	clearInterval( objectsInterval );
	objectsInterval = null;
}

var imagesInterval = null;

function imagesMove( type )
{	
	cont = document.getElementById( "images" );
	if ( !type )
	{
		if ( cont.scrollLeft>0 ) cont.scrollLeft -= 2;
	}
	else
	{
		cont.scrollLeft += 2;
	}
}

function imagesMoveStart( type )
{
	imagesInterval = setInterval( "imagesMove( "+type+" )", 8 );
}

function imagesMoveStop()
{
	clearInterval( imagesInterval );
	imagesInterval = null;
}

function changeImages( img )
{
	document.getElementById( "gallery" ).style.display = "none";
	document.getElementById( "plans" ).style.display = "none";
	document.getElementById( "presentations" ).style.display = "none";
	
	document.getElementById( "images" ).scrollLeft = 0;
	document.getElementById( img ).style.display = "block";
}

// Mortgage Calculator
function validNumber( number )
{
	var digits="0123456789.";
	if ( number.length==0 ) return false;
	for ( var i=0; i<number.length; i++ )
	{
		if ( digits.indexOf( number.substring( i, i+1 ) )==-1 && number.substring( i, i+1 )!="." )
		{
			return false;
		}
	}
	if ( number<0 ) return false;
	return true;
}

function mortgage( type )
{
	var money = document.getElementById( "money" ).value;
	var y = document.getElementById( "years" );
	var years = y.options[y.selectedIndex].value;
	var b = document.getElementById( "bank" );
	var interest = b.options[b.selectedIndex].value;
}

function calculate( type )
{
	var money = document.getElementById( "money" ).value;
	var years = document.getElementById( "yearsInput" ).value;
	if ( !type ) var interest = document.getElementById( "interestInput" ).value;
	else var interest = document.getElementById( "interest" ).value;
	// Initialise variables
	var error = ""
	var capital = 0
	var only = 0

	// check for valid input (i.e. Numbers Only)
	if ( !validNumber( money ) ) error = error + "Amout of money\n    ->   (must be a number)\n";
	if ( !years ) error = error + "Number of years\n";
	//if ( !validNumber( interest ) ) error = error + "Interest rate\n    ->   (must be a number)\n";
	if ( error ) alert( "You must fill in the following correctly\n"+error );
	else
	{
		// Do calculations and output result
		interest = parseFloat( interest );
		money = parseFloat( money );
		only = ( interest/100 )*money/12;

		document.getElementById( "interestOnly" ).innerHTML = formatNumber( only );
		calculateLoan( interest, money, years );
	}
}

function floor( number )
{
  return Math.floor( number*Math.pow( 10, 2 ) )/Math.pow( 10, 2 );
}

function calculateLoan( interest, money, years )
{
	var n=0;
	var m=0;
	var t=0;
	var c=0;
	var r=0;
	
	interest = interest/100/12;							//decimal value for apr
	var base = 1;
	var mbase = 1 + interest;
	for ( var i=0; i<(years*12); i++ )
	{
		base = base * mbase;
	}
	m = floor( money*interest/( 1 - ( 1/base ) ) );
	
	document.getElementById( "capitalInterest" ).innerHTML= formatNumber( m ) ;
	return false;
}

function formatNumber( number )
{
	var decimalPos;
	var leftPart = number.toString();
	var orgLeftPart = "";
	var digitCount = 0;
	var digitChar = "";
	var decimalPart = "";
	decimalPos = leftPart.indexOf( "." );
	if ( decimalPos!=-1 )
	{
		decimalPart = leftPart.substring( decimalPos );
		leftPart = leftPart.substring( 0, decimalPos );

		decimalPart = decimalPart.substring( 0, 3 );
	}
	else
	{
		decimalPart = ".00";
	}
	orgLeftPart = leftPart;
	leftPart = "";
	for ( var x=orgLeftPart.length-1; x!=-1; x-- )
	{
		digitCount = digitCount + 1;
		digitChar = orgLeftPart.substring( x, x+1 );
		if ( digitCount==3 )
		{
			digitCount=0;
			digitChar = "," + digitChar;
		}
		leftPart = digitChar + leftPart;
	}
	if ( leftPart.substring( 0, 1 )=="," ) leftPart=leftPart.substring( 1 );
	return ( leftPart + decimalPart );
}

function displayDetails( id )
{
	var i = 1;
	while ( tmp = document.getElementById('product'+i) ) { tmp.style.display = 'none'; i++ }
	document.getElementById('product'+id).style.display = 'inline';
}
// Mortgage calculator end

// Tax calculator
function tax( percent )
{
	val = document.getElementById( "value" );
	entr = document.getElementById( "enter" );
	not = document.getElementById( "notarial" );
	ttl = document.getElementById( "total" );
	mun = document.getElementById( "municipality" );
  if ( val.value <= 100 ) nottmp = 15;
  else if ( val.value <= 1000 ) nottmp = ( val.value-100 )* 0.015 + 15;
  else if ( val.value > 1000 && val.value <= 10000 ) nottmp = val.value / 100 + 18.5;
  else if ( val.value > 10000 && val.value <= 50000 ) nottmp = val.value * 0.005 + 68.5;
  else if ( val.value > 50000 && val.value <= 100000 ) nottmp = val.value * 0.002 + 218.5;
  else if ( val.value > 100000 ) nottmp = val.value * 0.001 + 318;
  if ( val.value * 0.001 < 5 ) var e = 5;
	else var e = val.value * 0.001;
  entr.innerHTML = formatNumber( e ); 
  mun.innerHTML = formatNumber( val.value * 0.02 );
  not.innerHTML = formatNumber( nottmp );
  ttl.innerHTML = formatNumber( e + 3 + val.value * 0.02 + 6 + 2 + nottmp );
}
// Tax calculator end

// Tooltips
// Alpha fade FXs:

var stepIn=20, stepOut=-15;

function setAlpha(obj,val)
{
	obj.style.opacity=val/100;
	obj.style.filter = 'alpha(opacity: '+val+')';
	if(val=0)
	{
		obj.style.visibility='hidden';
	} else
	{
		obj.style.visibility='visible';
	}
}

function setPos(obj,e)
{
	var _x=0,_y=0;
	if(!e) var e = window.event;
	if (e.pageX || e.pageY)
	{
		_y = e.pageY;
		_x = e.pageX;
	}
	else if (e.clientX || e.clientY)
	{
		_y = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
		_x = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
	}

	obj.style.left=(_x-obj.offsetWidth/2)+'px';
	obj.style.top=(_y+25)+'px';
}

function tooltipsInit()
{
	var objs = document.getElementsByTagName( "a" );
	for(var x in objs)
	{
		if( objs[x].id && objs[x].id.substring(0,5)=='site_' )
		{
			objs[x].tipObj=document.getElementById('tip'+objs[x].id.substring(5));
			objs[x].tipObj.style.marginTop='0px';
			objs[x].onmouseover = function()
			{
				this.waitId = window.setTimeout('fade(\''+this.tipObj.id+'\',true)',100);
				return false;
			};
			objs[x].onmouseout = function()
			{
				if(this.waitId)
				{
					clearTimeout(this.waitId);
				}
				fade(this.tipObj.id);
			};
			objs[x].onmousemove = function(event)
			{
				setPos(this.tipObj, event);
			};
		}
		else if( objs[x].name && objs[x].name.substring(0,8)=='details_' )
		{
			objs[x].tipObj=document.getElementById('details'+objs[x].name.substring(8));
			objs[x].tipObj.style.marginTop='0px';
			objs[x].onmouseover = function()
			{
				this.waitId = window.setTimeout('fade(\''+this.tipObj.id+'\',true)',100);
				return false;
			};
			objs[x].onmouseout = function()
			{
				if(this.waitId)
				{
					clearTimeout(this.waitId);
				}
				fade(this.tipObj.id);
			};
			objs[x].onmousemove = function(event)
			{
				setPos(this.tipObj, event);
			};
		}
	}
	var objs=document.links;
	
	for(var x in objs)
	{	
		try
		{
			if(objs[x].childNodes[0].id.substring(0,5)=='site_')
			{
				objs[x].target='_self';
			}
		} catch(ex)
		{
		}
		
	}
}

function fade(objId,isIn)
{
	obj=document.getElementById(objId);
	if(obj.timeOut)
	{
		clearTimeout(obj.timeOut)
	}
	var val=(obj.style.opacity?obj.style.opacity*100:0)+(isIn?stepIn:stepOut);
	if(isIn && val>100) val=100;
	else if(!isIn && val<0) val=0;
	setAlpha(obj,val);
	if(isIn)
	{
		if(val<100) obj.timeOut = window.setTimeout('fade(\''+objId+'\',true)',50);
	} else
	{
		if(val>0) obj.timeOut = window.setTimeout('fade(\''+objId+'\',false)',50);
		else obj.style.top= obj.style.left ='0px';
	}
	return false;
}

function fadeDropdown(objId,isIn)
{
	obj=document.getElementById(objId);
	if(obj.timeOut)
	{
		clearTimeout(obj.timeOut)
	}
	var val=(obj.style.opacity?obj.style.opacity*100:0)+(isIn?stepIn:stepOut);
	if(isIn && val>85) val=85;
	else if(!isIn && val<0) val=0;
	setAlpha(obj,val);
	if(isIn)
	{
		if (val<85) obj.timeOut = window.setTimeout('fadeDropdown(\''+objId+'\',true)', 50);
	} else
	{
		if (val>0) obj.timeOut = window.setTimeout('fadeDropdown(\''+objId+'\',false)', 50);
	}
	return false;
}
var dropdownId = 0;
var dropdownHideId = 0;
function displayDropdown()
{
	clearTimeout( dropdownHideId );
	clearTimeout( dropdownId );
	document.getElementById( "dropdown" ).style.display = "block";
	dropdownId = window.setTimeout('fadeDropdown(\'dropdown\',true)',100);
}
function hideDropdown()
{
	clearTimeout( dropdownHideId );
	clearTimeout( dropdownId );
	dropdownId = window.setTimeout('fadeDropdown(\'dropdown\',false)',100);
	dropdownHideId = window.setTimeout('document.getElementById( "dropdown" ).style.display = "none"', 300);
}

function multiSelector( act, leftField, rightField )
{
	var lft = document.getElementById( leftField );
	var rht = document.getElementById( rightField );

	if( !rht || !lft ) return;

	switch( act )
	{
		case 'insert':
			if ( lft.type.match(/select/i) )
			{
				if ( lft.selectedIndex>=0 )
				{
					if ( lft.options[lft.selectedIndex].value!='0' )
					{
						var lftTitle = lft.options[lft.selectedIndex].innerHTML
						var lftVal = lft.options[lft.selectedIndex].value;
						
						if ( rht.options[0].value=='0' )
						{
							rht.options.length = 0;
							rht.options[0] = new Option( lftTitle, lftVal );
						}
						else
						{
							var add = true, ch='8911014127';
							if ( rht.options.length>0 )
							{
								for( var i=0; i<rht.options.length; i++ )
								{
									chVal = rht.options[i].value;
									if ( chVal==lftVal ) { add = false; break; }
								}
							}
							if ( add ) rht.options[rht.options.length] = new Option( lftTitle, lftVal );
							else alert( lng_db["element_exist"] );
						}
					}
					else multiSelector( 'clear', leftField, rightField );
				}
				else alert( lng_db["please_select_element"] );
			}
			break;
		case 'erase':
			if ( rht.selectedIndex>=0 )
			{
				if ( rht.options[rht.selectedIndex].value!='0' ) rht.options[rht.selectedIndex] = null;
			}
			else alert( lng_db["please_select_element"] );
			if ( rht.options.length==0 ) rht.options[0] = new Option( lng_db["all"], '0' );
			break;
		default:
			rht.options.length = 0;
			rht.options[0] = new Option( lng_db["all"], '0' );
			break;
	}
}

function multiGetValues( f )
{
	el = f.elements;
	for( var i=0; i<el.length; i++ )
	{
		if ( el[i].type.match(/select/i) && el[i].name!='' )
		{
			n = el[i].name;
			el[i].name = "";
			for( var j=0; j<el[i].length; j++ )
			{
				inp = document.createElement( 'INPUT' );
				inp.name = n+"[]";
				inp.type = "hidden";
				inp.value = el[i].options[j].value;
				f.appendChild( inp );
			}
		}
	}
}

function multiSelector2( act, leftField, rightField, thirdField, thirdField2 )
{
	var lft = document.getElementById( leftField );
	var rht = document.getElementById( rightField );
	var trd = document.getElementById( thirdField );
	var trd2 = document.getElementById( thirdField2 );

	if( !rht || !lft || !trd ) return;

	switch( act )
	{
		case 'insert':
			if ( lft.type.match(/select/i) )
			{
				if ( lft.selectedIndex>=0 )
				{
					if ( lft.options[lft.selectedIndex].value!='0' )
					{
						var lftTitle = lft.options[lft.selectedIndex].innerHTML
						var lftVal = lft.options[lft.selectedIndex].value;
						
						if ( rht.options[0].value=='0' )
						{
							rht.options.length = 0;
							rht.options[0] = new Option( lftTitle, lftVal );
							/////
							if ( regions[lftVal] )
							{
								trd.options[trd.options.length] = new Option( "-= "+lftTitle+" =-", lftTitle );
								trd.options[trd.options.length-1].disabled = 'disabled';
								trd.options[trd.options.length-1].readonly = 'readonly';
								for ( j=0; j<regions[lftVal].length; j++ )
								{
									tmp_val = regions[lftVal][j][0];
									tmp_title = regions[lftVal][j][1];
									trd.options[trd.options.length] = new Option( tmp_title, tmp_val );
								}
							}
							/////
						}
						else
						{
							var add = true, ch='8911014127';
							if ( rht.options.length>0 )
							{
								for( var i=0; i<rht.options.length; i++ )
								{
									chVal = rht.options[i].value;
									if ( chVal==lftVal ) { add = false; break; }
								}
							}
							if ( add )
							{
								rht.options[rht.options.length] = new Option( lftTitle, lftVal );
								/////
								if ( regions[lftVal] )
								{
									trd.options[trd.options.length] = new Option( "-= "+lftTitle+" =-", lftTitle );
									trd.options[trd.options.length-1].disabled = 'disabled';
									trd.options[trd.options.length-1].readonly = 'readonly';
									for ( j=0; j<regions[lftVal].length; j++ )
									{
										tmp_val = regions[lftVal][j][0];
										tmp_title = regions[lftVal][j][1];
										trd.options[trd.options.length] = new Option( tmp_title, tmp_val );
									}
								}
								/////
							}
							else alert( lng_db["element_exist"] );
						}
					}
					else multiSelector( 'clear', leftField, rightField );
				}
				else alert( lng_db["please_select_element"] );
			}
			break;
		case 'erase':
			if ( rht.selectedIndex>=0 )
			{
				if ( rht.options[rht.selectedIndex].value!='0' )
				{
					var lftVal = rht.options[rht.selectedIndex].value;
					var lftTitle = rht.options[rht.selectedIndex].innerHTML;
					rht.options[rht.selectedIndex] = null;
					/////
					if ( regions[lftVal] )
					{
						for ( j=0; j<regions[lftVal].length; j++ )
						{
							tmp_val = regions[lftVal][j][0];
							for( var i=0; i<trd.options.length; i++ )
							{
								chVal = trd.options[i].value;
								if ( chVal==tmp_val ) trd.options[i] = null;
							}
							for( var i=0; i<trd2.options.length; i++ )
							{
								chVal = trd2.options[i].value;
								if ( chVal==tmp_val ) trd2.options[i] = null;
							}
							if ( trd2.options.length==0 ) trd2.options[0] = new Option( lng_db["all"], '0' );
						}
					}
					for( var i=0; i<trd.options.length; i++ )
					{
						chVal = trd.options[i].value;
						if ( chVal==lftTitle ) trd.options[i] = null;
					}
					/////
				}
			}
			else alert( lng_db["please_select_element"] );
			if ( rht.options.length==0 ) rht.options[0] = new Option( lng_db["all"], '0' );
			break;
		default:
			rht.options.length = 0;
			rht.options[0] = new Option( lng_db["all"], '0' );
			trd.options.length = 0;
			trd.options[0] = new Option( lng_db["all"], '0' );
			trd2.options.length = 0;
			trd2.options[0] = new Option( lng_db["all"], '0' );
			break;
	}
}

function prepareSearch( f )
{
	el = f.elements; toremove = new Array();
	for ( var i=0; i<el.length; i++ )
	{
		if ( el[i].value == "0" || el[i].value == "" || el[i].value == 0 )
		{
			toremove[toremove.length] = el[i];
		}
	}
	for ( var i=0; i<toremove.length; i++ )
	{
		tmp = toremove[i];
		toremove[i] = 1;
		f.removeChild( tmp );
	}
}

function openPop( url )
{
	var top = (screen.height - 600) / 2;
	var left = (screen.width - 830) / 2;
	var features = 'width=830, height=600, scrollbars=1, menubar=1, resizable=0, statusbar=0, top=' + top + ', left=' + left + '';
	var newWin = window.open( url, '', features );
	newWin.focus();
}