window.onload = function(){
	setDiv();
}
startSearch = function(){
	if(document.getElementById('s').value == ''){
		//alert('Put it a keyword stupid!');
	}else{
		document.forms.searchform.submit();	
	}
}

setDiv = function(){
	var divs = document.getElementsByTagName('div');
	for(i=0;i<divs.length;i++){
		var myDiv = divs[i];	
		if(myDiv.className == 'blockSmallGreenGray' || myDiv.className == 'blockMidGreenGray' || myDiv.className == 'blockMidGreenDark' || myDiv.className == 'blockBigGrayGray'){
			//alert(myDiv.className);
			var myDivs = myDiv.getElementsByTagName('div');
			for(i2=(myDivs.length-1);i2>=0;i2--){
				if(myDivs[i2].className == 'blockBody'){
					var myBody = myDivs[i2];
					//myBody.style.overflow = ''
					var myBodyH = myBody.offsetHeight;
					myBody.style.MozOpacity = 1;
					myBody.style.filter='progid:DXImageTransform.Microsoft.Alpha(Opacity=' + 100 + ')';
				}
				if(myDivs[i2].className == 'blockHead'){
					var myHead = myDivs[i2];
					myHead.style.cursor = "pointer";
					myHead.isExpand = true;
					myHead.myBody = myBody;
					myHead.myBodyH = myBodyH;
					myHead.myBodyA = 0;
					myHead.onclick = function(){
						if(this.isExpand){
							//this.myBody.style.display = 'none';
							this.myBody.endA = 0;
							adjustH(this.myBody, this.myBodyH, 0);
							this.isExpand = false;
						}else{
							//this.myBody.style.display = 'block';
							this.myBody.endA = 100;
							adjustH(this.myBody, 0, this.myBodyH);
							this.isExpand = true;
						}
					}
				}
			}
			//alert(myHead.className);
			//alert("fsd");	
		}
	}	
}
adjustH = function(myPage, initH, endH){
	clearInterval(myPage.t);
	myPage.t = window.setInterval(function () {
		
		myPage.style.MozOpacity -= (myPage.style.MozOpacity - (myPage.endA/100))/5;
		
		myPage.style.filter='progid:DXImageTransform.Microsoft.Alpha(Opacity=' + (myPage.style.MozOpacity*100) + ')';
		
		
		initH -= (initH - endH)/2;
		myPage.style.height = initH+"px";
	},50);
}
clearForm1 = function(){
	var myForm = document.forms.myForm;	
	if(confirm("Clear Fields?")){
		for(var i=0;i<myForm.length;i++){
			if(myForm[i].type != "checkbox" && myForm[i].type != "radio"){
				myForm[i].className = "textBox1";
				myForm[i].value = "";
			}
		}
	}
	myForm[0].focus();
	return false;
}

checkForm1 = function(){
	var myForm = document.forms.myForm;
	var myField = null;
	var isValid = true;
	var fieldName = new Array("fname", "lname", "email", "zip", "title", "publisher", "rating", "review", "month", "day", "year", "message", "subject", "comments");
	fieldName["fname"] = "Invalid First Name";
	fieldName["lname"] = "Invalid Last Name";
	fieldName["email"] = "Invalid Email Format";
	fieldName["zip"] = "Invalid Zip Code";
	
	for(var i=0;i<myForm.length;i++){
		switch(myForm[i].name){
			case "fname":
			case "lname":
			case "email":
			case "zip":
			case "title":
			case "publisher":
			case "review":
			case "subject":
			case "message":
			case "comments":
				if(myForm[i].type == "text" || myForm[i].type == "textarea"){
					if(trim(myForm[i].value) == ""){
						isValid = false;
						alert("Please fill out all the fields"+myForm[i].name);
						myField = myForm[i];
						i = myForm.length;
					}
				}
				if(i != myForm.length){
					switch(myForm[i].name){
						case "fname":
						case "lname":
						case "company":
							if(!isWord(trim(myForm[i].value))){
								isValid = false;
							}
							break;
						case "email":
							if(!isEmail(trim(myForm[i].value))){
								isValid = false;
							}
							break;
						case "zip":
							if(!isNumber(trim(myForm[i].value))){
								isValid = false;
							}
							break;
					}
					if(!isValid){
						alert(fieldName[myForm[i].name]);
						myField = myForm[i];
						i = myForm.length;	
					}
					
				}
				break;
		}
	}
	
	for(var i=0;i<myForm.length;i++){
		/*
		if(myForm[i].type != "checkbox" && myForm[i].type != "radio")
			myForm[i].className = "textBox1";
		*/
	}
	
	if(isValid){
		myForm.submit();
		//return true;
	}else{
		//myField.className = "textBoxError1";
		myField.focus();
		return false;
	}
}


isNumber = function(str){
	var objRegExp = /^[0-9]+$/;
	
	return objRegExp.test(str);
}
trim = function(str){
   return str.replace(/^\s+|\s+$/g,'');
}

isEmail = function(str){
	var objRegExp = /(^[a-z]([a-z_\.0-9]*)@([a-z_\.]*)([.][a-z]{3})$)|(^[a-z]([a-z_\.]*)@([a-z_\.]*)(\.[a-z]{3})(\.[a-z]{2})*$)/i;
	
	return objRegExp.test(str);
}
isAddress = function(str){
	var objRegExp = /^[a-zA-Z0-9, ]+$/;
	
	return objRegExp.test(str);
}
isWord = function(str){
	var objRegExp = /^[a-zA-Z ]+$/;
	
	return objRegExp.test(str);
}


/**** TWITTER FUNCTIONS ****/
function twitterCallback2(twitters) {
  var statusHTML = [];
  for (var i=0; i<twitters.length; i++){
	var username = twitters[i].user.screen_name;
	var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
	  return '<a href="'+url+'">'+url+'</a>';
	}).replace(/\B@([_a-z0-9]+)/ig, function(reply) {
	  return  reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>';
	});
	
	statusHTML.push('<li>');
	statusHTML.push('<div class="blockContent">');
	statusHTML.push('<span class="headText1">');
	statusHTML.push(status);
	statusHTML.push('</span>');
	statusHTML.push('</div>');
	statusHTML.push('</li>');
	statusHTML.push('<li class="sep1"></li>');
	//statusHTML.push('<li><span>'+status+'</span><a style="font-size:85%" href="http://twitter.com/'+username+'/statuses/'+twitters[i].id+'">'+relative_time(twitters[i].created_at)+'</a></li>');
  }
  document.getElementById('twitter_update_list').innerHTML = statusHTML.join('');
}

function relative_time(time_value) {
  var values = time_value.split(" ");
  time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
  var parsed_date = Date.parse(time_value);
  var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
  var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
  delta = delta + (relative_to.getTimezoneOffset() * 60);

  if (delta < 60) {
	return 'less than a minute ago';
  } else if(delta < 120) {
	return 'about a minute ago';
  } else if(delta < (60*60)) {
	return (parseInt(delta / 60)).toString() + ' minutes ago';
  } else if(delta < (120*60)) {
	return 'about an hour ago';
  } else if(delta < (24*60*60)) {
	return 'about ' + (parseInt(delta / 3600)).toString() + ' hours ago';
  } else if(delta < (48*60*60)) {
	return '1 day ago';
  } else {
	return (parseInt(delta / 86400)).toString() + ' days ago';
  }
}
