// JavaScript Document
var CMSROOTPATH = "http://10.157.222.71/lavasafuturecities/www/gateway";
//var CMSROOTPATH = "/mastek/gateway";
var TODBFILEPATH = CMSROOTPATH+'/2db';

/**** To initialise module values*********/
$(function() {  
   $('.error').hide();  
   if($('#searchparamALL').length > 0){
			$('#searchparamALL').addClass('selected');
	 }
	
   applyHoverEffect();//added by suleman
   $('#addcontent').click(function(){
	  $('#backtomodule').html('<a href="javascript:;" onclick="getReset()"><span class="iconBack">&nbsp;</span>Go Back</a>');
	  $("#addcontent").addClass("selected");
	  $('.editformimage').remove();  
	  $('.error').hide();  						   
	  $("#displaycontent").hide();	   
   	  $("#editcontent").show();
	  $(".hidden").val("");
	  $("#action").val("a");
	  if(typeof(tinyMCE) != 'undefined'){	//----for setting tinyMCE blank if its present in module
			tinyMCE.execCommand('mceRemoveControl', false, 'captionid');
			document.getElementsByTagName('textarea #captionid').value="";
			tinyMCE.execCommand('mceAddControl', false, 'captionid');  
			$('#captionid').val('');
	  }
	  $('#savebutton').attr('disabled',false);	//-------Enable the save button previously disabled	
	  $('#formloading').hide();
	  $("form")[0].reset();
   })
 });
/**** To reset all form values*********/
function getReset(){
	$(".hidden").val("");
	$("#backtomodule").html('');
	$("#addcontent").removeClass("selected");
	$('#addEditText').html('Add New');
	$('.error').hide();
	$("#action").val("a");
	$("form")[0].reset();
	$("#editcontent").hide();
	$("#displaycontent").show();
}
/**** To get edit content from getfile*********/
function getEditDetails(id,filename)
{  
	$('#savebutton').attr('disabled',false);	//-------Enable the save button previously disabled	
	$('#formloading').hide();	
	$('#addEditText').html('Edit');
	$("#addcontent").addClass("selected");
	$.post(filename+".php", {'id' :id, 'action':'m'}, function(data) { //alert(data);
 	showEdit(data);
 });
}
/**** To Validate Email Address*********/
function isValidEmail(str) 
{
		emailRe = /^\w+([\.-]?\w+)*@\w+([\.-]?(\w)+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/

		if (!emailRe.test(str))	
			return false	
		else
			return true				
}

/**** To Validate The Uploaded File is an Image (.jpg,.gif)*********/
function isValidImage(str) {
		var error=0;
		var exterror=0;
		var nameerror=0;
		var lastcount=str.split('\\').length;
		var uploadimg=str.split('\\')[lastcount-1];		//alert('img='+uploadimg);
		var pos=uploadimg.lastIndexOf(".");				//alert('pos='+pos);
		var str1=uploadimg.substring(pos);				//alert(str1);
		var str=str1.toLowerCase();						//alert('ext='+str);
		//Check if the Image is a valid format
		if(str==".jpg" || str== ".gif" || str==".jpeg"){
			exterror=0;	//The image is not a .jpg or .gif
		}else{
			exterror=1;	
		}
		//Check if the imagename is valid
		var imagename=uploadimg.substring(0,pos);
		if(isalphanumeric(imagename)==false){
			nameerror=2;
		}
		if(exterror==0 && nameerror==0){
			error=0;
		}else if(exterror!=0){
			error=exterror;
		}else if(nameerror!=0){
			error=nameerror;
		}
	return(error);		
}

/**** To Validate If the given string is a valid URL*********/
function isValidURL(url)
{
    var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;
    if(RegExp.test(url))
	{
        return true;
    }
	else
	{
        return false;
    }
}
/**** To Validate If the given string contains only Alphabets & Numbers, nothing else*********/
function isalphanumeric(str)
{
	var bReturn = true;
	var valid="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-";
	var invalidfirst = "_-";
	var invalidlast = "_-";
	for (var i=0; i<str.length; i++) 
	{
		if ( i == 0 && (invalidfirst.indexOf(str.charAt(i)) > 0))
		{
			bReturn = false;
			break;
		}
		else if ( i == (str.length-1) && (invalidlast.indexOf(str.charAt(i)) > 0))
		{
			bReturn = false;
			break;
		}
		else if (valid.indexOf(str.charAt(i)) < 0)
		{
			bReturn = false;
			break;
		}
	}
	return(bReturn);
}
/**** To Validate If the given string contains only Numbers, nothing else*********/
function isNumeric(str)
	{
		var bReturn = true;
		var valid="0123456789+- ";
		var invalidfirst = "+- ";
		var invalidlast = "+- ";
		for (var i=0; i<str.length; i++) {
			if ( i == 0 && (invalidfirst.indexOf(str.charAt(i)) > 0))
			{
				bReturn = false;
				break;
			}
			else if ( i == (str.length-1) && (invalidlast.indexOf(str.charAt(i)) > 0))
			{
				bReturn = false;
				break;
			}
			else if (valid.indexOf(str.charAt(i)) < 0)
			{
				bReturn = false;
				break;
			}
		}
		return(bReturn);
	}
/**** To Delete the content*********/
function callDelete(id,filename,pollid)
{ //alert(id);

	if(typeof(pollid)=='undefined')
	{//-----This parameter is only for poll module
		pollid=""; 
	}
	var confirmation=confirm("Are You Sure You Want To Delete This Record !!!");
	if(confirmation)
	{
		if(readCookie('RIGHTS')!='' && readCookie('RIGHTS')!=null && readCookie('RIGHTS')!=0)
		{
		$.post(TODBFILEPATH+'/'+filename+".php", {'id':id,'action':'d','pollid':pollid}, function(data) 
		{ //alert(data)
			removeDiv(data);
		});
		}
		else
		{
			var readonlymsg='This is a Read-Only Account. No action will be performed for this Account.';
			var readonlystr="{'msg':'"+readonlymsg+"'}";
			removeDiv(readonlystr);
		}
	}
} 

function callUnDelete(id,filename){// alert(id + ' ' + filename);

var confirmation=confirm("Are You Sure You Want To Restore This Record !!!");
 if(confirmation){
	 if(readCookie('RIGHTS')!='' && readCookie('RIGHTS')!=null && readCookie('RIGHTS')!=0){
		 $.post("get"+filename+".php", {'id':id,'action':'r'}, function(data) { 
			removeDiv(data);
		 });
	 }else{
		var readonlymsg='This is a Read-Only Account. No action will be performed for this Account.';
		var readonlystr="{'msg':'"+readonlymsg+"'}";
		removeDiv(readonlystr);
	}
 }
} 

/**** To Remove the Deleted div*********/
function removeDiv(success){
	var jObj=eval("("+success+")"); //alert(success);
	
	if(jObj.status==1){
		var divID = "singleCont"+jObj.id;		// alert("DIVid="+divID);
		$('#'+divID).fadeOut('slow');
	}
	
	$('#notification').css({padding:'10px', fontSize:'14px', backgroundColor:'#FFFFCC', border:'1px solid #c3c3c3', margin:'10px 0'});
	$("#notification").show();
	$("#notification").html(jObj.msg);
	setTimeout(function(){ $("#notification").hide(); }, 3000);	//---Notification will fade out in 3 seconds

	if(jObj.numRecords == 0){		//------------If it is a last record then show "NO Records"
		$("#mainContainer").html('<tr><td class="pL pTB" style="padding:\'10px\', fontSize:\'14px\', backgroundColor:\'#FFFFCC\', border:\'1px solid #c3c3c3\', margin:\'10px 0\'" id="norecordsdiv">No Records</td></tr>');	
	}
}
/**** Validate login is used for Login CMS *********/
function validateLogin(){
		var username = Trimnew($('#username').val());
		var password = Trimnew($('#password').val());		
		if(username == "") {
			alert("Please Enter Username.");
			$('#username').focus();
			return false;
		} else if(password == "" ){
			alert("Please Enter Password.");
			$('#password').focus();
			return false;
		}
		var passreturn = passwordLength(password);
		if(passreturn == true){
			$.post(TODBFILEPATH+"/auth2db.php", {'username':username, 'password':password}, function(resultdata) {  //alert(resultdata);
																								
				if(resultdata == 0) {
						location.href="unauth.php";
				}else if(resultdata == -1) {
						location.href="error.html";
				}else if(resultdata == 1) {
						location.href="homepage.php";
				} else {
						$('#errorloginresult').html(resultdata);
				}
			});
		}
}

/******* To Check Username *****************/
function checkUserName(username){
		var valid="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ._-";
		var num=0;
		var alphabet=0;
		var extra=0;
		var spacecnt=0;
		var temp=username;
		var usernamelen=temp.length;
		if(usernamelen>25){
			alert("Your username cannot be greater than 25 characters.");		//$('#password').focus();
			return false;
		}else{
			for(var j=0; j<usernamelen; j++){	//alert(valid.indexOf(username.charAt(j)));
				if (valid.indexOf(username.charAt(j)) > 0){
					continue;
				}else{
					extra=1;
					break;
				}
			}
		}
		if(extra  == 1){
			alert("Your username can have only alphabets or numbers.");		//$('#password').focus();
			return false;
		}else{
			return true;
		}
}
/******* To Check Password *****************/
function passwordLength(password){
		var num=0;
		var alphabet=0;
		var extra=0;
		var temp=password;
		for(var j=0; j<temp.length; j++){
			var alphaa = temp.charAt(j);
			var hh = alphaa.charCodeAt(0);
			if(hh > 47 && hh<58){
				num=num+1;
				continue;
			}
			if((hh > 64 && hh<91) || (hh > 96 && hh<123)){
				alphabet=alphabet+1;
				continue;
			}
			extra=extra+1;		
		}
		if(num < 3 || alphabet < 3 || extra  < 2){
			alert("Your password must have minimium three alphabets ,three numbers and two special characters ");
			return false;
		}else {
			return true;
		}
}
/******* To display Edited Content *****************/
function displayContent(success)
{ //alert("sucessmessage  "+success);
	var jObj=eval("("+success+")");
	$("#editcontent").hide();
	$("#addcontent").removeClass("selected");
	$('#addEditText').html('Add New');

	if(jObj.status =='1')
	{
		$.post("get"+jObj.module+".php", {"refreshDivId" :jObj.id,"flag": jObj.action}, function(data) 
		{
			if(jObj.action == 'm') 
			{ //alert(data);
				$("#singleCont"+jObj.id).html("");	
				$("#singleCont"+jObj.id).append(data);					
			}
			else if(jObj.action == 'a')
			{
				//alert(data);
				$('.removeheading').remove();
				var mainCont=document.getElementById('mainContainer');
				var curcontent = mainCont.innerHTML;
				results = curcontent.indexOf("No Records"); //alert(results);
				if( results != '-1')
				{
					mainCont.innerHTML = data;
				}
				else 
				{
					mainCont.innerHTML = data + mainCont.innerHTML; //alert(mainCont.innerHTML);
				}
			}	
		});
	}
	$('#notification').show();
	$('#notification').css({padding:'10px', fontSize:'14px', backgroundColor:'#FFFFCC', border:'1px solid #c3c3c3', margin:'10px 0'});
	$("#notification").html(jObj.msg);
	setTimeout(function(){ $('#notification').hide(); }, 3000);	//Notification will fade out in 3 seconds
	$("#displaycontent").show();	
}
/******* To Change Publish flag of Content *****************/
function changeStatus(id, filename){
	var display, title, css;  //alert(id);
	 if(readCookie('RIGHTS')!='' && readCookie('RIGHTS')!=null && readCookie('RIGHTS')!=0){
			$.post(TODBFILEPATH+'/'+filename+".php",{'id':id, 'action':'p'}, function(resultdata) { //alert(resultdata);
			var resultarray=resultdata.split("|");
			if(resultarray[0]==1){
				display='Publish';
				title = 'Click to UnPublish';
				cssPublished = 'published';
				$('#publishspan'+resultarray[1]).removeClass('unPublished');
			}else{
				display='UnPublish';
				title = 'Click to Publish';
				cssPublished = 'unPublished';
				$('#publishspan'+resultarray[1]).removeClass('published');
			}
			$('#publishspan'+resultarray[1]).html(display);	
			$('#publishspan'+resultarray[1]).attr("title", title);
			$('#publishspan'+resultarray[1]).addClass(cssPublished);
			});  
	 }else{
		var readonlymsg='This is a Read-Only Account. No action will be performed for this Account.';
		var readonlystr="{'msg':'"+readonlymsg+"'}";
		removeDiv(readonlystr);
	}
}

/******* To Change Feature flag of Content *****************/
function changeFeature(id, filename){
	var display;  //alert(id);
	 if(readCookie('RIGHTS')!='' && readCookie('RIGHTS')!=null && readCookie('RIGHTS')!=0){
			$.post(TODBFILEPATH+'/'+filename+".php",{'id':id, 'action':'f'}, function(resultdata) { //alert(resultdata);
			var resultarray=resultdata.split("|");
			if(resultarray[0]==1){
				display='Yes';
			}else{
				display='No';
			}
			$('#featurespan'+resultarray[1]).html(display);	
			});  
	 }else{
		var readonlymsg='This is a Read-Only Account. No action will be performed for this Account.';
		var readonlystr="{'msg':'"+readonlymsg+"'}";
		removeDiv(readonlystr);
	}
}

/******** To refresh the Image Div within the SingleCont  ************************************/
function refreshImageDiv(contentid,imagepath){	//alert('refresh');	//alert('id='+contentid+'  image='+imagepath);
	var divid='#imageholder'+contentid;
	var htmlstr="<img src='"+imagepath+"' alt='this is image' height='75' width='75' border='1' /> REFRESH  ";
	
	$('#image'+contentid).attr('src',imagepath);
	$('#image'+contentid).attr('border','1');
}
/******* To Upload Image by Using Ajax *****************/
function ajaxFileUpload(id,filename,module,imagename)	
{	
	var callurl=TODBFILEPATH+'/doajaxfileupload.php?elementname='+id;	//alert(callurl);
		$(".loading")
		.ajaxStart(function()
		{
			$(this).show();
		})
		.ajaxComplete(function(){
			$(this).hide();
			globalset=1;
		});
		$.ajaxFileUpload
		(
			{	
				url:callurl, 
				secureuri:false,
				fileElementId:id,
				fileElementName:filename,
				moduleName:module,
				dataType: 'json',
				async:false,
				success: function (data, status)
				{	//alert('data='+data.msg+' status='+status+' error='+data.error);
					if(typeof(data.error) != 'undefined')
					{
						if(data.error != '')
						{
							var set=0;
							//alert(data.error);
							sendrequest();
						
						}else{ 	//alert('success');	//return(data.msg);
							sendrequest(imagename);
						}
					}
				},
				error: function (data, status, e)
				{
					//alert(data.error);
					//alert(e);
				}
			}
		
		)
}
/******* To search Data *****************/
function searchdata(filename,searchtype,data,currpage,lastpage,firstpage,recperpage,modulename)
{	//----modulename is for comment module either approve/unapproved
	var datastring ="search="+searchtype;
	
	var i,highlight=0;
	if(searchtype=='integer' || searchtype=='byname' || searchtype=='first'){
		var alphabet = new Array('09','ALL','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
		for(i=0;i<alphabet.length;i++){
			$('#searchparam'+alphabet[i]).removeClass('selected');	
			if(data==alphabet[i]){
				highlight=1;
			}
		}
		$('#searchparam'+data).addClass('selected');
	}
	if(highlight==0){
			$('#searchparamALL').addClass('selected');
	}
	if(filename !="content" && filename !="blogcontent" && filename!='contenttrashcan' && filename!='blogcontenttrashcan'){
		datastring = datastring+"&data="+data;	
	}
	if(filename=='comment' || filename=='answer'){
		var commentflag =  $('#commentflag').val(); 
		datastring=datastring+"&module="+modulename+"&commentflag="+commentflag;	//alert(datastring);
	}

	if(filename=='qna'){
		datastring=datastring+"&module="+modulename;
	}
	
	if(filename=='box'){  // for paging of Box management for getting boxtype			
		var boxtype =  $('#boxtype').val(); 
		datastring=datastring+"&boxtype="+boxtype;	//alert(datastring);
	}

	if(filename=='template2box'){  // for paging of Box management for getting boxtype	
	    datastring=datastring+"&"+$('#searchForm').serialize();	
		var boxtype =  $('#boxtype').val(); 
		datastring = datastring+"&data="+data;	
		datastring=datastring+"&boxtype="+boxtype;	//alert(datastring);
	}
	
	if(filename=='contenttrashcan' || filename=='blogcontenttrashcan' || filename=='content' || filename=='blogcontent'){
		datastring=datastring+"&"+$('#searchForm').serialize();	
		//filename='trashcan';
	}
	datastring=datastring+"&pg="+currpage+"&displastpage="+lastpage+"&dispfirstpage="+firstpage+"&recperpage="+recperpage;
		//alert(datastring);
	$.ajax({
		   type: "POST",
		   url: "get"+filename+".php",
		   data: datastring,
		   success: function(resultdata){
		   //alert(resultdata);
			   		$('#mainContainer').html(resultdata); 
					applyHoverEffect();
					//console.debug(resultdata);
		   }
	 	});
}
/********  TRIM LEFT FUNCTION ******************/
function lTrim(str)
{
  var whitespace = new String(" \t\n\r");

  var s = new String(str);

  if (whitespace.indexOf(s.charAt(0)) != -1) {
    // We have a string with leading blank(s)...

    var j=0, i = s.length;

    while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
    j++;

    s = s.substring(j, i);
  }

  return s;
}
/****** TRIM RIGHT FUNCTION ****************/
function rTrim(str)
{
 
  var whitespace = new String(" \t\n\r");

  var s = new String(str);

  if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {
    var i = s.length - 1;       // Get length of string

    while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
      i--;

    s = s.substring(0, i+1);
  }

  return s;
}
/**********   TRIM FUNCTION **********************************/
function Trimnew(str)
{
  return rTrim(lTrim(str));
}

function strrev( string ){
  
  	var ret = '', i = 0;
    string += '';
    for ( i = string.length-1; i >= 0; i-- ){
       ret += string.charAt(i);
    }

    return ret;
}

/******** Function to check cookie value ******************/
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
/******** Function to set cookie **************************/
function Set_Cookie( name, value, expires, path, domain, secure ){		//alert('name='+name+' value='+value);
		var today = new Date();
		today.setTime( today.getTime() );
		if ( expires )
		{
		expires = expires * 1000 * 60 * 60 * 24;
		}
		var expires_date = new Date( today.getTime() + (expires) );
		document.cookie = name + "=" +escape( value ) +
		( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
		( ( path ) ? ";path=" + path : "" ) + 
		( ( domain ) ? ";domain=" + domain : "" ) +
		( ( secure ) ? ";secure" : "" );
	}
/******** Function to Open/Close DropDowns Starts **********************************/
function show(id){
	if(document.getElementById(id).style.display=='none'){
				$('#'+id).show();
				$('#'+id+'mark').html('-');
	}else{
				$('#'+id).hide();
				$('#'+id+'mark').html('+');
	}
}
/******** Function to Open/Close DropDowns Ends **********************************/
function strpos( haystack, needle, offset){
    // Finds position of first occurrence of a string within another  
    var i = (haystack+'').indexOf( needle, offset ); 
    return i===-1 ? false : i;
}
function redirect(URLStr) { location = URLStr; }

function checkkey(event){
	if(event.keyCode == 13){ 
		validateLogin();
		return false; 
	}else{
		return true;
	}
}
/*** Function to open popup window ***/
var popUpWin=0;
function ZigWinPopUp(URLStr, width, height)
{
	var left = (screen.width/2) - width/2;
	var top = (screen.height/2) - height/2;
	if(popUpWin)
	{
		if(!popUpWin.closed) 
			popUpWin.close();
	}
	popUpWin = open(URLStr, 'popUpWin', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbar=no,resizable=no,copyhistory=yes,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');
}

/*** To retrive forgot password ***/
function validateAccDetails()
{
	var username = Trimnew($('#username').val());
	$('#resetresult').html('');
	if(username == "") 
	{
		alert("Please Enter Username or Email address.");
		$('#username').focus();
		return false;
	}
	else
	{
		$.post(TODBFILEPATH+"/authpassword2db.php", {'username':username}, function(resultdata) 
		{  //alert(resultdata);																								
			$('#resetresult').html(resultdata);			
		});
	}
}
function ChangePassword()
{
	var new_password = $('#new_password').val();
	var conf_password = $('#conf_password').val();
	var id = Trimnew($('#auther').val());
	if(new_password == "") 
	{
		alert("Please Enter New password.");
		$('#new_password').focus();
		return false;
	} 
	else if(conf_password =="")
	{
		alert("Please Enter Confirm Password.");
		$('#conf_password').focus();
		return false;
	}	

	else if(conf_password!=new_password)
	{
		alert("Password mis-matched, Please try again.");
		$('#conf_password').val('');
		$('#new_password').val('');
		$('#new_password').focus();
		return false;
	}
	var passreturn = passwordLength(new_password);
	$('#resetresult').html('');

	if(passreturn == true)
	{
		$.post(TODBFILEPATH+"/authpassreset2db.php", {'id':id, 'new_passw':new_password}, function(resultdata) 
		{  //alert(resultdata);		
			$('#resetresult').html(resultdata);
		});
	}	
}
/*** To Highlight a row ***/
//added by suleman
function applyHoverEffect() {
	$(".listing").mouseover(function(){$(this).addClass("alternate");}).mouseout(function(){$(this).removeClass("alternate")});
}