var popWin;

function openPopWindow(src, options, name)
{
	var x = arguments[3];	
	var y = arguments[4];	

	if (x) options+= ",left="+x+",screenX="+x;
	if (y) options+= ",top="+y+",screenY="+y;

	if (!(src.indexOf("http")==0 || src.indexOf("/")==0)) {
		src = _ABS_PATH+src;
	}

	if (src.search(/\.(jpg|gif|jpeg|png)$/ig) != -1) {
		openImagePopUp(src, options, name, x, y, '', true);
		return;
	}
	
	if (popWin) popWin.close();
	if ( popWin=window.open(src, name, options) )
		popWin.focus();
}

function openPopWindow2(href) {
  var w = window.open(href, "info", "resizable=yes,scrollbars=yes,width=640,height=480,left="+Math.floor((screen.width-640)/2)+",top="+Math.floor((screen.height-480)/2));
  if (w) w.focus();
}

function openImagePopUp(src, options, name)
{
    var matches, width = 0, height = 0;
    
    if (matches = options.match(/width\=(\d+)/i)) width = matches[1];
    if (matches = options.match(/height\=(\d+)/i)) height = matches[1];

	var x = arguments[3] || (screen.width-width)/2;
	var y = arguments[4] || (screen.height-height)/2;
	var title = arguments[5];
	var secondary = arguments[6];

	if (!(src.indexOf("http")==0 || src.indexOf("/")==0)) {
		src = _ABS_PATH+src;
	}

	if (!secondary && width && height) {
		if (x) options+= ",left="+x+",screenX="+x;
		if (y) options+= ",top="+y+",screenY="+y;
	}

	if (popWin) popWin.close();
	popWin = window.open( "", name, options);

    var size = width && height ? "width='"+width+"' height='"+height+"'" : "";

    var html = "";
	html+= "<html><head>";
	if (title) html+= "<title>" + title + "</title>";
	html+= '<style>body { margin:0px; padding:0px; top:0px; left:0px }</style>';
	html+= '</head><body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">';
	html+= "<table cellspacing='0' cellpadding='0' width='100%' height='100%'><tr><td align='center' valign='middle'>";
	html+= "<img src='"+src+"'  border='0' onclick='window.close();' style='cursor: pointer;' />";
	html+= "</td></tr></table>";
	html+= "</body></html>";	
		
	popWin.document.write(html);
	popWin.document.close();
	popWin.focus();
} 

function openPrintWindow(src)
{
	var printStr = "";	
	printStr = src.lastIndexOf("?") < 0 ? "?" : "&";
	printStr+= "doPrint=yes";
	src+= printStr;
	openPopWindow(src, 'menubar=yes, toolbar=yes, resizable=yes, scrollbars=yes', 'printWin')
}

function emailCheck (emailStr) {
	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")


	var matchArray=emailStr.match(emailPat)
	if (matchArray==null) {
		return false
	}
	var user=matchArray[1]
	var domain=matchArray[2]

	if (user.match(userPat)==null) {
		return false
	}

	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		  for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				return false
			}
		}
		return true
	}

	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		return false
	}

	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 ||
		domArr[domArr.length-1].length>4) {
	   return false
	}

	if (len<2) {
	   return false
	}

	return true;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function trim(s)
{
  while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r'))
    s = s.substring(1,s.length);
  while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r'))
    s = s.substring(0,s.length-1);
  return s;
}

function translit(s1) {
	var charcode;
    var EnglishEquivalent1 = new Array('A','A','','','S','S','','','C','C','','','','','U','U','','','E','E','E','E','U','U','','','','','','','','','','Z','Z','','','','I','I','','','I','I','','','','','','','','','','','','','I','','','', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '');
    var EnglishEquivalent2 = new Array('A','A','','','S','S','','','C','C','','','','','E','E','','','E','E','E','E','U','U','','','','','','','G','G','','Z','Z','35','36','37','I','I','','','I','I','','','','','','','K','K','','','','I','I','','','', '', '', '', '', '', 'N', 'N', '', '', '', '', '');
    var EnglishEquivalent_ru = new Array('A','B','V','G','D','E','ZH','Z','I','J','K','L','M','N','O','P','R','S','T','U','F','H','C','SH','SHT','CH','','','J','Z','JU','JA','','','');
    var s2 = '';
	
    for (j=0; j<s1.length; j++) {
    	s1 = s1.toUpperCase();
    	charcode = s1.charCodeAt(j);
    	//alert(s1[j] + ' ' + s1.charCodeAt(j) + '[' + ((s1.charCodeAt(j)>350)?(s1.charCodeAt(j) - 348):(s1.charCodeAt(j) - 260)) + ']');
        if ((s1.charCodeAt(j)>259) && (s1.charCodeAt(j)<383))
            if (s1.charCodeAt(j)>350) {
            	s2 = s2 + EnglishEquivalent1[(s1.charCodeAt(j) - 348)];
            }
            else {
            	s2 = s2 + EnglishEquivalent2[(s1.charCodeAt(j) - 260)];
            }
        else
			if ((s1.charCodeAt(j)>1039) && (s1.charCodeAt(j)<1104)) {
           		 s2 = s2 + EnglishEquivalent_ru[(s1.charCodeAt(j)>1071)?(s1.charCodeAt(j) - 1072):(s1.charCodeAt(j) - 1040)];
            }
        		else
        			if ( (charcode == 256) || (charcode == 257) ) {
        				s2 = s2 + 'A';
        			}
        			else
            			s2 = s2 + s1.charAt(j);
        				//eval(tt+" = '" + trim(s2.toUpperCase()) + "'");
    }
	
    return s2;
}
