// JavaScript Document
$(function() {
		
		var xmlhttp = false;
		//Check if we are using IE.
		try {
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
		try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			xmlhttp = false;
			}
		}
		//If we are using a non-IE browser, create a JavaScript instance of the object.
		if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
			xmlhttp = new XMLHttpRequest();
		}
		
		function AddComments(username1,email1,website1,comments1,b_id)
		{
			//alert(b_id);
			//var objId = "price";
			//var objId1 = "quantity";
			var ServerPage = "addcomment.php?comment="+comments1+"&b_id="+b_id+"&username_1="+username1+"&email_1="+email1+"&website_1="+website1;
			//alert(ServerPage);
			//var objNew = document.getElementById(objId)
			xmlhttp.open("GET",ServerPage)
			xmlhttp.onreadystatechange = function() {
				//alert(xmlhttp.status);
				if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
					//document.getElementById('userid').innerHTML;
					//document.getElementById('comments').value='';
					//alert(document.getElementById('comments').value);
					//alert(xmlhttp.responseText);
					//alert(document.getElementById("showComment").innerHTML);
					var total_comment;
					total_comment = Number(document.getElementById("total_com").innerHTML) + Number(1);
					document.getElementById("total_com").innerHTML = total_comment;
					
					document.getElementById("showComment").innerHTML=xmlhttp.responseText;
					
					//objNew.innerHTML = xmlhttp.responseText;
				}
			}
		xmlhttp.send(null);
		}
		
		var usernames = $("#user_name"),
			email = $("#email"),
			website = $("#website"),
			comments = $("#comments"),
			b_id = $("#bl_id"),
			allFields = $([]).add(comments).add(email).add(website).add(usernames),
			tips = $("#validateTips");
			
		function updateTips(t) {
			tips.text(t).effect("highlight",{},1500);
		}

		function checkLength(o,n,min,max) {

			if (o.val().length < min && n == "usernames") {
				o.addClass('ui-state-error');
				updateTips("Name should not blank.");
				return false;
			}
			else if (o.val().length < min && n == "email") {
				o.addClass('ui-state-error');
				updateTips("Email should not blank.");
				return false;
			}
			else if (o.val().length < min && n == "website") {
				o.addClass('ui-state-error');
				updateTips("Website should not blank.");
				return false;
			}
			else if (o.val().length < min ) {
				o.addClass('ui-state-error');
				updateTips("Comment should not blank.");
				return false;
			}
			else if(o.val().length>max)
			{
				o.addClass('ui-state-error');
				updateTips("Length of " + n + " should be less than "+max+" characters.");
				return false;
			} 
			else {
				return true;
			}

		}

		function checkRegexp(o,regexp,n) {
			if ( !( regexp.test( o.val() ) ) ) {
				o.addClass('ui-state-error');
				updateTips(n);
				return false;
			} else {
				return true;
			}

		}
		
		$("#dialog").dialog({
			bgiframe: false,
			autoOpen: false,
			height: 510,
			width: 410,
			modal: true,
			buttons: {
				Cancel: function() {
					$(this).dialog('close');
				},
				'Add': function() {
					var bValid = true;
					allFields.removeClass('ui-state-error');

					bValid = bValid && checkLength(usernames,"usernames",1,20);
					//bValid = bValid && checkLength(email,"email",5,35);
					bValid = bValid && checkLength(email,"email",6,80);
					bValid = bValid && checkRegexp(email,/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,"Email is not valid");
					bValid = bValid && checkLength(website,"website",8,50);
					bValid = bValid && checkLength(comments,"comments",1,600);
					
					//bValid = bValid && checkLength(password,"password",5,16);

					//bValid = bValid && checkRegexp(name,/^[a-z]([0-9a-z_])+$/i,"Username may consist of a-z, 0-9, underscores, begin with a letter.");
					// From jquery.validate.js (by joern), contributed by Scott Gonzalez: http://projects.scottsplayground.com/email_address_validation/
					
					//bValid = bValid && checkRegexp(password,/^([0-9a-zA-Z])+$/,"Password field only allow : a-z 0-9");
					
					if (bValid) {
						//alert(user_name.val());
						//return false;
						AddComments(usernames.val(),email.val(),website.val(),comments.val(),b_id.val());
						$(this).dialog('close');
					}
				}
				
			},
			close: function() {
				allFields.val('').removeClass('ui-state-error');
			}
		});

		
		
		//create-comment
		//alert(createcomment);
		$('#create-user').click(function() {
			$('#dialog').dialog('open');
		})
		/*.hover(
			function(){ 
				$(this).addClass("ui-state-hover"); 
			},
			function(){ 
				$(this).removeClass("ui-state-hover"); 
			}
		).mousedown(function(){
			$(this).addClass("ui-state-active"); 
		})
		.mouseup(function(){
				$(this).removeClass("ui-state-active");
		});*/

	});

function TrackCount(fieldObj,maxChars){
  var countField = eval('fieldObj.form.textcount1');
  var diff = maxChars - fieldObj.value.length;
	
  if (diff < 0)
  {
	fieldObj.value = fieldObj.value.substring(0,maxChars);
	diff = maxChars - fieldObj.value.length;
  }
  countField.value = diff;
}

function LimitText(fieldObj,maxChars){
  var result = true;
  if (fieldObj.value.length >= maxChars)
	result = false;
  
  if (window.event)
	window.event.returnValue = result;
  return result;
}