var $ = function(){};

function val_constructor(){
	for(i=0;i<arguments.length;i++){
		var tmp = arguments[i];
		var prepared = Array();
		if (typeof(tmp)=='string'){
			prepared = tmp.split(',');
		} else {
			prepared = tmp;
		}
		for(j=0;j<prepared.length;j++) $[prepared[j]] = d(prepared[j]);
	}
}

function menuhighlight(mi) {
    //alert(mi.id);
    menu_close = false;
    //var topsub = document.getElementById('sub_menu');
    //topsub.innerHTML='&nbsp;';
    if (mi.parentNode.lastChild.nodeName=='UL'){
	if ($['selmenu']){
		$['selmenu'].className='';
		$['selmenu'].parentNode.lastChild.style.display='none';
		$['selmenu'] = '';
		$['selmenu'] = mi;
		$['selmenu'].className = 'selected';
		$['selmenu'].parentNode.lastChild.style.display='block';
	} else {
		$['selmenu'] = mi;
		$['selmenu'].className = 'selected';
	}
	    //var submenu = mi.parentNode.lastChild;
	    //topsub.insertBefore(submenu.cloneNode(true),topsub.firstChild);
    }
}

function flash_submenu() {
	var sm = document.getElementById('sub_menu');
	sm.style.backgroundColor='#6fa9ed';
	changecss('li.submenu_item a','color','white');
	setTimeout(function(){ sm.style.backgroundColor=''; changecss('li.submenu_item a','color','#636466'); },1000);
}

// http://www.shawnolson.net/scripts/public_smo_scripts.js
function changecss(theClass,element,evalue) {
	var cssRules;
	if (document.all) {
		cssRules = 'rules';
	}
	else if (document.getElementById) {
		cssRules = 'cssRules';
	}
	for (var S = 0; S < document.styleSheets.length; S++){
		for (var R = 0; R < document.styleSheets[S][cssRules].length; R++) {
			if (document.styleSheets[S][cssRules][R].selectorText == theClass) {
				document.styleSheets[S][cssRules][R].style[element] = evalue;

			}
		}
	}
}

function ajax_login(target_url) {
	var lw = d('login_window');

	var target_el_node = lw.parentNode.parentNode;


	var target_el = 'login_window';

	if (target_el_node.nodeName == 'DIV' || target_el_node.nodeName == 'TD') {
		var target_el = target_el_node.id;
	}

	var t = d(target_el);

	setTimeout(function(){
		t.innerHTML = '<div align="left"><img border="0" src="/ui2/images/loading.gif"> <b style="color:darkred;">Authenticating...</b></div>';
	},500);

	setTimeout(function(){
		if (target_el == 'page_content' || target_el == 'login_window' || target_el == '') {
			t.innerHTML = '<div align="left"><img border="0" src="/ui2/images/loading.gif"> <b style="color:darkred;">Redirecting...</b></div>';
			location.href = target_url;
		} else {
			xmlreq_put(target_url,target_el);
		}
	},2000);
}












function dc(dc_obj){
	var new_element = false;
	if (dc_obj && dc_obj.tagname) new_element = document.createElement(dc_obj.tagname);
	for (i in dc_obj){
		if (typeof dc_obj[i] !='function'){
			new_element[i] = dc_obj[i];
		}
	}
	return new_element;
}

function dn(node){
	if (node.parentNode){
		node.parentNode.removeChild(node);
	}
}

function d(node_id){
	if (document.getElementById(node_id)){
		return document.getElementById(node_id);
	} else {
		return false;
	}
}
function dd(){
	var block = arguments[0];
	if (!block) return;
	var result_nodes = Array();
	var nodes = document.getElementsByTagName(block);
	for (node in nodes){
		if (arguments.length>1){
			if (nodes[node]&& (typeof nodes[node]!='function') && nodes[node].className)
			for (i=1;i<arguments.length;i++){
				var index = nodes[node].className.indexOf(arguments[i]);
				var classname = nodes[node].className;
				if ((nodes[node].className == arguments[i]) || (index==0&&classname.charAt(arguments[i].length+1)==' ') || (classname.charAt(index-1)==' ' &&  classname.charAt(arguments[i].length+1)==' ') || (classname.charAt(index-1)==' '&&index+arguments[i].length==classname.length)){
					result_nodes.push(nodes[node]);
				}
			}
		} else {
			if (nodes[node].nodeName==block) result_nodes.push(nodes[node]);
		}
	}
	return result_nodes;
}

function set_evt_by_class(tagname, classname, eventname, event_func){
	var nodes = dd(tagname,classname);
	for (i=0;i<nodes.length;i++)
		set_evt(nodes[i],eventname,event_func);
}

function t(e){
	var targ;
	if (!e) var e = window.event;
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	if (targ.nodeType == 3)
		targ = targ.parentNode;
	return targ;
}

function targ(e){
	var targ;
	if (!e) var e = window.event;
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	if (targ.nodeType == 3)
		targ = targ.parentNode;
	return targ;
}


function set_evt(el,evt,func){
	var node = el;
	if (node.addEventListener){
		node.addEventListener(evt,func,false);
		return true;
	} else if (node.attachEvent) return node.attachEvent("on"+evt,func);
}









var ms_XMLHTTP = '';
var global_request = false;
function xmlreq_post(sURL) {
	if (!global_request){
		var request=null;
		if (window.XMLHttpRequest) {
			request=new XMLHttpRequest();
		} else if (window.ActiveXObject){
			if (ms_XMLHTTP) {
				request = new ActiveXObject(ms_XMLHTTP);
			} else {
				var versions = ["Msxml2.XMLHTTP.7.0", "Msxml2.XMLHTTP.6.0", "Msxml2.XMLHTTP.5.0", "Msxml2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
				for (var i = 0; i < versions.length ; i++) {
					try {
						request = new ActiveXObject(versions[i]);
						if (request) {ms_XMLHTTP = versions[i]; break;}
					}
					catch (e){}
				}
			}
		}
		global_request = request;
	}
	if(!global_request) return ""; // if browser doesn't support XMLHTTP return empty string
	global_request.open("GET", sURL, false);
	global_request.send(null);
	return global_request.responseText;
}


    function xmlreq_put(url,to_where) {
		var argv = xmlreq_put.arguments;
		var on_compl = '' + argv[2];

		if (to_where=='basket') {
		    var bmw = d('bmw').value;
		    if (bmw>645) {
			url = url + '&bmw=' + bmw;
		    }
		}

		var tw=document.getElementById(to_where);
		var ch1=tw.offsetHeight;
		var ch2=tw.offsetWidth;

		tw.innerHTML = '<table height="'+ch1+'" width="'+ch2+'"><tr><td valign="top" align="left"><img border="0" src="/ui2/images/loading.gif"> <b style="color:darkred;">Loading...</b></td></tr></table>';

		setTimeout(function(){

			var http_request = false;

			if (window.XMLHttpRequest) { // Mozilla, Safari, ...
				http_request = new XMLHttpRequest();
				if (http_request.overrideMimeType) {
					http_request.overrideMimeType('text/xml');
					// See note below about this line
				}
			} else if (window.ActiveXObject) { // IE
				try {
					http_request = new ActiveXObject("Msxml2.XMLHTTP");
				} catch (e) {
					try {
						http_request = new ActiveXObject("Microsoft.XMLHTTP");
					} catch (e) {}
				}
			}

			if (!http_request) {
				alert('Giving up :( Cannot create an XMLHTTP instance');
				return false;
			}

			http_request.onreadystatechange = function() { applyContents(http_request,to_where,on_compl); };
			http_request.open('GET', url, true);
			http_request.send(null);

		},50);

    }

    function xmlreq_load(url,to_where,on_compl_f) {
      //alert('load: url=('+url+') target=('+to_where+') run=('+on_compl_f+')');

		setTimeout(function(){

			var http_request = false;

			if (window.XMLHttpRequest) { // Mozilla, Safari, ...
				http_request = new XMLHttpRequest();
				if (http_request.overrideMimeType) {
					http_request.overrideMimeType('text/xml');
					// See note below about this line
				}
			} else if (window.ActiveXObject) { // IE
				try {
					http_request = new ActiveXObject("Msxml2.XMLHTTP");
				} catch (e) {
					try {
						http_request = new ActiveXObject("Microsoft.XMLHTTP");
					} catch (e) {}
				}
			}

			if (!http_request) {
				alert('Giving up :( Cannot create an XMLHTTP instance');
				return false;
			}

			http_request.onreadystatechange = function() { applyContents(http_request,to_where,on_compl_f); };
			http_request.open('GET', url, true);
			http_request.send(null);

		},50);

    }

    function applyContents(http_request,where,on_complete_func) {

        if (http_request.readyState == 4) {
            if (http_request.status == 200) {
                //alert(http_request.responseText);
				document.getElementById(where).innerHTML = http_request.responseText;
				eval(on_complete_func);
            } else {
                alert('There was a problem with the request.');
            }
        }

    }


// rightclick

var message;
message =           "The content of this web site may not be copied,\n";
message = message + "replaced, distributed, published, displayed, modified,\n";
message = message + "or transferred in any form or by any means except\n";
message = message + "with the prior permission of Signature IT Ltd.\n\n";
message = message + "Copyright infringement is a violation of federal law\n";
message = message + "and subject to criminal and civil penalties.\n\n";
message = message + "(C) 2008, Signature IT Ltd.\n\n";


function clickIE4(){
	if (event.button==2){
		alert(message);
		return false;
	}
}

function clickNS4(e){
	if (document.layers||document.getElementById&&!document.all){
		if (e.which==2||e.which==3){
			alert(message);
			return false;
		}
	}
}

if (document.layers){
	document.captureEvents(Event.MOUSEDOWN);
	document.onmousedown=clickNS4;
}
else if (document.all&&!document.getElementById){
	document.onmousedown=clickIE4;
}

document.oncontextmenu=new Function("alert(message);return false");









// This is variable for storing callback function
var ae_cb = null;

// this is a simple function-shortcut
// to avoid using lengthy document.getElementById
function ae$(a) { return document.getElementById(a); }

// This is a main ae_prompt function
// it saves function callback
// and sets up dialog
function ae_prompt(cb, q, a) {
	ae_cb = cb;
	ae$('aep_t').innerHTML = document.domain + ' question:';
	ae$('aep_prompt').innerHTML = q;
	ae$('aep_text').value = a;
	ae$('aep_ovrl').style.display = ae$('aep_ww').style.display = '';
	ae$('aep_text').focus();
	ae$('aep_text').select();
}

// This function is called when user presses OK(m=0) or Cancel(m=1) button
// in the dialog. You should not call this function directly.
function ae_clk(m) {
	// hide dialog layers
	ae$('aep_ovrl').style.display = ae$('aep_ww').style.display = 'none';
	if (!m)
		ae_cb(null);  // user pressed cancel, call callback with null
	else
		ae_cb(ae$('aep_text').value); // user pressed OK
}

var prompt_w_retval = null;

function prompt_w (quest, answ) {
	ae_prompt( prompt_wcb , quest , answ );
	var retval = prompt_w_retval;
	return (retval);
}
function prompt_wcb (user_inp) {
	prompt_w_retval = user_inp;
}


function open_in_popup (popup_title, req_url) {
	document.getElementById('spop').style.left='30px';
	document.getElementById('t_win1').style.width='750px';
	document.getElementById('spop').style.width='750px';
	document.getElementById('popup_content').style.height='400px';
    document.getElementById('popup_title').innerHTML=popup_title;
	document.getElementById('spop').style.visibility='visible';
	xmlreq_put(req_url,'popup_content');
}


function init_page(){
	menu_events_bind();
}

set_evt(window,'load',function(){init_page()});

function uniq(){
	var prefix = '';
	if (arguments.length) prefix = arguments[0];
	return prefix+(new Date()).getTime();
}
function menu_closer(e){
	menu_close = uniq();
}

function doCloseMenu(){
	$['selmenu'].className='';
	$['selmenu'].parentNode.lastChild.style.display='none';
}

function menu_events_bind(){
	window['menu_close'] = false;
	setInterval(function(){
		if (menu_close && (uniq()-menu_close)>1000) {
			doCloseMenu();
		}
	},3000);
	var menu_items = dd('ul','menu');
	//var menu_items = Array();
	//menu_items.push(d('main_menu'));
	for (var i=0;i<menu_items.length;i++){
		set_evt(menu_items[i],'mouseout',menu_closer);
	}
	var submenu_items = dd('li','submenu_item');
	for (var i=0;i<submenu_items.length;i++){
		set_evt(submenu_items[i],'mouseover',function(){menu_close=false});
	}
	set_evt(document.body,'click',function(e){
		var tgt = t(e);
		if (tgt && tgt.tagName!='A' && tgt.tagName!='LI' && $['selmenu']) doCloseMenu();
	});
}
