function GetBrowser()
{
	var xmlHTTP =null;
	try 
	{
		//firefox ,sarfari,opera;
		xmlHTTP   = new XMLHttpRequest();
	}
	catch (e)
	{
		//FOR IE
		try
		{
			xmlHTTP = new ActiveXObject("Msxml2.XMLHTTP");	
		}
		catch (E)
		{
			xmlHTTP = new ActiveXObject("Microsoft.XMLHTTP");			
		}
	}
	return xmlHTTP;
}
function doThis(a)
{
	if(a!='')
	{
		if(a=='add_to_fav')
		{
			document.getElementById('wl_type').value=1;
			document.form1.action="registration/do_wishlist.php";
		}
		else if(a=='auto_delivery')
		{
			document.form1.action="auto_delivery.php";
		}
		else if(a=='email_a_friend')
		{
			document.form1.action="email_a_friend.php";
		}
		else if(a=='update_product_info')
		{
			document.form1.action="update_product_info.php";
		}
		else if(a=='my_favorites')
		{
			document.getElementById('wl_type').value=0;
			document.form1.action="registration/my_favorites.php";
		}
		else if(a=='shopping_list')
		{
			document.getElementById('wl_type').value=0;
			document.form1.action="registration/do_wishlist.php";
		}
		document.form1.submit()
	}
}
function auto_delivery()
{
	document.form1.action = "auto_delivery.php";
	document.form1.submit();
}

function do_review()
{
	for(i=1;i<=5;i++)
	{	
		var tmpDiv = "tcontent"+i;
		objDiv = document.getElementById(tmpDiv);
		objDiv.style.display = "none";
	}	
	
	document.getElementById('tcontent6').style.display = "block";	
	document.getElementById('li_6').className = "selected";
}
function hidedisplay(objId) // function to hide and display elements for the star review
{
	if(document.getElementById(objId).style.display == '')
	{
		document.getElementById(objId).style.display = 'none';
	}
	else
	{
		document.getElementById(objId).style.display = '';
	}
	if(document.getElementById("reviewed"))
	{
		document.getElementById("reviewed").style.display = 'none';
	}
	if(document.getElementById("writereview"))
	{
		document.getElementById("writereview").style.display = 'none';
	}
}
function hideelements()
{
	if(document.getElementById("reviewtbl"))
		document.getElementById("reviewtbl").style.display = 'none';
	
	document.getElementById('cust_name').value = 'Please Enter Your Name';
	document.getElementById('cust_email').value = 'Please Enter Your Email';
	document.getElementById('review_data').value = 'Please Enter Your Review';
}
function defaultTextReview(objText,Text)
{
	if(isWhitespace(objText.value))
	{
		objText.value=Text;  	
	}
}
function wirtereview(strelement)
{
	var product_id = document.getElementById('pid_1').value;
	var cust_name = document.getElementById('cust_name').value;
	var cust_email = document.getElementById('cust_email').value;
	var review_data = document.getElementById('review_data').value;
	var rating = document.getElementById("star_rate").value;
	
	if(trimAll(rating) == 0)
	{
		if(document.getElementById("star_rate").value == 0)
		{
			alert("Please Rate the Product");
			return false;
		}
	}
	if(trimAll(cust_name) == "Please Enter Your Name")
	{
		alert("Please Enter Your Name");
		document.getElementById('cust_name').focus();
		return false;
	}
	else if(!isCharsInBag(cust_name, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' "))
	{
		alert("Your name contains invalid characters.");
		document.getElementById('cust_name').focus();
		return false;
	}
	if(trimAll(cust_email) == "Please Enter Your Email")
	{
		alert("Please Enter Your Email");
		document.getElementById('cust_email').focus();
		return false;
	}
	else if(!isEmail(cust_email))
	{
	   alert("Please enter your email address in the correct format.");
	  document.getElementById('cust_email').focus();
	   return false;
	}	
	else if(!isCharsInBag(cust_email, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@._-"))
	{
		alert("Your email address contains invalid characters.");
	    document.getElementById('cust_email').focus();
		return false;
	}	
	if(trimAll(review_data) == "Please Enter Your Review")
	{
		alert("Please Enter Your Review");
		document.getElementById('review_data').focus();
		return false;
	}
	
	hideelements();
	var postData='product_id='+escape(product_id)+'&cust_name='+escape(cust_name)+'&cust_email='+escape(cust_email)+'&review_data='+escape(review_data)+'&rating='+escape(rating)+'&opr='+1;; // Making postdata string by concating values
	DataByPostforreview('ajaxforreview.php','1',postData,strelement); // Posting Data
	return false;
}
function DataByPostforreview(url,objtype,postData,rowdata) // common ajax function
{
	var passData = postData;
	var AJAX = "";//null;

	if (window.XMLHttpRequest) {
	   AJAX=new XMLHttpRequest();
	} else {
	   AJAX=new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (AJAX==null) {
	   alert("Your browser doesn't support AJAX.");						
	   return false
	} else {
	   AJAX.open("POST", url, true);
	   AJAX.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	   AJAX.onreadystatechange = function() { 
	   	//alert("Readystate: "+AJAX.readyState);
			if (AJAX.readyState==4 || AJAX.readyState=="complete") { 
			if(AJAX.status == 200){
				var response = trimAll(AJAX.responseText);
				response = trimAll(response);
				if(objtype == 1)
				{	
					document.getElementById("writereview").style.display = '';
/*					document.getElementById(rowdata).innerHTML = "<td colspan='3' align='center' class='text12b'><strong>Thank You For Posting Your Review</strong></td>";*/
					document.getElementById(rowdata).innerHTML = "<strong>Thank You For Posting Your Review</strong>";
					var rate_text = '';
					if(parseInt(document.getElementById('rating_count').value) == 0)
					{
						rate_cnt = 	parseInt(document.getElementById('rating_count').value)+1;
						rate_text+= rate_cnt+' customer rated this';
					}
					else
					{
						$rate_cnt = parseInt(document.getElementById('rating_count').value)+1;
						rate_text+= $rate_cnt+' customers rated this';
					}
		
					document.getElementById("writereview").innerHTML = '<strong>'+rate_text+'</strong><br><a href="javascript:hidedisplay(\'reviewtbl\');" class="linkblueu1k text12b"><strong>write a review</strong></a>';
					
				}
				else if(objtype == 2)
				{
					if(trimAll(response).length > 0)
					{
						var rate_text = '';
						var review_text = '';
						document.getElementById('stars').innerHTML = response;
						if(parseInt(document.getElementById('rating_count').value) == 0)
						{
							rate_cnt = 	parseInt(document.getElementById('rating_count').value)+1;
							rate_text+= rate_cnt+' customer rated this';
						}
						else
						{
							$rate_cnt = parseInt(document.getElementById('rating_count').value)+1;
							rate_text+= $rate_cnt+' customers rated this';
						}
						if(parseInt(document.getElementById('rating_count').value) == 0)
							review_text+= 'write the first customer review';
						else			
							review_text+= 'write a review';

						document.getElementById(rowdata).innerHTML = '<strong>Thank You For Rating This Product</strong>';
						document.getElementById("writereview").innerHTML = '<strong>'+rate_text+'</strong><br><a href="javascript:hidedisplay(\'reviewtbl\');" class="linkblueu1k text12b"><strong>'+review_text+'</strong></a>';
						document.getElementById("writereview").style.display = '';

					}
					else
					{
						document.getElementById(rowdata).style.display = '<td colspan="3" align="center"><strong>You have already rated this product</strong></td>';
					}
				}
				else if(objtype == 3)
				{
					if(trimAll(response).length > 0)
					{
						document.getElementById('stars').innerHTML = response;
					}
				}
				else if(objtype == 4)
				{
					if(trimAll(response).length > 0)
					{
						document.getElementById(rowdata).innerHTML = response;
					}
				}
			}
		 }
			
	   }                                  
	   AJAX.send(passData);
	}
}
function swapstarimagebig(cnt)
{
	var src = document.getElementById("img"+cnt).src;
	src = src.replace("grey_star","orange_big");
	src = src.replace("orange_small","orange_big");
	document.getElementById("img"+cnt).src = src;	
	if(cnt >1)
	{
		for(var i=1;i<cnt;i++)
		{
			var src = document.getElementById("img"+i).src;
			src = tmp_rootpath+"images/orange_small.gif";
			document.getElementById("img"+i).src = src;	
		}
	}
	for(var j =5;j>cnt;j--)
	{
		var src = document.getElementById("img"+j).src;
		src = tmp_rootpath+"images/grey_star.gif";
		document.getElementById("img"+j).src = src;	
	}

}
function swapstarimagesmall(count)
{
	var src = document.getElementById("img"+count).src;
	src = src.replace("orange_big","orange_small");

	document.getElementById("img"+count).src = src;	
}
function dorating(count,textrow)
{
	if(document.getElementById('reviewtbl').style.display == 'none')
	{
		document.getElementById("star_rate").value = count;
		var product_id = document.getElementById('pid_1').value;
		var postData='product_id='+escape(product_id)+'&rating='+escape(count)+'&opr='+2; // Making postdata string by concating values
		DataByPostforreview('ajaxforreview.php','2',postData,textrow); // Posting Data
		return false;
	}
	else
	{
		document.getElementById("star_rate").value = count;
		var postData='rating='+escape(count)+'&opr='+3;
		DataByPostforreview('ajaxforreview.php','3',postData,textrow); // Posting Data
		return false;
	}
}
function swapstarallgrey()
{
	var rate = document.getElementById("star_rate").value;
	if(rate == 1)
	{
		for(var j =1;j<=5;j++)
		{
			var src = document.getElementById("img"+j).src;
			src = tmp_rootpath+"images/grey_star.gif";
			document.getElementById("img"+j).src = src;	
		}

	}
}
function do_review()
{
	for(i=1;i<=6;i++)
	{	
		var tmpDiv = "tcontent"+i;
		objDiv = document.getElementById(tmpDiv);
		objDiv.style.display = "none";
	}	
	
	document.getElementById('tcontent7').style.display = "block";	
	document.getElementById('li_7').className = "selected";
}
function filltextbox()
{
	var qty = document.getElementById('qty_sel').value;
	if(isNaN(qty))
	{
		document.getElementById('qty_sel').style.display = 'none';
		document.getElementById('qty_1').style.display = '';
		document.getElementById('qty_1').value = '21';
	}
	else
	{
		document.getElementById('qty_1').value = qty;
	}
}
function showavg(str)
{
	if(trimAll(str) != 'done')
	{
		document.getElementById('stars_static').style.display = '';
		document.getElementById('stars').style.display = 'none';
	}
}
function showdyn(str)
{
	if(trimAll(str) != 'done')
	{
		document.getElementById('stars_static').style.display = 'none';
		document.getElementById('stars').style.display = '';
	}
}
function showreviews(i)
{
	for(var j=3;j<=i;j++)
	{
		document.getElementById('review_'+j).style.display = '';
	}
	document.getElementById('see_all').style.display = 'none';
	document.getElementById('review_3').className = 'mart10 floatl w588 brdrgreybtm';
	
	var review_height = parseFloat(i)*100;
	document.getElementById('printreview').style.height=review_height+"px";
}
function hideshow(prodid) 
{
	var userId = document.getElementById('ses_member').value;
	var rurl = document.getElementById('rurl_product').value;
	funDoActiveForRating('ratingdesc');
	
	/*if(userId > 0 || userId != '')
	{*/
		doLoadProductRating(prodid,0);
	/*}
	else
	{
		window.location = 'registration/sign_in.php?rurl=/'+rurl;
		return false;
	}*/
}
function postUserReview()
{
	var fname 			= document.getElementById('fname').value;
	var productid 		= document.getElementById('productid').value;
	/*var email 			= document.getElementById('email').value;*/
	var recommend 		= document.getElementsByName('recommend');
	var recom;
	if(recommend[0].checked==true){
		recom = 1;	
	}else if(recommend[1].checked==true){
		recom = 0;	
	}
	var recom;

	var review 		= document.getElementById('review').value;
	var rating 		= document.getElementById('rating11').value;
	var quality		= document.getElementById('quality').value;
	var performance	= document.getElementById('performance').value;
	var value 		= document.getElementById('value').value;
	
	if (isWhitespace(fname))
	{
		alert('Please provide your name');
		document.getElementById('fname').focus();
		return false;
	}
	else if(!isCharsInBag(fname, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-' "))
	{
		alert('Please provide valid value for name');
		document.getElementById('fname').focus();
		return false;
	}
	/*var email_1 = email;		
	if (!isWhitespace(email_1))
	{		
		if(!isEmail(email_1))
		{
			alert('Please provide valid value for email');
			document.getElementById('email').focus();
			return false;
		}
	}*/
	if(isWhitespace(rating)){
		
		alert('Please provide a rating to accompany this review');
		return false;
	}
	if (isWhitespace(review))
	{
		alert('Please provide your review comment');
		document.getElementById('review').focus();
		return false;
	}
	
	var url = "post_customer_product_review.php";
	var param ="fname="+fname+"&review="+URLEncode(document.getElementById('review'))+"&rating="+rating+"&productid="+productid+"&recommend="+recom+"&money="+value+"&per="+performance+"&quality="+quality;
	var xmlhttp =  new GetBrowser();
	xmlhttp.open('POST', url, true);                      

	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4) {
		
		var objDetails = xmlhttp.responseText;
		//alert(objDetails);
		if(objDetails != null){
			//document.getElementById("reviewdiv").style.display='none';
			document.getElementById("reviewdiv").style.height = '';
			document.getElementById("reviewdiv").style.overflow = 'hidden';
			document.getElementById("reviewdiv").innerHTML = objDetails;
		}
				
		}
	}                  
	
	/* Send the POST request */
	xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlhttp.send(param);
}
function doUpdateProductRatingRev(prodId, vote){
	document.getElementById("rating11").value = vote;
	doUpdateProductRatingBar(vote,'val','fun');
	doUpdateProductRatingBar(vote,'qua','fun');
	doUpdateProductRatingBar(vote,'per','fun');

	doLoadProductRating(prodId,1);
}
function doUpdateProductRatingBar(vote,type,from){
	
	if(type == 'val')
		var hid_type = 'value';
	if(type == 'qua')
		var hid_type = 'quality';
	if(type == 'per')	
		var hid_type = 'performance';
		
	document.getElementById(hid_type).value = vote;

	for(im = 1; im<=5; im++){
		if(im <= vote)
			document.getElementById("img"+type+im).src='images/orange_square.gif';
		else
			document.getElementById("img"+type+im).src='images/gray_square.gif';

		if(from == 'direct')
		{
			document.getElementById("img"+type+im).onmouseover='';
			document.getElementById("img"+type+im).onmouseout='';
			document.getElementById("img"+type+im).onclick='';
		}
	}
	document.getElementById('rating_'+type).innerHTML = vote+' / 5';
}
function show_review(prodid,type)
{
	var url = "show_all_review.php";
	var param ="prodid="+prodid+"&type="+type;
	var xmlhttp =  new GetBrowser();
	xmlhttp.open('POST', url, true);                      

	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4) {
		
		var objDetails = xmlhttp.responseText;
		if(objDetails != null){
			//document.getElementById("reviewdiv").style.display='none';
			document.getElementById("reviewdiv").style.height = '';
			document.getElementById("reviewdiv").style.overflow = 'hidden';
			document.getElementById("reviewdiv").innerHTML = objDetails;
		}
				
		}
	}                  
	
	/* Send the POST request */
	xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlhttp.send(param);
}
function reviewAsHealpfull(reviewId,option)
{
	var url = "post_review_as_helpfull.php";
	var param ="reviewId="+reviewId+"&option="+option;
	var xmlhttp =  new GetBrowser();
	xmlhttp.open('POST', url, true);                      
	//alert(url);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4) {
		
		var objDetails = xmlhttp.responseText;
		if(objDetails != null){
			var objSplit = objDetails.split('!~!');
			document.getElementById("helpfull_"+reviewId).innerHTML = objSplit[1]+' of '+objSplit[2]+' people found this review helpful. Did you?';
			document.getElementById("helpMsg"+reviewId).innerHTML = objSplit[3];
		}
				
		}
	}                  
	
	/* Send the POST request */
	xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlhttp.send(param);		
}

function bought_together()
{
	document.form1.submit();
}

function showReview(reviewFor)
{
	var type =0;
	if(trimAll(reviewFor) == 'Press')
 		type =1;
	else if(trimAll(reviewFor) == 'Editor')
	 	type =2;
	var product_id = document.getElementById('pid_1').value
	var postData='product_id='+escape(product_id)+'&opr='+4+'&type='+type; // Making postdata string by concating values
	DataByPostforreview('ajaxforreview.php','4',postData,'reviewtxt'); // Posting Data

}
function doCart_List(action, itemid, form_name)
{
	var proceed = 1;
	
	if(form_name == null || form_name.length == 0)
		frmsb = 0;
	else
		frmsb = 1;
		
	if (!isWhitespace(action) && !isWhitespace(itemid))
	{
		cart_form = document.frmcart;

		var pid=document.getElementById('pid_'+itemid).value;
		if(document.getElementById('qty_'+itemid))
		{
			var qty=document.getElementById('qty_'+itemid).value;
		}
		var to_id = 0;
		if(document.getElementById('to_id_'+itemid))		//to_id_ is Temp Order ID
		{
			to_id=document.getElementById('to_id_'+itemid).value;
		}		
		//if Action is to Add/Update a cart listing then validate qty else 
		//if user want to remove an item from cart then no need to validate qty field
		if(action != 'REMOVE')
		{
			if(!validateQty(qty))
			{
				proceed = 0;
			}
		}
		if(proceed == 1)
		{		
				
		if(tmp_rootpath.indexOf('registration')>0)
			{
					shop_tmp_rootpath = tmp_rootpath.replace('registration/','');
					PageFrom	="registration";
			}
			else
			{
					shop_tmp_rootpath = tmp_rootpath;
					PageFrom	="";
			}
			cart_form.action =  shop_tmp_rootpath +"do_cart.php";	
			cart_form.cart_action.value = action;
			cart_form.cart_pid.value = pid;
			cart_form.PagecomesFrom.value =PageFrom;
			cart_form.cart_qty.value = qty;
			cart_form.to_id.value = to_id;
		 cart_form.submit();
		}
	}
}

function changeMainImage(ImageCNT)
{
	var imgcount = document.getElementById('ImageDisp').value;
	//alert(document.getElementById('main_image_'+imgcount));
	//alert(document.getElementById('main_image_'+ImageCNT));
	document.getElementById('main_image_'+imgcount).style.display = 'none';
	document.getElementById('main_image_'+ImageCNT).style.display = '';
	document.getElementById('ImageDisp').value = ImageCNT;
}
function showIntDiv(doWhat,revId,member_id,page)
{
	if(doWhat == 'show')
	{
		if(page == 'prod')
		{
			document.getElementById('rev_'+revId).style.visibility = 'visible';
		}
		else
		{
			document.getElementById('rev_'+member_id).style.visibility = 'visible';
		}
		var url = "write_a_review.php";
		var param ="memberId="+member_id+"&type="+2+"&revId="+revId;
		var xmlhttp =  new GetBrowser();
		xmlhttp.open('POST', url, true);                      
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4) {
				var objDetails = xmlhttp.responseText;
				//alert(objDetails);
				if(objDetails != null){
					if(page == 'prod')
					{
						document.getElementById('rev_'+revId).innerHTML = objDetails;
					}
					else
					{
						document.getElementById('rev_'+member_id).innerHTML = objDetails;
					}
				}
			}
		}
		/* Send the POST request */
		xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		xmlhttp.send(param);		
	}
	else if(doWhat == 'hide')
	{
		document.getElementById('rev_'+revId).style.visibility = 'hidden';
	}
}

function addIneresting(member_id,revId)
{
	var userId = document.getElementById('ses_member').value;
	var rurl = document.getElementById('rurl_product').value;
	
	if(userId > 0 || userId != '')
	{
		xmlhttp=GetXmlHttpObject();
		if (xmlhttp==null)
		  {
		  alert ("Your browser does not support XMLHTTP!");
		  return;
		  }
		var url="write_a_review.php";
		url=url+"?memberId="+member_id+"&type="+3;
		url=url+"&sid="+Math.random();
		xmlhttp.onreadystatechange=stateChanged;
		xmlhttp.open("GET",url,true);
		xmlhttp.send(null);
		
	}
	else
	{
		window.location = 'registration/sign_in.php?rurl=/chemistdirectnew/'+rurl;
		return false;
	}
}
function stateChanged()
{
if (xmlhttp.readyState==4)
  {
// alert(xmlhttp.responseText);
 
  	document.getElementById('client_rev_popup').innerHTML=xmlhttp.responseText;
  }
}
function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
  {
  // code for IE7+, Firefox, Chrome, Opera, Safari
  return new XMLHttpRequest();
  }
if (window.ActiveXObject)
  {
  // code for IE6, IE5
  return new ActiveXObject("Microsoft.XMLHTTP");
  }
return null;
}