var QS = getArgs();

function initPortfolioHover() {
	var _holder = document.getElementById("portfolio");
	if (_holder)
	{
		var _blocks = _holder.getElementsByTagName("div");
		for (i = 0; i < _blocks.length; i++)
		{
			if (_blocks[i].className.indexOf("item-holder") != -1)
			{
				_blocks[i].onmouseover = function() {
					if (this.className.indexOf("hover") == -1)
					{
						this.className += " hover";
					}
				};
				_blocks[i].onmouseout = function() {
					this.className = this.className.replace("hover", "");
				};
			}
		}
	}
}

function initSearchHover() {
	var _holder = document.getElementById("search-list");
	if (_holder)
	{
		var _blocks = _holder.getElementsByTagName("div");
		for (i = 0; i < _blocks.length; i++)
		{
			if (_blocks[i].className == "text")
			{
				_blocks[i].onmouseover = function() {
					if (this.className.indexOf("hover") == -1)
					{
						this.className += " hover";
					}
				};
				_blocks[i].onmouseout = function() {
					this.className = this.className.replace("hover", "");
				};
			}
		}
	}
}

function initAccordion() {
		var _box = $('accordion');
		if (_box)
		{
			var els = _box.getElements("div.section");
			els.each(function(el) {
				var accordion = new Accordion(el.getElements('h3'), el.getElements('div.slide'), {
					opacity: false,
					fixedHeight: 268,
					onActive: function(toggler, element){},
 
					onBackground: function(toggler, element){}
				}, el);
			}, this);
		}	
}

function initFlip() {
	var _box = $('teasers');
	if (_box)
	{
		var els = _box.getElements("div.section");
		els.each(function(el) {
			var flip = new Flip(el.getElements('p.flip a'), el.getElements('div.bg'), {
				onActive: function(toggler, element){},
				onBackground: function(toggler, element){}
			}, el);
		}, this);
	}
}


function detectSafari(){
if (navigator.appVersion.indexOf("Safari") != -1)
	{
		if(!window.getComputedStyle)
		{
   			document.body.className += " safari";
  		}
	}
}

function initSort() {
	var _link = document.getElementById("sortby-holder");
	if (_link)
	{
		_link.onmouseover = function() {
			this.className = "sortbyhover";
		};
		_link.onmouseout = function() {
			this.className = "sortby";
		};
	}
}

var _clock = null;
function initClock() {
	_clock = document.getElementById("clock");
	if (_clock)
	{
		updateClock();
	}
}

function updateClock() {
	var _date = new Date();
	var _sup = "th";
	var day = formatDate(new Date(), "d");
	if (day == 1)
	{
		_sup = "st";
	}
	else if (day == 2)
	{
		_sup = "nd";
	}
	
	var a = formatDate(_date, "a").toLowerCase();
	
	_clock.innerHTML = "<span>~ "+formatDate(_date, "EE MMM ")+day+"<sup>"+_sup+"</sup>"+" ~</span>";
	_clock.innerHTML += "<span><sup>"+formatDate(_date, "h:mm ")+a+"</sup></span>";
	/* update interval = 20 seconds*/
	setTimeout('updateClock()',20000);
}

var fLInks = [];

function initFooter() {
	var _box = $('navigation-sub');
	if (_box)
	{
		fLinks = _box.getElements("a[rel=external]");
		if (fLinks.length)
		{
			fLinks.each(function(node) {
				node.onclick = function() {				
					fLinks.each(function(el){
						el.className = el.className.replace("active", "");
					});
				
					if (this.className.indexOf("active") == -1)
					{
						this.className += " active";
						
						if (this.className.indexOf("glossary") != -1)
						{
							getFooterRequest(this.href, 'Glossary.init()');
						}
						else
						{
							getFooterRequest(this.href);
						}
						
					}
					return false;
				}
			});
			var link = fLinks.getRandom();
			link.className += " active";
			if (link.className.indexOf("glossary") != -1)
			{
				getFooterRequest(link.href, 'Glossary.init()');
			}
			else
			{
				getFooterRequest(link.href);
			}
		}
	}
}

function getFooterRequest(_href, _onload) {
	if (typeof(_onload) == "undefined")
	{
		_onload = null;
	}
	getHttpRequest(_href, null, _onload);
}


var transparentImage = "images/transparent.gif";

function fixTrans()
{
	if (typeof document.body.style.maxHeight == 'undefined') {

	var imgs = document.getElementsByTagName("img");
	
	for (i = 0; i < imgs.length; i++)
	{	
		if (imgs[i].src.indexOf(transparentImage) != -1)
		{
			return;
		}

		if (imgs[i].src.indexOf(".png") != -1)
			{
				var src = imgs[i].src;
				imgs[i].src = transparentImage;
				imgs[i].runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
			}
		}	
	}
}

function getArgs() {
	var args = new Object();
	var query = location.search.substring(1);
	var pairs = query.split("&");
	for(var i = 0; i < pairs.length; i++) {
		var pos = pairs[i].indexOf('=');
		if (pos == -1) continue;
		var argname = pairs[i].substring(0,pos);
		var value = pairs[i].substring(pos+1);
		args[argname] = unescape(value);
	}
	return args;
}

function initPortfolio() {
	var _portfolio = $('portfolio');
	if (_portfolio) {
		if (QS["page"] && (QS["page"] != 1))
		{
			loadPortfolio("pages/portfolio"+QS["page"]+".html");
		}
		else
		{
			loadPortfolio("pages/portfolio.html");
		}
	}
	var _proll = $('pages');
	var _proll_next = $('pages-next');
	var _proll_prev = $('pages-prev');
	if (_proll && _proll_next && _proll_prev) {
		var _ul = $('pages-roll');
		var _links = _ul.getElementsByTagName("a");
		_ul.count = _links.length;
		_ul.active = 0;
		_ul.fx = new Fx.Style(_ul, 'margin-left', {wait: true,duration:500	});
		for (i = 0; i < _links.length; i++)
		{
			_links[i].onclick = function() {
				loadPortfolio(this.href);
				QS = [];
				window.location = "#portfolio";
				return false;
			}
		}
		_proll_next.obj = _ul;
		_proll_prev.obj = _ul;
		if (_ul.count > 5)
		{
			_proll_next.style.visibility = "visible";
			_proll_prev.style.visibility = "visible";
			
			_proll_prev.onclick = function() {
				if ((this.obj.active-5) > 0) {
				this.obj.active = this.obj.active - 5;
					this.obj.fx.start(0 - this.obj.active*25);
				}
				else {
					this.obj.active = 0;
					this.obj.fx.start(0);
				}
				return false;
			}
			_proll_next.onclick = function() {
				if ((this.obj.active+10) < this.obj.count) {
					this.obj.active = this.obj.active + 5;
					this.obj.fx.start(0 - this.obj.active*25);
				}
				else {
					this.obj.active = this.obj.count - 5;
					this.obj.fx.start(0 - this.obj.active*25);
				}
				return false;
			}
		}
		/*_links.each(function(link){
			
		}); */
	}
}

function makePopups() {
	if (document.all && !window.opera)
	{
		initPortfolioHover();
	}
		_onloadReflex();
	if (QS["ids"])
	{
		var _loc = document.getElementById("ids"+QS["ids"]);
		if (_loc)
		{
			var links = _loc.getElementsByTagName("a");
			for (i = 0; i < links.length; i++)
			{
				if ((links[i].parentNode.className == "viewmore") && links[i].onclick)
				{
					hs.htmlExpand(links[i], { align: 'center', objectType: 'ajax', preserveContent: true, outlineType: 'rounded-theoldstate'} )
				}
			}
			
		}
	}
	
}

function loadPortfolio(_link) {
	getHttpRequest(_link, null, 'makePopups()');
}

function makeSlide() {
	if (document.all && !window.opera)
	{
		initPortfolioHover();
	}
		_onloadReflex();
	var uls = $$('ul.icons-roll');
	if (uls.length) {
		uls.each(function(ul){
			if (!ul.changed) {
				makeUl(ul);
			}
		});
	}
}

function makeUl(obj) {
	
	obj.links = obj.getElements("a");
	obj.links.each(function(link){
		link.obj = obj;
		link.onclick = function() {
			this.obj.links.each(function(el){
				el.className = "";
			});
			this._img = this.obj.parentNode.parentNode.parentNode.parentNode.getElementsByTagName("img")[0];
			this._img.src = this.href;
			this.className = "active";
			return false;
		}
	});
}

function postCForm() {
	// NOTE!!! It's "POST" request....
	getHttpRequest('contact2.aspx', getFormParams(document.getElementById('contact')), 'postCFormEnd()' );
	return false;
}

function postCFormEnd() {
	alert("Contact details sent successfully");
}

if (window.addEventListener) {
	window.addEventListener("load", initAccordion, false);
	window.addEventListener("load", initFlip, false);
	window.addEventListener("load", initPortfolio, false);
	window.addEventListener("load", initSort, false);
	window.addEventListener("load", initClock, false);
	window.addEventListener("load", initFooter, false);
	window.addEventListener("load", detectSafari, false);
}
else if (window.attachEvent) {
	window.attachEvent("onload", fixTrans);
	window.attachEvent("onload", initAccordion);
	window.attachEvent("onload", initPortfolio);
	window.attachEvent("onload", initPortfolioHover);
	window.attachEvent("onload", initSearchHover);
	window.attachEvent("onload", initFlip);
	window.attachEvent("onload", initSort);
	window.attachEvent("onload", initClock);
	window.attachEvent("onload", initFooter);
 }

	




