var arrNews	= new Array();
var xmlHttp;

function winPop(pageToLoad, winName, width, height, center, scroll, control)
{
    xposition=0; yposition=0;
    if ((parseInt(navigator.appVersion) >= 4 ) && (center))
    {
        xposition = (screen.width - width) / 2;
        yposition = (screen.height - height) / 2;
    }
    args = "width=" + width + ","
    + "height=" + height + ","
    + "location=0,"
    + "menubar=0,"
    + "resizable=" + control + ","
    + "scrollbars="+scroll+", "
    + "status=1,"
    + "titlebar=0,"
    + "toolbar=0,"
    + "hotkeys=0,"
    + "screenx=" + xposition + ","  //NN Only
    + "screeny=" + yposition + ","  //NN Only
    + "left=" + xposition + ","     //IE Only
    + "top=" + yposition;           //IE Only

    window.open(pageToLoad,winName,args );
}

function AJAXConnect(pURL, pFunc)
{ 
	xmlHttp = GetXmlHttpObject();
	var sTemp = "";
	if (xmlHttp == null)
	{
		alert ("Your browser does not support AJAX!");
		return;
	} 
	
	switch (pFunc)
	{
		case "validateCaptcha":
			xmlHttp.onreadystatechange = stateChangedCaptcha;
			break;
	}
	
	xmlHttp.open("POST", pURL, true);
	xmlHttp.send(null);
}

function stateChangedCaptcha() 
{ 
	if (xmlHttp.readyState == 4)
	{ 
		alert(xmlHttp.responseText);
	}
}

function GetXmlHttpObject()
{
	var xmlHttp = null;
	try
	{
		// Firefox, Opera 8.0+, Safari
		xmlHttp = new XMLHttpRequest();
	}
		catch (e)
	{
		// Internet Explorer
		try
		{
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}

function ValidateEnquiry(pForm)
{
	var bValid = true;
	pForm.challenge.value = Recaptcha.get_challenge();
	pForm.response.value = Recaptcha.get_response();

	if ((bValid) && (pForm.Name.value == ''))
	{
		alert('You must enter your Full Name.');
		bValid = false;
	}

	if ((bValid) && (pForm.Company.value == ''))
	{
		alert('You must enter your Company Name.');
		bValid = false;
	}	
	
	if ((bValid) && (pForm.Telephone.value == ''))
	{
		alert('You must enter your Telephone Number.');
		bValid = false;
	}	
	
	if ((bValid) && (pForm.Email.value == ''))
	{
		alert('You must enter your Email Address.');
		bValid = false;
	}	
	
	if ((bValid) && (pForm.City.value == ''))
	{
		alert('You must enter your City.');
		bValid = false;
	}	
	
	if ((bValid) && (pForm.County.value == ''))
	{
		alert('You must enter your County.');
		bValid = false;
	}		
	
	if ((bValid) && (pForm.Message.value == ''))
	{
		alert('You must enter your Message.');
		bValid = false;
	}

	return bValid;	
}

function ValidatePageForm(pForm)
{
	var bValid = true;

	if ((bValid) && (pForm.PageTitle.value == ''))
	{
		alert('Page Title cannot be left blank.');
		bValid = false;
	}

	if ((bValid) && (pForm.PageContent.value == ''))
	{
		alert('Page Content cannot be left blank.');
		bValid = false;
	}	
	
	return bValid;	
}

function ValidateCSForm(pForm)
{
	var bValid = true;

	if ((bValid) && (pForm.CasestudyTitle.value == ''))
	{
		alert('Casestudy Title cannot be left blank.');
		bValid = false;
	}

	return bValid;	
}

function ValidateExistingCasestudyForm(pForm)
{
	var bValid = true;

	if ((bValid) && (pForm.CasestudyID.value == ''))
	{
		alert('You must select a casestudy to add.');
		bValid = false;
	}

	return bValid;	
}

function Left(pString, pLength)
{
	if (pLength <= 0)
	{
	    return "";
	}
	else if (pLength > String(pString).length)
	{
	    return pString;
	}
	else
	{
	    return String(pString).substring(0,pLength);
	}
}

function Right(pString, pLength)
{
    if (pLength <= 0)
    {
		return "";
	}
    else if (pLength > String(pString).length)
    {
    	return pString;
    }
    else 
    {
       var iStringLength = String(pString).length;
       return String(pString).substring(iStringLength, iStringLength - pLength);
    }
}

/*********************************************************/
/******************** TypeWriter Text ********************/
/*********************************************************/

var iDelay			= 40;
var iCurrentChar	= 1;
var iCurrentStory	= 1;
var bFlickOn		= true;
var iStoryCount		= 0;

function TypeNews()
{
	if ((document.getElementById) && (arrNews.length > 0))
	{
		var sText		= arrNews[iCurrentStory - 1].toString();

		oDiv = document.getElementById('news-content');
		
		if (bFlickOn)
		{
			oDiv.innerHTML = sText.substr(0, iCurrentChar) + '_';
			
			bFlickOn 		= false;
			iCurrentChar++;
		}
		else
		{
			oDiv.innerHTML = oDiv.innerHTML.substr(0, oDiv.innerHTML.length - 1);
			bFlickOn 		= true;
		}

		// if we come to the end of the text
		if (iCurrentChar > sText.length)
		{
			oDiv.innerHTML = oDiv.innerHTML.substr(0, oDiv.innerHTML.length - 1);
			iCurrentChar 	= 1;			
			if (iCurrentStory == iStoryCount)
			{
				iCurrentStory = 1;	
			}
			else
			{
				iCurrentStory++;
			}
			setTimeout("TypeNews()", 3000);
		}
		else
		{
			setTimeout("TypeNews()", iDelay);
		}
	}
}

function OutputNews(pItemCount)
{
	if (pItemCount > arrNews.length)
		iStoryCount = arrNews.length;	
	else
		iStoryCount = pItemCount;
	TypeNews();
}

/*********************************************************/
/********************* Image Fading **********************/
/*********************************************************/

var arrImages = new Array();
var arrImages2 = new Array();
var arrImages3 = new Array();
var arrImages4 = new Array();
var arrImages5 = new Array();
var arrImages6 = new Array();
var arrImages7 = new Array();
var arrImages8 = new Array();

arrImages[0] = new Image();
arrImages[0].src = 'images/palaces1.jpg'
arrImages[1] = new Image();
arrImages[1].src = 'images/palaces2.jpg'
arrImages[2] = new Image();
arrImages[2].src = 'images/palaces3.jpg'
arrImages[3] = new Image();
arrImages[3].src = 'images/palaces4.jpg'

arrImages2[0] = new Image();
arrImages2[0].src = 'images/public1.jpg'
arrImages2[1] = new Image();
arrImages2[1].src = 'images/public2.jpg'
arrImages2[2] = new Image();
arrImages2[2].src = 'images/public3.jpg'
arrImages2[3] = new Image();
arrImages2[3].src = 'images/public4.jpg'

arrImages3[0] = new Image();
arrImages3[0].src = 'images/private1.jpg'
arrImages3[1] = new Image();
arrImages3[1].src = 'images/private2.jpg'
arrImages3[2] = new Image();
arrImages3[2].src = 'images/private3.jpg'
arrImages3[3] = new Image();
arrImages3[3].src = 'images/private4.jpg'

arrImages4[0] = new Image();
arrImages4[0].src = 'images/social1.jpg'
arrImages4[1] = new Image();
arrImages4[1].src = 'images/social2.jpg'
arrImages4[2] = new Image();
arrImages4[2].src = 'images/social3.jpg'
arrImages4[3] = new Image();
arrImages4[3].src = 'images/social4.jpg'

arrImages5[0] = new Image();
arrImages5[0].src = 'images/special1.jpg'
arrImages5[1] = new Image();
arrImages5[1].src = 'images/special2.jpg'
arrImages5[2] = new Image();
arrImages5[2].src = 'images/special3.jpg'
arrImages5[3] = new Image();
arrImages5[3].src = 'images/special4.jpg'

arrImages6[0] = new Image();
arrImages6[0].src = 'images/decoration1.jpg'
arrImages6[1] = new Image();
arrImages6[1].src = 'images/decoration2.jpg'
arrImages6[2] = new Image();
arrImages6[2].src = 'images/decoration3.jpg'
arrImages6[3] = new Image();
arrImages6[3].src = 'images/decoration4.jpg'

arrImages7[0] = new Image();
arrImages7[0].src = 'images/maintenance1.jpg'
arrImages7[1] = new Image();
arrImages7[1].src = 'images/maintenance2.jpg'
arrImages7[2] = new Image();
arrImages7[2].src = 'images/maintenance3.jpg'
arrImages7[3] = new Image();
arrImages7[3].src = 'images/maintenance4.jpg'

arrImages8[0] = new Image();
arrImages8[0].src = 'images/mande1.jpg'
arrImages8[1] = new Image();
arrImages8[1].src = 'images/mande2.jpg'
arrImages8[2] = new Image();
arrImages8[2].src = 'images/mande3.jpg'
arrImages8[3] = new Image();
arrImages8[3].src = 'images/mande4.jpg'

var iNoOfImages = 0;
var iCurrentImageNo = 0;
var iCurrentImageNo2 = 0;
var iCurrentImageNo3 = 0;
var iCurrentImageNo4 = 0;
var iCurrentImageNo5 = 0;
var iCurrentImageNo6 = 0;
var iCurrentImageNo7 = 0;
var iCurrentImageNo8 = 0;
var iCurrentImageBlock = 1;

function GetNextImage1()
{	
	iNoOfImages = arrImages.length;
	
	if (iCurrentImageNo < (iNoOfImages-1))
		iCurrentImageNo = iCurrentImageNo + 1;
	else
		iCurrentImageNo = 0;
		
	document.getElementById('fade-image1').src = arrImages[iCurrentImageNo].src;		
}

function GetNextImage2()
{	
	iNoOfImages = arrImages2.length;
	
	if (iCurrentImageNo2 < (iNoOfImages-1))
		iCurrentImageNo2 = iCurrentImageNo2 + 1;
	else
		iCurrentImageNo2 = 0;
		
	document.getElementById('fade-image2').src = arrImages2[iCurrentImageNo2].src;		
}

function GetNextImage3()
{
	iNoOfImages = arrImages3.length;

	if (iCurrentImageNo3 < (iNoOfImages-1))
		iCurrentImageNo3 = iCurrentImageNo3 + 1;
	else
		iCurrentImageNo3 = 0;
		
	document.getElementById('fade-image3').src = arrImages3[iCurrentImageNo3].src;		
}

function GetNextImage4()
{
	iNoOfImages = arrImages4.length;
	
	if (iCurrentImageNo4 < (iNoOfImages-1))
		iCurrentImageNo4 = iCurrentImageNo4 + 1;
	else
		iCurrentImageNo4 = 0;
		
	document.getElementById('fade-image4').src = arrImages4[iCurrentImageNo4].src;		
}

function GetNextImage5()
{	
	iNoOfImages = arrImages5.length;
	
	if (iCurrentImageNo5 < (iNoOfImages-1))
		iCurrentImageNo5 = iCurrentImageNo5 + 1;
	else
		iCurrentImageNo5 = 0;
		
	document.getElementById('fade-image5').src = arrImages5[iCurrentImageNo5].src;		
}

function GetNextImage6()
{	
	iNoOfImages = arrImages6.length;
	
	if (iCurrentImageNo6 < (iNoOfImages-1))
		iCurrentImageNo6 = iCurrentImageNo6 + 1;
	else
		iCurrentImageNo6 = 0;
		
	document.getElementById('fade-image6').src = arrImages6[iCurrentImageNo6].src;		
}

function GetNextImage7()
{	
	iNoOfImages = arrImages7.length;
	
	if (iCurrentImageNo7 < (iNoOfImages-1))
		iCurrentImageNo7 = iCurrentImageNo7 + 1;
	else
		iCurrentImageNo7 = 0;
		
	document.getElementById('fade-image7').src = arrImages7[iCurrentImageNo7].src;		
}


function GetNextImage8()
{	
	iNoOfImages = arrImages8.length;
	
	if (iCurrentImageNo8 < (iNoOfImages-1))
		iCurrentImageNo8 = iCurrentImageNo8 + 1;
	else
		iCurrentImageNo8 = 0;
		
	document.getElementById('fade-image8').src = arrImages8[iCurrentImageNo8].src;		
}

function opacity(pID, opacStart, opacEnd, millisec) 
{ 
    //speed for each frame 
    var speed = Math.round(millisec / 100); 
    var timer = 0; 

    //determine the direction for the blending, if start and end are the same nothing happens 
    if (opacStart > opacEnd) 
    { 
        for(ii = opacStart; ii >= opacEnd; ii--) 
        { 
            setTimeout("changeOpacDown(" + ii + ",'" + pID + "')",(timer * speed)); 
            timer++; 
        } 
    } 
    else if (opacStart < opacEnd) 
    { 
        for (ii = opacStart; ii <= opacEnd; ii++) 
            { 
            setTimeout("changeOpacUp(" + ii + ",'" + pID + "')",(timer * speed)); 
            timer++; 
        } 
	}     
} 

function changeOpacUp (popacity, id) 
{ 
    var sNewID = id;
    
    if (popacity == 100)
    {
		iCurrentImageBlock++; 
		sNewID = id.substring(0,id.length-1) + iCurrentImageBlock.toString();
		
		opacity(sNewID, 100, 0, 2000);
    }
    changeOpac(popacity, sNewID);
}

function changeOpacDown(popacity, id) 
{
    if (popacity == 0)
    {
		switch (iCurrentImageBlock)	
		{
			case 1:
				GetNextImage1();
				break;			
			case 2:
				GetNextImage2();
				break;
			case 3:
				GetNextImage3();
				break;
			case 4:
				GetNextImage4();
				break;
			case 5:
				GetNextImage5();
				break;
			case 6:
				GetNextImage6();
				break;				
			case 7:
				GetNextImage7();
				break;	
			case 8:
				GetNextImage8();
				iCurrentImageBlock = 0;
				break;					
		}     
		opacity(id, 0, 100, 2000);
    }
	changeOpac(popacity, id); 
}

//change the opacity for different browsers 
function changeOpac(opacity, id) { 
    var object = document.getElementById(id).style; 
    object.opacity = (opacity / 100); 
    object.MozOpacity = (opacity / 100); 
    object.KhtmlOpacity = (opacity / 100); 
    object.filter = "alpha(opacity=" + opacity + ")"; 
} 