// Tools JavaScript Document
// ================================================================
// select & copy (only IE) to clipboard text from textarea -- START
// ================================================================
// Note: 
// <a href="javascript:selectAll('<form>.<textarea name>')">Select All</a>
// or onClick="javascript:selectAll('<form>.<textarea name>')"
function selectAll(textareaname) {
  var txtBuffer=eval("document."+textareaname)
  txtBuffer.focus() 
  txtBuffer.select() 
  if (document.all){ 
   var selText=txtBuffer.createTextRange() 
   selText.execCommand("Copy") 
   alert("This code has been copied to your clipboard.\nOpen your favorite editor and paste it in.\nIt\'s as simple as that.");
 }
}
// select & copy -- end

// email validation - start
function validatemail(str) {
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   return false
		}
		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false
		}
		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false
		}
		 if (str.indexOf(at,(lat+1))!=-1){
		    return false
		 }
		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false
		 }
		 if (str.indexOf(dot,(lat+2))==-1){
		    return false
		 }
		 if (str.indexOf(" ")!=-1){
		    return false
		 }
 		 return true					
	}
	// email validation - end
	
	// validate submit url - start
function validateAddURL() {

var form = document.entry_form;

if (form.yourname.value == "")
{
alert ("Your Name field is empty. Please enter your name.")
form.yourname.focus();
return false;
}
if (form.youremail.value == "")
{
alert ("E-Mail Field is empty. Please enter your E-Mail.")
form.youremail.focus();
return false;
}
if (validatemail(form.youremail.value)==false)
{
alert ("Your E-Mail is invalid.")
form.youremail.value = "";
form.youremail.focus();
return false;
}
if (form.sitename.value == "")
{
alert ("Site Name is empty. Please enter the Site Name.")
form.sitename.focus();
return false;
}
if (form.description.value == "")
{
alert ("Site Description is empty. Please enter Site description.")
form.description.focus();
return false;
}
if (form.siteurl.value == "" || form.siteurl.value == "http://")
{
alert ("Please enter your URL.")
form.siteurl.focus();
return false;
}
var urlRegxp = /^(http:\/\/www.|https:\/\/www.|ftp:\/\/www.|www.){1}([\w]+)(.[\w]+){1,2}$/;
if (urlRegxp.test(form.siteurl.value) != true)
{
alert("URL appears to be incorrect (www missing?)");
form.siteurl.focus();
return false;
}
form.submit() ;
}
	// validate submit url - end
	
	
	// Bookmark - Start	
function popupbookmark(favtxt)
{if ((navigator.appVersion.indexOf("MSIE") > 0) && (parseInt(navigator.appVersion) >= 4)) {window.external.AddFavorite(location.href, unescape(favtxt));}}
	// Bookmark - end
	
	// linktous
	function checkLinktousForm()
{
    var cname, cemail, csubject, cmessage;
    with(window.document.post_message)
    {
        cname    		= name;
        cemail   		= from;
        curl	 		= url;
        crecip	 		= oururl;
        cmessage 		= message;
        cdescription	= description;
    }
    
    if(trim(cname.value) == '')
    {
        alert('Please enter your name');
        cname.focus();
        return false;
    }
    else if(trim(cemail.value) == '')
    {
        alert('Please enter your email');
        cemail.focus();
        return false;
    }
    else if(!isEmail(trim(cemail.value)))
    {
        alert('Email address is not valid');
        cemail.focus();
        return false;
    }
    else if(trim(curl.value) == '')
    {
        alert('Please enter your URL');
        cmessage.focus();
        return false;
    }
    else if(trim(coururl.value) == '')
    {
        alert('Please enter URL where you placed our link');
        cmessage.focus();
        return false;
    }
    else if(trim(cdescription.value) == '')
    {
        alert('Please enter your Link Description');
        cmessage.focus();
        return false;
    }
    else
    {
        cname.value    = trim(cname.value);
        cemail.value   = trim(cemail.value);
        cmessage.value = trim(cmessage.value);
        return true;
    }
}

/*
Strip whitespace from the beginning and end of a string
Input : a string
*/
function trim(str)
{
    return str.replace(/^\s+|\s+$/g,'');
}

/*
Check if a string is in valid email format. 
Returns true if valid, false otherwise.
*/
function isEmail(str)
{
    var regex = /^[-_.a-z0-9]+@(([-_a-z0-9]+\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i;
    return regex.test(str);
}
function addBookmark(title, url){
  if(window.sidebar){ // Firefox
    window.sidebar.addPanel(title, url,'');
  }else if(window.opera){ //Opera
    var a = document.createElement("A");
    a.rel = "sidebar";
    a.target = "_search";
    a.title = title;
    a.href = url;
    a.click();
  } else if(document.all){ //IE
    window.external.AddFavorite(url, title);
  }
}
