// JavaScript Document
// �������� -//-
var e_lover = new String("abcdefghijklmnopqrstuvwxyz");
var e_upper = new String("ABCDEFGHIJKLMNOPQRSTUVWXYZ");
var price_allowed = new String("0123456789.");
var phone_allowed = new String("0123456789. -+");
// �����
var numbers = new String("1234567890");
// ����������� ��� ������� �������
var login_allowed = String().concat(e_lover, e_upper, numbers, "-._ ,");

function addSearch() {
	document.getElementById('query').value = document.getElementById('sprim').innerHTML;
	document.getElementById('query').className = '';
	}

function hidePop(popup) {	
	var pops = document.getElementById(popup);
	pops.style.display = 'none';	
	}

function goact()
{
	akey = document.getElementById('actkey').value;
	location.href='/activate.key-'+akey+'.html';
}
function sf(id)
{
	document.getElementById(id).submit();
	return false;
}

function chksf(id)
{
	var f = document.getElementById(id);
	inputs = f.getElementsByTagName('input');
	ischecked = false;
	var counter = 0;
	for (i = 0; i < inputs.length; i++)
	{
		if (inputs[i].checked == true)
		{
			ischecked = true;
			counter++;
		}
	}
	if (ischecked && counter >=2)
		f.submit();
	else
		if (counter == 0)
			alert('No items were selected.');
		else
			alert('Please select at least 2 items for compare.');
	return false;
}

function chkFiltersForm()
{
	priceFrom = document.getElementById('price_from').value;
	priceTo   = document.getElementById('price_to').value;
	if (!checkStrParts2(priceFrom, price_allowed))
	{
		alert('Invalid price from');
		return false;
	}

	if (!checkStrParts2(priceTo, price_allowed))
	{
		alert('Invalid price to');
		return false;
	}

	if (priceFrom != '' && priceTo != '' && parseFloat(priceFrom) > parseFloat(priceTo))
	{
		alert('Invalid price range');
		return false;
	}
	
	return true;
}

/*
function sMenu(menu) {
	var block = menu.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode;
	if (block.className == 'menu-i-none') {
		block.className = 'menu-i-active';
		}
	else {
		block.className = 'menu-i-none';
		}
	}
*/

var topsLoaded = new Array();
var subsLoaded = new Array();
function sMenu(id)
{
	if ($('#top'+id).hasClass('menu-i-none'))
	{
			$('#top'+id).removeClass('menu-i-none');
			$('#top'+id).addClass('menu-i-active');
			if (!topsLoaded[id])
			{
				$.getJSON("/scripts/get-active-nodes.php?node="+id,
							function (data)
							{
								$.each(data, function(i,item){
									//comma = "";
									//if (i<data.length-1) comma = ", ";
									l1 = $("<span/>").addClass("menu-aii");
									l1.append($("<a href='/cat/"+item.alias+"/"+item.uri+"/'>"+item.name+"</a><i onclick='sMenu2("+item.id+"); return false;'></i>"));
									//l1.append(comma);
						        	cont = $("<span/>").addClass("menu-ii-d").attr("id", "subsub"+item.id).appendTo("#subtop"+id);
								   	cont.append(l1);
									cont.append($("<span/>").addClass("menu-iii").attr("id", "subsubsub"+item.id));
								});
							}
						)
				topsLoaded[id] = true;
			}
	}
	else
	{
			$('#top'+id).removeClass('menu-i-active');
			$('#top'+id).addClass('menu-i-none');
	}
}

function sMenu2(id)
{
	if ($('#subsub'+id).hasClass('menu-ii-d'))
	{
			$('#subsub'+id).removeClass('menu-ii-d');
			$('#subsub'+id).addClass('menu-ii-a');
			if (!subsLoaded[id])
			{
				$.getJSON("/scripts/get-active-nodes.php?node="+id+"&st=2",
							function (data)
							{
								$.each(data, function(i,item){
									comma = "";
									if (i<data.length-1) comma = ", ";
									$('#subsubsub'+id).append(
										$("<a/>").attr("href", "/cat/"+item.alias+"/"+item.uri+'/').text(item.name),comma
									);
								});
							}
						)
				subsLoaded[id] = true;
			}
	}
	else
	{
			$('#subsub'+id).removeClass('menu-ii-a');
			$('#subsub'+id).addClass('menu-ii-d');
	}
}
/*
function sMenu2(menu2) {
	var block2 = menu2.parentNode.parentNode;
	if (block2.className == 'menu-ii-d') {
		block2.className = 'menu-ii-a';
		}
	else {
		block2.className = 'menu-ii-d';
		}
	}
*/

function shBlock(block) {
	shb = document.getElementById(block);
	if (shb.style.display == 'none') {
			shb.style.display = 'block';
		}
	else {
		shb.style.display = 'none';
		}
	}

function SHB(sblock, hblock) {
	sb = document.getElementById(sblock);
	hb = document.getElementById(hblock);
	sb.style.display = 'block';
	hb.style.display = 'none';
}


var is_being_rated = new Array();
var rate_fadein_opacity = 0;
var rate_fadeout_opacity = 100;
var post_id = 0;
var post_rating = 0;
var ratings_max = 0;

function current_rating(id, rating) 
{
	if(is_being_rated[id]!=='1') {
		post_id = id;
		post_rating = rating;
		for(i = 1; i <= rating; i++) {
			document.images['rating_' + post_id + '_' + i].src = '/images/stars_a.gif';
			ratings_max = i;
			document.getElementById('crating').innerHTML = rating;
			document.getElementById('rating_input').value = rating;
		}
	}
}

function ratings_off(rating_score, insert_half) {
	if(is_being_rated[post_id] !== '1') 
	{
		for(i = 1; i <= ratings_max; i++) {
			if(i <= rating_score) {
				document.images['rating_' + post_id + '_' + i].src = '/images/stars_a.gif';
			} else {
				document.images['rating_' + post_id + '_' + i].src = '/images/stars_d.gif';
			}
		}
		document.getElementById('crating').innerHTML = 0;
	}
}

function rate_post() {	
	if(is_being_rated[post_id]!=='1') {
		is_being_rated[post_id] = '1';
	} 	
}


function chk_com_post(id)
{
	if (document.getElementById('m'+id).value == '')
	{
			alert('Please enter the message');
			return false;
	}
}

function hiddeOpt(opt_id) {
  document.getElementById('tr-'+opt_id).style.display='none';
  document.getElementById('l'+opt_id).value='';
  document.getElementById('more-'+opt_id.substring(0,opt_id.length - 1)+'s').style.display='';
}

function addOpt(opt_id) {
  var nn=0, qty=0;
  for(i=1;i<5;i++) {
    if (document.getElementById('tr-'+opt_id+i).style.display=='none'){
      if (!nn) nn=i;
      qty++;
    }
  }
  add(document.getElementById('l'+opt_id+'0'),opt_id,nn,qty);
  
}

function add(e1,opt_id,nn,qty) {
  var sell, htm='';
  sell=document.getElementById('td-'+opt_id+nn);
  htm=sell.innerHTML.substring(0,sell.innerHTML.length - 9);
  for(i=0;i<e1.options.length;i++) htm+='<option value="'+e1.options[i].value+'">'+e1.options[i].text;
  sell.innerHTML=htm+'</select>';
  document.getElementById('tr-'+opt_id+nn).style.display='';
  eval('if (qty==1) document.getElementById(\'more-\'+opt_id+\'s\').style.display=\'none\';');
  return nn;
}

function hideForm(hblock) {
	var hh = document.getElementById(hblock);
	hh.style.display = 'none';
	var f1 = document.getElementById('blocks-form');
	var f2 = document.getElementById('fon-block');
	f1.style.display = 'none';
	f2.style.display = 'none';
	selects = document.getElementsByTagName("select");
    for (i = 0; i != selects.length; i++) {
		selects[i].style.visibility = "visible";
	}
}


function FormBlock(form_type, redirect) {
	
	var block = document.getElementById('fon-block');
	var page = document.getElementById('global');
	selects = document.getElementsByTagName("select");
    for (i = 0; i != selects.length; i++) {
		selects[i].style.visibility = "hidden";
	}
	block.style.height = page.clientHeight + 'px';
	block.style.display = 'block';
	block.onclick = function(){hideForm(form_type); return false;}
	var frmBlock = document.getElementById('blocks-form');	
	var forma = document.getElementById(form_type);
	
	
	var yScroll;
	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	
		yScroll = document.documentElement.scrollTop;
	} else if (document.body) {
		yScroll = document.body.scrollTop;
	}
	
	var windowHeight;
	if (self.innerHeight) {	
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { 
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { 
		windowHeight = document.body.clientHeight;
	}	
	
	frmBlock.style.display = 'block';
	forma.style.display = 'block';
	frmBlock.style.top = windowHeight/2 + yScroll - frmBlock.clientHeight/2 + 'px';	
	document.getElementById(form_type+'-forma').elements[0].focus();
	
	if ( redirect && form_type=='login')
		if ( document.getElementById('login_redirect') )
			document.getElementById('login_redirect').value = redirect;
} 

function SubmitLogin() {
	var ajaxauth = new sack();
	ajaxauth.setVar('name',document.getElementById('user_login').value);
	ajaxauth.setVar('password',document.getElementById('user_pass').value);
	if (document.getElementById('remember').checked == true)
		ajaxauth.setVar('remember', 1);
	
	if ( document.getElementById('login_redirect') )
		if ( document.getElementById('login_redirect').value != '' )
			 var redirect_to = document.getElementById('login_redirect').value;
		
	ajaxauth.requestFile = "/auth.html";
	ajaxauth.onCompletion = function() { if (ajaxauth.response=='ok') if ( !redirect_to ) { location.reload(); } else { location.href=redirect_to; } else document.getElementById('login_error').style.display = "block" };
	ajaxauth.runAJAX();
}

function Logout() {
	var ajaxauth = new sack();
	ajaxauth.requestFile = "/auth?d=logout";
	ajaxauth.onCompletion = function() { /*eval(ajaxauth.response);*/ location.reload(); };
	ajaxauth.runAJAX();
}

// SCRIPTS FOR CHECKING

function Element(id) {
		return document.getElementById(id);
}

function Elemen(id) {
		return document.getElementById(id);
}

function _trim(str) {
  if(str) {
    str = str.replace(/^\s+/, "");
    str = str.replace(/\s+$/, "");
  }
  return str;
}

function notEmpty(str) {
    return _trim(str).length > 0 ? 1 : 0;
}

function mark(field,mark) {
	if (mark)
	Elemen(field).style.background = '#FFCCCC';
	else 
	Elemen(field).style.background = '#FFFFFF';
}

function checkEmail(email) {
    var valid_mail = /^[a-z0-9._-]+@[a-z0-9������.-]+\.[a-z]{2,4}\.*[a-z]*$/i;
    if (email!='') {
	    if (email.search(valid_mail) == -1) {
	    	return false;
	    }
    	else return email;
    } else return true;
}

function checkLength(str, min, max) {
    str = _trim(str);
    return (str.length >= min && str.length <= max);
}

function checkPassword(password) {
    if (!checkLength(password, 6, 23)) return false;
    return true;
}

function checkStrParts(str1, str2) {
    for (var i=1; i < str1.length; i++) {
        if (str2.indexOf(str1.charAt(i)) == -1) return false;
    }
    return true;
}

function checkStrParts2(str1, str2) {
    for (var i=0; i < str1.length; i++) {
        if (str2.indexOf(str1.charAt(i)) == -1) return false;
    }
    return true;
}

function checkLogin(login, min, max) {
    if (!checkLength(login, min, max)) return false;
    if (!checkStrParts(login, login_allowed)) return false;
    return login;
}

function checkRegForm() {
	function Error(error,block) {
		Elemen(block).style.display = 'block';
		Elemen(block).innerHTML = error;
	 return false;
	}
	
	function nError(block) {
		Elemen(block).style.display = 'none';
	}
	eml = document.getElementById('em-log');
	if (eml.checked != true)
	{
		field = 'reg_userlogin'; if (!notEmpty(Elemen(field).value)) { 		mark(field,true); Error('Enter your username.','reg_loginerror'); 				return false; } else { mark(field,false); nError('reg_loginerror'); }
		field = 'reg_userlogin'; if (!checkLogin(Elemen(field).value,4,23)) { 	mark(field,true); Error('Username is incorrect.','reg_loginerror'); 			return false; } else { mark(field,false); nError('reg_loginerror'); }
	}
	field = 'reg_email'; 	if (!notEmpty(Elemen(field).value)) { 			mark(field,true); Error('Enter your e-mail.','reg_emailerror'); 				return false; } else { mark(field,false); nError('reg_emailerror'); }
	field = 'reg_email'; 	if (!checkEmail(Elemen(field).value)) { 		mark(field,true); Error('E-mail is incorrect.','reg_emailerror'); 			return false; } else { mark(field,false); nError('reg_emailerror'); }
	field = 'reg_pass'; 	if (!notEmpty(Elemen(field).value)) { 			mark(field,true); Error('Enter your password.','reg_passerror'); 					return false; } else { mark(field,false); nError('reg_passerror'); }
	field = 'reg_pass'; 	if (!checkPassword(Elemen(field).value)) { 	mark(field,true); Error('Password should be at least 6 chars.','reg_passerror'); 			return false; } else { mark(field,false); nError('reg_passerror'); }
	field = 'reg_pass2'; 	if (!notEmpty(Elemen(field).value)) { 			mark(field,true); Error('Please confirm your password.','reg_pass2error'); 					return false; } else { mark(field,false); nError('reg_pass2error'); }
	field = 'reg_pass2'; 	if (!checkPassword(Elemen(field).value)) { 	mark(field,true); Error('The confirm password is incorrect.','reg_pass2error'); 			return false; } else { mark(field,false); nError('reg_pass2error'); }
	field = 'reg_code'; 	if (!notEmpty(Elemen(field).value)) { 			mark(field,true); Error('Enter code.','reg_codeerror'); 			return false; } else { mark(field,false); nError('reg_codeerror'); }

	ret = AjaxSendForm('register-forma');
	return false;
}

function checkForgot() {
	function Error(error) {
		Elemen('forg_error').style.display = 'block';
		Elemen('forg_error').innerHTML = error;
	 return false;
	}
	field = 'forg_email'; 	if (!notEmpty(Elemen(field).value)) { 			mark(field,true); Error('Please enter your e-mail.'); return false; } else mark(field,false);
	field = 'forg_email'; 	if (!checkEmail(Elemen(field).value)) { 		mark(field,true); Error('E-mail is incorrect.'); return false; } else mark(field,false);
	
	Elemen('forg_error').style.display = 'none';
	return AjaxSendForm('forgot-forma');
}
function CheckNewPass() {
	function Error(error) {
		Elemen('np_error').style.display = 'block';
		Elemen('np_error').innerHTML = error;
	 return false;
	}
	
	field = 'newpass'; 	if (!notEmpty(Elemen(field).value)) { 		mark(field,true); Error('Enter the password.'); 					return false; } else { mark(field,false);  }
	field = 'newpass'; 	if (!checkPassword(Elemen(field).value)) { 	mark(field,true); Error('The password is incorrect.'); 		return false; } else { mark(field,false); }
	field = 'newpass2'; if (!notEmpty(Elemen(field).value)) { 	mark(field,true); Error('Please confirm your password.'); 				return false; } else { mark(field,false);  }
	field = 'newpass2'; if (!checkPassword(Elemen(field).value)) { mark(field,true); Error('The confirm password is incorrect.'); return false; } else { mark(field,false); }
	
	if (Element('newpass').value!=Elemen('newpass2').value) { mark('newpass',true);mark('newpass2',true); Error('Passwords do not match.'); return false; } else { mark('newpass',false);mark('newpass2',false); }
	
	Elemen('np_error').style.display = 'none';
	return true;
}

// END SCRIPTS FOR CHECKING

function getClientWidthx()
{
  return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientWidth:document.body.clientWidth;
}

function getClientHeightx()
{
  return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientHeight:document.body.clientHeight;
}

function getElementPositionx(elemId)
{
    var elem = document.getElementById(elemId);

    var w = elem.offsetWidth;
    var h = elem.offsetHeight;

    var l = 0;
    var t = 0;

    while (elem)
    {
        l += elem.offsetLeft;
        t += elem.offsetTop;
        elem = elem.offsetParent;
    }

    return {"left":l, "top":t, "width": w, "height":h};
}


function getPopupx(obj_id, pop_id, report_id)
{
	popup = document.getElementById(pop_id);
	obj = document.getElementById(obj_id);
	pos = getElementPositionx(obj_id);
	if ((getClientWidthx()-pos.left)<250)	{
		popup.style.right = 40 + 'px';
		popup.style.left = 'auto';
		popup.style.top = (pos.top) + 22 +'px';
		popup.style.display = 'block';
	}
	else {	
		popup.style.left = (pos.left)-20+'px';
		popup.style.top = (pos.top) + 22 +'px';
		popup.style.display = 'block';
	}
	/*alert(report_id);*/
}

function getAlert(obj_id, pop_id)
{
	popup = document.getElementById(pop_id);
	obj = document.getElementById(obj_id);
	pos = getElementPositionx(obj_id);
	if ((getClientWidthx()-pos.left)<340)	{
		popup.style.right = 40 + 'px';
		popup.style.left = 'auto';
	}
	else {	
		popup.style.left = (pos.left)-20+'px';
	}
	popup.style.top = (pos.top) + 22 +'px';
	popup.style.display = 'block';
}

function chAction() {
	var chblock = document.getElementById('fav-list');
	ch_items = chblock.getElementsByTagName('input');
	qty = 0;
	for (j=0; j<ch_items.length; ++j) {
		if (ch_items[j].checked == true) {
			++qty;
			}
		}
	var bdelete1 = document.getElementById('delete1');
	var bdelete2 = document.getElementById('delete2');
	if (qty >=1) {
		bdelete1.className = 'cbutt-a';
		bdelete2.className = 'cbutt-a';
		}
	else {
		bdelete1.className = 'cbutt-d';
		bdelete2.className = 'cbutt-d';
		}	
}

function merchantTabs(tab, panel)
      {
        for(i = 0; i < tabs.length; i++)
        {
			var one2 = document.getElementById(tabs[i]);
			if (one2)
			{
				one2.parentNode.parentNode.parentNode.className = (tab == tabs[i]) ? 'dtab-a':'dtab-d';
			}
        }
        for(j = 0; j < panels.length; j++)
		{
			var one = document.getElementById(panels[j]);
			if (one)
			{
				one.style.display = (panel == panels[j]) ? 'block':'none';
			}
        }
      }

function shlogin() {
	var chlogin = document.getElementById('em-log');
	var logform = document.getElementById('log-frm');
	if (logform.style.display == 'block') {
		chlogin.checked = true;
		logform.style.display = 'none';		
		}
	else {
		chlogin.checked = false;
		logform.style.display = 'block';
		}
}

function checkSellerRegister()
{
	function al(error,obj)
	{
		alert(error);
		obj.focus();
		return false;
	}
	
	field = document.regseller.seller_name; 		if ( field.value == '' ) { return al('Please enter a Name',field); }
	if (!checkStrParts(document.regseller.seller_name.value, login_allowed)) 
	{
		al('Please enter a Valid Name',field);
		return false;
	}
	field = document.regseller.sales_email; 		if ( field.value == '' ) { return al('Please enter a Sales Email',field); }
	if (!checkEmail(document.regseller.sales_email.value) ) 
	{
		al('Please enter a Valid Email',field);
		return false;
	}
	field = document.regseller.sales_phone; 		if ( field.value == '' ) {  return al('Please enter a Sales Phone',field); }
	if (!checkStrParts(document.regseller.sales_phone.value, phone_allowed)) 
	{
		al('Please enter a Valid Zip',field);
		return false;
	}
	field = document.regseller.address; 			if ( field.value == '' ) {  return al('Please enter a Address',field); }
	field = document.regseller.seller_city; 		if ( field.value == '' ) {  return al('Please enter a City',field); }
	if (!checkStrParts(document.regseller.seller_city.value, login_allowed)) 
	{
		al('Please enter a Valid City',field);
		return false;
	}
	field = document.regseller.seller_state; 	if ( field.value == '' ) {  return al('Please enter a State',field); }
	if (!checkStrParts(document.regseller.seller_state.value, login_allowed)) 
	{
		al('Please enter a Valid State',field);
		return false;
	}
	field = document.regseller.seller_zip; 		if ( field.value == '' ) {  return al('Please enter a Zip Code',field); }
	if (!checkStrParts(document.regseller.seller_zip.value, price_allowed)) 
	{
		al('Please enter a Valid Zip',field);
		return false;
	}
	field = document.regseller.seller_ccnumber; 	if ( field.value == '' ) {  return al('Please enter a Credit Card #',field); }
	field = document.regseller.seller_cccvs; 	if ( field.value == '' ) {  return al('Please enter a Card Verification Number',field); }


	/*if (!checkStrParts(document.regseller.address.value, login_allowed)) 
	{
		al('Please enter a Valid Address',field);
		return false;
	}*/

	return true;
}

function sellerShippingChange(value)
{

	var ajaxseller = new sack();
	ajaxseller.setVar('value',value);
	ajaxseller.setVar('getshipping', '1');
	
	ajaxseller.requestFile = "/user/sell-yours/";
	ajaxseller.onCompletion = function() { eval(ajaxseller.response); };
	ajaxseller.runAJAX();
}

function clearSelect(id) {
	document.getElementById(id).options.length = 0;
}

function addToSelect(name,value,id,selected) {
	select = document.getElementById(id);
	select.options[select.options.length] = new Option(name,value,selected);
}

function bINT(sText)
{
	if(isNaN(parseInt(sText)))
		return false;
	else
		return true;
}

function al(error,obj)
{
	alert(error);
	obj.focus();
	return false;
}

function checkSellersold()
{	
	field = document.form1.price; 		if ( field.value == '' ) { return al('Please enter a Price',field); }
	field = document.form1.price; 		if ( !bINT(field.value) ) { return al('Please enter valid Price',field); }
	field = document.form1.amount; 		if ( field.value == '' || field.value == 0 ) { return al('Please enter a Amount',field); }
	field = document.form1.ship_destination; 		if ( field.value == '' ) {  return al('Please enter a Shipping destination',field); }
	field = document.form1.htime; 			if ( field.value == '0' ) {  return al('Please select a Handling Time',field); }
	
	return true;
}

function ShowPaymentDiv( num )
{
	document.getElementById('_pm_1').style.display = 'none';
	document.getElementById('_pm_2').style.display = 'none';
	document.getElementById('_pm_3').style.display = 'none';
	document.getElementById('_pm_4').style.display = 'none';
	document.getElementById('_pm_5').style.display = 'none';
	//document.getElementById('_pm_6').style.display = 'none';
	
	$('#_pm_'+num).fadeIn('slow');
	
	return false;
}

function checkPMupdate(num)
{	
	if ( num == 2 )
	{
		if ( document.updpm2.password.value != document.updpm2.retype.value )
		{
			return al('Password and Re-Type password is not much', document.updpm2.password);
		}
	}
	if ( num == 3 )
	{
		if ( document.updpm3.password.value != document.updpm3.retype.value )
		{
			return al('Password and Re-Type password is not much', document.updpm3.password);
		}
	}
	if ( num == 4 )
	{
		if ( document.updpm4.password.value != document.updpm4.retype.value )
		{
			return al('PIN and Re-Type PIN is not much', document.updpm4.password);
		}
	}
	
	return true;
} 

function showblock(id)
{
	document.getElementById(id).style.display = 'block';
}

function hideblock(id)
{
	document.getElementById(id).style.display = 'none';
}
