var oldID = 1;
window.name = 'megacon';
var newWindow;
previous = 0;

function clearSearchForm(form_name){
	for(i in document.forms[form_name].elements){
		if(document.forms[form_name].elements[i].type == 'checkbox'){
			document.forms[form_name].elements[i].checked = false;
		}
	}
}

function showActionInfoM(elem_id, sum){
	if(sum == undefined){
		document.getElementById(elem_id).innerHTML = '****';
	}else{
		document.getElementById(elem_id).innerHTML = '<div>Скидка 25% при покупке от 125 000 руб.</div>'+sum;
	}
}

function selectDP(obj){
	if(obj.value != 'Москва' && obj.value != 'Московская область'){
		if(document.getElementById('d_7').checked || document.getElementById('d_8').checked ){
			document.getElementById('d_10').checked = true;
		}
		document.getElementById('payment_6').checked = true;
//		alert(obj.value);
	}
}
function initImage(obj){

//	obj.style.left = (document.body.offsetWidth-obj.width)/2;
	obj.style.display = 'block';
}
function showBigPhoto(cat_id, site_id){
/*
	if(window.opener){
		window.opener.location.href= '/photos/?id='+cat_id;
		window.close();
//		window.opener.document.getElementById('BigPhoto').style.display = 'block';
//		window.opener.document.body.className = 'overFlow';
	}else{
		window.location.href= '/photos/?id='+cat_id;
//		document.getElementById('BigPhoto').style.display = 'block';
//		document.body.className = 'overFlow';
	}	
//	url = '/lib/processes/proc.get_item.php?action=get_item&cat_id='+cat_id+'&target=Preview&method=parseItem&site_id='+site_id;
//	loadXMLDoc(url);
	*/
	openPopup('', '/photos/?id='+cat_id, '1020', '700')
}
function parseItem(result, target){
	if(window.opener){
		window.opener.document.getElementById(target).innerHTML = result;
		window.close();
	}else{
		document.getElementById(target).innerHTML = result;
	}
}
function closeBigPhoto(){
	document.getElementById('BigPhoto').style.display = 'none';
	document.getElementById('Preview').innerHTML = '';
	document.body.className = '';
}

function changePhoto(obj, src){
	if(previous) document.getElementById(previous).className = '';
	obj.className = 'selected';
	previous = obj.id;
	document.getElementById('_Big').style.display = 'none';
	document.getElementById('_Big').src = src;
}
function showPhoto(elemID){
	
	elem = document.getElementById('img_'+elemID);
//	alert(elem.style.display)
	if(oldID != 0 && oldID != elemID){
		document.getElementById('img_'+oldID).style.display = 'none';
	}
	if(elem.style.display == 'block' && oldID != elemID){
		document.getElementById('img_'+elemID).style.display = 'none';
	}else{
		elem.style.display = 'block';
	}
	document.getElementById('num_'+elemID).className = 'number sel';
	document.getElementById('num_'+oldID).className = 'number';
	oldID = elemID;
}

function openPopup(aObject, url, width, height, wID){
	var defWidth = 500;
	var defHeight = 500;
	if( !width ){width = defWidth;}
	if( !height ){height = defHeight;}
	if( !url ){url = aObject.href;}
	var wLink = 'Link'+Math.random();
	newWindow = window.open(url, null, "width="+width+",height="+height+",status=1,scrollbars=yes,resizable=yes");
	newWindow.focus();
	return false;
}

function checkRequiredFields(form){
	var elem = '';
	var is_error = 0;
	for(i in required_fields){
		elem = required_fields[i];
		if(form.elements[elem]){
			if(form.elements[elem].type == 'text'){
				if(form.elements[elem].value == ''){
					document.getElementById('row_'+elem).className = 'required_field_error';
					is_error = 1;
					if(document.getElementById('error')){
						document.getElementById('error').style.display = 'block';
					}
				}else{
					document.getElementById('row_'+elem).className = '';
				}
			}
		}
	}
	if(is_error){
		return false;
	}else{
		email = form.elements['user_email'].value;
		form.elements['user_email'].value = email.toLowerCase();	
		return true;	
	}
	
}
function setCookie(name, value, days){
	var today = new Date();
	expires = new Date(today.getTime() + days*24*60*60*1000);
	document.cookie = name + "=" + escape(value) +"; expires=" + expires.toGMTString()+"; path=/";
	document.cookie = name + "=" + escape(value) +"; expires=" + expires.toGMTString()+"; path=/";
}
function getCookie(Name) {
   var search = Name + "="
   if (document.cookie.length > 0) { // если есть какие-либо куки
      offset = document.cookie.indexOf(search);
      if (offset != -1) { // если кука существует 
         offset += search.length 
         // установить индекс начала значения
         end = document.cookie.indexOf(";", offset) 
         // установить индекс конца значения куки
         if (end == -1) 
            end = document.cookie.length
         return unescape(document.cookie.substring(offset, end))
      } 
   }
}
function getFavorites(cat_id){
	if(cat_id){
		var favorites_bingo = 0;
		var favorites = getCookie('FAV');
		var i = 0;
		
		if(favorites){
			favorites = favorites.split(',');
			for(i in favorites){
				if(favorites[i] == cat_id){
					favorites_bingo = 1;
					break;
				}
			}
			if(favorites_bingo){
				if(document.getElementById('Favorites')) document.getElementById('Favorites').innerHTML = '<span>Удалить из избранного</span>';	
			}
		}
	}
}

function addFavorites(cat_id, img_obj){
	var favorites_bingo = 0;
	var cookie = getCookie('FAV');
	var favorites = [];
	if(cookie){
		favorites = cookie;
	}
	var i = 0;
	var new_favorites = [];

	if(favorites != ''){
	favorites = favorites.split(',');
	for(i in favorites){
		if(favorites[i] == cat_id){
			favorites_bingo = 1;
			delete favorites[i];
			break;
		}
	}
	if(!favorites_bingo){
		i++;
		favorites[i] = cat_id;
		if(document.getElementById('Favorites')) document.getElementById('Favorites').innerHTML = '<span>Удалить из понравившихся</span>';
		if( img_obj ) img_obj.src = '/i/fav_on.gif';
		if( document.getElementById('img_'+cat_id+'_0')) document.getElementById('img_'+cat_id+'_0').className = 'fav';
	}else{
		if(document.getElementById('Favorites')) document.getElementById('Favorites').innerHTML = '<span>Понравилось</span>';	
		if( img_obj ) img_obj.src = '/i/fav_off.gif';
		if( document.getElementById('img_'+cat_id+'_0')) document.getElementById('img_'+cat_id+'_0').className = 'i';
	}
	}else{
		favorites[i] = cat_id;
		if(document.getElementById('Favorites')) document.getElementById('Favorites').innerHTML = '<span>Удалить из понравившихся</span>';	
		if( img_obj ) img_obj.src = '/i/fav_on.gif';
		if( document.getElementById('img_'+cat_id+'_0')) document.getElementById('img_'+cat_id+'_0').className = 'fav';
	}
	var new_f = 0;
	for(i in favorites){
		if(favorites[i] != undefined && favorites[i] != ''){
			new_favorites[i] = favorites[i];
			new_f++;
		}
	}
	if(document.getElementById('FavoritesCount')) document.getElementById('FavoritesCount').innerHTML = new_f;
	new_favorites.join(',');	

	setCookie('FAV', new_favorites, 30);
	
	if(document.getElementById('FavoriteGoods')) window.location.reload();
}

function showElem(elem, elem_display){
	
	document.getElementById(elem).style.display = elem_display;
}
function changeDisplay(elem){
	if(document.getElementById(elem)){
		( document.getElementById(elem).style.display == 'block' ) ?
			document.getElementById(elem).style.display = 'none' :
			document.getElementById(elem).style.display = 'block' ;
	}
}

function showFilterWindow(){
	var FW = document.getElementById('FilterWindow');
	FW.style.top = 200;
	FW.style.left = '30%';
	FW.style.display = 'block';
}

function searchSize(){
	window.close();	
	window.opener.location.href = '/search/'; 
}

function showAddress(obj){
	var ua = navigator.userAgent.toLowerCase(); 
	// Определим Internet Explorer 
	isIE = (ua.indexOf("msie") != -1 && ua.indexOf("opera") == -1 && ua.indexOf("webtv") == -1); 	
	if(obj.name == 'user_region' && obj.value != 'Москва'){
		if(!isIE){ document.getElementById('row_user_city').style.display = 'table-row'; }
		else{ document.getElementById('row_user_city').style.display = 'block'; }
	}else{
		document.getElementById('row_user_city').style.display = 'none';
	}
}

function liteUpCity2(obj){
	if(obj.value == ''){
		document.getElementById('i_user_city2').className = 'liteUp';
	}else{
		document.getElementById('i_user_city2').className = '';
	}
}

function showItemShortInfo(cat_id, sizes, display){
	var dsp = 'block';
	if(sizes != ''){
		if(display == 'block') dsp = 'none';
		document.getElementById('s'+cat_id).style.display = dsp;
	}
	document.getElementById('brand_'+cat_id).style.display = display;
	// for slideshow
	/*
	if(display != 'block'){
		loadPreview(cat_id);
	}else{
		stopSlideshow(cat_id);
	}
	*/
}
var FLIP_TIMER 		= [];
var COUNTER_TIMER 	= [];
var FLIP 			= {};

// Flip status: 0 - init, 1 - 1 second pause before timer, 2 - starting timer, 3 - flipped

function flip2(elem_id, src2, status){
	var debug = document.getElementById('debug');
	var obj = document.getElementById(elem_id);
	if(status == undefined) status = 1;
	
	if(status == 1){
		// giving a second pause before counter		
		FLIP_TIMER[elem_id] = setTimeout("flip2('"+elem_id+"', '"+src2+"', 2);", 500);
		FLIP[elem_id] = status;
		//debug.innerHTML = FLIP[elem_id];
	}
	if(status == 2){
		FLIP_TIMER[elem_id] = setTimeout("flip2('"+elem_id+"', '"+src2+"', 3);", 1500);
		showDigitalTimer(elem_id, 3);
		FLIP[elem_id] = status;
		//debug.innerHTML = FLIP[elem_id];
	}

	if(status == 3){
		obj.src = src2;
		FLIP[elem_id] = status;
		//debug.innerHTML = FLIP[elem_id];
	}

	if(status == 4){
		if(FLIP[elem_id] == 1 || FLIP[elem_id] == 2 ) { 
			clearTimeout(FLIP_TIMER[elem_id]); 
			clearTimeout(COUNTER_TIMER[elem_id]);
		}
		FLIP[elem_id] = 0;
		obj.src = src2;
		document.getElementById('c_'+elem_id).style.display = 'none';
		//debug.innerHTML = FLIP[elem_id];
	}
	
}
function showDigitalTimer(elem_id, count){
	var counter = document.getElementById('c_'+elem_id);
	counter.style.display = 'block';
	counter.innerHTML = count;
	count--;
	if(count >= 0) {
		COUNTER_TIMER[elem_id] = setTimeout("showDigitalTimer('"+elem_id+"', "+count+")", 500);
	}else{
		counter.style.display = 'none';
	}
}

function flip(obj_id, src){
	var debug = document.getElementById('debug');
	var obj = document.getElementById(obj_id);
	
	if( obj.lang == 1 ){
		var flip_src = obj.src;
		obj.src = obj.lang;
		//debug.innerHTML = obj;
		obj.lang = flip_src;
	}else{
		timer_id = setTimeout("flip('"+obj_id+"', 1);", 1000);
	}
	
	/*
	var obj = document.getElementById(elem_id);
	
	if (FLIP.elem_id == undefined){
		img = back;
		FLIP.elem_id = 1;
	}else{
		img = front;
		FLIP.elem_id = undefined;
	}
	obj.src = img;

	
	var img;
	if(! is_hided){
		FadeOpacity(obj.id, 100, 20, 200, 10);
		timer_id = setTimeout("flip('"+elem_id+"', '"+front+"', '"+back+"', "+1+");", 200);
	}else{
		if (FLIP.elem_id == undefined){
			img = back;
			FLIP.elem_id = 1;
		}else{
			img = front;
			FLIP.elem_id = undefined;
		}
	
		obj.src = img;
		FadeOpacity(obj.id, 20, 100, 200, 10);


	}*/
}

function prepareToFlipImage(elem_id, flip_src, is_ready){
	if(!is_ready){
		FLIP_TIME[elem_id] = 1;
		setTimeout("prepareToFlipImage('"+elem_id+"', '"+flip_src+"', "+1+")", 1000);
	}else{
		if( FLIP_TIME[elem_id] != undefined ){
			flipImage(elem_id, flip_src);
		}
	}
}

function flipImage(elem_id, flip_src, is_hided){
	var obj = document.getElementById(elem_id);
	if(! is_hided){
		FadeOpacity(obj.id, 100, 20, 200, 10);
		timer_id = setTimeout("flipImage('"+elem_id+"', '"+flip_src+"', "+1+");", 200);
	}else{
		obj.src = flip_src;
		FadeOpacity(obj.id, 20, 100, 200, 10);
	}
}

function FadeOpacity(elemId, fromOpacity, toOpacity, time, fps){
	var steps = Math.ceil(fps * (time / 1000));
	var delta = (toOpacity - fromOpacity) / steps;
	  
	FadeOpacityStep(elemId, 0, steps, fromOpacity, delta, (time / steps));
}

function FadeOpacityStep(elemId, stepNum, steps, fromOpacity, delta, timePerStep)
{
	SetOpacity(document.getElementById(elemId), 
	Math.round(parseInt(fromOpacity) + (delta * stepNum)));

	if (stepNum < steps)
		setTimeout("FadeOpacityStep('" + elemId + "', " + (stepNum+1) 
					+ ", " + steps + ", " + fromOpacity + ", "
					+ delta + ", " + timePerStep + ");", 
					timePerStep);
}

function SetOpacity(elem, opacityAsInt){
	var opacityAsDecimal = opacityAsInt;
  
	if (opacityAsInt > 100)
		opacityAsInt = opacityAsDecimal = 100; 
	else if (opacityAsInt < 0)
		opacityAsInt = opacityAsDecimal = 0; 
		
	opacityAsDecimal /= 100;
	if (opacityAsInt < 1)
		opacityAsInt = 1; // IE7 bug, text smoothing cuts out if 0

	elem.style.opacity = (opacityAsDecimal);
	elem.style.filter  = "alpha(opacity=" + opacityAsInt + ")";
}