var isEmailSent = true;
var request;

var loader_bg      = new Image;
loader_bg.src  = "images/preloader.gif";

if (navigator.appName == "Microsoft Internet Explorer")
{
	document.execCommand("BackgroundImageCache", false, true);
}

function scroll()
{
    document.getElementById("fixme").style.top = 380 + document.body.scrollTop + "px";
}

function submitForm(frm)
{
    s = frm.code.value.split("_");
    frm.sort.value = s[0];
    frm.sort_type.value = s[1];
    frm.code.value = "";
    frm.submit();
}

function clearFilters()
{
    var frm = document.filters;
    var len = frm.elements.length;
    for (var i = 0; i < len; i++)
    {
	    if (frm.elements(i).options)
	    {
		    frm.elements(i).options(0).selected = true;
	    }
	}
}

function filterFilters()
{
	var frm = document.filters;
	var len = frm.elements.length;
	for (var i = 0; i < len; i++)
	{
		if (frm.elements(i).options)
		{
			if (frm.elements(i).options(0).selected)
			{
				frm.elements(i).disabled = true;
			}
		}
	}
}

function MM_findObj(n, d) 
{ 
    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 && document.getElementById) 
    {
        x=document.getElementById(n);
    } 
    return x;
}

function P7_autoLayers() 
{ 
    var g,b,k,f,args=P7_autoLayers.arguments;
    var a = parseInt(args[0]);
    if(isNaN(a)) a=0;
    if(!document.p7setc) 
    {
        p7c=new Array();
        document.p7setc=true;
        for (var u=0;u<10;u++) 
        {
            p7c[u] = new Array();
        }
    }
    for(k=0; k<p7c[a].length; k++) 
    {
        if((g=MM_findObj(p7c[a][k]))!=null) 
        {
            b=(document.layers)?g:g.style;
            b.visibility="hidden";
			b.display="none";
            try
            {
                    document.search_form.search_field.style.visibility = "visible";
            }
            catch (e)
            {
            }
        }
    }
    for(k=1; k<args.length; k++) 
    {
        if((g=MM_findObj(args[k])) != null) 
        {
            b=(document.layers)?g:g.style;
            b.visibility="visible";
			b.display="block";
			//b.filter="progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)";
            f=false;
            for(j=0;j<p7c[a].length;j++) 
            {
                if(args[k]==p7c[a][j]) 
                {
                    f=true;
                }
            }
            if(!f) 
            {
                p7c[a][p7c[a].length++]=args[k];
            }
        }
    }
}

function showDesc(id1, id2)
{
	var block1 = document.getElementById(id1);
	var block2 = document.getElementById(id2);
	
	block1.style.display = 'block';
	block2.style.display = 'none';
}

function showListType1(num)
{
	var navSectionName = new Array();
	navSectionName[1] = "price-link";
	navSectionName[2] = "review-link";
	navSectionName[3] = "spec-link";
    navSectionName[4] = "editor-link";
	navSectionName[5] = "price-link2";
	navSectionName[6] = "review-link2";
	navSectionName[7] = "spec-link2";
	navSectionName[8] = "editor-link2";
	
	var sectionName = new Array();
	sectionName[1] = "price-section";
	sectionName[2] = "review-section";
	sectionName[3] = "spec-section";
    sectionName[4] = "editor-section";
    
    var len = sectionName.length - 1;
	
	for(i = 1; i <= len; i++)
	{
		if(i == num)
		{
			id = document.getElementById(navSectionName[i + len]);
			id.style.display = "none";
			id = document.getElementById(navSectionName[i]);
			id.style.display = "";
			id = document.getElementById(sectionName[i]);
			id.style.display = "";
		}
		else
		{
			id = document.getElementById(navSectionName[i]);
			id.style.display = "none";
			id = document.getElementById(navSectionName[i + len]);
			id.style.display = "";
			id = document.getElementById(sectionName[i]);
			id.style.display = "none";
		}
	}
	
	return 0;
}

function openWindow(url)
{
	window.open(url, "_blank");
}

function SetCookieForNDays(name, value, days, path, domain, secure)
{
	var today = new Date();
	expires = new Date(today.getTime() + days * 24 * 60 * 60 * 1000);
	document.cookie = name + "=" + escape(value) +
                "; expires=" + expires.toGMTString() +
                ((path) ? "; path=" + path : "") +
                ((domain) ? "; domain=" + domain : "") +
                ((secure) ? "; secure" : "");
}

function GetCookie(name) 
{
	var start = document.cookie.indexOf(name + "=");
	var len = start + name.length + 1;
	if ((!start) && (name != document.cookie.substring(0, name.length))) 
	{
		return null;
	}
	if (start == -1) 
	{
		return null;
	}
	var end = document.cookie.indexOf(";", len);
	if (end == -1)
	{
		end = document.cookie.length;
	}
	
	return unescape(document.cookie.substring(len,end));
}

function showTopProducts()
{
    var cookieValue = GetCookie("top_product");
    if(!cookieValue)
    {
        SetCookieForNDays("top_product", 1, 1000);
		var obj = document.getElementById("popup-layer");
		
		obj.style.top = "-270px";
		obj.style.display = "block";
		
		var timer = setTimeout("movePopUp(10)", 10);
    }
}

function movePopUp(i)
{
	var cur_height = -270;
	
	if(cur_height + i <= 0)
	{
		var obj = document.getElementById("popup-layer");
		obj.style.top = cur_height + i + "px";
		
		i += 10;
		
		var timer = setTimeout("movePopUp(" + i + ")", 10);
	}
}

function hideTopProducts()
{
	var obj = document.getElementById("emailFormAddTable");
	obj.style.display = 'none';
	
	var obj = document.getElementById("emailFormTable");
	obj.style.display = 'none';
	
	var obj = document.getElementById("mail-message");
	obj.style.display = '';
	
	var obj = document.getElementById("mail-close");
	obj.style.display = '';
}

function closeTopProducts()
{
	var obj = document.getElementById("emailFormAddTable");
	obj.style.display = 'none';
	
	var obj = document.getElementById("emailFormTable");
	obj.style.display = 'none';
	
	var obj = document.getElementById("mail-message");
	obj.style.display = 'none';
	
	var obj = document.getElementById("popup-layer");
	obj.style.top = "0px";
	
	var timer = setTimeout("movePopDown(10)", 10);
}

function movePopDown(i)
{
	var cur_height = 0;
	
	if(cur_height - i >= -270)
	{
		var obj = document.getElementById("popup-layer");
		obj.style.top = cur_height - i + "px";
		
		i += 10;
		
		var timer = setTimeout("movePopDown(" + i + ")", 10);
	}
}

function modifyBrandSectionTimer()
{
	var timer = setTimeout("modifyBrandSection()", 5000);
}

function modifyBrandSection()
{
	if(block = document.getElementById("brand-section"))
	{
		block.style.display = "";
	}
	if(block = document.getElementById("price-message-first"))
	{
		block.style.display = "";
	}
	if(block = document.getElementById("price-message-second"))
	{
		block.style.display = "none";
	}
}

function showSection(id)
{
	var elem;
	
	if (elem = document.getElementById(id))
	{
		if(elem.style.display == "none")
		{
			elem.style.display = "";
		}
		else
		{
			elem.style.display = "none";
		}
	}
}

function getURL(url)
{
    if (window.XMLHttpRequest)
    {
	    request = new XMLHttpRequest();
    }
    else
    {
	    if (window.ActiveXObject)
	    {
		    try
		    {
			    request = new ActiveXObject("Msxml2.XMLHTTP");
		    }
		    catch (e)
		    {
			    try
			    {
				    request = new ActiveXObject("Microsoft.XMLHTTP");
			    }
			    catch (e)
			    {
			    }
		    }
	    }
    }

    if (request)
    {
	    request.open("GET", url, false);
	    request.send(null);
	    if (request.status == 200)
	    {
		    var data = request.responseText;
		    return data;
	    }
    }
}

function savePageType(root, type)
{
	url = root + "support/page_type.php?type=" + escape(type) + "&page=" + escape(window.location.href);
	data = getURL(url);
}

function showFieldStatus(id, error, field_status, root)
{
	var imgs = new Array();
	imgs["ok"]        = new Image;
	imgs["ok"].src    = root + "images/ok_img.gif";
	imgs["error"]     = new Image;
	imgs["error"].src = root + "images/error_img.gif";
	
	var obj = document.getElementById(id);
	if (field_status)
	{
		obj.innerHTML = '<img src="' + root + 'images/ok_img.gif" width="22" height="21">';
	}
	else
	{
		obj.innerHTML = '<img src="' + root + 'images/error_img.gif" width="22" height="22" style="float: left;">&nbsp;&nbsp;' + error;
	}
}

function sendContactForm(frm, root)
{
	var isNameCorrect    = true;
	var isEmailCorrect   = true;
	var isCommentCorrect = true;
	var isCaptchaCorrect = true;
	
	var fields = new Array();
	var errors = new Array();
	fields["name"]     = "name-field";
	errors["name"]     = "this information is required";
	fields["email"]    = "email-field";
	errors["email"]    = "please enter valid address";
	fields["comments"] = "comments-field";
	errors["comments"] = "this information is required";
	fields["captcha"]  = "captcha-field";
	errors["captcha"]  = "please try again";
	
	if (frm.name.value == "")
	{
		isNameCorrect = false;
	}
	if (frm.email.value == "" || !(/^[^@]+@[^@\.]+\.[^@]+$/.test(frm.email.value)))
	{
		isEmailCorrect = false;
	}
	if (frm.comments.value == "")
	{
		isCommentCorrect = false;
	}
	if (frm.captcha.value.toLowerCase() != getURL(root + "support/captcha_current.php"))
	{
		isCaptchaCorrect = false;
	}
	
	if (isNameCorrect && isEmailCorrect && isCommentCorrect && isCaptchaCorrect)
	{
		frm.submit();
	}
	else
	{
		var obj = document.getElementById("error-message");
		obj.innerHTML = '<b style="color: #ff0000;">Please check the errors below and try again.<br><br></b>';
		
		showFieldStatus(fields["name"], errors["name"], isNameCorrect, root);
		showFieldStatus(fields["email"], errors["email"], isEmailCorrect, root);
		showFieldStatus(fields["comments"], errors["comments"], isCommentCorrect, root);
		showFieldStatus(fields["captcha"], errors["captcha"], isCaptchaCorrect, root);
	}
}

function sendNewsletterForm(frm, root)
{
	var isNameCorrect    = true;
	var isEmailCorrect   = true;
	var isEmailNew       = true;
	
	var fields = new Array();
	var errors = new Array();
	fields["name"]      = "name-field";
	errors["name"]      = "please enter your name";
	fields["email"]     = "email-field";
	errors["email"]     = "please enter valid address";
	fields["email_new"] = "email-field";
	errors["email_new"] = "this email is in our database";
	
	if (frm.name.value == "" || frm.name.value == "Please enter your name...")
	{
		isNameCorrect = false;
	}
	if (frm.email.value == "" || frm.email.value == "Please enter your email address..." || !(/^[^@]+@[^@\.]+\.[^@]+$/.test(frm.email.value)))
	{
		isEmailCorrect = false;
	}
	if (getURL(root + "support/email_insert.php?act=check&email=" + escape(frm.email.value)) == "ER")
	{
		isEmailNew = false;
	}
	
	if (isNameCorrect && isEmailCorrect && isEmailNew)
	{
		data = getURL(root + "support/email_insert.php?act=add&email=" + escape(frm.email.value) + "&name=" + escape(frm.name.value));
		if (data == "OK")
		{
			var obj = document.getElementById("confirm-message");
			obj.innerHTML = '<b>Thanks ' + frm.name.value + '.</b> You have successfully subscribed to our mailing list with the email address <b>' + frm.email.value + '</b>.<br><br>We\'ll send you an occassional newsletter full of news, reviews & hot deals on Digital Cameras.<br><br>You have also been entered into our monthly prize draw. Good Luck!';
		}
	}
	else
	{
		showFieldStatus(fields["name"], errors["name"], isNameCorrect, root);
		if (isEmailCorrect)
		{
			showFieldStatus(fields["email_new"], errors["email_new"], isEmailNew, root);
		}
		else
		{
			showFieldStatus(fields["email"], errors["email"], isEmailCorrect, root);
		}
	}
}

function sendCreateAccountForm(frm, root)
{
	var isEmailCorrect    = true;
	var isEmailNew        = true;
	var isLoginCorrect    = true;
	var isPasswordCorrect = true;
	var isPasswordRepeat  = true;
	
	var fields = new Array();
	var errors = new Array();
	fields["email"]     = "email-field";
	errors["email"]     = "enter valid address";
	fields["email_new"] = "email-field";
	errors["email_new"] = "we know this address";
	fields["login"]     = "login-field";
	errors["login"]     = "enter login";
	fields["pass"]      = "pass-field";
	errors["pass"]      = "enter password";
	fields["passrep"]   = "pass-rep-field";
	errors["passrep"]   = "re-enter password";
	
	if (frm.email.value == "" || !(/^[^@]+@[^@\.]+\.[^@]+$/.test(frm.email.value)))
	{
		isEmailCorrect = false;
	}
	if (frm.login.value == "")
	{
		isLoginCorrect = false;
	}
	if (frm.pass.value == "")
	{
		isPasswordCorrect = false;
	}
	if (getURL(root + "support/account_insert.php?act=check&email=" + escape(frm.email.value)) == "ER")
	{
		isEmailNew = false;
	}
	if (frm.pass.value != frm.passrep.value || frm.passrep.value == "")
	{
		isPasswordRepeat = false;
	}
	
	if (isEmailCorrect && isLoginCorrect && isPasswordCorrect && isEmailNew && isPasswordRepeat)
	{
		data = getURL(root + "support/account_insert.php?act=add&email=" + escape(frm.email.value) + "&login=" + escape(frm.login.value) + "&pass=" + escape(frm.pass.value));
		if (data == "OK")
		{
			window.location = root + "account.php";
		}
	}
	else
	{
		if (isEmailCorrect)
		{
			showFieldStatus(fields["email_new"], errors["email_new"], isEmailNew, root);
		}
		else
		{
			showFieldStatus(fields["email"], errors["email"], isEmailCorrect, root);
		}
		showFieldStatus(fields["login"], errors["login"], isLoginCorrect, root);
		showFieldStatus(fields["pass"], errors["pass"], isPasswordCorrect, root);
		showFieldStatus(fields["passrep"], errors["passrep"], isPasswordRepeat, root);
	}
}

function sendAccountDetailsForm(frm, root)
{
	var isEmailCorrect    = true;
	var isEmailNew        = true;
	var isLoginCorrect    = true;
	var isPasswordCorrect = true;
	
	var fields = new Array();
	var errors = new Array();
	fields["email"]     = "email-field";
	errors["email"]     = "";
	fields["email_new"] = "email-field";
	errors["email_new"] = "";
	fields["login"]     = "login-field";
	errors["login"]     = "";
	fields["pass"]      = "pass-field";
	errors["pass"]      = "";
	
	if (frm.email.value == "" || !(/^[^@]+@[^@\.]+\.[^@]+$/.test(frm.email.value)))
	{
		isEmailCorrect = false;
	}
	if (frm.login.value == "")
	{
		isLoginCorrect = false;
	}
	if (frm.pass.value == "")
	{
		isPasswordCorrect = false;
	}
	if (getURL(root + "support/account_insert.php?act=check&email=" + escape(frm.email.value)) == "ER")
	{
		isEmailNew = false;
	}
	
	if (isEmailCorrect && isLoginCorrect && isPasswordCorrect && isEmailNew)
	{
		if (!frm.discount.checked)
		{
			frm.discount.value = 0;
		}
		if (!frm.newsletter.checked)
		{
			frm.newsletter.value = 0;
		}
		data = getURL(root + "support/account_insert.php?act=update&id_user=" + escape(frm.id_user.value) + "&email=" + escape(frm.email.value) + "&login=" + escape(frm.login.value) + "&pass=" + escape(frm.pass.value) + "&discount=" + escape(frm.discount.value) + "&newsletter=" + escape(frm.newsletter.value) + "&pold=" + escape(frm.pold.value));
		if (data == "OK")
		{
			window.location = root + "account.php";
		}
	}
	else
	{
		if (isEmailCorrect)
		{
			showFieldStatus(fields["email_new"], errors["email_new"], isEmailNew, root);
		}
		else
		{
			showFieldStatus(fields["email"], errors["email"], isEmailCorrect, root);
		}
		showFieldStatus(fields["login"], errors["login"], isLoginCorrect, root);
		showFieldStatus(fields["pass"], errors["pass"], isPasswordCorrect, root);
	}
}

function sendReviewForm(frm, root)
{
	var isNameCorrect    = true;
	var isEmailCorrect   = true;
	var isTitleCorrect = true;
	var isReviewCorrect = true;
	var isCaptchaCorrect = true;
	
	var fields = new Array();
	var errors = new Array();
	fields["name"]     = "name-field";
	errors["name"]     = "this information is required";
	fields["email"]    = "email-field";
	errors["email"]    = "please enter valid address";
	fields["title"]    = "title-field";
	errors["title"]    = "this information is required";
	fields["review"]   = "review-field";
	errors["review"]   = "this information is required";
	fields["captcha"]  = "captcha-field";
	errors["captcha"]  = "please try again";
	
	if (frm.name.value == "")
	{
		isNameCorrect = false;
	}
	if (frm.email.value == "" || !(/^[^@]+@[^@\.]+\.[^@]+$/.test(frm.email.value)))
	{
		isEmailCorrect = false;
	}
	if (frm.title.value == "")
	{
		isTitleCorrect = false;
	}
	if (frm.review.value == "")
	{
		isReviewCorrect = false;
	}
	if (frm.captcha.value.toLowerCase() != getURL(root + "support/captcha_current.php"))
	{
		isCaptchaCorrect = false;
	}
	
	if (isNameCorrect && isEmailCorrect && isTitleCorrect && isReviewCorrect && isCaptchaCorrect)
	{
		frm.submit();
	}
	else
	{
		showFieldStatus(fields["name"], errors["name"], isNameCorrect, root);
		showFieldStatus(fields["email"], errors["email"], isEmailCorrect, root);
		showFieldStatus(fields["title"], errors["title"], isTitleCorrect, root);
		showFieldStatus(fields["review"], errors["review"], isReviewCorrect, root);
		showFieldStatus(fields["captcha"], errors["captcha"], isCaptchaCorrect, root);
	}
}

function sendFriendEmailForm(frm, root)
{
	var isNameCorrect        = true;
	var isEmailCorrect       = true;
	var isFriendEmailCorrect = true;
	
	var fields = new Array();
	var errors = new Array();
	fields["name"]         = "name-field";
	errors["name"]         = "this information is required";
	fields["email"]        = "email-field";
	errors["email"]        = "please enter valid address";
	fields["friend-email"] = "friend-email-field";
	errors["friend-email"] = "please enter valid address(es)";
	
	var friend_emails = new Array();
	friend_emails = frm.friend_email.value.split(",");
	for (i = 0; i < friend_emails.length; i++)
	{
		friend_emails[i] = trim(friend_emails[i]);
		if (friend_emails[i] == "" || !(/^[^@]+@[^@\.]+\.[^@]+$/.test(friend_emails[i])))
		{
			isFriendEmailCorrect = false;
			break;
		}
	}
	
	if (frm.name.value == "")
	{
		isNameCorrect = false;
	}
	if (frm.email.value == "" || !(/^[^@]+@[^@\.]+\.[^@]+$/.test(frm.email.value)))
	{
		isEmailCorrect = false;
	}
	
	if (isNameCorrect && isEmailCorrect && isFriendEmailCorrect)
	{
		frm.submit();
	}
	else
	{
		showFieldStatus(fields["name"], errors["name"], isNameCorrect, root);
		showFieldStatus(fields["email"], errors["email"], isEmailCorrect, root);
		showFieldStatus(fields["friend-email"], errors["friend-email"], isFriendEmailCorrect, root);
	}
}

function rememberLoginInfo(frm, root)
{
	if (frm.remember_login.checked)
	{
		if (getURL(root + "support/account_check.php?act=check&email=" + escape(frm.email.value) + "&pass=" + escape(frm.pass.value)) == "OK")
		{
			SetCookieForNDays("email", frm.email.value, 1000);
			SetCookieForNDays("pass", frm.pass.value, 1000);
			SetCookieForNDays("remember_login", "yes", 1000);
		}
	}
	else
	{
		SetCookieForNDays("remember_login", "no", 1000);
	}
}

function showLoginInfo(frm)
{
	var cookieRememberLoginValue = GetCookie("remember_login");
	if (cookieRememberLoginValue)
	{
		if (cookieRememberLoginValue == "yes")
		{
			var cookieEmailValue = GetCookie("email");
			var cookiePassValue = GetCookie("pass");
			frm.email.value = cookieEmailValue;
			frm.pass.value = cookiePassValue;
		}
	}
}

function showPreloader()
{
	idSpacer = document.getElementById("divSpacer");
	id_flow = document.getElementById("wrapJsiBox");
	idForm = document.getElementById("jsiMainBox");
	
	id_flow.style.height = idSpacer.offsetTop + 10;
	id_flow.style.display = '';
	
	idForm.style.left = (document.body.clientWidth / 2 - 229) + "px";
	idForm.style.top = (document.body.scrollTop + document.body.clientHeight / 2 - 94) + "px";
	idForm.style.display = '';
	
	if (navigator.appName == "Microsoft Internet Explorer")
	{
		changeAllSelectDisabled("hidden");
	}
	
	runLoader = true;
	setTimeout("animateLoading()", 900);
	setTimeout("hidePreloader()", 10000);
}

function changeAllSelectDisabled(vis)
{
	var coll = document.all.tags("SELECT");
	if (coll.length > 0)
	{
		for (i = 0; i < coll.length; i++)
		{
			coll.item(i).style.visibility = vis;
		}
	}
}

var showImgNum = 0;
var runLoader = false;
var ids = new Array();
ids[0] = "lt1";
ids[1] = "lt2";
ids[2] = "lt3";
ids[3] = "lt4";
ids[4] = "lt5";
ids[5] = "lt6";
ids[6] = "lt7";
ids[7] = "lt8";

function animateLoading()
{
	if (showImgNum < 8)
	{
		obj = document.getElementById(ids[showImgNum]);
		obj.style.backgroundColor = "#ff6500";
		showImgNum++;
	}
	else
	{
		showImgNum = 0;
		for (i = 0; i < 8; i++)
		{
			obj = document.getElementById(ids[i]);
			obj.style.backgroundColor = "#b3b3b3";
		}
	}
	
	if (runLoader)
	{
		setTimeout("animateLoading()", 150);
	}
}

function hidePreloader()
{
	if (navigator.appName == "Microsoft Internet Explorer")
	{
		changeAllSelectDisabled("visible");
	}
	
	runLoader = false;
	showImgNum = 0;
	for (i = 0; i < 8; i++)
	{
		obj = document.getElementById(ids[i]);
		obj.style.backgroundColor = "#b3b3b3";
	}
	
	id_flow = document.getElementById("wrapJsiBox");
	idForm = document.getElementById("jsiMainBox");
	id_flow.style.display = 'none';
	idForm.style.display = 'none';
}

function showPreloader2()
{
	idSpacer = document.getElementById("divSpacer");
	idForm = document.getElementById("jsiMainBox2");
	
	idForm.style.left = (document.body.clientWidth / 2 - 150) + "px";
	idForm.style.top = (document.body.scrollTop + document.body.clientHeight / 2 - 15) + "px";
	idForm.style.display = '';
	
	runLoader2 = true;
	setTimeout("animateLoading2()", 900);
	setTimeout("hidePreloader2()", 10000);
}

var showImgNum2 = 0;
var runLoader2 = false;
var ids2 = new Array();
ids2[0] = "lt21";
ids2[1] = "lt22";
ids2[2] = "lt23";
ids2[3] = "lt24";
ids2[4] = "lt25";
ids2[5] = "lt26";
ids2[6] = "lt27";
ids2[7] = "lt28";

function animateLoading2()
{
	if (showImgNum2 < 8)
	{
		obj = document.getElementById(ids2[showImgNum2]);
		obj.style.backgroundColor = "#ff6500";
		showImgNum2++;
	}
	else
	{
		showImgNum2 = 0;
		for (i = 0; i < 8; i++)
		{
			obj = document.getElementById(ids2[i]);
			obj.style.backgroundColor = "#b3b3b3";
		}
	}
	
	if (runLoader2)
	{
		setTimeout("animateLoading2()", 150);
	}
}

function hidePreloader()
{
	runLoader2 = false;
	showImgNum2 = 0;
	for (i = 0; i < 8; i++)
	{
		obj = document.getElementById(ids2[i]);
		obj.style.backgroundColor = "#b3b3b3";
	}
	
	idForm = document.getElementById("jsiMainBox2");
	idForm.style.display = 'none';
}

var clickedStar = 0;
function showReviewStars(num)
{
	for (i = 1; i <= 5; i++)
	{
		if (i <= num)
		{
			obj = document.getElementById("review-star-act" + i);
			obj.style.display = "";
			obj = document.getElementById("review-star-inact" + i);
			obj.style.display = "none";
		}
		else
		{
			obj = document.getElementById("review-star-inact" + i);
			obj.style.display = "";
			obj = document.getElementById("review-star-act" + i);
			obj.style.display = "none";
		}
	}
}

function backReviewStars(num)
{
	if (clickedStar > 0)
	{
		num = clickedStar;
	}
	for (i = 1; i <= 5; i++)
	{
		if (i <= num)
		{
			obj = document.getElementById("review-star-act" + i);
			obj.style.display = "";
			obj = document.getElementById("review-star-inact" + i);
			obj.style.display = "none";
		}
		else
		{
			obj = document.getElementById("review-star-inact" + i);
			obj.style.display = "";
			obj = document.getElementById("review-star-act" + i);
			obj.style.display = "none";
		}
	}
}

function fixReviewStars(num, frm)
{
	for (i = 1; i <= 5; i++)
	{
		if (i <= num)
		{
			obj = document.getElementById("review-star-act" + i);
			obj.style.display = "";
			obj = document.getElementById("review-star-inact" + i);
			obj.style.display = "none";
		}
		else
		{
			obj = document.getElementById("review-star-inact" + i);
			obj.style.display = "";
			obj = document.getElementById("review-star-act" + i);
			obj.style.display = "none";
		}
	}
	
	clickedStar = num;
	frm.rating.value = num;
}

function ltrim(str)
{
  return str.replace(/^\s+/, '');
}

function rtrim(str)
{
  return str.replace(/\s+$/, '');
}

function trim(str)
{
  return rtrim(ltrim(str));
}

function redirect(url)
{
	window.location = url;
}

function removeCompareProduct(root, id_del, id, pid)
{
	data = getURL(root + "support/compare_product.php?act=del&pid=" + escape(pid));
	
	obj = document.getElementById(id_del);
	obj.style.display = "none";
	obj = document.getElementById(id);
	obj.style.display = "none";
	
	if (data == 0)
	{
		document.getElementById("fixme").style.display = "none";
	}
	if (data < 4 && data > 1)
	{
		document.getElementById("compare-product-only-message").style.display = "none";
		document.getElementById("compare-product-nomore-message").style.display = "none";
	}
	if (data == 1)
	{
		document.getElementById("compare-product-only-message").style.display = "";
		document.getElementById("compare-product-nomore-message").style.display = "none";
		document.getElementById("compare-product-main-link").style.display = "none";
	}
}

function addCompareProductList(root, pid, obj)
{
	if (obj.checked)
	{
		data = getURL(root + "support/compare_product.php?act=add&pid=" + escape(pid));
		if (data == "ER")
		{
			obj.checked = false;
			showManyCompareProductsMessage();
		}
	}
	else
	{
		removeCompareProductList(root, pid);
	}
}

function removeCompareProductList(root, pid)
{
	data = getURL(root + "support/compare_product.php?act=del&pid=" + escape(pid));
}

function checkCompareProductList(root)
{
	data = getURL(root + "support/compare_product.php?act=check");
	if (data < 4)
	{
		return true;
	}
	else
	{
		return false;
	}
}

function checkCompareProductList(root)
{
	data = getURL(root + "support/compare_product.php?act=check");
	if (data < 2)
	{
		return false;
	}
	else
	{
		return true;
	}
}

function showMoreCompareProductsMessage()
{
	obj = document.getElementById('compare-more-product');
	obj.style.top = tempY - 30 + "px";
	obj.style.left = tempX + 30 + "px";
	obj.style.display = "";
}

function showManyCompareProductsMessage()
{
	obj = document.getElementById('compare-many-product');
	obj.style.top = tempY - 30 + "px";
	obj.style.left = tempX + 30 + "px";
	obj.style.display = "";
}


/* mouse position */

var IE = document.all?true:false;
if (!IE) document.captureEvents(Event.MOUSEMOVE);
document.onmousemove = getMouseXY;

var tempX = 0;
var tempY = 0;

function getMouseXY(e) 
{
	if (IE) 
	{
		tempX = event.clientX + document.body.scrollLeft;
		tempY = event.clientY + document.body.scrollTop;
	}
	else
	{
		tempX = e.pageX;
		tempY = e.pageY;
	}
	if (tempX < 0)
	{
		tempX = 0;
	}
	if (tempY < 0)
	{
		tempY = 0;
	}
	
	return true;
}

function loadPopupData(id, url, i)
{
    var obj = document.getElementById(id);
    if (!obj.style.height)
    {
        //var timer = setTimeout("increaseBlockHeight('" + id + "', 80, 310)", 30);
        var timer_load = setTimeout("loadPopupIframe('" + id + "', '" + url + "', " + i + ")", 1500);
    }
}

function increaseBlockHeight(id, i, max_size)
{
	if (i < max_size)
	{
		var obj = document.getElementById(id);
		obj.style.height = i + "px";
		
		i += 10;
		
		var timer = setTimeout("increaseBlockHeight('" + id + "', " + i + ", " + max_size + ")", 30);
	}
}

function loadPopupIframe(id, url, i)
{
    var obj;
    
    if (obj = document.getElementById(id))
    {
        if (!obj.style.height)
        {
            obj.style.height = "30px";
            obj.innerHTML = '<iframe width="100%" height="321" id="popup-all-iframe' + i + '" frameborder="0" scrolling="no" src="' + url + '" border="0" style="border: 0px; margin: 0px; padding: 0px;"></iframe>';
        }
    }
}

function loadPopupDataInBackground(i)
{
    var obj;
    
    if (i >= 0)
    {
        if (obj = document.getElementById("popup-all-url" + i))
        {
            loadPopupIframe("popup-all-content" + i, obj.value, i);
        }
    }
    
    i += 1;
    
    if (i < 20)
    {
        var timer = setTimeout("loadPopupDataInBackground(" + i + ")", 500 + 100 * i);
    }
}

function setPopupAllPosition(id, idframe)
{
    var obj;
    var obj_frame;
    var iframe_height;
    var current_pos;
    var margin_top;
    
    if (obj = document.getElementById(id))
    {
        if (obj_frame = document.getElementById(idframe))
        {
            iframe_height = obj_frame.style.height.replace("px", "") * 1 + 14;
        }
        else
        {
            iframe_height = 110;
        }
        
        if (!obj.style.marginTop || obj.style.marginTop == "0px")
        {
            margin_top = 0;
        }
        else
        {
            margin_top = obj.style.marginTop.replace("px", "") * 1;
        }
        
        current_pos = obj.offsetTop - document.body.scrollTop - margin_top;
        center_pos = document.body.clientHeight / 2 - iframe_height / 2;
        
        if (current_pos <= center_pos)
        {
            obj.style.marginTop = "-15px";
        }
        if (current_pos >= center_pos + iframe_height)
        {
            obj.style.marginTop = (-1 * iframe_height + 40) + "px";
        }
        if ((current_pos > center_pos) && (current_pos < center_pos + iframe_height))
        {
            obj.style.marginTop = -1 * (current_pos - center_pos) + "px";
        }
    }
}

