function Void(){
	
}
//check for the needle in given stirng 
function strstr (haystack, needle, bool) {
   var pos = 0;
   haystack += '';
    pos = haystack.indexOf( needle );    if (pos == -1) {
        return false;
    } else{
        if (bool){
            return haystack.substr( 0, pos );        } else{
            return haystack.slice( pos );
        }
    }
}

//Toogle data
function ToogleData(divid){
	jQuery('#'+divid).slideToggle("slow");
}

//display if none or none i display	
function DisplayEditicons(idv){
	var obj    = document.getElementById(idv);
	if(obj.style.display == 'none'){
		obj.style.display = 'block';
	}else{
		obj.style.display = 'none';
	}
}

//this will trim the string bothe left and right
function trim(str) { 
    if (str != null) {
        var i; 
        for (i=0; i<str.length; i++) {
            if (str.charAt(i)!=" ") {
                str=str.substring(i,str.length); 
                break;
            } 
        }     
        for (i=str.length-1; i>=0; i--) {
            if (str.charAt(i)!=" ") {
                str=str.substring(0,i+1); 
                break;
            } 
        }         
        if (str.charAt(0)==" ") {
            return ""; 
        } else {
            return str; 
        }
    }
}

//Check the url
function CheckUrl(url){
	var strRegex = /^[\w\.-]+\.[a-z]{2,6}$/; 
	url  = url.toLowerCase();
	if(url.substr(0,7) == 'http://'){
		url = url.substr(7,url.length);
	}
	if(url.substr(0,4) == 'www.'){
		url = url.substr(4,url.length);
	}
	if( strRegex.test(url) ){
		return url;
	}else{
		return false;
	}
} 
function ret(formid){
	document.getElementById(formid).submit();
}
function UpdateSite(url,term){
	document.getElementById("loading").style.display="block";
	document.getElementById("loading").innerHTML = 'Please Wait while we update the site <br><img src="'+readCookie('SITE_PATH')+'images/ajax_loader.gif" border=0 style="display:inline;margin-top:10px;">';
	document.getElementById("loadingbg").style.display="block";					
	SubmitFormData(url, '', term);
}
function Addfeed(){
	var url = document.getElementById("urf").value;
	var feed = document.getElementById("feed").value;
	if(trim(feed) == ''){
		alert("Please Enter a Valid Feed URL");
		return false;
	}
	document.getElementById("loading").style.display="block";
	document.getElementById("loading").innerHTML = 'Please wait while we Check the Feed URL<br><img src="'+readCookie('SITE_PATH')+'images/ajax_loader.gif" border=0 style="display:inline;margin-top:10px;">';
	document.getElementById("loadingbg").style.display="block";	
	SubmitFormData(readCookie('SITE_PATH')+'process.php?uri='+url+'&action=feed&feed='+feed, '', 'loading');
}
function SearchDomain(url,term){
	document.getElementById(term).innerHTML = 'Please Wait while we Search the Domain <br><img src="'+readCookie('SITE_PATH')+'images/ajax_loader.gif" border=0 style="display:inline;margin-top:10px;">';
	SubmitFormData(url, '', term);
	return false;
}
//This function will handle all the ajax requests
function SubmitFormData(uri,formid,term){
	var pars = $('#'+formid).serialize();
	$.ajax({
		   type: "POST",
		   url: uri,
		   data: pars,
		   success: function(newData){
		  		if(newData == 'No'){
					/* check for any divids and This Will assign response to some other div Other than the info box messages*/
					document.getElementById("loading").style.display="block";
					document.getElementById("loading").innerHTML = term+ ' is new to us! <br> Please wait while we create the page... <br><img src="'+readCookie('SITE_PATH')+'images/ajax_loader.gif" border=0 style="display:inline;margin-top:10px;">';
					document.getElementById("loadingbg").style.display="block";					
					SubmitFormData('create_site.php?url='+term+'', formid , term );					
				}else if( newData  == 'Yes') {
					window.location = term;
				}else if( newData == 'feedfound' ){
					window.location = document.getElementById("urf").value;
				}else if( newData == 'inserted' ||  newData == 'updated' ){
					window.location = term;
				}else if( newData == 'notexisted'){
					document.getElementById("err").innerHTML = '*The Domain does not Exist.Please enter a valid Domain Name';
				}else{
					document.getElementById(term).innerHTML = newData;
					parseScript(document.getElementById(term).innerHTML);
				}				
		   }
		});
}
function GetSearchFeeds(uri,type){
	var url = CheckUrl(uri);
	document.getElementById("berr").innerHTML = '';
	if(url){
		if(type == 'twitter'){
			search_tweets(url);
		}else{
			search_blogs(url);
		}	
	}else{
		document.getElementById("berr").innerHTML = '*This is not a valid URL';
	}
	return false;
}
function CreateProcess(uri,Formid){
	var url = CheckUrl(uri);
	if(url){
		SubmitFormData('process.php?url='+url, '', url);
	}else{
		document.getElementById("err").innerHTML = '*This is not a valid URL';
	}
	return false;
}
function dtool(url,action){
	if(url){
		document.getElementById("tools").style.display = 'block';
		document.getElementById("tools").innerHTML = 'Loading Data....';
		SubmitFormData(readCookie('SITE_PATH')+'process.php?uri='+url+'&action='+action, '', 'tools');
	}
	return false;
}
function Boxloader(action, url, did){
	document.getElementById(did).innerHTML = '<img src="'+readCookie('SITE_PATH')+'images/boxloader.gif" style="margin:40px 0px 0px 120px;" />';
	SubmitFormData(readCookie('SITE_PATH')+'process.php?uri='+url+'&action='+action, '', did);
}
function Rankinfo(url,gpr){	
	document.getElementById('quant').innerHTML = '<img src="'+readCookie('SITE_PATH')+'images/fb.gif"/>';
	document.getElementById('compete').innerHTML = '<img src="'+readCookie('SITE_PATH')+'images/fb.gif"/>';
	document.getElementById('seomoz').innerHTML = '<img src="'+readCookie('SITE_PATH')+'images/fb.gif"/>';
	if(gpr){
		document.getElementById('alexarank').innerHTML = '<img src="'+readCookie('SITE_PATH')+'images/fb.gif"/>';
		document.getElementById('gpr').innerHTML = '<img src="'+readCookie('SITE_PATH')+'images/fb.gif"/>';
		SubmitFormData(readCookie('SITE_PATH')+'process.php?uri='+url+'&action=alexarank', '', 'alexarank');
		SubmitFormData(readCookie('SITE_PATH')+'process.php?uri='+url+'&action=gpr', '', 'gpr');
	}	
	SubmitFormData(readCookie('SITE_PATH')+'process.php?uri='+url+'&action=quant', '', 'quant');
	SubmitFormData(readCookie('SITE_PATH')+'process.php?uri='+url+'&action=compete', '', 'compete');
	SubmitFormData(readCookie('SITE_PATH')+'process.php?uri='+url+'&action=seomoz', '', 'seomoz');
	
}
function stoploading(){
	document.getElementById("loading").style.display="none";
	document.getElementById("loadingbg").style.display="none";	
} 
/**
* Cookie related functions
*/
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

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 eraseCookie(name) {
	createCookie(name,"",-1);
} 

//intiative the datepicker
function parseScript(_source) {
		var source = _source;
		var scripts = new Array();
		
		// Strip out tags
		while(source.indexOf("<script") > -1 || source.indexOf("</script") > -1) {
			var s = source.indexOf("<script");
			var s_e = source.indexOf(">", s);
			var e = source.indexOf("</script", s);
			var e_e = source.indexOf(">", e);
			
			// Add to scripts array
			scripts.push(source.substring(s_e+1, e));
			// Strip from source
			source = source.substring(0, s) + source.substring(e_e+1);
		}
		
		// Loop through every script collected and eval it
		for(var i=0; i<scripts.length; i++) {
			try {
				eval(scripts[i]);
			}
			catch(ex) {
				// do what you want here when a script fails
			}
		}
		// Return the cleaned source
		return source;
}	
var aasLibrary = new Object();
var aasLibrary = {
	blogsearch_start: 0,
	blogsearch_done_titles: [],
	blogsearch_done_hosts: new Object(),
	blogsearch_count: 0,
	debug: false,
	display_tweets: 4,
	fetch_tweets: 30,
	twitter_content_clean: function(c) {
		var i = c.indexOf('http://');
		var j = -1;
		if (i != null && i >= 0) {
			var j = c.indexOf(' ', i+1);
			if (j == -1 || j == null) {j = c.length;}
		}
		return c.substring(0, i).replace(new RegExp(aasLibrary.feed_search_string,"ig"),function(m){return "<b>"+m+"</b>";}) + "<a target='_blank' href='" + c.substring(i, j) + "'>" + c.substring(i, j).replace(new RegExp(aasLibrary.feed_search_string,"ig"), function(m){return "<b>"+m+"</b>";}) + "</a>" + c.substring(j, c.length).replace(new RegExp(aasLibrary.feed_search_string,"ig"), function(m){return "<b>"+m+"</b>";});
	}	
};
function search_blogs(url){
	aasLibrary.website = url;
	var surl = url.split('.');
	get_blog_search_feeds('http://www.google.com/uds/Gfeeds?callback=parsedata&context=0&num=100&hl=en&output=xml&v=1.0&q=http%3A//blogsearch.google.com/blogsearch_feeds%3Fhl%3Den%26q%3D'+surl[0]+'%26num%3D100%26output%3Drss');		
}
function search_tweets(url){
	var l = "";
	l = "&lang=en";	
	aasLibrary.website = url;
	aasLibrary.basename = url;
	aasLibrary.feed_search_string = url;
	get_blog_search_feeds('http://search.twitter.com/search.json?callback=twitter_feed_parse&rpp=' + aasLibrary.fetch_tweets + '&q=' + url+l + "&since=");
}
function displayDate(time, options){
	var date = null;
	try {
		if(typeof(time) == 'number') {
			date = new Date(time);
		} else if (options.parsed) {
			date = new Date(time);
		} else if(options.no_replace){
			date = new Date(time);
		} else {
			date = new Date((time || "").replace(/-/g,"/").replace(/[TZ]/g," "));
		}
	} catch(err) {}
	try{
		if (date.getMonth() > 0) {} else {
			date = new Date(time.substring(0, time.indexOf('T')).replace(/\-/g,'/'));
		}
	}catch(err){return '';}
	var diff = (((new Date()).getTime() - date.getTime()) / 1000), day_diff = Math.floor(diff / 86400);
	
	if ( isNaN(day_diff) || day_diff < 0) return;
	if (day_diff >= 31 ) {
		var t = Math.floor(day_diff/30);
		var c = t > 1 ? "s" : "";
		return  t + " month" + c + " ago";
	}
			
	return day_diff == 0 && (
		diff < 60 && "just now" || diff < 120 && "1 minute ago" || diff < 3600 && Math.floor( diff / 60 ) + " minutes ago" || diff < 7200 && "1 hour ago" ||
		diff < 86400 && Math.floor( diff / 3600 ) + " hours ago") || day_diff == 1 && "Yesterday" || day_diff < 7 && day_diff + " days ago" || day_diff < 31 && Math.ceil( day_diff / 7 ) + " weeks ago";
}

var URL = {
	parse: function(url) {
		url = url.replace(/http(s)?:\/\//,'')
		var hostname = url.substring(0, url.indexOf('/'));
		var path = url.substring(url.indexOf('/'),url.length);
		return [hostname, path];
	},
	
	domain_in_hostname: function(url, domain) {
		var host = URL.parse(url);
		return host[0].indexOf(domain) != -1;
	}
};
function get_blog_search_feeds(url){
		var newScript = document.createElement('script');
		newScript.type = 'text/javascript';
		newScript.src = url;
		jQuery('body').append(newScript);
}
function twitter_feed_parse(data){
		if (data.results.length == 0) {$('#tweetdata').append("<div class='blogitem' align='center'>No Recent Tweets Found for this Domain</div>");return;}
		$('#tweetdata').append('<div id="tweets"></div>');
		var r = [];
		var user_count = {};
		var content = [];		
		jQuery.each(data.results, function(i, val){
			var found_content = false;
			for(var t=0;t<content.length;t++) {
				if (content[t].indexOf(val['text']) != -1) {
					found_content = true;
					break;
				}
			}
			if (!found_content) {
				r.push([val['text'], val['from_user'], val['created_at']]);
				if (user_count[val['from_user']] == null) {user_count[val['from_user']] = 1;} else {user_count[val['from_user']] += 1;}
				content.push(val['text']);
			}
		});
		
		var count = 0;
		jQuery.each(r, function(i, val) {			
			if( count < aasLibrary.display_tweets ) {
				$('#tweets').append(
					"<div class='blogitem'>" + 
					aasLibrary.twitter_content_clean(unescape(val[0])) + 
					"&nbsp;&nbsp;&nbsp;<span class='details'>- <a target='_blank' href='http://twitter.com/" + val[1] + "'>" + unescape(val[1]) + "</a>" + 
					"&nbsp;&nbsp;&nbsp;" +  displayDate(val[2], {no_replace:true}) + "</span>" + 
					"</div>");
				count += 1;
			} 
		});
		if ( count > 0) {		
			if($('#tweetpage').length == 0) {
				$('#tweetdata').after("<div class='alignright'><a class='morelink' href='"+readCookie('SITE_PATH')+"twitter/" + aasLibrary.website + "' id='tweetpage'>Read more Tweets &raquo;</a></div>");
			}			
		}
		return data;
}
function parsedata (r,data){
		var xmlc = null;
		if (data['xmlString'].length == 0) { $('#blogdata').append('<div class="blogitem" align="center">No Relavant Blog Posts found for this Domain</div>');return;}
		if ($.browser.msie){
			var tempXML = new ActiveXObject("Microsoft.XMLDOM");
			tempXML.async = false;
			tempXML.loadXML(data['xmlString']);
			xmlc = tempXML;
			items = $($(xmlc)[0]).find('channel');
		} else if(window.DOMParser){
			items = $(new DOMParser().parseFromString(data['xmlString'], "text/xml").childNodes[0].childNodes[0]);
		} else {
			xmlc = data['xmlString'];
			items = $($(xmlc)[1]).find('channel');
		}		
		jQuery.each(items.find('item'), function(i){
			var link = unescape($(this).find('guid').text());
			var title = unescape($(this).find('title').text()); var description = unescape($(this).find('description').text());
			var author = unescape($(this).find('link').next().text()); var datte = displayDate($(this).find('pubDate').text(), {parsed:true});
			if (author.split(' ').length > 4 || author == 'Untitled') {
				author = URL.parse(link)[0].replace(/^www\./i,'');
				author = author.substring(0,1).toUpperCase() + author.substring(1,author.length);
			}
			if(aasLibrary.blogsearch_count < aasLibrary.display_tweets && 
					!URL.domain_in_hostname(link, aasLibrary.website) && 
					(title.match(/<b>/) != null || description.match(/<b>/) != null) &&
					(aasLibrary.blogsearch_done_hosts[URL.parse(link)[0]]==null || aasLibrary.blogsearch_done_hosts[URL.parse(link)[0]] <= 3) && 
					($.inArray(title, aasLibrary.blogsearch_done_titles) == -1)) {
				$('#blogdata').append("<div class='blogitem'><a href='" + link + "' target='_blank'>" + title + "</a>&nbsp;&nbsp;&nbsp; - <span class='details'><span class='author'>" + author + "</span>&nbsp;&nbsp;&nbsp;<span class='time'>" + datte + "</span></span></div>");
				aasLibrary.blogsearch_done_titles.push(title);
				if (aasLibrary.blogsearch_done_hosts[URL.parse(link)[0]] == null){
					aasLibrary.blogsearch_done_hosts[URL.parse(link)[0]]=0;
				}
				aasLibrary.blogsearch_done_hosts[URL.parse(link)[0]] += 1;
				aasLibrary.blogsearch_count += 1;
			}
		});	
		if( aasLibrary.blogsearch_count == 0 ){
			$('#blogdata').append("<div class='blogitem' align='center'>No Relavant Blog Posts found for this Domain</div>");
		}		
		if(aasLibrary.blogsearch_count > 0) {				
			if($('#blogsearchpage').length == 0) {
				$('#blogdata').after("<div class='alignright'><a class='morelink' href='"+readCookie('SITE_PATH')+"blogsearch/" + aasLibrary.website + "' >Read more blog searches &raquo;</a></div>");
			}				
		}	
}	
