var divs = document.getElementsByTagName('div');
var blockHead = null;
var blockBody = null;
var t = null;
var t2 = null;

var blockArr = new Array();
var currPage = null;
var prevPageName = null;
var pageName = null;

var prevBlock = null;

setBlockIns = function(){
	for(var i=0;i<divs.length;i++){
		if(divs[i].className == "blockIn"){
			blockHead = divs[i].getElementsByTagName('div')[0];
			blockBody = divs[i].getElementsByTagName('div')[1];
			blockTitle = trim2(divs[i].getElementsByTagName('span')[0].innerHTML);
			
			blockHead.myBody = blockBody;
			blockHead.initH = blockBody.offsetHeight;
			blockBody.style.height = blockHead.initH+"px";
			blockHead.myBody.style.height = 0+"px";
			
			blockBody.style.MozOpacity = 1;
			blockBody.style.filter='progid:DXImageTransform.Microsoft.Alpha(Opacity=' + 100 + ')';
			
			
			blockBody.style.MozOpacity = 0;
			blockBody.style.filter='progid:DXImageTransform.Microsoft.Alpha(Opacity=' + 0 + ')';
			blockBody.endA = 0;
			blockBody.myTitle = blockTitle;
			
			blockArr.push(blockHead);
			
			blockHead.onclick = function(){
				clearInterval(document.blockCount);
				if(prevBlock){
					if(prevBlock != this){
						if(prevBlock.myBody.endA != 0){
							prevBlock.myBody.endA = 0;
							adjustH(prevBlock.myBody, prevBlock.initH, 0);
						}
					}
				}
				//alert(this.myBody.myTitle);
				if(this.myBody.endA != 0){
					this.myBody.style.padding = "0px";
					this.myBody.endA = 0;
					adjustH(this.myBody, this.initH, 0);
				}else{
					this.myBody.endA = 100;
					adjustH(this.myBody, 0, this.initH);
				}

				if(prevBlock != this){
					prevPageName = this.myBody.myTitle;
					prevBlock = this;
				}
			}
		}
	}
}
expandMe = function(){
	currPage = window.location+"";
	if(currPage.indexOf("#",0) != -1){
		pageName = currPage.substring(currPage.indexOf("#",0)+1,currPage.length);
	}else{
		var i2 = 0;
		var tot = blockArr.length;
		document.blockCount = window.setInterval(function () {
			blockArr[i2].onclick();
			if(i2<(tot-1)){
				i2++;	
			}else{
				i2 = 0;	
			}
		},10000);
	}
	
	
	for(i=0;i<blockArr.length;i++){
		if(blockArr[i].myBody.myTitle == pageName && prevPageName != pageName){
			blockArr[i].onclick();
			scrollHere2(blockArr[i]);
			i = blockArr.length;
		}
		
	}
	prevPageName = pageName;
}
expandMe2 = function(name){
	currPage = name+"";
	if(currPage.indexOf("#",0) != -1){
		pageName = currPage.substring(currPage.indexOf("#",0)+1,currPage.length);
	}
	
	//scrollHere(pageName+"2");
	
	
	name = pageName+"";
	for(i=0;i<blockArr.length;i++){
		if(blockArr[i].myBody.myTitle == name && prevPageName != name){
			if(blockArr[i].myBody.endA == 0){
				blockArr[i].onclick();
				scrollHere2(blockArr[i]);
			}
		}else if(blockArr[i].myBody.myTitle == prevPageName && prevPageName != name){
			if(blockArr[i].myBody.endA == 100){
				blockArr[i].onclick();
			}
		}
	}
}

function trim(str){
   return str.replace(/^\s+|\s+$/g,'');
}
function trim2(str){
  str = str.replace(/^\s+|\s+$/g,'');
  return str.replace(/ /g, '');
}
/*
window.onreset = function(){
	alert("das");	
}
*/
window.onscroll = function(){
	//expandMe();	
}
scrollHere = function(target){
	target  = document.getElementsByName(target);
	
	clearInterval(document.scrollT);
	document.scrollT = window.setInterval(function () {	
		document.documentElement.scrollTop -= (document.documentElement.scrollTop - findPosY(target[0]))/5;
	},50);
		
	document.scrollT2 = window.setTimeout(function () {
		clearInterval(document.scrollT);
		clearTimeout(document.scrollT2);
	},500);

	return false;
}
scrollHere2 = function(target){	
	clearInterval(document.scrollT);
	document.scrollT = window.setInterval(function () {	
		document.documentElement.scrollTop -= (document.documentElement.scrollTop - findPosY(target))/5;
	},50);
		
	document.scrollT2 = window.setTimeout(function () {
		clearInterval(document.scrollT);
		clearTimeout(document.scrollT2);
	},500);

	return false;
}
scrollHere3 = function(num){	
	clearInterval(document.scrollT);
	document.scrollT = window.setInterval(function () {	
		document.documentElement.scrollTop -= (document.documentElement.scrollTop - num)/1.5;
	},50);
		
	document.scrollT2 = window.setTimeout(function () {
		clearInterval(document.scrollT);
		clearTimeout(document.scrollT2);
	},500);

	return false;
}
function findPosY(obj){
    var curtop = 0;
    if(obj.offsetParent){
		while(1){
			curtop += obj.offsetTop;
			if(!obj.offsetParent){
				break;
			}			
			obj = obj.offsetParent;
		}
	}else if(obj.y){
        curtop += obj.y;
	}
    return curtop;
}
window.onscroll = function(){
	/*
	clearInterval(document.scrollT);
	clearTimeout(document.scrollT2);
	*/
}

window.onload = function(){
	setBlockIns();
	expandMe();
	setPortThumbs();
	setPortImgs();
}
setPortImgs = function(){
	var numBox = document.getElementById('numBox');
	var currFolder = numBox.getAttribute('folder');
	var myImg = document.getElementById('portBigImgCont');
	var lis = numBox.getElementsByTagName('li')
	myImg.style.top = "0px";
	var currImg = lis[0];
	currImg.className = "listActive";
	var imgDesc = document.getElementById('portImgDesc');
	var imgText = document.getElementById('portImgText');
	imgText.innerHTML = imgDescs[0];
	for(i=0;i<lis.length;i++){
		
		lis[i].num = i;
		
		lis[i].onclick = function(){
			if(this != currImg){
				this.className = "listActive";
				currImg.className = "";
				currImg = this;
				
				
				var iniY = myImg.style.top.substr(0,myImg.style.top.length-2);
				var endY = this.num * (-279);
				
				myImg.style.MozOpacity = .5;
				myImg.style.filter='progid:DXImageTransform.Microsoft.Alpha(Opacity=' + (myImg.style.MozOpacity*100) + ')';
				adjustY(myImg,iniY,endY);
				adjustA(myImg,100,100);
				
				imgText.innerHTML = imgDescs[this.num];
				
				imgDesc.style.MozOpacity = 0;
				imgDesc.style.filter='progid:DXImageTransform.Microsoft.Alpha(Opacity=' + (imgDesc.style.MozOpacity*100) + ')';
				adjustA(imgDesc,100,80);
			}
		}
	}
}
adjustY = function(tar, ini, end){
	clearInterval(tar.t3);
	clearTimeout(tar.t4);
	tar.t3 = window.setInterval(function () {
		ini -= (ini - end)/3;
		tar.style.top = ini+"px";
	},50);
	
	tar.t4 = window.setTimeout(function(){
		clearInterval(tar.t3);
		clearTimeout(tar.t4);
	},2000);	
}
setPortThumbs = function(){
	var divs = document.getElementsByTagName('div');
	var id = 1;
	for(i=0;i<divs.length;i++){
		if(divs[i].className == "portThumbCont2"){
			divs[i].style.MozOpacity = 0/100;
			divs[i].style.filter='progid:DXImageTransform.Microsoft.Alpha(Opacity=' + (divs[0].style.MozOpacity*100) + ')';
			divs[i].myId = id;
			adjustA(divs[i], 0, 50);
			divs[i].onclick = function(){
				window.location = "portfolioView.php?id="+this.myId;
			}
			divs[i].onmouseover = function(){
				/*
				this.style.MozOpacity = 0/100;
				this.style.filter='progid:DXImageTransform.Microsoft.Alpha(Opacity=' + (divs[0].style.MozOpacity*100) + ')';
				*/
				adjustA(this, 0, 100);
			}
			divs[i].onmouseout = function(){
				adjustA(this, 0, 30);
			}
			id++;
		}	
	}
	//alert("fsd");
}

adjustA = function(tar, ini, end){
	clearInterval(tar.t);
	clearTimeout(tar.t2);
	tar.t = window.setInterval(function () {
		tar.style.MozOpacity -= (tar.style.MozOpacity - (end/100))/3;
		tar.style.filter='progid:DXImageTransform.Microsoft.Alpha(Opacity=' + (tar.style.MozOpacity*100) + ')';
	},50);
	
	tar.t2 = window.setTimeout(function(){
		clearInterval(tar.t);
		clearTimeout(tar.t2);
	},1000);
}
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);
	/*
	myPage.t2 = window.setTimeout(function () {
		clearInterval(myPage.t);
		clearTimeout(myPage.t2);
	},1000);
	*/
}

/*** EMAIL ***/
checkForm = function(){
	with(window.document.contactForm){
		if(trim(company.value) == ""){
			alert("Please enter your Company Name");
			company.focus();
			return false;
		}else if(!isWordNumber(trim(company.value))){
			alert("Invalid Company Name");
			company.focus();
			return false;
		}else if(trim(name.value) == ""){
			alert("Please enter your Name");
			name.focus();
			return false;
		}else if(!isWord(trim(name.value))){
			alert("Invalid Name");
			name.focus();
			return false;
		}else if(trim(email.value) == ""){
			alert("Please enter your Email Address");
			email.focus();
			return false;
		}else if(!isEmail(trim(email.value))){
			alert("Invalid Email Format");
			email.focus();
			return false;
		}else if(!isNumber(trim(phone.value))){
			alert("Invalid Phone Number");
			phone.focus();
			return false;
		}else{
			window.document.contactForm.submit();
			return true;
			
		}
	}
}
checkForm2 = function(){
	with(window.document.analysisForm){
		if(trim(company.value) == ""){
			alert("Please enter your Company Name");
			company.focus();
			return false;
		}else if(!isWordNumber(trim(company.value))){
			alert("Invalid Company Name");
			company.focus();
			return false;
		}else if(trim(name.value) == ""){
			alert("Please enter your Name");
			name.focus();
			return false;
		}else if(!isWord(trim(name.value))){
			alert("Invalid Name");
			name.focus();
			return false;
		}else if(trim(title.value) == ""){
			alert("Please enter your Title");
			title.focus();
			return false;
		}else if(!isWord(trim(title.value))){
			alert("Invalid Title Name");
			title.focus();
			return false;
		}else if(trim(email.value) == ""){
			alert("Please enter your Email Address");
			email.focus();
			return false;
		}else if(!isEmail(trim(email.value))){
			alert("Invalid Email Format");
			email.focus();
			return false;
		}else if(!isNumber(trim(phone.value))){
			alert("Invalid Phone Number");
			phone.focus();
			return false;
		}else if(trim(url.value) == ""){
			alert("Please enter your Website URL");
			url.focus();
			return false;
		}else if(!isURL(trim(url.value))){
			alert("Invalid Website URL Format");
			url.focus();
			return false;
		}else{
			window.document.analysisForm.submit();
			return true;
			
		}
	}
}

checkForm3 = function(){
	var myForm = document.forms.analysisForm;
	var myField = null;
	var isValid = true;
	var fieldName = new Array("company", 
							  "fname", 
							  "lname", 
							  "title", 
							  "email", 
							  "phone",
							  "url",
							  "compurl1",
							  "compurl2");
	
	fieldName["company"] = "Invalid Company Name";
	fieldName["fname"] = "Invalid First Name";
	fieldName["lname"] = "Invalid Last Name";
	fieldName["title"] = "Invalid Title";
	fieldName["email"] = "Invalid Email Format";
	fieldName["phone"] = "Invalid Phone Number Format";
	fieldName["url"] = "Invalid URL Format";
	fieldName["compurl1"] = fieldName["url"];
	fieldName["compurl2"] = fieldName["url"];
	
	for(var i=0;i<myForm.length;i++){
		switch(myForm[i].name){
			case "fname":
			case "lname":
			case "title":
			case "company":
			case "email":
			case "phone":
			case "url":
			case "compurl1":
			case "compurl2":
				if(myForm[i].type == "text"){
					if(trim(myForm[i].value) == ""){
						isValid = false;
						alert("Please fill out all the fields");
						myField = myForm[i];
						i = myForm.length;
					}
				}
				if(i != myForm.length){
					switch(myForm[i].name){
						case "company":
							if(!isWordNumber(trim(myForm[i].value))){
								isValid = false;
							}
							break;
						case "fname":
						case "lname":
						case "title":
							if(!isWord(trim(myForm[i].value))){
								isValid = false;
							}
							break;
						case "email":
							if(!isEmail(trim(myForm[i].value))){
								isValid = false;
							}
							break;
						case "phone":
							if(!isNumber(trim(myForm[i].value))){
								isValid = false;
							}
							break;
						case "url":
						case "compurl1":
						case "compurl2":
							if(!isURL(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 = "normText1 textBox";
	}
	
	if(isValid){
		myForm.submit();
		return true;
	}else{
		myField.className = "normText1 textBoxError";
		myField.focus();
		return false;
	}
}

isNumber = function(str){
	var objRegExp = /^[0-9]+$/;
	
	return objRegExp.test(str);
}
isWordNumber = function(str){
	var objRegExp = /^[a-zA-Z0-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);
}
isURL = function(str){
	var objRegExp = /(^www.([a-zA-Z0-9]*).([a-z])*$)/i;
	
	return objRegExp.test(str);
}

isWord = function(str){
	var objRegExp = /^[a-zA-Z ]+$/;
	
	return objRegExp.test(str);
}


