/* Modified to support Opera */
function bookmarksite(title,url)
{
	if (window.sidebar) // firefox
	{
		window.sidebar.addPanel(title, url, "");
	}
	else if(window.opera && window.print)
	{ // opera
		var elem = document.createElement('a');
		elem.setAttribute('href',url);
		elem.setAttribute('title',title);
		elem.setAttribute('rel','sidebar');
		elem.click();
	} 
	else if(document.all)// ie
	{
		window.external.AddFavorite(url, title);
	}
}

function handCursor(){
    document.body.style.cursor = 'pointer';
}

function baseCursor(){
    document.body.style.cursor = 'default';
}

function show(elem){

	obj = document.getElementById(elem);
	obj.style.visibility = 'visible';
	
}

function hide(elem){

	obj = document.getElementById(elem);
	obj.style.visibility = 'hidden';
	
}

function hideBlock(id)
{
	var elem;
	
	if (elem = document.getElementById(id))
	{
        elem.style.display = "none";
	}
}

function showBlock(id)
{
	var elem;
	
	if (elem = document.getElementById(id))
	{
        elem.style.display = "block";
	}
}

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 clearField(id)
{
    var obj = document.getElementById(id);
    obj.innerHTML = '';
}

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 openWindow(url)
{
	window.open(url, "_blank");
}

function showSection(id)
{
	var elem;
	
	if (elem = document.getElementById(id))
	{
		if(elem.style.display == "none")
		{
			elem.style.display = "";
		}
		else
		{
			elem.style.display = "none";
		}
	}
}

/*
	elem - object in which we are searching
	id - id (string) we are looking for 
*/
function getChildObjectInElement(elem, id)
{	
	elements = elem.getElementsByTagName("*");
	for (j = 0; j < elements.length; j++)
	{
		if (elements[j].id == id)
		{
			return elements[j];
		}
	}
	
	return false;
}


// =================== MENU START ======================
function menuOver(elem)
{
	if (getChildObjectInElement(elem, "select").style.display == "none")
	{
		getChildObjectInElement(elem, "active").style.display = "block";
		elem.style.color = '#ffffff';
	}	
}//////menuOver
	
function menuOut(elem)
{	
	if (getChildObjectInElement(elem, "active").style.display == "block")
	{
		getChildObjectInElement(elem, "active").style.display = "none";
		getChildObjectInElement(elem, "default").style.display = "block";
		elem.style.color = '#666666';
	}
	
	if (getChildObjectInElement(elem, "select").style.display == "block")
	{
		getChildObjectInElement(elem, "active").style.display = "none";
		getChildObjectInElement(elem, "default").style.display = "none";
		elem.style.color = '#ffffff';
	}	
}//////menuOut

function menuClick(elem)
{
	elems = getElementsByC('toggler');
	for(i = 0; i < elems.length; i++)
	{
		if(elems[i]!=elem)
		{			
			getChildObjectInElement(elems[i], "select").style.display = "none";
			getChildObjectInElement(elems[i], "default").style.display = "block";
			elems[i].style.color = '#666666';
		}
	}	
		
	if (getChildObjectInElement(elem, "select").style.display == "none")
	{
		getChildObjectInElement(elem, "select").style.display = "block";
		elem.style.color = '#ffffff';
	}
	else
	{
		getChildObjectInElement(elem, "select").style.display = "none";
		getChildObjectInElement(elem, "active").style.display = "block";
		elem.style.color = '#ffffff';
	}		
}//////menuClick
	
function getElementsByC(className){
		var hasClassName = new RegExp("(?:^|\\s)" + className + "(?:$|\\s)");
		var allElements = document.getElementsByTagName("*");
		var results = [];

		var element;
		for (var i = 0; (element = allElements[i]) != null; i++) {
			var elementClass = element.className;
			if (elementClass && elementClass.indexOf(className) != -1 && hasClassName.test(elementClass))
				results.push(element);
		}

		return results;
	}//////getElementsByC
// =================== MENU END ======================

// =================== NAVIGATOR START ======================
function navOver(elem)
{
	var num = elem.id.split("_")[1];
	
	if (document.getElementById("nav_text_"+num).className == "navDefault")
	{
		document.getElementById("nav_text_"+num).className = "navActive";
		document.getElementById("nav_left_on_"+num).style.display = "block";
		document.getElementById("nav_left_"+num).style.display = "none";
		document.getElementById("nav_right_on_"+num).style.display = "block";
		document.getElementById("nav_right_"+num).style.display = "none";
	}
}

function navOut(elem)
{
	var num = elem.id.split("_")[1];
	
	if (document.getElementById("nav_text_"+num).className == "navActive")
	{
		document.getElementById("nav_text_"+num).className = "navDefault";
		document.getElementById("nav_left_on_"+num).style.display = "none";
		document.getElementById("nav_left_"+num).style.display = "block";
		document.getElementById("nav_right_on_"+num).style.display = "none";
		document.getElementById("nav_right_"+num).style.display = "block";
	}
}
// =================== NAVIGATOR END ======================

// =================== SORTING START ======================
function sortOver(elem)
{
	if (getChildObjectInElement(elem, "on").style.display == "none")
	{
		getChildObjectInElement(elem, "off").style.display = "none";
		getChildObjectInElement(elem, "on").style.display = "inline";
	}
}

function sortOut(elem)
{
	if (getChildObjectInElement(elem, "on").className != "sortDefault")
	{
		getChildObjectInElement(elem, "on").style.display = "none";
		getChildObjectInElement(elem, "off").style.display = "inline";
	}
}
// =================== SORTING END ======================

// =================== PRODUCT TABS START ======================
function productTabClick(elem)
{
	var type = elem.id.split("_")[2];
	
	var tab_active = document.getElementById('product_tab_' + product_tab_active);
	getChildObjectInElement(tab_active, "on").style.display = "none";
	getChildObjectInElement(tab_active, "off").style.display = "inline";	
	document.getElementById('product_page_'+product_tab_active).style.display = 'none';
	
	getChildObjectInElement(elem, "on").style.display = "inline";
	getChildObjectInElement(elem, "off").style.display = "none";
	document.getElementById('product_page_'+type).style.display = 'block';
	
	product_tab_active = type;
}

function productTabOver(elem)
{
	if (getChildObjectInElement(elem, "on").style.display == "none")
	{
		getChildObjectInElement(elem, "off").style.display = "none";
		getChildObjectInElement(elem, "on").style.display = "inline";
	}
}

function productTabOut(elem)
{
	var type = elem.id.split("_")[2];
	
	if (type != product_tab_active)
	{
		getChildObjectInElement(elem, "on").style.display = "none";
		getChildObjectInElement(elem, "off").style.display = "inline";
	}
}
// =================== PRODUCT TABS START ======================

// =================== REVIEW START ======================
/*
	vote is 1 (helpful) or 0 (unhelpful)
*/
function voteReview(root, id, vote, keyword)
{
	url = root + "review_vote.php?id=" + escape(id) + "&vote=" + escape(vote) + "&keyword=" + escape(keyword);
	getURL(url);

	document.getElementById('r_'+id+'_thanks').style.display = 'block';
}

function checkReviewForm(root)
{
	var error = false;
	var error_msg = "";

	if (document.getElementById('r_name').value == "")
	{
		error = true;
		error_msg = "Please enter Your Name.\r\n";
	}
	if (document.getElementById('r_title').value == "")
	{
		error = true;
		error_msg += "Please enter Review Title.\r\n";
	}
	if (document.getElementById('r_pro').value == "")
	{
		error = true;
		error_msg += "Please enter Strengths.\r\n";
	}
	if (document.getElementById('r_con').value == "")
	{
		error = true;
		error_msg += "Please enter Weaknesses.\r\n";
	}
	if (document.getElementById('r_posting').value == "")
	{
		error = true;
		error_msg += "Please enter Comments.\r\n";
	}
	if (document.getElementById('r_captcha').value == "")
	{
		error = true;
		error_msg += "Please enter Letters/numbers you see on the image.\r\n";
	}
	else
	{
		url = root + "support/captcha_check.php?captcha=" + escape(document.getElementById('r_captcha').value);				
		data = getURL(url);		
		if (data != "Captcha is correct")
		{
			error = true;	
			error_msg += "Please enter correct Letters/numbers you see on the image.\r\n";
		}
	}	

	if (error)
	{
		alert(error_msg);
		return false;
	}

	document.getElementById('r_submit').style.display = "none";
	return true;
}

function showReviewForm()
{
	document.getElementById('review_win_img').style.display = 'none';
	document.getElementById('review-section-list').style.display = 'none'; 
	document.getElementById('review-section-form').style.display = 'block'; 
	document.getElementById('review-section-form').scrollIntoView(true);
}
// =================== REVIEW END ======================

// =================== SUBMIT HEADER FORM START ======================
function submitHeaderForm(keyword, url)
{
	window.location = url + escape(keyword);
}
// =================== SUBMIT HEADER FORM END ======================

// =================== CONTACT FORM START ================================
function checkContactForm(root)
{	
	var error = false;
	var error_msg = "";

	if (document.getElementById('c_name').value == "")
	{
		error = true;
		error_msg = "Please enter Your Name.\r\n";
	}
	if (document.getElementById('c_email').value == "")
	{
		error = true;
		error_msg += "Please enter Email Address.\r\n";
	}	
	if (document.getElementById('c_message').value == "")
	{
		error = true;
		error_msg += "Please enter Comment/Question.\r\n";
	}	
	if (document.getElementById('c_captcha').value == "")
	{
		error = true;
		error_msg += "Please enter Letters/numbers you see on the image.\r\n";
	}
	else
	{
		url = root + "support/captcha_check.php?captcha=" + escape(document.getElementById('c_captcha').value);				
		data = getURL(url);		
		if (data != "Captcha is correct")
		{
			error = true;	
			error_msg += "Please enter correct Letters/numbers you see on the image.\r\n";
		}
	}	

	if (error)
	{
		alert(error_msg);
		return false;
	}

    document.getElementById('c_contactid').value = "2";
	document.getElementById('c_button').style.display = "none";
	return true;
}
// =================== CONTACT FORM END ================================
