﻿  
      String.prototype.format = function(){
   
      var pattern = /\{\d+\}/g;
   
      var args = arguments;
   
      return this.replace(pattern, function(capture){ return args[capture.match(/\d+/)]; });
   
      }


$( function() {
	
	
	/*reset of user links*/
	resetUserLink();

});
function AddWidget(url, placeId) {
	$.get(url, function(html) {
		$.fn.AddEasyWidget(html, placeId);
	});
}
function newsChecked() {
	if ($.cookie('subject')) {
	$("input[name=newsSubject[]]").attr("checked", "");
		var subOptions = $.cookie('subject').split(',');
		var subOptionsCount = subOptions.length;
		if (subOptionsCount > 0) {
			for ( var i = 0; i < subOptionsCount; i++) {
				var subEachOption = $.trim(subOptions[i]);
				$("input[value=" + subEachOption + "][name=newsSubject[]]").attr("checked", "checked");
			}
		}
	}
}



function addRows(classname) {
	$('.' + classname + '.even').css( {'opacity' :'1','cursor':'pointer'});
	freeRow = $('.' + classname + '.show').length;

	if (freeRow < 9) {
		var row = $('.' + classname + '.hide' + ':first');
		row.removeClass("hide").addClass("show");
		if ($.cookie('numRows_' + classname)) {
			row = $.cookie('numRows_' + classname);
			if (row < 8) {
				row++;
				$.cookie('numRows_' + classname, row, {
					expires :365
				});
			} else {
				$('.' + classname + '.plus').css( {'opacity' :'0.4','cursor':'default'});
			}

		} else {
			row = 4;
			$.cookie('numRows_' + classname, row, {
				expires :365
			});
		}
	}
}
function removeRows(classname) {
	$('.' + classname + '.plus').css( {'opacity' :'1','cursor':'pointer'});
	freeRow = $('.' + classname + '.show').length;
	if (freeRow > 1) {
		$('.' + classname + '.show' + ':last').removeClass("show").addClass(
				"hide");
		if ($.cookie('numRows_' + classname)) {
			row = $.cookie('numRows_' + classname);
			if (row > 0) {
				row--;
				$.cookie('numRows_' + classname, row, {
					expires :365
				});
			}
		} else {
			row = 2;
			$.cookie('numRows_' + classname, row, {
				expires :365
			});
		}
	}
	if (freeRow < 3) {
		$('.' + classname + '.even').css( {'opacity' :'0.4','cursor':'default'});
			}
}

function isValidEmailAddress(emailAddress) {
var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
return pattern.test(emailAddress);
}
//////////////////////////////start of your links box functions//////////////////////////////////////////////////
function resetUserLink(){

if($.cookie('linkTitleCookie')&&$.cookie('linkUrlCookie'))
		{
		if($.cookie('linkRowId'))
		{
			var linkRowId=1;
			$.cookie('linkRowId',linkRowId,{expires :365});
		}
			var linkTitleCo= $.cookie('linkTitleCookie').split(';');
			var linkUrlCo= $.cookie('linkUrlCookie').split(';');
			var linkTitleCount = linkTitleCo.length;
			if (linkTitleCount> 0) {
			  for ( var i = 0; i < linkTitleCount; i++) 
			    {
			   
			        linkRowId++;
			        $.cookie('linkRowId',linkRowId,{expires :365});
					var TitleEachOption = $.trim(linkTitleCo[i]);
					var urlEachOption = $.trim(linkUrlCo[i]);
					
				  addTableRow("generateLinks",TitleEachOption,urlEachOption);
     	          //generate rows of your links by user		
					
				$(".links").slideUp("slow");
				$('.linkAlarms').hide();
				$('#editSaveLinks').attr("disabled", "");
				$("input[name='linkBoxTitle']").attr("value","");		
		        $("input[name='linkBoxurl']").attr("value","http://");

					
//					$.ajax( {
//					type :"POST",
//					url :"link.aspx",
//					data : ({"titleAjax":TitleEachOption,"urlAjax":urlEachOption,"liIdAjax":linkRowId
//					}),
//					cache :false,
//					success : function(data) {
//						$('#generateLinks').append(data);
//				   }
//		       });

				}
			}
		}
}
function postLinks() {
var add='yes';
		var linkTitle='';
		 linkTitle=$("input[name='linkBoxTitle']").val();
		 var linkUrl=$("input[name='linkBoxurl']").val();
		 if((linkTitle=='')||(linkUrl=='http://'))
		 {
		 	$('.linkAlarms').text("لطفا عنوان و آدرس را وارد نمایید!").fadeIn("slow");
		 	setTimeout( function() {
						$('.linkAlarms').fadeOut("slow");
					}, 4000);				
		}else{
		if($.cookie('linkTitleCookie'))
		{
			
			var linkTitleCo= $.cookie('linkTitleCookie').split(';');
			var linkTitleCount = linkTitleCo.length;
			 for ( var i = 0; i < linkTitleCount; i++) 
			    {
					TitleEachOption = $.trim(linkTitleCo[i]);
					if(TitleEachOption ==linkTitle)
					{
						$('.linkAlarms').text("این عنوان قبلا وارد شده است!").fadeIn("slow");
		 				setTimeout( function() {
						$('.linkAlarms').fadeOut("slow");
						}, 4000);
						add='no';
					}
				}
				if($.cookie('linkUrlCookie'))
					{
						var linkUrlCo= $.cookie('linkUrlCookie').split(';');
						var linkUrlCount = linkUrlCo.length;
						 for ( var i = 0; i < linkUrlCount ; i++) 
						    {
								urlEachOption = $.trim(linkUrlCo[i]);
								if(urlEachOption ==linkUrl)
								{
									$('.linkAlarms').text("این آدرس سایت قبلا وارد شده است!").fadeIn("slow");
					 				setTimeout( function() {
									$('.linkAlarms').fadeOut("slow");
									}, 4000);
									add='no';
								}
							}
					}

				if(add=='yes')
				{
					var linkTitleCookie= $.cookie('linkTitleCookie');
					linkTitleCookie += ';' + linkTitle;
				    $.cookie('linkTitleCookie', linkTitleCookie , {expires :365});		
		   	    }	
		}else{		
		$.cookie('linkTitleCookie', linkTitle, {expires :365});
		}
		
//url of user's link		
		if($.cookie('linkUrlCookie'))
		{		
		if(add=='yes')
				{
					var linkUrlCookie= $.cookie('linkUrlCookie');
				   	linkUrlCookie += ';' + linkUrl;
					$.cookie('linkUrlCookie', linkUrlCookie , {expires :365});		
			    }	
		}else{		
		$.cookie('linkUrlCookie', linkUrl, {expires :365});
		}		
		if(add=='yes')
			{		
				$('#editSaveLinks').attr("disabled", "disabled");
				if($.cookie('linkRowId'))
				{
					linkRowId=$.cookie('linkRowId');
					linkRowId++;
					$.cookie('linkRowId',linkRowId,{expires :365});
				}else{
					 linkRowId=100;
					$.cookie('linkRowId',linkRowId,{expires :365});
				}
							
			
					
					$(".links").slideUp("slow");
					$('.linkAlarms').hide();
					$('#editSaveLinks').attr("disabled", "");
					$("input[name='linkBoxTitle']").attr("value","");		
			        $("input[name='linkBoxurl']").attr("value","http://");
					
			   addTableRow("generateLinks",linkTitle,linkUrl);
	
//				$.ajax( {
//					type :"POST",
//					url :"link.aspx",
//					data : ({"titleAjax":linkTitle,"urlAjax":linkUrl,"liIdAjax":linkRowId
//					}),
//					cache :false,
//					success : function(data) {
//						$(".links").slideUp("slow");
//						$('.linkAlarms').hide();
//						$('#editSaveLinks').attr("disabled", "");
//						$("input[name='linkBoxTitle']").attr("value","");		
//				$("input[name='linkBoxurl']").attr("value","http://");
//						$('#generateLinks').append(data);
//				   }
//		       });
			}//end of if(add=='yes')
		}//end of first else			
}
	
function linkCancel() {
		$(".links").slideUp("slow");
}
function showOrHideDiv(id)
{

if ($("#"+id).css('display') == "none")
    $("#"+id).show("slow");
else
    $("#"+id).hide("slow");

}

function slideUpAndDown(id)
{
    if ($("#"+id).css('display') == "none")
    $("#"+id).slideDown("slow");
else
    $("#"+id).slideUp("slow");
}

function linkdel(title,url,liId){

if($.cookie('linkTitleCookie')&&$.cookie('linkUrlCookie'))
		{
		var linkTitleCookie='';
		var urlEachCookie='';
		var TitleEachOption;
		var urlEachOption ;
			var linkTitleCo= $.cookie('linkTitleCookie').split(';');
			var linkUrlCo= $.cookie('linkUrlCookie').split(';');
			var linkTitleCount = linkTitleCo.length;
			if (linkTitleCount> 0) 
			{
			  for ( var i = 0; i < linkTitleCount; i++) 
			    {
					TitleEachOption = $.trim(linkTitleCo[i]);
				    urlEachOption = $.trim(linkUrlCo[i]);
//check $.cookie('linkTitleCookie') for remove selected Title				    
					if(TitleEachOption==title)
					{
							TitleEachOption='';	
							if(linkTitleCount==1){
							$.cookie('linkTitleCookie', '');
							} 											
						
					}else {
					if(linkTitleCookie==''){			
					 linkTitleCookie =TitleEachOption ;
						$.cookie('linkTitleCookie', TitleEachOption , {expires :365});
						}else {
							linkTitleCookie += ';' + TitleEachOption ;
				           $.cookie('linkTitleCookie', linkTitleCookie , {expires :365});	
						}
					}	
//check $.cookie('linkUrlCookie') for remove selected url					
					if(urlEachOption == url)
					{
						urlEachOption ='';	
						if(linkTitleCount==1){
							$.cookie('linkUrlCookie', '');
							} 				
					}else{
					if(urlEachCookie==''){
					urlEachCookie =urlEachOption ;
						$.cookie('linkUrlCookie', urlEachOption , {expires :365});
						}else{
							urlEachCookie += ';' + urlEachOption ;
				           $.cookie('linkUrlCookie', urlEachCookie , {expires :365});
						}
					}
				}//end of for
							
			}//end of if (linkTitleCount> 0)		
		}
		
		deleteTableRow(liId);
}
function linkLiDel(liId)
{
	//remove li with id=liId
	$('#' + liId).slideUp("slow");
}
function deflinkLiDel(defaultliId)
{
	//remove li with id=liId
	$('#' + defaultliId).slideUp("slow");
	 $.cookie('changeDefaultLink', 'yes' , {expires :365});
	if($.cookie('defaultId'))
				{
					var defLinkIdCookie= $.cookie('defaultId');
				   	defLinkIdCookie+= ';' + defaultliId;
					$.cookie('defaultId', defLinkIdCookie, {expires :365});
				}else{				
					$.cookie('defaultId',defaultliId,{expires :365});
				}

}
function setDelId(id)
{
	$('#'+ id).hide();
}
////////////////////////////for add row $ remove row of english & nanoLab box///////////////////////////////////////
function AddCustomeRow(addId,removeId,cookieName,pre)
{
$('#'+removeId).css( {'opacity' :'1','cursor':'pointer'});
	if($.cookie(cookieName))
	{
		var row=$.cookie(cookieName);
		if(row<50)
		{
			$('.'+pre+'hide:first').removeClass(pre+'hide').addClass(pre+'show').slideDown("slow");
			row++;
			$.cookie(cookieName,row,{expires :365});
			if(row==50)
			{
				$('#'+addId).css( {'opacity' :'0.4','cursor':'default'});
			}
		}
	}else{
		$('.'+pre+'hide:first').removeClass(pre+'hide').addClass(pre+'show').slideDown("slow");
		$.cookie(cookieName,'30',{expires :365});
	}
}
function RemoveCustomeRow(addId,removeId,cookieName,pre)
{
$('#'+addId).css( {'opacity' :'1','cursor':'pointer'});
	if($.cookie(cookieName))
	{
		var row=$.cookie(cookieName);
		if(row>1)
		{
			$('.'+pre+'show:last').removeClass(pre+'show').addClass(pre+'hide').slideUp("slow");
			row--;
			$.cookie(cookieName,row,{expires :365});
			if(row==1)
			{
				$('#'+removeId).css( {'opacity' :'0.4','cursor':'default'});
			}
		}
	}else{
		$('.'+pre+'show:last').removeClass(pre+'show').addClass(pre+'hide').slideUp("slow");
		$.cookie(cookieName,'5',{expires :365});
	}

}

/*
 * // Get the value of a cookie: $.cookie('sampleCookie');
 * 
 * //Create (or update) the value of a cookie: $.cookie('sampleCookie',
 * 'cookieValue');
 * 
 * //Create (or update) the value of a cookie to expire in 2 days:
 * $.cookie('sampleCookie', 'cookieValue', { expires: 2 });
 * 
 * //Delete a cookie: $.cookie('sampleCookie', null);
 */
jQuery.cookie = function(name, value, options) {
	if (typeof value != 'undefined') { // name and value given, set cookie
		options = options || {};
		if (value === null) {
			value = '';
			options.expires = -1;
		}
		var expires = '';
		if (options.expires
				&& (typeof options.expires == 'number' || options.expires.toUTCString)) {
			var date;
			if (typeof options.expires == 'number') {
				date = new Date();
				date.setTime(date.getTime()
						+ (options.expires * 24 * 60 * 60 * 1000));
			} else {
				date = options.expires;
			}
			expires = '; expires=' + date.toUTCString(); // use expires
			// attribute,
			// max-age is not
			// supported by IE
		}
		// CAUTION: Needed to parenthesize options.path and options.domain
		// in the following expressions, otherwise they evaluate to undefined
		// in the packed version for some reason...
		var path = options.path ? '; path=' + (options.path) : '';
		var domain = options.domain ? '; domain=' + (options.domain) : '';
		var secure = options.secure ? '; secure' : '';
		document.cookie = [ name, '=', encodeURIComponent(value), expires,
				path, domain, secure ].join('');
	} else { // only name given, get cookie
		var cookieValue = null;
		if (document.cookie && document.cookie != '') {
			var cookies = document.cookie.split(';');
			for ( var i = 0; i < cookies.length; i++) {
				var cookie = jQuery.trim(cookies[i]);
				// Does this cookie string begin with the name we want?
				if (cookie.substring(0, name.length + 1) == (name + '=')) {
					cookieValue = decodeURIComponent(cookie
							.substring(name.length + 1));
					break;
				}
			}
		}
		return cookieValue;
	}
};



function addTableRow(id,LinkUserTitle,LinkUserUrl) {
    var table = document.getElementById(id);

    var rowCount = table.rows.length;

    var row = table.insertRow(rowCount);

    row.id = "rows" + rowCount;

    var cell1 = row.insertCell(0);
   
   //cell1.innerHTML += String.format("<img src='icons/close_small.png' alt='' style='cursor:pointer' onclick=javascript:linkdel('{1}','{2}','rows{0}'); />", rowCount,LinkUserTitle,LinkUserUrl);
   
    var element1 = document.createElement('a');
    element1.setAttribute("href",LinkUserUrl);
    element1.innerHTML += LinkUserTitle;
    cell1.appendChild(element1);

    var cell2 = row.insertCell(1);
    cell2.innerHTML += String.format("<img src='icons/close_small.png' alt='' style='cursor:pointer' onclick=javascript:linkdel('{1}','{2}','rows{0}'); />", rowCount,LinkUserTitle,LinkUserUrl);
    

}


function deleteTableRow(id) {

    try {

        var table = document.getElementById("generateLinks");
        var tr = document.getElementById("generateLinks").getElementsByTagName("tr");

        for (var i = 0; i < tr.length; i++) {

            if (tr[i].id == id) {

                table.deleteRow(i);

            }

        }
    }
    catch (e) {
        alert(e);
    }

}
