var COLOR_ERROR = "#FF9999";
var COLOR_OK    = "#99FF99";

if (navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer" && window.attachEvent) {
	window.onload = fnLoadPngs;
}

function fnLoadPngs() {
	var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
	var itsAllGood = (rslt!=null && Number(rslt[1])>=5.0);
	var img = document.images;
	for (var i = img.length - 1; i>=0; i--) {
		if (itsAllGood && img[i].src.match(/\.png$/i)) {
			var src = img[i].src;
			img[i].style.width = img[i].width + "px";
			img[i].style.height = img[i].height + "px";
			img[i].style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='scale')";
			img[i].src = "images/1x1.gif";
		}
	}
}

//*********************************************************

function showBlock(id, blockID)
{
	if (document.getElementById(blockID).className == "hblock"){
		document.getElementById(blockID).className = "vblock";
	} else {
		document.getElementById(blockID).className = "hblock";
	}
}

//*********************************************************

function openInWin(path,windowwidth,windowheight)
{
	myWin= open(path,"","width="+windowwidth+",height="+windowheight+",status=no,toolbar=no,menubar=no");
}

function clearString(id,string)
{
	if(document.getElementById(id).value  == string){
		document.getElementById(id).value = "";
	}
	document.getElementById(id).style.cssText = "";

}

/**************************** DATA ****************************/

function isEmailCorrect(str)
{
	if (str != ""){

		var supportedReg = 0;
		if (window.RegExp)
		{
			var tempStr = "test";
			var tempReg = new RegExp(tempStr);
			if (tempReg.test(tempStr)) supportedReg = 1;
		}
		if (!supportedReg){ 
			return (str.indexOf(".") >= 3) && (str.indexOf("@") >= 1);
		}
		var reg1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
		var reg2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$");

		if (!reg1.test(str) && reg2.test(str)){
			return true;
		} else {
			return false;
		}
	} else {
		return true;
	}
}

/**************************** SHOP ****************************/

function isPriceCorrect(str)
{
	if (str != ""){

		if(!parseInt(str)) return false;
		if(isNaN(str))     return false;
		if(str < 0 )       return false;
		return true;

	} else {
		return true;
	}
}

function testKeyword(){

	//ÏÐÎÂÅÐÊÀ ÑÒÐÎÊÈ ÏÎÈÑÊÀ

	var supportedReg = 0;
	if (window.RegExp)
	{
		var tempStr = "test";
		var tempReg = new RegExp(tempStr);
		if (tempReg.test(tempStr)) supportedReg = 1;
	}
	if (supportedReg){ 

		var reg1 = new RegExp("^(([à-ÿÀ-ßa-zA-Z0-9_\\-\\.]{3,}[ ]?)+)|([à-ÿÀ-ßa-zA-Z0-9_\\-\\.]{2,}[ ]([à-ÿÀ-ßa-zA-Z0-9_\\-\\.]{2,}[ ]?)+)$");

		if (!reg1.test(document.searchForm.query.value)){
			return "- Ââåäåííàÿ Âàìè ôðàçà íåäîïóñòèìà äëÿ ïîèñêà\n";
		}
	}

	if (document.searchForm.query.value.length < 3 ){
		return "- Ââåäåííàÿ Âàìè ôðàçà ñëèøêîì êîðîòêàÿ, äëÿ òîãî ÷òîáû ïðîèçâîäèòü ïî íåé ïîèñê\n";
	} else if (document.searchForm.query.value.length > 60){
		return "- Ââåäåííàÿ Âàìè ôðàçà ñëèøêîì äëèíàÿ äëÿ ïîèñêà\n";
	}

	return "";
}

function testSearchInputData(){

	var ok = true;

	if((document.searchForm.brand.value != "") 
	&& ((document.searchForm.price_from.value == "") && (document.searchForm.price_to.value == ""))
	&& ((document.searchForm.query.value == "") || (document.searchForm.query.value == "Êëþ÷åâîå ñëîâî..."))
	){
		return true;
	}

	var str_err = "";

// **** ÏÐÎÂÅÐÊÀ ÑÒÐÎÊÈ ÇÀÏÐÎÑÀ
	if((document.searchForm.query.value != "") && (document.searchForm.query.value != "Êëþ÷åâîå ñëîâî...")){
		str_err += testKeyword();
	} else {
		str_err += "- Íà çàäàí çàïðîñ äëÿ ïîèñêà";
	}
	if(str_err){
		ok = false;
		document.searchForm.query.style.cssText  = "background-color:#DD9999;";
	}

// **** ÏÐÎÂÅÐÊÀ ÖÅÍ
	if((document.searchForm.price_from.value != "") && !isPriceCorrect(document.searchForm.price_from.value)){
		str_err += "- Ïîëåö 'öåíà îò' èìååò íåêîððåêòíîå çíà÷åíèå";
		ok = false;
		document.searchForm.price_from.style.cssText  = "background-color:#DD9999;";
	}
	if((document.searchForm.price_to.value != "") && !isPriceCorrect(document.searchForm.price_to.value)){
		str_err += "- Ïîëåö 'öåíà äî' èìååò íåêîððåêòíîå çíà÷åíèå";
		ok = false;
		document.searchForm.price_to.style.cssText  = "background-color:#DD9999;";
	}


	if(!ok){
//		alert ("Îáíàðóæåíû îøèáêè ïðè ôîðìèðîâàíèè ïîèñêîâîãî çàïðîñà!\n\n" + str_err);
		return false;
	} else {
		return true;
	}
}

/**************************** AJAX ****************************/

function getXmlHttp(){
	var xmlhttp;
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			xmlhttp = false;
		}
	}
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		xmlhttp = new XMLHttpRequest();
	}
	return xmlhttp;
}

function pause(mSec)
{
	clock = new Date();
	justMinute = clock.getTime();
	while (true)
	{
		just = new Date();
		if (just.getTime() - justMinute > mSec) break;
	}
}

function str_replace ( search, replace, subject ) {
	if(!(replace instanceof Array)){
		replace=new Array(replace);
		if(search instanceof Array){
			while(search.length>replace.length){
				replace[replace.length]=replace[0];
			}
		}
	}
 
	if(!(search instanceof Array))search=new Array(search);
	while(search.length>replace.length){
		replace[replace.length]='';
	}
 
	if(subject instanceof Array){
		for(k in subject){
			subject[k]=str_replace(search,replace,subject[k]);
		}
		return subject;
	}
 
	for(var k=0; k<search.length; k++){
		var i = subject.indexOf(search[k]);
		while(i>-1){
			subject = subject.replace(search[k], replace[k]);
			i = subject.indexOf(search[k],i);
		}
	}
 
	return subject;
}

function is_numeric(mixed_var) {
	mixed_var = dropSpaces(mixed_var);
	if(!parseInt(mixed_var)) return false;
	if(isNaN(mixed_var))     return false;
	if(mixed_var < 0 )       return false;
	return true;
}

function dropSpaces(txtstring){
	return str_replace(' ', '', txtstring);
}

