///<reference path="jquery.intellisense.js"/>
var modalizer;
var flashObject;

//DOM Ready
jQuery(document).ready(function() {
	positionSite();

	addGenericEvents();

	jQuery(window).resize(function() {
		positionSite();
	});

	addFlash();

	setSelectedPage(window.location.pathname);
});

function setSelectedPage(path) {
	path = path.replace('/', '');

	switch (path.toLowerCase()) {
		case "default.aspx":
			jQuery('#homeButton,#homeButtonBottom').addClass('selected');
			break;
		case "information.aspx":
			jQuery('#informationButton,#informationButtonBottom').addClass('selected');
			break;
		case "products.aspx":
			jQuery('#productsButton, #productsButtonBottom').addClass('selected');
			break;
		case "gallery.aspx":
			jQuery('#galleryButton,#galleryButtonBottom').addClass('selected');
			break;
		case "dealers.aspx":
		case "dealershome.aspx":
			jQuery('#dealersButton,#dealersButtonBottom').addClass('selected');
			break;
		case "contactus.aspx":
			jQuery('#contactusButton,#contactusButtonBottom').addClass('selected');
			break;			
		default:
			break;
	}
}

function addFlash() {
	jQuery('#flashcontent1').flash(
    {
    	src: 'Styles/Flash/textAnimation3S2.swf',
    	width: 463,
    	height: 217,
    	wmode: "transparent"
    });
}

function addGenericEvents() {
	jQuery('#informationButton,#informationButtonBottom').click(function() {
		document.location = "information.aspx";
	});

	jQuery('#homeButton,#homeButtonBottom').click(function() {
		document.location = "Default.aspx";
	});

	jQuery('#contactusButton,#contactusButtonBottom').click(function() {
		document.location = "ContactUs.aspx";
	});

	jQuery('#productsButton,#productsButtonBottom').click(function() {
		document.location = "Products.aspx";
	});

	jQuery('#galleryButton,#galleryButtonBottom').click(function() {
		document.location = "Gallery.aspx";
	});

	jQuery('#dealersButton,#dealersButtonBottom').click(function() {
		document.location = "Dealers.aspx";
	});

	jQuery('#nupowerLogo').click(function() {
		document.location = "Default.aspx";
	});

	jQuery('#stickySendButton').click(function() {
		showModalizer({ showLoader: false, fullScreen: true });

		var name = jQuery('#stickyFullName').val();
		var email = jQuery('#stickyEmailAddress').val();
		var area = jQuery('#stickyArea').val();
		var message = jQuery('#stickyMessage').val();
		var tel = jQuery('#stickyTelNumber').val();

		if ((name) && (email) && (area) && (message) && (tel)) {
			setTimeout(function() {
				submitRequestForm();
			}, 50);
		} else {
			var options = new Object();
			//options.message = "Please fill complete all the fields.";
			options.content = "Please complete all the fields.";
			options.header = "Data Required";
			options.width = 400;

			showPopup(options);
		}
	});

	jQuery('#stickyArea').click(function() {
		showDropDown(this);
	});

	jQuery('.dropdown-arrow').click(function() {
		showDropDown(jQuery(this).prev()[0]);
	});
}

function positionSite() {
	var screenWidth = 0;
	var siteWrapperWidth = jQuery(".site-wrapper").outerWidth();

	if (jQuery.browser.msie) {
		screenWidth = jQuery(document).width();
	}
	else {
		screenWidth = jQuery(document).width();
	}

	var siteLeft = ((screenWidth - siteWrapperWidth) / 2);

	jQuery(".site-wrapper").css("left", siteLeft);
	jQuery(".site-wrapper").css("top", "0");
}

function showPopup(pOptions) {
	var modalize = pOptions.showModalizer;
	var showLoader = pOptions.showLoader;
	var width = pOptions.width;
	var height = pOptions.height;
	var content = pOptions.content;
	var header = pOptions.header;
	var loaderMessage = pOptions.message;
	var docHeight = jQuery(window).height();
	var docWidth = jQuery(window).width();
	var popupTop;

	var popupHTML = '<div class="popup-wrapper"><div class="wrapper"><div class="popup-top-left"></div><div class="popup-top-repeater"></div>' +
				'<div class="popup-top-right"></div><div class="clear-both"></div><div class="popup-content-wrapper">';
					
	if (header){
	popupHTML+='<div class="popup-header-wrapper"><h2>' + header + '</h2></div>';
	}

	if (content) {
		popupHTML += "<div class='popup-content'>" + content + '</div>';
	}

	popupHTML += '</div><div class="popup-left-repeater"></div><div class="popup-right-repeater"></div><div class="clear-both"></div>' +
				'<div class="popup-bottom-left"></div><div class="popup-bottom-repeater"></div><div class="popup-bottom-right"></div>' +
			'</div><div class="popup-close-button"></div></div>';

	var jq_popupWrapper = jQuery(popupHTML);

	if (modalize == true) {
		showModalizer({ showLoader: false, fullScreen: true });
	}

	jq_popupWrapper.appendTo(document.body);

	if (height) {
		popupTop = (docHeight / 2) - (height / 2);
	} else {
		popupTop = (docHeight / 2) - (jq_popupWrapper.height() /2);
	}
	var popupLeft = (docWidth / 2) - (width / 2);

	if (popupTop < 0) {
		popupTop = "50px";
	}

	jq_popupWrapper.css("width", width);
	jq_popupWrapper.css("height", height);
	jq_popupWrapper.css("top", popupTop);
	jq_popupWrapper.css("left", popupLeft);

	jQuery('.popup-close-button').click(function() {
		closePopup();

		if (modalizer != null || modalizer != undefined) {
			hideModalizer();
		}
	});
}

function showDealerInfo(dealerName) {
	var heading;
	var tel;
	var address;
	var email;
	
	switch (dealerName) {
		case "Mpumalanga":
			heading = "DEALERS IN MPUMALANGA";
			var content = jQuery("<div class='top-20'>" +
			"<div>No dealers found for this region.</div>" +
			"</div>");
			break;
		case "Limpopo":
			heading = "DEALERS IN LIMPOPO";
			var content = jQuery("<div class='top-20'>" +
			"<div>No dealers found for this region.</div>" +
			"</div>");
			break;
		case "Gauteng":
			heading = "DEALERS IN GAUTENG";
			var content = jQuery("<div class='top-20'>" +
			"<div style='float:left; width:140px'>Alberton</div><div style='float:left; width:140px'>Bapsfontein</div><div class='clear-both'></div>" +
			"<div style='float:left; width:140px'>Bekkersdal</div><div style='float:left; width:140px'>Benoni</div><div class='clear-both'></div>" +
			"<div style='float:left; width:140px'>Blyvooruitzicht</div><div style='float:left; width:140px'>Boksburg</div><div class='clear-both'></div>" +
			"<div style='float:left; width:140px'>Brakpan</div><div style='float:left; width:140px'>Bronkhorstspruit</div><div class='clear-both'></div>" +
			"<div style='float:left; width:140px'>Carletonville</div><div style='float:left; width:140px'>Centurion</div><div class='clear-both'></div>" +
			"<div style='float:left; width:140px'>Cullinan</div><div style='float:left; width:140px'>Daveyton</div><div class='clear-both'></div>" +
			"<div style='float:left; width:140px'>Doornkop</div><div style='float:left; width:140px'>Duduza</div><div class='clear-both'></div>" +
			"<div style='float:left; width:140px'>Evaton</div><div style='float:left; width:140px'>Fochville</div><div class='clear-both'></div>" +
			"<div style='float:left; width:140px'>Greenstone</div><div style='float:left; width:140px'>Hammanskraal</div><div class='clear-both'></div>" +
			"<div style='float:left; width:140px'>Heidelberg</div><div style='float:left; width:140px'>Henley on Klip</div><div class='clear-both'></div>" +
			"<div style='float:left; width:140px'>Irene</div><div style='float:left; width:140px'>Johannesburg</div><div class='clear-both'></div>" +
			"<div style='float:left; width:140px'>Kleinfontein</div><div style='float:left; width:140px'>Krugersdorp</div><div class='clear-both'></div>" +
			"<div style='float:left; width:140px'>Lenasia</div><div style='float:left; width:140px'>Meyerton</div><div class='clear-both'></div>" +
			"<div style='float:left; width:140px'>Midrand</div><div style='float:left; width:140px'>Nigel</div><div class='clear-both'></div>" +
			"<div style='float:left; width:140px'>Onderstepoort</div><div style='float:left; width:140px'>Randburg</div><div class='clear-both'></div>" +
			"<div style='float:left; width:140px'>Randfontein</div><div style='float:left; width:140px'>Rayton</div><div class='clear-both'></div>" +
			"<div style='float:left; width:140px'>Reiger Park</div><div style='float:left; width:140px'>Roodepoort</div><div class='clear-both'></div>" +
			"<div style='float:left; width:140px'>Sandton</div><div style='float:left; width:140px'>Soweto</div><div class='clear-both'></div>" +
			"<div style='float:left; width:140px'>Springs</div><div style='float:left; width:140px'>Tokoza</div><div class='clear-both'></div>" +
			"<div style='float:left; width:140px'>Vanderbijlpark</div><div style='float:left; width:140px'>Vereeniging</div><div class='clear-both'></div>" +
			"<div style='float:left; width:140px'>Vosloorus</div><div style='float:left; width:140px'>Wattville</div><div class='clear-both'></div>" +
			"<div style='float:left; width:140px'>Westonaria</div><div style='float:left; width:140px'>Zithobeni</div><div class='clear-both'></div>" +
			"<div style='float:left; width:140px'>Zuurbekom</div><div style='float:left; width:140px'></div><div class='clear-both'></div>" +
			"</div>");
			break;
		case "North West":
			heading = "DEALERS IN NORTH WEST";
			var content = jQuery("<div class='top-20'>" +
			"<div>No dealers found for this region.</div>" +
			"</div>");
			break;
		case "Kwazulu Natal":
			heading = "DEALERS IN KWAZULU NATAL";
			var content = jQuery("<div class='top-20'>" +
			"<div>No dealers found for this region.</div>" +
			"</div>");
			break;
		case "Free State":
			heading = "DEALERS IN FREE STATE";
			var content = jQuery("<div class='top-20'>" +
			"<div>No dealers found for this region.</div>" +
			"</div>");
			break;
		case "Eastern Cape":
			heading = "DEALERS IN EATERN CAPE";
			var content = jQuery("<div class='top-20'>" +
			"<div>No dealers found for this region.</div>" +
			"</div>");
			break;
		case "Northern Cape":
			heading = "DEALERS IN NORTHERN CAPE";
			var content = jQuery("<div class='top-20'>" +
			"<div>No dealers found for this region.</div>" +
			"</div>");
			break;
		case "Western Cape":
			heading = "DEALERS IN WESTERN CAPE";
			var content = jQuery("<div class='top-20'>" +
			"<div>No dealers found for this region.</div>" +
			"</div>");
			break;
		default:
			return;
			break;
	}

	var popupOptions = new Object;
	popupOptions.header = heading;
	popupOptions.width = 350;
	popupOptions.content = content.html();
	popupOptions.showModalizer = true;
	
	showPopup(popupOptions);
}

function closePopup() {
	jQuery(".popup-wrapper").remove();
}

function showModalizer(pOptions) {
	if (modalizer) {
		jQuery('.modalizer').remove();
		modalizer = null;
	}
	modalizer = jQuery("<div class='modalizer'></div>");

	if (pOptions.fullScreen == true) {
		modalizer.css("top", 0);
		modalizer.css("left", 0);
		modalizer.css("width", jQuery(document.body).width());
		modalizer.css("height", jQuery(document.body).height());
	}

	modalizer.appendTo(document.body)
}

function hideModalizer() {
	jQuery('.modalizer').remove();
}

function showDropDown(target) {
	var jq_target = jQuery(target);
	
	var dropdownHTML = '<div class="dropdown-wrapper"><div class="dropdown-bg"></div><div class="dropdown"><div class="dropdown-top-left"></div>' +
				'<div class="dropdown-top-right"></div><div class="dropdown-bottom-left"></div><div class="dropdown-bottom-right">' +
				'</div><div class="dropdown-top-repeater"></div><div class="dropdown-left-repeater"></div>' +
				'<div class="dropdown-right-repeater"></div><div class="dropdown-bottom-repeater"></div>' +
				'<div class="dropdowm-content-wrapper"><div class="dropdowm-content"><ul></ul></div></div></div></div>';

	var jq_dropdown = jQuery(dropdownHTML);
	jq_dropdown.appendTo(document.body);

	var jq_dropdownContent = jq_dropdown.find('ul');

	var areas = getAreas();
	
	for (var a = 0; a < areas.length; a++) {
		var jq_li = jQuery('<li class="dropdown-li">' + areas[a] + '</li>');

		jq_li.click(function() {
			jq_target.val(jQuery(this).text());

			jq_dropdown.remove();
		});

		jq_dropdownContent.append(jq_li);
	}

	var parentWrapper = jq_target.parents('div.input-wrapper');
	jq_dropdown.css("top", (parentWrapper.offset().top + parentWrapper.height() + 3));
	jq_dropdown.css("left", parentWrapper.offset().left);
	jq_dropdown.width(parentWrapper.width());

	var timer;
	timer = setTimeout(function() {
		jq_dropdown.remove();
	}, 2000);

	jq_dropdown.mouseover(function() {
		clearTimeout(timer);
	});

	jq_dropdown.mouseout(function() {
		timer = setTimeout(function() {
			jq_dropdown.remove();
		}, 2000);
	});
}

function getAreas() {
	var areas = new Array();
	areas[0] = "Eastern Cape";
	areas[1] = "Free State";
	areas[2] = "Gauteng";
	areas[3] = "KwaZulu-Natal";
	areas[4] = "Limpopo";
	areas[5] = "Mpumalanga";
	areas[6] = "Northern Cape";
	areas[7] = "North West";
	areas[8] = "Western Cape";

	return areas;
}
