/*
-	Utils for Greenfield Website
-	German Galvis@Zemoga'07
*/
//load news in homepage
function loadNews(container,haveAttachment)
{	var liTag,aTag,aContent,spanTag,imgTag,aTagInfo,pTag,strongTag;
	//clean the container childs
	$(container).innerHTML="";
	if( typeof irxmlnewsreleases != 'undefined' && irxmlnewsreleases.length > 0 ){
		for( var i=0; i<irxmlnewsreleases.length; i++ ){
			newsrelease = irxmlnewsreleases[i];
		 	//creation of the DOM elems
			if(!haveAttachment)
			{	liTag=newElemDOM('li');
				aTag=newElemDOM('a',irxmlfunctions.formatDate(newsrelease.releasedate, 'M/dd/yyyy')+' - '+newsrelease.title,
				[	['href','http://ir.greenfield.com/releasedetail.cfm?ReleaseID=' + newsrelease.releaseid ],
					['target','_blank']
				]);
				spanTag=newElemDOM('span','info');
				//hierarchy assign
				aTag.appendChild(spanTag);
				liTag.appendChild(aTag);
			}else
			{	liTag=newElemDOM('li');
				imgTag=newElemDOM('img','',[['src','../assets/images/pdf_small.gif']]);
				pTag=newElemDOM('p','');
				strongTag=newElemDOM('strong',irxmlfunctions.formatDate(newsrelease.releasedate, 'dddd, MMMM dd, yyyy'));
				aTag=newElemDOM('a','download',
				[	['id','tmpDownload'],
				 	['class','download_btn left'],
				 	['href','http://ir.greenfield.com/common/download/download.cfm?companyid=SRVY&fileid='+newsrelease.attachmentfileid+'&filekey='+newsrelease.attachmentfilekey+'&filename='+newsrelease.attachmentfilename]
				]);
				aTagInfo=newElemDOM('a','info',
				[	['id','tmpInfo'],
				 	['class','more_info left'],
				 	['href','http://ir.greenfield.com/releasedetail.cfm?ReleaseID=' + newsrelease.releaseid ]
				]);
				
				//hierarchy assign
				pTag.appendChild(strongTag);
				spanTag=document.createTextNode(newsrelease.title);
				pTag.appendChild(spanTag);
				pTag.appendChild(aTag);
				pTag.appendChild(aTagInfo);
				liTag.appendChild(imgTag);
				liTag.appendChild(pTag);
			}
			$(container).appendChild(liTag);
			if(haveAttachment)
			{	obj=$('tmpDownload');
				obj.className='download_btn left';
				obj.id=null;
				obj=$('tmpInfo');
				obj.className='more_info left';
				obj.id=null;
			}
			//test object
			//testObj(newsrelease);
		}
	}
}

//generic func to get object attribs
function testObj(obj)
{	var attribs="";
	for (var i in obj)
	{	attribs+=i+":"+obj[i]+";\n";
	}
	alert(attribs);
}

//key staff objects
function elemKeyStaff(infoWrapper,index,isHome)
{	var thumbnail=newElemDOM('li');
	if(!isHome)
	{	var staffImg=newElemDOM('img','',[['src',infoWrapper.staffImg]]);
	}
	var staffLink=newElemDOM('a','',[['href','key_staff.html#'+(parseInt(index)+1)],['class','staffItems']]);
	var staffName=newElemDOM('h5',infoWrapper.staffName);
	var staffJob=newElemDOM('p',((!isHome)?infoWrapper.staffJob:infoWrapper.staffJob.substring(0,20)+'...'));
	if(!isHome)
	{	staffLink.appendChild(staffImg);
	}
	staffLink.appendChild(staffName);
	staffLink.appendChild(staffJob);
	thumbnail.appendChild(staffLink);
	return thumbnail;
}
//Generic DOM element creator
function newElemDOM(type,text,attribs)
{	var elem=document.createElement(type);
	var content;
	if(text)
	{	if(text.length>0)
		{	content=document.createTextNode(text);
			elem.appendChild(content);
		}
	}
	if(attribs)
	{	for(var i=0;i<attribs.length;i++)
		{	elem.setAttribute(attribs[i][0],attribs[i][1]);
		}
	}
	return elem;
}

//make visible or not HTML elements
function visibleElem(obj,visible)
{
    var elem,index;
	try{
		elem=$(obj);
		index=elem.className.indexOf(" hidden");
		if(visible){	
		    if(index>0){
		        elem.className=elem.className.substring(0,index+1);
			}
		}else{
		    if(index<0){
		        elem.className=elem.className+" hidden";
			}
		}
	}catch(e){	
	    window.status=obj;
	}
}

//Load keystaff scroller
function loadKeystaff(containerId,indexStaffId,delta)
{	var container=$(containerId);
	var initPos=parseInt($(indexStaffId).value);
	var first=new Object();
	var last=new Object();
	var limit;
	var isHome=true;
	if(!delta)
	{	delta=3;
		isHome=false;
	}
	initPos=(!initPos)?0:initPos;
	limit=((initPos+delta)>keystaff.length)?keystaff.length:initPos+delta;
	first=container.firstChild;
	last=container.lastChild;
	container.innerHTML="";
	container.appendChild(first);
	for(var i=initPos;i<limit;i++)
	{	container.appendChild(elemKeyStaff(keystaff[i],i,isHome));
	}
	container.appendChild(last);
//visibility patch
	$('first').style.visibility="visible";
	$('last').style.visibility="visible";
	if(initPos==0)
	{	$('first').style.visibility="hidden";
	}else if(initPos==((parseInt(keystaff.length/delta)-1)*delta))
	{	$('last').style.visibility="hidden";
	}
}

function previousStaff(indexStaffId,elemBack,elemNext,delta)
{	var initPos=$(indexStaffId);
	if(!delta)
	{	delta=3;
	}
	initPos.value=((parseInt(initPos.value)-delta)<0)?0:parseInt(initPos.value)-delta;
}

function nextStaff(indexStaffId,elemBack,elemNext,delta)
{	var initPos=$(indexStaffId);
	elemBack.style.visibility="";
	elemNext
	if(!delta)
	{	delta=3;
	}
	initPos.value=((parseInt(initPos.value)+delta)>(parseInt(keystaff.length/delta)))?parseInt(initPos.value)+delta:parseInt(keystaff.length/delta);
}

//from global.js
// JavaScript Document

function put_opcselected (opc) {
    var marginL = '';
    switch(opc) {
        case 1: {
            marginL = '188px';
            break;
        }   
        case 2: {
            marginL = '275px';
            break;
        }   
        case 3: {
            marginL = '341px';
            break;
        }   
        case 4: {
            marginL = '390px';
            break;
        }   
        case 5: {
            marginL = '478px';
            break;
        }   
        case 6: {
            marginL = '603px';
            break;
        }   
        case 7: {
            marginL = '703px';
            break;
        }   
    }
    document.getElementById('opc_selected').style.left=marginL;
} 


function fix_bottom_align(idContainer, padding) {
	obj = document.getElementById(idContainer);
	objSpan = obj.getElementsByTagName('p')[0];
	objSpan.style.paddingTop = (obj.offsetHeight - (objSpan.offsetHeight - padding)) + 'px';
}


//global vars
var keystaff=new Array();




//Functions for the scroll images
function getObj(objName) {
    if (document.getElementById) {
	    return document.getElementById(objName);
	}
    else if (document.all) {
	    return document.all[objName];
	}
    else if (document.layers) {
	    return document.layers[objName];
	}
}

function goPrev() { 
    currPos-=iOffset; loadSlider(currPos); 
}

function goNext() { 
    currPos+=iOffset; loadSlider(currPos); 
}

function goPrevKeyStaff(sLoc) { 
    currPos-=iOffset; loadSliderKeyStaff(currPos, sLoc); 
}

function goNextKeyStaff(sLoc) { 
    currPos+=iOffset; loadSliderKeyStaff(currPos, sLoc); 
}