/**
 * global loader
 */
var Loader = {
	initialized: 0,
	stack: [],

	/**
	 * push function on stack
	 */
	push: function(funct) {
		this.stack.push(funct);
	},

	/**
	 * execute functions stored in stack
	 */
	start: function() {
		if (this.initialized == 0) {
			for (var i=0; i<this.stack.length; i++) {
				this.stack[i]();
				this.stack[i] = null;
			}
			this.stack = [];
		}
		this.initialized += 1;
	}
}

var True = true;
var False = false;

/**
 * left menu
 */
var Menu = function() {

	var options = {
		isRegistred: false,
		isBuyer: false,
		isSeller: false,
		isBorrower: false,
		isLegalApplicant: false,
		isMyHaardExpanded: false,
		isOurServicesExpanded: false,
		isPropertyNewsExpanded: false

	}
	/*var myHaart, services, news, links = {};*/
	var myHaart, news, links = {};

	var attachLink = function() {
		myHaart = document.getElementById('js_haart');
		/*services = document.getElementById('js_services');
		news = document.getElementById('js_news');*/

		/*if (!services) return false;
		var slink = services.getElementsByTagName('a')[0];
		if (slink) {
			slink.onclick = function() {
				Menu.toggleSerices(this);
				return false;
			}
			if (options.isOurServicesExpanded == true)
				Menu.toggleSerices(slink);
		}

		if (!news) return false;
		var nlink = news.getElementsByTagName('a')[0];
		if (nlink) {
			nlink.onclick = function() {
				Menu.toggleNews(this);
				return false;
			}
			if (options.isPropertyNewsExpanded == true)
				Menu.toggleNews(nlink);
		}*/

		if (!myHaart) return false;
		var link = myHaart.getElementsByTagName('a')[0];
		if (link) {
			link.onclick = function() {
				Menu.toggleHaart(this);
				if (options.isRegistred) return false;
				else return true;
			}
			if (options.isMyHaardExpanded == true)
				Menu.toggleHaart(link);
		}
		var lis = myHaart.getElementsByTagName('li');
		for(var i=0, length=lis.length; i<length; i++) {
			var className = lis[i].className.match('js_([^ |$]+)');
			var name = className[1];
			if (name) {
				links[name] = lis[i];
				setVisibility(name);
			}
		}
	}

	var setVisibility = function(name) {
		if (typeof links[name] != 'undefined') {
			if (options[name] == true) {
				links[name].style.display='';
			} else {
				links[name].style.display='none';
			}
		}
	}

	return {
		init: function(options) {
			this.setOptions(options);
			attachLink();
		},

		toggleHaart: function(element) {
			if (options.isRegistred) {
				var ul = element.parentNode.getElementsByTagName('ul')[0];
				var flag = document.getElementById('js_isMyHaardExpanded');
				if (ul.style.display == 'none') {
					ul.style.display = '';
					if (flag) flag.value = 'True';
				} else {
					ul.style.display = 'none';
					if (flag) flag.value = 'False';
				}
			}
		},
		toggleSerices: function(element) {
			var ul = element.parentNode.getElementsByTagName('ul')[0];
			var flag = document.getElementById('js_isOurServicesExpanded');
			if (ul.style.display == 'none') {
				ul.style.display = '';
				if (flag) flag.value = 'True';
			} else {
				ul.style.display = 'none';
				if (flag) flag.value = 'False';
			}
		},
		toggleNews: function(element) {
			var ul = element.parentNode.getElementsByTagName('ul')[0];
			var flag = document.getElementById('js_isPropertyNewsExpanded');
			if (ul.style.display == 'none') {
				ul.style.display = '';
				if (flag) flag.value = 'True';
			} else {
				ul.style.display = 'none';
				if (flag) flag.value = 'False';
			}
		},

		setOptions: function(newOptions) {
			for(key in newOptions) {
				if (typeof newOptions[key] != 'function') {
					options[key] = newOptions[key];
					setVisibility(key);
				}
			}
		},

		getOptions: function() {
			return options;
		}
	}
}();
Loader.push(function() { Menu.init() });

var svitchFLV = function(videoUrl) {
	if (document.getElementById('flash-player')) {
		var so = new SWFObject('/flash/flv_player.swf', 'homepage-flash-object', 280, 227, '8', '#ffffff');
		so.addParam('FlashVars', 'videoPath=/videos/'+videoUrl);
		so.write('flash-player');
	}
	return false;
}

var FlashMap = {
	mapid: null,

	show: function(mapId, file, checkedTowns, closedBranches, branchTextAreaId) {
		if (document.getElementById(mapId)) {
			var so = new SWFObject(file, 'map-flash-object', 440, 400, '7', '#f8fafb');
			so.addParam('allowScriptAccess', 'sameDomain');
			so.addParam('wmode','transparent');
			so.addVariable('chckdtowns', checkedTowns);
			so.addVariable('closedBranches', closedBranches);
			so.addVariable('branchTextAreaId', branchTextAreaId);
			so.write(mapId);
		}
		return false;
	}
	
	    
}

//var FlashMapA = {
//	mapid: null,
//	show: function(file, checkedTowns) {
//		if (document.getElementById('flash-map')) {
//			var so = new SWFObject(file, 'map-flash-object', 440, 400, '7', '#000000');
//			so.addParam('allowScriptAccess', 'sameDomain');
//			so.addVariable('chckdtowns', checkedTowns);
//			so.write('flash-map');
//		}
//		return false;
//	}
//	
//	    
//}


var setSearchValues = function(name, add, branchTextAreaId) {
	var input = document.getElementById(branchTextAreaId);
	if (!input) return false;

	var values = input.value.split(',');
	if (values[0] == '') values = [];

	var removeItem = function(items, itemName) {
		var removed = false;
		for(var i=0; i<items.length; i++) {
			if (items[i].trim() == itemName.trim()) {
				items.splice(i,1);
				removed = true;
			}
		}
		return removed;
	}

	if(add == "true")
	{
	    removeItem(values, name);
	    values.push(name);
	}
	else removeItem(values, name);

	input.value = values.join(',').trim();
}


Loader.push(function() {
	var lis = document.body.getElementsByTagName('*');
	var play_some = function() { svitchFLV('Clip_01.flv'); };
	for (var i=0,length=lis.length; i<length; i++) {
		if (lis[i].className.match('bullet1')) {
			var a = lis[i].getElementsByTagName('a')[0];
			if (a && typeof a.onclick == 'function') play_some = a.onclick;
		}
	}
	play_some();
});


function readMap() {
	var map, i;
	map=document.getElementsByTagName('area');

	for(i=0;i<map.length;i++) {
		map[i].onmouseover=function() { change(this); };
		map[i].onmouseout=function() { change(this); };
	}
}

Loader.push(function(){ readMap(); });


function change(o) {
	var mapbg, id;
	id = o.id;
	mapbg = document.getElementById('imgmap');
    if(mapbg){
	if(id == mapbg.className) {
		mapbg.className='m-off';
	}
	else {
		mapbg.className=id;
	}}
}


// global onload function
var _init = function() {
	Loader.start();
}

