/**********************************************************************************   
Adapted from FoldoutMenu and ScrollText
*   Copyright (C) 2001 <a href="/dhtmlcentral/thomas_brattli.asp">Thomas Brattli</a>
*   This script was released at DHTMLCentral.com
*   Visit for more great scripts!
*   This may be used and changed freely as long as this msg is intact!
*   We will also appreciate any links you could give us.
*
*   Made by <a href="/dhtmlcentral/thomas_brattli.asp">Thomas Brattli</a> 
*
*	Additions/Alterations Made By Houman Ebrahimi
*********************************************************************************/

/**********************************************************************************  
FUNCTIONS
*********************************************************************************/
function lib_bwcheck(){ //Browsercheck (needed)
	this.ver=navigator.appVersion
	this.agent=navigator.userAgent
	this.dom=document.getElementById?1:0
	this.opera5=this.agent.indexOf("Opera 5")>-1
	this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0; 
	this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
	this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
	this.ie=this.ie4||this.ie5||this.ie6
	this.mac=this.agent.indexOf("Mac")>-1
	this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
	this.ns4=(document.layers && !this.dom)?1:0;
	this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
	return this
}
function makeObj(obj,nest){
	nest= (!nest)?"":'document.'+nest+'.';
	this.el= bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):document.getElementById(obj);	
   	this.css= bw.ns4?this.el:this.el.style;
	this.ref= bw.ns4?this.el.document:document;		
	this.x= (bw.ns4||bw.opera5)?this.css.left:this.el.offsetLeft;
	this.y= (bw.ns4||bw.opera5)?this.css.top:this.el.offsetTop;
	this.h= (bw.ie||bw.ns6)?this.el.offsetHeight:bw.ns4?this.ref.height:bw.opera5?this.css.pixelHeight:0;
	this.clipHeight=bw.ns4?this.css.clip.height:this.el.offsetHeight
    this.vis= b_vis;
	this.hideIt= b_hideIt;
    this.showIt= b_showIt;
    this.moveIt= b_moveIt;
	this.centreIt = b_centreIt;
	this.obj = obj + "Object"
    eval(this.obj + "=this")
	return this
}
function b_showIt(){this.css.visibility='visible'}
function b_hideIt(){this.css.visibility='hidden'}
function b_vis(){if(this.css.visibility=='hidden' || this.css.visibility=='HIDDEN' || this.css.visibility=='hide') return true;}
function b_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x+px; this.css.top=this.y+px}
function b_centreIt() {if (Left >= 0) this.css.left = Left;}

function menu(num){
	if(bw.bw){
		if (!stayFolded){
			for (var i=0; i<oSub.length; i++){
				if (i!=num){
					oSub[i].hideIt()
					if (foldImg)oTop[i].ref["imgA"+i].src = unImg.src
				}
			}
			for(var i=1; i<oTop.length; i++){
				oTop[i].moveIt(0,oTop[i-1].y+oTop[i-1].h)
			}
		}
		if (oSub[num].vis()){
			oSub[num].showIt()
			if (foldImg)oTop[num].ref["imgA"+num].src = exImg.src
		}else{
			oSub[num].hideIt()
			if(foldImg)oTop[num].ref["imgA"+num].src = unImg.src
		}
		for(var i=1; i<oTop.length; i++){ 
			if (!oSub[i-1].vis()) oTop[i].moveIt(0,oTop[i-1].y+oTop[i-1].h+oSub[i-1].h+mainOffsetY) 
			else oTop[i].moveIt(0,oTop[i-1].y+oTop[i-1].h+mainOffsetY)
		}
		oTop[0].moveIt(0,0)
		for (var i=1; i<oTop.length; i++) {
			if (!oSub[i-1].vis()) oTop[i].moveIt(0,oTop[i-1].y+oTop[i-1].h+oSub[i-1].h+mainOffsetY)
			else oTop[i].moveIt(0,oTop[i-1].y+oTop[i-1].h+mainOffsetY)
		}
	}
}

function menuGoDown(move){
	totalscrollHeight = 0
	for (var i=0; i<oTop.length; i++) {
		totalscrollHeight += oTop[i].h + mainOffsetY
		if (!oSub[i].vis()) totalscrollHeight += oSub[i].h
	}
	if (oTop[0].y>-totalscrollHeight+oCont.clipHeight){
		for (var i=0; i<oTop.length; i++) {
			oTop[i].moveIt(0,oTop[i].y-move)
		}
			if (loop) setTimeout('menuGoDown('+move+')',speed)
	}
}
function menuGoUp(move){
	if (oTop[0].y<0){
		for (var i=0; i<oTop.length; i++) {
			oTop[i].moveIt(0,oTop[i].y-move)
		}
		    if (loop) setTimeout('menuGoUp('+move+')',speed)
	}
}
function goDown(no,move){
	if (no==4) {
		if (oTxtDest.y>-oTxtDest.h+oCntDest.clipHeight){
			oTxtDest.moveIt(0,oTxtDest.y-move)
				if (loop) setTimeout('goDown(4,'+move+')',speed)
		}
	}
	else {
		if (oTxt[no].y>-oTxt[no].h+oCnt[no].clipHeight){
			oTxt[no].moveIt(0,oTxt[no].y-move)
				if (loop) setTimeout('goDown('+no+','+move+')',speed)
		}
	}
}
function goUp(no,move){
	if (no==4) {
		if (oTxtDest.y<0){
			oTxtDest.moveIt(0,oTxtDest.y-move)
			if (loop) setTimeout('goUp(4,'+move+')',speed)
		}
	}
	else {
		if (oTxt[no].y<0){
			oTxt[no].moveIt(0,oTxt[no].y-move)
			if (loop) setTimeout('goUp('+no+','+move+')',speed)
		}
	}
}
function scroll(no,speed){
	if (scrolltextLoaded){
		loop = true;
		if (no==0) {
			if (speed>0) {
				oScrollDown.ref['imgMenuDown'].src = exImgDown.src
				menuGoDown(speed)
			}
			else {
				oScrollUp.ref['imgMenuUp'].src = exImgUp.src
				menuGoUp(speed)
			}	
		}
		else if (no>0 && no<4) {
			if (speed>0) {
				oScrDown[no].ref['imgDown'+no].src = exScrDown.src
				goDown(no,speed)
			}
			else {
				oScrUp[no].ref['imgUp'+no].src = exScrUp.src
				goUp(no,speed)
			}
		}
		else if (no==4) {
			if (speed>0) {
				oScrDownDest.ref['imgDown4'].src = exScrDown.src
				goDown(no,speed)
			}
			else {
				oScrUpDest.ref['imgUp4'].src = exScrUp.src
				goUp(no,speed)
			}
		}
	}
}
function noScroll(no){
	loop = false
	if (timer) clearTimeout(timer)
	
	if (no==0) {
		oScrollUp.ref['imgMenuUp'].src = unImgUp.src
		oScrollDown.ref['imgMenuDown'].src = unImgDown.src
	}
	else if (no>0 && no<4) {
		oScrDown[no].ref['imgDown'+no].src = unScrDown.src
		oScrUp[no].ref['imgUp'+no].src = unScrUp.src
	}
	else if (no==4) {
		oScrDownDest.ref['imgDown4'].src = unScrDown.src
		oScrUpDest.ref['imgUp4'].src = unScrUp.src
	}
}

/**********************************************************************************  
INITIATION
*********************************************************************************/
var bw=new lib_bwcheck()
Left = (screen.width - 720) / 2

FoldNumber = 5					//How many toplinks do you have?
var stayFolded = false			//Stay open when you click a new toplink?
foldImg = 1						//Do you want images (if not set to 0 and remove the images from the body)?
mainOffsetY = 10					//Vertical space adjustment between the main items, in pixels.

var unImg=new Image();
unImg.src='images/menu/menu_arrow.gif'
var exImg=new Image();					
exImg.src='images/menu/menu_arrow_open.gif'	//...this is the source of the image that it changes to when the menu expands.

var unImgUp= new Image();
unImgUp.src='images/menu/menu_scrollup.gif'
var exImgUp= new Image();
exImgUp.src='images/menu/menu_scrollup_hover.gif'
var unImgDown= new Image();
unImgDown.src='images/menu/menu_scrolldown.gif'
var exImgDown= new Image();
exImgDown.src='images/menu/menu_scrolldown_hover.gif'

var unScrUp= new Image();
unScrUp.src='images/main/bottom_scrollup.gif'
var exScrUp= new Image();
exScrUp.src='images/main/bottom_scrollup_hover.gif'
var unScrDown= new Image();
unScrDown.src='images/main/bottom_scrolldown.gif'
var exScrDown= new Image();
exScrDown.src='images/main/bottom_scrolldown_hover.gif'

var px = bw.ns4||window.opera?"":"px";

if(navigator.userAgent.indexOf('Opera')>-1 && document.getElementById){ //Opera 5 resize fix.
	scrX= innerWidth; scrY= innerHeight;
	document.onmousemove= function(){
		if(scrX<innerWidth-10 || scrY<innerHeight-10 || scrX>innerWidth+10 || scrY>innerHeight+10){
			scrX = innerWidth;
			scrY = innerHeight;
			init();
		}
	};
}

var scrolltextLoaded = false
var speed = 5
var loop, timer

/**********************************************************************************  
INITIATION FUNCTION
*********************************************************************************/
function mainInit(){
	bw.opera5 = (navigator.userAgent.indexOf("Opera")>-1 && document.getElementById)?true:false
	if (bw.opera5) bw.ns6 = 0

	oTop = new Array()
	oSub = new Array()
	for (var i=0; i<FoldNumber; i++){
		oTop[i] = new makeObj('divTop'+i,'divCont')
		oSub[i] = new makeObj('divSub'+i,'divCont.document.divTop'+i)
		oSub[i].moveIt(20,oTop[i].h)
		oSub[i].hideIt()
	}
	oTop[0].moveIt(0,0)
	for (var i=1; i<oTop.length; i++){
		oTop[i].moveIt(0, oTop[i-1].y+oTop[i-1].h+mainOffsetY)
	}
	
	oCont = new makeObj('divCont')
	oCont.centreIt()
	oCont.showIt()
	
	oScrollUp = new makeObj('divMenuUp')
	oScrollUp.centreIt()
	oScrollUp.showIt()
	
	oScrollDown = new makeObj('divMenuDown')
	oScrollDown.centreIt()
	oScrollDown.showIt()
	
	oMain = new makeObj('divMain')
	oMain.css.left=Left-1
	oMain.showIt()
	
	oCnt = new Array()
	oTxt = new Array()
	oScrUp = new Array()
	oScrDown = new Array()
	for (var i=1; i<4; i++){
		oCnt[i] = new makeObj('divCont'+i)
		oTxt[i] = new makeObj('divText'+i,'divCont'+i)
		oTxt[i].moveIt(0,0)
		oScrUp[i] = new makeObj('divScrollUp'+i)
		oScrDown[i] = new makeObj('divScrollDown'+i)
	}
	oCnt[1].css.left=Left+191
	oCnt[1].showIt()
	oCnt[2].css.left=Left+191+178
	oCnt[2].showIt()
	oCnt[3].css.left=Left+191+178+179
	oCnt[3].showIt()
	
	oScrUp[1].css.left=Left+185+150
	oScrDown[1].css.left=Left+185+150
	oScrUp[1].showIt()
	oScrDown[1].showIt()
	
	oScrUp[2].css.left=Left+185+178+150
	oScrDown[2].css.left=Left+185+178+150
	oScrUp[2].showIt()
	oScrDown[2].showIt()
	
	oScrUp[3].css.left=Left+185+178+179+150
	oScrDown[3].css.left=Left+185+178+179+150
	oScrUp[3].showIt()
	oScrDown[3].showIt()
	
	scrolltextLoaded = true
}
function destInit(){
	bw.opera5 = (navigator.userAgent.indexOf("Opera")>-1 && document.getElementById)?true:false
	if (bw.opera5) bw.ns6 = 0

	oTop = new Array()
	oSub = new Array()
	for (var i=0; i<FoldNumber; i++){
		oTop[i] = new makeObj('divTop'+i,'divCont')
		oSub[i] = new makeObj('divSub'+i,'divCont.document.divTop'+i)
		oSub[i].moveIt(20,oTop[i].h)
		oSub[i].hideIt()
	}
	oTop[0].moveIt(0,0)
	for (var i=1; i<oTop.length; i++){
		oTop[i].moveIt(0, oTop[i-1].y+oTop[i-1].h+mainOffsetY)
	}
	
	oCont = new makeObj('divCont')
	oCont.centreIt()
	oCont.showIt()
	
	oScrollUp = new makeObj('divMenuUp')
	oScrollUp.centreIt()
	oScrollUp.showIt()
	
	oScrollDown = new makeObj('divMenuDown')
	oScrollDown.centreIt()
	oScrollDown.showIt()
	
	oMain = new makeObj('divMain')
	oMain.css.left=Left-1
	oMain.showIt()
	
	scrolltextLoaded = true
}

// Form validation scripts
function isblank(s)
{
    for(var i = 0; i < s.length; i++) {
        var c = s.charAt(i);
        if ((c != ' ') && (c != '\n') && (c != '\t')) return false;
    }
    return true;
}
function validateQuery(f,lang)
{
    var msg = '';
	var contact = false;
	var phfax = false;
    for (var i = 0; i < f.length; i++) {
        var e = f.elements[i];
		var v = e.value;
		
		if ((v == null) || (v == '') || (isblank(v))) {
			if (e.name == 'txtFirstName') {
				if (lang=='en') {
					msg += '    - First Name is required.\n';
				}
				else {
					msg += '    - Пожалуйста, укажите Ваше имя.\n';
				}
			}
		}
		else {
			if (((e.name == 'txtPhone') || (e.name == 'txtFax')) && (!phfax)) {
				if (v.search(/[^0-9\s]+/) != -1) {
					if (lang=='en') {
						msg += '    - Phone and Fax fields must contain numbers only.\n';
					}
					else {
						msg += '    - В графах телефона и факса, пожалуйста, указывайте только цифры.\n';
					}
					phfax = true;
				}
				contact = true;
			}
			if (e.name == 'txtEmail') {
				if (v.search(/\w+@\w+(\.\w+)+[^\.]$/) == -1) {
					if (lang=='en') {
						msg += '    - Email address entered is not valid.\n';
					}
					else {
						msg += '    - Вы ввели email в неправильном формате.\n';
					}
				}
				contact = true;
			}
		}
	}
	
	if (!contact) {
		if (lang=='en') {
			msg += '    - At least one of Phone, Fax or Email is required.\n';
		}
		else {
			msg += '    - Пожалуйста, укажите Ваш телефон, факс или email.\n';
		}
	}	

    if (!msg) {
		return true;
	}
	else {
		if (lang=='en') {
			msg = 'The form was not submitted because of the following error(s).\nPlease correct these error(s) and re-submit the form.\n\n' + msg;
		}
		else {
			msg = 'Ваш запрос не был отправлен из-за следующих ошбок.\nПожалуйста, исправьте ошибки и снова отправьте Ваш запрос.\n\n' + msg;
		}
		alert(msg);
    	return false;
	}
}

