// $Id: detect.js,v 1.8 2006/06/22 21:49:30 krusch Exp $
// Copyright (c) 2004 IBM Corporation. All rights reserved.

function ibmCommonErrorpagesSet(form) {
	if (typeof(form) == 'object' &&
		typeof(form.referer) == 'object' &&
		typeof(form.referer.value) == 'string' &&
		!form.referer.value) {
		form.referer.value = top.location.href;
		if (typeof(form.comment) == 'object') {
			form.comment.value = 
				(form.comment.value ? form.comment.value + '\n' : '') +
				"Requested URL: " + top.location.href  + "\n" +
				"Referred from: " + (document.referrer ? document.referrer : "-");
		}
	}
 return true;
}

function ibmCommonErrorpagesDetect() {
	var cc, lc;
	var cclist  = "(ag|ai|an|ar|at|au|aw|bb|bd|be|bg|bm|bo|br|bs|ca|ch|cl|cn|co|cs|cy|cz|de|dk|dm|ec|ee|eg|es|fi|fr|gd|gr|gy|hk|hr|hu|id|ie|il|in|it|jm|jp|kn|kr|ky|lc|lk|lt|lv|ms|mx|my|nl|no|nz|pe|ph|pk|pl|pt|py|ro|ru|se|sg|si|sk|sr|tc|th|tr|tt|tw|uk|us|uy|vc|ve|vg|vn|za)";
	var pathregexp = new RegExp('/' + cclist + '/');           // matches /cc/
	var searchregexp = new RegExp('=..[\\-_]' + cclist, 'i');  // matches lc_CC

    // defaults
	cc = 'zz';
	lc = 'en';

	var canswitch = true;
    var lenovo = false;

	var hostname = String(window.location.hostname);
	var pathname = String(window.location.pathname);
	var search   = String(window.location.search);

	// design change requires DOM functions and stylesheet switching
	if (typeof(document.getElementsByTagName) == 'undefined' ||
		!document.getElementsByTagName("link") ||
		!document.getElementsByTagName("link")[0] ||
		typeof(document.getElementsByTagName("link")[0].disabled) != 'boolean') {
		canswitch = false;
	}

	if (hostname.indexOf("www-131") != -1 ||
	    pathname.indexOf("lenovoinfo") != -1 ||
		search.indexOf("=lenovo") != -1) {
		lenovo = true;
	}

    // get ipcCookie
    if (false) {
		// set cc and lc
	}
	else {
		// get cc and lc from url
		// if lc cannot be determined, use default lc

		if (pathname.match(pathregexp)) {
			cc = RegExp.$1 || 'zz';
		}
		else if (search.match(searchregexp)) {
			cc = RegExp.$1 || 'zz';
		}
	}
	ibmCommonErrorpages.cc = cc;
	ibmCommonErrorpages.lc = lc;

	if (lenovo && canswitch) {
		ibmCommonErrorpages.design = 'v15';
		ibmCommonErrorpages.path = '//www.lenovo.com/common/errorpages/' + ibmCommonErrorpages.design;
	}
	else {
		ibmCommonErrorpages.design = 'v14';
        ibmCommonErrorpages.path = 'http://www.ibm.com/developerworks/ru/js/';
  //    ibmCommonErrorpages.path = 'http://dw.raleigh.ibm.com/developerworks/ru/js/';
	}
}

function ibmCommonErrorpagesScript(script) {
	document.write('<scr' + 'ipt type="text/javascript" language="JavaScript1.3" src="', ibmCommonErrorpages.path, '/', script, '"></scr' + 'ipt>');
}

var ibmCommonErrorpages = new Object ();
ibmCommonErrorpagesDetect();

var ibmCommonErrorpagesTracker = new Image ();
ibmCommonErrorpagesTracker.src = '//www.ibm.com/i/c.gif?error=' +
    (typeof ibmCommonErrorpagesStatus != 'undefined' ? ibmCommonErrorpagesStatus : '400') +
	'&url=' + escape(window.location.href) +
	(document.referrer ? '&referrer=' + escape(document.referrer) : '') +
	'&time=' + (new Date()).getTime().toString();

//