var CHARACTER_LIMIT = 160;

function showPopInDiv(msg)
{
	$('.error').html(msg);
	$('#popup_addcomment_error').show(0);
	$('#popup_login_error').show(0);
	$('#popup_login_premium_error').show(0);
	$('#popup_addbuzzcomment_error').show(0);
	$('#popup_addfriend_error').show(0);
}

function IsEmpty(fld,msg)
{
	if((fld.value == "" || fld.value.length == 0) && (msg == ''))
	{
		showPopInDiv(msg);
		return false;
	}
	if(fld.value == "" || fld.value.length == 0)
	{
		showPopInDiv(msg);
		return false;
	}
	return true;
}

function IsEmail(fld,msg)
{
	var regex = /^[\w]+(\.[\w]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/ ;
	if(!regex.test(fld.value))
	{
		showPopInDiv(msg);
		return false;
	}
	return true;
}

function IsUsername(fld,msg)
{
	var regex = /^[A-z][a-zA-Z0-9_]{2,31}$/ ;
	if(!regex.test(fld.value))
	{
		showPopInDiv(msg);
		return false;
	}
	return true;
}


function IsPhone(fldName,msg)
{
	var num = /^[\d]+$/;

	var fldVal = fldName.value;

	var prefix = fldVal.substr(0,1);
	if(!num.test(fldVal) || fldVal.length !=10 || prefix==0 || prefix==1)
	{
		showPopInDiv(msg);
		return false;
	}
	return true;
}

function checkLength(elemName,e)
{
	if(!e) {
		evt = window.event;
	} else{
		evt = e;
	}

	if(evt.srcElement) {
		elem = evt.srcElement;
	} else {
		elem = evt.target;
	}

	var charactorCount = document.getElementById(elemName).value.length;

	flag = false;
	if((CHARACTER_LIMIT-1)-charactorCount < 0){
		flag = true;
	} else {
		flag = false
	}

	if (flag) {
		if(evt.keyCode != 8 && evt.keyCode!=46 && evt.keyCode!=39 && evt.keyCode!=37) {
			globalKeyStroke = true;
			if(charactorCount > CHARACTER_LIMIT) {
				offset = charactorCount - CHARACTER_LIMIT
				elem_new_length = elem.value.length - offset + 1;
				elem.value = elem.value.substr(0,elem_new_length-1);
				render_CharactersLeft();
			}
			globalKeyStroke = false;
			return false;
		}
		globalKeyStroke = false;
		return true;
	} else {
		globalKeyStroke = false;
		return true;
	}
}

function handleError()
{
	return true;
}

function character_left(elemName, changeDiv)
{
	var charactorCount = document.getElementById(elemName).value.length;
	document.getElementById(changeDiv).innerHTML = (CHARACTER_LIMIT-charactorCount);
}

function validateNSubmit()
{
	var charactorCount = document.getElementById("message").value.length;

	if(CHARACTER_LIMIT-charactorCount < 0){
		window.alert("Character count should not exceed " + CHARACTER_LIMIT + ".");
		return false;
	} else {
		document.frmInviteFriends.submit();
		return true;
	}

}

function validateForm1(a)
{
	var num = /^[\d]+$/;
	msisdnEle = document.getElementById("popup_nologin_premium_msisdn");
	var fldVal = msisdnEle.value;
	var prefix = fldVal.substr(0,1);
	var isValid = true;
	if(!num.test(fldVal) || fldVal.length !=10 || prefix==0 || prefix==1)
	{
		msisdnEle.focus();
		showPopInDiv('Please enter valid Phone.');
		isValid = false;
	}
	termscheck = document.getElementById("popup_nologin_premium_terms");
	if(termscheck.checked==false)
	{
		showPopInDiv('Please accept the terms.');
		termscheck.focus();
		isValid = false;
	}
	if(isValid == false)
	{
//		$('#popup_addcomment').css('height','215px');
//		$('#popup_addcomment_wrapper').css('height','222px');
		return false;
	}
	$('.error').html('');
	var em_list  = document.getElementsByTagName("em");
	for(i=0;i<em_list.length>0; i++){
		  if(em_list[i].className == "price") {
		  	js_price = em_list[i].innerHTML;
			break;
		  }
	}
	findurl = "/findbuzz/subscribe?gameid="+document.getElementById("popup_nologin_premium_gameid").value +
	"&msisdn="+fldVal + "&price="+js_price;
	$.ajax({
	   type: "POST",
	   url: findurl,
	   success: function(msg){
	   	 if(msg.indexOf('Already Joined') != -1)
		 {
		 	document.getElementById("popup_already_joined").innerHTML = msg;
			 $('#popup_already_joined_wrapper').css('left', $(a).css('left'));
				 $('#popup_already_joined_wrapper').css('top', $(a).css('top'));
		   	 $('#popup_addcomment_wrapper').hide(0);
			 $('#popup_already_joined_wrapper').show(0);
		 }
		 else
		 {
		 	document.getElementById("popup_confirm_pin").innerHTML = msg;
			 $('#popup_confirm_pin_wrapper').css('left', $(a).css('left'));
				 $('#popup_confirm_pin_wrapper').css('top', $(a).css('top'));
		   	 $('#popup_addcomment_wrapper').hide(0);
			 $('#popup_confirm_pin_wrapper').show(0);
		 }
	   }
	 });
}

function validateForm3(a)
{
	termscheck = document.getElementById("popup_login_premium_terms");
	if(termscheck.checked==false)
	{
		showPopInDiv('Please accept the terms.');
		termscheck.focus();
		return false;
	}
	$('.error').html('');
	findurl = "/findbuzz/subscribe?gameid="+document.getElementById("popup_login_premium_gameid").value;
	$.ajax({
	   type: "POST",
	   url: findurl,
	   success: function(msg){
	   	 if(msg.indexOf('Already Joined') != -1)
		 {
		 	document.getElementById("popup_already_joined").innerHTML = msg;
			 $('#popup_already_joined_wrapper').css('left', $(a).css('left'));
				 $('#popup_already_joined_wrapper').css('top', $(a).css('top'));
		   	 $('#popup_login_premium_wrapper').hide(0);
			 $('#popup_already_joined_wrapper').show(0);
		 }
		 else
		 {
		 	document.getElementById("popup_confirm_pin").innerHTML = msg;
			 $('#popup_confirm_pin_wrapper').css('left', $(a).css('left'));
				 $('#popup_confirm_pin_wrapper').css('top', $(a).css('top'));
		   	 $('#popup_login_premium_wrapper').hide(0);
			 $('#popup_confirm_pin_wrapper').show(0);
		 }
	   }
	 });
}

function confirmpin(a)
{
	var gameEle = document.getElementById("popup_confirm_pin_gameid");
	var msisdnEle = document.getElementById("popup_confirm_pin_msisdn");
	findurl = "/findbuzz/confirmpin?gameid="+gameEle.value+"&msisdn="+msisdnEle.value+
		"&ccode="+document.getElementById("ccode").value+
		"&sentconfirmpin="+document.getElementById("popup_confirm_pin_sentconfirmpin").value;
	$.ajax({
	   type: "POST",
	   url: findurl,
	   success: function(msg){
	   		if(msg.indexOf('popup_confirm_pin_gameid') != -1)
	   	 		document.getElementById("popup_confirm_pin").innerHTML = msg;
			else
				location.href = "/invitefriends/index/"+gameEle.value+"/?msisdn="+msisdnEle.value;
	   }
	 });
}

function resendpin(a)
{
	var gameEle = document.getElementById("popup_confirm_pin_gameid");
	var msisdnEle = document.getElementById("popup_confirm_pin_msisdn");
	findurl = "/findbuzz/resendpin?gameid="+gameEle.value+"&msisdn="+msisdnEle.value+
		"&sentconfirmpin="+document.getElementById("popup_confirm_pin_sentconfirmpin").value;
	$.ajax({
	   type: "POST",
	   url: findurl,
	   success: function(msg){
	   		if(msg.indexOf('popup_confirm_pin_gameid') != -1)
	   	 		document.getElementById("popup_confirm_pin").innerHTML = msg;
			else
				location.href = "/invitefriends/index/"+gameEle.value+"/?msisdn="+msisdnEle.value;
	   }
	 });
}

function validateForm4(frm)
{
	with(frm)
	{
		var validate = true;
		if(!IsEmpty(comment_type, 'Please select comment-type.'))
		{
			validate = false;
		}
		if(!IsEmpty(addacomment_text, 'Please enter comment.'))
		{
			validate = false;
		}
		if(validate==true)
		{
			$('.error').html('');
			frm.submit();
		}
		if(validate==false)
		{
			$('#popup_addbuzzcomment').css('height','245px');
			$('#popup_addbuzzcomment_wrapper').css('height','252px');
		}
	}
}

function validateAddGroup(frm)
{
	var validate = true;
	var groupObj = document.getElementById("group_name");

	if(!IsEmpty(groupObj, 'Please enter valid group name.') )
    {
		groupObj.focus();
		validate = false;
    }
	else if(groupObj.value.indexOf(' ') != -1)
	{
		showPopInDiv('Please enter valid group name. It can contain only one word.');
		validate = false;
	}

	if(validate == true)
	{
		$('.error').html('');
		grpName = groupObj.value;
		$.ajax({
		   type: "POST",
		   url: "/createbuzz/RenderGroups/"+grpName,
		   success: function(msg){
		   document.getElementById("popup_addfriend_groups").innerHTML = msg;
		   var groups_selected = getCheckboxValue('groups_selected[]');
		   $.ajax({
			   type: "POST",
			   url: "/createbuzz/RenderMainGroups?groups_selected="+groups_selected,
			   success: function(msg){
			   document.getElementById("createBuzzGroups").innerHTML = msg;
			   }
			 });

		   }
		 });
		document.getElementById('group_name').value = '';
	}
	else
	{
		$('#popup_addfriend').css('height','278px');
		$('#popup_addfriend_wrapper').css('height','285px');
	}
}

function validateAddFriend()
{
	var validate = true;
	var nameObj = document.getElementById("name");
	var msisdnObj = document.getElementById("msisdn");
	var emailObj = document.getElementById("email");

	if(!IsUsername(nameObj, 'Please enter name, starting with a letter (no spaces allowed).') )
    {
		validate = false;
    }
	if(nameObj.value=='Name')
	{
		showPopInDiv('Enter valid name.');
		validate = false;
	}
	if(msisdnObj.value!='')
	{
		if(!IsPhone(msisdnObj, 'Please enter valid phone no.'))
		{
			validate = false;
			//msisdnObj.value='';
		}
	}
	else
	{
		if(emailObj.value!='' && emailObj.value!='E-Mail')
		{
			if(!IsEmail(emailObj, 'Please enter valid email.'))
			{
				validate = false;
				msisdnObj.value='';
			}
		}
	}

	if(validate==true)
	{
		var name1= nameObj.value;
		var msisdn1= msisdnObj.value;
		var email1= emailObj.value;
		var groupsObj = document.getElementsByName("friends_groups_selected[]");
		var group_id1 = getCheckedGroupsIds(groupsObj);
		var friends_selected = getCheckboxValue('friends_selected[]');

		$.ajax({
	   		type: "POST",
	   		url: '/createbuzz/RenderFriends?name='+name1+'&msisdn='+msisdn1+'&email='
	   		+email1+'&group_id='+group_id1+'&friends_selected='+friends_selected,
	   		success: function(msg){
	   			document.getElementById("createBuzzFriends").innerHTML = msg;
	   		}
	 	});

	   $.ajax({
		   type: "POST",
		   url: "/createbuzz/RenderMainGroups?group_id="+group_id1,
		   success: function(msg){
		   document.getElementById("createBuzzGroups").innerHTML = msg;
		   }
		 });

		caf();
	}
	if(validate==false)
	{
		$('#popup_addfriend').css('height','278px');
		$('#popup_addfriend_wrapper').css('height','285px');
	}

}

function getCheckedGroupsIds(groupsObj)
{
	var group_ids='';
	if(groupsObj.length>0)
	{
		for(i=0;i<groupsObj.length;i++)
		{
			if(groupsObj[i].checked)
			{
				group_ids += groupsObj[i].value+',';
			}
		}

		len = group_ids.length;
		group_ids = group_ids.substr(0,len-1);
	}

	return group_ids;
}

function getCheckboxValue(elemName)
{
	var group_id1='';
	var frm = document.forms[frmname];

	if(frm[elemName])
	{
		for(i=0;i<frm[elemName].length;i++)
		{
			if(frm[elemName][i].checked)
			{
				group_id1 += frm[elemName][i].value+',';
			}
		}

		len = group_id1.length;
		group_id1 = group_id1.substr(0,len-1);
	}

	return group_id1;
}

function validateForm2(frm)
{
	with(frm)
	{
		var num = /^[\d]+$/;
		var fldVal = msisdn.value;
		if(!num.test(fldVal) || fldVal.length !=10 || fldVal.substr(0,1)==0 || fldVal.substr(0,1)==1)
		{
			showPopInDiv('Please enter valid Phone.');
			msisdn.focus();
			return false;
		}
		$('.error').html('');
		frm.submit();
	}
}

function renderPopinWindow(elemId, BuzzId, BuzzCharge)
{
	//alert('here');
	if(elemId!='')
	{
		var content;
		content = document.getElementById(elemId).innerHTML ;
		content = content.replace(/{BuzzId}/,BuzzId);
		content = content.replace(/{BuzzCharge}/,'$'+BuzzCharge+'/mth');
		//content = content.replace(/{Phone}/,Phone);
		//alert(content);
		document.getElementById(elemId).innerHTML = content;
	}
	else
	{
		location.href= '/findbuzz/subscribe?gameid='+BuzzId+'&free=true';
	}
}
function closePopinWindow(elemId)
{
	document.getElementById('popup_addcomment').style.display='none';
}

function addRowToTable(iteration)
{
	/*left section*/
	var tbl = document.getElementById('friendsTable');
	var lastRow = tbl.rows.length;
	var numofrows = (lastRow - 1)/2;

	if(numofrows>9)
	{
		alert("Number of choices should not exceed 10.");
		return ;
	}

	var row = tbl.insertRow(lastRow);

	row.id = "tblRow_"+(numofrows);
	row.className = "formHolder";

	var cellLeft = row.insertCell(0);
	var el = document.createElement('input');
	el.type = 'text';
	el.className = 'name';
	el.name = 'data[Invitefriend][name'+(numofrows)+']';
	el.id = 'name'+(numofrows);
	el.maxlength = 50;

	cellLeft.appendChild(el);

	var cellMiddle = row.insertCell(1);
	var el = document.createElement('input');
	el.type = 'text';
	el.className = 'name';
	el.name = 'data[Invitefriend][msisdn'+(numofrows)+']';
	el.id = 'name'+(numofrows);
	el.maxlength = 10;

	cellMiddle.appendChild(el);

	var cellRight = row.insertCell(2);
	var el = document.createElement('input');
	el.type = 'text';
	el.className = 'email';
	el.name = 'data[Invitefriend][email'+(numofrows)+']';
	el.id = 'name'+(numofrows);
	el.maxlength = 140;

	cellRight.appendChild(el);

	try{
		document.getElementById("data[Invitefriend][numofrows]").value = lastRow;
	}catch(e){
		document.frmAddQuestions.elements["data[Invitefriend][numofRows]"].value = lastRow;
	}

/*end right section*/

}

function removeRowFromTable()
{
	var tbl = document.getElementById('friendsTable');
	var lastRow = tbl.rows.length;
	var numofrows = (lastRow - 1)/2;

	if (numofrows > 2) {tbl.deleteRow(lastRow - 1);}

	try {
		document.getElementById("data[Invitefriend][numofRows]").value =  lastRow;
	} catch(e){
		document.frmAddQuestions.elements["data[Invitefriend][numofRows]"].value = lastRow;
	}

}

function checkedUncheckedMembers(frm,obj)
{
	var elem = '';
	var selectedGrp = obj.value;
	var frm = document.forms[frmname];

	with(frm)
	{
		for (var i = 0; i < elements.length; i++)
		{
			elem = elements[i];
			if (elem.type == "checkbox")
			{
				elemId = elem.id;
				if(elemId && elemId.indexOf("_friends")!=-1)
				{
					var posOfId = elemId.indexOf("_");
					grpIds = elemId.substr(0,posOfId)
					grpIds = grpIds.split(",");
					for(m=0;m<grpIds.length;m++)
					{
						if(selectedGrp==grpIds[m])
						{
							if(obj.checked)
							{
								elem.checked=true;
							}
							else
							{
								elem.checked=false;
							}
						}
					}
				}
			}
		}
	}

}

function validateFrmSendMsg(frm,profileUserId)
{
	with(frm)
	{
		var message = trim(sendmessage_text.value);
		if(message == "" || message.length == 0 || message == 'Enter your message here!')
		{
			$('.error').html('Please enter valid message.');
			$('#popup_sendmessage_error').show(0);
			$('#popup_sendmessage').css('height','153px');
			$('#popup_sendmessage_wrapper').css('height','160px');
		}
		else
		{
			$('.error').html('');
			ajxsm(profileUserId,message);
			$("#popup_sendmessage_wrapper").hide();
			sendmessage_text.value='Enter your message here!';
		}
	}
}

function ajxsm(profileUserId,message){
	$.post("/aboutuser/sendmessage/"+profileUserId, { msg: message} );
}

//function to trim spaces
function trim(inString)
{
	return inString.replace(/(\s+$)|(^\s+)/g, '');
}

