createCookie("screenY", screen.height); 

function clearSpaces(t) {
	if (t) return t.replace(/^\s+/g, '').replace(/\s+$/g, '').replace(/&nbsp;/g, '');
	else return '';
}

function checkFlag(f) {
	var rad = f.chflag;
	for (var i = 0; i < rad.length; i++) {
		if (rad[i].checked)	return true;
	}
	return false;
}
function checkEm(f) {
	var em = f.mail;
	var p = f.pas;
	if (!chMail(em.value)) return false;
	if (p) if (f.pas.value.length < 6) return false;
	return true;
}
function chMail(m) {
	var myregexp = new RegExp("^(?:\\b[A-Z0-9._%-]+@[A-Z0-9._%-]+\\.[A-Z]{2,4}\\b)$", "i");
	var match = myregexp.exec(clearSpaces(m));
	if (match == null) return false;
	return true;		
}
function checkpas(f) {
	var p = f.pas.value;
	var p2 = f.pas2.value;
	var err = document.getElementById('perr');
	if (p.length < 6) {
		err.innerHTML = 'At least 6 characters, please!';
		return false;
	}
	else if (p != p2) {
		err.innerHTML = 'Both passwords have to be the same!';		
		return false;
	}
	else return true;
}



function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function showArrows(el,v) {
	scrollat(document.getElementById(el),'b');
	if (v != undefined) {
		var imgs = document.getElementsByTagName('img');
		for (var i in imgs) {
			if (imgs[i].className == 'redarrows') {
				imgs[i].onload='';	
				imgs[i].style.visibility='visible';	
			}
		}
	}
}

function hidemeimg(el) {
	el.style.visibility='hidden';	
}

function chkWebm(f) {
	var els = f.elements;
	var err = document.getElementById('errmsg');
	err.innerHTML = '&nbsp;';
	for (var i=0; i<els.length;i++) {
		if (els[i].type=='text' || els[i].type=='textarea') {
			if (els[i].name != 'notes' && els[i].value.length < 3) {
				err.innerHTML = 'Please, fill in all fields'+els[i].value;
				return false;
			}
			else if (els[i].name=='webmail') {
				var myregexp = new RegExp("^(?:\\b[A-Z0-9._%-]+@[A-Z0-9._%-]+\\.[A-Z]{2,4}\\b)$", "i");
				var match = myregexp.exec(clearSpaces(els[i].value));
				if (match == null) {
					err.innerHTML = 'Please, enter your contact email address!';
					return false;
				}
			}
			else if (els[i].name == 'code') {
				if (els[i].value.length > 2000) {
					err.innerHTML = 'Your banner`s code can`t be longer then 2000 symbols';
					return false;
				}
			}
		}
	}
	return true;
}

function chkCnt(f) {
	var els = f.elements;
	var err = document.getElementById('errmsg');
	err.innerHTML = '&nbsp;';
	for (var i=0; i<els.length;i++) {
		if (els[i].type=='text' || els[i].type=='textarea') {
			if (els[i].name != 'link' && els[i].value.length < 3) {
				err.innerHTML = 'Please, fill in all fields'+els[i].value;
				return false;
			}
			else if (els[i].name=='webmail') {
				var myregexp = new RegExp("^(?:\\b[A-Z0-9._%-]+@[A-Z0-9._%-]+\\.[A-Z]{2,4}\\b)$", "i");
				var match = myregexp.exec(clearSpaces(els[i].value));
				if (match == null) {
					err.innerHTML = 'Please, enter your email address!';
					return false;
				}
			}
			else if (els[i].name == 'notes') {
				if (els[i].value.length > 2000) {
					err.innerHTML = 'Your message can`t be longer then 2000 symbols';
					return false;
				}
			}
		}
	}
	return true;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// dynamic
function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
}
function findPosXY(obj)
{
	var curleft = 0;
	var curtop = 0;	
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			curtop += obj.offsetTop	
			obj = obj.offsetParent;
		}
	}
	else if (obj.x) {
		curleft += obj.x;
		curtop += obj.y;
	}
	var res = new Array(curleft,curtop);
	return res;
}
function getElemSize(e) {
	var w = e.offsetWidth;
	var h = e.offsetHeight;
	return new Array(w,h);
}
function getPageSize(){
	
	var xScroll, yScroll;
	var gsc = getScrollXY();
	xScroll = gsc[0];
	yScroll = gsc[1];
	
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight) pageHeight = windowHeight;
	else pageHeight = yScroll;
	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth) pageWidth = windowWidth;
	else pageWidth = xScroll;

	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}


function scrollat(el,side) {
	if (el && window.scrollTo) {
		var obj = findPosXY(el);
		var size = getElemSize(el);
		var ps = getPageSize();
		var to;
		switch (side) {
			case 'b':
				to = obj[1] + size[1] - ps[3];
				break;
			case 't':
				to = obj[1] - ps[3];
				break;
			case 'm':
				to = Math.floor(obj[1] + size[1] / 2) - ps[3];
				break;			
		}
		to = to + 5;
		var sc = getScrollXY();
		if (sc[1] > to) return;	
		window.scrollTo(0,to);
		var sc = getScrollXY();		
		if (sc[1] > obj[1]) {
			to = obj[1];
			window.scrollTo(0,to);
		}
	}
}
