/* @author http://www.brutka.com/ */

function iEffShow(e){
	var p = 2;
	var x = GetAbsX(e);
	var y = GetAbsY(e);
	var w = e.offsetWidth;
	var h = e.offsetHeight;
	var dBox = document.getElementById('dBox');
	var iBox = document.getElementById('iBox');
	var aBox = document.getElementById('aBox');
				
	dBox.style.display = 'block';
	dBox.style.left    = (x-p)+'px';
	dBox.style.top     = (y-p)+'px';
	dBox.style.width   = (w+(p*2))+'px';
	dBox.style.height  = (h+(p*2))+'px';
	
	iBox.style.width   = (w+(p*2))+'px';
	iBox.style.height  = (h+(p*2))+'px';
	iBox.src  = e.src;
	aBox.href = e.parentNode.href;
}

function iEffHide(e){
	e.style.display = 'none';
}

function GetAbsX(e){
	var x = e.offsetLeft;
	while(e = e.offsetParent){ x += e.offsetLeft; }
	return x;
}

function GetAbsY(e){
	var y = e.offsetTop;
	while(e = e.offsetParent){ y += e.offsetTop; }
	return y;
}

function initDocum()
{
	var dive = document.getElementsByTagName('div');
	
	var elem = document.getElementsByTagName('img');
	
	for(var i=0; i < elem.length; i++){	var child = elem[i]; var elem_class = child.className.split(' ');	
		for(var index=0; index < elem_class.length; index++){
			if(elem_class[index] == 'effects'){ child.onmouseover = overEffects; child.onmouseout  = outEffects; }}
	}
	
	for(var i=0; i < dive.length; i++){ var childButton = dive[i];
		if(childButton.className == 'cpage'){ childButton.onmouseover = overButton;	childButton.onmouseout = outButton; }
	}
	
	var s = document.getElementsByTagName("select") || document.all;	
	for(var i=0; i<s.length; i++){
		var p = s[i];
		var c = p.className.split(' ');
		for(var j=0; j<c.length; j++){
			if(c[j] == 'go_page'){
				p.onchange = go_page;
			}
		}
	}
}

function sortItem(){
	var e = document.getElementById('sort_item');
	var l = location.href;
	
	if(e.value != 'none'){ document.location = addParams(location.href, 'sort', e.value); }
	else{ document.location = delParams(l, 'sort'); }
}

function sortAs(as){
	var e = document.getElementById('sort_item');
	var l = location.href;
	
	if(e.value != 'none'){
		l = addParams(l, 'sort', e.value);
		l = addParams(l, 'sortas', as);
		document.location = l;
	} else {
		l = delParams(l, 'sort');
		l = delParams(l, 'sortas');
		document.location = delParams(l, 'sort');
	}
}

function sortParams(p){
	var s = p.split('&');
	var l = location.href;
	var m = false;
	
	for(var i=0; i<s.length; i++){
		var n=s[i].split('=');
		if(n[0]=='mfr') m = true;
		l = addParams(l, n[0], n[1]);
	}
	
	if(m){
		l = delParams(l, 'prm');
		l = delParams(l, 'opt');
	} else {
		l = delParams(l, 'mfr');
	}
	
	l = addParams(l, 'page', 1);
	document.location = l;
}

function changeView(view){ document.location = addParams(addParams(location.href, 'page', 1), 'view', view); }

function addParams(docUrl, new_params, value)
{
	var loc = docUrl;
	var pos = loc.indexOf("?");
	var url = null;
	
	if(pos != -1){ var is = loc.indexOf(new_params);
		if(is != -1){
			var oldloc = loc.substr(0, is);
			var params = loc.substr(is);
			var multip = params.indexOf('&');
			
			if(multip != -1){ var n_params = params.substr(multip);	url = oldloc+new_params+'='+value+n_params;	return url;	}
			else{ url = oldloc+new_params+'='+value; return url; }
		} else{ url = loc+'&'+new_params+'='+value; return url; }
	} else{ url = loc+'?'+new_params+'='+value; return url; }
}

function delParams(url, name){
	var i = url.indexOf("?");
	if(i != -1){
		var np = Array(), index=0, ls='';
		var ap = url.substr((i+1), url.length).split("&");
		for(var n=0; n < ap.length; n++){
			var p=ap[n].split("=");
			if(p[0]!=name){ np[index] = ap[n]; index++; }
		}
		for(var n=0; n < np.length; n++){
			ls += '&'+np[n];
		}
		ls = ls.substr(1, ls.length);
		return url.substr(0, i)+'?'+ls;
	}
}

function go_page() {
	if(this.value=='all'){
		document.location = addParams(window.location.href, 'page', 'all');
	} else {
		document.location = addParams(window.location.href, 'page', ((parseInt(this.value)!=0)?this.value:1));
	}
}

function overEffects()
{
	var elem_class = this.className;
	var pos = elem_class.indexOf('effects');
	var p1='', p2='';
	
	if(pos != -1){ p1 = elem_class.substr(0, pos); p2 = elem_class.substr(pos+7);	}
	this.className = p1+p2;
}

function outEffects(){ this.className = this.className+' effects'; }
function overButton(){ this.style.background = '#f7f7f7'; }
function outButton() { this.style.background = '#e3e3e3'; }

function observe(element, eventName, handler)
{ 
	if (element.addEventListener) { 
	  element.addEventListener(eventName, handler, false); 
	} else if (element.attachEvent) { 
	  element.attachEvent('on' + eventName, handler); 
	} 
}

observe(window, 'load', initDocum);

