var cancelLeft = false;
var cancelRight = false;
var currentImage = 1;
var intMovement = 66;
var intPanelWidth = 486;
var intSpeed = 1;
var intScrollDistance = 66;
var intBrowseContentWidth = 0;
var arrViewing = new Array();
var intArrViewing = -120;
var intItemsPerPage = 120;
var intViewingImages = 120;
/**
 * arrAvailableImages set in main file
 * arrAvailableIds set in main file
 **/

init();

function init() {
	if ( document.getElementById('browse_content')){
		document.getElementById('browse_content').style.left = '0px';
		document.getElementById('browse_content').style.width = ( intViewingImages * intMovement ) + 'px';
		intBrowseContentWidth = Number(document.getElementById('browse_content').style.width.replace('px',''));
	}
}

function changeFriends( intSet ){
	if ( document.getElementById('checkbox['+intSet+'_3]').checked ) {
		document.getElementById('checkbox['+intSet+'_1]').checked = true;
		document.getElementById('checkbox['+intSet+'_2]').checked = true;
	}
}

function changeParent( intSet ){
	document.getElementById('checkbox['+intSet+'_3]').checked = false;
}

function checkAndSubmit( objElement, intSet ){
	if ( !document.getElementById('checkbox['+intSet+'_3]').checked && !document.getElementById('checkbox['+intSet+'_1]').checked && !document.getElementById('checkbox['+intSet+'_2]').checked ){
		alert( 'Please select a season for this collection' );
	} else {
		objElement.parentNode.submit();
	}
}

function sendNextBatchRequest(){
	strId = "";
	for( i = intArrViewing+intItemsPerPage; i < intArrViewing+intItemsPerPage+intItemsPerPage; i++ ){
		if ( i < arrAvailableIds.length ){
			strId+= arrAvailableIds[i]+",";
		} else {
			intViewingImages = i - intArrViewing - intItemsPerPage;
			break;
		}
	}
	if (strId != "" ){
		intArrViewing = intArrViewing+intItemsPerPage;
		document.getElementById('loading').innerHTML = '...Loading next design set, please wait';
		sendRequest( 'ajax/viewImg.php?intOffset='+intArrViewing+'&strImage='+strId, displayNextImages );
	}
}

function displayNextImages(){
	if(http.readyState == 4){
        var response = http.responseText;
        var update = new Array();

        if(response.indexOf('|' != -1)) {
            document.getElementById('browse_content').innerHTML = response;
            init();
			clearLoadingMessage();
			selectImage(intArrViewing+1);
        }
    }
}

function clearLoadingMessage(){
	setTimeout ("document.getElementById('loading').innerHTML = ''", 5000);
}

function sendPreviousBatchRequest(){
	strId = "";
	intViewingImages = 120;
	for( i = intArrViewing-intItemsPerPage; i < intArrViewing; i++ ){
		if ( i >= 0 && i < arrAvailableIds.length ){
			strId+= arrAvailableIds[i]+",";
		} else {
			intViewingImages = i - intArrViewing - intItemsPerPage;
			break;
		}
	}
	if (strId != "" ){
		intArrViewing = intArrViewing-intItemsPerPage;
		if ( intArrViewing < 0 ){
			intArrViewing = 0;
		}
		document.getElementById('loading').innerHTML = '...Loading previous design set, please wait';
		sendRequest( 'ajax/viewImg.php?intOffset='+intArrViewing+'&strImage='+strId, displayPreviousImages );
	}
}

function displayPreviousImages(){
	if(http.readyState == 4){
        var response = http.responseText;
        var update = new Array();

        if(response.indexOf('|' != -1)) {
            document.getElementById('browse_content').innerHTML = response;
            init();
            document.getElementById('browse_content').style.left = -intBrowseContentWidth + intMovement + intPanelWidth + 'px';
			clearLoadingMessage();
			selectImage(intArrViewing+intItemsPerPage);
        }
    }
}

function setArrViewing(){
	i = intArrViewing
	s = 0
	arrTemp = new Array();
	arrTemp2 = new Array();
	for( i = intArrViewing; i < intArrViewing+12; i++ ){
		arrTemp[s] = arrAvailableImages[i];
		arrTemp2[s] = arrAvailableIds[i];
		s++
	}
	for( i = 0; i < arrTemp.length; i++ ){
		alert ( arrTemp[i] + " place "+i);
	}	
}

function browseRight( blnStep ){
	if ( blnStep ){
		intOffset = Number(document.getElementById('browse_content').style.left.replace('px',''));
		intTargetOffset = intOffset-intMovement;
	} else {
		intOffset = Number(document.getElementById('browse_content').style.left.replace('px',''));
		intTargetOffset = intOffset-intPanelWidth - intMovement;
	}
	cancelRight = false;
	cancelLeft = true;
	moveRight(intTargetOffset);
	isRightEnd();
}

function moveRight( intTo ){
	intCurrent = Number(document.getElementById('browse_content').style.left.replace('px',''));	
	if ( intCurrent > intPanelWidth - intBrowseContentWidth + intMovement ) {
		if (( intTo<intCurrent-intMovement ) && !cancelRight ){
			document.getElementById('browse_content').style.left = (intCurrent-intScrollDistance) + 'px';
			setTimeout("moveRight("+intTo+")", intSpeed);
		} else {
			if ( intCurrent%intMovement>intScrollDistance ){
				setTimeout("moveRight("+(intCurrent-intScrollDistance)+")", intSpeed);
			}
		}
	}
}

function browseLeft( blnStep ){
	if ( blnStep ){
		intTarget = Number(document.getElementById('browse_content').style.left.replace('px',''))+intMovement;
	} else {
		intTarget = Number(document.getElementById('browse_content').style.left.replace('px',''))+intPanelWidth;
	}
	cancelRight = true;
	cancelLeft = false;
	moveLeft(intTarget);
	isLeftEnd();
}

function moveLeft( intTo ){
	intCurrent = Number(document.getElementById('browse_content').style.left.replace('px',''))
	if ( intCurrent < 0 ){
		if (( intTo>intCurrent ) && !cancelLeft ){
			document.getElementById('browse_content').style.left = (intCurrent+intScrollDistance) + 'px';
			setTimeout("moveLeft("+intTo+")", intSpeed);
		} else {
			if ( intCurrent%intMovement>intScrollDistance ){
				setTimeout("moveLeft("+(intCurrent+intScrollDistance)+")", intSpeed);
			}
		}
	}
}

function isRightEnd(){
	intCurrent = Number(document.getElementById('browse_content').style.left.replace('px',''));	
	if ( intCurrent <= intPanelWidth - intBrowseContentWidth + intMovement ) {
		sendNextBatchRequest();
	}
}

function isLeftEnd(){
	intCurrent = Number(document.getElementById('browse_content').style.left.replace('px',''))
	if ( intCurrent >= 0 ){
		sendPreviousBatchRequest();
	}
}

var strImageSrc
function selectImage( intImage ){
	document.getElementById('mainViewImage').style.opacity = 0;
	document.getElementById('mainViewImage').style.filter = 'alpha(opacity=40)';
	if ( intImage > 0 && document.getElementById( 'img_'+intImage )){
		currentImage = intImage;
		objImage = document.getElementById( 'img_'+intImage );
		arrElements = getElementsByClassName ( 'img', 'browse b_selected')
		for(i=0;i<arrElements.length;i++){
			arrElements[i].className = 'browse'
		}
		objImage.className = 'browse b_selected';
		strSrc = objImage.src.replace( 'small.jpg', '' );
		strImageSrc = strSrc;
		sendRequest( 'ajax/base.php?strAction=image&strImage='+objImage.name, displayImage );
		document.getElementById( 'imageNumber' ).innerHTML = intImage;
		scrollToImage( intImage );
	} else if ( intImage > 0 && (( intImage % intItemsPerPage ) == 1 )){
		 sendNextBatchRequest();
		scrollToImage( intImage );
	} else if ( intImage > 0 ){
		sendPreviousBatchRequest();
		scrollToImage( intImage );
	}
}

function displayImage(){
	if(http.readyState == 4){
        var response2 = http.responseText;
        var update2 = new Array();
		strImageSrc
        if(response2.indexOf('|' != -1)) {
			e = getElementsByClassName( 'div', 'MagicZoomBigImageCont' );
			f = getElementsByClassName( 'div', 'MagicZoomPup' );
			g = document.getElementById('detail');
			if( response2 != '0' ){
				MagicZoom.update(document.getElementById('zoom'), response2, strImageSrc + 'large.jpg', 'show-title: false');
				for(i=0;i<e.length;i++){
					e[i].style.display = 'block';
					f[i].style.background = '#fff';
					f[i].style.borderWidth = '1';
					f[i].style.cursor = 'move';
					g.style.display = 'block';
				}
			} else {
				MagicZoom.update(document.getElementById('zoom'), strImageSrc + 'large.jpg', strImageSrc + 'large.jpg', 'show-title: false');
				for(i=0;i<e.length;i++){
					e[i].style.display = 'none';
					f[i].style.background = 'transparent';
					f[i].style.borderWidth = '0';
					f[i].style.cursor = 'auto';
					g.style.display = 'none';					
				}
			}
        }
    }
}

function scrollToImage( intImage ){
	stopMove();
	allowMove();
	intLeft = -Number(document.getElementById('browse_content').style.left.replace('px',''));
	intRight = -Number(document.getElementById('browse_content').style.left.replace('px','')) + intPanelWidth + intMovement;
	intShifts = intImage % intItemsPerPage;
	if ( intShifts == 0 ){
		intShifts = 120;
	}
	intImagePosition = intShifts * intMovement;
	if ( intImagePosition > ( intRight )){
		moveRight ( -intImagePosition + intPanelWidth )
	} else if ( intImagePosition < intLeft + ( intMovement )) { 
		moveLeft ( -intImagePosition + ( intMovement ) )
	}
	
}

function getElementsByClassName(stringElementType, stringClassName) {
	d = document.getElementsByTagName(stringElementType);
	j=0;
	var cl = new Array()
	for(i=0;i<d.length;i++){
		if(d[i].className == stringClassName){
			cl[j] = d[i];
			j++
		}
	}
	return cl
}

function stopMove(){
	cancelRight = true;
	cancelLeft = true;	
}

function allowMove(){
	cancelRight = false;
	cancelLeft = false;	
}

function getWidth() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    myWidth = window.innerWidth;
  } else if( document.documentElement &&
      ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    myWidth = document.documentElement.clientWidth;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    myWidth = document.body.clientWidth;
  }
  return ( myWidth );
}


function showThumbNail( e, intImage ){
	intOffset = ( getWidth() - 435 ) / 2;
	intMousePosition = e.clientX; - ((e.clientX ) % intMovement);
	if ( intImage > 0 && document.getElementById( 'img_'+intImage )){
		objImage = document.getElementById( 'img_'+intImage );		
		objElement = document.getElementById( 'hover_img' )
		strSrc = objImage.src.replace( 'small.jpg', '' );
		objElement.src = strSrc +'medium.jpg';
		document.getElementById( 'hover_container' ).style.left = intMousePosition - intOffset + 'px';
		document.getElementById( 'hover_container' ).style.display = 'block';
	}
}

function hideThumbNail(){
	document.getElementById( 'hover_container' ).style.display = 'none';
}

function showLarge( event, intImage ){
	intOffset = -20;
	intMousePosition = event.clientX;
	if ( intImage > 0 && document.getElementById( intImage )){
		objImage = document.getElementById( intImage );		
		objElement = document.getElementById( 'hover_img' )
		strSrc = objImage.src.replace( 'medium.jpg', '' );
		objElement.src = strSrc +'large.jpg';
		document.getElementById( 'hover_container' ).style.left = intMousePosition - intOffset + 'px';
		document.getElementById( 'hover_container' ).style.top = event.clientY - intOffset + 'px';
		document.getElementById( 'hover_container' ).style.display = 'block';
	}
}

function hideLarge(){
	document.getElementById( 'hover_container' ).style.display = 'none';
}

function showLayer ( stringObject ) {
	objElement = document.getElementById( stringObject );
	objElement.style.display = 'block';
}

function enableLayer ( stringObject ){
	objElement = document.getElementById( stringObject );
	if ( objElement.style.color != '#000' ){
		objElement.style.color = '#000';
		d = objElement.getElementsByTagName('input');
		j=0;
		var cl = new Array()
		for(i=0;i<d.length;i++){
			if( d[i].disabled = false ){
				cl[j] = d[i];
				j++
			}
		}
		return cl
	}
}

function disableLayer ( stringObject ){
	objElement = document.getElementById( stringObject );
	if ( objElement.style.color == '#000' ){
		objElement.style.color = '#ccc';
	}
	d = objElement.getElementsByTagName('input');
	e = objElement.getElementsByTagName('li');
	j=0;
	var cl = new Array()
	for(i=0;i<d.length;i++){
		if ( d[i].className != 'search_button' ){
			d[i].disabled = true;
			if ( i<e.length ){
				e[i].style.color = '#ccc';
			}
		}
	}
	return cl
}


function GetSelectedItem() {
	chosen = ""
	len = document.loginForm.requestPass.length

	for (i = 0; i <len; i++) {
		if (document.loginForm.requestPass[i].checked) {
			chosen = document.loginForm.requestPass[i].value
		}
	}

	if (chosen == "") {
		alert("No Location Chosen")
	} else {
		document.getElementById( 'request' ).style.display = 'block';
		if (chosen == "yes") {
			arrElements = getElementsByClassName ( 'p', 'no_request')
			for(i=0;i<arrElements.length;i++){
				arrElements[i].style.display = 'none'
			}
		} else {
			arrElements = getElementsByClassName ( 'p', 'no_request')
			for(i=0;i<arrElements.length;i++){
				arrElements[i].style.display = 'block'
			}
		}
	}
}

function isValidCheckout(){
	strSelected = getSelected();
	if( strSelected.length == 0 ){
		alert("'Please 'select' the designs you wish to purchase.");
		return false;
	}
	return true;
}

function getSelected(){
	arrDel = new Array()
	d = getElementsByClassName( 'input', 'checkbox' );
	for(i=0;i<d.length;i++){
		if(d[i].checked == true){
			arrDel[arrDel.length] = d[i].value;
		}
	}
	strItems = arrDel.join( ',' );
	return strItems;
}

function resizeZoom(){
    var arrZoom = getElementsByClassName( 'div', 'MagicZoomBigImageCont' );
    for(i =0; i<arrZoom.length;i++){
	arrZoom[i].style.height = '280px';
    }
}

//google analytics
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-1746991-10']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

 
