/* 

	Author: Greg Gawlik - Web Designers
	        http://www.webdesigners.pl/

	Popups scripts based on geniuine Pornel Idea
	Idea: Kornel Lesinski
	      http://pornel.net/pups/

*/


var popupAddWidth = 100;
var popupAddHeight = 235;

var popupsMaker = 
{
	makePopups: function() {

		var db = document.body;

		if (!db || !db.getElementsByTagName) { return false; }

		var as = db.getElementsByTagName('a');
		for(var i=0;i<as.length;i++)
		{
			if ((as[i].title).match(/\(([0-9]+)x([0-9]+)x([0-1]+)\)/))
			{
				as[i].onclick = this.click;
			}
		}
	},

	click: function()
	{

		try {
			if (this.pp_win && this.pp_win.close && !this.pp_win.closed) {this.pp_win.close(); this.pp_win=false;}
		}
		
	  	catch(e){}
		
		try {
			var title = this.getAttribute('title');

			var titleandsize = popupsMaker.title2size(title);
			var gpwidth = titleandsize[1] + popupAddWidth;
			var gpheight = titleandsize[2] + popupAddHeight;
			var gpscroll = titleandsize[3];

			if(gpscroll == 0)
			   var scrollbars = "no";
			else
			   var scrollbars = "yes";

			var winopts = "dependent=yes,toolbar=no,resizable=yes,scrollbars=" + scrollbars + ",width=" + gpwidth + ",height=" + gpheight;

			window.open(this.href,'_blank',winopts);
			return false;
		}
	  	catch(e){}

	  	return true;

	},

	title2size: function(str)
	{
		if (str)
		{
			var out = str.match(/\(([0-9]+)x([0-9]+)x([0-1]+)\)/);
			if (out) return new Array(str, parseInt(out[1]), parseInt(out[2]), parseInt(out[3]));
		}
		
		return new Array(str, 800, 800, 1);
	},


	initNow: function() {

		this.makePopups();
	}

};

var smartFields =
{	
	makeSmartFields: function () {

		var d = document;
		var a = sfArray;
		
		for (x in a)
		{
			var id = x;
			var value = a[x];
			var f = d.getElementById(id);
			
			if(!isNull(f))
			  {
				f.onblur = this.a_onblur;
				f.onfocus = this.a_onfocus;
			  }
		}
	},
	
	a_onblur: function() {
	
		if(this.value == "") { this.value = sfArray[this.id]; }
	},
	
	a_onfocus: function() {
		
		if(this.value == sfArray[this.id]) { this.value = ""; }
	},
	
	initNow: function() {

		if (!document.getElementById) { return false; }
		this.makeSmartFields();
	}
};

var manSelect = 
{
	makeManSelect: function	() {
		
		var d = document;
		var s = d.getElementById("manufacturers_select");
		var i = d.getElementById("manufacturers_input");
		
		if(isObject(s))
		   s.onchange = this.select_onchange;
		
		if(isObject(i))
		   i.onclick = this.select_onchange; 
	},
	select_onchange: function () {
		
		var d = document;
		var host = 'http://' + d.location.host + '/';
	
		manSelect.showManufacturer('manufacturers', host);
		return false;
	},
	showManufacturer: function(form_name, sbase) {
	
		var d = document;
		var f = d.forms[form_name];
		var sid = f.sid.value;
		
		if(f.manufacturer.options[f.manufacturer.selectedIndex].value != "")
		  {
			var url = sbase + f.manufacturer.options[f.manufacturer.selectedIndex].value;
		
			if(sid != "")
			   url = url + '?' + sid;
	
			d.location = url;
		  }
		return false;
	},
	initNow: function() {

		if (!document.getElementById) { return false; }
		this.makeManSelect();
	}
};

var smartMenu = 
{
	makeSmartMenu: function (list_id, prfx, url) {
		
		var d = document;
		var db = d.body;
		var opened_menu = 'false'; //GetCookie(list_id);
		
		//DOM browser compatibile checking
		if (!db || !db.getElementsByTagName || !d.getElementById) { return false; }
		
		var ul_obj = smartMenu.getMenu(list_id);
		
		if(ul_obj)
		  {
		  	//Getting all ul childs
			var uls_obj = smartMenu.getAllSubMenus(ul_obj);
			
			this.makeMenus(uls_obj, list_id, prfx);
			this.hideAll(uls_obj);
			
			if(isNull(url))
			   var dc = document.location;
			else
			   var dc = url;
			
			if(opened_menu == 'false' || isNull(opened_menu)) { this.openMenuUrl(list_id, dc, ul_obj); }
			else   					 	  { this.openMenu(list_id, opened_menu); }
		  }
	},
	makeMenus: function(uls_obj, list_id, prfx) {
		
		for(i=0; i<uls_obj.length; i++) {
			
			uls_obj[i].id = prfx + '_' + i;
				
			var parent_li = uls_obj[i].parentNode;
				
			if(isObject(parent_li))
			  {
				var parent_li_a = parent_li.getElementsByTagName('a')[0];
				
				parent_li_a.list_id = list_id;
				parent_li_a.onclick = this.switchMenu;
			  }
		}
	},
	hideAll: function(uls_obj) {
		
		isObject(uls_obj)
			for(i=0; i<uls_obj.length; i++)
				uls_obj[i].style.display = 'none';
	},
	showAll: function(uls_obj) {
		
		for(i=0; i<uls_obj.length; i++)
		   uls_obj[i].style.display = 'block';
	},
	getAllSubMenus: function(ul_obj) {
		
		var uls_obj = ul_obj.getElementsByTagName('ul');
		return uls_obj;
	},
	getCatUrl: function(url) {
		
		//Document location without pages
		var dc_str = new String(url);
		var dc_rgxp = new RegExp("\/page\/[0-9]+", "gi");
		var dc_val = dc_str.replace(dc_rgxp, '');
		
		return dc_val;
	},
	getMenu: function(ul_id) {
		
		var ul_obj = document.getElementById(ul_id);
		
		if(isObject(ul_obj))
		   return ul_obj;
		else
		   return false;
	},
	switchMenu: function () {
		
		var list_id = this.list_id;
		var parent_li = this.parentNode;
		var relate_ul = parent_li.getElementsByTagName('ul')[0];
		
		if(relate_ul.style.display == 'block')
		   smartMenu.closeTree(list_id, relate_ul);
		else
		   smartMenu.openTree(list_id, relate_ul);
		   
		var dc_val = smartMenu.getCatUrl(document.location);
		var hr_val = this.href;
		
		if(hr_val != dc_val)
		   return true;
		else
		   return false;
		
	},
	openMenu: function (list_id, ul_id) {
		
		var d = document;
		var ul_obj = d.getElementById(ul_id);
		
		this.openTree(list_id, ul_obj);
	},
	openMenuUrl: function (list_id, url, ul_obj) {
		
		var dc_val = smartMenu.getCatUrl(url);
		var as_obj = ul_obj.getElementsByTagName('a');
		
		for(i=0; i<as_obj.length; i++) {
			
			if(as_obj[i].href == dc_val) {
				
				var parent_li = as_obj[i].parentNode;
				var parent_ul = parent_li.parentNode;
				var relate_ul = parent_li.getElementsByTagName('ul')[0];
				
				if(isObject(relate_ul))
				   smartMenu.openTree(list_id, relate_ul);
				else
				   smartMenu.openTree(list_id, parent_ul);
				
				break;
			}
		}
	},
	openTree: function (list_id, ul_obj) {
		
		SetCookie(list_id, ul_obj.id, "", "/");
		
		smartMenu.hideAll(smartMenu.getAllSubMenus(smartMenu.getMenu(list_id)));
		this.openParent(list_id, ul_obj);
	},
	openParent: function (border, ul_obj) {
		
		if(ul_obj.id != border && isObject(ul_obj))
		  {
			ul_obj.style.display = 'block';
			var li_parent = ul_obj.parentNode;
			var ul_parent = li_parent.parentNode;
			
			this.openParent(border, ul_parent);
		  }
		
	},
	closeTree: function (list_id, ul_obj) {
		
		ul_obj.style.display = 'none';
		uls_obj = smartMenu.getAllSubMenus(ul_obj);
		
		var li_parent = ul_obj.parentNode;
		var ul_parent = li_parent.parentNode;
		
		if(ul_parent.id == list_id)
		   SetCookie(list_id, 'false', "", "/");
		else
		   SetCookie(list_id, ul_parent.id, "", "/");
		
		this.hideAll(uls_obj);
	},
	initNow: function(list_id, prfx, url) {
		
		this.makeSmartMenu(list_id, prfx, url);
	}
};

var ShortcutsSwitcher = 
{
	makeShortcutsSwitcher: function (id) {
		
		var d = document;
		var db = d.body;
		
		//DOM browser compatibile checking
		if (!db || !db.getElementsByTagName || !d.getElementById) { return false; }
		
		var element = d.getElementById(id);

		if(isObject(element)) 
		  {
		  	var links = element.getElementsByTagName('a');
		  	
		  	if(isObject(links))
		  	  {
		  		for(var i = 0; i < links.length; i++) {
		  			
		  			var link = links[i];
		  			var parent = link.parentNode;
		  			
		  			if(parent.className == 'title')
		  			  {
		  				if(link.parentNode.parentNode.parentNode.className == 'rollup')
		  				  {
		  					link.title = 'Click to rolldown and see details';
		  				  }
		  				else
		  				  {
		  					link.title = 'Click to read more';
		  				  }
		  			  	
		  			  	link.id_element = id;
		  				link.onclick = this.SwitchShortcut;
		  			  }
		  		}
		  	  }
		  }
		
	},
	HideAllShortcuts: function(id) {
		
		var d = document;
		var element = d.getElementById(id);
		
		if(isObject(element)) 
		  {
			var list_elements = element.getElementsByTagName('li');
			
			if(isObject(list_elements))
			  {
				for(var i = 0; i < list_elements.length; i++) {
					
					list_elements[i].className = 'rollup';
					
					var links = list_elements[i].getElementsByTagName('a');
				  	if(isObject(links))
				  	  {
				  		for(var a = 0; a < links.length; a++) {
				  			
				  			var link = links[a];
				  			var parent = link.parentNode;
				  			
				  			if(parent.className == 'title')
				  			  {
				  			  	link.title = 'Click to rolldown and see details';
				  			  }
				  		}
				  	  }
				}
			  }
		  }
	},
	SwitchShortcut: function () {
		
		var parent_li = this.parentNode.parentNode.parentNode;
		
		if(parent_li.className == 'rollup')
		  {
		  	ShortcutsSwitcher.HideAllShortcuts(this.id_element);
			parent_li.className = 'rolldown';
			this.title = 'Click to read more';
			return false;
		  }
		else
		  {
			return true;
		  }
	},
	initNow: function (id) {
		
		this.makeShortcutsSwitcher(id);
	}
};

function isNull(a) {
    return typeof a == 'object' && !a;
}
function isObject(a) {
    return (a && typeof a == 'object') || isFunction(a);
}
function isFunction(a) {
    return typeof a == 'function';
}
function getCookieVal (offset) {

	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1)
	endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie (name) {

	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen) {

		var j = i + alen;
		if (document.cookie.substring(i, j) == arg)
		return getCookieVal (j);
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) break;

	}
	return null;
}
function SetCookie (name, value, expires, path, domain, secure) {

    document.cookie = name + "=" +escape(value) +
        ( (expires) ? ";expires=" + expires.toGMTString() : "") +
        ( (path) ? ";path=" + path : "") + 
        ( (domain) ? ";domain=" + domain : "") +
        ( (secure) ? ";secure" : "");
}
function DeleteCookie (name) {

	var exp = new Date();
	exp.setTime (exp.getTime() - 1);  // This cookie is history
	var cval = GetCookie (name);
	document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}

function initNow(url) {

	smartFields.initNow();
	smartMenu.initNow('trade_categories', 'trade_cat', url);
	smartMenu.initNow('main_section_menu', 'main_scm', url);
	popupsMaker.initNow();
	initLytebox();
}

var sfArray = new Array();
sfArray["search_input"] = "Search...";
sfArray["search_phase"] = "...";