var dom = (document.getElementById)? true : false; 

var BAD_STR_PWD  = "\\`~!@^*_{}[]=<>" ;
var BAD_PWD  = 1 ;

var dirs = new Array (
			'menu', 
			'left'
			);

var items = new Array (
			new Array ('sectionhome', 'sectionoverview', 'sectionfeatures', 'sectionfaq', 'sectioncompany', 'sectioncontact'),
			new Array ('sectionbrochure', 'sectiontestdrive', 'sectionrequest')
			);

var images = new Array ();

for (var j = 0; j < items.length; j++)
{
	for (var i = 0; i < items[j].length; i++)
	{
		images["img" + items[j][i]] = new Array ();
		images["img" + items[j][i]][0] = new Image ();
		images["img" + items[j][i]][0].src = 'images/' + dirs[j] + '/' + items[j][i] + '.gif';
		images["img" + items[j][i]][1] = new Image ();
		images["img" + items[j][i]][1].src = 'images/' + dirs[j] + '/' + items[j][i] + 'a.gif';
	}
}

function imgrestore(img)
{
	if (images[img][0])
	{
		if (dom)
		{
			var tempimg = document.getElementById (img);
			tempimg.src = images[img][0].src;
		}
		else
		{
			document.images[img].src = images[img][0].src;
		}
	}
}

function imgswap(img)
{
	if (images[img][1])
	{
		if (dom)
		{
			var tempimg = document.getElementById (img);
			tempimg.src = images[img][1].src;
		}
		else
		{
			document.images[img].src = images[img][1].src;
		}
	}
}

function search_submit (caller)
{	
	var sTemp = new String (document.forms["search"].keyword.value);
	sTemp = trim_value(sTemp);
	var sRes = -1 ;
	if ((sTemp.length == 0) || (sTemp == " ") || (sTemp.substr(0, 1) == " "))
	{
		alert ("The field 'Search' cannot be empty.") ;
		sRes = 0 ;
	}		
	
	if (!is_symbols_correct (sTemp, BAD_PWD))
	{
		alert ("The field 'Search' should not contain special symbols.") ;
		sRes = 0 ;
	}		

	if (sRes == 0)
	{
		document.forms ["search"].keyword.focus () ;
		if (caller != "button")	return false ;
	}
	else
	{
	    document.forms["search"].keyword.value = sTemp;
		document.forms ["search"].submit () ;
	}
	return void (false) ;
}

function trim_value(value) 
{
	return value.replace(/^\s*/,'').replace(/\s*$/,'');
}


function is_symbols_correct (str, what_case) {
	var BAD = "" ;
	
	if (what_case == BAD_PWD) {
		BAD = BAD_STR_PWD ;
	}
	var symbol ;
	var l = str.length ;
	for (var i = 0 ; i < l ; i++) {
		symbol = str.substr(0, 1) ;
		if (BAD.indexOf (symbol) > 0) return false ;
		if (escape (symbol) == "%5C") return false ;
		str = str.substr (1) ;
	}
	return true;
}


//****************************************************************

function IsEmpty(_field, _fieldRealName, _IsObligatory)
{
	err = "Field '" + _fieldRealName + "' is mandatory!";
	field = document.getElementById("txt"+_field);
	
	if ( (field.value.length == 0) )
	{
		//alert(1)
		if (_IsObligatory)
		{
		//alert(2);
			field.focus();
			alert(err);
			return true;
		}
		
	}
	else
	{
		return false;
	}
}

function isNumber(field)
{
	var symbol;
	var l = field.length;
	for(var i=0; i<l; i++)
	{
		symbol = escape(field.substr(0, 1));
		
		if(symbol == "1" || symbol == "2" || symbol == "3" || symbol == "4" || symbol == "5" || symbol == "6" || symbol == "7" || symbol == "8" || symbol == "9" || symbol == "0")
			return true;
		
		field = field.substr(1);
	}
	return false;
}

function trim(_field) 
{
	field = document.getElementById("txt" + _field)
	field.value = field.value.replace(/^\s*/,'').replace(/\s*$/,'');
}

function fieldLengthIsMore(_field, _fieldRealName, symbolLimit)
{
	var field = document.getElementById("txt" + _field);
	var err = "The field '" + _fieldRealName + "' cannot contain more than " + symbolLimit + " symbols!";
	
	//debugger;
	var str = field.value;
		
    	if (str.match(/[^\r]\n/)) str = str.split("\n").join("\r\n"); // FF, Safari, any Unix/MaxOS X browser
    	else
		if (str.match(/\r[^\n]/)) str = str.split("\r").join("\r\n"); // legacy MacOS 9 and lower
    
        //alert("The length is " + str.length);	
	if (str.length > symbolLimit)
	{
		alert(err);
		field.focus();
		return true;
	}
	else
		return false;
}